]>
Commit | Line | Data |
---|---|---|
eb38ed55 | 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 ROOT_Rtypes | |
21 | #include "Rtypes.h" | |
22 | #endif | |
23 | ||
b0a48c4d | 24 | class AliTRDCalDet; |
eb38ed55 | 25 | class AliTRDgeometry; |
3a039a31 | 26 | class AliTRDReconstructor; |
b0a48c4d | 27 | class AliTRDtrackingChamber; |
eb38ed55 | 28 | class AliTRDtrackingSector |
29 | { | |
30 | ||
31 | public: | |
32 | enum{ | |
33 | kNChambersSector = 30 | |
34 | , kNplane = 6 | |
35 | , kTrackingSectors = 18 | |
36 | }; | |
37 | ||
38 | AliTRDtrackingSector(); | |
2985ffcb | 39 | AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs); |
eb38ed55 | 40 | AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/); |
41 | virtual ~AliTRDtrackingSector(); | |
42 | ||
43 | AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/) { return *this; } | |
44 | ||
45 | void Clear(const Option_t *opt = 0x0); | |
46 | Int_t GetNChambers() const { return fN; } | |
47 | Double_t GetX(Int_t pl) const { return pl >=0 && pl < kNplane ? fX0[pl] : 0.; } | |
48 | AliTRDtrackingChamber* GetChamber(Int_t i) const { return i>=0 && i < fN ? fChamber[i] : 0x0; } | |
49 | AliTRDtrackingChamber* GetChamber(Int_t stack, Int_t plane, Bool_t build = kFALSE); | |
50 | AliTRDtrackingChamber** GetStack(Int_t stack); | |
51 | Int_t GetSector() const {return fSector;} | |
2985ffcb | 52 | |
b0a48c4d | 53 | void Init(const AliTRDReconstructor *rec, const AliTRDCalDet *cal); |
2985ffcb | 54 | void Print(Option_t *opt = 0x0); |
eb38ed55 | 55 | |
56 | void SetGeometry(AliTRDgeometry *geo) {fGeom = geo;} | |
57 | ||
eb38ed55 | 58 | private: |
eb38ed55 | 59 | Char_t fSector; // Sector# in AliTRDgeometry |
60 | UChar_t fN; // Total number of chambers allocated | |
61 | Char_t fIndex[kNChambersSector]; // indexes of allocated chambers | |
62 | Float_t fX0[kNplane]; // average position of pad plane for each plane | |
63 | AliTRDgeometry *fGeom; // Geometry | |
64 | AliTRDtrackingChamber *fChamber[kNChambersSector];// chambers | |
65 | AliTRDtrackingChamber *fStack[kNplane]; //! temporary holding one stack | |
2985ffcb | 66 | |
eb38ed55 | 67 | ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector |
68 | }; | |
69 | ||
70 | ||
71 | #endif // ALITRDTRACKINGSECTOR_H | |
72 |