(a) Multiple scattering and energy loss in absorber are now calculated
[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 AliMUONTrack;
15
16 class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor {
17
18  public:
19   AliMUONTrackReconstructor(AliMUONData* data); // default Constructor
20   virtual ~AliMUONTrackReconstructor(); // Destructor
21
22   virtual void EventDump(void);  // dump reconstructed event
23
24
25  protected:
26
27   // Functions
28   virtual void AddHitsForRecFromRawClusters();
29   virtual void MakeTracks(void);
30   virtual void MakeTrackCandidates(void);
31   virtual void FollowTracks(void);
32   virtual void RemoveDoubleTracks(void);
33   virtual void FillMUONTrack(void);
34   
35
36  private:
37   
38   // Parameters for reconstruction
39   static const Double_t fgkMaxNormChi2; ///< maximum Chi2 per degree of freedom for reconstruction
40   static const Bool_t fgkTrackAllTracks; /// kTRUE to track all the possible candidates; kFALSE to track only the best ones
41
42   // Functions
43   AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); ///< copy constructor
44   AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); ///< assignment operator
45   
46   void RemoveIdenticalTracks(void);
47   void FollowTrackInStation(AliMUONTrack* trackCandidate, Int_t nextStation);
48   void SetVertexForFit(AliMUONTrack* trackCandidate);
49   void Fit(AliMUONTrack *track, Bool_t includeMCS, Bool_t calcCov);
50
51
52   ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE
53     };
54         
55 #endif