]>
Commit | Line | Data |
---|---|---|
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 | virtual ~AliTRDtrackingSector(){;} | |
33 | ||
34 | void Clear(const Option_t *opt = NULL); | |
35 | Int_t GetNChambers() const { return fN; } | |
36 | Double_t GetX(Int_t pl) const { return pl >=0 && pl < AliTRDgeometry::kNlayer ? fX0[pl] : 0.; } | |
37 | 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 | Int_t GetSector() const {return fSector;} | |
41 | ||
42 | void Init(const AliTRDReconstructor *rec); | |
43 | void Print(Option_t *opt = NULL) const; | |
44 | ||
45 | 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 | ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector | |
62 | }; | |
63 | ||
64 | ||
65 | #endif // ALITRDTRACKINGSECTOR_H | |
66 |