Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JPHYSICS::JPetzhold Class Referenceabstract

Measurement of light scattering in water. More...

#include <JPhysicsSupportkit.hh>

Inheritance diagram for JPHYSICS::JPetzhold:
JTOOLS::JPolint1Function1D_t JTOOLS::JPolintFunction1D_t< 1 > JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double > JTOOLS::JPolintFunction< N, JElement_t, JCollection_t, JResult_t, JDistance_t > JTOOLS::JFunction1D< JElement2D< double, double >::abscissa_type, double > JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double > JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type, double >

Public Types

typedef JCollection< JElement2D< double, double >, JDistance< typename JElement2D< double, double >::abscissa_type > > collection_type
 
typedef collection_type::abscissa_type abscissa_type
 
typedef collection_type::ordinate_type ordinate_type
 
typedef collection_type::value_type value_type
 
typedef collection_type::distance_type distance_type
 
typedef collection_type::const_iterator const_iterator
 
typedef collection_type::const_reverse_iterator const_reverse_iterator
 
typedef collection_type::iterator iterator
 
typedef collection_type::reverse_iterator reverse_iterator
 
typedef JFunction1D< abscissa_type, double > function_type
 
typedef function_type::argument_type argument_type
 
typedef function_type::result_type result_type
 
typedef function_type::JExceptionHandler exceptionhandler_type
 
enum  
 
typedef JFunctional< JElement2D< double, double >::abscissa_type, double > functional_type
 
typedef functional_type::JExceptionHandler JExceptionHandler
 
typedef JSupervisor supervisor_type
 

Public Member Functions

 JPetzhold ()
 Default constructor.
 
double operator() (const double x) const
 Measurement of light scattering in water.
 
result_type operator() (const argument_type x) const
 Function value evaluation.
 
const JSupervisor & getSupervisor () const
 Get supervisor.
 
const JExceptionHandler & getExceptionHandler () const override
 Get exception handler.
 
void setExceptionHandler (const JSupervisor &supervisor)
 Set the supervisor for handling of exceptions.
 
virtual result_type evaluate (const argument_type *pX) const=0
 Recursive function value evaluation.
 

Static Public Member Functions

static result_type getValue (const JFunctional &function, const argument_type *pX)
 Recursive function value evaluation.
 
static JClass< result_type >::argument_type getValue (typename JClass< result_type >::argument_type value, const argument_type *pX)
 Termination of recursive function value evaluation.
 

Protected Attributes

JSupervisor __supervisor
 

Detailed Description

Measurement of light scattering in water.

Values are taken from reference C.D. Mobley "Light and Water", ISBN 0-12-502750-8, pag. 111, Table 3.10 (right column).

Definition at line 168 of file JPhysicsSupportkit.hh.

Member Typedef Documentation

◆ collection_type

JCollection<JElement2D< double, double >, JDistance<typename JElement2D< double, double >::abscissa_type>> JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::collection_type
inherited

Definition at line 1098 of file JPolint.hh.

◆ abscissa_type

collection_type::abscissa_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::abscissa_type
inherited

Definition at line 1100 of file JPolint.hh.

◆ ordinate_type

collection_type::ordinate_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::ordinate_type
inherited

Definition at line 1101 of file JPolint.hh.

◆ value_type

collection_type::value_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::value_type
inherited

Definition at line 1102 of file JPolint.hh.

◆ distance_type

collection_type::distance_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::distance_type
inherited

Definition at line 1103 of file JPolint.hh.

◆ const_iterator

collection_type::const_iterator JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::const_iterator
inherited

Definition at line 1105 of file JPolint.hh.

◆ const_reverse_iterator

collection_type::const_reverse_iterator JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::const_reverse_iterator
inherited

Definition at line 1106 of file JPolint.hh.

◆ iterator

collection_type::iterator JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::iterator
inherited

Definition at line 1107 of file JPolint.hh.

◆ reverse_iterator

collection_type::reverse_iterator JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::reverse_iterator
inherited

Definition at line 1108 of file JPolint.hh.

◆ function_type

JFunction1D<abscissa_type, double> JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::function_type
inherited

Definition at line 1110 of file JPolint.hh.

◆ argument_type

function_type::argument_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::argument_type
inherited

Definition at line 1112 of file JPolint.hh.

◆ result_type

function_type::result_type JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::result_type
inherited

Definition at line 1113 of file JPolint.hh.

◆ exceptionhandler_type

function_type::JExceptionHandler JTOOLS::JPolintFunction1D< N, JElement2D< double, double >, JCollection, double, JDistance<typename JElement2D< double, double >::abscissa_type> >::exceptionhandler_type
inherited

Definition at line 1114 of file JPolint.hh.

◆ functional_type

JFunctional<JElement2D< double, double >::abscissa_type, double> JTOOLS::JFunction1D< JElement2D< double, double >::abscissa_type, double >::functional_type
inherited

Definition at line 332 of file JFunctional.hh.

◆ JExceptionHandler

functional_type::JExceptionHandler JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::JExceptionHandler
inherited

Definition at line 235 of file JFunctional.hh.

◆ supervisor_type

JSupervisor JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::supervisor_type
inherited

Definition at line 237 of file JFunctional.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

Constructor & Destructor Documentation

◆ JPetzhold()

JPHYSICS::JPetzhold::JPetzhold ( )
inline

Default constructor.

Definition at line 175 of file JPhysicsSupportkit.hh.

176 {
177 // angle probability
178 // [deg]
179 (*this)[ 0.100] = 1.767e+03;
180 (*this)[ 0.126] = 1.296e+03;
181 (*this)[ 0.158] = 9.502e+02;
182 (*this)[ 0.200] = 6.991e+02;
183 (*this)[ 0.251] = 5.140e+02;
184 (*this)[ 0.316] = 3.764e+02;
185 (*this)[ 0.398] = 2.763e+02;
186 (*this)[ 0.501] = 2.188e+02;
187 (*this)[ 0.631] = 1.444e+02;
188 (*this)[ 0.794] = 1.022e+02;
189 (*this)[ 1.000] = 7.161e+01;
190 (*this)[ 1.259] = 4.958e+01;
191 (*this)[ 1.585] = 3.395e+01;
192 (*this)[ 1.995] = 2.281e+01;
193 (*this)[ 2.512] = 1.516e+01;
194 (*this)[ 3.162] = 1.002e+01;
195 (*this)[ 3.981] = 6.580e+00;
196 (*this)[ 5.012] = 4.295e+00;
197 (*this)[ 6.310] = 2.807e+00;
198 (*this)[ 7.943] = 1.819e+00;
199 (*this)[ 10.000] = 1.153e+00;
200 (*this)[ 15.000] = 4.893e-01;
201 (*this)[ 20.000] = 2.444e-01;
202 (*this)[ 25.000] = 1.472e-01;
203 (*this)[ 30.000] = 8.609e-02;
204 (*this)[ 35.000] = 5.931e-02;
205 (*this)[ 40.000] = 4.210e-02;
206 (*this)[ 45.000] = 3.067e-02;
207 (*this)[ 50.000] = 2.275e-02;
208 (*this)[ 55.000] = 1.699e-02;
209 (*this)[ 60.000] = 1.313e-02;
210 (*this)[ 65.000] = 1.046e-02;
211 (*this)[ 70.000] = 8.488e-03;
212 (*this)[ 75.000] = 6.976e-03;
213 (*this)[ 80.000] = 5.842e-03;
214 (*this)[ 85.000] = 4.953e-03;
215 (*this)[ 90.000] = 4.292e-03;
216 (*this)[ 95.000] = 3.782e-03;
217 (*this)[100.000] = 3.404e-03;
218 (*this)[105.000] = 3.116e-03;
219 (*this)[110.000] = 2.912e-03;
220 (*this)[115.000] = 2.797e-03;
221 (*this)[120.000] = 2.686e-03;
222 (*this)[125.000] = 2.571e-03;
223 (*this)[130.000] = 2.476e-03;
224 (*this)[135.000] = 2.377e-03;
225 (*this)[140.000] = 2.329e-03;
226 (*this)[145.000] = 2.313e-03;
227 (*this)[150.000] = 2.365e-03;
228 (*this)[155.000] = 2.506e-03;
229 (*this)[160.000] = 2.662e-03;
230 (*this)[165.000] = 2.835e-03;
231 (*this)[170.000] = 3.031e-03;
232 (*this)[175.000] = 3.092e-03;
233 (*this)[180.000] = 3.154e-03;
234
235 this->mul(1.166); // normalisation
236 this->compile();
237 }

Member Function Documentation

◆ operator()() [1/2]

double JPHYSICS::JPetzhold::operator() ( const double x) const
inline

Measurement of light scattering in water.

Parameters
xcosine scattering angle
Returns
probability

Definition at line 246 of file JPhysicsSupportkit.hh.

247 {
248 double a;
249
250 if (x >= +1.0)
251 a = 0.0;
252 else if (x <= -1.0)
253 a = 180.0;
254 else
255 a = acos(x) * 180.0 / PI;
256
257 if (a >= this->getXmax())
258 return this->rbegin()->getY();
259 else if (a <= this->getXmin())
260 return this-> begin()->getY();
261 else
263 }
const double a

◆ operator()() [2/2]

result_type JTOOLS::JFunction1D< JElement2D< double, double >::abscissa_type, double >::operator() ( const argument_type x) const
inlineinherited

Function value evaluation.

Parameters
xargument value
Returns
function value

Definition at line 343 of file JFunctional.hh.

344 {
345 return this->evaluate(&x);
346 }
virtual result_type evaluate(const argument_type *pX) const=0

◆ getSupervisor()

const JSupervisor & JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::getSupervisor ( ) const
inlineinherited

Get supervisor.

Returns
supervisor

Definition at line 290 of file JFunctional.hh.

◆ getExceptionHandler()

const JExceptionHandler & JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::getExceptionHandler ( ) const
inlineoverridevirtualinherited

Get exception handler.

Returns
exception handler

Implements JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type, double >.

Definition at line 301 of file JFunctional.hh.

302 {
303 return *__supervisor.handler;
304 }

◆ setExceptionHandler()

void JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::setExceptionHandler ( const JSupervisor & supervisor)
inlineinherited

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 312 of file JFunctional.hh.

313 {
314 this->__supervisor = supervisor;
315 }

◆ evaluate()

virtual result_type JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type, double >::evaluate ( const argument_type * pX) const
pure virtualinherited

Recursive function value evaluation.

Parameters
pXpointer to abscissa values
Returns
function value

◆ getValue() [1/2]

static result_type JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type, double >::getValue ( const JFunctional< JElement2D< double, double >::abscissa_type, double > & function,
const argument_type * pX )
inlinestaticinherited

Recursive function value evaluation.

Parameters
functionfunction
pXpointer to abscissa values

Definition at line 103 of file JFunctional.hh.

105 {
106 return function.evaluate(pX);
107 }

◆ getValue() [2/2]

static JClass< result_type >::argument_type JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type, double >::getValue ( typename JClass< result_type >::argument_type value,
const argument_type * pX )
inlinestaticinherited

Termination of recursive function value evaluation.

Parameters
valueresult
pXpointer to abscissa values

Definition at line 117 of file JFunctional.hh.

119 {
120 return value;
121 }

Member Data Documentation

◆ __supervisor

JSupervisor JTOOLS::JFunction< JElement2D< double, double >::abscissa_type, double >::__supervisor
protectedinherited

Definition at line 318 of file JFunctional.hh.


The documentation for this class was generated from the following file: