#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().