New versions of the DA executables to comply with DAQ DA file naming conventions
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
CommitLineData
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 14class AliMUONVClusterStore;
ea94c18b 15class AliMUONTrack;
16class AliMUONTrackParam;
17
7ec3b9cf 18class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
19{
8cc77df0 20
21 public:
ea94c18b 22
1fef78c8 23 AliMUONTrackReconstructorK(AliMUONVClusterServer& clusterServer); // default Constructor
8cc77df0 24 virtual ~AliMUONTrackReconstructorK(); // Destructor
7deb8eb0 25
26 virtual Bool_t RefitTrack(AliMUONTrack &track);
8cc77df0 27
ea94c18b 28
8cc77df0 29 protected:
ea94c18b 30
31 // Functions
1fef78c8 32 virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
9bf6860b 33 virtual void MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
1fef78c8 34 virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
96ebe67e 35 virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
7332f213 36 virtual void ImproveTrack(AliMUONTrack &track);
37 virtual void FinalizeTrack(AliMUONTrack &track);
8cc77df0 38
39
40 private:
ea94c18b 41
ea94c18b 42 /// Not implemented copy constructor
43 AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs);
44 /// Not implemented copy assignment operator
45 AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
46
47 void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
48 void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
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 RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
ea94c18b 54
96ebe67e 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);
ea94c18b 58
1fef78c8 59 Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
8cc77df0 60
ea94c18b 61 Bool_t RunSmoother(AliMUONTrack &track);
8cc77df0 62
63
64 ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
ea94c18b 65};
8cc77df0 66
67#endif