]>
Commit | Line | Data |
---|---|---|
8cc77df0 | 1 | #ifndef ALIMUONTRACKRECONSTRUCTORK_H |
2 | #define ALIMUONTRACKRECONSTRUCTORK_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 AliMUONTrackReconstructorK | |
10 | /// \brief Class for the MUON track reconstruction using kalman filter | |
8cc77df0 | 11 | |
8cc77df0 | 12 | #include "AliMUONVTrackReconstructor.h" |
13 | ||
96ebe67e | 14 | class AliMUONVClusterStore; |
ea94c18b | 15 | class AliMUONTrack; |
16 | class AliMUONTrackParam; | |
852fefb4 | 17 | class AliMUONGeometryTransformer; |
ea94c18b | 18 | |
7ec3b9cf | 19 | class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor |
20 | { | |
8cc77df0 | 21 | |
22 | public: | |
ea94c18b | 23 | |
852fefb4 | 24 | AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, |
25 | const AliMUONGeometryTransformer* transformer); // default Constructor | |
8cc77df0 | 26 | virtual ~AliMUONTrackReconstructorK(); // Destructor |
7deb8eb0 | 27 | |
b1fea02e | 28 | virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE); |
8cc77df0 | 29 | |
ea94c18b | 30 | |
8cc77df0 | 31 | protected: |
ea94c18b | 32 | |
33 | // Functions | |
89c8d66d | 34 | virtual Bool_t MakeTrackCandidates(AliMUONVClusterStore& clusterStore); |
35 | virtual Bool_t MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore); | |
36 | virtual Bool_t FollowTracks(AliMUONVClusterStore& clusterStore); | |
37 | virtual Bool_t ComplementTracks(const AliMUONVClusterStore& clusterStore); | |
4ea3f013 | 38 | virtual void ImproveTrack(AliMUONTrack &track); |
39 | virtual Bool_t FinalizeTrack(AliMUONTrack &track); | |
8cc77df0 | 40 | |
41 | ||
42 | private: | |
ea94c18b | 43 | |
ea94c18b | 44 | /// Not implemented copy constructor |
45 | AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); | |
46 | /// Not implemented copy assignment operator | |
47 | AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs); | |
48 | ||
4ea3f013 | 49 | Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed); |
50 | Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam); | |
ea94c18b | 51 | |
9bf6860b | 52 | Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber); |
1fef78c8 | 53 | Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation); |
ea94c18b | 54 | |
96ebe67e | 55 | Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster); |
ea94c18b | 56 | |
96ebe67e | 57 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2); |
58 | void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2, | |
59 | Double_t addChi2AtCluster1, Double_t addChi2AtCluster2); | |
ea94c18b | 60 | |
1fef78c8 | 61 | Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation); |
8cc77df0 | 62 | |
ea94c18b | 63 | Bool_t RunSmoother(AliMUONTrack &track); |
8cc77df0 | 64 | |
65 | ||
66 | ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE | |
ea94c18b | 67 | }; |
8cc77df0 | 68 | |
69 | #endif |