]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackerV1.h
Updating info for ACORDE and TRD
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackerV1.h
index f782e329ab241c674401ed0f20946103191f9392..882b805b35113d58aa6cc6200392c97b6045194d 100644 (file)
@@ -58,7 +58,7 @@ public:
     kOwner            = BIT(14) // owner of clusters
    ,kRemoveContainers = BIT(15) // delete containers after usage
   };
-  enum{
+  enum ETRDtrackerV1const {
     kMaxLayersPerSector   = 1000
     , kMaxTimeBinIndex    = 216
     , kTrackingSectors    = 18
@@ -68,13 +68,20 @@ public:
     , kMaxTracksStack     = 100
     , kNConfigs           = 15
   };
-  AliTRDtrackerV1(AliTRDReconstructor *rec = NULL);
+  enum ETRDtrackerV1BetheBloch {
+     kGeant = 0
+    ,kSolid
+    ,kGas
+  };
+  AliTRDtrackerV1(const AliTRDReconstructor *rec = NULL);
   virtual ~AliTRDtrackerV1();
   
   //temporary
   AliTRDtrackingSector* GetTrackingSector(Int_t sec) {return &fTrSec[sec];}
   
   Int_t           Clusters2Tracks(AliESDEvent *esd);
+  static ETRDtrackerV1BetheBloch
+                  GetBetheBloch()            { return fgBB;}
   AliCluster*     GetCluster(Int_t index) const;
   AliTRDseedV1*   GetTracklet(Int_t index) const;
   AliKalmanTrack* GetTrack(Int_t index) const;
@@ -100,6 +107,8 @@ public:
 
   Bool_t          IsClustersOwner() const    { return TestBit(kOwner);}
   Bool_t          HasRemoveContainers() const    { return TestBit(kRemoveContainers);}
+
+  static void     SetBetheBloch(ETRDtrackerV1BetheBloch bb) {fgBB = bb;}
   void            SetClustersOwner(Bool_t own=kTRUE) {SetBit(kOwner, own); if(!own) fClusters = NULL;}
   void            SetRemoveContainers(Bool_t rm=kTRUE) {SetBit(kRemoveContainers, rm);}
 
@@ -157,7 +166,7 @@ public:
     private:
       AliTRDtrackFitterRieman(const AliTRDtrackFitterRieman &);
       AliTRDtrackFitterRieman &operator=(const AliTRDtrackFitterRieman &);
-      void UpdateFitters(AliTRDseedV1 * const tracklet);
+      void UpdateFitters(const AliTRDseedV1 * const tracklet);
       Bool_t CheckAcceptable(Double_t offset, Double_t slope);
       Double_t CalculateReferenceX();
 
@@ -180,7 +189,7 @@ protected:
   static Float_t CalculateChi2Z(const AliTRDseedV1 *tracklets, Double_t offset, Double_t slope, Double_t xref);
   Int_t          Clusters2TracksSM(Int_t sector, AliESDEvent *esd);
   Int_t          Clusters2TracksStack(AliTRDtrackingChamber **stack, TClonesArray * const esdTrackList);
-  AliTRDseedV1*  GetTracklet(AliTRDtrackV1 *const trk, Int_t plane, Int_t &idx);
+  AliTRDseedV1*  GetTracklet(const AliTRDtrackV1 *const trk, Int_t plane, Int_t &idx);
   Bool_t         GetTrackPoint(Int_t index, AliTrackPoint &p) const;   
   Float_t        GetR4Layer(Int_t ly) const { return fR[ly];}
   Int_t          MakeSeeds(AliTRDtrackingChamber **stack, AliTRDseedV1 * const sseed, const Int_t * const ipar);
@@ -218,7 +227,8 @@ private:
   AliTRDchamberTimeBin *fSeedTB[kNSeedPlanes]; // seeding time bin planes
   Int_t                fSieveSeeding;                   //! Seeding iterator
   Int_t                fEventInFile;                    //! event in file being tracked (debug purposes)
-  
+
+  static ETRDtrackerV1BetheBloch fgBB;                  // Bethe Bloch method
   static const Double_t fgkX0[kNPlanes];                // default values for the position of anode wire
   static Int_t         fgNTimeBins;                     // Timebins per plane in track prolongation 
   static TLinearFitter *fgTiltedRieman;                 //  Fitter for the tilted Rieman fit without vertex constriant