00001 // $Header: /bes/bes/BossCvs/Calibration/CalibData/CalibData/RangeBase.h,v 1.1.1.1 2005/10/17 06:13:32 maqm Exp $ 00002 #ifndef CalibData_RangeBase_h 00003 #define CalibData_RangeBase_h 00004 namespace CalibData { 00005 00006 00011 class RangeBase { 00012 00013 public: 00014 RangeBase() {} 00015 virtual ~RangeBase() {} 00016 00019 virtual void update(RangeBase* ) {} 00020 00021 // Only put in default impl. because not all derived classes need 00022 // to do this at all. Don't force them to put in dummy definition. 00023 // Otherwise would be pure virtual, since derived classes which do 00024 // need this have to do it themselves. 00025 // Might be better to do this with a factory pattern. 00026 virtual void makeNew(RangeBase** ) { } 00027 00028 }; 00029 00036 class ValSig { 00037 public: 00038 ValSig(float val=-1, float sig=-1) : m_val(val), m_sig(sig) {} 00039 ValSig(const ValSig& other) {m_val = other.m_val; m_sig = other.m_sig;} 00040 bool isDefined( ) const {return (m_sig >= 0.0); } 00041 float getVal() const {return m_val;} 00042 float getSig() const {return m_sig;} 00043 00044 void setUndefined() {m_val= -1.0; m_sig = -1;} 00045 float m_val; 00046 float m_sig; 00047 }; 00048 } 00049 #endif