HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoDetReader.h
Go to the documentation of this file.
1 #ifndef HARPODETREADER_H
2 #define HARPODETREADER_H
3 // //
5 // HarpoDetReader //
6 // //
7 // Abstract Reader Class //
8 // //
10 #include "TString.h"
11 #include "TFile.h"
12 
13 #include "HarpoDetEvent.h"
14 #include "HarpoDetHeader.h"
15 #include "HarpoConfig.h"
16 
17 
18 class HarpoDetReader : public TObject {
19 
20 public:
21 
24 
25  virtual ~HarpoDetReader();
26 
27  void SetDetFile(TString *name);
28 
29  virtual Bool_t NextEvent() = 0;
30 
31  virtual void SkipEvent();
32  virtual void PushBack(); // Reread current event on follwing NextEvent
33 
34  virtual HarpoDetEvent *GetEvent(); // Pointer to Current event
35  HarpoDetHeader *GetDetHeader(); // Run Header
36 
37  virtual Bool_t Init() = 0; // Open raw file and check header
38 
39  virtual Long_t Loop() = 0; // Process all events as defined in config
40  virtual Long_t Loop(Long_t maxevents) = 0;
41 
42  Bool_t Find(Long_t eventNo);
43 
44  void SetRunNo(Long_t nRun) { fRunNo = nRun; }
45  Long_t GetRunNo() { return fRunNo; }
46 
47  void SetDet(Long_t plane) { fDet = plane; }
48  Int_t GetDet() { return fDet; }
49 
50  Long_t GetReadEvts() { return fNevts; }
51 
52  ULong_t GetTimeStamp() { return fTimeStamp; } // TS from prev event
53  ULong_t GetPrevTimeStamp() { return fPrevTimeStamp; } // TS from prev event
54 
55 protected:
56 
57  Long_t fRunNo; // Run Number
58  Long_t fDet; // Det Number ( PLane X == 0, Y == 1, pmm2 = 2, ...)
59  Long_t fMaxEvents; //max Number of event to read
60 
61  TString *fInFile; // Input Det File name
62  Bool_t fDone; // Finished reading
63  Bool_t fError; // Read error of event format error
64 
65  Long_t fNevts; // Readed events
66 
67 
68  HarpoDetHeader *fRunHeader; // Run Header
69 
71  // Push Back pointers
73  Bool_t isEventSaved;
74 
76 
77  // Output file
78 
79  TString *fNewFileName; // Root File name
80 
81  ClassDef(HarpoDetReader,1)
82 };
83 #endif
A class hold HARPO run iformation.
virtual ~HarpoDetReader()
virtual Long_t Loop()=0
A virtual class store event data for un detector.
Definition: HarpoDetEvent.h:32
ULong_t fTimeStamp
HarpoDetHeader * GetDetHeader()
Long_t GetReadEvts()
virtual void PushBack()
Skeeping not "intersting" event.
ULong_t fPrevTimeStamp
A virtual base class for all HARPO detectors readers.
void SetRunNo(Long_t nRun)
Find raw event by event number.
virtual HarpoDetEvent * GetEvent()
TString * fNewFileName
HarpoDetEvent * fSaveEvent
HarpoDetHeader * fRunHeader
void SetDet(Long_t plane)
TString * fInFile
virtual Bool_t Init()=0
virtual Bool_t NextEvent()=0
ULong_t GetTimeStamp()
Number of readed events.
void SetDetFile(TString *name)
Bool_t Find(Long_t eventNo)
Init method : Open in/out files and check run header signature.
HarpoDetEvent * fEvent
Long_t GetRunNo()
virtual void SkipEvent()
Read next event from raw file.
A class which keeps track of the entire configuration of the analysis.
Definition: HarpoConfig.h:50
ULong_t GetPrevTimeStamp()
Int_t GetDet()
Define plane X or Y.