Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

MuonMatrixManager.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_MUONMATRIXMANAGER_H
00002 #define ATLFAST_MUONMATRIXMANAGER_H
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "AtlfastCode/MuonBinData.h"
00006 #include "AtlfastCode/TrackTrajectory.h"
00007 #include "CLHEP/Random/JamesRandom.h"
00008 #include "AtlfastCode/IMatrixManager.h"
00009 #include "AtlfastCode/BinID.h"
00010 #include "AtlfastCode/CorrelatedData.h"
00011 #include "AtlfastCode/HeaderPrinter.h"
00012 
00013 
00014 #include <vector>
00015 #include <string>
00016 #include <map>
00017 #include <utility>
00018 
00019 //===========================================================
00020 //
00021 //  Matrix Manager
00022 // 
00023 //  Used by tracksmearer to provide smear matrix data 
00024 //  corresponding to a given track trajectory
00025 //
00026 //===========================================================
00027 // RMS 26/4/2001
00028 // Modified to use parametrisation provided by
00029 // Armin Nairz
00030 //===========================================================
00031 
00032 
00033 namespace Atlfast {
00034 
00040   class MuonMatrixManager: public IMatrixManager
00041 {
00042 
00043  public:
00044   MuonMatrixManager(string config, int randSeed, MsgStream log);
00046   virtual ~MuonMatrixManager();
00048   vector<double> getVariables(const TrackTrajectory& track, HepMatrix&) const;
00049 
00050  private:
00053   void initialise();
00055   BinID getBinID(const TrackTrajectory& track) const;
00057   string m_file;
00059   string m_config;
00060  
00061 
00062   CorrelatedData* m_correlatedData;
00064   map<const BinID,MuonBinData*> m_binData;
00065 
00066   void scale(HepMatrix&) const;
00067   void scale(vector<double>&) const;
00068 
00069   double m_pTMin;
00070   double m_etaMin;
00071   double m_etaMax;
00072   int m_nBins;
00073 
00074   MsgStream* m_log;
00075 
00076 };
00077 
00078 }
00079 
00080 #endif
00081 
00082 
00083 
00084 

Generated on Mon Feb 4 15:54:24 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001