Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:34

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 }  // namespace lumi
0042 #endif