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 "AtlfastAlgs/MuonBinData.h"
00006 #include "AtlfastAlgs/TrackTrajectory.h"
00007 #include "CLHEP/Random/JamesRandom.h"
00008 #include "AtlfastAlgs/IMatrixManager.h"
00009 #include "AtlfastAlgs/BinID.h"
00010 #include "AtlfastAlgs/CorrelatedData.h"
00011 #include "AtlfastUtils/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   using std::string;
00035   using std::vector;
00036   using std::map;
00037 
00043   class MuonMatrixManager: public IMatrixManager{
00044     
00045   public:
00046     MuonMatrixManager(string config, int randSeed, MsgStream& log);
00048     virtual ~MuonMatrixManager();
00051     vector<double> getVariables(const TrackTrajectory& track, 
00052                                 HepMatrix&) const;
00053 
00054   private:
00056     void initialise();
00057     BinID getBinID(const TrackTrajectory& track) const;
00058     void scale(HepMatrix&) const;
00059     void scale(vector<double>&) const;
00060     
00061 
00063     string m_file;       
00064     string m_config;    
00065     
00066     CorrelatedData* m_correlatedData;
00067     std::map<BinID, MuonBinData*> m_binData;
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 Wed May 1 14:11:31 2002 for AtlfastAlgs by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001