#include "AliMUONVTrackReconstructor.h"
+class AliMUONTrack;
+class AliMUONTrackParam;
+
class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
{
public:
- AliMUONTrackReconstructorK(const Option_t* TrackMethod); // default Constructor
+
+ AliMUONTrackReconstructorK(); // default Constructor
virtual ~AliMUONTrackReconstructorK(); // Destructor
- /// Return track method
- Int_t GetTrackMethod(void) const {return fTrackMethod;}
- virtual void EventDump(void); // dump reconstructed event
-
+
protected:
-
- virtual void MakeTracks(void);
- virtual void MakeTrackCandidates(void);
- virtual void FollowTracks(void);
- virtual void RemoveDoubleTracks(void);
- virtual void FillMUONTrack(void);
+
+ // Functions
+ virtual void MakeTrackCandidates();
+ virtual void FollowTracks();
+ virtual void ImproveTracks();
+ virtual void Finalize();
private:
-
- Int_t fTrackMethod; ///< AZ - tracking method
-
+
+ // Parameters for track reconstruction
+ static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
+
+
// Functions
- AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); ///< copy constructor
- AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs); ///< assignment operator
+ /// Not implemented copy constructor
+ AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
+ /// Not implemented copy assignment operator
+ AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
+
+ void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
+ void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
+
+ Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
+
+ Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
+
+ void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit, Double_t addChi2);
+ void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2,
+ Double_t addChi2AtHit1, Double_t addChi2AtHit2);
+
+ Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
- Bool_t CheckCandidate(Int_t icand, Int_t nSeeds) const;
+ Bool_t RunSmoother(AliMUONTrack &track);
ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
- };
+};
#endif