]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackReconstructor.h
Adding classes: AliMpManuIterator, AliMpManuUID, AliMpPadUID, AliMpHVUID, AliMpHVNamer;
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructor.h
1 #ifndef ALIMUONTRACKRECONSTRUCTOR_H
2 #define ALIMUONTRACKRECONSTRUCTOR_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 AliMUONTrackReconstructor
10 /// \brief Standard class for the MUON track reconstruction
11
12 #include "AliMUONVTrackReconstructor.h"
13
14 class AliMUONHitForRec;
15 class AliMUONTrackParam;
16 class AliMUONTrack;
17
18 class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor 
19 {
20  
21  public:
22   
23   AliMUONTrackReconstructor(); // default Constructor
24   virtual ~AliMUONTrackReconstructor(); // Destructor
25
26
27  protected:
28
29   // Functions
30   virtual void MakeTrackCandidates();
31   virtual void FollowTracks();
32   virtual void ComplementTracks();
33   virtual void ImproveTracks();
34   virtual void Finalize();
35   
36
37  private:
38   
39   // Parameters for track reconstruction
40   static const Double_t fgkBendingVertexDispersion; ///< Vertex dispersion (cm) in bending plane for reconstruction
41   static const Double_t fgkNonBendingVertexDispersion; ///< Vertex dispersion (cm) in non bending plane for reconstruction
42   
43   
44   // Functions
45   /// Not implemented copy constructor
46   AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); 
47   /// Not implemented copy assignment operator
48   AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs);
49   
50   Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
51   
52   Double_t TryTwoHitForRec(const AliMUONTrackParam &trackParamAtHit1, AliMUONHitForRec* hitForRec2, AliMUONTrackParam &trackParamAtHit2);
53
54   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit);
55   void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2);
56   
57   Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
58   
59   void SetVertexForFit(AliMUONTrack &trackCandidate);
60   
61   void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t calcCov);
62
63
64   ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE
65 };
66         
67 #endif