]>
Commit | Line | Data |
---|---|---|
f29ba3e1 | 1 | #ifndef ALIMUONTRACKRECONSTRUCTOR_H |
29f1b13a | 2 | #define ALIMUONTRACKRECONSTRUCTOR_H |
692de412 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
a9e2aefa | 5 | |
692de412 | 6 | /* $Id$ */ |
7 | ||
8 | /// \ingroup rec | |
9 | /// \class AliMUONTrackReconstructor | |
2457f726 | 10 | /// \brief Standard class for the MUON track reconstruction |
3831f268 | 11 | |
2457f726 | 12 | #include "AliMUONVTrackReconstructor.h" |
a9e2aefa | 13 | |
96ebe67e | 14 | class AliMUONVCluster; |
15 | class AliMUONVClusterStore; | |
ea94c18b | 16 | class AliMUONTrackParam; |
de2cd600 | 17 | class AliMUONTrack; |
852fefb4 | 18 | class AliMUONGeometryTransformer; |
a9e2aefa | 19 | |
7ec3b9cf | 20 | class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor |
21 | { | |
ea94c18b | 22 | |
a9e2aefa | 23 | public: |
ea94c18b | 24 | |
852fefb4 | 25 | AliMUONTrackReconstructor(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, |
26 | const AliMUONGeometryTransformer* transformer); // default Constructor | |
cc9e7528 | 27 | virtual ~AliMUONTrackReconstructor(); // Destructor |
a9e2aefa | 28 | |
b1fea02e | 29 | virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE); |
7deb8eb0 | 30 | |
8429a5e4 | 31 | |
2457f726 | 32 | protected: |
7fc86979 | 33 | |
ea94c18b | 34 | // Functions |
89c8d66d | 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); | |
4ea3f013 | 39 | virtual void ImproveTrack(AliMUONTrack &track); |
40 | virtual Bool_t FinalizeTrack(AliMUONTrack &track); | |
2457f726 | 41 | |
5e671e06 | 42 | |
a9e2aefa | 43 | private: |
2457f726 | 44 | |
71a2d3aa | 45 | /// Not implemented copy constructor |
46 | AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); | |
47 | /// Not implemented copy assignment operator | |
48 | AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); | |
2457f726 | 49 | |
9bf6860b | 50 | Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber); |
1fef78c8 | 51 | Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation); |
ea94c18b | 52 | |
96ebe67e | 53 | Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2); |
ea94c18b | 54 | |
96ebe67e | 55 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster); |
56 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2); | |
ea94c18b | 57 | |
1fef78c8 | 58 | Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation); |
ea94c18b | 59 | |
96ebe67e | 60 | void SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate); |
ea94c18b | 61 | |
96ebe67e | 62 | void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov); |
83dbc640 | 63 | |
29fc2c86 | 64 | |
29f1b13a | 65 | ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE |
7ec3b9cf | 66 | }; |
a9e2aefa | 67 | |
68 | #endif |