X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=TRD%2FAliTRDtrackingSector.h;h=84f56c82a0c67153568094c057e92bf2d73129fc;hp=7e38676d7009af3956e65a2a3c91e83d9f62f98c;hb=93fd278f1ccf1b4dbef5472a77f63cbf2d28b39e;hpb=a819a5f7bddaac1e6625eb9531e9e0734bba8c83 diff --git a/TRD/AliTRDtrackingSector.h b/TRD/AliTRDtrackingSector.h index 7e38676d700..84f56c82a0c 100644 --- a/TRD/AliTRDtrackingSector.h +++ b/TRD/AliTRDtrackingSector.h @@ -2,42 +2,66 @@ #define ALITRDTRACKINGSECTOR_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ +* See cxx source for full Copyright notice */ -/* $Id: AliTRDtrackingSector.h,v */ +/* $Id: AliTRDtrackingSector.h 22646 2007-11-29 18:13:40Z cblume $ */ -#include +//////////////////////////////////////////////////////////////////////////// +// // +// Data container for one TRD supermodule // +// // +// Authors: // +// // +// Marian Ivanov // +// Alex Bercuci // +// // +//////////////////////////////////////////////////////////////////////////// -class AliTRDtimeBin; -class AliTRDgeometry; +#ifndef ALITRDGEOMETRY_H +#include "AliTRDgeometry.h" +#endif -class AliTRDtrackingSector : public TObject { - -// Provides tools to address clusters which lay within one sector +class AliTRDCalDet; +class AliTRDReconstructor; +class AliTRDtrackingChamber; +class AliTRDtrackingSector +{ public: + AliTRDtrackingSector(); + AliTRDtrackingSector(AliTRDgeometry* geo, Int_t gs); + virtual ~AliTRDtrackingSector(){;} + + void Clear(const Option_t *opt = NULL); + Int_t GetNChambers() const { return fN; } + Double_t GetX(Int_t pl) const { return pl >=0 && pl < AliTRDgeometry::kNlayer ? fX0[pl] : 0.; } + AliTRDtrackingChamber* GetChamber(Int_t i) const { return i>=0 && i < fN ? fChamber[i] : NULL; } + AliTRDtrackingChamber* GetChamber(Int_t stack, Int_t plane, Bool_t build = kFALSE); + AliTRDtrackingChamber** GetStack(Int_t stack); + Int_t GetSector() const {return fSector;} + + void Init(const AliTRDReconstructor *rec, const AliTRDCalDet *cal); + void Print(Option_t *opt = NULL) const; + + void SetGeometry(AliTRDgeometry *const geo) {fGeom = geo;} + +private: + AliTRDtrackingSector(const AliTRDtrackingSector &/*t*/); + AliTRDtrackingSector &operator=(const AliTRDtrackingSector &/*t*/); - AliTRDtrackingSector() {fN=0; fTimeBin=0; fGeom=0; fTimeBinSize=0;} - virtual ~AliTRDtrackingSector(); - virtual void SetUp(); - - AliTRDtimeBin& operator[](Int_t i); - Int_t GetNtimeBins() const { return fN; } - Double_t GetX(Int_t tb) const; - Int_t GetTimeBinNumber(Double_t x) const; - Int_t GetTimeBin(Int_t det, Int_t local_tb) const; - Bool_t TECframe(Int_t tb, Double_t y, Double_t z) const; -protected: +private: + Char_t fSector; // Sector# in AliTRDgeometry + UChar_t fN; // Total number of chambers allocated + Char_t fIndex[AliTRDgeometry::kNdets]; // indexes of allocated chambers + Float_t fX0[AliTRDgeometry::kNlayer]; // average position of pad plane for each plane + AliTRDgeometry *fGeom; // Geometry + AliTRDtrackingChamber *fChamber[AliTRDgeometry::kNdets];// chambers + AliTRDtrackingChamber *fStack[AliTRDgeometry::kNlayer]; //! temporary holding one stack - Int_t fN; - AliTRDgeometry *fGeom; // Pointer to TRD geometry - AliTRDtimeBin *fTimeBin; // Pointer to array of AliTRDtimeBin - Float_t fTimeBinSize; // Time bin size in cm - - ClassDef(AliTRDtrackingSector,1) // Provides tools to address clusters which lay within one sector + ClassDef(AliTRDtrackingSector, 1) // TRD tracker container for one sector +}; -}; +#endif // ALITRDTRACKINGSECTOR_H -#endif