Jpp  17.3.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
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, JElement2D< double, double >, JCollection, double, JDistance< typename JElement2D< double, double >::abscissa_type > > 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 JSupervisor supervisor_type
 

Public Member Functions

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

Static Public Member Functions

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

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

typedef 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 1009 of file JPolint.hh.

typedef 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 1011 of file JPolint.hh.

typedef 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 1012 of file JPolint.hh.

typedef 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 1013 of file JPolint.hh.

typedef 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 1014 of file JPolint.hh.

typedef 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 1016 of file JPolint.hh.

typedef 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 1017 of file JPolint.hh.

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

Definition at line 1018 of file JPolint.hh.

typedef 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 1019 of file JPolint.hh.

typedef 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 1021 of file JPolint.hh.

typedef 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 1023 of file JPolint.hh.

typedef 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 1024 of file JPolint.hh.

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

Definition at line 1025 of file JPolint.hh.

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

Definition at line 322 of file JFunctional.hh.

typedef JSupervisor JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type , double >::supervisor_type
inherited

Definition at line 89 of file JFunctional.hh.

Member Enumeration Documentation

anonymous enum
inherited

Constructor & Destructor Documentation

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

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  }
result_type operator()(const argument_type x) const
Function value evaluation.
Definition: JFunctional.hh:333
then JCalibrateToT a
Definition: JTuneHV.sh:116
static const double PI
Mathematical constants.
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 333 of file JFunctional.hh.

334  {
335  return this->evaluate(&x);
336  }
virtual result_type evaluate(const argument_type *pX) const =0
Recursive function value evaluation.
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
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 107 of file JFunctional.hh.

109  {
110  return function.evaluate(pX);
111  }
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 121 of file JFunctional.hh.

123  {
124  return value;
125  }
JSupervisor JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type , double >::getSupervisor ( ) const
inlineinherited

Get supervisor.

Returns
supervisor

Definition at line 266 of file JFunctional.hh.

const JExceptionHandler& JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type , double >::getExceptionHandler ( ) const
inlineinherited

Get exception handler.

Returns
exception handler

Definition at line 277 of file JFunctional.hh.

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

Set the supervisor for handling of exceptions.

Parameters
supervisorsupervisor

Definition at line 288 of file JFunctional.hh.

Member Data Documentation

JSupervisor JTOOLS::JFunctional< JElement2D< double, double >::abscissa_type , double >::supervisor
protectedinherited

Definition at line 295 of file JFunctional.hh.


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