]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackReconstructorK.h
Removing quick code hack and unnecessary methods. Now have a much cleaner implementat...
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
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
11
12 #include "AliMUONVTrackReconstructor.h"
13
14 class AliMUONTrack;
15 class AliMUONTrackParam;
16
17 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor 
18 {
19
20  public:
21   
22   AliMUONTrackReconstructorK(); // default Constructor
23   virtual ~AliMUONTrackReconstructorK(); // Destructor
24
25
26  protected:
27
28   // Functions
29   virtual void MakeTrackCandidates();
30   virtual void FollowTracks();
31   virtual void ComplementTracks();
32   virtual void ImproveTracks();
33   virtual void Finalize();
34   
35
36  private:
37   
38   // Parameters for track reconstruction
39   static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
40   
41   
42   // Functions
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);
60   
61   Bool_t RunSmoother(AliMUONTrack &track);
62
63
64   ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
65 };
66         
67 #endif