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"
15 class AliMUONTrackParam;
17 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
22 AliMUONTrackReconstructorK(); // default Constructor
23 virtual ~AliMUONTrackReconstructorK(); // Destructor
29 virtual void MakeTrackCandidates();
30 virtual void FollowTracks();
31 virtual void ComplementTracks();
32 virtual void ImproveTracks();
33 virtual void Finalize();
38 // Parameters for track reconstruction
39 static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
43 /// Not implemented copy constructor
44 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
45 /// Not implemented copy assignment operator
46 AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
48 void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
49 void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
51 Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
53 Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
55 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit, Double_t addChi2);
56 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2,
57 Double_t addChi2AtHit1, Double_t addChi2AtHit2);
59 Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
61 Bool_t RunSmoother(AliMUONTrack &track);
64 ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE