]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackReconstructorK.h
Make the Scan method public
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
index 75c5ffcaf732a8ca221c8aa20366cb73fe8a020a..a970936b7a4de4f9737777ff9c9e8592f3288055 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "AliMUONVTrackReconstructor.h"
 
+class AliMUONVClusterStore;
 class AliMUONTrack;
 class AliMUONTrackParam;
 
@@ -19,44 +20,43 @@ class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor
 
  public:
   
-  AliMUONTrackReconstructorK(); // default Constructor
+  AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer); // default Constructor
   virtual ~AliMUONTrackReconstructorK(); // Destructor
+  
+  virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
 
 
  protected:
 
   // Functions
-  virtual void MakeTrackCandidates();
-  virtual void FollowTracks();
-  virtual void ComplementTracks();
-  virtual void ImproveTracks();
-  virtual void Finalize();
+  virtual Bool_t MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t FollowTracks(AliMUONVClusterStore& clusterStore);
+  virtual Bool_t ComplementTracks(const AliMUONVClusterStore& clusterStore);
+  virtual void   ImproveTrack(AliMUONTrack &track);
+  virtual Bool_t FinalizeTrack(AliMUONTrack &track);
   
 
  private:
   
-  // Parameters for track reconstruction
-  static const Bool_t fgkRunSmoother; ///< kTRUE to run the smoother
-  
-  
-  // Functions
   /// Not implemented copy constructor
   AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); 
   /// Not implemented copy assignment operator
   AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
   
-  void RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
-  void RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
+  Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
+  Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
   
-  Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, Int_t nextStation);
+  Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
+  Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
   
-  Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtHit);
+  Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
 
-  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit, Double_t addChi2);
-  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtHit1, AliMUONTrackParam &trackParamAtHit2,
-                  Double_t addChi2AtHit1, Double_t addChi2AtHit2);
+  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster, Double_t addChi2);
+  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2,
+                  Double_t addChi2AtCluster1, Double_t addChi2AtCluster2);
   
-  Bool_t RecoverTrack(AliMUONTrack &track, Int_t nextStation);
+  Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
   
   Bool_t RunSmoother(AliMUONTrack &track);