LCOV - code coverage report
Current view: top level - MUON/MUONrec - AliMUONTriggerTrack.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 19 23 82.6 %
Date: 2016-06-14 17:26:59 Functions: 20 27 74.1 %

          Line data    Source code
       1             : #ifndef ALIMUONTRIGGERTRACK_H
       2             : #define ALIMUONTRIGGERTRACK_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /*$Id$*/
       7             : // Revision of includes 07/05/2004
       8             : 
       9             : /// \ingroup rec
      10             : /// \class AliMUONTriggerTrack
      11             : /// \brief Reconstructed trigger track in ALICE dimuon spectrometer
      12             : /// \author Philippe Crochet
      13             : 
      14             : #include <TObject.h>
      15             : #include <TMatrixD.h>
      16             : #include <TMath.h>
      17             : 
      18             : class AliMUONTrackReconstructor;
      19             : 
      20             : class AliMUONTriggerTrack : public TObject 
      21             : {
      22             :  public:
      23             :     AliMUONTriggerTrack(); // Constructor
      24             :     virtual ~AliMUONTriggerTrack(); // Destructor
      25             :     AliMUONTriggerTrack (const AliMUONTriggerTrack& AliMUONTriggerTrack); // copy constructor
      26             :     AliMUONTriggerTrack& operator=(const AliMUONTriggerTrack& AliMUONTriggerTrack); // assignment operator
      27             :     AliMUONTriggerTrack(Float_t x11, Float_t y11, Float_t z11, Float_t z21,
      28             :                         Float_t slopeX, Float_t slopeY,
      29             :                         Int_t iloTrg, Long_t theGTPattern, Int_t ptCutLevel=1); 
      30             :     
      31             :     virtual void Clear(Option_t* opt = "");
      32             :     
      33             :     // getters
      34             :     
      35             :     /// Return x position of fired Y strip in MC11
      36          88 :     Float_t GetX11()    const {return fx11;}
      37             :     /// Return y position of fired X strip in MC11
      38          88 :     Float_t GetY11()    const {return fy11;}
      39             :     /// Return z position of fired X strip in MC11
      40          88 :     Float_t GetZ11()    const {return fz11;}
      41             :     /// Return z position of fired X strip in MC21
      42           0 :     Float_t GetZ21()    const {return fz21;}
      43             :     /// Return track theta angle in X 
      44           4 :     Float_t GetThetax() const {return TMath::ATan(fSlopeX);}
      45             :     /// Return track theta angle in Y
      46           4 :     Float_t GetThetay() const {return TMath::ATan(fSlopeY);}
      47             :     /// Return track slope in X 
      48          28 :     Float_t GetSlopeX() const {return fSlopeX;}
      49             :     /// Return track slope in Y
      50          84 :     Float_t GetSlopeY() const {return fSlopeY;}
      51             :     /// Return local trigger number
      52          52 :     Int_t   GetLoTrgNum() const {return floTrgNum;}    
      53             : 
      54             :     // setters
      55             :     
      56             :     /// Set x position of fired Y strip in MC11
      57          28 :     void SetX11(Float_t x)     {fx11 = x;}
      58             :     /// Set y position of fired X strip in MC11
      59          28 :     void SetY11(Float_t y)     {fy11 = y;}
      60             :     /// Set z position of fired X strip in MC11
      61          28 :     void SetZ11(Float_t z)     {fz11 = z;}
      62             :     /// Set z position of fired X strip in MC21
      63          28 :     void SetZ21(Float_t z)     {fz21 = z;}
      64             :     /// Set track slope in X 
      65          28 :     void SetSlopeX(Float_t slopeX) {fSlopeX = slopeX;}
      66             :     /// Set track slope in Y
      67          28 :     void SetSlopeY(Float_t slopeY) {fSlopeY = slopeY;}
      68             :     /// Set local trigger number
      69          28 :     void SetLoTrgNum(Int_t loTrgNum) {floTrgNum = loTrgNum;}    
      70             : 
      71             :     /// Set Global trigger pattern  (do not work with static statement) 
      72          28 :     void SetGTPattern(UChar_t pat) {fGTPattern = pat;}    
      73             :     /// Return Global trigger pattern  (do not work with static statement) 
      74           0 :     UChar_t GetGTPattern() const {return fGTPattern;}
      75             : 
      76             :     /// Set word telling which trigger chambers where hit by track
      77          28 :     void     SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh) {fHitsPatternInTrigCh = hitsPatternInTrigCh;}
      78             :     /// Get word telling which trigger chambers where hit by track
      79          28 :     UShort_t GetHitsPatternInTrigCh() const {return fHitsPatternInTrigCh;}
      80             :   
      81             :     /// Set pt cut level
      82           0 :     void  SetPtCutLevel(Int_t ptCutLevel) { fPtCutLevel = ptCutLevel;}
      83             :     /// Get pt cut level
      84           0 :     Int_t GetPtCutLevel() const {return fPtCutLevel;}
      85             : 
      86             :     
      87             :     virtual void Print(Option_t* opt="FULL") const;
      88             : 
      89             :     const TMatrixD& GetCovariances() const;
      90             :     void  SetCovariances(const TMatrixD& covariances);
      91             :     void  SetCovariances(const Double_t matrix[3][3]);
      92             :   
      93             :     Bool_t Match(AliMUONTriggerTrack &track, Double_t sigmaCut) const;
      94             :     
      95             : protected:
      96             :   private:
      97             :   Float_t fx11;    ///< x position of fired Y strip in MC11
      98             :   Float_t fy11;    ///< y position of fired X strip in MC11
      99             :   Float_t fz11;    ///< z position of fired X strip in MC11
     100             :   Float_t fz21;    ///< z position of fired X strip in MC21
     101             :   Float_t fSlopeX; ///< track slope in X   
     102             :   Float_t fSlopeY; ///< track slope in Y
     103             :   Int_t   floTrgNum; ///< local trigger number
     104             :   UChar_t fGTPattern; ///< Global trigger pattern  (do not work with static statement)
     105             :   Int_t   fPtCutLevel;  ///< Trigger pt cut level as in ESDs (1->Apt; 2->Lpt; 3->Hpt)
     106             :   UShort_t fHitsPatternInTrigCh; ///< Word containing info on the hits left in trigger chambers
     107             :   mutable TMatrixD *fCovariances; ///< Covariance matrix of track parameters 
     108             : 
     109          90 :   ClassDef(AliMUONTriggerTrack, 7) // Reconstructed trigger track in ALICE dimuon spectrometer
     110             :     };
     111             :         
     112             : #endif
     113             : 

Generated by: LCOV version 1.11