]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ITS/UPGRADE/ITSUpgradeRec/AliITSURecoSens.h
ITS UPGRADE
[u/mrichter/AliRoot.git] / ITS / UPGRADE / ITSUpgradeRec / AliITSURecoSens.h
... / ...
CommitLineData
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:
17 //
18 enum {kLeft=BIT(1),kRight=BIT(2),kUp=BIT(3),kDown=BIT(4)};
19 //
20 AliITSURecoSens(Int_t id=0);
21 AliITSURecoSens(const AliITSURecoSens &source);
22 virtual ~AliITSURecoSens() {}
23 AliITSURecoSens& operator=(const AliITSURecoSens &source);
24 //
25 Int_t GetID() const {return (int)GetUniqueID();}
26 Int_t CheckCoverage(double phi, double z) const;
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 //
34 Int_t GetNClusters() const {return fNClusters;}
35 Int_t GetFirstClusterId() const {return fFirstClusterId;}
36 //
37 void SetID(Int_t i) {SetUniqueID(i);}
38 void SetXTF(double v) {fXTF = v;}
39 void SetPhiTF(double v) {fPhiTF = v;}
40 void SetBoundaries(double phiMn,double phiMx, double zMn, double zMx);
41 //
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 //
48 virtual void Print(Option_t* option = "") const;
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 //
54 protected:
55 Int_t fNClusters; // number of clusters
56 Int_t fFirstClusterId; // index of the 1st cluster in the layer's clusters array
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
61 Double_t fZMin; // lab & trk Z min
62 Double_t fZMax; // lab & trk Z max
63 //
64 ClassDef(AliITSURecoSens,1); // helper for sensor data used in reco
65};
66
67
68#endif