#ifndef ALIMUONTRACKRECONSTRUCTORK_H
#define ALIMUONTRACKRECONSTRUCTORK_H
#include "AliMUONVTrackReconstructor.h"
class AliMUONVClusterStore;
class AliMUONTrack;
class AliMUONTrackParam;
class AliMUONGeometryTransformer;
class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
{
public:
AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer,
const AliMUONGeometryTransformer* transformer);
virtual ~AliMUONTrackReconstructorK();
virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
protected:
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:
AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
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, AliMUONVClusterStore& clusterStore, Int_t nextStation);
Bool_t RunSmoother(AliMUONTrack &track);
ClassDef(AliMUONTrackReconstructorK, 0)
};
#endif
AliMUONTrackReconstructorK.h:1 AliMUONTrackReconstructorK.h:2 AliMUONTrackReconstructorK.h:3 AliMUONTrackReconstructorK.h:4 AliMUONTrackReconstructorK.h:5 AliMUONTrackReconstructorK.h:6 AliMUONTrackReconstructorK.h:7 AliMUONTrackReconstructorK.h:8 AliMUONTrackReconstructorK.h:9 AliMUONTrackReconstructorK.h:10 AliMUONTrackReconstructorK.h:11 AliMUONTrackReconstructorK.h:12 AliMUONTrackReconstructorK.h:13 AliMUONTrackReconstructorK.h:14 AliMUONTrackReconstructorK.h:15 AliMUONTrackReconstructorK.h:16 AliMUONTrackReconstructorK.h:17 AliMUONTrackReconstructorK.h:18 AliMUONTrackReconstructorK.h:19 AliMUONTrackReconstructorK.h:20 AliMUONTrackReconstructorK.h:21 AliMUONTrackReconstructorK.h:22 AliMUONTrackReconstructorK.h:23 AliMUONTrackReconstructorK.h:24 AliMUONTrackReconstructorK.h:25 AliMUONTrackReconstructorK.h:26 AliMUONTrackReconstructorK.h:27 AliMUONTrackReconstructorK.h:28 AliMUONTrackReconstructorK.h:29 AliMUONTrackReconstructorK.h:30 AliMUONTrackReconstructorK.h:31 AliMUONTrackReconstructorK.h:32 AliMUONTrackReconstructorK.h:33 AliMUONTrackReconstructorK.h:34 AliMUONTrackReconstructorK.h:35 AliMUONTrackReconstructorK.h:36 AliMUONTrackReconstructorK.h:37 AliMUONTrackReconstructorK.h:38 AliMUONTrackReconstructorK.h:39 AliMUONTrackReconstructorK.h:40 AliMUONTrackReconstructorK.h:41 AliMUONTrackReconstructorK.h:42 AliMUONTrackReconstructorK.h:43 AliMUONTrackReconstructorK.h:44 AliMUONTrackReconstructorK.h:45 AliMUONTrackReconstructorK.h:46 AliMUONTrackReconstructorK.h:47 AliMUONTrackReconstructorK.h:48 AliMUONTrackReconstructorK.h:49 AliMUONTrackReconstructorK.h:50 AliMUONTrackReconstructorK.h:51 AliMUONTrackReconstructorK.h:52 AliMUONTrackReconstructorK.h:53 AliMUONTrackReconstructorK.h:54 AliMUONTrackReconstructorK.h:55 AliMUONTrackReconstructorK.h:56 AliMUONTrackReconstructorK.h:57 AliMUONTrackReconstructorK.h:58 AliMUONTrackReconstructorK.h:59 AliMUONTrackReconstructorK.h:60 AliMUONTrackReconstructorK.h:61 AliMUONTrackReconstructorK.h:62 AliMUONTrackReconstructorK.h:63 AliMUONTrackReconstructorK.h:64 AliMUONTrackReconstructorK.h:65 AliMUONTrackReconstructorK.h:66 AliMUONTrackReconstructorK.h:67 AliMUONTrackReconstructorK.h:68 AliMUONTrackReconstructorK.h:69