]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONTrackReconstructorK.h
Swapping charge of selected tracks
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
... / ...
CommitLineData
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
14class AliMUONVClusterStore;
15class AliMUONTrack;
16class AliMUONTrackParam;
17class AliMUONGeometryTransformer;
18
19class 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