6 #include "AliITSURecoLayer.h"
10 ///////////////////////////////////////////////////////////////////////
12 // Class AliITSURecoDet //
13 // Interface between the framework and reconstruction for ITS //
15 ///////////////////////////////////////////////////////////////////////
18 class AliITSURecoDet : public TNamed
23 AliITSURecoDet(AliITSUGeomTGeo* geom, const char* name="");
24 virtual ~AliITSURecoDet();
26 Double_t GetRMin() const {return fRMin;}
27 Double_t GetRMax() const {return fRMax;}
28 Double_t GetRITSTPCRef() const {return fRITSTPCRef;}
29 Int_t GetNLayers() const {return fNLayers;}
30 Int_t GetNLayersActive() const {return fNLayersActive;}
31 Int_t GetLrIDActive(Int_t lrActID) const;
32 Int_t FindLastLayerID(Double_t r, int dir) const;
33 Int_t FindFirstLayerID(Double_t r, int dir) const;
34 AliITSURecoLayer* GetLayer(Int_t i) const;
35 AliITSURecoLayer* GetLayerActive(Int_t i) const;
36 AliITSUGeomTGeo* GetGeom() const {return fGeom;}
38 void SetRMin(Double_t r) {fRMin = r;}
39 void SetRMax(Double_t r) {fRMax = r;}
40 void SetRITSTPCRef(Double_t r) {fRITSTPCRef = r;}
42 void AddLayer(const AliITSURecoLayer* lr);
44 void ProcessClusters(Int_t mode=0);
45 void CreateClusterArrays();
46 Int_t LoadClusters(TTree* treeRP);
48 virtual void Print(Option_t* option = "") const;
55 Int_t fNLayers; // total number of layers
56 Int_t fNLayersActive; // N of active layers
57 Double_t fRMax; // max R
58 Double_t fRMin; // min R
59 Double_t fRITSTPCRef; // reference radius for ITS/TPC matching check
60 TObjArray fLayers; // layers
61 TObjArray fLayersActive; // active layers
62 AliITSUGeomTGeo* fGeom; // ITS geometry
65 static const Char_t* fgkBeamPipeVolName; // name of the beam pipe volume
68 AliITSURecoDet(const AliITSURecoDet &source);
69 AliITSURecoDet& operator=(const AliITSURecoDet &source);
71 ClassDef(AliITSURecoDet,1); // helper for ITS data in reco
76 //_____________________________________________________________
77 inline Int_t AliITSURecoDet::GetLrIDActive(Int_t lrActID) const
79 // get global layer id from active id
80 return (lrActID<fNLayersActive) ? ((AliITSURecoLayer*)fLayersActive.UncheckedAt(lrActID))->GetID()
81 : GetLayerActive(fNLayersActive-1)->GetID()+1;
84 //_____________________________________________________________
85 inline AliITSURecoLayer* AliITSURecoDet::GetLayer(Int_t i) const
87 // get layer with global id=i
88 return i>=0&&i<fNLayers ? (AliITSURecoLayer*)fLayers.UncheckedAt(i):0;
91 //_____________________________________________________________
92 inline AliITSURecoLayer* AliITSURecoDet::GetLayerActive(Int_t i) const
94 // get layer with activeID=i
95 return i>=0&&i<fNLayersActive ? (AliITSURecoLayer*)fLayersActive.UncheckedAt(i):0;
98 //______________________________________________________
99 inline void AliITSURecoDet::ProcessClusters(Int_t mode)
101 // prepare clsuters for reconstrunction
102 for (int ilr=fNLayersActive;ilr--;) GetLayerActive(ilr)->ProcessClusters(mode);