00001 #ifndef _CTBexceptionMath_HXX 00002 #define _CTBexceptionMath_HXX 1 00003 00008 /*----------------------------------------------------------------------------*/ 00009 /* C Tool Box: Designed and implemented by: */ 00010 /* Walter F.J. Mueller Gesellschaft fuer Schwerionenforschung (GSI) */ 00011 /* Planckstrasse 1, D-64291 Darmstadt, Germany */ 00012 /* Email: W.F.J.Mueller@gsi.de */ 00013 /* WWW: http://www-kp3.gsi.de/www/kp3/people/mueller.html */ 00014 /*------------------------------------------+---------------------------------*/ 00015 00016 #include "CTBexception.hxx" 00017 00018 class CTBexceptionMath : public CTBexception { 00019 00020 public: 00021 CTBexceptionMath(); 00022 explicit CTBexceptionMath(const char* c_module); 00023 CTBexceptionMath(double d_arg1, const char* c_module = 0); 00024 CTBexceptionMath(double d_arg1, double d_arg2, 00025 const char* c_module = 0); 00026 00027 double Arg1() const; 00028 double Arg2() const; 00029 00030 virtual void ToStream(ostream& os) const; 00031 00032 protected: 00033 00034 double md_arg1; 00035 double md_arg2; 00036 int mi_narg; 00037 }; 00038 00039 //############################################################################## 00040 00041 class CTBexceptionMathDomain : public CTBexceptionMath { 00042 00043 public: 00044 CTBexceptionMathDomain(); 00045 explicit CTBexceptionMathDomain(const char* c_module); 00046 CTBexceptionMathDomain(double d_arg1, 00047 const char* c_module = 0); 00048 CTBexceptionMathDomain(double d_arg1, double d_arg2, 00049 const char* c_module = 0); 00050 }; 00051 00052 //############################################################################## 00053 00054 class CTBexceptionMathRange : public CTBexceptionMath { 00055 00056 public: 00057 CTBexceptionMathRange(); 00058 explicit CTBexceptionMathRange(const char* c_module); 00059 CTBexceptionMathRange(double d_arg1, 00060 const char* c_module = 0); 00061 CTBexceptionMathRange(double d_arg1, double d_arg2, 00062 const char* c_module = 0); 00063 }; 00064 00065 #if !(defined(CTB__OutLine) || defined(CTBexceptionMath__OutLine)) 00066 #include "CTBexceptionMath.icc" 00067 #endif 00068 00069 #endif