00001 #ifndef MagVolumeOutsideValidity_H 00002 #define MagVolumeOutsideValidity_H 00003 00004 #include "MagneticField/VolumeGeometry/interface/MagVolume.h" 00005 #include <exception> 00006 00007 class MagVolumeOutsideValidity : public std::exception { 00008 public: 00009 00010 MagVolumeOutsideValidity( MagVolume::LocalPoint l, 00011 MagVolume::LocalPoint u) throw(); 00012 00013 MagVolume::LocalPoint lower() const throw() {return lower_;} 00014 MagVolume::LocalPoint upper() const throw() {return upper_;} 00015 00016 virtual ~MagVolumeOutsideValidity() throw() {} 00017 00018 virtual const char* what() const throw() { 00019 return m_message.c_str(); 00020 } 00021 00022 00023 private: 00024 std::string m_message; 00025 MagVolume::LocalPoint lower_; 00026 MagVolume::LocalPoint upper_; 00027 }; 00028 #endif