#include "AliMUONVTrackReconstructor.h"
+class AliMUONVClusterStore;
class AliMUONTrack;
class AliMUONTrackParam;
public:
- AliMUONTrackReconstructorK(); // default Constructor
+ AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer); // default Constructor
virtual ~AliMUONTrackReconstructorK(); // Destructor
+
+ virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
protected:
// Functions
- virtual void MakeTrackCandidates();
- virtual void FollowTracks();
- virtual void ComplementTracks();
- virtual void ImproveTracks();
- virtual void Finalize();
+ virtual Bool_t MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
+ virtual Bool_t MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
+ virtual Bool_t FollowTracks(AliMUONVClusterStore& clusterStore);
+ virtual Bool_t ComplementTracks(const AliMUONVClusterStore& clusterStore);
+ virtual void ImproveTrack(AliMUONTrack &track);
+ virtual Bool_t FinalizeTrack(AliMUONTrack &track);
private:
- // Parameters for track reconstruction
- static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
-
-
- // Functions
/// Not implemented copy constructor
AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
/// Not implemented copy assignment operator
AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
- void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
- void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
+ Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
+ Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
- Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
+ Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
+ Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
- Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
+ Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
- void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit, Double_t addChi2);
- void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2,
- Double_t addChi2AtHit1, Double_t addChi2AtHit2);
+ void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2);
+ void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
+ Double_t addChi2AtCluster1, Double_t addChi2AtCluster2);
- Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
+ Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
Bool_t RunSmoother(AliMUONTrack &track);