List of all members | Public Member Functions | Private Member Functions | Private Attributes
io::ArtificialShowerFileParticleIterator Class Reference

#include <ArtificialShowerFileParticleIterator.h>

Inheritance diagram for io::ArtificialShowerFileParticleIterator:
Inheritance graph
[legend]

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::ParticleGetOneParticle (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::RandomEngineTypefRandomEngine
 
double fShowerAzimuth
 
double fShowerZenith
 
unsigned int fTotalParticles
 

Detailed Description

Author
Jeff Allen
Date
20 Mar 2012

Definition at line 42 of file ArtificialShowerFileParticleIterator.h.

Constructor & Destructor Documentation

ArtificialShowerFileParticleIterator::ArtificialShowerFileParticleIterator ( )
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 
)
ArtificialShowerFileParticleIterator::~ArtificialShowerFileParticleIterator ( )
virtual

Definition at line 78 of file ArtificialShowerFileParticleIterator.cc.

Member Function Documentation

void ArtificialShowerFileParticleIterator::GenerateParticle ( const utl::CoordinateSystemPtr groundCS)
private
Particle * ArtificialShowerFileParticleIterator::GetOneParticle ( const utl::CoordinateSystemPtr cs)
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().

void ArtificialShowerFileParticleIterator::ReadXMLParameters ( )
private
void ArtificialShowerFileParticleIterator::Rewind ( )
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.

Member Data Documentation

utl::Particle io::ArtificialShowerFileParticleIterator::fCurrentParticle
private

Definition at line 64 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and GetOneParticle().

double io::ArtificialShowerFileParticleIterator::fElectronDensity
private
double io::ArtificialShowerFileParticleIterator::fElectronEnergy
private

Definition at line 76 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

unsigned int io::ArtificialShowerFileParticleIterator::fGeneratedParticles
private

Definition at line 90 of file ArtificialShowerFileParticleIterator.h.

Referenced by GetOneParticle(), and Rewind().

double io::ArtificialShowerFileParticleIterator::fMaxRadius
private
double io::ArtificialShowerFileParticleIterator::fMuonDensity
private
double io::ArtificialShowerFileParticleIterator::fMuonEnergy
private

Definition at line 74 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

double io::ArtificialShowerFileParticleIterator::fParticleAzimuth
private

Definition at line 81 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

double io::ArtificialShowerFileParticleIterator::fParticleTime
private

Definition at line 82 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

double io::ArtificialShowerFileParticleIterator::fParticleWeight
private

Definition at line 83 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

double io::ArtificialShowerFileParticleIterator::fParticleZenith
private

Definition at line 80 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

double io::ArtificialShowerFileParticleIterator::fPhotonDensity
private
double io::ArtificialShowerFileParticleIterator::fPhotonEnergy
private

Definition at line 75 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

bool io::ArtificialShowerFileParticleIterator::fRandomAzimuth
private

Definition at line 84 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle(), and ReadXMLParameters().

utl::RandomEngine::RandomEngineType* io::ArtificialShowerFileParticleIterator::fRandomEngine
private

Definition at line 87 of file ArtificialShowerFileParticleIterator.h.

Referenced by GenerateParticle().

double io::ArtificialShowerFileParticleIterator::fShowerAzimuth
private

Definition at line 72 of file ArtificialShowerFileParticleIterator.h.

Referenced by SetShowerAzimuth().

double io::ArtificialShowerFileParticleIterator::fShowerZenith
private

Definition at line 71 of file ArtificialShowerFileParticleIterator.h.

Referenced by SetShowerZenith().

unsigned int io::ArtificialShowerFileParticleIterator::fTotalParticles
private

The documentation for this class was generated from the following files:

, generated on Tue Sep 26 2023.