FEDRA emulsion software from the OPERA Collaboration
EdbPrediction.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbPrediction
2 #define ROOT_EdbPrediction
3 
5 // //
6 // EdbPrediction //
7 // //
8 // prediction for scanning //
9 // //
11 
12 #include "TClonesArray.h"
13 #include "TNtuple.h"
14 
15 #ifndef ROOT_EdbVirtual
16 #include "EdbVirtual.h"
17 #endif
18 
19 
20 //______________________________________________________________________________
21 class EdbPredictionDC : public TObject, public EdbTrack2D {
22 
23 private:
24 
25  Int_t eIDp; // prediction id
26  Int_t eEvent; // event id
27  Int_t eFlag; // prediction flag
28 
29  Float_t eTy; // tanX: deltaX/deltaZ
30  Float_t eTz; // tanY: deltaY/deltaZ
31  Float_t eYp; // |_coordinates of the prediction in
32  Float_t eZp; // | absolute coord system
33 
34 public:
36  EdbPredictionDC( int id, int event, int flag,
37  float ty, float tz, float y, float z ):
38  eIDp(id), eEvent(event), eFlag(flag),
39  eTy(ty), eTz(tz), eYp(y), eZp(z) {}
40  virtual ~EdbPredictionDC() { }
41 
42  virtual Int_t GetID() const { return eIDp; }
43  virtual Int_t GetEvent() const { return eEvent; }
44  virtual Int_t GetFlag() const { return eFlag; }
45  virtual Float_t GetTy() const { return eTy; }
46  virtual Float_t GetTz() const { return eTz; }
47  virtual Float_t GetYp() const { return eYp; }
48  virtual Float_t GetZp() const { return eZp; }
49 
50  // virtual void Set( float y, float z, float ty, float tz );
51 
52  // mandatory virtual fuctions
53 
54  virtual Float_t X() const { return GetYp(); }
55  virtual Float_t Y() const { return GetZp(); }
56  virtual void SetX( float x ) { eYp = x; }
57  virtual void SetY( float y ) { eZp = y; }
58 
59  virtual Float_t TX() const { return GetTy(); }
60  virtual Float_t TY() const { return GetTz(); }
61  virtual void SetTX( float tx ) { eTy = tx; }
62  virtual void SetTY( float ty ) { eTz = ty; }
63 
64  virtual void Print( Option_t *opt=0) const;
65  void WriteDC( FILE *file ) const;
66 
67  ClassDef(EdbPredictionDC,2) // one prediction (track) a-la $c
68 };
69 
70 //______________________________________________________________________________
71 class EdbPredictionsBox : public TObject, public EdbPointsBox2D {
72 
73  private:
74 
75  TClonesArray *ePredictions; // collection of predictions
76 
77  public:
80  EdbPredictionsBox( int n );
81  virtual ~EdbPredictionsBox();
82 
83  //members access functions
84  void AddPrediction( int id, int event, int flag,
85  float ty, float tz, float y, float z);
86 
87  Int_t GetN() const;
88  EdbPredictionDC *GetPrediction(int i) const;
89  TClonesArray *GetPredictions() const { return ePredictions; }
90 
91  // mandatory virtual functions:
92  Int_t N() const { return GetN(); }
93  EdbPoint *At(int i) const { return (EdbPoint*)GetPrediction(i); }
94 
95  // void Draw(int style=23, int col=4, float size=1. );
96 
97  // other finctions
98  void Print( Option_t *opt="") const;
99 
100  void WriteDC( const char *file="predictions.dc") const;
101  void WriteDC1( const char *file="predictions.dc") const;
102 
103  TNtuple *MakeNtuple( const char *name="predictions") const;
104 
105  int ReadDC( const char *file );
106  int ReadDC0( const char *file );
107 
108  void Generate( int n );
109 
110  //void Test();
111 
112  ClassDef(EdbPredictionsBox,2) // Predictions a-la $c
113 };
114 
115 #endif /* EdbPrediction */
Definition: EdbVirtual.h:28
Definition: EdbVirtual.h:142
Definition: EdbPrediction.h:21
virtual Float_t Y() const
Definition: EdbPrediction.h:55
virtual Float_t GetTz() const
Definition: EdbPrediction.h:46
virtual Int_t GetID() const
Definition: EdbPrediction.h:42
virtual ~EdbPredictionDC()
Definition: EdbPrediction.h:40
Float_t eTz
Definition: EdbPrediction.h:30
virtual Int_t GetEvent() const
Definition: EdbPrediction.h:43
Float_t eYp
Definition: EdbPrediction.h:31
EdbPredictionDC(int id, int event, int flag, float ty, float tz, float y, float z)
Definition: EdbPrediction.h:36
Float_t eTy
Definition: EdbPrediction.h:29
virtual Float_t GetTy() const
Definition: EdbPrediction.h:45
virtual void SetX(float x)
Definition: EdbPrediction.h:56
virtual Int_t GetFlag() const
Definition: EdbPrediction.h:44
virtual void SetY(float y)
Definition: EdbPrediction.h:57
Float_t eZp
Definition: EdbPrediction.h:32
virtual void SetTX(float tx)
Definition: EdbPrediction.h:61
virtual Float_t GetZp() const
Definition: EdbPrediction.h:48
EdbPredictionDC()
Definition: EdbPrediction.h:35
Int_t eFlag
Definition: EdbPrediction.h:27
virtual void SetTY(float ty)
Definition: EdbPrediction.h:62
virtual Float_t X() const
Definition: EdbPrediction.h:54
virtual Float_t TX() const
Definition: EdbPrediction.h:59
virtual void Print(Option_t *opt=0) const
Definition: EdbPrediction.cxx:60
virtual Float_t GetYp() const
Definition: EdbPrediction.h:47
void WriteDC(FILE *file) const
Definition: EdbPrediction.cxx:53
virtual Float_t TY() const
Definition: EdbPrediction.h:60
Int_t eIDp
Definition: EdbPrediction.h:25
Int_t eEvent
Definition: EdbPrediction.h:26
Definition: EdbPrediction.h:71
EdbPredictionDC * GetPrediction(int i) const
Definition: EdbPrediction.cxx:281
Int_t GetN() const
Definition: EdbPrediction.cxx:116
void WriteDC(const char *file="predictions.dc") const
Definition: EdbPrediction.cxx:122
void AddPrediction(int id, int event, int flag, float ty, float tz, float y, float z)
Definition: EdbPrediction.cxx:184
int ReadDC0(const char *file)
Definition: EdbPrediction.cxx:241
void WriteDC1(const char *file="predictions.dc") const
Definition: EdbPrediction.cxx:130
EdbPoint * At(int i) const
Definition: EdbPrediction.h:93
EdbPredictionsBox()
Definition: EdbPrediction.cxx:68
TClonesArray * ePredictions
Definition: EdbPrediction.h:75
TNtuple * MakeNtuple(const char *name="predictions") const
Definition: EdbPrediction.cxx:156
virtual ~EdbPredictionsBox()
Definition: EdbPrediction.cxx:87
TClonesArray * GetPredictions() const
Definition: EdbPrediction.h:89
int ReadDC(const char *file)
Definition: EdbPrediction.cxx:203
void Generate(int n)
Definition: EdbPrediction.cxx:193
void Print(Option_t *opt="") const
Definition: EdbPrediction.cxx:177
Int_t N() const
Definition: EdbPrediction.h:92
Definition: EdbVirtual.h:123
const char * opt
Definition: mc2raw.cxx:42
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24
UInt_t id
Definition: tlg2pattern.C:118
int event
Definition: shower_tr.C:25
TFile * file
Definition: write_pvr.C:3