00001 #ifndef RecoLuminosity_LumiProducer_NormFunctor_h 00002 #define RecoLuminosity_LumiProducer_NormFunctor_h 00003 #include <string> 00004 #include <map> 00005 namespace lumi{ 00006 class NormFunctor{ 00007 public: 00008 explicit NormFunctor(); 00009 virtual ~NormFunctor(){} 00010 void initialize(const std::map< std::string , float >& coeffmap, 00011 const std::map< unsigned int, float >& afterglowmap); 00012 virtual float getCorrection(float luminonorm,float intglumi,unsigned int nBXs)const=0; 00013 protected: 00014 std::map< std::string , float > m_coeffmap; 00015 std::map< unsigned int, float > m_afterglowmap; 00016 private: 00017 NormFunctor(const NormFunctor&); 00018 const NormFunctor& operator=(const NormFunctor&); 00019 }; 00020 }//ns lumi 00021 #endif