Some of the coding violations corrected
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterMI.h
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