1 #ifndef ALIMUONTRACKRECONSTRUCTORK_H
2 #define ALIMUONTRACKRECONSTRUCTORK_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONTrackReconstructorK
10 /// \brief Class for the MUON track reconstruction using kalman filter
12 #include "AliMUONVTrackReconstructor.h"
14 class AliMUONVClusterStore;
16 class AliMUONTrackParam;
18 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
23 AliMUONTrackReconstructorK(AliMUONVClusterServer& clusterServer); // default Constructor
24 virtual ~AliMUONTrackReconstructorK(); // Destructor
30 virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
31 virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
32 virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
33 virtual void ImproveTracks();
34 virtual void Finalize();
39 /// Not implemented copy constructor
40 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
41 /// Not implemented copy assignment operator
42 AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
44 void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
45 void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
47 Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
49 Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
51 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2);
52 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
53 Double_t addChi2AtCluster1, Double_t addChi2AtCluster2);
55 Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
57 Bool_t RunSmoother(AliMUONTrack &track);
60 ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE