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