#include <EvtValError.hh>
Public Member Functions | |
double | error () const |
int | errorKnown () const |
EvtValError (const EvtValError &other) | |
EvtValError (double val, double err) | |
EvtValError (double val) | |
EvtValError () | |
void | operator *= (double c) |
void | operator *= (const EvtValError &other) |
void | operator+= (const EvtValError &other) |
void | operator/= (const EvtValError &other) |
void | operator= (const EvtValError &other) |
double | prec () const |
void | print (std::ostream &) const |
double | value () const |
int | valueKnown () const |
~EvtValError () | |
Private Attributes | |
double | _err |
int | _errKnown |
double | _val |
int | _valKnown |
|
|
|
|
|
|
|
00031 : _valKnown(other._valKnown), _val(other._val), 00032 _errKnown(other._errKnown), _err(other._err) 00033 {}
|
|
00036 {}
|
|
00033 { assert(_errKnown); return _err; }
|
|
00032 { return _errKnown; }
|
|
|
|
00053 { 00054 assert(_valKnown && other._valKnown); 00055 00056 // Relative errors add in quadrature 00057 if(_errKnown && other._errKnown) 00058 _err = _val * other._val * sqrt(prec()*prec() + other.prec() * other.prec()); 00059 else _errKnown = 0; 00060 00061 // Modify the value 00062 _val *= other._val; 00063 }
|
|
00091 { 00092 assert(_valKnown); assert(other._valKnown); 00093 _val += other._val; 00094 00095 // add errors in quadrature 00096 00097 if(_errKnown && other._errKnown) { 00098 00099 _err = sqrt(_err*_err + other._err*other._err); 00100 } 00101 else { 00102 00103 _errKnown = 0; 00104 } 00105 }
|
|
00066 { 00067 assert(_valKnown && other._valKnown && other._val != 0.); 00068 00069 // Relative errors add in quadrature 00070 if(_errKnown && other._errKnown) 00071 _err = _val/other._val * sqrt(prec()*prec() + other.prec() * other.prec()); 00072 else _errKnown = 0; 00073 00074 // Modify the value 00075 _val /= other._val; 00076 }
|
|
00045 { 00046 _valKnown = other._valKnown; 00047 _val = other._val; 00048 _errKnown = other._errKnown; 00049 _err = other._err; 00050 }
|
|
|
|
00080 { 00081 if(_valKnown) os << _val; 00082 else os << "Undef"; 00083 os << " +/- "; 00084 if(_errKnown) os << _err; 00085 else os << "Undef"; 00086 os << endl; 00087 }
|
|
00031 { assert(_valKnown); return _val; }
|
|
00030 { return _valKnown; }
|
|
|
|
|
|
|
|
|