X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=MUON%2FAliMUONTrackHitPattern.h;h=04db940e122029d62862ca7a5a996fcedaff3bef;hb=d2b2e698a66ab757593d0c0e2dcfe74809f94a0d;hp=280d7c88f0fd7ecb48f4a339945a2c1c37724f24;hpb=683cb6c5538805954750251a818e556da428b79f;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTrackHitPattern.h b/MUON/AliMUONTrackHitPattern.h index 280d7c88f0f..04db940e122 100644 --- a/MUON/AliMUONTrackHitPattern.h +++ b/MUON/AliMUONTrackHitPattern.h @@ -15,27 +15,27 @@ #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 AliMUONTrackHitPattern : public TObject { public: - AliMUONTrackHitPattern(const AliMUONGeometryTransformer& transformer, - const AliMUONDigitMaker& digitMaker); + AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, + const AliMUONGeometryTransformer& transformer, + const AliMUONVDigitStore& digitStore); virtual ~AliMUONTrackHitPattern(); // Destructor - void ExecuteValidation(AliMUONVTrackStore& trackStore, + void ExecuteValidation(const AliMUONVTrackStore& trackStore, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const; @@ -43,29 +43,16 @@ public: AliMUONTrackParam& trackParam, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const; - - UShort_t GetHitPattern(AliMUONTrackParam& trackParam, - AliMUONTriggerTrack* matchedTriggerTrack, - AliMUONVDigitStore& digitStore) const; - void UpdateQA() const; + UShort_t GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack) const; + + UShort_t GetHitPattern(AliMUONTrackParam* trackParam) const; protected: void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const; - Bool_t TriggerDigits(const AliMUONVTriggerStore& triggerStore, - AliMUONVDigitStore& digitStore) 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; - - // Methods for hit pattern from tracker track - void FindPadMatchingTrack(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, @@ -74,10 +61,9 @@ protected: // Methods for hit pattern from matched trigger track Bool_t PerformTrigTrackMatch(UShort_t &pattern, - AliMUONTriggerTrack *matchedTrigTrack, - AliMUONVDigitStore& digitStore) const; + const AliMUONTriggerTrack* matchedTrigTrack) const; - Int_t FindPadMatchingTrig(AliMUONVDigitStore& digitStore, Int_t &detElemId, Float_t coor[2], + Int_t FindPadMatchingTrig(Int_t &detElemId, Float_t coor[2], Bool_t isMatch[2], TArrayI nboard[2], TArrayF &zRealMatch, Float_t y11) const; @@ -89,6 +75,9 @@ protected: 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; } + private: /// Not implemented AliMUONTrackHitPattern(const AliMUONTrackHitPattern& rhs); @@ -96,33 +85,17 @@ private: AliMUONTrackHitPattern& operator = (const AliMUONTrackHitPattern& rhs); void CheckConstants() const; - /// Get max number of strips along x - Int_t GetMaxX(Int_t cath) const {return (cath==0) ? 7 : 112;} - /// Get max number of strips along x - Int_t GetMaxY(Int_t cath) const {return (cath==0) ? 64 : 1;} - const AliMUONGeometryTransformer& fTransformer; //!< geometry transformer - const AliMUONDigitMaker& fDigitMaker; //!< pointer to digit maker - - Double_t fDeltaZ; //!< distance between stations - - TMatrixD* fTrigCovariance; //!< Covariance matrix 3x3 (X,Y,slopeY) for trigger tracks + const AliMUONRecoParam* fkRecoParam; //!< pointer to reco parameters + const AliMUONGeometryTransformer& fkTransformer; //!< geometry transformer + const AliMUONVDigitStore& fkDigitStore; //!< digitStore const Float_t fkMaxDistance; //!< Maximum distance for reference static const Int_t fgkNcathodes=2; //!