Main Page
Class Categories
Classes
Namespaces
File List
File Members
exper-sw
cosmosw
AugerSW
Offline
source
main
Modules
FdSimulation
ShowerPhotonGeneratorOG
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
16
class
MultipleScatterer
{
17
18
19
public
:
20
21
MultipleScatterer
();
22
23
enum
EAerosolModel
{
24
eLongtin
,
25
eHG01
,
26
eHG05
,
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.
46
EAerosolModel
fAerosolModel
;
47
utl::RandomEngine
*
fRandomEngine
;
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
utl::Point
Point object.
Definition:
Point.h:32
utl::Photon
Definition:
Photon.h:11
MultipleScatterer::MaxTime
double MaxTime
Definition:
MultipleScatterer.h:44
MultipleScatterer::fRandomEngine
utl::RandomEngine * fRandomEngine
Definition:
MultipleScatterer.h:47
MultipleScatterer::eLongtin
Definition:
MultipleScatterer.h:24
utl::RandomEngine
Wraps the random number engine used to generate distributions.
Definition:
RandomEngine.h:27
MultipleScatterer::MaxZeta
double MaxZeta
Definition:
MultipleScatterer.h:43
MultipleScatterer::fAerosolModel
EAerosolModel fAerosolModel
Definition:
MultipleScatterer.h:46
MultipleScatterer::EAerosolModel
EAerosolModel
Definition:
MultipleScatterer.h:23
MultipleScatterer::eHG05
Definition:
MultipleScatterer.h:26
MultipleScatterer::eHG01
Definition:
MultipleScatterer.h:25
MultipleScatterer
Definition:
MultipleScatterer.h:16
, generated on Tue Sep 26 2023.