PionMatrixManager.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_PIONMATRIXMANAGER_H
00002 #define ATLFAST_PIONMATRIXMANAGER_H
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "AtlfastAlgs/PionBinData.h"
00006 #include "AtlfastEvent/TrackTrajectory.h"
00007 
00008 #include "AtlfastAlgs/IMatrixManager.h"
00009 #include "AtlfastAlgs/BinID.h"
00010 #include "AtlfastAlgs/CorrelatedData.h"
00011 #include "AtlfastUtils/HeaderPrinter.h"
00012 
00013 #include <vector>
00014 #include <string>
00015 #include <map>
00016 #include <utility>
00017 
00018 //===========================================================
00019 //
00020 //  Matrix Manager
00021 // 
00022 //  Used by tracksmearer to provide smear matrix data 
00023 //  corresponding to a given track trajectory
00024 //
00025 //===========================================================
00026 // RMS 26/4/2001
00027 // Modified to use parametrisation provided by
00028 // Armin Nairz
00029 //===========================================================
00030 
00031 
00032 
00033 namespace Atlfast 
00034 {
00035   using std::string;
00036   using std::ifstream;
00037   using std::map;
00038 
00044   class PionMatrixManager: public IMatrixManager
00045   {
00046     
00047     public:
00048 
00050       PionMatrixManager( string, int, MsgStream );
00051       
00053       virtual ~PionMatrixManager();
00054       
00056       vector<double> getVariables( const TrackTrajectory& track, 
00057                                    HepSymMatrix& usedSigma ) const;
00058 
00059     
00060     private:
00061 
00062       MsgStream* m_log;
00063 
00065       void initialise();
00066       void fillVector( ifstream&, vector< vector<double> >&, int );
00067       void makeHeader(); 
00068      
00070       IBinData* getBinData( const TrackTrajectory& track ) const;
00071      
00073       string m_file;
00074       
00076       map<BinID, IBinData*> m_binData;
00077       
00079       CorrelatedData* m_correlatedData;
00080 
00081       int m_randSeed;
00082       vector<double> m_etaBoundaries;
00083       vector<double> m_rTBoundaries;
00084       int m_nRTBins;
00085       int m_nEtaBins;
00086 
00087   };
00088 
00089 }
00090 
00091 #endif

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