]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclusterMI.h
- Dipole rotated wr to ALICE coordinate system
[u/mrichter/AliRoot.git] / TPC / AliTPCclusterMI.h
CommitLineData
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 15class AliTPCclusterInfo;
1c53abe2 16//_____________________________________________________________________________
17class AliTPCclusterMI : public AliCluster {
18public:
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 48private:
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 62void 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