]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackReconstructor.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructor.h
index 7f7608cbc0b9570794fe956fcf2a070d165a380e..1c8d00172d58f0dffd55d63bfae6e4ba6d88ef4e 100644 (file)
@@ -5,36 +5,53 @@
 
 /* $Id$ */
 
-#include <TObject.h>
+/// \ingroup rec
+/// \class AliMUONTrackReconstructor
+/// \brief Standard class for the MUON track reconstruction
+
+#include "AliMUONVTrackReconstructor.h"
+
+class AliMUONTrack;
+
+class AliMUONTrackReconstructor : public AliMUONVTrackReconstructor {
 
-class AliMUONTrackReconstructor : public TObject {
  public:
-    //
-    // Track Reconstruction
-    AliMUONTrackReconstructor();
-    virtual       ~AliMUONTrackReconstructor(){;}
-    void     Init(Double_t &, Double_t &, Double_t &);
-    void     Reconst(Int_t &,Int_t &,Int_t,Int_t &,Int_t&,Int_t&, Option_t *option,Text_t *filename);
-    void     Reconst2(Int_t &,Int_t &,Int_t &);
-    void     FinishEvent();
-    void     Close();
-    void     SetCutPxz(Double_t p) {fSPxzCut=p;}
-    void     SetSigmaCut(Double_t p) {fSSigmaCut=p;}
-    void     SetXPrec(Double_t p) {fSXPrec=p;}
-    void     SetYPrec(Double_t p) {fSYPrec=p;}
-    Double_t GetCutPxz() {return fSPxzCut;}
-    Double_t GetSigmaCut() {return fSSigmaCut;}
-    Double_t GetXPrec() {return fSXPrec;}
-    Double_t GetYPrec() {return fSYPrec;}
+  AliMUONTrackReconstructor(AliMUONRecData* data); // default Constructor
+  virtual ~AliMUONTrackReconstructor(); // Destructor
+
+  virtual void EventDump(void);  // dump reconstructed event
+
+
+ protected:
+
+  // Functions
+  virtual void AddHitsForRecFromRawClusters();
+  virtual void MakeTracks(void);
+  virtual void MakeTrackCandidates(void);
+  virtual void FollowTracks(void);
+  virtual void RemoveDoubleTracks(void);
+  virtual void FillMUONTrack(void);
+  
+
  private:
-//  Parameters for reconstruction program
-    Double_t fSPxzCut;        // Pxz cut  (GeV/c) to begin the track finding
-    Double_t fSSigmaCut;      // Number of sig. delimiting the searching areas
-    Double_t fSXPrec;         // Chamber precision in X (cm) 
-    Double_t fSYPrec;         // Chamber precision in Y (cm)
-    Text_t *fFileName;        // ?????????
-    ClassDef(AliMUONTrackReconstructor,1)  // Interface to muon tracking code
-       };
-       
+  
+  // Parameters for reconstruction
+  static const Double_t fgkMaxNormChi2; ///< maximum Chi2 per degree of freedom for reconstruction
+  static const Bool_t fgkTrackAllTracks; ///< kTRUE to track all the possible candidates; kFALSE to track only the best ones
 
+  // Functions
+  /// Not implemented copy constructor
+  AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); 
+  /// Not implemented copy assignment operator
+  AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs);
+  
+  void RemoveIdenticalTracks(void);
+  void FollowTrackInStation(AliMUONTrack* trackCandidate, Int_t nextStation);
+  void SetVertexForFit(AliMUONTrack* trackCandidate);
+  void Fit(AliMUONTrack *track, Bool_t includeMCS, Bool_t calcCov);
+
+
+  ClassDef(AliMUONTrackReconstructor, 0) // MUON track reconstructor in ALICE
+    };
+       
 #endif