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