The present commit corresponds to an important change in the way the
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingSector.h
CommitLineData
eb38ed55 1#ifndef ALITRDTRACKINGSECTOR_H
2#define ALITRDTRACKINGSECTOR_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
349f5eeb 5* See cxx source for full Copyright notice */
eb38ed55 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
349f5eeb 20#ifndef ALITRDGEOMETRY_H
21#include "AliTRDgeometry.h"
eb38ed55 22#endif
23
b0a48c4d 24class AliTRDCalDet;
3a039a31 25class AliTRDReconstructor;
b0a48c4d 26class AliTRDtrackingChamber;
eb38ed55 27class AliTRDtrackingSector
28{
29
30public:
349f5eeb 31 AliTRDtrackingSector();
32 AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs);
33 virtual ~AliTRDtrackingSector(){;}
34
eb38ed55 35 void Clear(const Option_t *opt = 0x0);
349f5eeb 36 Int_t GetNChambers() const { return fN; }
37 Double_t GetX(Int_t pl) const { return pl >=0 && pl < AliTRDgeometry::kNlayer ? fX0[pl] : 0.; }
38 AliTRDtrackingChamber* GetChamber(Int_t i) const { return i>=0 && i < fN ? fChamber[i] : 0x0; }
39 AliTRDtrackingChamber* GetChamber(Int_t stack, Int_t plane, Bool_t build = kFALSE);
40 AliTRDtrackingChamber** GetStack(Int_t stack);
41 Int_t GetSector() const {return fSector;}
2985ffcb 42
349f5eeb 43 void Init(const AliTRDReconstructor *rec, const AliTRDCalDet *cal);
6c207d50 44 void Print(Option_t *opt = 0x0) const;
349f5eeb 45
46 void SetGeometry(AliTRDgeometry *geo) {fGeom = geo;}
47
eb38ed55 48private:
349f5eeb 49 AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/);
50 AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/);
2985ffcb 51
349f5eeb 52
53private:
54 Char_t fSector; // Sector# in AliTRDgeometry
55 UChar_t fN; // Total number of chambers allocated
56 Char_t fIndex[AliTRDgeometry::kNdets]; // indexes of allocated chambers
57 Float_t fX0[AliTRDgeometry::kNlayer]; // average position of pad plane for each plane
58 AliTRDgeometry *fGeom; // Geometry
59 AliTRDtrackingChamber *fChamber[AliTRDgeometry::kNdets];// chambers
60 AliTRDtrackingChamber *fStack[AliTRDgeometry::kNlayer]; //! temporary holding one stack
61
62 ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector
eb38ed55 63};
64
65
66#endif // ALITRDTRACKINGSECTOR_H
67