]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackReconstructor.h
12-sep-2006 NvE Memberfunctions GetNslots and AddNamedSlot introduced and various
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackReconstructor.h
index f9e1de1a4f63b08d9cef57ab668c0f9db84d7467..3971850e4ebf80e8438a2aa7c8185aac2b6c7507 100644 (file)
@@ -1,9 +1,17 @@
-#ifndef ALIMUONTRACKTRECONSTRUCTOR_H
+#ifndef ALIMUONTRACKRECONSTRUCTOR_H
 #define ALIMUONTRACKRECONSTRUCTOR_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-////////////////////////////////////
-// MUON track reconstructor in ALICE
-////////////////////////////////////
+/* $Id$ */
+
+/// \ingroup rec
+/// \class AliMUONTrackReconstructor
+/// \brief Class for the MUON track reconstruction
+///
+/////////////////////////////////////
+/// MUON track reconstructor in ALICE
+/////////////////////////////////////
 
 #include <TObject.h>
 #include "AliMUONConstants.h"
@@ -21,7 +29,7 @@ class AliTrackReference;
 class AliMUONTrackReconstructor : public TObject {
 
  public:
-  AliMUONTrackReconstructor(AliLoader* loader); // default Constructor
+  AliMUONTrackReconstructor(AliLoader* loader, AliMUONData* data); // default Constructor
   virtual ~AliMUONTrackReconstructor(void); // Destructor
 
   // Parameters for track reconstruction: public methods
@@ -85,95 +93,93 @@ class AliMUONTrackReconstructor : public TObject {
 
   AliMUONData*  GetMUONData() {return fMUONData;}
 
- protected:
-  AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); // copy constructor
-  AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); // assignment operator
-
  private:
 
   // Constants which should be elsewhere ????
-  static const Int_t fgkMaxMuonTrackingChambers = 10; // Max number of Muon tracking chambers
-  static const Int_t fgkMaxMuonTrackingStations = 5; // Max number of Muon tracking stations
+  static const Int_t fgkMaxMuonTrackingChambers = 10; ///< Max number of Muon tracking chambers
+  static const Int_t fgkMaxMuonTrackingStations = 5; ///< Max number of Muon tracking stations
 
   // Defaults parameters for reconstruction
-  static const Double_t fgkDefaultMinBendingMomentum; // default min. bending momentum for reconstruction
-  static const Double_t fgkDefaultMaxBendingMomentum; // default max. bending momentum for reconstruction
-  static const Double_t fgkDefaultMaxChi2; // default max. track chi2 for reconstruction
-  static const Double_t fgkDefaultMaxSigma2Distance; // default square of max. distance for window size 
-  static const Double_t fgkDefaultBendingResolution; // default bending coordinate resolution for reconstruction 
-  static const Double_t fgkDefaultNonBendingResolution; // default non bending coordinate resolution for reconstruction
-  static const Double_t fgkDefaultChamberThicknessInX0; // default chamber thickness in X0 for reconstruction
+  static const Double_t fgkDefaultMinBendingMomentum; ///< default min. bending momentum for reconstruction
+  static const Double_t fgkDefaultMaxBendingMomentum; ///< default max. bending momentum for reconstruction
+  static const Double_t fgkDefaultMaxChi2; ///< default max. track chi2 for reconstruction
+  static const Double_t fgkDefaultMaxSigma2Distance; ///< default square of max. distance for window size 
+  static const Double_t fgkDefaultBendingResolution; ///< default bending coordinate resolution for reconstruction 
+  static const Double_t fgkDefaultNonBendingResolution; ///< default non bending coordinate resolution for reconstruction
+  static const Double_t fgkDefaultChamberThicknessInX0; ///< default chamber thickness in X0 for reconstruction
   // Simple magnetic field:
   // Value taken from macro MUONtracking.C: 0.7 T, hence 7 kG
   // Length and Position from reco_muon.F, with opposite sign:
   // Length = ZMAGEND-ZCOIL
   // Position = (ZMAGEND+ZCOIL)/2
   // to be ajusted differently from real magnetic field ????
-  static const Double_t fgkDefaultSimpleBValue; // default value of magnetic field (dipole)
-  static const Double_t fgkDefaultSimpleBLength; // default length of magnetic field (dipole)
-  static const Double_t fgkDefaultSimpleBPosition; // default position of magnetic field (dipole)
-  static const Int_t fgkDefaultRecTrackRefHits; // default flag for reconstrution track ref. hits or Clusters
-  static const Double_t fgkDefaultEfficiency; // default chamber efficiency for track ref. hits recontruction
+  static const Double_t fgkDefaultSimpleBValue; ///< default value of magnetic field (dipole)
+  static const Double_t fgkDefaultSimpleBLength; ///< default length of magnetic field (dipole)
+  static const Double_t fgkDefaultSimpleBPosition; ///< default position of magnetic field (dipole)
+  static const Int_t fgkDefaultRecTrackRefHits; ///< default flag for reconstrution track ref. hits or Clusters
+  static const Double_t fgkDefaultEfficiency; ///< default chamber efficiency for track ref. hits recontruction
 
 
-  Int_t fTrackMethod; // AZ - tracking method
+  Int_t fTrackMethod; ///< AZ - tracking method
 
   // Parameters for track reconstruction
-  Double_t fMinBendingMomentum; // minimum value (GeV/c) of momentum in bending plane
+  Double_t fMinBendingMomentum; ///< minimum value (GeV/c) of momentum in bending plane
   // Parameters for track reconstruction
-  Double_t fMaxBendingMomentum; // maximum value (GeV/c) of momentum in bending plane
-  Double_t fMaxChi2; // maximum Chi2 per degree of Freedom
-  Double_t fMaxSigma2Distance; // maximum square distance in units of the variance (maximum chi2)
-  Double_t fRMin[fgkMaxMuonTrackingChambers]; // minimum radius (cm)
-  Double_t fRMax[fgkMaxMuonTrackingChambers]; // maximum radius (cm)
-  Double_t fSegmentMaxDistBending[fgkMaxMuonTrackingStations]; // maximum distance (cm) for segments in bending plane
-  Double_t fSegmentMaxDistNonBending[fgkMaxMuonTrackingStations]; // maximum distance (cm) for segments in non bending plane
-  Double_t fBendingResolution; // chamber resolution (cm) in bending plane
-  Double_t fNonBendingResolution; // chamber resolution (cm) in non bending plane
-  Double_t fChamberThicknessInX0; // chamber thickness in number of radiation lengths
+  Double_t fMaxBendingMomentum; ///< maximum value (GeV/c) of momentum in bending plane
+  Double_t fMaxChi2; ///< maximum Chi2 per degree of Freedom
+  Double_t fMaxSigma2Distance; ///< maximum square distance in units of the variance (maximum chi2)
+  Double_t fRMin[fgkMaxMuonTrackingChambers]; ///< minimum radius (cm)
+  Double_t fRMax[fgkMaxMuonTrackingChambers]; ///< maximum radius (cm)
+  Double_t fSegmentMaxDistBending[fgkMaxMuonTrackingStations]; ///< maximum distance (cm) for segments in bending plane
+  Double_t fSegmentMaxDistNonBending[fgkMaxMuonTrackingStations]; ///< maximum distance (cm) for segments in non bending plane
+  Double_t fBendingResolution; ///< chamber resolution (cm) in bending plane
+  Double_t fNonBendingResolution; ///< chamber resolution (cm) in non bending plane
+  Double_t fChamberThicknessInX0; ///< chamber thickness in number of radiation lengths
                                   // how to take it from simulation ????
-  Double_t fSimpleBValue; // simple magnetic field: value (kG)
-  Double_t fSimpleBLength; // simple magnetic field: length (cm)
-  Double_t fSimpleBPosition; // simple magnetic field: Z central position (cm)
-  Int_t fRecTrackRefHits; // reconstruction from raw clusters (0) or from track ref. hits (1)
-  Double_t fEfficiency; // chamber efficiency (used for track ref. hits only)
+  Double_t fSimpleBValue; ///< simple magnetic field: value (kG)
+  Double_t fSimpleBLength; ///< simple magnetic field: length (cm)
+  Double_t fSimpleBPosition; ///< simple magnetic field: Z central position (cm)
+  Int_t fRecTrackRefHits; ///< reconstruction from raw clusters (0) or from track ref. hits (1)
+  Double_t fEfficiency; ///< chamber efficiency (used for track ref. hits only)
 
   // Parameters for track ref. background events
   // should be in AliMUON class ????
-  TFile *fBkgTrackRefFile; // pointer to file
-  TTree *fBkgTrackRefTK; // pointer to tree TK
-  TClonesArray *fBkgTrackRefParticles;   // pointer to list of particles in tree TK
-  TTree *fBkgTrackRefTTR; // pointer to tree TTR
-  Int_t fBkgTrackRefEventNumber; // event number
+  TFile *fBkgTrackRefFile; ///< pointer to file
+  TTree *fBkgTrackRefTK; ///< pointer to tree TK
+  TClonesArray *fBkgTrackRefParticles;   ///< pointer to list of particles in tree TK
+  TTree *fBkgTrackRefTTR; ///< pointer to tree TTR
+  Int_t fBkgTrackRefEventNumber; ///< event number
   
   // Hits for reconstruction (should be in AliMUON ????)
-  TClonesArray *fHitsForRecPtr; // pointer to the array of hits for reconstruction
-  Int_t fNHitsForRec; // number of hits for reconstruction
+  TClonesArray *fHitsForRecPtr; ///< pointer to the array of hits for reconstruction
+  Int_t fNHitsForRec; ///< number of hits for reconstruction
   // Information per chamber (should be in AliMUONChamber ????)
-  Int_t fNHitsForRecPerChamber[fgkMaxMuonTrackingChambers]; // number of HitsForRec
-  Int_t fIndexOfFirstHitForRecPerChamber[fgkMaxMuonTrackingChambers]; // index (0...) of first HitForRec
+  Int_t fNHitsForRecPerChamber[fgkMaxMuonTrackingChambers]; ///< number of HitsForRec
+  Int_t fIndexOfFirstHitForRecPerChamber[fgkMaxMuonTrackingChambers]; ///< index (0...) of first HitForRec
 
   // Segments inside a station
-  TClonesArray *fSegmentsPtr[fgkMaxMuonTrackingStations]; // array of pointers to the segments for each station
-  Int_t fNSegments[fgkMaxMuonTrackingStations]; // number of segments for each station
+  TClonesArray *fSegmentsPtr[fgkMaxMuonTrackingStations]; ///< array of pointers to the segments for each station
+  Int_t fNSegments[fgkMaxMuonTrackingStations]; ///< number of segments for each station
 
   // Reconstructed tracks
-  TClonesArray *fRecTracksPtr; // pointer to array of reconstructed tracks
-  Int_t fNRecTracks; // number of reconstructed tracks
+  TClonesArray *fRecTracksPtr; ///< pointer to array of reconstructed tracks
+  Int_t fNRecTracks; ///< number of reconstructed tracks
 
   // Track hits on reconstructed tracks
-  TClonesArray *fRecTrackHitsPtr; // pointer to array of hits on reconstructed tracks
-  Int_t fNRecTrackHits; // number of hits on reconstructed tracks
+  TClonesArray *fRecTrackHitsPtr; ///< pointer to array of hits on reconstructed tracks
+  Int_t fNRecTrackHits; ///< number of hits on reconstructed tracks
 
   // data container
-  AliMUONData* fMUONData; // Data container for MUON subsystem 
+  AliMUONData* fMUONData; ///< Data container for MUON subsystem 
 
   // alice loader
-  AliLoader* fLoader; // MUON loader to get data
+  AliLoader* fLoader; ///< MUON loader to get data
 
-  Int_t fMuons; // AZ - number of muons within acceptance - just for tests
+  Int_t fMuons; ///< AZ - number of muons within acceptance - just for tests
 
   // Functions
+  AliMUONTrackReconstructor (const AliMUONTrackReconstructor& rhs); // copy constructor
+  AliMUONTrackReconstructor& operator=(const AliMUONTrackReconstructor& rhs); // assignment operator
   void ResetHitsForRec(void);
   void MakeEventToBeReconstructed(void);
   void AddHitsForRecFromTrackRef(TTree *TTR, Int_t Signal);