]>
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" | |
f5b043b1 | 15 | #include "AliTPCclusterInfo.h" |
05da1b4e | 16 | #include <AliTrackPointArray.h> |
5a10f09e | 17 | |
1c53abe2 | 18 | //_____________________________________________________________________________ |
19 | class AliTPCclusterMI : public AliCluster { | |
20 | public: | |
d101caf3 | 21 | AliTPCclusterMI(); |
03fe1804 | 22 | AliTPCclusterMI(const AliTPCclusterMI & cluster); |
23 | AliTPCclusterMI &operator = (const AliTPCclusterMI & cluster); //assignment operator | |
2f32844a | 24 | AliTPCclusterMI(Int_t *lab, Float_t *hit); |
03fe1804 | 25 | virtual ~AliTPCclusterMI(); |
f5b043b1 | 26 | virtual void Clear(const Option_t*) { delete fInfo; fInfo=0;} |
1c53abe2 | 27 | virtual Bool_t IsSortable() const; |
28 | virtual Int_t Compare(const TObject* obj) const; | |
7fd61510 | 29 | inline void Use(Int_t inc=10); |
508541c7 | 30 | virtual Int_t GetDetector() const {return fDetector;} |
31 | virtual Int_t GetRow() const {return fRow;} | |
1ac29fc4 | 32 | virtual void SetDetector(Int_t detector); |
508541c7 | 33 | virtual void SetRow(Int_t row){fRow = (UChar_t)(row%256);} |
03fe1804 | 34 | virtual void SetTimeBin(Float_t timeBin){ fTimeBin= timeBin;} |
35 | virtual void SetPad(Float_t pad){ fPad = pad;} | |
508541c7 | 36 | // |
6c024a0e | 37 | void SetQ(Float_t q) {fQ=(UShort_t)q;} |
1c53abe2 | 38 | void SetType(Char_t type) {fType=type;} |
6c024a0e | 39 | void SetMax(UShort_t max) {fMax=max;} |
7fd61510 | 40 | Int_t IsUsed(Int_t th=10) const {return (fUsed>=th) ? 1 : 0;} |
1c53abe2 | 41 | Float_t GetQ() const {return TMath::Abs(fQ);} |
42 | Float_t GetMax() const {return fMax;} | |
43 | Char_t GetType()const {return fType;} | |
03fe1804 | 44 | Float_t GetTimeBin() const { return fTimeBin;} |
45 | Float_t GetPad() const { return fPad;} | |
46 | AliTPCclusterInfo * GetInfo() const { return fInfo;} | |
b127a65f | 47 | void SetInfo(AliTPCclusterInfo * info); |
5a10f09e | 48 | // |
49 | AliTPCclusterMI* MakeCluster(AliTrackPoint* point); | |
32438f4e | 50 | AliTrackPoint* MakePoint(); |
e83fd282 | 51 | static void SetGlobalTrackPoint(const AliCluster &cl, AliTrackPoint &point); |
52 | ||
1c53abe2 | 53 | private: |
e32b09f8 | 54 | AliTPCclusterInfo * fInfo; // pointer to the cluster debug info |
55 | Float_t fTimeBin; //time bin coordinate | |
56 | Float_t fPad; //pad coordinate | |
1c53abe2 | 57 | Short_t fQ ; //Q of cluster (in ADC counts) |
1c53abe2 | 58 | Short_t fMax; //maximal amplitude in cluster |
e32b09f8 | 59 | Char_t fType; //type of the cluster 0 means golden |
7fd61510 | 60 | Char_t fUsed; //counter of usage |
508541c7 | 61 | UChar_t fDetector; //detector number |
62 | UChar_t fRow; //row number number | |
76dc9fe0 | 63 | ClassDef(AliTPCclusterMI,5) // Time Projection Chamber clusters |
1c53abe2 | 64 | }; |
65 | ||
7fd61510 | 66 | void AliTPCclusterMI::Use(Int_t inc) |
67 | { | |
68 | if (inc>0) fUsed+=inc; | |
69 | else | |
70 | fUsed=0; | |
71 | } | |
72 | ||
1c53abe2 | 73 | |
74 | ||
75 | #endif | |
76 | ||
77 |