REASFile.h
Go to the documentation of this file.
1 #ifndef _io_REASFile_h_
2 #define _io_REASFile_h_
3 
4 #include <io/REASIOException.h>
5 #include <io/VEventFile.h>
6 #include <fstream>
7 #include <vector>
8 #include <string>
9 
10 
11 namespace evt {
12  class Event;
13  class ShowerSimData;
14 }
15 
16 namespace utl { class Branch; }
17 
18 namespace io {
19 
20  class CorsikaShowerFile;
21 
22 
34  class REASFile : public VEventFile {
35 
36  public:
37  REASFile();
38  REASFile(const std::string& fileName, const Mode mode = eRead, utl::Branch* const b = nullptr);
39  virtual ~REASFile();
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  int ParseForREASFile(const std::string& directory, std::string& ourFileName);
50 
51  private:
52  REASFile(const REASFile&);
53  REASFile& operator=(const REASFile&);
54 
55  unsigned int fCurrentPosition = 0 ;
56  std::vector<std::string> fBinFileList;
57  std::ifstream* fReasin = nullptr;
58  std::string fOrigDirectory;
59  std::string fReasDirectory;
60  std::string fHostName;
61  unsigned long fProcessId = 0;
62 
64 
65  };
66 
67 }
68 
69 
70 #endif
REASFile & operator=(const REASFile &)
Status FindEvent(const unsigned int eventId) override
seek Event id set cursor there
Definition: REASFile.cc:750
std::string fReasDirectory
Definition: REASFile.h:59
Status GotoPosition(const unsigned int position) override
goto by position in the file
Definition: REASFile.cc:758
Mode
Available open modes.
Definition: IoCodes.h:16
unsigned long fProcessId
Definition: REASFile.h:61
unsigned int fCurrentPosition
Definition: REASFile.h:55
Class representing a document branch.
Definition: Branch.h:107
Status
Return code for seek operation.
Definition: IoCodes.h:24
Status Read(evt::Event &event) override
read current event advance cursor by 1
Definition: REASFile.cc:228
void Close() override
Definition: REASFile.cc:211
int ParseForREASFile(const std::string &directory, std::string &ourFileName)
Definition: REASFile.cc:770
Read data from the output of CORSIKA.
std::string fOrigDirectory
Definition: REASFile.h:58
int GetNEvents() override
Definition: REASFile.cc:796
std::ifstream * fReasin
Definition: REASFile.h:57
void Open(const std::string &fileName, const Mode mode=eRead, utl::Branch *const b=nullptr) override
Definition: REASFile.cc:79
void Write(const evt::Event &event) override
Definition: REASFile.cc:741
std::vector< std::string > fBinFileList
Definition: REASFile.h:56
Read REAS simulation output.
Definition: REASFile.h:34
virtual ~REASFile()
Definition: REASFile.cc:58
CorsikaShowerFile * fCorsikaShowerFile
Definition: REASFile.h:63
std::string fHostName
Definition: REASFile.h:60

, generated on Tue Sep 26 2023.