FEDRA emulsion software from the OPERA Collaboration
EdbPrediction.h
Go to the documentation of this file.
1#ifndef ROOT_EdbPrediction
2#define ROOT_EdbPrediction
5
11
12#include "TClonesArray.h"
13#include "TNtuple.h"
14
15#ifndef ROOT_EdbVirtual
16#include "EdbVirtual.h"
17#endif
18
19
20//______________________________________________________________________________
21class EdbPredictionDC : public TObject, public EdbTrack2D {
22
23private:
24
25 Int_t eIDp;
26 Int_t eEvent;
27 Int_t eFlag;
28
29 Float_t eTy;
30 Float_t eTz;
31 Float_t eYp;
32 Float_t eZp;
33
34public:
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
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//______________________________________________________________________________
71class EdbPredictionsBox : public TObject, public EdbPointsBox2D {
72
73 private:
74
75 TClonesArray *ePredictions;
76
77 public:
80 EdbPredictionsBox( int n );
81 virtual ~EdbPredictionsBox();
82
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
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
98 void Print( Option_t *opt="") const;
99
100 void WriteDC( char *file="predictions.dc") const;
101 void WriteDC1( char *file="predictions.dc") const;
102
103 TNtuple *MakeNtuple( char *name="predictions") const;
104
105 int ReadDC( char *file );
106 int ReadDC0( 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 */
protocol class for point (virtual point)
Definition: EdbVirtual.h:28
collection of 2D points
Definition: EdbVirtual.h:150
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
tanY: deltaY/deltaZ
Definition: EdbPrediction.h:30
virtual Int_t GetEvent() const
Definition: EdbPrediction.h:43
Float_t eYp
|_coordinates of the prediction in
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
tanX: deltaX/deltaZ
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
| absolute coord system
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
prediction flag
Definition: EdbPrediction.h:27
virtual void SetTY(float ty)
Definition: EdbPrediction.h:62
virtual Float_t X() const
mandatory virtual fuctions
Definition: EdbPrediction.h:54
virtual Float_t TX() const
tangens = deltaX/deltaZ
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
tangens = deltaY/deltaZ
Definition: EdbPrediction.h:60
Int_t eIDp
prediction id
Definition: EdbPrediction.h:25
Int_t eEvent
event id
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
TNtuple * MakeNtuple(char *name="predictions") const
Definition: EdbPrediction.cxx:156
void AddPrediction(int id, int event, int flag, float ty, float tz, float y, float z)
members access functions
Definition: EdbPrediction.cxx:184
int ReadDC0(char *file)
Definition: EdbPrediction.cxx:241
void WriteDC1(char *file="predictions.dc") const
Definition: EdbPrediction.cxx:130
int ReadDC(char *file)
Definition: EdbPrediction.cxx:203
void WriteDC(char *file="predictions.dc") const
Definition: EdbPrediction.cxx:122
EdbPredictionsBox()
Definition: EdbPrediction.cxx:68
TClonesArray * ePredictions
collection of predictions
Definition: EdbPrediction.h:75
virtual ~EdbPredictionsBox()
Definition: EdbPrediction.cxx:87
TClonesArray * GetPredictions() const
Definition: EdbPrediction.h:89
void Generate(int n)
Definition: EdbPrediction.cxx:193
void Print(Option_t *opt="") const
other finctions
Definition: EdbPrediction.cxx:177
EdbPoint * At(int i) const
Definition: EdbPrediction.h:93
Int_t N() const
mandatory virtual functions:
Definition: EdbPrediction.h:92
virtual class for 2D track
Definition: EdbVirtual.h:123
TFile * file
Definition: write_pvr.C:3
const char * opt
Definition: mc2raw.cxx:42
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24
UInt_t id
Definition: tlg2couples.C:117
int event
Definition: shower_tr.C:25