]>
Commit | Line | Data |
---|---|---|
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(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer); // default Constructor | |
25 | virtual ~AliMUONTrackReconstructor(); // Destructor | |
26 | ||
27 | virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE); | |
28 | ||
29 | ||
30 | protected: | |
31 | ||
32 | // Functions | |
33 | virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore); | |
34 | virtual void MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore); | |
35 | virtual void FollowTracks(AliMUONVClusterStore& clusterStore); | |
36 | virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore); | |
37 | virtual void ImproveTrack(AliMUONTrack &track); | |
38 | virtual void FinalizeTrack(AliMUONTrack &track); | |
39 | ||
40 | ||
41 | private: | |
42 | ||
43 | /// Not implemented copy constructor | |
44 | AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); | |
45 | /// Not implemented copy assignment operator | |
46 | AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); | |
47 | ||
48 | Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber); | |
49 | Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation); | |
50 | ||
51 | Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2); | |
52 | ||
53 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster); | |
54 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2); | |
55 | ||
56 | Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation); | |
57 | ||
58 | void SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate); | |
59 | ||
60 | void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov); | |
61 | ||
62 | ||
63 | ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE | |
64 | }; | |
65 | ||
66 | #endif |