Line data Source code
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 0 : virtual void SetMax(AliTPCvtpr q){fMax=q;}//set values of max. in cluster
92 :
93 :
94 0 : virtual void SetADCcluster(Int_t q){fADCcluster=q;}
95 :
96 :
97 0 : virtual void SetSec(Short_t q){fSec=q;}
98 :
99 :
100 0 : virtual void SetNPads(Short_t q){fNPads=q;}
101 :
102 :
103 0 : virtual void SetNRows(Short_t q){fNRows=q;}
104 :
105 :
106 0 : virtual void SetSize(){fSize=fCluster->GetEntriesFast();}
107 :
108 :
109 0 : virtual void SetCenterX(Double_t q){fCenterX=q;}
110 :
111 :
112 0 : virtual void SetCenterY(Double_t q){fCenterY=q;}
113 :
114 :
115 0 : virtual void SetCenterT(Double_t q){fCenterT=q;}
116 :
117 :
118 :
119 :
120 :
121 0 : virtual void SetTimebins1D(Short_t q){fTimebins1D=q;}
122 :
123 :
124 0 : virtual void SetPads1D(Short_t q){fPads1D=q;}
125 :
126 :
127 : virtual void Set1D();
128 :
129 :
130 0 : virtual void SetPadRMS(Double_t q){fPadRMS=q;}
131 :
132 :
133 0 : virtual void SetRowRMS(Double_t q){fRowRMS=q;}
134 :
135 :
136 0 : 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 0 : virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }
152 0 : 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 0 : fCluster->AddLast(q);
162 :
163 :
164 : //fCluster->Compress();
165 :
166 :
167 0 : }
168 :
169 :
170 :
171 :
172 :
173 0 : AliTPCvtpr GetMax() const {return fMax;}
174 :
175 :
176 0 : Int_t GetADCcluster() const {return fADCcluster;}
177 :
178 :
179 0 : Short_t GetSec() const {return fSec;}
180 :
181 :
182 0 : Short_t GetNPads() const {return fNPads;}
183 :
184 :
185 0 : Short_t GetNRows() const {return fNRows;}
186 :
187 :
188 0 : Short_t GetSize() const {return fSize;}
189 :
190 :
191 :
192 :
193 :
194 0 : Short_t GetTimebins1D(){return fTimebins1D;}
195 :
196 :
197 0 : Short_t GetPads1D(){return fPads1D;}
198 :
199 :
200 0 : Double_t GetPadRMS(){return fPadRMS;}
201 :
202 :
203 0 : Double_t GetRowRMS(){return fRowRMS;}
204 :
205 :
206 0 : Double_t GetTimebinRMS(){return fTimebinRMS;}
207 :
208 :
209 :
210 :
211 :
212 0 : Double_t GetCenterX() const {return fCenterX;}
213 :
214 :
215 0 : Double_t GetCenterY() const {return fCenterY;}
216 :
217 :
218 0 : Double_t GetCenterT() const {return fCenterT;}
219 :
220 :
221 0 : AliTPCvtpr *GetDigitFromCluster(Int_t i) const {return (AliTPCvtpr*)fCluster->At(i);}
222 :
223 :
224 0 : UInt_t GetTimeStamp() const {return fTimeStamp;}
225 0 : 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 16 : 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 :
|