Main Page
Class Categories
Classes
Namespaces
File List
File Members
exper-sw
cosmosw
AugerSW
Offline
source
main
EventIO
Artificial
ArtificialShowerFileParticleIterator.h
Go to the documentation of this file.
1
#ifndef _io_ArtificialShowerFileParticleIterator_h_
2
#define _io_ArtificialShowerFileParticleIterator_h_
3
4
#include <fstream>
5
6
#include <utl/VShowerFileParticleIterator.h>
7
#include <utl/Particle.h>
8
#include <utl/CoordinateSystemPtr.h>
9
#include <fwk/RandomEngineRegistry.h>
10
#include <utl/RandomEngine.h>
11
#include <CLHEP/Random/RandFlat.h>
12
#include <CLHEP/Random/RandPoisson.h>
13
#include <CLHEP/Random/RandGauss.h>
14
#include <utl/GeometryUtilities.h>
15
16
17
18
19
using
CLHEP::RandFlat;
20
using
CLHEP::RandPoisson;
21
using namespace
fwk;
22
using namespace
utl;
23
24
25
using namespace
std;
26
27
namespace
utl {
28
class
Particle
;
29
}
30
31
namespace
io {
32
42
class
ArtificialShowerFileParticleIterator
:
public
utl::VShowerFileParticleIterator
{
43
public
:
44
ArtificialShowerFileParticleIterator
();
45
ArtificialShowerFileParticleIterator
(
double
maxRadius,
46
double
muonEnergy,
double
photonEnergy,
double
electronEnergy,
47
double
muonDensity,
double
photonDensity,
double
electronDensity,
48
double
particleZenith,
double
particleAzimuth,
double
particleTime,
49
double
particleWeight,
bool
randomAzimuth);
50
51
52
virtual
~
ArtificialShowerFileParticleIterator
();
53
54
virtual
utl::Particle
* GetOneParticle(
const
utl::CoordinateSystemPtr
& groundCS);
55
virtual
void
Rewind();
56
57
void
SetShowerZenith(
const
double
showerZenith);
58
void
SetShowerAzimuth(
const
double
showerAzimuth);
59
60
//protected:
61
//virtual utl::CoordinateSystemPtr ComputeExternalShowerCoordinateSystem(const utl::CoordinateSystemPtr& cs);
62
63
private
:
64
utl::Particle
fCurrentParticle
;
65
66
void
GenerateParticle(
const
utl::CoordinateSystemPtr
& groundCS);
67
void
ReadXMLParameters();
68
69
// utl::CoordinateSystemPtr fArtificialCoordinateSystem;
70
71
double
fShowerZenith
;
72
double
fShowerAzimuth
;
73
double
fMaxRadius
;
74
double
fMuonEnergy
;
75
double
fPhotonEnergy
;
76
double
fElectronEnergy
;
77
double
fMuonDensity
;
78
double
fPhotonDensity
;
79
double
fElectronDensity
;
80
double
fParticleZenith
;
81
double
fParticleAzimuth
;
82
double
fParticleTime
;
83
double
fParticleWeight
;
84
bool
fRandomAzimuth
;
85
86
87
utl::RandomEngine::RandomEngineType
*
fRandomEngine
;
88
89
90
unsigned
int
fGeneratedParticles
;
91
unsigned
int
fTotalParticles
;
92
};
93
94
}
95
96
97
#endif
io::ArtificialShowerFileParticleIterator::fShowerZenith
double fShowerZenith
Definition:
ArtificialShowerFileParticleIterator.h:71
io::ArtificialShowerFileParticleIterator::fRandomAzimuth
bool fRandomAzimuth
Definition:
ArtificialShowerFileParticleIterator.h:84
io::ArtificialShowerFileParticleIterator::fCurrentParticle
utl::Particle fCurrentParticle
Definition:
ArtificialShowerFileParticleIterator.h:64
io::ArtificialShowerFileParticleIterator::fPhotonDensity
double fPhotonDensity
Definition:
ArtificialShowerFileParticleIterator.h:78
utl::Particle
Describes a particle for Simulation.
Definition:
Particle.h:26
utl::VShowerFileParticleIterator
Interface class for accessing a list of particles from a shower file.
Definition:
VShowerFileParticleIterator.h:29
io::ArtificialShowerFileParticleIterator::fElectronDensity
double fElectronDensity
Definition:
ArtificialShowerFileParticleIterator.h:79
io::ArtificialShowerFileParticleIterator::fRandomEngine
utl::RandomEngine::RandomEngineType * fRandomEngine
Definition:
ArtificialShowerFileParticleIterator.h:87
io::ArtificialShowerFileParticleIterator::fParticleZenith
double fParticleZenith
Definition:
ArtificialShowerFileParticleIterator.h:80
utl::CoordinateSystemPtr
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
Definition:
CoordinateSystemPtr.h:9
io::ArtificialShowerFileParticleIterator::fGeneratedParticles
unsigned int fGeneratedParticles
Definition:
ArtificialShowerFileParticleIterator.h:90
io::ArtificialShowerFileParticleIterator::fParticleTime
double fParticleTime
Definition:
ArtificialShowerFileParticleIterator.h:82
io::ArtificialShowerFileParticleIterator::fShowerAzimuth
double fShowerAzimuth
Definition:
ArtificialShowerFileParticleIterator.h:72
io::ArtificialShowerFileParticleIterator::fMuonDensity
double fMuonDensity
Definition:
ArtificialShowerFileParticleIterator.h:77
io::ArtificialShowerFileParticleIterator
Definition:
ArtificialShowerFileParticleIterator.h:42
io::ArtificialShowerFileParticleIterator::fPhotonEnergy
double fPhotonEnergy
Definition:
ArtificialShowerFileParticleIterator.h:75
io::ArtificialShowerFileParticleIterator::fParticleWeight
double fParticleWeight
Definition:
ArtificialShowerFileParticleIterator.h:83
io::ArtificialShowerFileParticleIterator::fElectronEnergy
double fElectronEnergy
Definition:
ArtificialShowerFileParticleIterator.h:76
io::ArtificialShowerFileParticleIterator::fMuonEnergy
double fMuonEnergy
Definition:
ArtificialShowerFileParticleIterator.h:74
io::ArtificialShowerFileParticleIterator::fMaxRadius
double fMaxRadius
Definition:
ArtificialShowerFileParticleIterator.h:73
utl::RandomEngine::RandomEngineType
CLHEP::HepRandomEngine RandomEngineType
Definition:
RandomEngine.h:30
io::ArtificialShowerFileParticleIterator::fParticleAzimuth
double fParticleAzimuth
Definition:
ArtificialShowerFileParticleIterator.h:81
io::ArtificialShowerFileParticleIterator::fTotalParticles
unsigned int fTotalParticles
Definition:
ArtificialShowerFileParticleIterator.h:91
, generated on Tue Sep 26 2023.