File indexing completed on 2023-03-17 11:19:54
0001 #ifndef RecoLuminosity_LumiProducer_Exception_H
0002 #define RecoLuminosity_LumiProducer_Exception_H
0003 #include <string>
0004 #include <exception>
0005 namespace lumi {
0006 class Exception : public std::exception {
0007 public:
0008 Exception(const std::string& message, const std::string& methodname, const std::string& moduleName);
0009 ~Exception() throw() override {}
0010 char const* what() const throw() override { return m_message.c_str(); }
0011
0012 private:
0013 std::string m_message;
0014 };
0015
0016 class nonCollisionException : public lumi::Exception {
0017 public:
0018 nonCollisionException(const std::string& methodname, const std::string& moduleName);
0019 ~nonCollisionException() throw() override {}
0020 };
0021
0022 class invalidDataException : public lumi::Exception {
0023 public:
0024 invalidDataException(const std::string& message, const std::string& methodname, const std::string& moduleName);
0025 ~invalidDataException() throw() override {}
0026 };
0027
0028 class noStableBeamException : public lumi::Exception {
0029 public:
0030 noStableBeamException(const std::string& message, const std::string& methodname, const std::string& moduleName);
0031 ~noStableBeamException() throw() override {}
0032 };
0033
0034 class duplicateRunInDataTagException : public lumi::Exception {
0035 public:
0036 duplicateRunInDataTagException(const std::string& message,
0037 const std::string& methodname,
0038 const std::string& moduleName);
0039 ~duplicateRunInDataTagException() throw() override {}
0040 };
0041 }
0042 #endif