FairRoot/PandaRoot
PndDrcLutInfo.h
Go to the documentation of this file.
1 // -----------------------------------------
2 // PndDrcLutInfo.h
3 //
4 // Created on: 13.07.2013
5 // Author: R.Dzhygadlo at gsi.de
6 // -----------------------------------------
7 // Container for look-up table
8 
9 #ifndef PNDDRCLUTINFO_H
10 #define PNDDRCLUTINFO_H
11 
12 #include "TObject.h"
13 #include "TClonesArray.h"
14 #include "TVector3.h"
15 #include <vector>
16 
17 class PndDrcLutInfo : public TObject {
18 
19 public:
20 
21  // Default constructor
22  PndDrcLutInfo ();
23 
24  // Standard constructors
25 
26 
27  // Copy constructor
28  // PndDrcLutInfo (PndDrcLutInfo& node) { *this = node; } // not needed
29 
30  // Modifiers
31  void AddAngle(Double_t val);
32  void AddPixelEnd(Double_t val);
33  void AddTime(Double_t val);
34  void AddTime(Double_t val, Bool_t ref);
35  void AddLutTime(Double_t val, Bool_t ref);
36  void AddPath(Double_t val);
37  void AddChDiff(Double_t val);
38  void AddNOfBounces(Double_t val);
39  void AddNOfEVReflections(Int_t val);
40  void AddLambda(Double_t val);
41  void AddTruePath(Double_t val);
42  void AddHitTime(Double_t val);
43 
44  void SetChPartDir(TVector3 val);
45  void SetChPartDirInBar(TVector3 val);
46  void SetChPartDirInBar2(TVector3 val);
47  void SetChPartPdg(Int_t val);
48  void SetCherenkovMC(Double_t val);
49  void SetCherenkovReal(Double_t val);
50 
51  // Accessors
52  Int_t AngleEntries() {return fAnglesSize; }
53  Int_t PixelEntries() {return fPixelSize; }
54  Int_t TimeEntries() {return fTimesSize; }
55  Int_t PathEntries() {return fPathsSize; }
56  Int_t ChDiffEntries() {return fChDiffsSize; }
59  Int_t NOfLambdas() {return fLambdasSize;}
60  Int_t NOfTruePaths() {return fTruePathsSize;}
61  Int_t NOfHitTimes() {return fHitTimesSize;}
62 
63  TVector3 GetChPartDir() {return fChPartDir;}
64  TVector3 GetChPartDirInBar() {return fChPartDirInBar;}
65  TVector3 GetChPartDirInBar2() {return fChPartDirInBar2;}
66  Int_t GetChPartPdg() {return fChPartPdg;}
69 
70  Double_t GetAngle(Int_t entry);
71  Int_t GetPixelEnd(Int_t entry);
72  Double_t GetChDiff(Int_t entry);
73  Int_t GetNOfBounces(Int_t entry);
74  Int_t GetNOfEVReflections(Int_t entry);
75  Double_t GetTime(Int_t entry);
76  Double_t GetLutTime(Int_t entry){return fLutTimesArray[entry];}
77  Double_t GetLambda(Int_t entry){return fLambdaArray[entry];}
78  Double_t GetHitTime(Int_t entry){return fHitTimeArray[entry];}
79  Double_t GetTruePath(Int_t entry){return fTruePathArray[entry];}
80  Double_t GetPath(Int_t entry){return fPathsArray[entry];}
81  Bool_t GetReflected(Int_t entry){return fReflected[entry];}
82  Bool_t GetLutReflected(Int_t entry){return fLutReflected[entry];}
83 
84 protected:
85 
86  Int_t fAnglesSize;
87  Int_t fPixelSize;
88  Int_t fTimesSize;
90  Int_t fPathsSize;
91  Int_t fChDiffsSize;
94  Int_t fLambdasSize;
97 
98  // arrays of values based on the LUT ambiguities:
99  std::vector<Double_t> fAnglesArray;
100 
101  std::vector<Int_t> fPixelEndArray;
102  std::vector<Double_t> fTimesArray;
103  std::vector<Double_t> fLutTimesArray;
104  std::vector<Double_t> fPathsArray;
105  std::vector<Double_t> fChDiffsArray;
106  std::vector<Int_t> fNOfBouncesArray;
107  std::vector<TVector3> fPhotonStartPosition;
108  std::vector<Int_t> fNOfEVReflectionsArray;
109  std::vector<Double_t> fLambdaArray;
110  std::vector<Double_t> fHitTimeArray;
111  std::vector<Double_t> fTruePathArray;
112  std::vector<Bool_t> fReflected;
113  std::vector<Bool_t> fLutReflected;
114 
115  // MC information
116  TVector3 fChPartDir;
117  TVector3 fChPartDirInBar;
119  Int_t fChPartPdg;
122 
123  ClassDef(PndDrcLutInfo,2)
124 };
125 
126 #endif
std::vector< Bool_t > fReflected
void SetChPartDirInBar2(TVector3 val)
std::vector< Double_t > fAnglesArray
Definition: PndDrcLutInfo.h:99
Bool_t GetLutReflected(Int_t entry)
Definition: PndDrcLutInfo.h:82
void AddChDiff(Double_t val)
void AddHitTime(Double_t val)
TVector3 fChPartDir
std::vector< Double_t > fChDiffsArray
Double_t GetChDiff(Int_t entry)
std::vector< Double_t > fLambdaArray
Int_t NOfTruePaths()
Definition: PndDrcLutInfo.h:60
std::vector< Double_t > fTimesArray
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
Double_t GetHitTime(Int_t entry)
Definition: PndDrcLutInfo.h:78
Double_t GetTime(Int_t entry)
Int_t fLambdasSize
Definition: PndDrcLutInfo.h:94
std::vector< Int_t > fNOfEVReflectionsArray
void AddPixelEnd(Double_t val)
void AddNOfEVReflections(Int_t val)
Double_t GetCherenkovMC()
Definition: PndDrcLutInfo.h:67
Double_t GetLutTime(Int_t entry)
Definition: PndDrcLutInfo.h:76
void SetChPartPdg(Int_t val)
Double_t GetCherenkovReal()
Definition: PndDrcLutInfo.h:68
Int_t NOfEVReflectionEntries()
Definition: PndDrcLutInfo.h:58
void SetChPartDirInBar(TVector3 val)
TVector3 fChPartDirInBar
Int_t PixelEntries()
Definition: PndDrcLutInfo.h:53
Int_t NOfLambdas()
Definition: PndDrcLutInfo.h:59
void SetCherenkovReal(Double_t val)
Int_t NOfBouncesEntries()
Definition: PndDrcLutInfo.h:57
Int_t GetChPartPdg()
Definition: PndDrcLutInfo.h:66
TVector3 fChPartDirInBar2
Int_t PathEntries()
Definition: PndDrcLutInfo.h:55
std::vector< Int_t > fPixelEndArray
Bool_t GetReflected(Int_t entry)
Definition: PndDrcLutInfo.h:81
void AddLambda(Double_t val)
Int_t fTruePathsSize
Definition: PndDrcLutInfo.h:96
Int_t fChDiffsSize
Definition: PndDrcLutInfo.h:91
void AddAngle(Double_t val)
std::vector< Bool_t > fLutReflected
void SetChPartDir(TVector3 val)
Double_t
Double_t GetTruePath(Int_t entry)
Definition: PndDrcLutInfo.h:79
Double_t GetLambda(Int_t entry)
Definition: PndDrcLutInfo.h:77
Int_t ChDiffEntries()
Definition: PndDrcLutInfo.h:56
Int_t GetPixelEnd(Int_t entry)
void AddTime(Double_t val)
void AddNOfBounces(Double_t val)
Int_t fNOfBouncesSize
Definition: PndDrcLutInfo.h:92
void AddTruePath(Double_t val)
Double_t fCherenkovReal
Int_t GetNOfEVReflections(Int_t entry)
void SetCherenkovMC(Double_t val)
std::vector< Double_t > fLutTimesArray
Int_t fLutTimesSize
Definition: PndDrcLutInfo.h:89
Double_t fCherenkovMC
TVector3 GetChPartDir()
Definition: PndDrcLutInfo.h:63
TVector3 GetChPartDirInBar2()
Definition: PndDrcLutInfo.h:65
void AddPath(Double_t val)
Double_t GetAngle(Int_t entry)
TVector3 GetChPartDirInBar()
Definition: PndDrcLutInfo.h:64
void AddLutTime(Double_t val, Bool_t ref)
Int_t NOfHitTimes()
Definition: PndDrcLutInfo.h:61
std::vector< Int_t > fNOfBouncesArray
Int_t fHitTimesSize
Definition: PndDrcLutInfo.h:95
Int_t GetNOfBounces(Int_t entry)
std::vector< TVector3 > fPhotonStartPosition
Int_t TimeEntries()
Definition: PndDrcLutInfo.h:54
Double_t GetPath(Int_t entry)
Definition: PndDrcLutInfo.h:80
std::vector< Double_t > fPathsArray
std::vector< Double_t > fHitTimeArray
std::vector< Double_t > fTruePathArray
Int_t fNOfEVReflectionsSize
Definition: PndDrcLutInfo.h:93
Int_t AngleEntries()
Definition: PndDrcLutInfo.h:52