]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrackReconstructorK.h
No longer uses TObject::Clone default implementation as it turns out to be too slow...
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
CommitLineData
8cc77df0 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 */
5
6/* $Id$ */
7
8/// \ingroup rec
9/// \class AliMUONTrackReconstructorK
10/// \brief Class for the MUON track reconstruction using kalman filter
8cc77df0 11
8cc77df0 12#include "AliMUONVTrackReconstructor.h"
13
ea94c18b 14class AliMUONTrack;
15class AliMUONTrackParam;
16
7ec3b9cf 17class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
18{
8cc77df0 19
20 public:
ea94c18b 21
22 AliMUONTrackReconstructorK(); // default Constructor
8cc77df0 23 virtual ~AliMUONTrackReconstructorK(); // Destructor
24
ea94c18b 25
8cc77df0 26 protected:
ea94c18b 27
28 // Functions
29 virtual void MakeTrackCandidates();
30 virtual void FollowTracks();
b709ac13 31 virtual void ComplementTracks();
ea94c18b 32 virtual void ImproveTracks();
33 virtual void Finalize();
8cc77df0 34
35
36 private:
ea94c18b 37
38 // Parameters for track reconstruction
39 static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
40
41
8cc77df0 42 // Functions
ea94c18b 43 /// Not implemented copy constructor
44 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
45 /// Not implemented copy assignment operator
46 AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
47
48 void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
49 void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
50
51 Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
52
53 Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
54
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);
58
59 Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
8cc77df0 60
ea94c18b 61 Bool_t RunSmoother(AliMUONTrack &track);
8cc77df0 62
63
64 ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
ea94c18b 65};
8cc77df0 66
67#endif