#include <ArtificialShowerFileParticleIterator.h>
Public Member Functions | |
ArtificialShowerFileParticleIterator () | |
ArtificialShowerFileParticleIterator (double maxRadius, double muonEnergy, double photonEnergy, double electronEnergy, double muonDensity, double photonDensity, double electronDensity, double particleZenith, double particleAzimuth, double particleTime, double particleWeight, bool randomAzimuth) | |
virtual utl::Particle * | GetOneParticle (const utl::CoordinateSystemPtr &groundCS) |
Member function to fetch the next particle. More... | |
virtual void | Rewind () |
Rewind the particle list in the shower file to the beginning. More... | |
void | SetShowerAzimuth (const double showerAzimuth) |
void | SetShowerZenith (const double showerZenith) |
virtual | ~ArtificialShowerFileParticleIterator () |
Private Member Functions | |
void | GenerateParticle (const utl::CoordinateSystemPtr &groundCS) |
void | ReadXMLParameters () |
Private Attributes | |
utl::Particle | fCurrentParticle |
double | fElectronDensity |
double | fElectronEnergy |
unsigned int | fGeneratedParticles |
double | fMaxRadius |
double | fMuonDensity |
double | fMuonEnergy |
double | fParticleAzimuth |
double | fParticleTime |
double | fParticleWeight |
double | fParticleZenith |
double | fPhotonDensity |
double | fPhotonEnergy |
bool | fRandomAzimuth |
utl::RandomEngine::RandomEngineType * | fRandomEngine |
double | fShowerAzimuth |
double | fShowerZenith |
unsigned int | fTotalParticles |
Definition at line 42 of file ArtificialShowerFileParticleIterator.h.
ArtificialShowerFileParticleIterator::ArtificialShowerFileParticleIterator | ( | ) |
Definition at line 22 of file ArtificialShowerFileParticleIterator.cc.
References fElectronDensity, fMaxRadius, fMuonDensity, fPhotonDensity, fTotalParticles, utl::kPi, and ReadXMLParameters().
ArtificialShowerFileParticleIterator::ArtificialShowerFileParticleIterator | ( | double | maxRadius, |
double | muonEnergy, | ||
double | photonEnergy, | ||
double | electronEnergy, | ||
double | muonDensity, | ||
double | photonDensity, | ||
double | electronDensity, | ||
double | particleZenith, | ||
double | particleAzimuth, | ||
double | particleTime, | ||
double | particleWeight, | ||
bool | randomAzimuth | ||
) |
Definition at line 49 of file ArtificialShowerFileParticleIterator.cc.
References fElectronDensity, fMaxRadius, fMuonDensity, fPhotonDensity, fTotalParticles, and utl::kPi.
|
virtual |
Definition at line 78 of file ArtificialShowerFileParticleIterator.cc.
|
private |
Definition at line 129 of file ArtificialShowerFileParticleIterator.cc.
References utl::Particle::eElectron, utl::Particle::eMuon, utl::Particle::ePhoton, utl::Particle::eShower, fCurrentParticle, fElectronDensity, fElectronEnergy, fMaxRadius, fMuonDensity, fMuonEnergy, fParticleAzimuth, fParticleTime, fParticleWeight, fParticleZenith, fPhotonDensity, fPhotonEnergy, fRandomAzimuth, fRandomEngine, utl::kPi, and utl::rad.
Referenced by GetOneParticle().
|
virtual |
Member function to fetch the next particle.
This method has to return a pointer to the current particle in the shower file. Then it steps the cursor in the shower file forward. This corresponds to the way a typical interface library for Aires or CORSIKA provides access to the particles on the ground.
If no more particles are available, return a null pointer.
Call Rewind() before calling this function. This puts the underlying library into a defined state.
It is the responsibility of the concrete implementation to react appropriately to illegal calls to GetOneParticle()
Implements utl::VShowerFileParticleIterator.
Definition at line 182 of file ArtificialShowerFileParticleIterator.cc.
References fCurrentParticle, fGeneratedParticles, fTotalParticles, and GenerateParticle().
|
private |
Definition at line 98 of file ArtificialShowerFileParticleIterator.cc.
References fElectronDensity, fElectronEnergy, fMaxRadius, fMuonDensity, fMuonEnergy, fParticleAzimuth, fParticleTime, fParticleWeight, fParticleZenith, fPhotonDensity, fPhotonEnergy, fRandomAzimuth, utl::Branch::GetChild(), utl::Branch::GetData(), and utl::Branch::GetTopBranch().
Referenced by ArtificialShowerFileParticleIterator().
|
virtual |
Rewind the particle list in the shower file to the beginning.
After a call to this function, calls to GetOneParticle() start returning particles starting from the first particle recorded for the shower.
Implements utl::VShowerFileParticleIterator.
Definition at line 198 of file ArtificialShowerFileParticleIterator.cc.
References fGeneratedParticles.
void ArtificialShowerFileParticleIterator::SetShowerAzimuth | ( | const double | showerAzimuth | ) |
Definition at line 90 of file ArtificialShowerFileParticleIterator.cc.
References fShowerAzimuth.
void ArtificialShowerFileParticleIterator::SetShowerZenith | ( | const double | showerZenith | ) |
Definition at line 83 of file ArtificialShowerFileParticleIterator.cc.
References fShowerZenith.
|
private |
Definition at line 64 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and GetOneParticle().
|
private |
Definition at line 79 of file ArtificialShowerFileParticleIterator.h.
Referenced by ArtificialShowerFileParticleIterator(), GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 76 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 90 of file ArtificialShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 73 of file ArtificialShowerFileParticleIterator.h.
Referenced by ArtificialShowerFileParticleIterator(), GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 77 of file ArtificialShowerFileParticleIterator.h.
Referenced by ArtificialShowerFileParticleIterator(), GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 74 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 81 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 82 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 83 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 80 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 78 of file ArtificialShowerFileParticleIterator.h.
Referenced by ArtificialShowerFileParticleIterator(), GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 75 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 84 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle(), and ReadXMLParameters().
|
private |
Definition at line 87 of file ArtificialShowerFileParticleIterator.h.
Referenced by GenerateParticle().
|
private |
Definition at line 72 of file ArtificialShowerFileParticleIterator.h.
Referenced by SetShowerAzimuth().
|
private |
Definition at line 71 of file ArtificialShowerFileParticleIterator.h.
Referenced by SetShowerZenith().
|
private |
Definition at line 91 of file ArtificialShowerFileParticleIterator.h.
Referenced by ArtificialShowerFileParticleIterator(), and GetOneParticle().