LCOV - code coverage report
Current view: top level - MUON/MUONrec - AliMUONTrackHitPattern.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2016-06-14 17:26:59 Functions: 3 6 50.0 %

          Line data    Source code
       1             : #ifndef ALIMUONTRACKHITPATTERN_H
       2             : #define ALIMUONTRACKHITPATTERN_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             : 
       8             : /// \ingroup rec
       9             : /// \class AliMUONTrackHitPattern
      10             : /// \brief Class for the MUON track hit pattern
      11             : ///
      12             : //  Author: Diego Stocco
      13             : 
      14             : #include <TObject.h>
      15             : //#include <TObjArray.h>
      16             : 
      17             : class AliMUONVTrackStore;
      18             : class AliMUONVTriggerStore;
      19             : class AliMUONVTriggerTrackStore;
      20             : class AliMUONTrackParam;
      21             : class AliMUONGeometryTransformer;
      22             : class AliMUONVDigitStore;
      23             : class AliMUONTriggerTrack;
      24             : class AliMUONTrack;
      25             : class AliMUONRecoParam;
      26             : class AliMUONTriggerUtilities;
      27             : class AliMpPad;
      28             : class TVector3;
      29             : class TArrayI;
      30             : 
      31             : class AliMUONTrackHitPattern : public TObject 
      32             : {
      33             : public:
      34             : 
      35             :   AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam,
      36             :                          const AliMUONGeometryTransformer& transformer,
      37             :                          const AliMUONVDigitStore& digitStore,
      38             :                          const AliMUONTriggerUtilities* triggerUtilities);
      39             :   virtual ~AliMUONTrackHitPattern(); // Destructor
      40             : 
      41             :   void ExecuteValidation(const AliMUONVTrackStore& trackStore,
      42             :                          const AliMUONVTriggerTrackStore& triggerTrackStore,
      43             :                          const AliMUONVTriggerStore& triggerStore) const;
      44             :   
      45             :   AliMUONTriggerTrack* MatchTriggerTrack(AliMUONTrack* track,
      46             :                                          AliMUONTrackParam& trackParam,
      47             :                                          const AliMUONVTriggerTrackStore& triggerTrackStore,
      48             :                                          const AliMUONVTriggerStore& triggerStore) const;
      49             :   
      50             :   UInt_t GetHitPattern(const AliMUONTrackParam& trackParam, Bool_t isTriggerTrack) const;
      51             :   
      52             :   UInt_t GetHitPattern(const AliMUONTriggerTrack* matchedTriggerTrack) const; // obsolete
      53             :   UInt_t GetHitPattern(AliMUONTrackParam* trackParam) const; // obsolete
      54             : 
      55             : protected:
      56             :   void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const;
      57             :   
      58             :   Int_t GetTrackParamAtChamber(const AliMUONTrackParam& inputTrackParam, Int_t chamber,
      59             :                                TObjArray& trackParamList, TArrayI& foundDetElemId, TObjArray& padsFromPos) const;
      60             :   
      61             :   Bool_t FindMatchingPads(const AliMUONTrackParam* trackParam,
      62             :                           TArrayI& matchedDetElemId, TObjArray& pads,
      63             :                           const AliMUONVDigitStore& digitStore, Bool_t isTriggerTrack) const;
      64             :   
      65             :   Bool_t PosInDetElemIdLocal(TVector3& localCoor, const TVector3& globalPoint1, const TVector3& globalPoint2, Int_t detElemId) const;
      66             :   
      67             :   /// Return reco parameters
      68        1136 :   const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; }
      69             :   
      70             :   // THE FOLLOWING METHODS ARE OBSOLETE
      71             :   
      72             :   // Methods for hit pattern from tracker track
      73             :   void FindPadMatchingTrack(const AliMUONTrackParam& trackParam,
      74             :                             Bool_t isMatch[2], Int_t iChamber) const;
      75             : 
      76             :   Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad,
      77             :                              Float_t dpx, Float_t dpy, 
      78             :                              const AliMUONTrackParam& trackParam) const;
      79             : 
      80             :   // Methods for hit pattern from matched trigger track
      81             :   Bool_t PerformTrigTrackMatch(UInt_t &pattern, const AliMUONTriggerTrack* matchedTrigTrack) const; // obsolete
      82             :   
      83             :   Bool_t FindPadMatchingTrig(const TVector3& vec11, const TVector3& vec21, Int_t matchedDetElemId[2], TObjArray& matchedPads) const; // obsolete
      84             :   
      85             :   Float_t PadMatchTrack(const AliMpPad& pad, const TVector3& trackPosAtPad) const; // obsolete
      86             :   
      87             :   Int_t DetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t foundDetElemId[2]) const; // obsolete
      88             :   
      89             :   Bool_t PadsFromPos(const TVector3& vec11, const TVector3& vec21, Int_t detElemId, TObjArray& pads) const; // obsolete
      90             :   
      91             :   
      92             :   Bool_t IsCloseToAccEdge(TObjArray& pads, Int_t detElemId, Float_t coor[2]) const; // obsolete
      93             :   
      94             :   Bool_t IsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode, const TVector3& vec11, const TVector3& vec21) const; // obsolete
      95             :   
      96             : private:
      97             :   /// Not implemented
      98             :   AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs);
      99             :   /// Not implemented
     100             :   AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs);
     101             : 
     102             :   const AliMUONRecoParam* fkRecoParam; //!<! pointer to reco parameters
     103             :   const AliMUONGeometryTransformer& fkTransformer; //!<! geometry transformer
     104             :   const AliMUONVDigitStore& fkDigitStore; //!<! digitStore
     105             :   const AliMUONTriggerUtilities* fkTriggerUtilities; //!<! trigger utilities for mapping
     106             : 
     107             :   const Float_t fkMaxDistance; //!<! Maximum distance for reference // obsolete
     108             :   
     109        1358 :   ClassDef(AliMUONTrackHitPattern, 0) // MUON track hit pattern
     110             : };
     111             : 
     112             : #endif

Generated by: LCOV version 1.11