]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/UPGRADE/AliITSURecoSens.h
56ed68232fc05d31b26fa7988ce5ed0762c91a70
[u/mrichter/AliRoot.git] / ITS / UPGRADE / AliITSURecoSens.h
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
14 class AliITSURecoSens : public TObject
15 {
16  public:
17   enum {kNghbR,kNghbTR,kNghbT,kNghbTL,kNghbL,kNghbBL,kNghbB,kNghbBR,kNNeighbors}; // neighbors: Top,Left etc
18   //
19   AliITSURecoSens(Int_t id);
20   AliITSURecoSens(const AliITSURecoSens &source); 
21   virtual ~AliITSURecoSens() {}
22   AliITSURecoSens& operator=(const AliITSURecoSens &source); 
23   //
24   Int_t              GetID()                       const {return (int)GetUniqueID();}
25   Double_t           GetXTF()                      const {return fXTF;}
26   Double_t           GetPhiTF()                    const {return fPhiTF;}
27   Double_t           GetPhiMin()                   const {return fPhiMin;}
28   Double_t           GetPhiMax()                   const {return fPhiMax;}
29   Double_t           GetZMin()                     const {return fZMin;}
30   Double_t           GetZMax()                     const {return fZMax;}
31   //
32   Int_t              GetNeighborID(int i)          const {return fNeighbors[i];}
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               SetNeighborID(int i, int id)        {fNeighbors[i] = id;}
41   void               SetBoundaries(double phiMn,double phiMx, double zMn, double zMx);
42   //
43   void               SetNClusters(Int_t ncl)             {fNClusters = ncl;}
44   void               IncNClusters()                      {fNClusters++;}
45   void               SetFirstClusterId(Int_t id)         {fFirstClusterId = id;}
46   void               ResetClusters(); 
47   void               ProcessClusters(Int_t mode=0);
48   //
49   virtual void       Print(Option_t* option = "")  const;
50
51  protected:
52   Int_t              fNeighbors[kNNeighbors];      // id of neighbors  
53   Int_t              fNClusters;                   // number of clusters
54   Int_t              fFirstClusterId;              // index of the 1st cluster in the layer's clusters array
55   Double_t           fXTF;                         // X in tracking frame
56   Double_t           fPhiTF;                       // phi of tracking frame
57   Double_t           fPhiMin;                      // lab phi min
58   Double_t           fPhiMax;                      // lab phi max
59   Double_t           fZMin;                        // lab & trk Z min
60   Double_t           fZMax;                        // lab & trk Z max
61   //
62   ClassDef(AliITSURecoSens,1); // helper for sensor data used in reco
63 };
64
65
66 #endif