OTB  9.0.0
Orfeo Toolbox
otbProSailParameters.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbProSailParameters_h
22 #define otbProSailParameters_h
23 
24 
25 #include "itkDataObject.h"
26 #include "itkMacro.h"
27 #include "itkObjectFactory.h"
28 
29 
30 namespace otb
31 {
41 class ITK_EXPORT ProSailParameters : public itk::DataObject
42 {
43 public:
46  typedef itk::DataObject Superclass;
47  typedef itk::SmartPointer<Self> Pointer;
48  typedef itk::SmartPointer<const Self> ConstPointer;
49 
51  itkTypeMacro(ProSailParameters, DataObject);
52  itkNewMacro(Self);
54 
55 
57  itkSetMacro(Cab, double);
58  itkGetMacro(Cab, double);
60 
62  itkSetMacro(Car, double);
63  itkGetMacro(Car, double);
65 
67  itkSetMacro(CBrown, double);
68  itkGetMacro(CBrown, double);
70 
72  itkSetMacro(Cw, double);
73  itkGetMacro(Cw, double);
75 
77  itkSetMacro(Cm, double);
78  itkGetMacro(Cm, double);
80 
82  itkSetMacro(N, double);
83  itkGetMacro(N, double);
85 
87  itkSetMacro(LAI, double);
88  itkGetMacro(LAI, double);
90 
92  itkSetMacro(Angl, double);
93  itkGetMacro(Angl, double);
95 
97  itkSetMacro(PSoil, double);
98  itkGetMacro(PSoil, double);
100 
102  itkSetMacro(Skyl, double);
103  itkGetMacro(Skyl, double);
105 
107  itkSetMacro(HSpot, double);
108  itkGetMacro(HSpot, double);
110 
112  itkSetMacro(TTS, double);
113  itkGetMacro(TTS, double);
115 
117  itkSetMacro(TTO, double);
118  itkGetMacro(TTO, double);
120 
122  itkSetMacro(PSI, double);
123  itkGetMacro(PSI, double);
125 
126 
127 protected:
130 
132  virtual ~ProSailParameters(){};
133 
135  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
136 
137 
138 private:
139  ProSailParameters(const Self&) = delete;
140  void operator=(const Self&) = delete;
141 
142  double m_Cab; // Chlorophyll content
143  double m_Car; // Carotenoid content
144  double m_CBrown; // Brown pigment content
145  double m_Cw; // EWT
146  double m_Cm; // LMA
147  double m_N; // structure coef
148  double m_LAI; // leaf area index
149  double m_Angl; // average leaf angle
150  double m_PSoil; // soil coefficient
151  double m_Skyl; // diffuse/direct radiation
152  double m_HSpot; // hot spot
153  double m_TTS; // solar zenith angle
154  double m_TTO; // observer zenith angle
155  double m_PSI; // azimuth
156 };
157 } // end namespace otb
158 
159 #endif
otb::ProSailParameters::m_Angl
double m_Angl
Definition: otbProSailParameters.h:149
otb::ProSailParameters::m_HSpot
double m_HSpot
Definition: otbProSailParameters.h:152
otb::ProSailParameters
this class implements the ProSailParameters lib.
Definition: otbProSailParameters.h:41
otb::ProSailParameters::m_Car
double m_Car
Definition: otbProSailParameters.h:143
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::ProSailParameters::m_CBrown
double m_CBrown
Definition: otbProSailParameters.h:144
otb::ProSailParameters::m_TTS
double m_TTS
Definition: otbProSailParameters.h:153
otb::ProSailParameters::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbProSailParameters.h:48
otb::ProSailParameters::m_LAI
double m_LAI
Definition: otbProSailParameters.h:148
otb::ProSailParameters::m_Cm
double m_Cm
Definition: otbProSailParameters.h:146
otb::ProSailParameters::m_PSoil
double m_PSoil
Definition: otbProSailParameters.h:150
otb::ProSailParameters::m_Skyl
double m_Skyl
Definition: otbProSailParameters.h:151
otb::ProSailParameters::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbProSailParameters.h:47
otb::ProSailParameters::m_Cab
double m_Cab
Definition: otbProSailParameters.h:142
otb::ProSailParameters::Superclass
itk::DataObject Superclass
Definition: otbProSailParameters.h:46
otb::ProSailParameters::m_Cw
double m_Cw
Definition: otbProSailParameters.h:145
otb::ProSailParameters::Self
ProSailParameters Self
Definition: otbProSailParameters.h:45
otb::ProSailParameters::m_PSI
double m_PSI
Definition: otbProSailParameters.h:155
otb::ProSailParameters::~ProSailParameters
virtual ~ProSailParameters()
Definition: otbProSailParameters.h:132
otb::ProSailParameters::m_N
double m_N
Definition: otbProSailParameters.h:147
otb::ProSailParameters::m_TTO
double m_TTO
Definition: otbProSailParameters.h:154