Make some calculations optional for HLT
[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 ALITRDSEEDV1_H
25 #include "AliTRDseedV1.h"
26 #endif
27
28 class AliTRDCalDet;
29 class AliTRDgeometry;
30 class AliTRDReconstructor;
31 class AliTRDtrackingChamber : public TObject
32 {
33
34 public:
35   AliTRDtrackingChamber();
36   virtual ~AliTRDtrackingChamber(){}
37   
38   void     Bootstrap(const AliTRDReconstructor *rec);
39   Bool_t   Build(AliTRDgeometry *geo, const AliTRDCalDet *cal, Bool_t hlt = kFALSE);
40   void     Clear(const Option_t *opt = 0x0);
41   Int_t    GetDetector() const {return fDetector;}
42   Int_t    GetNClusters() const;
43   Double_t GetQuality();
44   Bool_t   GetSeedingLayer(AliTRDchamberTimeBin *&layer, AliTRDgeometry *geo, const AliTRDReconstructor *rec);
45   Float_t  GetX()        const {return fX0;}
46   AliTRDchamberTimeBin* GetTB(int tb) {return tb >= 0 && tb < AliTRDseedV1::kNtb ? &fTB[tb] : 0x0;}
47   void     InsertCluster(AliTRDcluster *c, Int_t index);
48   
49   void     Print(Option_t *opt = 0x0) const;
50
51   void     SetDetector(Int_t det) { fDetector = det;}
52   void     SetOwner();
53   void     Update();
54
55 private:
56   Int_t         fDetector;  // detector number
57   Float_t       fX0;        // approximate position of the pad plane
58   
59   AliTRDchamberTimeBin fTB[AliTRDseedV1::kNtb];    // time bins 
60   
61   
62   ClassDef(AliTRDtrackingChamber, 1)  // TRD tracker container for one chamber
63 };
64
65 #endif  // ALITRDTRACKINGCHAMBER_H