1 #ifndef ALITPCCLUSTERKR_H
\r
2 #define ALITPCCLUSTERKR_H
\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
4 * See cxx source for full Copyright notice */
\r
6 /* $Id: AliTPCclusterKr.h,v 1.8 2008/01/22 16:07:15 matyja Exp $ */
\r
8 //-------------------------------------------------------
\r
9 // TPC Kr Cluster Class
\r
11 // Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
\r
12 //-------------------------------------------------------
\r
14 #include "AliCluster.h"
\r
15 #include "TObjArray.h"
\r
16 #include "AliTPCvtpr.h"
\r
19 #include "TArrayI.h"
\r
21 //_____________________________________________________________________________
\r
22 class AliTPCclusterKr: public AliCluster{
\r
25 AliTPCclusterKr(const AliTPCclusterKr & param);//copy constructor
\r
26 AliTPCclusterKr &operator = (const AliTPCclusterKr & param);
\r
27 virtual ~AliTPCclusterKr();
\r
29 virtual void SetCenter();//set center of the cluster weighted by charge
\r
31 virtual void SetMax(AliTPCvtpr q){fMax=q;}//set values of max. in cluster
\r
32 virtual void SetADCcluster(Int_t q){fADCcluster=q;}
\r
33 virtual void SetSec(Short_t q){fSec=q;}
\r
34 virtual void SetNPads(Short_t q){fNPads=q;}
\r
35 virtual void SetNRows(Short_t q){fNRows=q;}
\r
36 virtual void SetSize(){fSize=fCluster->GetEntriesFast();}
\r
37 virtual void SetCenterX(Double_t q){fCenterX=q;}
\r
38 virtual void SetCenterY(Double_t q){fCenterY=q;}
\r
39 virtual void SetCenterT(Double_t q){fCenterT=q;}
\r
41 virtual void SetTimebins1D(Short_t q){fTimebins1D=q;}
\r
42 virtual void SetPads1D(Short_t q){fPads1D=q;}
\r
43 virtual void Set1D();
\r
44 virtual void SetPadRMS(Double_t q){fPadRMS=q;}
\r
45 virtual void SetRowRMS(Double_t q){fRowRMS=q;}
\r
46 virtual void SetTimebinRMS(Double_t q){fTimebinRMS=q;}
\r
47 virtual void SetPadRMS();
\r
48 virtual void SetRowRMS();
\r
49 virtual void SetTimebinRMS();
\r
50 virtual void SetRMS();
\r
51 //void AddDigitToCluster(AliTPCvtpr *q){fCluster.push_back(q);}
\r
52 virtual void AddDigitToCluster(AliTPCvtpr *q){
\r
53 fCluster->AddLast(q);
\r
54 //fCluster->Compress();
\r
57 AliTPCvtpr GetMax() const {return fMax;}
\r
58 Int_t GetADCcluster() const {return fADCcluster;}
\r
59 Short_t GetSec() const {return fSec;}
\r
60 Short_t GetNPads() const {return fNPads;}
\r
61 Short_t GetNRows() const {return fNRows;}
\r
62 Short_t GetSize() const {return fSize;}
\r
64 Short_t GetTimebins1D(){return fTimebins1D;}
\r
65 Short_t GetPads1D(){return fPads1D;}
\r
66 Double_t GetPadRMS(){return fPadRMS;}
\r
67 Double_t GetRowRMS(){return fRowRMS;}
\r
68 Double_t GetTimebinRMS(){return fTimebinRMS;}
\r
70 Double_t GetCenterX() const {return fCenterX;}
\r
71 Double_t GetCenterY() const {return fCenterY;}
\r
72 Double_t GetCenterT() const {return fCenterT;}
\r
73 AliTPCvtpr *GetDigitFromCluster(Int_t i) const {return (AliTPCvtpr*)fCluster->At(i);}
\r
76 AliTPCvtpr fMax;//max (ADC,timebin,pad,row) in cluster
\r
77 Int_t fADCcluster; //ADC of cluster
\r
78 Short_t fSec; //sector of the cluster
\r
79 Short_t fNPads; //number of pads in cluster
\r
80 Short_t fNRows; //number of rows in cluster or row max - min
\r
82 Short_t fTimebins1D; //Timebin max - min
\r
83 Short_t fPads1D; //Pad max - min
\r
84 Double_t fPadRMS; //Pad RMS
\r
85 Double_t fRowRMS; //Row RMS
\r
86 Double_t fTimebinRMS; //Timebin RMS
\r
88 Short_t fSize; //size of vector
\r
89 Double_t fCenterX;// X coordinate of the cluster center in cm
\r
90 Double_t fCenterY;// Y coordinate of the cluster center in cm
\r
91 Double_t fCenterT;// time coordinate of the cluster center in timebins
\r
92 //std::vector< AliTPCvtpr*> fCluster;//cluster contents(adc,nt,np,nr)
\r
93 TObjArray *fCluster;//cluster contents(adc,nt,np,nr)
\r
96 ClassDef(AliTPCclusterKr,5) // Time Projection Chamber Kr clusters
\r