X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONTrackReconstructor.h;h=0048ecefd0856fccb9e10169195b53c7a477a1ae;hb=3d2cda92fb7b5256bd388a5ee4a1e268a19d07ff;hp=79da29a32a1ff6c34c71ec030f8e9ccde5339c60;hpb=2457f726dd01b2031b1d3b9d1a8dafdc4e902cc7;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTrackReconstructor.h b/MUON/AliMUONTrackReconstructor.h index 79da29a32a1..0048ecefd08 100644 --- a/MUON/AliMUONTrackReconstructor.h +++ b/MUON/AliMUONTrackReconstructor.h @@ -8,63 +8,59 @@ /// \ingroup rec /// \class AliMUONTrackReconstructor /// \brief Standard class for the MUON track reconstruction -/// -////////////////////////////////////////////// -/// Standard MUON track reconstructor in ALICE -////////////////////////////////////////////// -#include #include "AliMUONVTrackReconstructor.h" -class AliMUONSegment; +class AliMUONVCluster; +class AliMUONVClusterStore; +class AliMUONTrackParam; class AliMUONTrack; -class TVirtualFitter; - -class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor { +class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor +{ + public: - AliMUONTrackReconstructor(AliMUONData* data); // default Constructor + + AliMUONTrackReconstructor(AliMUONVClusterServer& clusterServer); // default Constructor virtual ~AliMUONTrackReconstructor(); // Destructor - /// Return track fitter - static TVirtualFitter* Fitter(void) {return fgFitter;} - - virtual void EventDump(void); // dump reconstructed event + virtual Bool_t RefitTrack(AliMUONTrack &track); protected: // Functions - virtual void AddHitsForRecFromRawClusters(); - virtual void MakeSegments(void); - virtual void MakeTracks(void); - virtual void MakeTrackCandidates(void); - virtual void FollowTracks(void); - virtual void RemoveDoubleTracks(void); + virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore); + virtual void MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore); + virtual void FollowTracks(AliMUONVClusterStore& clusterStore); + virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore); + virtual void ImproveTrack(AliMUONTrack &track); + virtual void FinalizeTrack(AliMUONTrack &track); private: - // Defaults parameters for reconstruction - static const Double_t fgkDefaultMaxChi2; ///< default max. track chi2 for reconstruction - - static TVirtualFitter* fgFitter; //!< Pointer to track fitter + /// Not implemented copy constructor + AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); + /// Not implemented copy assignment operator + AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); + + Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber); + Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation); + + Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2); - // Parameters for track reconstruction - Double_t fMaxChi2; ///< maximum Chi2 per degree of Freedom + void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster); + void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2); - // Functions - AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); ///< copy constructor - AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); ///< assignment operator + Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation); + + void SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate); - Int_t MakeTrackCandidatesWithTwoSegments(AliMUONSegment *BegSegment); - Int_t MakeTrackCandidatesWithOneSegmentAndOnePoint(AliMUONSegment *BegSegment); - void CalcTrackParamAtVertex(AliMUONTrack *Track) const; - void Fit(AliMUONTrack *Track, Int_t FitStart, Int_t FitMCS); - void UpdateHitForRecAtHit(void); + void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov); ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE - }; +}; #endif