/** \file Implementation of the VShowerFileParticleIterator for an Aires generated shower file \author Troy Porter \version $Id$ \date 22 May 2003 */ #ifndef _io_AiresShowerFileParticleIterator_h_ #define _io_AiresShowerFileParticleIterator_h_ static const char CVSId__AiresVShowerFileParticleIterator[] = "$Id$"; #include #include #include #include namespace io { /** \class AiresShowerFileParticleIterator \brief Implementation of the VShowerFileParticleIterator for an Aires generated shower file \author Troy Porter \version $Id$ \date 22 May 2003 \ingroup aires stl */ class AiresShowerFile; class AiresShowerFileParticleIterator : public utl::VShowerFileParticleIterator { public: AiresShowerFileParticleIterator(AiresShowerFile&); virtual ~AiresShowerFileParticleIterator(); virtual utl::Particle *GetOneParticle(); virtual void Rewind(); protected: /// Compute the coordinate system for the ground particle file virtual utl::CoordinateSystemPtr ComputeExternalShowerCoordinateSystem(const utl::CoordinateSystemPtr& ptr); private: AiresShowerFile& fFile; utl::Particle fCurrentParticle; // Data we grab from the AiresShowerFile attached to this iterator int fChannel, fVerbosity, fIrc; int fHeadOfList, fEndOfList; bool fAltType; int fGroundParticleCodeIndex; int fLogRIndex, fLogEIndex; int fThetaIndex; int fUxIndex, fUyIndex; int fTimeIndex, fWeightIndex; int fIntData[99]; double fDoubleData[99]; int fCurrentRecordNumber; bool fIteratorValid; }; } // namespace #endif // _AiresShowerFileParticleIterator_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "cd ..; make -k" // End: