Jpp 19.3.0-rc.2
the software that should make you happy
Loading...
Searching...
No Matches
JAbstractMedium.hh
Go to the documentation of this file.
1#ifndef __JPHYSICS__JABSTRACTMEDIUM__
2#define __JPHYSICS__JABSTRACTMEDIUM__
3
4
5/**
6 * \author mdejong
7 */
8
9namespace JPHYSICS {}
10namespace JPP { using namespace JPHYSICS; }
11
12namespace JPHYSICS {
13
14 /**
15 * Medium interface.
16 */
18 public:
19 /**
20 * Virtual destructor.
21 */
23 {}
24
25
26 /**
27 * Absorption length.
28 *
29 * \param lambda wavelenth [nm]
30 * \return absorption length [m]
31 */
32 virtual double getAbsorptionLength(const double lambda) const = 0;
33
34
35 /**
36 * Scattering length.
37 *
38 * \param lambda wavelenth [nm]
39 * \return scattering length [m]
40 */
41 virtual double getScatteringLength(const double lambda) const = 0;
42
43
44 /**
45 * Model specific function to describe light scattering in water
46 * (integral over full solid angle normalised to unity).
47 *
48 * \param ct cosine scattering angle
49 * \return probability
50 */
51 virtual double getScatteringProbability(const double ct) const = 0;
52 };
53}
54
55#endif
virtual double getAbsorptionLength(const double lambda) const =0
Absorption length.
virtual ~JAbstractMedium()
Virtual destructor.
virtual double getScatteringLength(const double lambda) const =0
Scattering length.
virtual double getScatteringProbability(const double ct) const =0
Model specific function to describe light scattering in water (integral over full solid angle normali...
Auxiliary methods for light properties of deep-sea water.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).