]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackReconstructorK.h
Removed a std::cout statement
[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 AliMUONVClusterStore;
15 class AliMUONTrack;
16 class AliMUONTrackParam;
17
18 class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor 
19 {
20
21  public:
22   
23   AliMUONTrackReconstructorK(AliMUONVClusterServer& clusterServer); // default Constructor
24   virtual ~AliMUONTrackReconstructorK(); // Destructor
25   
26   virtual Bool_t RefitTrack(AliMUONTrack &track);
27
28
29  protected:
30
31   // Functions
32   virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
33   virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
34   virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
35   virtual void ImproveTrack(AliMUONTrack &track);
36   virtual void FinalizeTrack(AliMUONTrack &track);
37   
38
39  private:
40   
41   /// Not implemented copy constructor
42   AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); 
43   /// Not implemented copy assignment operator
44   AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
45   
46   void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
47   void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
48   
49   Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
50   
51   Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
52
53   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2);
54   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
55                    Double_t addChi2AtCluster1, Double_t addChi2AtCluster2);
56   
57   Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
58   
59   Bool_t RunSmoother(AliMUONTrack &track);
60
61
62   ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
63 };
64         
65 #endif