]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclusterKr.h
Tree chaching implemented and update of merging of trees
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterKr.h
CommitLineData
d0a2ea5a 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
64class AliTPCclusterKr: public AliCluster{
65
66
67public:
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
231private:
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