MultipleScatterer.h
Go to the documentation of this file.
1 #ifndef _MultipleScatterer_h_
2 #define _MultipleScatterer_h_
3 
4 
5 #include <utl/Photon.h>
6 #include <utl/Point.h>
7 #include <utl/Vector.h>
8 #include <utl/RandomEngine.h>
9 
10 #include <vector>
11 
12 using namespace std;
13 
14 
15 
17 
18 
19  public:
20 
22 
27  eHG09
28  };
29 
30  void AddPhotons(const utl::Point& PointOfOrigin,
31  const utl::Photon& PhotonDirect,
32  const utl::Point& PointOfDetection,
33  std::vector<utl::Photon>& photonVector);
34 
35  void AddPhotons(const utl::Point& PointOfOrigin,
36  const utl::Photon& PhotonDirect,
37  const double Transmission,
38  std::vector<utl::Photon>& photonVector);
39 
40 
41  private:
42 
43  double MaxZeta;
44  double MaxTime;
45  //double zeta; // unused. LN.
48  bool GetRandomZeta(double& zeta, double& weightfactor, double Time, double OptDistance, double height, double MaxZeta);
49  double IntegralA(double A, double B, double C, double zeta);
50  double IntegralB(double D, double E, double F, double G, double H, double zeta);
51 };
52 
53 
54 #endif
Point object.
Definition: Point.h:32
utl::RandomEngine * fRandomEngine
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
EAerosolModel fAerosolModel

, generated on Tue Sep 26 2023.