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