LCOV - code coverage report
Current view: top level - STEER/ESD - AliTrackerBase.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 15 17 88.2 %
Date: 2016-06-14 17:26:59 Functions: 13 20 65.0 %

          Line data    Source code
       1             : #ifndef ALITRACKERBASE_H
       2             : #define ALITRACKERBASE_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id: AliTrackerBase.h 38069 2009-12-24 16:56:18Z belikov $ */
       7             : 
       8             : //-------------------------------------------------------------------------
       9             : //                          class AliTrackerBase
      10             : //        This is the base tracker class, independent on STEER 
      11             : //                      Origin: Marian.Ivanov@cern.ch
      12             : //-------------------------------------------------------------------------
      13             : 
      14             : #include <TObject.h>
      15             : #include <TGeoGlobalMagField.h>
      16             : 
      17             : #include "AliMagF.h"
      18             : 
      19             : class AliExternalTrackParam;
      20             : class AliTrackPoint;
      21             : class AliTrackPointArray;
      22             : 
      23             : class AliTrackerBase : public TObject {
      24             : public:
      25             :   AliTrackerBase();
      26          32 :   virtual ~AliTrackerBase(){}
      27             : 
      28             :   void SetVertex(const Double_t *xyz, const Double_t *ers=0) { 
      29         116 :      fX=xyz[0]; fY=xyz[1]; fZ=xyz[2];
      30         116 :      if (ers) { fSigmaX=ers[0]; fSigmaY=ers[1]; fSigmaZ=ers[2]; } 
      31          58 :   }
      32       20040 :   Double_t GetX() const {return fX;}
      33       20040 :   Double_t GetY() const {return fY;}
      34       54988 :   Double_t GetZ() const {return fZ;}
      35         784 :   Double_t GetSigmaX() const {return fSigmaX;}
      36         784 :   Double_t GetSigmaY() const {return fSigmaY;}
      37         784 :   Double_t GetSigmaZ() const {return fSigmaZ;}
      38             : 
      39          32 :   UInt_t   GetTimeStamp() const {return fTimeStamp;}
      40          32 :   Int_t    GetRunNumber() const {return fRun;}
      41         112 :   void     SetTimeStamp(UInt_t t) {fTimeStamp = t;}
      42         112 :   void     SetRunNumber(int run)  {fRun = run;}
      43             : 
      44             :   static Double_t GetTrackPredictedChi2(AliExternalTrackParam *track,
      45             :                                         Double_t mass, Double_t step, 
      46             :                                   const AliExternalTrackParam *backup);
      47             :   static void UpdateTrack(AliExternalTrackParam&, 
      48             :                           const AliExternalTrackParam&);
      49             :   static 
      50             :   Double_t MeanMaterialBudget(const Double_t *start, const Double_t *end, 
      51             :   Double_t *mparam);
      52             :   static
      53             :   Bool_t PropagateTrackTo(AliExternalTrackParam *track, Double_t x, Double_t m,
      54             :                           Double_t maxStep, Bool_t rotateTo=kTRUE, Double_t maxSnp=0.8, Int_t sign=0, Bool_t addTimeStep=kFALSE, Bool_t correctMaterialBudget=kTRUE);
      55             :   static Int_t PropagateTrackTo2(AliExternalTrackParam *track, Double_t x, Double_t m,
      56             :                           Double_t maxStep, Bool_t rotateTo=kTRUE, Double_t maxSnp=0.8, Int_t sign=0, Bool_t addTimeStep=kFALSE, Bool_t correctMaterialBudget=kTRUE);
      57             :   static Bool_t PropagateTrackToBxByBz(AliExternalTrackParam *track, Double_t x, Double_t m,Double_t maxStep, Bool_t rotateTo=kTRUE, 
      58             :                                        Double_t maxSnp=0.8,Int_t sign=0, Bool_t addTimeStep=kFALSE,Bool_t correctMaterialBudget=kTRUE);  
      59             :   //
      60             :   static Bool_t PropagateTrackParamOnlyToBxByBz(AliExternalTrackParam *track,Double_t xToGo,Double_t maxStep, Bool_t rotateTo=kTRUE, Double_t maxSnp=0.8);
      61             :   static Bool_t PropagateTrackParamOnlyTo(AliExternalTrackParam *track,Double_t xToGo,Double_t maxStep, Bool_t rotateTo=kTRUE, Double_t maxSnp=0.8);
      62             : 
      63             :   static Double_t GetBz(const Double_t *r);
      64             :   static void GetBxByBz(const Double_t r[3], Double_t b[3]);
      65             :   static Double_t GetBz();
      66             :   static Bool_t UniformField();
      67             : 
      68             : 
      69             :   static Double_t MakeC(Double_t x1,Double_t y1,
      70             :                         Double_t x2,Double_t y2,
      71             :                         Double_t x3,Double_t y3);
      72             :   static Double_t MakeSnp(Double_t x1,Double_t y1,
      73             :                         Double_t x2,Double_t y2,
      74             :                         Double_t x3,Double_t y3);
      75             :   static Double_t MakeTgl(Double_t x1,Double_t y1,
      76             :                         Double_t x2,Double_t y2,
      77             :                         Double_t z1,Double_t z2);
      78             :   static Double_t MakeTgl(Double_t x1,Double_t y1,
      79             :                         Double_t x2,Double_t y2,
      80             :                         Double_t z1,Double_t z2,Double_t c);
      81             :   static AliExternalTrackParam *MakeSeed(AliTrackPoint &point0, 
      82             :                                          AliTrackPoint &point1, 
      83             :                                          AliTrackPoint &point2);
      84             :   static Double_t FitTrack(AliExternalTrackParam *trackParam, 
      85             :                            AliTrackPointArray *pointArray, 
      86             :                            Double_t mass, Double_t maxStep);  
      87             :   //
      88             : 
      89             : protected:
      90             :   AliTrackerBase(const AliTrackerBase &atr);
      91             : private:
      92             :   AliTrackerBase & operator=(const AliTrackerBase & atr);
      93             : 
      94             :   Double_t fX;  //X-coordinate of the primary vertex
      95             :   Double_t fY;  //Y-coordinate of the primary vertex
      96             :   Double_t fZ;  //Z-coordinate of the primary vertex
      97             :  
      98             :   Double_t fSigmaX; // error of the primary vertex position in X
      99             :   Double_t fSigmaY; // error of the primary vertex position in Y
     100             :   Double_t fSigmaZ; // error of the primary vertex position in Z
     101             :   UInt_t   fTimeStamp; // event time stamp
     102             :   Int_t    fRun;       //  run number
     103             : 
     104         172 :   ClassDef(AliTrackerBase,2) //base tracker
     105             : };
     106             : 
     107             : //__________________________________________________________________________
     108             : inline Bool_t AliTrackerBase::UniformField()
     109             : {
     110           0 :   AliMagF* fld = (AliMagF*)TGeoGlobalMagField::Instance()->GetField();
     111           0 :   return fld ? fld->IsUniform():kTRUE;
     112             : }
     113             : 
     114             : #endif

Generated by: LCOV version 1.11