]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackReconstructorK.h
Fix coverity defect
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructorK.h
index ae29f581c6fc095cf21e458d44c2ad60b72cf052..a970936b7a4de4f9737777ff9c9e8592f3288055 100644 (file)
@@ -8,52 +8,60 @@
 /// \ingroup rec
 /// \class AliMUONTrackReconstructorK
 /// \brief Class for the MUON track reconstruction using kalman filter
-///
-////////////////////////////////////////////////
-/// MUON track reconstructor using kalman filter
-////////////////////////////////////////////////
 
-#include <TObject.h>
 #include "AliMUONVTrackReconstructor.h"
 
-class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor {
+class AliMUONVClusterStore;
+class AliMUONTrack;
+class AliMUONTrackParam;
+
+class AliMUONTrackReconstructorK : public AliMUONVTrackReconstructor 
+{
 
  public:
-  AliMUONTrackReconstructorK(AliMUONData* data, const Option_t* TrackMethod); // default Constructor
+  
+  AliMUONTrackReconstructorK(const AliMUONRecoParam* recoParam, AliMUONVClusterServer* clusterServer); // default Constructor
   virtual ~AliMUONTrackReconstructorK(); // Destructor
-
-          /// Return track method
-  Int_t GetTrackMethod(void) const {return fTrackMethod;} 
   
-  virtual void EventDump(void);  // dump reconstructed event
+  virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement = kTRUE);
 
 
  protected:
-  
+
   // Functions
-  virtual void AddHitsForRecFromRawClusters();
-  virtual void MakeTracks(void);
-  virtual void MakeTrackCandidates(void);
-  virtual void FollowTracks(void);
-  virtual void RemoveDoubleTracks(void);
-  virtual void ExtrapTracksToVertex(void);
-  virtual void FillMUONTrack(void);
+  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:
+  
+  /// Not implemented copy constructor
+  AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); 
+  /// Not implemented copy assignment operator
+  AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs);
+  
+  Bool_t RetraceTrack(AliMUONTrack &trackCandidate, Bool_t resetSeed);
+  Bool_t RetracePartialTrack(AliMUONTrack &trackCandidate, const AliMUONTrackParam* startingTrackParam);
+  
+  Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
+  Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
+  
+  Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster);
 
-  Int_t fTrackMethod; ///< AZ - tracking method
-
-  Int_t fMuons; ///< AZ - number of muons within acceptance - just for tests
-
-  // Functions
-  AliMUONTrackReconstructorK (const AliMUONTrackReconstructorK& rhs); ///< copy constructor
-  AliMUONTrackReconstructorK& operator=(const AliMUONTrackReconstructorK& rhs); ///< assignment operator
+  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, AliMUONVClusterStore& clusterStore, Int_t nextStation);
   
-  Bool_t CheckCandidate(Int_t icand, Int_t nSeeds) const;
+  Bool_t RunSmoother(AliMUONTrack &track);
 
 
   ClassDef(AliMUONTrackReconstructorK, 0) // MUON track reconstructor in ALICE
-    };
+};
        
 #endif