Berkeley Nuclear Data Software
Public Member Functions | List of all members
PolyBoundCut Class Reference

#include <CutClasses.h>

Inheritance diagram for PolyBoundCut:
Inheritance graph
[legend]
Collaboration diagram for PolyBoundCut:
Collaboration graph
[legend]

Public Member Functions

 PolyBoundCut ()
 default constructor makes this a linear cut above 0. More...
 
void setCoeffs (std::vector< double > a_coeffs)
 
void setUpper (bool a_log)
 
std::vector< double > getCoeffs () const
 
bool isUpper () const
 
bool passesCut (double a_X, const std::vector< double > &a_Ys={}) const
 
std::vector< std::pair< double, double > > getNPoints (int a_N, double a_minX, double a_maxX)
 
std::vector< std::pair< double, double > > getLine (int a_N, double a_minX, double a_maxX)
 
PolyBoundCutclone ()
 
- Public Member Functions inherited from CutBase
 CutBase ()
 
std::string getVarXName () const
 
std::string getVarYName () const
 
void setVarXName (std::string a_varXName)
 
void setVarYName (std::string a_varYName)
 
void setRange (double a_min, double a_max)
 
TCutG * getTCut (int a_N=10, double a_minX=0, double a_maxX=0, std::string a_name="CUTG")
 
virtual ~CutBase ()
 

Additional Inherited Members

- Protected Attributes inherited from CutBase
std::string m_varXName
 
std::string m_varYName
 
double m_rMin
 
double m_rMax
 
bool m_hasRange
 

Detailed Description

this implimentation of the of cut base is used to provide either a lower or upper boundary cut defined by an Nth order polynomial.The polynomial is ordered by exponent power and needs to include all powers present For example to obtain 2x^2 + 4 you would need to set the coefficients to {2,0,4}

Constructor & Destructor Documentation

◆ PolyBoundCut()

PolyBoundCut::PolyBoundCut ( )

default constructor makes this a linear cut above 0.

Here is the caller graph for this function:

Member Function Documentation

◆ clone()

PolyBoundCut * PolyBoundCut::clone ( )
virtual

Implements CutBase.

Here is the call graph for this function:

◆ getCoeffs()

std::vector< double > PolyBoundCut::getCoeffs ( ) const
Here is the caller graph for this function:

◆ getLine()

std::vector< std::pair< double, double > > PolyBoundCut::getLine ( int  a_N,
double  a_minX,
double  a_maxX 
)

this will generate a discrete representation of the internally stored polynomial containing the specified number of points

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNPoints()

std::vector< std::pair< double, double > > PolyBoundCut::getNPoints ( int  a_N,
double  a_minX,
double  a_maxX 
)
virtual

Reimplemented from CutBase.

Here is the call graph for this function:

◆ isUpper()

bool PolyBoundCut::isUpper ( ) const

◆ passesCut()

bool PolyBoundCut::passesCut ( double  a_X,
const std::vector< double > &  a_Ys = {} 
) const
virtual

this function is used to test if the value of a_Y[0] is greater to or less than the set polynomial evaluated at a_X.

Implements CutBase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setCoeffs()

void PolyBoundCut::setCoeffs ( std::vector< double >  a_coeffs)
Here is the caller graph for this function:

◆ setUpper()

void PolyBoundCut::setUpper ( bool  a_log)
Here is the caller graph for this function:

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