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
21 for (int k=0;k<100;k++) {
24 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;
63 AliITSRawClusterSPD(Float_t clz,Float_t clx,Float_t Charge,
64 Int_t ClusterSizeZ,Int_t ClusterSizeX,Int_t xstart,Int_t xstop,
65 Int_t xstartf,Int_t xstopf,Float_t zstart,Float_t zstop,Int_t zend);
66 virtual ~AliITSRawClusterSPD() {
70 void Add(AliITSRawClusterSPD* clJ);
71 Bool_t Brother(AliITSRawClusterSPD* cluster,Float_t dz,Float_t dx);
86 Float_t NclZ() const {
90 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 {
125 Float_t fX; // X of cluster
126 Float_t fZ; // Z of cluster
127 Float_t fQ; // Q of cluster
128 Int_t fNClZ; // Cluster size in Z direction
129 Int_t fNClX; // Cluster size in X direction
130 Int_t fXStart; // number of first pixel in cluster
131 Int_t fXStop; // number of last pixel in cluster
132 Int_t fXStartf; // number of first pixel in full cluster
133 Int_t fXStopf; // number of last pixel in full cluster
134 Float_t fZStart; // number of first pixel in cluster
135 Float_t fZStop; // number of last pixel in cluster
138 ClassDef(AliITSRawClusterSPD,1) // AliITSRawCluster class for SPD
142 //---------------------------------------------
143 class AliITSRawClusterSDD : public AliITSRawCluster {
147 AliITSRawClusterSDD() {
152 fAnode=fTime=fPeakAmplitude=0;
155 AliITSRawClusterSDD(Int_t wing, Float_t Anode,Float_t Time,Float_t Charge,
156 Float_t PeakAmplitude,Float_t Asigma, Float_t Tsigma,Float_t DriftPath, Float_t AnodeOffset,Int_t Samples);
157 virtual ~AliITSRawClusterSDD() {
161 void Add(AliITSRawClusterSDD* clJ);
162 Bool_t Brother(AliITSRawClusterSDD* cluster,Float_t dz,Float_t dx);
189 Int_t Anodes() const {
193 Int_t Samples() const {
197 Float_t PeakAmpl() const {
199 return fPeakAmplitude ;
204 Float_t fX; // X of cluster
205 Float_t fZ; // Z of cluster
206 Float_t fQ; // Q of cluster
207 Int_t fWing; // Wing number
208 Float_t fAnode; // Anode number
209 Float_t fTime; // Drift Time
210 Float_t fPeakAmplitude; // Peak Amplitude
211 Int_t fNanodes; // N of anodes used for the cluster
212 Int_t fNsamples; // N of samples used for the cluster
214 ClassDef(AliITSRawClusterSDD,1) // AliITSRawCluster class for SDD
217 //-----------------------------------------
218 class AliITSRawClusterSSD : public AliITSRawCluster {
222 AliITSRawClusterSSD() {
224 for (int k=0;k<100;k++) {
234 AliITSRawClusterSSD(Float_t Prob,Int_t Sp,Int_t Sn);
235 virtual ~AliITSRawClusterSSD() {
239 Int_t GetStatus() const {
243 void SetStatus(Int_t status) {
250 // Float_t fProbability; // The probability that this is a "real" point
251 //Int_t fIndexMapN[100]; // indices of digits for Nside - the corresponding
252 // info for P side is carried in the base class
255 Int_t fMultiplicityN; // The number of N side strips involved
256 // in this point calculations
257 Int_t fStatus; // Flag status : 0 - real point
262 Float_t fQErr; // Total charge error
264 ClassDef(AliITSRawClusterSSD,1) // AliITSRawCluster class for SSD