Corrected UInt_t <-> Int_t conversion
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterKr.h
1 #ifndef ALITPCCLUSTERKR_H
2
3
4 #define ALITPCCLUSTERKR_H
5
6
7 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
8
9
10  * See cxx source for full Copyright notice                               */
11
12
13
14
15
16 /* $Id: AliTPCclusterKr.h,v 1.8 2008/01/22 16:07:15 matyja Exp $ */
17
18
19
20
21
22 //-------------------------------------------------------
23
24
25 //                    TPC Kr Cluster Class
26
27
28 //
29
30
31 //   Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
32
33
34 //-------------------------------------------------------
35
36
37
38
39
40 #include "AliCluster.h"
41
42
43 #include "TObjArray.h"
44
45
46 #include "AliTPCvtpr.h"
47
48
49 //#include "TH1F.h"
50
51
52 #include "TMath.h"
53
54
55 #include "TArrayI.h"
56
57
58
59
60
61 //_____________________________________________________________________________
62
63
64 class AliTPCclusterKr: public AliCluster{
65
66
67 public:
68
69
70   AliTPCclusterKr();
71
72
73   AliTPCclusterKr(const AliTPCclusterKr & param);//copy constructor
74
75
76   AliTPCclusterKr &operator = (const AliTPCclusterKr & param); 
77
78
79   virtual ~AliTPCclusterKr();
80
81
82
83
84
85   virtual void SetCenter();//set center of the cluster weighted by charge
86
87
88
89
90
91   virtual void SetMax(AliTPCvtpr q){fMax=q;}//set values of max. in cluster
92
93
94   virtual void SetADCcluster(Int_t q){fADCcluster=q;}
95
96
97   virtual void SetSec(Short_t q){fSec=q;}
98
99
100   virtual void SetNPads(Short_t q){fNPads=q;}
101
102
103   virtual void SetNRows(Short_t q){fNRows=q;}
104
105
106   virtual void SetSize(){fSize=fCluster->GetEntriesFast();}
107
108
109   virtual void SetCenterX(Double_t q){fCenterX=q;}
110
111
112   virtual void SetCenterY(Double_t q){fCenterY=q;}
113
114
115   virtual void SetCenterT(Double_t q){fCenterT=q;}
116
117
118
119
120
121   virtual void SetTimebins1D(Short_t q){fTimebins1D=q;}
122
123
124   virtual void SetPads1D(Short_t q){fPads1D=q;}
125
126
127   virtual void Set1D();
128
129
130   virtual void SetPadRMS(Double_t q){fPadRMS=q;}
131
132
133   virtual void SetRowRMS(Double_t q){fRowRMS=q;}
134
135
136   virtual void SetTimebinRMS(Double_t q){fTimebinRMS=q;}
137
138
139   virtual void SetPadRMS();
140
141
142   virtual void SetRowRMS();
143
144
145   virtual void SetTimebinRMS();
146
147
148   virtual void SetRMS();
149
150
151   virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }
152   virtual void SetRun(UInt_t run){ fRun = run; }
153
154
155   //void AddDigitToCluster(AliTPCvtpr *q){fCluster.push_back(q);}
156
157
158   virtual void AddDigitToCluster(AliTPCvtpr *q){
159
160
161     fCluster->AddLast(q);
162
163
164     //fCluster->Compress();
165
166
167   }
168
169
170
171
172
173   AliTPCvtpr GetMax() const {return fMax;}
174
175
176   Int_t GetADCcluster() const {return  fADCcluster;}
177
178
179   Short_t GetSec() const {return fSec;}
180
181
182   Short_t GetNPads() const {return fNPads;}
183
184
185   Short_t GetNRows() const {return fNRows;}
186
187
188   Short_t GetSize() const {return fSize;}
189
190
191
192
193
194   Short_t GetTimebins1D(){return fTimebins1D;}
195
196
197   Short_t GetPads1D(){return fPads1D;}
198
199
200   Double_t GetPadRMS(){return fPadRMS;}
201
202
203   Double_t GetRowRMS(){return fRowRMS;}
204
205
206   Double_t GetTimebinRMS(){return fTimebinRMS;}
207
208
209
210
211
212   Double_t GetCenterX() const {return fCenterX;}
213
214
215   Double_t GetCenterY() const {return fCenterY;}
216
217
218   Double_t GetCenterT() const {return fCenterT;}
219
220
221   AliTPCvtpr *GetDigitFromCluster(Int_t i) const {return (AliTPCvtpr*)fCluster->At(i);}
222
223
224   UInt_t GetTimeStamp() const {return fTimeStamp;}
225   UInt_t GetRun() const {return fRun;}
226
227
228
229
230
231 private:
232
233
234   AliTPCvtpr fMax;//max (ADC,timebin,pad,row) in cluster
235
236
237   Int_t fADCcluster; //ADC of cluster
238
239
240   Short_t fSec;  //sector of the cluster
241
242
243   Short_t fNPads; //number of pads in cluster
244
245
246   Short_t fNRows; //number of rows in cluster or row max - min
247
248
249
250
251
252   Short_t fTimebins1D; //Timebin max - min
253
254
255   Short_t fPads1D; //Pad max - min
256
257
258   Double_t fPadRMS; //Pad RMS
259
260
261   Double_t fRowRMS; //Row RMS
262
263
264   Double_t fTimebinRMS; //Timebin RMS
265
266
267
268
269
270   Short_t fSize; //size of vector
271
272
273   Double_t fCenterX;// X coordinate of the cluster center in cm
274
275
276   Double_t fCenterY;// Y coordinate of the cluster center in cm
277
278
279   Double_t fCenterT;// time coordinate of the cluster center in timebins
280
281
282   //std::vector< AliTPCvtpr*> fCluster;//cluster contents(adc,nt,np,nr)
283
284
285   TObjArray *fCluster;//cluster contents(adc,nt,np,nr)
286
287
288   UInt_t fTimeStamp; //time stamp from event header
289   UInt_t fRun; //run from event header
290
291
292
293
294
295   ClassDef(AliTPCclusterKr,8)  // Time Projection Chamber Kr clusters
296
297
298 };
299
300
301
302
303
304
305
306
307 #endif
308
309
310
311
312
313
314
315