00001 #ifndef ATLFAST_LEPTONBINDATA_H 00002 #define ATLFAST_LEPTONBINDATA_H 00003 #include <cmath> 00004 #include <vector> 00005 #include "CLHEP/Matrix/Matrix.h" 00006 #include "AtlfastEvent/TrackTrajectory.h" 00007 #include "AtlfastAlgs/BinID.h" 00008 #include "AtlfastAlgs/IBinData.h" 00009 00010 //================================================= 00011 // 00012 // Lepton Bin Data 00013 // 00014 // Class to hold smearing matrix data 00015 // and calculate correlation matrix for a given track 00016 //================================================== 00017 00018 00019 namespace Atlfast { 00020 00028 using std::vector; 00029 00030 00031 class LeptonBinData: public IBinData { 00032 00033 public: 00035 LeptonBinData():m_id(), m_interpol(){}; 00036 LeptonBinData(const BinID& id, const vector<HepMatrix>& interpol): 00037 m_id(id),m_interpol(interpol){} 00038 virtual ~LeptonBinData() {} 00042 HepMatrix getMatrix(const TrackTrajectory& track) const; 00043 00044 private: 00045 00046 BinID m_id; 00047 vector<HepMatrix> m_interpol; 00048 00049 }; 00050 00051 00052 } 00053 #endif 00054 00055 00056 00057 00058 00059 00060