Line data Source code
1 : #ifndef ALITRDTRACKINGSECTOR_H
2 : #define ALITRDTRACKINGSECTOR_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /* $Id: AliTRDtrackingSector.h 22646 2007-11-29 18:13:40Z cblume $ */
8 :
9 : ////////////////////////////////////////////////////////////////////////////
10 : // //
11 : // Data container for one TRD supermodule //
12 : // //
13 : // Authors: //
14 : // //
15 : // Marian Ivanov <M.Ivanov@gsi.de> //
16 : // Alex Bercuci <A.Bercuci@gsi.de> //
17 : // //
18 : ////////////////////////////////////////////////////////////////////////////
19 :
20 : #ifndef ALITRDGEOMETRY_H
21 : #include "AliTRDgeometry.h"
22 : #endif
23 :
24 : class AliTRDReconstructor;
25 : class AliTRDtrackingChamber;
26 : class AliTRDtrackingSector
27 : {
28 :
29 : public:
30 : AliTRDtrackingSector();
31 : AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs);
32 144 : virtual ~AliTRDtrackingSector(){;}
33 :
34 : void Clear(const Option_t *opt = NULL);
35 1092 : Int_t GetNChambers() const { return fN; }
36 1152 : Double_t GetX(Int_t pl) const { return pl >=0 && pl < AliTRDgeometry::kNlayer ? fX0[pl] : 0.; }
37 1745 : AliTRDtrackingChamber* GetChamber(Int_t i) const { return i>=0 && i < fN ? fChamber[i] : NULL; }
38 : AliTRDtrackingChamber* GetChamber(Int_t stack, Int_t plane, Bool_t build = kFALSE);
39 : AliTRDtrackingChamber** GetStack(Int_t stack);
40 0 : Int_t GetSector() const {return fSector;}
41 :
42 : void Init(const AliTRDReconstructor *rec);
43 : void Print(Option_t *opt = NULL) const;
44 :
45 0 : void SetGeometry(AliTRDgeometry *const geo) {fGeom = geo;}
46 :
47 : private:
48 : AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/);
49 : AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/);
50 :
51 :
52 : private:
53 : Char_t fSector; // Sector# in AliTRDgeometry
54 : UChar_t fN; // Total number of chambers allocated
55 : Char_t fIndex[AliTRDgeometry::kNdets]; // indexes of allocated chambers
56 : Float_t fX0[AliTRDgeometry::kNlayer]; // average position of pad plane for each plane
57 : AliTRDgeometry *fGeom; // Geometry
58 : AliTRDtrackingChamber *fChamber[AliTRDgeometry::kNdets];// chambers
59 : AliTRDtrackingChamber *fStack[AliTRDgeometry::kNlayer]; //! temporary holding one stack
60 :
61 48 : ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector
62 : };
63 :
64 :
65 : #endif // ALITRDTRACKINGSECTOR_H
66 :
|