BCParameter Class Reference

A class representing a parameter of a model. More...

#include <BCParameter.h>

List of all members.

Public Member Functions

Constructors and destructors



 BCParameter (const BCParameter &parameter)
 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



BCParameteroperator= (const BCParameter &parameter)
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 &parameter) const

Private Attributes

int fIndex
double fLowerLimit
std::string fName
int fNuisance
double fUpperLimit

Detailed Description

A class representing a parameter of a model.

Author:
Daniel Kollar
Kevin Kröninger
Version:
1.0
Date:
08.2008 This class represents a parameter of a model. It contains information about the name and the range of the parameter.

Definition at line 29 of file BCParameter.h.


Constructor & Destructor Documentation

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.

Parameters:
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 (  ) 

The default destructor.

Definition at line 55 of file BCParameter.cxx.

00056 {}


Member Function Documentation

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.

Returns:
The index of the parameter in the model.

Definition at line 79 of file BCParameter.h.

00080          { return fIndex; };

double BCParameter::GetLowerLimit (  )  [inline]
Returns:
The lower limit of the parameter values.

Definition at line 84 of file BCParameter.h.

00085          { return fLowerLimit; };

std::string BCParameter::GetName (  )  [inline]
Returns:
The name of the parameter.

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.

Returns:
The range width of the parameter values.

Definition at line 96 of file BCParameter.h.

double BCParameter::GetUpperLimit (  )  [inline]
Returns:
The upper limit of the parameter values.

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.

Returns:
flag States if value is at 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.

Returns:
1 - is nuisance paramete, 0 - is not nuisance parameter

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 != &parameter)
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.

Parameters:
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.

Parameters:
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.

Parameters:
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]
Parameters:
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.

Parameters:
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.

Parameters:
limit The upper limit of the parameter values.

Definition at line 125 of file BCParameter.h.

00126          { fUpperLimit = limit; };


Member Data Documentation

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.


The documentation for this class was generated from the following files:

Generated on Tue Oct 6 09:48:22 2009 for Bayesian Analysis Toolkit by  doxygen 1.6.1