00001 #ifndef ATLFAST_ELECTRONMATRIXMANAGER_H 00002 #define ATLFAST_ELECTRONMATRIXMANAGER_H 00003 00004 #include "AtlfastAlgs/LeptonMatrixManager.h" 00005 00006 #include <vector> 00007 #include <string> 00008 #include <utility> 00009 00010 //=========================================================== 00011 // 00012 // Matrix Manager 00013 // 00014 // Used by tracksmearer to provide smear matrix data 00015 // corresponding to a given track trajectory 00016 // 00017 //=========================================================== 00018 00019 00020 class MsgStream; 00021 00022 namespace Atlfast { 00023 using std::vector; 00024 00025 class BremFitter; 00026 00032 class ElectronMatrixManager: public LeptonMatrixManager{ 00033 00034 public: 00035 00036 ElectronMatrixManager(int randSeed, MsgStream& log); 00037 virtual ~ElectronMatrixManager(); 00038 vector<double> getVariables(const TrackTrajectory&, 00039 HepMatrix& usedMatrix) const; 00040 private: 00041 MsgStream& m_log; 00042 BremFitter* m_bremFitter; 00043 }; 00044 00045 } 00046 00047 #endif 00048 00049 00050 00051