00001 // $Header: /cvs/lcd/slic/include/LcioEventSource.hh,v 1.8 2007/04/27 01:54:32 jeremy Exp $ 00002 00003 #ifndef SLIC_LCIOEVENTSOURCE_HH 00004 #define SLIC_LCIOEVENTSOURCE_HH 1 00005 00006 // slic 00007 #include "EventSourceWithInputFile.hh" 00008 #include "Module.hh" 00009 #include "LcioMcpFilter.hh" 00010 #include "LcioManager.hh" 00011 #include "LcioMcpManager.hh" 00012 00013 // lcio 00014 #include "EVENT/LCEvent.h" 00015 #include "EVENT/LCCollection.h" 00016 #include "IOIMPL/LCFactory.h" 00017 #include "IO/LCReader.h" 00018 00019 namespace slic 00020 { 00025 class LcioEventSource : public EventSourceWithInputFile 00026 { 00027 public: 00028 LcioEventSource(const std::string& fname = ""); 00029 00030 virtual ~LcioEventSource(); 00031 00032 public: 00033 00034 // open the current file 00035 virtual void open(); 00036 00037 // close the current file 00038 virtual void close(); 00039 00040 // read the next event 00041 virtual void readNextEvent(); 00042 00043 virtual void dumpCurrentEvent(); 00044 00045 void generate(G4Event* anEvent); 00046 00047 virtual void beginRun(const G4Run* aRun); 00048 00049 virtual void beginEvent(const G4Event* anEvent); 00050 00051 //virtual void endEvent(const G4Event*); 00052 00053 EVENT::LCCollection* getCurrentMcpLCCollection(); 00054 00055 private: 00056 LcioMcpFilter* m_filter; 00057 IO::LCReader* m_reader; 00058 EVENT::LCEvent* m_event; 00059 }; 00060 } 00061 00062 #endif
1.5.4