Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EvtItgFourCoeffFcn Class Reference

#include <EvtItgFourCoeffFcn.hh>

Inheritance diagram for EvtItgFourCoeffFcn:

EvtItgAbsFunction List of all members.

Public Member Functions

 EvtItgFourCoeffFcn (double(*theFunction)(double, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &), double lowerRange, double upperRange, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3, const std::vector< double > &coeffs4)
virtual double getCoeff (int, int)
void getRange (double &lower, double &upper) const
double lowerRange () const
virtual double operator() (double x) const
virtual void setCoeff (int, int, double)
double upperRange () const
virtual double value (double x) const
virtual ~EvtItgFourCoeffFcn ()

Protected Member Functions

virtual double myFunction (double x) const
void setRange (double x1, double x2)

Private Member Functions

 EvtItgFourCoeffFcn (const EvtItgFourCoeffFcn &)
EvtItgFourCoeffFcnoperator= (const EvtItgFourCoeffFcn &)

Private Attributes

std::vector< double > _coeffs1
std::vector< double > _coeffs2
std::vector< double > _coeffs3
std::vector< double > _coeffs4
double(* _myFunction )(double x, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3, const std::vector< double > &coeffs4)

Constructor & Destructor Documentation

EvtItgFourCoeffFcn::EvtItgFourCoeffFcn double(*)(double, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &, const std::vector< double > &)  theFunction,
double  lowerRange,
double  upperRange,
const std::vector< double > &  coeffs1,
const std::vector< double > &  coeffs2,
const std::vector< double > &  coeffs3,
const std::vector< double > &  coeffs4
 

00029                                                                                                                                                                                                                                                                                                                                                               :
00030   EvtItgAbsFunction(lowerRange, upperRange),
00031   _myFunction(theFunction),
00032   _coeffs1(coeffs1),
00033   _coeffs2(coeffs2), 
00034   _coeffs3(coeffs3),
00035   _coeffs4(coeffs4)
00036 {}

EvtItgFourCoeffFcn::~EvtItgFourCoeffFcn  )  [virtual]
 

00039 {}

EvtItgFourCoeffFcn::EvtItgFourCoeffFcn const EvtItgFourCoeffFcn  )  [private]
 


Member Function Documentation

double EvtItgFourCoeffFcn::getCoeff int  ,
int 
[virtual]
 

Implements EvtItgAbsFunction.

00058 {
00059   if (vect == 1) return _coeffs1[which];
00060   else if (vect == 2) return _coeffs2[which];
00061   else if (vect == 3) return _coeffs3[which];
00062   else if (vect == 4) return _coeffs4[which];
00063   else {return 0;}
00064 }

void EvtItgAbsFunction::getRange double &  lower,
double &  upper
const [inline, inherited]
 

00053 { lower = _lowerRange; upper = _upperRange; } 

double EvtItgAbsFunction::lowerRange  )  const [inline, inherited]
 

00052 {return _lowerRange;}

double EvtItgFourCoeffFcn::myFunction double  x  )  const [protected, virtual]
 

Implements EvtItgAbsFunction.

00043                                             {
00044   return _myFunction(x, _coeffs1, _coeffs2, _coeffs3, _coeffs4);
00045 }

double EvtItgAbsFunction::operator() double  x  )  const [virtual, inherited]
 

00054                                            {
00055   return myFunction(x);
00056 }

EvtItgFourCoeffFcn& EvtItgFourCoeffFcn::operator= const EvtItgFourCoeffFcn  )  [private]
 

void EvtItgFourCoeffFcn::setCoeff int  ,
int  ,
double 
[virtual]
 

Implements EvtItgAbsFunction.

00049 {
00050   if (vect == 1) _coeffs1[which] = value;
00051   else if (vect == 2) _coeffs2[which] = value;
00052   else if (vect == 3) _coeffs3[which] = value;
00053   else if (vect == 4) _coeffs4[which] = value;
00054 }

void EvtItgAbsFunction::setRange double  x1,
double  x2
[inline, protected, inherited]
 

00060 { _lowerRange=x1; _upperRange=x2; };

double EvtItgAbsFunction::upperRange  )  const [inline, inherited]
 

00051 {return _upperRange;}

double EvtItgAbsFunction::value double  x  )  const [virtual, inherited]
 

00045                                        {
00046   if (x >= _lowerRange && x <= _upperRange) return myFunction(x);
00047    report(ERROR,"EvtGen") << "Error in EvtItgAbsFunction::value.  Given co-ordinate " << x
00048                 << " is outside of allowed range [" << _lowerRange << ", "
00049                 << _upperRange << "].  Returning 0.0" << endl;
00050   return 0.0;  // Never get here
00051 }


Member Data Documentation

std::vector<double> EvtItgFourCoeffFcn::_coeffs1 [private]
 

std::vector<double> EvtItgFourCoeffFcn::_coeffs2 [private]
 

std::vector<double> EvtItgFourCoeffFcn::_coeffs3 [private]
 

std::vector<double> EvtItgFourCoeffFcn::_coeffs4 [private]
 

double(* EvtItgFourCoeffFcn::_myFunction)(double x, const std::vector< double > &coeffs1, const std::vector< double > &coeffs2, const std::vector< double > &coeffs3, const std::vector< double > &coeffs4) [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:06:17 2011 for BOSS6.5.5 by  doxygen 1.3.9.1