BremMatrixManager.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_BREMMATRIXMANAGER_H
00002 #define ATLFAST_BREMMATRIXMANAGER_H
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "AtlfastAlgs/BremBinData.h"
00006 #include "AtlfastEvent/TrackTrajectory.h"
00007 
00008 #include "AtlfastAlgs/BinID.h"
00009 #include "AtlfastUtils/HeaderPrinter.h"
00010 
00011 #include <vector>
00012 #include <string>
00013 #include <map>
00014 #include <utility>
00015 
00016 //===========================================================
00017 //
00018 //  Matrix Manager
00019 // 
00020 //  Used by tracksmearer to provide smear matrix data 
00021 //  corresponding to a given track trajectory
00022 //
00023 //===========================================================
00024 
00025 
00026 namespace Atlfast 
00027 {
00028   using std::string;
00029   using std::ifstream;
00030   using std::map;
00031 
00039   class BremMatrixManager
00040   {
00041     
00042     public:
00043 
00045       BremMatrixManager( string, int, MsgStream );
00046       
00048       ~BremMatrixManager();
00049       
00051       TrackTrajectory getBremTrack( const TrackTrajectory& track ) const;
00052 
00053     
00054     private:
00055 
00056       MsgStream* m_log;
00057 
00059       void initialise();
00060       void fillVector( ifstream&, vector< vector<double> >&, int );
00061       void makeHeader(); 
00062      
00064       BremBinData* getBinData( const TrackTrajectory& track ) const;
00065      
00067       string m_file;
00068       
00070       map<BinID, BremBinData*> m_binData;
00071 
00072       int m_randSeed;
00073       vector<double> m_etaBoundaries;
00074       vector<double> m_rTBoundaries;
00075       int m_nRTBins;
00076       int m_nEtaBins;
00077 
00078   };
00079 
00080 }
00081 
00082 #endif

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1