Berkeley Nuclear Data Software
Public Member Functions | Protected Attributes | List of all members
CutBase Class Referenceabstract

#include <CutClasses.h>

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

Public Member Functions

 CutBase ()
 
virtual bool passesCut (double a_X, const std::vector< double > &a_Ys={}) const =0
 
virtual CutBaseclone ()=0
 
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 std::vector< std::pair< double, double > > getNPoints (int a_N, double a_minX=0, double a_maxX=0)
 
virtual ~CutBase ()
 

Protected Attributes

std::string m_varXName
 
std::string m_varYName
 
double m_rMin
 
double m_rMax
 
bool m_hasRange
 

Detailed Description

this is an abstract base class for developing a variety of types of cuts on experimental data using a common interfact

Constructor & Destructor Documentation

◆ CutBase()

CutBase::CutBase ( )

◆ ~CutBase()

CutBase::~CutBase ( )
virtual

Member Function Documentation

◆ clone()

virtual CutBase* CutBase::clone ( )
pure virtual

Implemented in GraphCut, IntegerListCut, PolyRangeCut, PolyBoundCut, RangeCut, UpperBoundCut, and LowerBoundCut.

Here is the caller graph for this function:

◆ getNPoints()

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

Reimplemented in GraphCut, PolyRangeCut, PolyBoundCut, RangeCut, UpperBoundCut, and LowerBoundCut.

Here is the caller graph for this function:

◆ getTCut()

TCutG * CutBase::getTCut ( int  a_N = 10,
double  a_minX = 0,
double  a_maxX = 0,
std::string  a_name = "CUTG" 
)

this function returns a TCutG* representitive of the cut stored in the config it may or not be implemented by inheriting fuctions. It relies on the below getNPoints function to provide an appropriately discratized representatoin of the implimented cut su

this function returns a TCutG* representitive of the cut stored in the config it may or not be implemented by inheriting fuctions. It relies on the below getNPoints function to simplicity in stripping root if the need arises

Here is the call graph for this function:

◆ getVarXName()

std::string CutBase::getVarXName ( ) const

◆ getVarYName()

std::string CutBase::getVarYName ( ) const

◆ passesCut()

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

pure virtual function enforces implementation by inheriting base class a_X is used as value to test for single dimensional cuts a_Y allows extension in multi dimension by adding values to test

Implemented in GraphCut, IntegerListCut, PolyRangeCut, PolyBoundCut, RangeCut, UpperBoundCut, and LowerBoundCut.

Here is the caller graph for this function:

◆ setRange()

void CutBase::setRange ( double  a_min,
double  a_max 
)
Here is the caller graph for this function:

◆ setVarXName()

void CutBase::setVarXName ( std::string  a_varXName)
Here is the caller graph for this function:

◆ setVarYName()

void CutBase::setVarYName ( std::string  a_varYName)
Here is the caller graph for this function:

Member Data Documentation

◆ m_hasRange

bool CutBase::m_hasRange
protected

◆ m_rMax

double CutBase::m_rMax
protected

◆ m_rMin

double CutBase::m_rMin
protected

◆ m_varXName

std::string CutBase::m_varXName
protected

◆ m_varYName

std::string CutBase::m_varYName
protected

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