1 #ifndef ALITPCCLUSTERKR_H
4 #define ALITPCCLUSTERKR_H
7 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
10 * See cxx source for full Copyright notice */
16 /* $Id: AliTPCclusterKr.h,v 1.8 2008/01/22 16:07:15 matyja Exp $ */
22 //-------------------------------------------------------
25 // TPC Kr Cluster Class
31 // Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
34 //-------------------------------------------------------
40 #include "AliCluster.h"
43 #include "TObjArray.h"
46 #include "AliTPCvtpr.h"
61 //_____________________________________________________________________________
64 class AliTPCclusterKr: public AliCluster{
73 AliTPCclusterKr(const AliTPCclusterKr & param);//copy constructor
76 AliTPCclusterKr &operator = (const AliTPCclusterKr & param);
79 virtual ~AliTPCclusterKr();
85 virtual void SetCenter();//set center of the cluster weighted by charge
91 virtual void SetMax(AliTPCvtpr q){fMax=q;}//set values of max. in cluster
94 virtual void SetADCcluster(Int_t q){fADCcluster=q;}
97 virtual void SetSec(Short_t q){fSec=q;}
100 virtual void SetNPads(Short_t q){fNPads=q;}
103 virtual void SetNRows(Short_t q){fNRows=q;}
106 virtual void SetSize(){fSize=fCluster->GetEntriesFast();}
109 virtual void SetCenterX(Double_t q){fCenterX=q;}
112 virtual void SetCenterY(Double_t q){fCenterY=q;}
115 virtual void SetCenterT(Double_t q){fCenterT=q;}
121 virtual void SetTimebins1D(Short_t q){fTimebins1D=q;}
124 virtual void SetPads1D(Short_t q){fPads1D=q;}
127 virtual void Set1D();
130 virtual void SetPadRMS(Double_t q){fPadRMS=q;}
133 virtual void SetRowRMS(Double_t q){fRowRMS=q;}
136 virtual void SetTimebinRMS(Double_t q){fTimebinRMS=q;}
139 virtual void SetPadRMS();
142 virtual void SetRowRMS();
145 virtual void SetTimebinRMS();
148 virtual void SetRMS();
151 virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }
152 virtual void SetRun(UInt_t run){ fRun = run; }
155 //void AddDigitToCluster(AliTPCvtpr *q){fCluster.push_back(q);}
158 virtual void AddDigitToCluster(AliTPCvtpr *q){
161 fCluster->AddLast(q);
164 //fCluster->Compress();
173 AliTPCvtpr GetMax() const {return fMax;}
176 Int_t GetADCcluster() const {return fADCcluster;}
179 Short_t GetSec() const {return fSec;}
182 Short_t GetNPads() const {return fNPads;}
185 Short_t GetNRows() const {return fNRows;}
188 Short_t GetSize() const {return fSize;}
194 Short_t GetTimebins1D(){return fTimebins1D;}
197 Short_t GetPads1D(){return fPads1D;}
200 Double_t GetPadRMS(){return fPadRMS;}
203 Double_t GetRowRMS(){return fRowRMS;}
206 Double_t GetTimebinRMS(){return fTimebinRMS;}
212 Double_t GetCenterX() const {return fCenterX;}
215 Double_t GetCenterY() const {return fCenterY;}
218 Double_t GetCenterT() const {return fCenterT;}
221 AliTPCvtpr *GetDigitFromCluster(Int_t i) const {return (AliTPCvtpr*)fCluster->At(i);}
224 UInt_t GetTimeStamp() const {return fTimeStamp;}
225 UInt_t GetRun() const {return fRun;}
234 AliTPCvtpr fMax;//max (ADC,timebin,pad,row) in cluster
237 Int_t fADCcluster; //ADC of cluster
240 Short_t fSec; //sector of the cluster
243 Short_t fNPads; //number of pads in cluster
246 Short_t fNRows; //number of rows in cluster or row max - min
252 Short_t fTimebins1D; //Timebin max - min
255 Short_t fPads1D; //Pad max - min
258 Double_t fPadRMS; //Pad RMS
261 Double_t fRowRMS; //Row RMS
264 Double_t fTimebinRMS; //Timebin RMS
270 Short_t fSize; //size of vector
273 Double_t fCenterX;// X coordinate of the cluster center in cm
276 Double_t fCenterY;// Y coordinate of the cluster center in cm
279 Double_t fCenterT;// time coordinate of the cluster center in timebins
282 //std::vector< AliTPCvtpr*> fCluster;//cluster contents(adc,nt,np,nr)
285 TObjArray *fCluster;//cluster contents(adc,nt,np,nr)
288 UInt_t fTimeStamp; //time stamp from event header
289 UInt_t fRun; //run from event header
295 ClassDef(AliTPCclusterKr,8) // Time Projection Chamber Kr clusters