Go to the documentation of this file.00001 #ifndef Fireworks_Core_FWGenericParameterWithRange_h
00002 #define Fireworks_Core_FWGenericParameterWithRange_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022
00023 #include "Fireworks/Core/interface/FWGenericParameter.h"
00024
00025
00026
00027 template<class T>
00028 class FWGenericParameterWithRange : public FWGenericParameter<T>
00029 {
00030
00031 public:
00032 FWGenericParameterWithRange(void)
00033 :FWGenericParameter<T>(),
00034 m_min(-1),
00035 m_max(-1)
00036 {}
00037
00038 FWGenericParameterWithRange(FWParameterizable* iParent,
00039 const std::string& iName,
00040 const T &iDefault=T(),
00041 T iMin=-1,
00042 T iMax=-1)
00043 : FWGenericParameter<T>(iParent, iName, iDefault),
00044 m_min(iMin),
00045 m_max(iMax)
00046 {}
00047
00048 template <class K>
00049 FWGenericParameterWithRange(FWParameterizable* iParent,
00050 const std::string& iName,
00051 K iCallback,
00052 const T &iDefault=T(),
00053 T iMin=-1,
00054 T iMax=-1)
00055 : FWGenericParameter<T>(iParent, iName, iCallback, iDefault),
00056 m_min(iMin),
00057 m_max(iMax)
00058 {}
00059
00060
00061 T min() const {
00062 return m_min;
00063 }
00064 T max() const {
00065 return m_max;
00066 }
00067
00068 private:
00069 T m_min;
00070 T m_max;
00071 };
00072
00073 #endif