00001 #ifndef PSCALIB_EXCEPTIONS_H 00002 #define PSCALIB_EXCEPTIONS_H 00003 00004 //-------------------------------------------------------------------------- 00005 // File and Version Information: 00006 // $Id: Exceptions.h 8068 2014-04-29 17:23:05Z dubrovin@SLAC.STANFORD.EDU $ 00007 // 00008 // $Revision: 8068 $ 00009 //------------------------------------------------------------------------ 00010 00011 //---------------------- 00012 // Base Class Headers -- 00013 //---------------------- 00014 #include "ErrSvc/Issue.h" 00015 00016 //---------------------------- 00017 00018 namespace PSCalib { 00019 00020 /// @addtogroup PSCalib 00021 00022 /** 00023 * @ingroup PSCalib 00024 * 00025 * @brief Base class for exception classes for PSCalib package. 00026 * 00027 * This software was developed for the LCLS project. If you use all or 00028 * part of it, please give an appropriate acknowledgment. 00029 * 00030 * @version $Id: Exceptions.h 8068 2014-04-29 17:23:05Z dubrovin@SLAC.STANFORD.EDU $ 00031 * 00032 * @author Andy Salnikov 00033 */ 00034 00035 class Exception : public ErrSvc::Issue { 00036 public: 00037 00038 /// Constructor takes the reason for an exception 00039 Exception ( const ErrSvc::Context& ctx, const std::string& what ) ; 00040 00041 }; 00042 00043 /// Exception thrown when Source address is not DetInfo 00044 class NotDetInfoError : public Exception { 00045 public: 00046 00047 NotDetInfoError ( const ErrSvc::Context& ctx ) ; 00048 00049 }; 00050 00051 } // namespace PSCalib 00052 00053 #endif // PSCALIB_EXCEPTIONS_H