]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackReconstructorK.h
Minor changes
[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 ////////////////////////////////////////////////
13 /// MUON track reconstructor using kalman filter
14 ////////////////////////////////////////////////
15
16 #include "AliMUONVTrackReconstructor.h"
17
18 class AliMUONTrack;
19 class AliMUONTrackParam;
20
21 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor 
22 {
23
24  public:
25   
26   AliMUONTrackReconstructorK(); // default Constructor
27   virtual ~AliMUONTrackReconstructorK(); // Destructor
28
29
30  protected:
31
32   // Functions
33   virtual void MakeTrackCandidates();
34   virtual void FollowTracks();
35   virtual void ImproveTracks();
36   virtual void Finalize();
37   
38
39  private:
40   
41   // Parameters for track reconstruction
42   static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
43   
44   
45   // Functions
46   /// Not implemented copy constructor
47   AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); 
48   /// Not implemented copy assignment operator
49   AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
50   
51   void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
52   void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
53   
54   Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
55   
56   Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
57
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);
61   
62   Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
63   
64   Bool_t RunSmoother(AliMUONTrack &track);
65
66
67   ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
68 };
69         
70 #endif