modifs for ITSU v1
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSURecoSens.h
CommitLineData
a11ef2e4 1#ifndef ALIITSURECOSENS
2#define ALIITSURECOSENS
3
4#include <TObject.h>
5
6///////////////////////////////////////////////////////////////////////
7// //
8// Class AliITSURecoSens //
9// Interface between the framework and reconstruction for //
10// single ITS sensor //
11// //
12///////////////////////////////////////////////////////////////////////
13
14class AliITSURecoSens : public TObject
15{
16 public:
a11ef2e4 17 //
19ea9736 18 enum {kLeft=BIT(1),kRight=BIT(2),kUp=BIT(3),kDown=BIT(4)};
19 //
a11ef2e4 20 AliITSURecoSens(Int_t id);
21 AliITSURecoSens(const AliITSURecoSens &source);
22 virtual ~AliITSURecoSens() {}
23 AliITSURecoSens& operator=(const AliITSURecoSens &source);
24 //
25 Int_t GetID() const {return (int)GetUniqueID();}
19ea9736 26 Int_t CheckCoverage(const double* impPar) const;
a11ef2e4 27 Double_t GetXTF() const {return fXTF;}
28 Double_t GetPhiTF() const {return fPhiTF;}
29 Double_t GetPhiMin() const {return fPhiMin;}
30 Double_t GetPhiMax() const {return fPhiMax;}
31 Double_t GetZMin() const {return fZMin;}
32 Double_t GetZMax() const {return fZMax;}
33 //
32d38de2 34 Int_t GetNClusters() const {return fNClusters;}
35 Int_t GetFirstClusterId() const {return fFirstClusterId;}
36 //
a11ef2e4 37 void SetID(Int_t i) {SetUniqueID(i);}
38 void SetXTF(double v) {fXTF = v;}
39 void SetPhiTF(double v) {fPhiTF = v;}
a11ef2e4 40 void SetBoundaries(double phiMn,double phiMx, double zMn, double zMx);
41 //
32d38de2 42 void SetNClusters(Int_t ncl) {fNClusters = ncl;}
43 void IncNClusters() {fNClusters++;}
44 void SetFirstClusterId(Int_t id) {fFirstClusterId = id;}
45 void ResetClusters();
46 void ProcessClusters(Int_t mode=0);
47 //
a11ef2e4 48 virtual void Print(Option_t* option = "") const;
5009207f 49 //
50 virtual Bool_t IsSortable() const {return kTRUE;}
51 virtual Int_t Compare(const TObject* obj) const;
52 virtual Bool_t IsEqual(const TObject* obj) const {return Compare(obj)==0;}
53 //
a11ef2e4 54 protected:
32d38de2 55 Int_t fNClusters; // number of clusters
56 Int_t fFirstClusterId; // index of the 1st cluster in the layer's clusters array
a11ef2e4 57 Double_t fXTF; // X in tracking frame
58 Double_t fPhiTF; // phi of tracking frame
59 Double_t fPhiMin; // lab phi min
60 Double_t fPhiMax; // lab phi max
1f9b6041 61 Double_t fZMin; // lab & trk Z min
62 Double_t fZMax; // lab & trk Z max
a11ef2e4 63 //
64 ClassDef(AliITSURecoSens,1); // helper for sensor data used in reco
65};
66
67
68#endif