]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackingChamber.h
Added macros for production using Geant4. 3 different physics lists can be used:...
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackingChamber.h
index be945fd69d8d57db3d398ee6b550d24cab10938e..bc03336fa1ed0620a32c23f9cf93876d7e00ba8e 100644 (file)
@@ -2,7 +2,7 @@
 #define ALITRDTRACKINGCHAMBER_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: AliTRDtrackingChamber.h 22646 2007-11-29 18:13:40Z cblume $ */
 
 #include "AliTRDchamberTimeBin.h"
 #endif
 
-class AliTRDgeometry;
 
-class AliTRDtrackingChamber
+#ifndef ALITRDSEEDV1_H
+#include "AliTRDseedV1.h"
+#endif
+
+class AliTRDgeometry;
+class AliTRDReconstructor;
+class AliTRDtrackingChamber : public TObject
 {
 
 public:
-       enum{
-               kNTimeBins = 35
-       };
-       AliTRDtrackingChamber(Int_t det);
-       virtual ~AliTRDtrackingChamber(){}
-       
-       Bool_t   Build(AliTRDgeometry *geo);
-  void     Clear(const Option_t *opt = 0x0);
-       Int_t    GetDetector() const {return fDetector;}
-       Int_t    GetNClusters() const;
-       Double_t GetQuality(Int_t ntb);
-       AliTRDchamberTimeBin *GetSeedingLayer(AliTRDgeometry *geo);
-       Float_t  GetX()        const {return fX0;}
-       AliTRDchamberTimeBin* GetTB(int tb) {return tb >= 0 && tb < kNTimeBins ? &fTB[tb] : 0x0;}
-       void     InsertCluster(AliTRDcluster *c, Int_t index);
-       
+  AliTRDtrackingChamber();
+  virtual ~AliTRDtrackingChamber(){}
+  
+  void     Bootstrap(const AliTRDReconstructor *rec);
+  Bool_t   Build(AliTRDgeometry *const geo);
+  void     Clear(const Option_t *opt = NULL);
+  Int_t    GetDetector() const { return fDetector;}
+  Int_t    GetNClusters() const;
+  Double_t GetQuality();
+  Bool_t   GetSeedingLayer(AliTRDchamberTimeBin *&layer, AliTRDgeometry * const geo, const AliTRDReconstructor *rec);
+  Float_t  GetX()        const {return fX0;}
+  AliTRDchamberTimeBin* GetTB(int tb) {return tb >= 0 && tb < AliTRDseedV1::kNtb ? &fTB[tb] : NULL;}
+  Float_t  GetExB() const      { return fExB;}
+  Float_t  GetVD() const       { return fVD;}
+  Float_t  GetT0() const       { return fT0;}
+  Float_t  GetS2PRF() const    { return  fS2PRF;}
+  Float_t  GetDiffL() const    { return  fDiffL;}
+  Float_t  GetDiffT() const    { return  fDiffT;}
+
+  void     Init(Int_t det);
+  void     InsertCluster(AliTRDcluster *c, Int_t index, Bool_t hlt=kFALSE);
+  
+  void     Print(Option_t *opt = NULL) const;
+
+  void     SetOwner();
+  void     Update();
 
 private:
-       Int_t         fDetector;  // detector number
-       Float_t       fX0;        // approximate position of the pad plane
-       
-       AliTRDchamberTimeBin fTB[kNTimeBins];    // time bins 
-       
-       
-       ClassDef(AliTRDtrackingChamber, 1)  // TRD tracker container for one chamber
+  Int_t         fDetector;  // detector number
+  Float_t       fX0;        // radial position of the pad plane
+  Float_t       fExB;       // tg(a_L) for chamber
+  Float_t       fVD;        // drift velocity for chamber
+  Float_t       fT0;        // time 0 for chamber
+  Float_t       fS2PRF;     // sigma^2 PRF for xd->0 and phi=a_L 
+  Float_t       fDiffL;     // longitudinal diffusion coefficient
+  Float_t       fDiffT;     // transversal diffusion coefficient
+  
+  AliTRDchamberTimeBin fTB[AliTRDseedV1::kNtb];    // time bins 
+  
+  
+  ClassDef(AliTRDtrackingChamber, 2)  // TRD tracker container for one chamber
 };
 
 #endif  // ALITRDTRACKINGCHAMBER_H