A class representing a parameter of a model. More...
#include <BCParameter.h>
Public Member Functions | |
Constructors and destructors | |
BCParameter (const BCParameter ¶meter) | |
BCParameter (const char *name, double lowerlimit, double upperlimit) | |
BCParameter () | |
~BCParameter () | |
Member functions (get) | |
int | GetIndex () |
double | GetLowerLimit () |
std::string | GetName () |
double | GetRangeWidth () |
double | GetUpperLimit () |
Member functions (miscellaneous methods) | |
bool | IsAtLimit (double value) |
double | IsNuisance () |
void | PrintSummary () |
Assignment operators | |
BCParameter & | operator= (const BCParameter ¶meter) |
Member functions (set) | |
void | SetIndex (int index) |
void | SetLimits (double lowerlimit=0, double upperlimit=1) |
void | SetLowerLimit (double limit=0) |
void | SetName (const char *name) |
void | SetNuisance (int nuisance=1) |
void | SetUpperLimit (double limit=1) |
Private Member Functions | |
void | Copy (BCParameter ¶meter) const |
Private Attributes | |
int | fIndex |
double | fLowerLimit |
std::string | fName |
int | fNuisance |
double | fUpperLimit |
A class representing a parameter of a model.
Definition at line 29 of file BCParameter.h.
BCParameter::BCParameter | ( | ) |
The default constructor.
Definition at line 17 of file BCParameter.cxx.
00018 { 00019 fName = "parameter"; 00020 fLowerLimit = 0.0; 00021 fUpperLimit = 1.0; 00022 fNuisance = 0; 00023 }
BCParameter::BCParameter | ( | const char * | name, | |
double | lowerlimit, | |||
double | upperlimit | |||
) |
A constructor.
name | The name of the parameter. | |
lowerlimit | The lower limit of the parameter values. | |
upperlimit | The upper limit of the parameter values. |
Definition at line 27 of file BCParameter.cxx.
00028 { 00029 BCParameter(); 00030 00031 fName = name; 00032 fLowerLimit = lowerlimit; 00033 fUpperLimit = upperlimit; 00034 }
BCParameter::BCParameter | ( | const BCParameter & | parameter | ) |
The default copy constructor.
Definition at line 38 of file BCParameter.cxx.
00039 { 00040 parameter.Copy(*this); 00041 }
BCParameter::~BCParameter | ( | ) |
void BCParameter::Copy | ( | BCParameter & | parameter | ) | const [private] |
Definition at line 79 of file BCParameter.cxx.
00080 { 00081 parameter.fName = this -> fName; 00082 parameter.fIndex = this -> fIndex; 00083 parameter.fLowerLimit = this -> fLowerLimit; 00084 parameter.fUpperLimit = this -> fUpperLimit; 00085 parameter.fNuisance = this -> fNuisance; 00086 }
int BCParameter::GetIndex | ( | ) | [inline] |
Returns the index of the parameter within the parameter container of a BCModel.
Definition at line 79 of file BCParameter.h.
00080 { return fIndex; };
double BCParameter::GetLowerLimit | ( | ) | [inline] |
Definition at line 84 of file BCParameter.h.
00085 { return fLowerLimit; };
std::string BCParameter::GetName | ( | ) | [inline] |
Definition at line 72 of file BCParameter.h.
00073 { return fName; };
double BCParameter::GetRangeWidth | ( | ) | [inline] |
Returns the range width of the parameter values. It is always a positive value.
Definition at line 96 of file BCParameter.h.
00097 { return (fUpperLimit>fLowerLimit)?fUpperLimit-fLowerLimit:fLowerLimit-fUpperLimit; };
double BCParameter::GetUpperLimit | ( | ) | [inline] |
Definition at line 89 of file BCParameter.h.
00090 { return fUpperLimit; };
bool BCParameter::IsAtLimit | ( | double | value | ) |
Returns true if the value is at a parameter limit.
Definition at line 90 of file BCParameter.cxx.
00091 { 00092 if (fLowerLimit == fUpperLimit) 00093 return false; 00094 00095 if ( ( (value-fLowerLimit)*(value-fLowerLimit)/fLowerLimit/fLowerLimit <= 1e-10) || 00096 ( (value-fUpperLimit)*(value-fUpperLimit)/fUpperLimit/fUpperLimit <= 1e-10)) 00097 return true; 00098 else 00099 return false; 00100 }
double BCParameter::IsNuisance | ( | ) | [inline] |
Returns 1 if parameter is a nuisance parameter or 0 if not.
Definition at line 149 of file BCParameter.h.
00150 { return fNuisance; };
BCParameter & BCParameter::operator= | ( | const BCParameter & | parameter | ) |
The defaut assignment operator.
Definition at line 45 of file BCParameter.cxx.
00046 { 00047 if (this != ¶meter) 00048 parameter.Copy(* this); 00049 00050 return * this; 00051 }
void BCParameter::PrintSummary | ( | ) |
Prints a parameter summary on the screen.
Definition at line 60 of file BCParameter.cxx.
00061 { 00062 std::cout 00063 <<" > Parameter : "<< fName << std::endl 00064 <<" Index : "<< fIndex << std::endl 00065 <<" Lower Limit : "<< fLowerLimit << std::endl 00066 <<" Upper Limit : "<< fUpperLimit << std::endl 00067 <<" Nuisance : "; 00068 00069 if(fNuisance) 00070 std::cout<<"Yes"<<std::endl; 00071 else 00072 std::cout<<"No"<<std::endl; 00073 00074 std::cout << std::endl; 00075 }
void BCParameter::SetIndex | ( | int | index | ) | [inline] |
Set the index of the parameter within the parameter container of a BCModel.
index | The index of the parameter. |
Definition at line 113 of file BCParameter.h.
00114 { fIndex = index; };
void BCParameter::SetLimits | ( | double | lowerlimit = 0 , |
|
double | upperlimit = 1 | |||
) | [inline] |
Set the limits of the parameter values.
lowerlimit | The lower limit of the parameter values. | |
upperlimit | The upper limit of the parameter values. |
Definition at line 132 of file BCParameter.h.
00133 { fLowerLimit = lowerlimit; fUpperLimit = upperlimit; };
void BCParameter::SetLowerLimit | ( | double | limit = 0 |
) | [inline] |
Set the lower limit of the parameter values.
limit | The lower limit of the parameter values. |
Definition at line 119 of file BCParameter.h.
00120 { fLowerLimit = limit; };
void BCParameter::SetName | ( | const char * | name | ) | [inline] |
name | The name of the parameter. |
Definition at line 106 of file BCParameter.h.
00107 { fName = name; };
void BCParameter::SetNuisance | ( | int | nuisance = 1 |
) | [inline] |
Set parameter to be nuisance.
nuisance | 1 - nuisance, 0 - not nuisance |
Definition at line 138 of file BCParameter.h.
00139 { fNuisance = nuisance; };
void BCParameter::SetUpperLimit | ( | double | limit = 1 |
) | [inline] |
Set the upper limit of the parameter values.
limit | The upper limit of the parameter values. |
Definition at line 125 of file BCParameter.h.
00126 { fUpperLimit = limit; };
int BCParameter::fIndex [private] |
The index of the parameter within the BCParameterSet of a BCModel.
Definition at line 175 of file BCParameter.h.
double BCParameter::fLowerLimit [private] |
The lower limit of the parameter value.
Definition at line 179 of file BCParameter.h.
std::string BCParameter::fName [private] |
The name of the parameter.
Definition at line 171 of file BCParameter.h.
int BCParameter::fNuisance [private] |
Flag to specify whether to integrate over this parameter or not.
Definition at line 187 of file BCParameter.h.
double BCParameter::fUpperLimit [private] |
The upper limit of the parameter value.
Definition at line 183 of file BCParameter.h.