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