PandaRoot
BSEmcRecoHit.h
Go to the documentation of this file.
1 #ifndef BSEMCRECOHIT_HH
2 #define BSEMCRECOHIT_HH
3 
4 #include <string> // for string
5 #include <vector>
6 
7 #include "Rtypes.h" // for BSEmcRecoHit::Class, BSEmcRecoHit::...
8 #include "RtypesCore.h" // for Int_t, Double_t, Float_t
9 #include "TMatrixDfwd.h" // for TMatrixD
10 #include "TMatrixT.h" // for TMatrixT
11 #include "TVector3.h" // for TVector3
12 
13 #include "FairHit.h" // for FairHit
14 #include "FairMultiLinkedData.h" // for FairMultiLinkedData
15 
16 #include "BSEmcDataBranchNames.h"
17 
18 class TBuffer;
19 class TClass;
20 class TMemberInspector;
21 
31 class BSEmcRecoHit : public FairHit {
32  public:
33  BSEmcRecoHit();
34  BSEmcRecoHit(const BSEmcRecoHit &t_other);
35  virtual ~BSEmcRecoHit();
36 
37  const TVector3 &GetPosition() const { return fPosition; }
38  const TVector3 &GetCorrectedPosition() const { return fCorrectedPosition; }
39  Double_t GetRawEnergy() const { return fRawEnergy; }
40  Double_t GetCorrectedEnergy() const { return fCalEnergy; }
41  Double_t GetEnergy1() const { return fE1; }
42  Double_t GetEnergy9() const { return fE9; }
43  Double_t GetEnergy25() const { return fE25; }
44  Double_t GetLateralMoment() const { return fLat; }
45  Double_t GetZ20() const { return fZ20; }
46  Double_t GetZ53() const { return fZ53; }
47  Int_t GetNumberOfClusterCrystals() const { return fNumberOfCrystals; }
48  Int_t GetNumberOfSubCluster() const { return fNumberOfSubCluster; }
49  Int_t GetNumberOfSubClusterCrystals() const { return fNumberOfSubClusterCrystals; }
50  Int_t GetModule() const { return fModule; }
51  Bool_t IsSplitOff() const {return fIsSplitOff; }
52 
53  const TMatrixD &GetCov7() const { return fCov7; }
54  const TMatrixD &GetCovP4() const { return fCovP4; }
55  Int_t GetClusterIndex() const { return fClusterIndex; }
56  Int_t GetSubClusterIndex() const { return fSubClusterIndex; }
57  Int_t GetCentralCrystalId() const { return fCentralCrystalId; }
58 
59  void SetPosition(const TVector3 &t_pos)
60  {
61  fPosition = t_pos;
62  fX = t_pos.X();
63  fY = t_pos.Y();
64  fZ = t_pos.Z();
65  }
66 
67  void SetCorrectedPosition(const TVector3 &t_pos) { fCorrectedPosition = t_pos; }
68 
69  void SetRawEnergy(Double_t t_energy) { fRawEnergy = t_energy; }
70  void SetCorrectedEnergy(Double_t t_energy) { fCalEnergy = t_energy; }
71  void SetEnergy1(Double_t t_energy) { fE1 = t_energy; }
72  void SetEnergy9(Double_t t_energy) { fE9 = t_energy; }
73  void SetEnergy25(Double_t t_energy) { fE25 = t_energy; }
74  void SetLateralMoment(Double_t t_latmom) { fLat = t_latmom; }
75  void SetZ20(Double_t t_z20) { fZ20 = t_z20; }
76  void SetZ53(Double_t t_z53) { fZ53 = t_z53; }
77  void SetNumberOfClusterCrystals(Int_t t_ncrystals) { fNumberOfCrystals = t_ncrystals; }
78  void SetNumberOfSubCluster(Int_t t_nsubcluster) { fNumberOfSubCluster = t_nsubcluster; }
79  void SetNumberOfSubClusterCrystals(Int_t t_nsubclustercrystals) { fNumberOfSubClusterCrystals = t_nsubclustercrystals; }
80  void SetModule(Int_t t_module) { fModule = t_module; }
81  void SetCentralCrystalId(Int_t t_centralCrystal) { fCentralCrystalId = t_centralCrystal; }
82  void SetSplitOff(Bool_t t_IsSplitOff) {fIsSplitOff = t_IsSplitOff; }
83 
84  void SetCov7(const TMatrixD &t_cov7) { fCov7 = t_cov7; }
85  void SetCovP4(const TMatrixD &t_covP4) { fCovP4 = t_covP4; }
86 
87  void SetSubClusterIndex(Int_t t_subclusterindex) { fSubClusterIndex = t_subclusterindex; }
88  void SetClusterIndex(Int_t t_clusterindex) { fClusterIndex = t_clusterindex; }
89 
90  const std::vector<Int_t> &GetMcList() const { return fMcList; };
91  Int_t GetMcSize() const { return fMcList.size(); }
92  Int_t GetMcIndex(Int_t t_idx = 0) const { return fMcList[t_idx]; }
93  void SetMcList(const std::vector<Int_t> &t_mclist) { fMcList = t_mclist; }
94 
95  FairMultiLinkedData GetTrackEntering() const { return fTrackEntering; }
96  FairMultiLinkedData GetTrackExiting() const { return fTrackExiting; }
97  void SetTrackEntering(const FairMultiLinkedData &t_tracks) { fTrackEntering = t_tracks; }
98  void SetTrackExiting(const FairMultiLinkedData &t_tracks) { fTrackExiting = t_tracks; }
99 
100  private:
101  TVector3 fPosition{};
102  TVector3 fCorrectedPosition{};
103  Float_t fRawEnergy{-1};
104  Float_t fCalEnergy{-1};
105  Int_t fNumberOfCrystals{-1};
106  Int_t fNumberOfSubCluster{-1};
107  Int_t fNumberOfSubClusterCrystals{-1};
108  Int_t fModule{-1};
109  Int_t fClusterIndex{-1};
110  Int_t fSubClusterIndex{-1};
111  Int_t fCentralCrystalId{-1};
112  Double_t fZ20{-1};
113  Double_t fZ53{-1};
114  Double_t fLat{-1};
115  Double_t fE1{-1};
116  Double_t fE9{-1};
117  Double_t fE25{-1};
118  TMatrixD fCov7{7, 7};
119  TMatrixD fCovP4{4, 4};
120  Bool_t fIsSplitOff{false};
121 
122  std::vector<Int_t> fMcList{};
123  FairMultiLinkedData fTrackEntering{};
124  FairMultiLinkedData fTrackExiting{};
125 
126  ClassDef(BSEmcRecoHit, 1);
127 };
128 
129 #endif /*BSEMCRECOHIT_HH*/
Double_t GetZ20() const
Definition: BSEmcRecoHit.h:45
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:31
virtual ~BSEmcRecoHit()
const TVector3 & GetPosition() const
Definition: BSEmcRecoHit.h:37
Bool_t IsSplitOff() const
Definition: BSEmcRecoHit.h:51
Double_t GetEnergy1() const
Definition: BSEmcRecoHit.h:41
void SetRawEnergy(Double_t t_energy)
Definition: BSEmcRecoHit.h:69
Double_t GetEnergy25() const
Definition: BSEmcRecoHit.h:43
void SetMcList(const std::vector< Int_t > &t_mclist)
Definition: BSEmcRecoHit.h:93
void SetCorrectedPosition(const TVector3 &t_pos)
Definition: BSEmcRecoHit.h:67
Int_t GetSubClusterIndex() const
Definition: BSEmcRecoHit.h:56
const TVector3 & GetCorrectedPosition() const
Definition: BSEmcRecoHit.h:38
void SetNumberOfClusterCrystals(Int_t t_ncrystals)
Definition: BSEmcRecoHit.h:77
void SetClusterIndex(Int_t t_clusterindex)
Definition: BSEmcRecoHit.h:88
void SetEnergy9(Double_t t_energy)
Definition: BSEmcRecoHit.h:72
Double_t GetCorrectedEnergy() const
Definition: BSEmcRecoHit.h:40
void SetZ53(Double_t t_z53)
Definition: BSEmcRecoHit.h:76
Double_t GetLateralMoment() const
Definition: BSEmcRecoHit.h:44
Int_t GetModule() const
Definition: BSEmcRecoHit.h:50
Int_t GetMcSize() const
Definition: BSEmcRecoHit.h:91
void SetZ20(Double_t t_z20)
Definition: BSEmcRecoHit.h:75
void SetTrackEntering(const FairMultiLinkedData &t_tracks)
Definition: BSEmcRecoHit.h:97
void SetCorrectedEnergy(Double_t t_energy)
Definition: BSEmcRecoHit.h:70
void SetCovP4(const TMatrixD &t_covP4)
Definition: BSEmcRecoHit.h:85
Int_t GetNumberOfSubClusterCrystals() const
Definition: BSEmcRecoHit.h:49
const TMatrixD & GetCovP4() const
Definition: BSEmcRecoHit.h:54
FairMultiLinkedData GetTrackExiting() const
Definition: BSEmcRecoHit.h:96
void SetNumberOfSubClusterCrystals(Int_t t_nsubclustercrystals)
Definition: BSEmcRecoHit.h:79
void SetTrackExiting(const FairMultiLinkedData &t_tracks)
Definition: BSEmcRecoHit.h:98
void SetLateralMoment(Double_t t_latmom)
Definition: BSEmcRecoHit.h:74
Double_t GetEnergy9() const
Definition: BSEmcRecoHit.h:42
void SetCentralCrystalId(Int_t t_centralCrystal)
Definition: BSEmcRecoHit.h:81
void SetEnergy25(Double_t t_energy)
Definition: BSEmcRecoHit.h:73
Int_t GetCentralCrystalId() const
Definition: BSEmcRecoHit.h:57
void SetCov7(const TMatrixD &t_cov7)
Definition: BSEmcRecoHit.h:84
void SetPosition(const TVector3 &t_pos)
Definition: BSEmcRecoHit.h:59
void SetEnergy1(Double_t t_energy)
Definition: BSEmcRecoHit.h:71
const std::vector< Int_t > & GetMcList() const
Definition: BSEmcRecoHit.h:90
Int_t GetNumberOfClusterCrystals() const
Definition: BSEmcRecoHit.h:47
Int_t GetMcIndex(Int_t t_idx=0) const
Definition: BSEmcRecoHit.h:92
void SetSubClusterIndex(Int_t t_subclusterindex)
Definition: BSEmcRecoHit.h:87
Double_t GetZ53() const
Definition: BSEmcRecoHit.h:46
FairMultiLinkedData GetTrackEntering() const
Definition: BSEmcRecoHit.h:95
void SetSplitOff(Bool_t t_IsSplitOff)
Definition: BSEmcRecoHit.h:82
Int_t GetClusterIndex() const
Definition: BSEmcRecoHit.h:55
Int_t GetNumberOfSubCluster() const
Definition: BSEmcRecoHit.h:48
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52
void SetModule(Int_t t_module)
Definition: BSEmcRecoHit.h:80
Double_t GetRawEnergy() const
Definition: BSEmcRecoHit.h:39
void SetNumberOfSubCluster(Int_t t_nsubcluster)
Definition: BSEmcRecoHit.h:78
const TMatrixD & GetCov7() const
Definition: BSEmcRecoHit.h:53