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