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

Absorption length of pure water. More...

#include <JPhysicsSupportkit.hh>

Inheritance diagram for JPHYSICS::JAbsorptionLengthOfPureWater:
JTOOLS::JGridSplineFunction1D_t JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double > JTOOLS::JSplineFunction< JElement_t, JCollection_t, JResult_t, JDistance_t > JTOOLS::JFunction1D< JSplineElement2D< double, double >::abscissa_type, double > JTOOLS::JFunction< JSplineElement2D< double, double >::abscissa_type, double > JTOOLS::JFunctional< JSplineElement2D< double, double >::abscissa_type, double >

Public Types

typedef JSplineCollection< JSplineElement2D< double, double >, JGridCollection, JDistance< typename JSplineElement2D< 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< JSplineElement2D< double, double >::abscissa_type, double > functional_type
 
typedef functional_type::JExceptionHandler JExceptionHandler
 
typedef JSupervisor supervisor_type
 

Public Member Functions

 JAbsorptionLengthOfPureWater ()
 Default constructor.
 
double operator() (const double lambda) const
 Absorption length of pure 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

Absorption length of pure water.

CITATION: Jonasz M. 2007. Absorption coefficient of water: Data sources (www.tpdsci.com/Tpc/AbsCfOfWaterDat.php). In: Top. Part. Disp. Sci. (www.tpdsci.com).

DATA FROM: Wozniak B., Wozniak S. B., Tyszka K., Ostrowska M., Majchrowski R., Ficek D., Dera J. 2005. Modelling the light absorption properties of particulate matter forming organic particles suspended in seawater. Part 2. Modelling results. Oceanologia 47, 621-662. see also Wozniak B., Dera J. 2007. Light absorption in sea water. Springer, Berlin, 456 pp. (see p. 62)

NOTES: As stated by the data authors, the data are based on measurement results obtained by various authors (interpolated by a linear approximation where applicable): Wavelength Reference

  • 200-335 nm Smith R.C., Baker K.S. 1981. Optical properties of the clearest natural waters (200-800 nm). Appl. Opt. 20, 177-184.
  • 340-370 nm Sogandares F.M., Fry, E.S. 1997. Absorption spectrum (340 -640 nm) of pure water. I. Photothermal measurements Appl. Opt. 36, 8699-8709.
  • 380-700 nm Pope R.M., Fry E.S. 1997. Absorption spectrum (380 -700 nm) of pure water. II. Integrating cavity measurements. Appl. Opt. 36, 8710-8723

Definition at line 334 of file JPhysicsSupportkit.hh.

Member Typedef Documentation

◆ collection_type

JSplineCollection<JSplineElement2D< double, double >, JGridCollection, JDistance<typename JSplineElement2D< double, double >::abscissa_type>> JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::collection_type
inherited

Definition at line 737 of file JSpline.hh.

◆ abscissa_type

collection_type::abscissa_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::abscissa_type
inherited

Definition at line 739 of file JSpline.hh.

◆ ordinate_type

collection_type::ordinate_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::ordinate_type
inherited

Definition at line 740 of file JSpline.hh.

◆ value_type

collection_type::value_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::value_type
inherited

Definition at line 741 of file JSpline.hh.

◆ distance_type

collection_type::distance_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::distance_type
inherited

Definition at line 742 of file JSpline.hh.

◆ const_iterator

collection_type::const_iterator JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::const_iterator
inherited

Definition at line 744 of file JSpline.hh.

◆ const_reverse_iterator

collection_type::const_reverse_iterator JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::const_reverse_iterator
inherited

Definition at line 745 of file JSpline.hh.

◆ iterator

collection_type::iterator JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::iterator
inherited

Definition at line 746 of file JSpline.hh.

◆ reverse_iterator

collection_type::reverse_iterator JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::reverse_iterator
inherited

Definition at line 747 of file JSpline.hh.

◆ function_type

JFunction1D<abscissa_type, double> JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::function_type
inherited

Definition at line 749 of file JSpline.hh.

◆ argument_type

function_type::argument_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::argument_type
inherited

Definition at line 751 of file JSpline.hh.

◆ result_type

function_type::result_type JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::result_type
inherited

Definition at line 752 of file JSpline.hh.

◆ exceptionhandler_type

function_type::JExceptionHandler JTOOLS::JSplineFunction1D< JSplineElement2D< double, double >, JGridCollection, double, JDistance<typename JSplineElement2D< double, double >::abscissa_type> >::exceptionhandler_type
inherited

Definition at line 753 of file JSpline.hh.

◆ functional_type

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

Definition at line 332 of file JFunctional.hh.

◆ JExceptionHandler

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

Definition at line 235 of file JFunctional.hh.

◆ supervisor_type

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

Definition at line 237 of file JFunctional.hh.

Member Enumeration Documentation

◆ anonymous enum

Constructor & Destructor Documentation

◆ JAbsorptionLengthOfPureWater()

JPHYSICS::JAbsorptionLengthOfPureWater::JAbsorptionLengthOfPureWater ( )
inline

Default constructor.

Definition at line 341 of file JPhysicsSupportkit.hh.

342 {
343 // wave- absorption
344 // length coefficient
345 // [um] [1/m]
346 (*this)[0.200e3] = 3.07;
347 (*this)[0.205e3] = 2.53;
348 (*this)[0.210e3] = 1.99;
349 (*this)[0.215e3] = 1.65;
350 (*this)[0.220e3] = 1.31;
351 (*this)[0.225e3] = 1.1185;
352 (*this)[0.230e3] = 0.927;
353 (*this)[0.235e3] = 0.8235;
354 (*this)[0.240e3] = 0.72;
355 (*this)[0.245e3] = 0.6395;
356 (*this)[0.250e3] = 0.559;
357 (*this)[0.255e3] = 0.508;
358 (*this)[0.260e3] = 0.457;
359 (*this)[0.265e3] = 0.415;
360 (*this)[0.270e3] = 0.373;
361 (*this)[0.275e3] = 0.3305;
362 (*this)[0.280e3] = 0.288;
363 (*this)[0.285e3] = 0.2515;
364 (*this)[0.290e3] = 0.215;
365 (*this)[0.295e3] = 0.178;
366 (*this)[0.300e3] = 0.141;
367 (*this)[0.305e3] = 0.123;
368 (*this)[0.310e3] = 0.105;
369 (*this)[0.315e3] = 0.0947;
370 (*this)[0.320e3] = 0.0844;
371 (*this)[0.325e3] = 0.0761;
372 (*this)[0.330e3] = 0.0678;
373 (*this)[0.335e3] = 0.06195;
374 (*this)[0.340e3] = 0.0325;
375 (*this)[0.345e3] = 0.02645;
376 (*this)[0.350e3] = 0.0204;
377 (*this)[0.355e3] = 0.018;
378 (*this)[0.360e3] = 0.0156;
379 (*this)[0.365e3] = 0.0135;
380 (*this)[0.370e3] = 0.0114;
381 (*this)[0.375e3] = 0.011385;
382 (*this)[0.380e3] = 0.01137;
383 (*this)[0.385e3] = 0.00941;
384 (*this)[0.390e3] = 0.00851;
385 (*this)[0.395e3] = 0.00813;
386 (*this)[0.400e3] = 0.00663;
387 (*this)[0.405e3] = 0.0053;
388 (*this)[0.410e3] = 0.00473;
389 (*this)[0.415e3] = 0.00444;
390 (*this)[0.420e3] = 0.00454;
391 (*this)[0.425e3] = 0.00478;
392 (*this)[0.430e3] = 0.00495;
393 (*this)[0.435e3] = 0.0053;
394 (*this)[0.440e3] = 0.00635;
395 (*this)[0.445e3] = 0.00751;
396 (*this)[0.450e3] = 0.00922;
397 (*this)[0.455e3] = 0.00962;
398 (*this)[0.460e3] = 0.00979;
399 (*this)[0.465e3] = 0.01011;
400 (*this)[0.470e3] = 0.0106;
401 (*this)[0.475e3] = 0.0114;
402 (*this)[0.480e3] = 0.0127;
403 (*this)[0.485e3] = 0.0136;
404 (*this)[0.490e3] = 0.015;
405 (*this)[0.495e3] = 0.0173;
406 (*this)[0.500e3] = 0.0204;
407 (*this)[0.505e3] = 0.0256;
408 (*this)[0.510e3] = 0.0325;
409 (*this)[0.515e3] = 0.0396;
410 (*this)[0.520e3] = 0.0409;
411 (*this)[0.525e3] = 0.0417;
412 (*this)[0.530e3] = 0.0434;
413 (*this)[0.535e3] = 0.0452;
414 (*this)[0.540e3] = 0.0474;
415 (*this)[0.545e3] = 0.0511;
416 (*this)[0.550e3] = 0.0565;
417 (*this)[0.555e3] = 0.0596;
418 (*this)[0.560e3] = 0.0619;
419 (*this)[0.565e3] = 0.0642;
420 (*this)[0.570e3] = 0.0695;
421 (*this)[0.575e3] = 0.0772;
422 (*this)[0.580e3] = 0.0896;
423 (*this)[0.585e3] = 0.11;
424 (*this)[0.590e3] = 0.1351;
425 (*this)[0.595e3] = 0.1672;
426 (*this)[0.600e3] = 0.2224;
427 (*this)[0.605e3] = 0.2577;
428 (*this)[0.610e3] = 0.2644;
429 (*this)[0.615e3] = 0.2678;
430 (*this)[0.620e3] = 0.2755;
431 (*this)[0.625e3] = 0.2834;
432 (*this)[0.630e3] = 0.2916;
433 (*this)[0.635e3] = 0.3012;
434 (*this)[0.640e3] = 0.3108;
435 (*this)[0.645e3] = 0.325;
436 (*this)[0.650e3] = 0.34;
437 (*this)[0.655e3] = 0.371;
438 (*this)[0.660e3] = 0.41;
439 (*this)[0.665e3] = 0.429;
440 (*this)[0.670e3] = 0.439;
441 (*this)[0.675e3] = 0.448;
442 (*this)[0.680e3] = 0.465;
443 (*this)[0.685e3] = 0.486;
444 (*this)[0.690e3] = 0.516;
445 (*this)[0.695e3] = 0.559;
446 (*this)[0.700e3] = 0.624;
447
448 compile();
449 }

Member Function Documentation

◆ operator()() [1/2]

double JPHYSICS::JAbsorptionLengthOfPureWater::operator() ( const double lambda) const
inline

Absorption length of pure water.

Parameters
lambdawavelength of light [nm]
Returns
absorption length [m]

Definition at line 458 of file JPhysicsSupportkit.hh.

459 {
460 const double y = JGridSplineFunction1D_t::operator()(lambda);
461
462 return 1.0 / y;
463 }

◆ operator()() [2/2]

result_type JTOOLS::JFunction1D< JSplineElement2D< 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< JSplineElement2D< 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< JSplineElement2D< double, double >::abscissa_type, double >::getExceptionHandler ( ) const
inlineoverridevirtualinherited

Get exception handler.

Returns
exception handler

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

Definition at line 301 of file JFunctional.hh.

302 {
303 return *__supervisor.handler;
304 }

◆ setExceptionHandler()

void JTOOLS::JFunction< JSplineElement2D< 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< JSplineElement2D< 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< JSplineElement2D< double, double >::abscissa_type, double >::getValue ( const JFunctional< JSplineElement2D< 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< JSplineElement2D< 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< JSplineElement2D< 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: