]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDtrackingChamber.h
- fix cluster ownership problems in time bin container
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingChamber.h
1 #ifndef ALITRDTRACKINGCHAMBER_H
2 #define ALITRDTRACKINGCHAMBER_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: AliTRDtrackingChamber.h 22646 2007-11-29 18:13:40Z cblume $ */
8
9 ////////////////////////////////////////////////////////////////////////////
10 //                                                                        //
11 // Data container for one TRD chamber                                     // 
12 //                                                                        // 
13 // Authors:                                                               //
14 //                                                                        //
15 //    Alex Bercuci <A.Bercuci@gsi.de>                                     //
16 //                                                                        // 
17 ////////////////////////////////////////////////////////////////////////////
18
19 #ifndef ALITRDCHAMBERTIMEBIN_H
20 #include "AliTRDchamberTimeBin.h"
21 #endif
22
23
24 #ifndef ALITRDSEED_H
25 #include "AliTRDseed.h"
26 #endif
27
28 class AliTRDCalDet;
29 class AliTRDgeometry;
30 class AliTRDReconstructor;
31 class AliTRDtrackingChamber : public TObject
32 {
33
34 public:
35   enum{
36     kNTimeBins = AliTRDseed::knTimebins
37   };
38   AliTRDtrackingChamber();
39   virtual ~AliTRDtrackingChamber(){}
40   
41   void     Bootstrap(const AliTRDReconstructor *rec);
42   Bool_t   Build(AliTRDgeometry *geo, const AliTRDCalDet *cal, Bool_t hlt = kFALSE);
43   void     Clear(const Option_t *opt = 0x0);
44   Int_t    GetDetector() const {return fDetector;}
45   Int_t    GetNClusters() const;
46   Double_t GetQuality();
47   Bool_t   GetSeedingLayer(AliTRDchamberTimeBin *&layer, AliTRDgeometry *geo, const AliTRDReconstructor *rec);
48   Float_t  GetX()        const {return fX0;}
49   AliTRDchamberTimeBin* GetTB(int tb) {return tb >= 0 && tb < kNTimeBins ? &fTB[tb] : 0x0;}
50   void     InsertCluster(AliTRDcluster *c, Int_t index);
51   
52   void     Print(Option_t *opt = 0x0) const;
53
54   void     SetDetector(Int_t det) { fDetector = det;}
55   void     SetOwner();
56
57 private:
58   Int_t         fDetector;  // detector number
59   Float_t       fX0;        // approximate position of the pad plane
60   
61   AliTRDchamberTimeBin fTB[kNTimeBins];    // time bins 
62   
63   
64   ClassDef(AliTRDtrackingChamber, 1)  // TRD tracker container for one chamber
65 };
66
67 #endif  // ALITRDTRACKINGCHAMBER_H