]>
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 | class AliMUONGeometryTransformer; | |
18 | ||
19 | class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor | |
20 | { | |
21 | ||
22 | public: | |
23 | ||
24 | AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer, | |
25 | const AliMUONGeometryTransformer* transformer); // default Constructor | |
26 | virtual ~AliMUONTrackReconstructorK(); // Destructor | |
27 | ||
28 | virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE); | |
29 | ||
30 | ||
31 | protected: | |
32 | ||
33 | // Functions | |
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); | |
38 | virtual void ImproveTrack(AliMUONTrack &track); | |
39 | virtual Bool_t FinalizeTrack(AliMUONTrack &track); | |
40 | ||
41 | ||
42 | private: | |
43 | ||
44 | /// Not implemented copy constructor | |
45 | AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); | |
46 | /// Not implemented copy assignment operator | |
47 | AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs); | |
48 | ||
49 | Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed); | |
50 | Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam); | |
51 | ||
52 | Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber); | |
53 | Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation); | |
54 | ||
55 | Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster); | |
56 | ||
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); | |
60 | ||
61 | Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation); | |
62 | ||
63 | Bool_t RunSmoother(AliMUONTrack &track); | |
64 | ||
65 | ||
66 | ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE | |
67 | }; | |
68 | ||
69 | #endif |