#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 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:
- // 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
void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
void 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);