1 #ifndef ALIITSRAWCLUSTER_H
2 #define ALIITSRAWCLUSTER_H
5 ////////////////////////////////////////////////////
6 // Cluster classes for set:ITS //
7 ////////////////////////////////////////////////////
12 class AliITSRawCluster : public TObject {
14 // this class is subject to changes ! - info used for declustering
15 // and eventual debugging
22 for (int k=0;k<100;k++) {
25 fNcluster[0]=fNcluster[1]=-1;
30 virtual ~AliITSRawCluster() {
33 virtual Bool_t IsSortable() const {
40 Int_t fMultiplicity; // cluster multiplicity
41 //Int_t fIndexMap[100]; // indices of digits
45 ClassDef(AliITSRawCluster,1) // AliITSRawCluster class
48 //---------------------------------------------
49 class AliITSRawClusterSPD : public AliITSRawCluster {
51 // these classes are subject to changes - keep them temporarily for
56 AliITSRawClusterSPD() {
60 fNClZ=fNClX=fXStart=fXStop=fXStartf=fXStopf=fZend=fNTracks;
63 AliITSRawClusterSPD(Float_t clz,Float_t clx,Float_t Charge,Int_t ClusterSizeZ,Int_t ClusterSizeX,Int_t xstart,Int_t xstop,Int_t xstartf,Int_t xstopf,Float_t zstart,Float_t zstop,Int_t zend);
64 virtual ~AliITSRawClusterSPD() {
68 void Add(AliITSRawClusterSPD* clJ);
69 Bool_t Brother(AliITSRawClusterSPD* cluster,Float_t dz,Float_t dx);
84 // Float_t NclZ() const {
89 // Float_t NclX() const {
94 Int_t XStart() const {
102 Int_t XStartf() const {
106 Int_t XStopf() const {
110 Float_t ZStart() const {
114 Float_t ZStop() const {
122 Int_t NTracks() const {
127 void GetTracks(Int_t &track0,Int_t &track1,Int_t &track2) const {
128 // returns tracks created a cluster
136 void SetTracks(Int_t track0, Int_t track1, Int_t track2) {
137 // set tracks in cluster (not more than three ones)
142 void SetNTracks(Int_t ntracks) {
149 Float_t fX; // X of cluster
150 Float_t fZ; // Z of cluster
151 Float_t fQ; // Q of cluster
152 Int_t fNClZ; // Cluster size in Z direction
153 Int_t fNClX; // Cluster size in X direction
154 Int_t fXStart; // number of first pixel in cluster
155 Int_t fXStop; // number of last pixel in cluster
156 Int_t fXStartf; // number of first pixel in full cluster
157 Int_t fXStopf; // number of last pixel in full cluster
158 Float_t fZStart; // number of first pixel in cluster
159 Float_t fZStop; // number of last pixel in cluster
161 Int_t fNTracks; // number of tracks created a cluster
162 Int_t fTracks[3]; // tracks created a cluster
164 ClassDef(AliITSRawClusterSPD,1) // AliITSRawCluster class for SPD
168 //---------------------------------------------
169 class AliITSRawClusterSDD : public AliITSRawCluster {
173 AliITSRawClusterSDD() {
178 fAnode=fTime=fPeakAmplitude=0;
181 AliITSRawClusterSDD(Int_t wing, Float_t Anode,Float_t Time,Float_t Charge,
182 Float_t PeakAmplitude,Float_t Asigma, Float_t Tsigma,Float_t DriftPath, Float_t AnodeOffset,Int_t Samples);
183 virtual ~AliITSRawClusterSDD() {
187 void Add(AliITSRawClusterSDD* clJ);
188 Bool_t Brother(AliITSRawClusterSDD* cluster,Float_t dz,Float_t dx);
215 Int_t Anodes() const {
219 Int_t Samples() const {
223 Float_t PeakAmpl() const {
225 return fPeakAmplitude ;
230 Float_t fX; // X of cluster
231 Float_t fZ; // Z of cluster
232 Float_t fQ; // Q of cluster
233 Int_t fWing; // Wing number
234 Float_t fAnode; // Anode number
235 Float_t fTime; // Drift Time
236 Float_t fPeakAmplitude; // Peak Amplitude
237 Int_t fNanodes; // N of anodes used for the cluster
238 Int_t fNsamples; // N of samples used for the cluster
240 ClassDef(AliITSRawClusterSDD,1) // AliITSRawCluster class for SDD
243 //-----------------------------------------
244 class AliITSRawClusterSSD : public AliITSRawCluster {
248 AliITSRawClusterSSD() {
253 for (int k=0;k<100;k++) {
260 AliITSRawClusterSSD(Float_t Prob,Int_t Sp,Int_t Sn);
261 virtual ~AliITSRawClusterSSD() {
265 Int_t GetStatus() const {
269 void SetStatus(Int_t status) {
276 Int_t fMultiplicityN; // The number of N side strips involved
277 // in this point calculations
278 Float_t fQErr; // Total charge error
279 Int_t fStatus; // Flag status : 0 - real point
284 // Float_t fProbability; // The probability that this is a "real" point
285 // Int_t fIndexMapN[100]; // indices of digits for Nside - the corresponding
286 // info for P side is carried in the base class
288 ClassDef(AliITSRawClusterSSD,1) // AliITSRawCluster class for SSD