CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/MagneticField/VolumeGeometry/interface/MagExceptions.h

Go to the documentation of this file.
00001 #ifndef Mag_MagExceptions_H
00002 #define Mag_MagExceptions_H
00003 
00004 #include <exception>
00005 #include <string>
00006 
00007 class MagException : public std::exception {
00008 public:
00009   MagException() throw() {}
00010   MagException( const char *message);
00011   virtual ~MagException() throw();
00012   virtual const char* what() const throw();
00013 private:
00014   std::string theMessage;
00015 };
00016 
00017 class MagGeometryError : public MagException {
00018 public:
00019   MagGeometryError() throw() {}
00020   MagGeometryError(const char *message) : MagException(message) {}
00021   virtual ~MagGeometryError() throw() {}
00022 };
00023 
00024 class MagLogicError : public MagException {
00025 public:
00026   MagLogicError() throw() {}
00027   MagLogicError(const char *message) : MagException(message) {}
00028   virtual ~MagLogicError() throw() {}
00029 };
00030 
00031 class GridInterpolator3DException : public std::exception {
00032 public:
00033 
00034   GridInterpolator3DException(double a1, double b1, double c1,
00035                               double a2, double b2, double c2)  throw();
00036   virtual ~GridInterpolator3DException() throw();
00037   virtual const char* what() const throw();
00038   double  *limits(void) {return limits_;}
00039 protected:
00040   double limits_[6];
00041 };
00042 
00043 #endif