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