00001 #ifndef AsciiNeutronReader_h 00002 #define AsciiNeutronReader_h 00003 00004 #include <iostream> 00005 #include <string> 00006 #include <vector> 00007 #include <fstream> 00008 #include "SimMuon/Neutron/src/NeutronReader.h" 00009 00017 class AsciiNeutronReader : public NeutronReader 00018 { 00019 public: 00020 AsciiNeutronReader(std::string fileNameBase); 00021 00022 virtual void readNextEvent(int chamberType, edm::PSimHitContainer & result); 00023 00024 private: 00025 00026 int read_nhits(std::ifstream & fin, int chamberType); 00027 void resetStreampos(std::ifstream & fin, int chamberType); 00028 00029 std::string theFileNameBase; 00030 std::vector<std::streampos> theStreamPos; 00031 }; 00032 00033 #endif 00034