/** \file Reader for Seneca generated shower file \author Jeff Allen \version $Id: SenecaShowerFile.h 14717 2009-09-17 20:24:36Z lukas $ \date 08 Sep 2006 */ #ifndef _io_SenecaShowerFile_h_ #define _io_SenecaShowerFile_h_ #include #include #include "SenecaShowerFileParticleIterator.h" #include "SenecaFileParser.h" #include using namespace std; namespace evt { class Event; class ShowerSimData; } namespace io { class SenecaFileParser; class SenecaShowerFileParticleIterator; /** \class SenecaShowerFile SenecaShowerFile.h "io/SenecaShowerFile.h" \brief Read data from the output of Seneca \author Jeff Allen \date 8 Sep 2006 \ingroup seneca */ class SenecaShowerFile : public VEventFile { public: SenecaShowerFile(); SenecaShowerFile(const std::string& theFileName, const Mode theMode = eRead); virtual ~SenecaShowerFile(); virtual void Open(const std::string& theFileName, const Mode theMode = eRead); virtual void Close(); virtual Status Read(evt::Event& theEvent); virtual void Write(const evt::Event& theEvent); virtual Status FindEvent(unsigned int eventId); virtual Status GotoPosition(unsigned int position); virtual int GetNEvents(); private: // std::ofstream DebugFile; int SenecaParticleIDToAuger(int SenecaID); Status CreateSenecaFileParticleIterator(); SenecaShowerFileParticleIterator SenecaParticleIterator; SenecaFileParser FileParser; }; } #endif