6 #include "AliITSURecoLayer.h"
9 ///////////////////////////////////////////////////////////////////////
11 // Class AliITSURecoDet //
12 // Interface between the framework and reconstruction for ITS //
14 ///////////////////////////////////////////////////////////////////////
17 class AliITSURecoDet : public TNamed
21 AliITSURecoDet(AliITSUGeomTGeo* geom, const char* name="");
22 virtual ~AliITSURecoDet();
24 Double_t GetRMin() const {return fRMin;}
25 Double_t GetRMax() const {return fRMax;}
26 Int_t GetNLayers() const {return fNLayers;}
27 Int_t GetNLayersActive() const {return fNLayersActive;}
28 Int_t GetLrIDActive(Int_t lrActID) const;
29 AliITSURecoLayer* GetLayer(Int_t i) const;
30 AliITSURecoLayer* GetLayerActive(Int_t i) const;
31 AliITSUGeomTGeo* GetGeom() const {return fGeom;}
33 void SetRMin(Double_t r) {fRMin = r;}
34 void SetRMax(Double_t r) {fRMax = r;}
36 void AddLayer(const AliITSURecoLayer* lr);
38 void ProcessClusters(Int_t mode=0);
40 virtual void Print(Option_t* option = "") const;
47 Int_t fNLayers; // total number of layers
48 Int_t fNLayersActive; // N of active layers
49 Double_t fRMax; // max R
50 Double_t fRMin; // min R
51 TObjArray fLayers; // layers
52 TObjArray fLayersActive; // active layers
53 AliITSUGeomTGeo* fGeom; // ITS geometry
56 static const Char_t* fgkBeamPipeVolName; // name of the beam pipe volume
59 AliITSURecoDet(const AliITSURecoDet &source);
60 AliITSURecoDet& operator=(const AliITSURecoDet &source);
62 ClassDef(AliITSURecoDet,1); // helper for ITS data in reco
67 //_____________________________________________________________
68 inline Int_t AliITSURecoDet::GetLrIDActive(Int_t lrActID) const
70 // get global layer id from active id
71 return (lrActID<fNLayersActive) ? ((AliITSURecoLayer*)fLayersActive.UncheckedAt(lrActID))->GetID() : fNLayers;
74 //_____________________________________________________________
75 inline AliITSURecoLayer* AliITSURecoDet::GetLayer(Int_t i) const
77 // get layer with global id=i
78 return i<fNLayers ? (AliITSURecoLayer*)fLayers.UncheckedAt(i):0;
81 //_____________________________________________________________
82 inline AliITSURecoLayer* AliITSURecoDet::GetLayerActive(Int_t i) const
84 // get layer with activeID=i
85 return i<fNLayersActive ? (AliITSURecoLayer*)fLayersActive.UncheckedAt(i):0;
88 //______________________________________________________
89 inline void AliITSURecoDet::ProcessClusters(Int_t mode)
91 // prepare clsuters for reconstrunction
92 for (int ilr=fNLayersActive;ilr--;) GetLayerActive(ilr)->ProcessClusters(mode);