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 ////////////////////////////////////////////////
13 /// MUON track reconstructor using kalman filter
14 ////////////////////////////////////////////////
16 #include "AliMUONVTrackReconstructor.h"
19 class AliMUONTrackParam;
21 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
26 AliMUONTrackReconstructorK(); // default Constructor
27 virtual ~AliMUONTrackReconstructorK(); // Destructor
33 virtual void MakeTrackCandidates();
34 virtual void FollowTracks();
35 virtual void ImproveTracks();
36 virtual void Finalize();
41 // Parameters for track reconstruction
42 static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
46 /// Not implemented copy constructor
47 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
48 /// Not implemented copy assignment operator
49 AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
51 void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
52 void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
54 Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
56 Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
58 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit, Double_t addChi2);
59 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2,
60 Double_t addChi2AtHit1, Double_t addChi2AtHit2);
62 Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
64 Bool_t RunSmoother(AliMUONTrack &track);
67 ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE