X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONTrackHitPattern.h;h=167d16465f00a3384d5956b0e5f1de030bcea3a1;hb=d6080682f89d052b457a8971c1c814e0bf00b3a0;hp=cbba0ba0209727046db23cd8b1695d4145343799;hpb=21973f260a5ce7dd5517a7d496b8ab31e5d387b3;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTrackHitPattern.h b/MUON/AliMUONTrackHitPattern.h index cbba0ba0209..167d16465f0 100644 --- a/MUON/AliMUONTrackHitPattern.h +++ b/MUON/AliMUONTrackHitPattern.h @@ -12,20 +12,20 @@ // Author: Diego Stocco #include -#include -#include -#include +//#include class AliMUONVTrackStore; class AliMUONVTriggerStore; class AliMUONVTriggerTrackStore; class AliMUONTrackParam; -class AliMUONDigitMaker; class AliMUONGeometryTransformer; class AliMUONVDigitStore; class AliMUONTriggerTrack; class AliMUONTrack; class AliMUONRecoParam; +class AliMUONTriggerUtilities; +class AliMpPad; +class TVector3; class AliMUONTrackHitPattern : public TObject { @@ -33,7 +33,8 @@ public: AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, const AliMUONGeometryTransformer& transformer, - const AliMUONDigitMaker& digitMaker); + const AliMUONVDigitStore& digitStore, + const AliMUONTriggerUtilities* triggerUtilities); virtual ~AliMUONTrackHitPattern(); // Destructor void ExecuteValidation(const AliMUONVTrackStore& trackStore, @@ -44,81 +45,59 @@ public: AliMUONTrackParam& trackParam, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const; - - UShort_t GetHitPattern(AliMUONTrackParam& trackParam, - AliMUONTriggerTrack* matchedTriggerTrack, - AliMUONVDigitStore& digitStore) const; -protected: - void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const; + UShort_t GetHitPattern(const AliMUONTriggerTrack* matchedTriggerTrack) const; - Bool_t TriggerDigits(const AliMUONVTriggerStore& triggerStore, - AliMUONVDigitStore& digitStore) const; + UShort_t GetHitPattern(AliMUONTrackParam* trackParam) const; - void InitMembers(); - - void SetBit(UShort_t& pattern, Int_t cathode, Int_t chamber) const; - - void AddEffInfo(UShort_t& pattern, Int_t slat, Int_t effType) const; +protected: + void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const; - // Methods for hit pattern from tracker track - void FindPadMatchingTrack(const AliMUONVDigitStore& digitStore, - const AliMUONTrackParam& trackParam, + void FindPadMatchingTrack(const AliMUONTrackParam& trackParam, Bool_t isMatch[2], Int_t iChamber) const; Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad, - Float_t dpx, Float_t dpy, - const AliMUONTrackParam& trackParam) const; + Float_t dpx, Float_t dpy, + const AliMUONTrackParam& trackParam) const; // Methods for hit pattern from matched trigger track Bool_t PerformTrigTrackMatch(UShort_t &pattern, - const AliMUONTriggerTrack* matchedTrigTrack, - AliMUONVDigitStore& digitStore) const; + const AliMUONTriggerTrack* matchedTrigTrack) const; + + Bool_t FindPadMatchingTrig(const TVector3& vec11, const TVector3& vec21, + Int_t matchedDetElemId[2], TObjArray& matchedPads) const; - Int_t FindPadMatchingTrig(const AliMUONVDigitStore& digitStore, Int_t &detElemId, Float_t coor[2], - Bool_t isMatch[2], TArrayI nboard[2], - TArrayF &zRealMatch, Float_t y11) const; - Float_t PadMatchTrack(Float_t xPad, Float_t yPad, Float_t dpx, Float_t dpy, - Float_t xTrackAtPad, Float_t yTrackAtPad) const; + Float_t PadMatchTrack(const AliMpPad& pad, const TVector3& trackPosAtPad) const; - Int_t DetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t cathode) const; + Int_t DetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t foundDetElemId[2]) const; + + Bool_t PadsFromPos(const TVector3& vec11, const TVector3& vec21, + Int_t detElemId, TObjArray& pads) const; + + Bool_t PosInDetElemIdLocal(TVector3& localCoor, const TVector3& globalPoint1, const TVector3& globalPoint2, Int_t detElemId) const; - void LocalBoardFromPos(Float_t x, Float_t y, Int_t detElemId, - Int_t cathode, Int_t localBoard[4]) const; /// Return reco parameters const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; } + Bool_t IsCloseToAccEdge(TObjArray& pads, Int_t detElemId, Float_t coor[2]) const; + + Bool_t IsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode, const TVector3& vec11, const TVector3& vec21) const; + private: /// Not implemented AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs); /// Not implemented AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs); - void CheckConstants() const; - const AliMUONRecoParam* fkRecoParam; //!< pointer to reco parameters const AliMUONGeometryTransformer& fkTransformer; //!< geometry transformer - const AliMUONDigitMaker& fkDigitMaker; //!< pointer to digit maker - - Double_t fDeltaZ; //!< distance between stations - - TMatrixD* fTrigCovariance; //!< Covariance matrix 3x3 (X,Y,slopeY) for trigger tracks + const AliMUONVDigitStore& fkDigitStore; //!< digitStore + const AliMUONTriggerUtilities* fkTriggerUtilities; //!< trigger utilities for mapping const Float_t fkMaxDistance; //!< Maximum distance for reference - static const Int_t fgkNcathodes=2; //!