Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

SctData::FitObject Class Reference

FitObject is an abstract base class fit object to store the output to various types of fit. More...

#include <FitObject.h>

Inheritance diagram for SctData::FitObject:

Inheritance graph
[legend]
Collaboration diagram for SctData::FitObject:

Collaboration graph
[legend]

Public Member Functions

virtual shared_ptr< FitObjectclone () const=0 throw ()
 Allows any sub-class of FitObject to be used as a prototype.

virtual auto_ptr< TF1 > makeRootTF1 () const throw (LogicError)
 Conversion utility functions;.

FitObjectoperator= (const TF1 &) throw (LogicError)
 Set the values of this FitObject equal to those of a ROOT TF1 function to be implimented in sub-classes.

void print () const throw (LogicError)
 Print this to cout.

int getNDim () const throw ()
 Get the dimensionality.

int getNPar () const throw ()
 Get the number of parameters.

char * getParName (const int ipar) const throw (LogicError)
 Get name of parameter ipar.

int getParIndex (const string &name) const throw (LogicError)
 Return the parameter index corresponding to name.

double getParError (const string &name) const throw (LogicError)
 Get the error on parameter.

double getChiSquared () const throw ()
 Get the chisquared.

int getNDF () const throw ()
 Get the number of degrees of freedom.

double getVarMax (const int ivar) const throw (LogicError)
 Get the maximum value of the variable.

double getVarMin (const int ivar) const throw (LogicError)
 Get the minimum value of the variable.

void setVarMax (const int ivar, const double value) throw (LogicError)
 Set the maximum value of the variable:.

void setVarMin (const int ivar, const double value) throw (LogicError)
 Set the minimum value of the variable.

char * getFormula () const throw ()
 get the Formula from the m_type object

void fixParameter (int ipar, bool fix)
 Fixes or unfixes parameter ipar
Exceptions:
OutOfRangeError if ipar > NPar.


bool isFixed (int ipar) const
 Returns whether parameter ipar is fixed
Exceptions:
OutOfRangeError if ipar > NPar.


void setParameter (const int ipar, const double value) throw (LogicError)
 Set the value of parameter ipar.

void setParError (const int ipar, const double value) throw (LogicError)
 Set the error of parameter ipar.

void setParName (const int ipar, const char *name) throw (LogicError)
void setChiSquared (const double c) throw ()
 Set the chiSquared.

void setNDF (const int d) throw ()
 Set the number of degrees of freedom.

virtual ~FitObject () throw ()
 Destructor does nothing.

void reset () throw ()
 Sets parameters, errors, chisquared and NDF to zero.

double getParameter (const int ipar) const throw (LogicError)
 Get the value of parameter.

double getParameter (const string &name) const throw (LogicError)
 Get the value of parameter.

double getParError (const int ipar) const throw (LogicError)

Protected Member Functions

 FitObject (string formula, unsigned int nPar, const vector< string > &parNames, unsigned int nDim=1)
 Create a default FitObject.

 FitObject (string formula, unsigned int nPar, const vector< string > &parNames, const TF1 &f)
 Create a FitObject from a ROOT TF1 object.

virtual auto_ptr< TF1 > makeBasicRootTF1 () const=0 throw (LogicError)
 Make a TF1 using the appropriate constructor which can then be used in makeRootTF1().


Protected Attributes

vector< double > m_parameter
 values of parameters

vector< double > m_parError
 error on parameters

vector< string > m_parName
 names of parameters

vector< bool > m_parFixed
 true if parameter is fixed

vector< double > m_varMax
 maximum value of variables

vector< double > m_varMin
 minimum value of variables

double m_chiSquared
 chisquared parameter

int m_nDF
 degrees of freedom

string m_formula
 formula of type understood by root


Detailed Description

FitObject is an abstract base class fit object to store the output to various types of fit.

It can be published to and retrieved from IS. It can generate a ROOT TF1, or be created from one. Derived classes must implement a makeBasicRootTF1() method which use a suitable TF1 constructor.

So far I can't see any sensible use for `number of dimensions' != 1 but the class could be extensible to multi-dimensional functions.

The formula provided may be in a form comprehensible to ROOT e.g. "[0]*x*sin([1]*x)" for a 1-dimensional (x), 2-parameter ([0],[1]) function.

The analytical form of the functions themselves are in `FitFunctions.cpp'.

Author:
Alan Barr
Date:
6 December 2002

Definition at line 39 of file FitObject.h.


Constructor & Destructor Documentation

virtual SctData::FitObject::~FitObject  )  throw () [inline, virtual]
 

Destructor does nothing.

Definition at line 152 of file FitObject.h.

SctData::FitObject::FitObject string  formula,
unsigned int  nPar,
const vector< string > &  parNames,
unsigned int  nDim = 1
[protected]
 

Create a default FitObject.

Note:
Nothrow

Definition at line 15 of file FitObject.cpp.

SctData::FitObject::FitObject string  formula,
unsigned int  nPar,
const vector< string > &  parNames,
const TF1 &  f
[protected]
 

Create a FitObject from a ROOT TF1 object.

Definition at line 23 of file FitObject.cpp.


Member Function Documentation

virtual shared_ptr<FitObject> SctData::FitObject::clone  )  const throw () [pure virtual]
 

Allows any sub-class of FitObject to be used as a prototype.

Returns:
a new FitObject of the appropriate type which is a copy of this.

Implemented in SctData::ErfcFitObject, SctData::ErfFitObject, SctData::GausFitObject, and SctData::TopHatFitObject.

void SctData::FitObject::fixParameter int  ipar,
bool  fix
 

Fixes or unfixes parameter ipar

Exceptions:
OutOfRangeError if ipar > NPar.

Definition at line 141 of file FitObject.cpp.

References getNPar(), and m_parFixed.

Here is the call graph for this function:

double SctData::FitObject::getChiSquared  )  const throw () [inline]
 

Get the chisquared.

Definition at line 104 of file FitObject.h.

References m_chiSquared.

Referenced by SctFitter::ThresholdFitAlgorithm::checkForDefects(), SctFitter::StrobeDelayFitAlgorithm::checkForDefects(), and SctData::IO::FitObjectStreamer_v1::write().

char* SctData::FitObject::getFormula  )  const throw () [inline]
 

get the Formula from the m_type object

Definition at line 122 of file FitObject.h.

References m_formula.

int SctData::FitObject::getNDF  )  const throw () [inline]
 

Get the number of degrees of freedom.

Definition at line 107 of file FitObject.h.

References m_nDF.

Referenced by SctFitter::ThresholdFitAlgorithm::checkForDefects(), SctFitter::StrobeDelayFitAlgorithm::checkForDefects(), and SctData::IO::FitObjectStreamer_v1::write().

int SctData::FitObject::getNDim  )  const throw () [inline]
 

Get the dimensionality.

Definition at line 70 of file FitObject.h.

References m_varMax.

Referenced by SctData::IO::FitObjectStreamer_v1::write().

int SctData::FitObject::getNPar  )  const throw () [inline]
 

Get the number of parameters.

Definition at line 73 of file FitObject.h.

References m_parameter.

Referenced by SctDataDisplay::FitDisplayer::displayFit(), fixParameter(), isFixed(), and SctData::IO::FitObjectStreamer_v1::write().

double SctData::FitObject::getParameter const string &  name  )  const throw (LogicError) [inline]
 

Get the value of parameter.

Parameters:
the parameter name

Definition at line 185 of file FitObject.h.

double SctData::FitObject::getParameter const int  ipar  )  const throw (LogicError)
 

Get the value of parameter.

Parameters:
the parameter number

Definition at line 58 of file FitObject.cpp.

Referenced by SctAnalysis::TimeWalkAlgorithm::analyze(), SctAnalysis::StrobeDelayAlgorithm::analyze(), SctDataDisplay::FitDisplayer::displayFit(), and SctData::IO::FitObjectStreamer_v1::write().

double SctData::FitObject::getParError const string &  name  )  const throw (LogicError) [inline]
 

Get the error on parameter.

Parameters:
the parameter name

Definition at line 189 of file FitObject.h.

double SctData::FitObject::getParError const int  ipar  )  const throw (LogicError)
 

Get the error on parameter

Parameters:
the parameter number

Definition at line 67 of file FitObject.cpp.

Referenced by SctData::IO::FitObjectStreamer_v1::write().

int SctData::FitObject::getParIndex const string &  name  )  const throw (LogicError)
 

Return the parameter index corresponding to name.

The index can be used in the other functions.

Definition at line 49 of file FitObject.cpp.

char * SctData::FitObject::getParName const int  ipar  )  const throw (LogicError)
 

Get name of parameter ipar.

Definition at line 40 of file FitObject.cpp.

double SctData::FitObject::getVarMax const int  ivar  )  const throw (LogicError)
 

Get the maximum value of the variable.

Definition at line 105 of file FitObject.cpp.

Referenced by SctData::IO::FitObjectStreamer_v1::write().

double SctData::FitObject::getVarMin const int  ivar  )  const throw (LogicError)
 

Get the minimum value of the variable.

Definition at line 114 of file FitObject.cpp.

Referenced by SctData::IO::FitObjectStreamer_v1::write().

bool SctData::FitObject::isFixed int  ipar  )  const
 

Returns whether parameter ipar is fixed

Exceptions:
OutOfRangeError if ipar > NPar.

Definition at line 150 of file FitObject.cpp.

References getNPar(), and m_parFixed.

Referenced by SctData::IO::FitObjectStreamer_v1::write().

Here is the call graph for this function:

virtual auto_ptr<TF1> SctData::FitObject::makeBasicRootTF1  )  const throw (LogicError) [protected, pure virtual]
 

Make a TF1 using the appropriate constructor which can then be used in makeRootTF1().

To be implimented by derived classes.

Implemented in SctData::ErfcFitObject, SctData::ErfFitObject, SctData::GausFitObject, and SctData::TopHatFitObject.

auto_ptr< TF1 > SctData::FitObject::makeRootTF1  )  const throw (LogicError) [virtual]
 

Conversion utility functions;.

Make a new ROOT TF1 from this object. Calls the virtual function makeBasicRootTF1()

Definition at line 160 of file FitObject.cpp.

Referenced by SctDataDisplay::FitDisplayer::displayFit().

FitObject & SctData::FitObject::operator= const TF1 &   )  throw (LogicError)
 

Set the values of this FitObject equal to those of a ROOT TF1 function to be implimented in sub-classes.

Reimplemented in SctData::ErfcFitObject, SctData::ErfFitObject, SctData::GausFitObject, and SctData::TopHatFitObject.

Definition at line 206 of file FitObject.cpp.

void SctData::FitObject::print  )  const throw (LogicError)
 

Print this to cout.

Definition at line 233 of file FitObject.cpp.

Referenced by SctDataDisplay::FitDisplayer::displayChannels(), and SctDataDisplay::FitDisplayer::displayChips().

void SctData::FitObject::reset  )  throw ()
 

Sets parameters, errors, chisquared and NDF to zero.

Definition at line 29 of file FitObject.cpp.

void SctData::FitObject::setChiSquared const double  c  )  throw () [inline]
 

Set the chiSquared.

Definition at line 145 of file FitObject.h.

References m_chiSquared.

void SctData::FitObject::setNDF const int  d  )  throw () [inline]
 

Set the number of degrees of freedom.

Definition at line 148 of file FitObject.h.

References m_nDF.

void SctData::FitObject::setParameter const int  ipar,
const double  value
throw (LogicError)
 

Set the value of parameter ipar.

Definition at line 76 of file FitObject.cpp.

void SctData::FitObject::setParError const int  ipar,
const double  value
throw (LogicError)
 

Set the error of parameter ipar.

Definition at line 86 of file FitObject.cpp.

void SctData::FitObject::setVarMax const int  ivar,
const double  value
throw (LogicError)
 

Set the maximum value of the variable:.

Definition at line 123 of file FitObject.cpp.

void SctData::FitObject::setVarMin const int  ivar,
const double  value
throw (LogicError)
 

Set the minimum value of the variable.

Definition at line 132 of file FitObject.cpp.


Field Documentation

double SctData::FitObject::m_chiSquared [protected]
 

chisquared parameter

Definition at line 164 of file FitObject.h.

Referenced by getChiSquared(), and setChiSquared().

string SctData::FitObject::m_formula [protected]
 

formula of type understood by root

Definition at line 166 of file FitObject.h.

Referenced by getFormula().

int SctData::FitObject::m_nDF [protected]
 

degrees of freedom

Definition at line 165 of file FitObject.h.

Referenced by getNDF(), and setNDF().

vector<double> SctData::FitObject::m_parameter [protected]
 

values of parameters

Definition at line 158 of file FitObject.h.

Referenced by getNPar().

vector<double> SctData::FitObject::m_parError [protected]
 

error on parameters

Definition at line 159 of file FitObject.h.

vector<bool> SctData::FitObject::m_parFixed [protected]
 

true if parameter is fixed

Definition at line 161 of file FitObject.h.

Referenced by fixParameter(), and isFixed().

vector<string> SctData::FitObject::m_parName [protected]
 

names of parameters

Definition at line 160 of file FitObject.h.

vector<double> SctData::FitObject::m_varMax [protected]
 

maximum value of variables

Definition at line 162 of file FitObject.h.

Referenced by getNDim().

vector<double> SctData::FitObject::m_varMin [protected]
 

minimum value of variables

Definition at line 163 of file FitObject.h.


The documentation for this class was generated from the following files:
Generated on Thu Jul 15 09:52:39 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5