]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackReconstructorK.h
Coding conventions: adding copy constructor and assignment operator
[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
27  protected:
28
29   // Functions
30   virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
31   virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
32   virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
33   virtual void ImproveTracks();
34   virtual void Finalize();
35   
36
37  private:
38   
39   /// Not implemented copy constructor
40   AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); 
41   /// Not implemented copy assignment operator
42   AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
43   
44   void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
45   void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
46   
47   Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
48   
49   Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
50
51   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2);
52   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
53                    Double_t addChi2AtCluster1, Double_t addChi2AtCluster2);
54   
55   Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
56   
57   Bool_t RunSmoother(AliMUONTrack &track);
58
59
60   ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
61 };
62         
63 #endif