AliRoot Core  edcc906 (edcc906)
AliVCluster.h
Go to the documentation of this file.
1 #ifndef ALIVCLUSTER_H
2 #define ALIVCLUSTER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //-------------------------------------------------------------------------
14 //
15 //-------------------------------------------------------------------------
16 
17 #include <TObject.h>
18 #include <TLorentzVector.h>
19 
20 class AliVCluster : public TObject
21 {
22 
23  public:
24 
25  AliVCluster() { ; }
26  virtual ~AliVCluster() { ; }
27  AliVCluster(const AliVCluster& clus);
28  AliVCluster & operator=(const AliVCluster& source);
29  void Clear(const Option_t*) {;}
30 
32  enum VClu_t {
33  kUndef = -2,
39 
41  enum VCluPID_t {
42  kElectron = 0,
43  kMuon = 1,
44  kPion = 2,
45  kKaon = 3,
46  kProton = 4,
47  kPhoton = 5,
48  kPi0 = 6,
49  kNeutron = 7,
50  kKaon0 = 8,
51  kEleCon = 9,
52  kUnknown = 10,
53  kCharged = 11,//For PMD?
54  kNeutral = 12 //For PMD?
55  };
56 
60  kHadCorr = 1,
64  };
65 
66  // Common EMCAL/PHOS/FMD/PMD
67 
68  virtual void SetID(Int_t ) { ; }
69  virtual Int_t GetID() const {return 0 ; }
70 
71  virtual void SetType(Char_t ) { ; }
72  virtual Char_t GetType() const {return kUndef ; }
73 
74  virtual void SetE(Double_t ) { ; }
75  virtual Double_t E() const {return 0. ; }
76 
77  virtual void SetChi2(Double_t ) { ; }
78  virtual Double_t Chi2() const {return 0. ; }
79 
80  virtual void SetPositionAt(Float_t,Int_t) { ; }
81  virtual void SetPosition(Float_t *) { ; }
82  virtual void GetPosition(Float_t *) const { ; }
83 
84  virtual void SetPIDAt(Float_t , Int_t) { ; }
85  virtual void SetPID(const Float_t *) { ; }
86  virtual const Double_t *GetPID() const { return 0 ; }
87 
88  // CaloClusters, PHOS/EMCAL
89 
90  virtual Bool_t IsEMCAL() const {return kFALSE ; }
91  virtual Bool_t IsPHOS() const {return kFALSE ; }
92 
93  virtual void SetDispersion(Double_t ) { ; }
94  virtual Double_t GetDispersion() const {return 0. ;}
95 
96  virtual void SetM20(Double_t) { ; }
97  virtual Double_t GetM20() const {return 0. ; }
98 
99  virtual void SetM02(Double_t) { ; }
100  virtual Double_t GetM02() const {return 0. ; }
101 
102  virtual void SetNExMax(UChar_t) { ; }
103  virtual UChar_t GetNExMax() const {return 0 ; }
104 
105  virtual void SetTOF(Double_t) { ; }
106  virtual Double_t GetTOF() const {return 0. ; }
107 
108  virtual void SetEmcCpvDistance(Double_t) { ; }
109  virtual Double_t GetEmcCpvDistance() const {return 0. ; }
110  virtual void SetTrackDistance(Double_t, Double_t ){ ; }
111  virtual Double_t GetTrackDx(void)const {return 0. ; }
112  virtual Double_t GetTrackDz(void)const {return 0. ; }
113 
114  virtual void SetDistanceToBadChannel(Double_t) { ; }
115  virtual Double_t GetDistanceToBadChannel() const {return 0. ; }
116 
117  virtual void SetNCells(Int_t) { ; }
118  virtual Int_t GetNCells() const {return 0 ; }
119  virtual void SetCellsAbsId(UShort_t */*array*/) {;}
120  virtual UShort_t *GetCellsAbsId() {return 0 ; }
121  virtual void SetCellsAmplitudeFraction(Double32_t */*array*/) {;}
122  virtual Double_t *GetCellsAmplitudeFraction() {return 0 ; }
123  virtual Int_t GetCellAbsId(Int_t) const {return 0 ; }
124  virtual Double_t GetCellAmplitudeFraction(Int_t) const {return 0. ; }
125 
126  virtual Int_t GetLabel() const {return -1 ;}
127  virtual Int_t GetLabelAt(UInt_t) const {return -1 ;}
128  virtual Int_t *GetLabels() const {return 0 ; }
129  virtual UInt_t GetNLabels() const {return 0 ; }
130  virtual void SetLabel(Int_t *, UInt_t ) { ; }
131 
132  virtual void SetCellsMCEdepFractionMap(UInt_t * /*array*/) {;}
133  virtual UInt_t *GetCellsMCEdepFractionMap() const {return 0 ; }
134  virtual void GetCellMCEdepFractionArray(Int_t, Float_t * /*eDepFraction[4]*/) const {;}
135  virtual UInt_t PackMCEdepFraction(Float_t * /*eDepFraction[4]*/) const {return 0 ; }
136 
137  virtual void SetClusterMCEdepFractionFromEdepArray(Float_t */*array*/) {;}
138  virtual void SetClusterMCEdepFraction (UShort_t */*array*/) {;}
139  virtual UShort_t *GetClusterMCEdepFraction() const {return 0 ; }
140  virtual Float_t GetClusterMCEdepFraction(Int_t) const {return 0 ; }
141 
142  virtual Int_t GetNTracksMatched() const {return 0 ; }
143 
145  virtual TObject *GetTrackMatched(Int_t) const {return 0 ; }
146 
148  virtual Int_t GetTrackMatchedIndex(Int_t=0) const {return -1; }
149 
150  virtual Double_t GetCoreEnergy() const {return 0 ; }
151  virtual void SetCoreEnergy(Double_t) { ; }
152 
153  virtual Double_t GetMCEnergyFraction() const { return 0 ; }
154  virtual void SetMCEnergyFraction(Double_t) { ; }
155 
156  virtual Bool_t GetIsExotic() const { return kFALSE; }
157  virtual void SetIsExotic(Bool_t /*b*/) { ; }
158 
159  virtual Double_t GetUserDefEnergy(VCluUserDefEnergy_t) const { return 0. ; }
160  virtual void SetUserDefEnergy(VCluUserDefEnergy_t, Double_t) { ; }
161 
162  virtual Double_t GetUserDefEnergy(Int_t i) const { return i >= 0 && i <= kLastUserDefEnergy ? GetUserDefEnergy((VCluUserDefEnergy_t)i) : 0. ; }
163  virtual void SetUserDefEnergy(Int_t i, Double_t v) { if (i >= 0 && i <= kLastUserDefEnergy) SetUserDefEnergy((VCluUserDefEnergy_t)i, v) ; }
164 
165  Double_t GetNonLinCorrEnergy() const { return GetUserDefEnergy(kNonLinCorr) ; }
167 
168  Double_t GetHadCorrEnergy() const { return GetUserDefEnergy(kHadCorr) ; }
169  void SetHadCorrEnergy(Double_t e) { SetUserDefEnergy(kHadCorr, e) ; }
170 
171  virtual void GetMomentum(TLorentzVector &/*tl*/, const Double_t * /*v*/) const { ; }
172  virtual void GetMomentum(TLorentzVector &/*tl*/, const Double_t * /*v*/, VCluUserDefEnergy_t /*t*/) const { ; }
173 
175  ClassDef(AliVCluster,0) ; //VCluster
177 
178 };
179 
180 #endif //ALIVCLUSTER_H
181 
virtual Char_t GetType() const
Definition: AliVCluster.h:72
virtual void SetDistanceToBadChannel(Double_t)
Definition: AliVCluster.h:114
virtual void SetPosition(Float_t *)
Definition: AliVCluster.h:81
virtual Double_t GetCoreEnergy() const
Definition: AliVCluster.h:150
virtual void GetCellMCEdepFractionArray(Int_t, Float_t *) const
Definition: AliVCluster.h:134
virtual UShort_t * GetClusterMCEdepFraction() const
Definition: AliVCluster.h:139
virtual void SetTOF(Double_t)
Definition: AliVCluster.h:105
virtual Double_t * GetCellsAmplitudeFraction()
Definition: AliVCluster.h:122
virtual Double_t E() const
Definition: AliVCluster.h:75
virtual Double_t Chi2() const
Definition: AliVCluster.h:78
virtual Bool_t GetIsExotic() const
Definition: AliVCluster.h:156
virtual Int_t GetNTracksMatched() const
Definition: AliVCluster.h:142
VClu_t
Define the type of clusters for the different calorimeters.
Definition: AliVCluster.h:32
virtual void SetPIDAt(Float_t, Int_t)
Definition: AliVCluster.h:84
virtual void SetUserDefEnergy(Int_t i, Double_t v)
Definition: AliVCluster.h:163
virtual void SetCellsMCEdepFractionMap(UInt_t *)
Definition: AliVCluster.h:132
virtual void SetM20(Double_t)
Definition: AliVCluster.h:96
virtual Double_t GetEmcCpvDistance() const
Definition: AliVCluster.h:109
virtual void SetPID(const Float_t *)
Definition: AliVCluster.h:85
virtual void SetClusterMCEdepFraction(UShort_t *)
Definition: AliVCluster.h:138
virtual void SetEmcCpvDistance(Double_t)
Definition: AliVCluster.h:108
virtual void SetCellsAbsId(UShort_t *)
Definition: AliVCluster.h:119
virtual Double_t GetDistanceToBadChannel() const
Definition: AliVCluster.h:115
virtual Double_t GetTrackDz(void) const
Definition: AliVCluster.h:112
virtual void GetMomentum(TLorentzVector &, const Double_t *) const
Definition: AliVCluster.h:171
virtual UShort_t * GetCellsAbsId()
Definition: AliVCluster.h:120
virtual void SetCoreEnergy(Double_t)
Definition: AliVCluster.h:151
virtual void SetNCells(Int_t)
Definition: AliVCluster.h:117
virtual void SetChi2(Double_t)
Definition: AliVCluster.h:77
Virtual class for calorimeter cluster data handling.
Definition: AliVCluster.h:20
virtual UInt_t PackMCEdepFraction(Float_t *) const
Definition: AliVCluster.h:135
virtual void SetDispersion(Double_t)
Definition: AliVCluster.h:93
virtual void SetType(Char_t)
Definition: AliVCluster.h:71
virtual void SetID(Int_t)
Definition: AliVCluster.h:68
virtual void GetMomentum(TLorentzVector &, const Double_t *, VCluUserDefEnergy_t) const
Definition: AliVCluster.h:172
virtual void SetE(Double_t)
Definition: AliVCluster.h:74
virtual Double_t GetMCEnergyFraction() const
Definition: AliVCluster.h:153
virtual Double_t GetDispersion() const
Definition: AliVCluster.h:94
virtual void SetPositionAt(Float_t, Int_t)
Definition: AliVCluster.h:80
void SetNonLinCorrEnergy(Double_t e)
Definition: AliVCluster.h:166
virtual Int_t GetLabelAt(UInt_t) const
Definition: AliVCluster.h:127
void SetHadCorrEnergy(Double_t e)
Definition: AliVCluster.h:169
virtual Int_t * GetLabels() const
Definition: AliVCluster.h:128
VCluUserDefEnergy_t
Define the correction types.
Definition: AliVCluster.h:58
virtual void SetIsExotic(Bool_t)
Definition: AliVCluster.h:157
void Clear(const Option_t *)
Definition: AliVCluster.h:29
virtual void SetM02(Double_t)
Definition: AliVCluster.h:99
virtual ~AliVCluster()
Definition: AliVCluster.h:26
virtual const Double_t * GetPID() const
Definition: AliVCluster.h:86
virtual Double_t GetTrackDx(void) const
Definition: AliVCluster.h:111
Double_t GetNonLinCorrEnergy() const
Definition: AliVCluster.h:165
virtual UInt_t GetNLabels() const
Definition: AliVCluster.h:129
virtual Int_t GetLabel() const
Definition: AliVCluster.h:126
virtual Double_t GetTOF() const
Definition: AliVCluster.h:106
virtual void SetTrackDistance(Double_t, Double_t)
Definition: AliVCluster.h:110
virtual Int_t GetID() const
Definition: AliVCluster.h:69
virtual void SetClusterMCEdepFractionFromEdepArray(Float_t *)
Definition: AliVCluster.h:137
virtual UChar_t GetNExMax() const
Definition: AliVCluster.h:103
virtual Float_t GetClusterMCEdepFraction(Int_t) const
Definition: AliVCluster.h:140
virtual Double_t GetUserDefEnergy(VCluUserDefEnergy_t) const
Definition: AliVCluster.h:159
virtual Bool_t IsEMCAL() const
Definition: AliVCluster.h:90
virtual Int_t GetTrackMatchedIndex(Int_t=0) const
Only for ESDs.
Definition: AliVCluster.h:148
Double_t GetHadCorrEnergy() const
Definition: AliVCluster.h:168
virtual Double_t GetCellAmplitudeFraction(Int_t) const
Definition: AliVCluster.h:124
virtual void SetMCEnergyFraction(Double_t)
Definition: AliVCluster.h:154
virtual UInt_t * GetCellsMCEdepFractionMap() const
Definition: AliVCluster.h:133
virtual void SetUserDefEnergy(VCluUserDefEnergy_t, Double_t)
Definition: AliVCluster.h:160
virtual void SetCellsAmplitudeFraction(Double32_t *)
Definition: AliVCluster.h:121
virtual TObject * GetTrackMatched(Int_t) const
Only for AODs.
Definition: AliVCluster.h:145
virtual Double_t GetM02() const
Definition: AliVCluster.h:100
virtual Bool_t IsPHOS() const
Definition: AliVCluster.h:91
virtual Int_t GetNCells() const
Definition: AliVCluster.h:118
virtual Double_t GetUserDefEnergy(Int_t i) const
Definition: AliVCluster.h:162
VCluPID_t
Define the PID types.
Definition: AliVCluster.h:41
AliVCluster & operator=(const AliVCluster &source)
Definition: AliVCluster.cxx:32
virtual void SetNExMax(UChar_t)
Definition: AliVCluster.h:102
virtual void SetLabel(Int_t *, UInt_t)
Definition: AliVCluster.h:130
virtual Int_t GetCellAbsId(Int_t) const
Definition: AliVCluster.h:123
virtual Double_t GetM20() const
Definition: AliVCluster.h:97
virtual void GetPosition(Float_t *) const
Definition: AliVCluster.h:82