HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoSimReader.h
Go to the documentation of this file.
1 #ifndef HARPOSIMREADER_H
2 #define HARPOSIMREADER_H
3 // //
5 // HarpoSimReader //
6 // //
7 // SIM raw file Reader Class //
8 // //
10 #include "TString.h"
11 #include "TFile.h"
12 //#include "TTree.h"
13 
14 #include "HarpoDetReader.h"
15 
16 #include "HarpoSimEvent.h"
17 #include "HarpoSimHeader.h"
18 #include "HarpoSimAnalyse.h"
19 #include "HarpoConfig.h"
20 
21 #include "HarpoSimChamber.h"
22 #include "HarpoSimReadout.h"
23 
24 #include "TpcSimEventGenerator.h"
26 #include "TpcSimDriftChamber.h"
27 //#include "HarpoSimElectronics.h"
28 
30 
31 public:
32 
35 
36  virtual ~HarpoSimReader();
37 
38  void SetSimFile(TString *name);
39  void SetRootFile(TString *name);
41 
42  Bool_t NextEvent(); // Read next event from raw file
43 
44  Bool_t GenerateEvent(HarpoSimEvent* simEvent);
45  Bool_t GenerateEventBasic(HarpoSimEvent* simEvent);
46  Bool_t GenerateEventFromText(HarpoSimEvent* simEvent, std::ifstream *str);
47 
48  HarpoSimEvent *GetEvent(); // Pointer to Current event
49  HarpoDetEvent *GetEvent(ULong_t ndet); // Pointer to Current event
50  // HarpoSimHeader *GetDetHeader(); // Run Header
51  HarpoDetHeader *GetDetHeader(UInt_t ndet); // Run Header
52 
53  Bool_t Init(); // Open raw file and check header
54  Bool_t isDone() { return fDone; }
55  Bool_t isError() { return fError; }
56 
57  Long_t Loop(); // Process all events as defined in config
58  Long_t Loop(Long_t maxevents);
59 
60  void SkipEvent(){}
61  void DeleteEvent();
62 
63 private:
64 
66 
67  Bool_t fDone; // Finished reading
68  Bool_t fError; // Read error of event format error
69 
70  FILE *fIn; // Sim File discriptor
71  Long_t fNevts; // Readed events
72 
73  /* TString *fNewFileName; //ROOT file Name */
74  TFile *fNewFile; //ROOT file handler
75  Long_t fNewNb; //Number of bytes written onto new file
76 
77  /* Long_t fMaxEvents; //max Number of event to read */
78 
79  Int_t fIonType;
80 
81 
82  //TTree* fTree;
83 
84  // HarpoSimEvent *fEvent; // Current Event
85  HarpoDetEvent **fEvents; // Current Event
86  // HarpoSimEvent *fSaveEvent; // Pushed event pointer
87  Bool_t isEventSaved;
89  // HarpoSimHeader *fRunHeader; // Run Header
90 
91  HarpoSimAnalyse *fSimAnalyse; // User Analisysis Function
92 
93 
100 
101  /* EventHeader_t lHeader; // local buffer */
102  UShort_t lData[EVENT_BUFFER_SIZE]; // local buffer
103 
104  /* ULong_t fTimeStamp, fPrevTimeStamp; */
105 
106  Int_t fSave;
107 
108  std::ifstream fStr;
109 
110 
111  ClassDef(HarpoSimReader,1)
112 };
113 #endif
A class hold HARPO run iformation.
HarpoSimReadout * fHarpoReadout
Bool_t GenerateEvent(HarpoSimEvent *simEvent)
#define EVENT_BUFFER_SIZE
Definition: HarpoDccEvent.h:20
Bool_t isError()
EOF reached.
HarpoDetHeader * fRunHeader[gkNDetectors]
A virtual class store event data for un detector.
Definition: HarpoDetEvent.h:32
std::ifstream fStr
UShort_t lData[EVENT_BUFFER_SIZE]
void SkipEvent()
Read next event from raw file.
HarpoSimChamber * fHarpoChamber
Bool_t GenerateEventBasic(HarpoSimEvent *simEvent)
HarpoDetEvent ** fEvents
HarpoDetHeader * GetDetHeader()
A class which read HARPO sim file from one SIM and creant Sim Events and Sim Headers for SIM Events o...
HarpoSimEvent * GetEvent()
TpcSimEventGenerator * fEventGenerator
A class store HARPO row DCC event data and header. End provide access metods to the row data...
Definition: HarpoSimEvent.h:24
HarpoSimAnalyse * fSimAnalyse
A virtual base class for all HARPO detectors readers.
Long_t Loop()
Read errors.
HarpoSimElectronics * fDigi
virtual ~HarpoSimReader()
A virtual class which define intrafece between HARPO Reader and Event Analysis code.
Bool_t GenerateEventFromText(HarpoSimEvent *simEvent, std::ifstream *str)
Bool_t Init()
Init method : Open in/out files and check run header signature.
void SetAnalyseFunction(HarpoSimAnalyse *func)
void SetSimFile(TString *name)
HarpoConfig * fCfg
TpcSimIonisationChamber * fIonisationChamber
const ULong_t gkNDetectors
Definition: HarpoDet.h:14
TpcSimDriftChamber * fDriftChamber
void SetRootFile(TString *name)
A class which keeps track of the entire configuration of the analysis.
Definition: HarpoConfig.h:50