Implementation of the VShowerFileParticleIterator for an Aires generated shower file. More...
#include <AiresShowerFileParticleIterator.h>
Public Member Functions | |
AiresShowerFileParticleIterator (AiresShowerFile &) | |
virtual utl::Particle * | GetOneParticle (const utl::CoordinateSystemPtr &cs) |
Member function to fetch the next particle. More... | |
virtual void | Rewind () |
Rewind the particle list in the shower file to the beginning. More... | |
virtual | ~AiresShowerFileParticleIterator () |
Protected Member Functions | |
virtual utl::CoordinateSystemPtr | ComputeExternalShowerCoordinateSystem (const utl::CoordinateSystemPtr &ptr) |
Compute the coordinate system for the ground particle file. More... | |
Private Attributes | |
bool | fAltType |
int | fChannel |
utl::Particle | fCurrentParticle |
int | fCurrentRecordNumber |
double | fDoubleData [99] |
int | fEndOfList |
AiresShowerFile & | fFile |
int | fGroundParticleCodeIndex |
int | fHeadOfList |
int | fIntData [99] |
int | fIrc |
bool | fIteratorValid |
int | fLogEIndex |
int | fLogRIndex |
int | fThetaIndex |
int | fTimeIndex |
int | fUxIndex |
int | fUyIndex |
int | fVerbosity |
int | fWeightIndex |
Implementation of the VShowerFileParticleIterator for an Aires generated shower file.
Definition at line 33 of file AiresShowerFileParticleIterator.h.
AiresShowerFileParticleIterator::AiresShowerFileParticleIterator | ( | AiresShowerFile & | theFile | ) |
Definition at line 37 of file AiresShowerFileParticleIterator.cc.
References io::AiresShowerFile::fCurrentShowerLocation, fDoubleData, fEndOfList, fFile, io::AiresShowerFile::fGeomagneticFieldDeclination, fHeadOfList, fIntData, and io::Aires::kMagneticFieldDeclination.
|
virtual |
Definition at line 77 of file AiresShowerFileParticleIterator.cc.
|
protectedvirtual |
Compute the coordinate system for the ground particle file.
Definition at line 148 of file AiresShowerFileParticleIterator.cc.
References io::Aires::AiresAzimuthToAuger(), and utl::deg.
|
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 81 of file AiresShowerFileParticleIterator.cc.
References io::Aires::AiresToPDG(), io::AiresWrapper::crogotorec(), ERROR, utl::Particle::eShower, fAltType, fChannel, fCurrentParticle, fCurrentRecordNumber, fDoubleData, fEndOfList, fGroundParticleCodeIndex, fIntData, fIrc, fIteratorValid, fLogEIndex, fLogRIndex, fThetaIndex, fTimeIndex, fUxIndex, fUyIndex, fVerbosity, fWeightIndex, io::AiresWrapper::getcrorecord(), utl::GeV, utl::m, ns, std::pow(), utl::rad, and sqrt().
Referenced by io::AiresShowerFile::Read().
|
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 136 of file AiresShowerFileParticleIterator.cc.
References io::AiresWrapper::crogotorec(), io::AiresWrapper::crorecnumber(), fChannel, fCurrentRecordNumber, fHeadOfList, fIrc, fIteratorValid, and fVerbosity.
Referenced by io::AiresShowerFile::Read().
|
private |
Definition at line 59 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 57 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 53 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 70 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 68 of file AiresShowerFileParticleIterator.h.
Referenced by AiresShowerFileParticleIterator(), and GetOneParticle().
|
private |
Definition at line 58 of file AiresShowerFileParticleIterator.h.
Referenced by AiresShowerFileParticleIterator(), and GetOneParticle().
|
private |
Definition at line 52 of file AiresShowerFileParticleIterator.h.
Referenced by AiresShowerFileParticleIterator().
|
private |
Definition at line 61 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 58 of file AiresShowerFileParticleIterator.h.
Referenced by AiresShowerFileParticleIterator(), and Rewind().
|
private |
Definition at line 67 of file AiresShowerFileParticleIterator.h.
Referenced by AiresShowerFileParticleIterator(), and GetOneParticle().
|
private |
Definition at line 57 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 72 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 62 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 62 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 63 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 65 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 64 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 64 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().
|
private |
Definition at line 57 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle(), and Rewind().
|
private |
Definition at line 65 of file AiresShowerFileParticleIterator.h.
Referenced by GetOneParticle().