ROOT logo
#ifndef ALIITSURECOSENS
#define ALIITSURECOSENS

#include <TObject.h>

///////////////////////////////////////////////////////////////////////
//                                                                   //
//  Class AliITSURecoSens                                            //
//  Interface between the framework and reconstruction for           //
//  single ITS sensor                                                //
//                                                                   //
///////////////////////////////////////////////////////////////////////

class AliITSURecoSens : public TObject
{
 public:
  //
  enum {kLeft=BIT(1),kRight=BIT(2),kUp=BIT(3),kDown=BIT(4)};
  //
  AliITSURecoSens(Int_t id=0);
  AliITSURecoSens(const AliITSURecoSens &source); 
  virtual ~AliITSURecoSens() {}
  AliITSURecoSens& operator=(const AliITSURecoSens &source); 
  //
  Int_t              GetID()                       const {return (int)GetUniqueID();}
  Int_t              CheckCoverage(double phi, double z) const;
  Double_t           GetXTF()                      const {return fXTF;}
  Double_t           GetPhiTF()                    const {return fPhiTF;}
  Double_t           GetPhiMin()                   const {return fPhiMin;}
  Double_t           GetPhiMax()                   const {return fPhiMax;}
  Double_t           GetZMin()                     const {return fZMin;}
  Double_t           GetZMax()                     const {return fZMax;}
  //
  Int_t              GetNClusters()                const {return fNClusters;}
  Int_t              GetFirstClusterId()           const {return fFirstClusterId;}
  //
  void               SetID(Int_t i)                      {SetUniqueID(i);}
  void               SetXTF(double v)                    {fXTF = v;}
  void               SetPhiTF(double v)                  {fPhiTF = v;}
  void               SetBoundaries(double phiMn,double phiMx, double zMn, double zMx);
  //
  void               SetNClusters(Int_t ncl)             {fNClusters = ncl;}
  void               IncNClusters()                      {fNClusters++;}
  void               SetFirstClusterId(Int_t id)         {fFirstClusterId = id;}
  void               ResetClusters(); 
  void               ProcessClusters(Int_t mode=0);
  //
  virtual void       Print(Option_t* option = "")  const;
  //
  virtual Bool_t     IsSortable()                 const {return kTRUE;}
  virtual Int_t	     Compare(const TObject* obj)  const;
  virtual Bool_t     IsEqual(const TObject* obj)  const {return Compare(obj)==0;}
  //
 protected:
  Int_t              fNClusters;                   // number of clusters
  Int_t              fFirstClusterId;              // index of the 1st cluster in the layer's clusters array
  Double_t           fXTF;                         // X in tracking frame
  Double_t           fPhiTF;                       // phi of tracking frame
  Double_t           fPhiMin;                      // lab phi min
  Double_t           fPhiMax;                      // lab phi max
  Double_t           fZMin;                        // lab & trk Z min
  Double_t           fZMax;                        // lab & trk Z max
  //
  ClassDef(AliITSURecoSens,1); // helper for sensor data used in reco
};


#endif
 AliITSURecoSens.h:1
 AliITSURecoSens.h:2
 AliITSURecoSens.h:3
 AliITSURecoSens.h:4
 AliITSURecoSens.h:5
 AliITSURecoSens.h:6
 AliITSURecoSens.h:7
 AliITSURecoSens.h:8
 AliITSURecoSens.h:9
 AliITSURecoSens.h:10
 AliITSURecoSens.h:11
 AliITSURecoSens.h:12
 AliITSURecoSens.h:13
 AliITSURecoSens.h:14
 AliITSURecoSens.h:15
 AliITSURecoSens.h:16
 AliITSURecoSens.h:17
 AliITSURecoSens.h:18
 AliITSURecoSens.h:19
 AliITSURecoSens.h:20
 AliITSURecoSens.h:21
 AliITSURecoSens.h:22
 AliITSURecoSens.h:23
 AliITSURecoSens.h:24
 AliITSURecoSens.h:25
 AliITSURecoSens.h:26
 AliITSURecoSens.h:27
 AliITSURecoSens.h:28
 AliITSURecoSens.h:29
 AliITSURecoSens.h:30
 AliITSURecoSens.h:31
 AliITSURecoSens.h:32
 AliITSURecoSens.h:33
 AliITSURecoSens.h:34
 AliITSURecoSens.h:35
 AliITSURecoSens.h:36
 AliITSURecoSens.h:37
 AliITSURecoSens.h:38
 AliITSURecoSens.h:39
 AliITSURecoSens.h:40
 AliITSURecoSens.h:41
 AliITSURecoSens.h:42
 AliITSURecoSens.h:43
 AliITSURecoSens.h:44
 AliITSURecoSens.h:45
 AliITSURecoSens.h:46
 AliITSURecoSens.h:47
 AliITSURecoSens.h:48
 AliITSURecoSens.h:49
 AliITSURecoSens.h:50
 AliITSURecoSens.h:51
 AliITSURecoSens.h:52
 AliITSURecoSens.h:53
 AliITSURecoSens.h:54
 AliITSURecoSens.h:55
 AliITSURecoSens.h:56
 AliITSURecoSens.h:57
 AliITSURecoSens.h:58
 AliITSURecoSens.h:59
 AliITSURecoSens.h:60
 AliITSURecoSens.h:61
 AliITSURecoSens.h:62
 AliITSURecoSens.h:63
 AliITSURecoSens.h:64
 AliITSURecoSens.h:65
 AliITSURecoSens.h:66
 AliITSURecoSens.h:67
 AliITSURecoSens.h:68