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 public:
00031 FWGenericParameterWithRange(void) :
00032 FWGenericParameter<T>(),
00033 m_min(-1),
00034 m_max(-1)
00035 {}
00036
00037 FWGenericParameterWithRange(FWParameterizable* iParent,
00038 const std::string& iName,
00039 const T &iDefault=T(),
00040 T iMin=-1,
00041 T iMax=-1) :
00042 FWGenericParameter<T>(iParent, iName, iDefault),
00043 m_min(iMin),
00044 m_max(iMax)
00045 {}
00046
00047 template <class K>
00048 FWGenericParameterWithRange(FWParameterizable* iParent,
00049 const std::string& iName,
00050 K iCallback,
00051 const T &iDefault=T(),
00052 T iMin=-1,
00053 T iMax=-1) :
00054 FWGenericParameter<T>(iParent, iName, iCallback, iDefault),
00055 m_min(iMin),
00056 m_max(iMax)
00057 {}
00058
00059
00060
00061 T min() const { return m_min; }
00062 T max() const { return m_max; }
00063
00064 private:
00065
00066 T m_min;
00067 T m_max;
00068 };
00069
00070 #endif