PARTONS  
PARtonic Tomography Of Nucleon Software
Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
PARTONS::MathIntegratorModule Class Reference

Wrapper for integration routines. More...

Inheritance diagram for PARTONS::MathIntegratorModule:
PARTONS::ConvolCoeffFunctionModule< TCSConvolCoeffFunctionKinematic, TCSConvolCoeffFunctionResult > PARTONS::ConvolCoeffFunctionModule< DDVCSConvolCoeffFunctionKinematic, DDVCSConvolCoeffFunctionResult > PARTONS::ConvolCoeffFunctionModule< DVCSConvolCoeffFunctionKinematic, DVCSConvolCoeffFunctionResult > PARTONS::ConvolCoeffFunctionModule< GAM2ConvolCoeffFunctionKinematic, GAM2ConvolCoeffFunctionResult > PARTONS::ConvolCoeffFunctionModule< DVMPConvolCoeffFunctionKinematic, DVMPConvolCoeffFunctionResult > PARTONS::ConvolCoeffFunctionModule< KinematicType, ResultType > PARTONS::DVCSAcCos0Phi PARTONS::DVCSAcCos1Phi PARTONS::DVCSAcCos2Phi PARTONS::DVCSAcCos3Phi PARTONS::DVCSAllMinusCos0Phi PARTONS::DVCSAllMinusCos1Phi PARTONS::DVCSAllMinusCos2Phi PARTONS::DVCSAllPlusCos0Phi PARTONS::DVCSAllPlusCos1Phi PARTONS::DVCSAllPlusCos2Phi PARTONS::DVCSAltDVCSCosPhiMPhisCos0Phi PARTONS::DVCSAltDVCSCosPhiMPhisCos1Phi PARTONS::DVCSAltDVCSSinPhiMPhisSin1Phi PARTONS::DVCSAltIntCosPhiMPhisCos0Phi PARTONS::DVCSAltIntCosPhiMPhisCos1Phi PARTONS::DVCSAltIntCosPhiMPhisCos2Phi PARTONS::DVCSAltIntSinPhiMPhisSin1Phi PARTONS::DVCSAltIntSinPhiMPhisSin2Phi PARTONS::DVCSAluDVCSSin1Phi PARTONS::DVCSAluIntSin1Phi PARTONS::DVCSAluIntSin2Phi PARTONS::DVCSAluMinusSin1Phi PARTONS::DVCSAulMinusSin1Phi PARTONS::DVCSAulMinusSin2Phi PARTONS::DVCSAulMinusSin3Phi PARTONS::DVCSAulPlusSin1Phi PARTONS::DVCSAulPlusSin2Phi PARTONS::DVCSAulPlusSin3Phi PARTONS::DVCSAutDVCSSinPhiMPhisCos0Phi PARTONS::DVCSAutIntSinPhiMPhisCos0Phi PARTONS::DVCSAutIntSinPhiMPhisCos1Phi PARTONS::DVCSAutIntSinPhiMPhisSin1Phi PARTONS::DVCSAutMinusSinPhiMPhisCos0Phi PARTONS::DVCSCrossSectionUUDVCSSubProcPhiIntegrated PARTONS::DVCSCrossSectionUUMinusPhiIntegrated PARTONS::DVCSCrossSectionUUVirtualPhotoProductionPhiIntegrated PARTONS::DVMPAlluMinusCos0Phi PARTONS::DVMPAlluMinusCos1Phi PARTONS::DVMPAlluMinusCos2Phi PARTONS::DVMPAluuMinusSin1Phi PARTONS::DVMPAuluMinusSin1Phi PARTONS::DVMPAuluMinusSin2Phi PARTONS::DVMPAuluMinusSin3Phi PARTONS::DVMPCrossSectionUUUMinusPhiIntegrated PARTONS::GPDEvolutionVinnikov PARTONS::GPDGK16Numerical PARTONS::GPDGK19COMPASS PARTONS::GPDHM18 PARTONS::GPDMMS13 PARTONS::GPDMPSSW13 PARTONS::GPDVGG99 PARTONS::TCSAcuThetaIntegrated PARTONS::TCSAutCosPhiMPhisThetaIntegrated PARTONS::TCSAutSinPhiMPhisThetaIntegrated PARTONS::TCSCrossSectionDifferenceCUThetaIntegrated PARTONS::TCSCrossSectionUUThetaIntegrated PARTONS::TCSCrossSectionUUWeightedThetaIntegrated

Public Member Functions

 MathIntegratorModule ()
 Default constructor. More...
 
virtual ~MathIntegratorModule ()
 Default destructor. More...
 

Static Public Attributes

static const std::string PARAM_NAME_INTEGRATOR_TYPE
 Parameter used in configureIntegrator() or XML automation to set the type of integrator. More...
 

Protected Member Functions

 MathIntegratorModule (const MathIntegratorModule &other)
 Copy constructor. More...
 
void setIntegrator (NumA::IntegratorType1D::Type integratorType)
 Sets a given integrator available in NumA++. More...
 
double integrate (NumA::FunctionType1D *pFunction, double a, double b, std::vector< double > &parameters)
 Computes the integral of a function defined via a functor. More...
 
void configureIntegrator (const ElemUtils::Parameters &parameters)
 Provides a generic method to configure all types of integration routines by passing a Parameters object. More...
 
NumA::Integrator1D * getMathIntegrator ()
 

Private Attributes

NumA::Integrator1D * m_mathIntegrator
 Integration routine. Pointer to NumA::Integrator1D object. More...
 

Detailed Description

Wrapper for integration routines.

Can be inherited by a module that uses integration.

Constructor & Destructor Documentation

◆ MathIntegratorModule() [1/2]

PARTONS::MathIntegratorModule::MathIntegratorModule ( )

Default constructor.

◆ ~MathIntegratorModule()

PARTONS::MathIntegratorModule::~MathIntegratorModule ( )
virtual

Default destructor.

◆ MathIntegratorModule() [2/2]

PARTONS::MathIntegratorModule::MathIntegratorModule ( const MathIntegratorModule other)
protected

Copy constructor.

Parameters
other

Member Function Documentation

◆ configureIntegrator()

void PARTONS::MathIntegratorModule::configureIntegrator ( const ElemUtils::Parameters &  parameters)
protected

Provides a generic method to configure all types of integration routines by passing a Parameters object.

Parameters class represents a list of couples key/value (see Parameters class documentation for more info). Can also be used to set the integrator via the key PARAM_NAME_INTEGRATOR_TYPE.

Parameters
parameters

◆ getMathIntegrator()

NumA::Integrator1D * PARTONS::MathIntegratorModule::getMathIntegrator ( )
protected
Returns
Integration routine. Pointer to NumA::Integrator1D object.

◆ integrate()

double PARTONS::MathIntegratorModule::integrate ( NumA::FunctionType1D *  pFunction,
double  a,
double  b,
std::vector< double > &  parameters 
)
protected

Computes the integral of a function defined via a functor.

Parameters
pFunctionFunctor.
aLower bound.
bUpper bound.
parametersList of parameters needed by the function.
Returns
Integral.

◆ setIntegrator()

void PARTONS::MathIntegratorModule::setIntegrator ( NumA::IntegratorType1D::Type  integratorType)
protected

Sets a given integrator available in NumA++.

Parameters
integratorType

Member Data Documentation

◆ m_mathIntegrator

NumA::Integrator1D* PARTONS::MathIntegratorModule::m_mathIntegrator
private

Integration routine. Pointer to NumA::Integrator1D object.

◆ PARAM_NAME_INTEGRATOR_TYPE

const std::string PARTONS::MathIntegratorModule::PARAM_NAME_INTEGRATOR_TYPE
static
Initial value:
=
"integrator_type"

Parameter used in configureIntegrator() or XML automation to set the type of integrator.


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