]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackReconstructor.h
Fixing part of the Coding violation
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructor.h
index 79da29a32a1ff6c34c71ec030f8e9ccde5339c60..0048ecefd0856fccb9e10169195b53c7a477a1ae 100644 (file)
@@ -8,63 +8,59 @@
 /// \ingroup rec
 /// \class AliMUONTrackReconstructor
 /// \brief Standard class for the MUON track reconstruction
-///
-//////////////////////////////////////////////
-/// Standard MUON track reconstructor in ALICE
-//////////////////////////////////////////////
 
-#include <TObject.h>
 #include "AliMUONVTrackReconstructor.h"
 
-class AliMUONSegment;
+class AliMUONVCluster;
+class AliMUONVClusterStore;
+class AliMUONTrackParam;
 class AliMUONTrack;
-class TVirtualFitter;
-
-class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor {
 
+class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor 
+{
  public:
-  AliMUONTrackReconstructor(AliMUONData* data); // default Constructor
+  
+  AliMUONTrackReconstructor(AliMUONVClusterServer& clusterServer); // default Constructor
   virtual ~AliMUONTrackReconstructor(); // Destructor
 
-           /// Return track fitter
-  static TVirtualFitter* Fitter(void) {return fgFitter;}
-  
-  virtual void EventDump(void);  // dump reconstructed event
+  virtual Bool_t RefitTrack(AliMUONTrack &track);
 
 
  protected:
 
   // Functions
-  virtual void AddHitsForRecFromRawClusters();
-  virtual void MakeSegments(void);
-  virtual void MakeTracks(void);
-  virtual void MakeTrackCandidates(void);
-  virtual void FollowTracks(void);
-  virtual void RemoveDoubleTracks(void);
+  virtual void MakeTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual void MakeMoreTrackCandidates(AliMUONVClusterStore& clusterStore);
+  virtual void FollowTracks(AliMUONVClusterStore& clusterStore);
+  virtual void ComplementTracks(const AliMUONVClusterStore& clusterStore);
+  virtual void ImproveTrack(AliMUONTrack &track);
+  virtual void FinalizeTrack(AliMUONTrack &track);
   
 
  private:
   
-  // Defaults parameters for reconstruction
-  static const Double_t fgkDefaultMaxChi2; ///< default max. track chi2 for reconstruction
-
-  static TVirtualFitter* fgFitter; //!< Pointer to track fitter
+  /// Not implemented copy constructor
+  AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); 
+  /// Not implemented copy assignment operator
+  AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs);
+  
+  Bool_t FollowTrackInChamber(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextChamber);
+  Bool_t FollowTrackInStation(AliMUONTrack &trackCandidate, AliMUONVClusterStore& clusterStore, Int_t nextStation);
+  
+  Double_t TryTwoClusters(const AliMUONTrackParam &trackParamAtCluster, AliMUONVCluster* cluster2, AliMUONTrackParam &trackParamAtCluster2);
 
-  // Parameters for track reconstruction
-  Double_t fMaxChi2; ///< maximum Chi2 per degree of Freedom
+  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster);
+  void UpdateTrack(AliMUONTrack &track, AliMUONTrackParam &trackParamAtCluster1, AliMUONTrackParam &trackParamAtCluster2);
   
-  // Functions
-  AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); ///< copy constructor
-  AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); ///< assignment operator
+  Bool_t RecoverTrack(AliMUONTrack &track, AliMUONVClusterStore& clusterStore, Int_t nextStation);
+  
+  void SetVertexErrXY2ForFit(AliMUONTrack &trackCandidate);
   
-  Int_t MakeTrackCandidatesWithTwoSegments(AliMUONSegment *BegSegment);
-  Int_t MakeTrackCandidatesWithOneSegmentAndOnePoint(AliMUONSegment *BegSegment);
-  void CalcTrackParamAtVertex(AliMUONTrack *Track) const;
-  void Fit(AliMUONTrack *Track, Int_t FitStart, Int_t FitMCS);
-  void UpdateHitForRecAtHit(void);
+  void Fit(AliMUONTrack &track, Bool_t includeMCS, Bool_t fitWithVertex, Bool_t calcCov);
 
 
   ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE
-    };
+};
        
 #endif