]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRawCluster.h
Removing obsolete macros
[u/mrichter/AliRoot.git] / ITS / AliITSRawCluster.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSRAWCLUSTER_H
9e1e0cd7 2#define ALIITSRAWCLUSTER_H
b0f5e3fc 3
4////////////////////////////////////////////////////
5// Cluster classes for set:ITS //
6////////////////////////////////////////////////////
7
8#include <TObject.h>
9e1e0cd7 9// this class is subject to changes !!! - info used for declustering
10// and eventual debugging
11
12class AliITSRawCluster : public TObject {
13 public:
14 AliITSRawCluster() { // default constructor
15 fMultiplicity=0;}
16 virtual ~AliITSRawCluster() {// destructor
17 }
18 virtual Bool_t IsSortable() const {// is sortable
19 return kTRUE;}
20 public:
21 Int_t fMultiplicity; // cluster multiplicity
22
23 ClassDef(AliITSRawCluster,1) // AliITSRawCluster class
24};
25//----------------------------------------------------------------------
26// these classes are subject to changes - keep them temporarily for
27// compatibility !!!
b0f5e3fc 28class AliITSRawClusterSPD : public AliITSRawCluster {
9e1e0cd7 29 public:
30 AliITSRawClusterSPD() {// constructor
31 fX=fZ=fQ=0.0;
32 fZStart=fZStop=0.0;
33 fNClZ=fNClX=fXStart=fXStop=fZend=fNTracks=0;
34 fTracks[0]=fTracks[1]=fTracks[2]=-3,fModule=0;
35 }
36 AliITSRawClusterSPD(Float_t clz,Float_t clx,Float_t Charge,
37 Int_t ClusterSizeZ,Int_t ClusterSizeX,
38 Int_t xstart,Int_t xstop,Float_t zstart,
39 Float_t zstop,Int_t zend,Int_t module);
40 virtual ~AliITSRawClusterSPD() {// destructor
41 }
42 void Add(AliITSRawClusterSPD* clJ);
43 Bool_t Brother(AliITSRawClusterSPD* cluster,Float_t dz,Float_t dx);
44 void PrintInfo();
45 // Getters
46 Float_t Q() const {// Q
47 return fQ ;}
48 Float_t Z() const {// Z
49 return fZ ;}
50 Float_t X() const {// X
51 return fX ;}
52 Int_t NclZ() const {// NclZ
53 return fNClZ ;}
54 Int_t NclX() const {// NclX
55 return fNClX ;}
56 Int_t XStart() const {//XStart
57 return fXStart;}
58 Int_t XStop() const {//XStop
59 return fXStop;}
60 Int_t XStartf() const {//XStartf
61 return fXStart;}
62 Int_t XStopf() const {//XStopf
63 return fXStop;}
64 Float_t ZStart() const {//ZStart
65 return fZStart;}
66 Float_t ZStop() const {//ZStop
67 return fZStop;}
68 Int_t Zend() const {//Zend
69 return fZend;}
70 Int_t NTracks() const {//NTracks
71 return fNTracks;}
72 Int_t Module() const {//Returns module where this cluster came from
73 return fModule;}
74 void GetTracks(Int_t &track0,Int_t &track1,Int_t &track2) const {
75 // returns tracks created a cluster
76 track0=fTracks[0];
77 track1=fTracks[1];
78 track2=fTracks[2];
79 return;
a3e16987 80 };
9e1e0cd7 81 void SetTracks(Int_t track0, Int_t track1, Int_t track2) {
82 // set tracks in cluster (not more than three ones)
83 fTracks[0]=track0;
84 fTracks[1]=track1;
85 fTracks[2]=track2;
86 }
87 void SetNTracks(Int_t ntracks) {
88 // set ntracks
89 fNTracks=ntracks;
90 }
91 protected:
92 Float_t fX; // X of cluster
93 Float_t fZ; // Z of cluster
94 Float_t fQ; // Q of cluster
95 Int_t fNClZ; // Cluster size in Z direction
96 Int_t fNClX; // Cluster size in X direction
97 Int_t fXStart; // number of first pixel in cluster
98 Int_t fXStop; // number of last pixel in cluster
99 Float_t fZStart; // number of first pixel in cluster
100 Float_t fZStop; // number of last pixel in cluster
101 Int_t fZend; // Zend
102 Int_t fNTracks; // number of tracks created a cluster
103 Int_t fTracks[3]; // tracks created a cluster
104 Int_t fModule; // Module number for this culuster
b0f5e3fc 105
77867ec5 106 ClassDef(AliITSRawClusterSPD,2) // AliITSRawCluster class for SPD
9e1e0cd7 107};
108//----------------------------------------------------------------------
b0f5e3fc 109class AliITSRawClusterSDD : public AliITSRawCluster {
9e1e0cd7 110 public:
111 AliITSRawClusterSDD() {
112 // constructor
113 fX=fZ=fQ=0;
114 fWing=0;
115 fNanodes=1;
116 fAnode=fTime=fPeakAmplitude=0;
117 fPeakPosition=-1;
118 fMultiplicity=0;
119 fTstart=fTstop=fTstartf=fTstopf=0;
120 fAstart=fAstop=0;
121 }
122 AliITSRawClusterSDD(Int_t wing,Float_t Anode,Float_t Time,Float_t Charge,
123 Float_t PeakAmplitude,Int_t PeakPosition,
124 Float_t Asigma,Float_t Tsigma,Float_t DriftPath,
125 Float_t AnodeOffset, Int_t Samples,
126 Int_t Tstart, Int_t Tstop,Int_t Tstartf,Int_t Tstopf,
127 Int_t Anodes, Int_t Astart, Int_t Astop);
128 AliITSRawClusterSDD( const AliITSRawClusterSDD & source);
129 virtual ~AliITSRawClusterSDD() {// destructor
130 }
131 void Add(AliITSRawClusterSDD* clJ);
132 Bool_t Brother(AliITSRawClusterSDD* cluster,Float_t dz,Float_t dx);
133 void PrintInfo();
134 // Setters
135 void SetX(Float_t x) {fX=x;}
136 void SetZ(Float_t z) {fZ=z;}
137 void SetQ(Float_t q) {fQ=q;}
138 void SetAnode(Float_t anode) {fAnode=anode;}
139 void SetTime(Float_t time) {fTime=time;}
140 void SetAsigma(Float_t asigma) {fAsigma=asigma;}
141 void SetTsigma(Float_t tsigma) {fTsigma=tsigma;}
142 void SetWing(Int_t wing) {fWing=wing;}
143 void SetNanodes(Int_t na) {fNanodes=na;}
144 void SetNsamples(Int_t ns) {fMultiplicity=ns;}
145 void SetPeakAmpl(Float_t ampl) {fPeakAmplitude=ampl;}
146 void SetPeakPos(Int_t pos) {fPeakPosition=pos;}
147 // Getters
148 Float_t X() const {//X
149 return fX ;}
150 Float_t Z() const {//Z
151 return fZ ;}
152 Float_t Q() const {//Q
153 return fQ ;}
154 Float_t A() const {//A
155 return fAnode ;}
156 Float_t T() const {//T
157 return fTime ;}
158 Float_t Asigma() const {//Asigma
159 return fAsigma ;}
160 Float_t Tsigma() const {//Tsigma
161 return fTsigma ;}
162 Float_t W() const {//W
163 return fWing ;}
164 Int_t Anodes() const {//Anodes
165 return fNanodes ;}
166 Int_t Samples() const {//Samples
167 return fMultiplicity;}
168 Float_t PeakAmpl() const {//PeakAmpl
169 return fPeakAmplitude ;}
170 Float_t SumAmpl() const {//PeakAmpl
171 return fSumAmplitude ;}
172 Int_t PeakPos() {return fPeakPosition;}
173 Int_t Tstart() const {//Tstart
174 return fTstart ;}
175 Int_t Tstartf() const {//Tstartf
176 return fTstartf ;}
177 Int_t Tstop() const {//Tstop
178 return fTstop;}
179 Int_t Tstopf() const {//Tstopf
180 return fTstopf ;}
181 Int_t Astart() const {//Astart
182 return fAstart ;}
183 Int_t Astop() const {//Astop
184 return fAstop ;}
185 public:
186 Float_t fX; // X of cluster
187 Float_t fZ; // Z of cluster
188 Float_t fQ; // Q of cluster
189 Int_t fWing; // Wing number
190 Float_t fAnode; // Anode number
191 Float_t fTime; // Drift Time
192 Float_t fAsigma; //
193 Float_t fTsigma; //
194 Float_t fPeakAmplitude; // Peak Amplitude
195 Float_t fSumAmplitude; // Total Amplitude (for weighting)
196 Int_t fPeakPosition; // index of digit corresponding to peak
197 Int_t fNanodes; // N of anodes used for the cluster
198 Int_t fTstart; // First sample in 1D cluster
199 Int_t fTstop; // Last sample in 1D cluster
200 Int_t fTstartf; // First sample in the full 2D cluster
201 Int_t fTstopf; // Last sample in the full 2D cluster
202 Int_t fAstart; // First anode in the 2D cluster
203 Int_t fAstop; // last anode in the 2D cluster
204
205 ClassDef(AliITSRawClusterSDD,1) // AliITSRawCluster class for SDD
206};
207//----------------------------------------------------------------------
b0f5e3fc 208class AliITSRawClusterSSD : public AliITSRawCluster {
9e1e0cd7 209 public:
210 AliITSRawClusterSSD() {
211 fMultiplicityN=0;
212 fQErr=0;
213 fSignalP=0;
214 fSignalN=0;
215 fStatus=-1;
216 fNtracks=0;
217 }
218 AliITSRawClusterSSD(Float_t Prob,Int_t Sp,Int_t Sn);
219 virtual ~AliITSRawClusterSSD() {// destructor
220 }
221 Int_t GetStatus() const {// get status
222 return fStatus;}
223 void SetStatus(Int_t status) {// set status
224 fStatus=status;}
225 public:
226 Int_t fMultiplicityN; // The number of N side strips involved
227 // in this point calculations
228 Float_t fQErr; // Total charge error
229 Float_t fSignalP; // Signal of P side cluster
230 Float_t fSignalN; // Signal of N side cluster
231 Int_t fStatus; // Flag status : 0 - real point
232 // 1 - ghost
233 // 2 - EIC ?
234 // 3 - single side
235 Int_t fNtracks; // Number of tracks created the cluster
236 ClassDef(AliITSRawClusterSSD,1) // AliITSRawCluster class for SSD
b0f5e3fc 237};
b0f5e3fc 238#endif