]>
Commit | Line | Data |
---|---|---|
1c53abe2 | 1 | #ifndef ALITPCCLUSTERMI_H |
2 | #define ALITPCCLUSTERMI_H | |
3 | ||
4 | //------------------------------------------------------- | |
5 | // TPC Cluster Class | |
6d171107 | 6 | // Parallel tracking |
1c53abe2 | 7 | // Origin: Marian Ivanov |
8 | //------------------------------------------------------- | |
9 | ||
6d171107 | 10 | /* $Id$ */ |
11 | ||
12 | ||
1c53abe2 | 13 | #include "AliCluster.h" |
14 | #include "TMath.h" | |
03fe1804 | 15 | class AliTPCclusterInfo; |
1c53abe2 | 16 | //_____________________________________________________________________________ |
17 | class AliTPCclusterMI : public AliCluster { | |
18 | public: | |
03fe1804 | 19 | AliTPCclusterMI(Bool_t withInfo=kTRUE); |
20 | AliTPCclusterMI(const AliTPCclusterMI & cluster); | |
21 | AliTPCclusterMI &operator = (const AliTPCclusterMI & cluster); //assignment operator | |
2f32844a | 22 | AliTPCclusterMI(Int_t *lab, Float_t *hit); |
03fe1804 | 23 | virtual ~AliTPCclusterMI(); |
1c53abe2 | 24 | virtual Bool_t IsSortable() const; |
25 | virtual Int_t Compare(const TObject* obj) const; | |
7fd61510 | 26 | inline void Use(Int_t inc=10); |
508541c7 | 27 | virtual Float_t GetX() const { return fX;} |
28 | virtual void SetX(Float_t x) { fX = x;} | |
29 | virtual Int_t GetDetector() const {return fDetector;} | |
30 | virtual Int_t GetRow() const {return fRow;} | |
31 | virtual void SetDetector(Int_t detector){fDetector = (UChar_t)(detector%256);} | |
32 | virtual void SetRow(Int_t row){fRow = (UChar_t)(row%256);} | |
03fe1804 | 33 | virtual void SetTimeBin(Float_t timeBin){ fTimeBin= timeBin;} |
34 | virtual void SetPad(Float_t pad){ fPad = pad;} | |
508541c7 | 35 | // |
6c024a0e | 36 | void SetQ(Float_t q) {fQ=(UShort_t)q;} |
1c53abe2 | 37 | void SetType(Char_t type) {fType=type;} |
6c024a0e | 38 | void SetMax(UShort_t max) {fMax=max;} |
7fd61510 | 39 | Int_t IsUsed(Int_t th=10) const {return (fUsed>=th) ? 1 : 0;} |
1c53abe2 | 40 | Float_t GetQ() const {return TMath::Abs(fQ);} |
41 | Float_t GetMax() const {return fMax;} | |
42 | Char_t GetType()const {return fType;} | |
03fe1804 | 43 | Float_t GetTimeBin() const { return fTimeBin;} |
44 | Float_t GetPad() const { return fPad;} | |
45 | AliTPCclusterInfo * GetInfo() const { return fInfo;} | |
46 | void SetInfo(AliTPCclusterInfo * info) { fInfo = info;} | |
47 | ||
1c53abe2 | 48 | private: |
508541c7 | 49 | Float_t fX; //X position of cluster |
1c53abe2 | 50 | Short_t fQ ; //Q of cluster (in ADC counts) |
51 | Char_t fType; //type of the cluster 0 means golden | |
52 | Short_t fMax; //maximal amplitude in cluster | |
7fd61510 | 53 | Char_t fUsed; //counter of usage |
508541c7 | 54 | UChar_t fDetector; //detector number |
55 | UChar_t fRow; //row number number | |
03fe1804 | 56 | Float_t fTimeBin; //time bin coordinate |
57 | Float_t fPad; //pad coordinate | |
58 | AliTPCclusterInfo * fInfo; // pointer to the cluster debug info | |
59 | ClassDef(AliTPCclusterMI,3) // Time Projection Chamber clusters | |
1c53abe2 | 60 | }; |
61 | ||
7fd61510 | 62 | void AliTPCclusterMI::Use(Int_t inc) |
63 | { | |
64 | if (inc>0) fUsed+=inc; | |
65 | else | |
66 | fUsed=0; | |
67 | } | |
68 | ||
1c53abe2 | 69 | |
70 | ||
71 | #endif | |
72 | ||
73 |