SenecaShowerFile.h
Go to the documentation of this file.
1 #ifndef _io_SenecaShowerFile_h_
2 #define _io_SenecaShowerFile_h_
3 
4 #include <io/VEventFile.h>
5 #include <io/IoCodes.h>
6 
8 #include "SenecaFileParser.h"
9 
10 #include <fstream>
11 
12 using namespace std;
13 
14 
15 namespace evt {
16  class Event;
17  class ShowerSimData;
18 }
19 
20 namespace io {
21 
22  class SenecaFileParser;
23  class SenecaShowerFileParticleIterator;
24 
25 
35  class SenecaShowerFile : public VEventFile {
36  public:
38  SenecaShowerFile(const std::string& fileName, const Mode mode = eRead, utl::Branch* const b = nullptr);
39  virtual ~SenecaShowerFile() { }
40 
41  void Open(const std::string& fileName, const Mode mode = eRead, utl::Branch* const b = nullptr) override;
42  void Close() override;
43  Status Read(evt::Event& event) override;
44  void Write(const evt::Event& event) override;
45  Status FindEvent(const unsigned int eventId) override;
46  Status GotoPosition(const unsigned int position) override;
47  int GetNEvents() override;
48 
49  private:
50  int SenecaParticleIDToAuger(const int senecaID);
51  Status CreateSenecaFileParticleIterator();
52 
55  };
56 
57 }
58 
59 
60 #endif
SenecaShowerFileParticleIterator fSenecaParticleIterator
Mode
Available open modes.
Definition: IoCodes.h:16
SenecaFileParser fFileParser
Class representing a document branch.
Definition: Branch.h:107
Status
Return code for seek operation.
Definition: IoCodes.h:24
Read data from the output of Seneca.

, generated on Tue Sep 26 2023.