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 */
9 /// \class AliMUONTrackReconstructor
10 /// \brief Standard class for the MUON track reconstruction
12 #include "AliMUONVTrackReconstructor.h"
14 class AliMUONVCluster;
15 class AliMUONVClusterStore;
16 class AliMUONTrackParam;
18 class AliMUONGeometryTransformer;
20 class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor
25 AliMUONTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer,
26 const AliMUONGeometryTransformer* transformer); // default Constructor
27 virtual ~AliMUONTrackReconstructor(); // Destructor
29 virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
35 virtual Bool_t MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
36 virtual Bool_t MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
37 virtual Bool_t FollowTracks(AliMUONVClusterStore& clusterStore);
38 virtual Bool_t ComplementTracks(const AliMUONVClusterStore& clusterStore);
39 virtual void ImproveTrack(AliMUONTrack &track);
40 virtual Bool_t FinalizeTrack(AliMUONTrack &track);
45 /// Not implemented copy constructor
46 AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs);
47 /// Not implemented copy assignment operator
48 AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs);
50 Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
51 Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
53 Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2);
55 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster);
56 void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2);
58 Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
60 void SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate);
62 void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov);
65 ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE