• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

BCParameter.h

Go to the documentation of this file.
00001 #ifndef __BCPARAMETER__H
00002 #define __BCPARAMETER__H
00003 
00022 // ---------------------------------------------------------
00023 
00024 #include <string>
00025 #include <vector>
00026 
00027 // ---------------------------------------------------------
00028 
00029 class BCParameter
00030 {
00031 
00032    public:
00033 
00039       BCParameter();
00040 
00046       BCParameter(const char* name, double lowerlimit, double upperlimit);
00047 
00050       BCParameter(const BCParameter & parameter);
00051 
00054       ~BCParameter();
00055 
00063       BCParameter & operator = (const BCParameter & parameter);
00064 
00072       std::string GetName()
00073          { return fName; };
00074 
00079       int GetIndex()
00080          { return fIndex; };
00081 
00084       double GetLowerLimit()
00085          { return fLowerLimit; };
00086 
00089       double GetUpperLimit()
00090          { return fUpperLimit; };
00091 
00096       double GetRangeWidth()
00097          { return (fUpperLimit>fLowerLimit)?fUpperLimit-fLowerLimit:fLowerLimit-fUpperLimit; };
00098 
00106       void SetName(const char * name)
00107          { fName = name; };
00108 
00113       void SetIndex(int index)
00114          { fIndex = index; };
00115 
00119       void SetLowerLimit(double limit = 0)
00120          { fLowerLimit = limit; };
00121 
00125       void SetUpperLimit(double limit = 1)
00126          { fUpperLimit = limit; };
00127 
00132       void SetLimits(double lowerlimit = 0, double upperlimit = 1)
00133          { fLowerLimit = lowerlimit; fUpperLimit = upperlimit; };
00134 
00138       void SetNuisance(int nuisance = 1)
00139          { fNuisance = nuisance; };
00140 
00149       double IsNuisance()
00150          { return fNuisance; };
00151 
00155       bool IsAtLimit(double value);
00156 
00159       void PrintSummary();
00160 
00163    private:
00164 
00167       void Copy(BCParameter & parameter) const;
00168 
00171       std::string fName;
00172 
00175       int fIndex;
00176 
00179       double fLowerLimit;
00180 
00183       double fUpperLimit;
00184 
00187       int fNuisance;
00188 
00189 };
00190 
00191 // ---------------------------------------------------------
00192 
00196 typedef std::vector<BCParameter*> BCParameterSet;
00197 
00198 // ---------------------------------------------------------
00199 
00200 #endif

Generated by  doxygen 1.7.1