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

EvtItgThreeCoeffFcn Class Reference

#include <EvtItgThreeCoeffFcn.hh>

Inheritance diagram for EvtItgThreeCoeffFcn:

EvtItgAbsFunction List of all members.

Public Member Functions

 EvtItgThreeCoeffFcn (double(*theFunction)(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)
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 ~EvtItgThreeCoeffFcn ()

Protected Member Functions

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

Private Member Functions

 EvtItgThreeCoeffFcn (const EvtItgThreeCoeffFcn &)
EvtItgThreeCoeffFcnoperator= (const EvtItgThreeCoeffFcn &)

Private Attributes

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

Constructor & Destructor Documentation

EvtItgThreeCoeffFcn::EvtItgThreeCoeffFcn double(*)(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
 

00032                                                                                                                                                                                                                                                                                                    :
00033   EvtItgAbsFunction(lowerRange, upperRange),
00034   _myFunction(theFunction),
00035   _coeffs1(coeffs1),
00036   _coeffs2(coeffs2), 
00037   _coeffs3(coeffs3)
00038 {}

EvtItgThreeCoeffFcn::~EvtItgThreeCoeffFcn  )  [virtual]
 

00041 {}

EvtItgThreeCoeffFcn::EvtItgThreeCoeffFcn const EvtItgThreeCoeffFcn  )  [private]
 


Member Function Documentation

double EvtItgThreeCoeffFcn::getCoeff int  ,
int 
[virtual]
 

Implements EvtItgAbsFunction.

00059 {
00060   if (vect == 1) return _coeffs1[which];
00061   else if (vect == 2) return _coeffs2[which];
00062   else if (vect == 3) return _coeffs3[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 EvtItgThreeCoeffFcn::myFunction double  x  )  const [protected, virtual]
 

Implements EvtItgAbsFunction.

00045                                              {
00046   return _myFunction(x, _coeffs1, _coeffs2, _coeffs3);
00047 }

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

00054                                            {
00055   return myFunction(x);
00056 }

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

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

Implements EvtItgAbsFunction.

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

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> EvtItgThreeCoeffFcn::_coeffs1 [private]
 

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

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

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


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