cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches

Cuba integration algorithm. More...

#include <CepGenAddOns/CubaWrapper/Integrator.h>

+ Inheritance diagram for Integrator:
+ Collaboration diagram for Integrator:

Public Member Functions

 Integrator (const ParametersList &)
 
Value integrate (Integrand &) override
 Perform the multidimensional Monte Carlo integration.
 
void checkLimits (const Integrand &)
 Ensure the integration bounds are properly set.
 
virtual void setLimits (const std::vector< Limits > &limits)
 Specify the variables limits on integration.
 
virtual double eval (Integrand &, const std::vector< double > &) const
 Compute the function value at the given phase space point.
 
virtual double uniform (const Limits &={0., 1.}) const
 Generate a uniformly distributed (between 0 and 1) random number.
 
const std::string & name () const
 Module unique indexing name.
 
bool operator== (const SteeredObject &oth) const
 Equality operator.
 
bool operator!= (const SteeredObject &oth) const
 Inequality operator.
 
const ParametersListparameters () const override
 Module user-defined parameters.
 
virtual void setParameters (const ParametersList &params) override
 Set module parameters.
 
void setDescribedParameters (const ParametersList &params_orig)
 Set (documented) module parameters.
 

Static Public Member Functions

static ParametersDescription description ()
 
static Value integrate (const std::function< double(const std::vector< double > &)> &, const ParametersList &, size_t)
 Perform an integration with a given functional and a given set of parameters.
 
static Value integrate (const std::function< double(const std::vector< double > &)> &, const ParametersList &, const std::vector< Limits > &)
 Perform an integration with a given functional and a given set of parameters.
 

Static Public Attributes

static IntegrandgIntegrand = nullptr
 

Protected Member Functions

virtual Value integrate ()=0
 
template<typename T >
steer (const std::string &key) const
 Retrieve a parameters as previously steered.
 
template<typename T , typename U >
U steerAs (const std::string &key) const
 Retrieve a recasted parameters as previously steered.
 
std::string steerName () const
 Retrieve module name from parameters.
 
std::string steerPath (const std::string &key) const
 Retrieve a path from common search paths.
 

Protected Attributes

int ncomp_
 
int nvec_
 
double epsrel_
 
double epsabs_
 
int mineval_
 
int maxeval_
 
int verbose_
 
const std::unique_ptr< utils::RandomGeneratorrnd_gen_
 
int verbosity_
 Integrator verbosity.
 
std::vector< Limitslimits_
 List of per-variable integration limits.
 
const std::string name_
 Module unique indexing name.
 
ParametersList params_
 Module parameters.
 

Detailed Description

Definition at line 29 of file Integrator.h.

Constructor & Destructor Documentation

◆ Integrator()

Integrator ( const ParametersList params)
explicit

Definition at line 27 of file Integrator.cpp.

Member Function Documentation

◆ checkLimits()

void checkLimits ( const Integrand integrand)
inherited

Definition at line 32 of file Integrator.cpp.

◆ description()

ParametersDescription description ( )
static

Definition at line 42 of file Integrator.cpp.

◆ eval()

double eval ( Integrand integrand,
const std::vector< double > &  x 
) const
virtualinherited

Definition at line 52 of file Integrator.cpp.

◆ integrate() [1/4]

virtual Value integrate ( )
protectedpure virtual

◆ integrate() [2/4]

Value integrate ( const std::function< double(const std::vector< double > &)> &  func,
const ParametersList params,
const std::vector< Limits > &  limits 
)
staticinherited

Definition at line 62 of file Integrator.cpp.

◆ integrate() [3/4]

Value integrate ( const std::function< double(const std::vector< double > &)> &  func,
const ParametersList params,
size_t  num_vars 
)
staticinherited

Definition at line 56 of file Integrator.cpp.

◆ integrate() [4/4]

Value integrate ( Integrand result)
overridevirtual
Parameters
[out]resultintegral computed over the full phase space

Implements Integrator.

Definition at line 37 of file Integrator.cpp.

◆ name()

const std::string & name ( ) const
inherited

Definition at line 42 of file NamedModule.h.

◆ operator!=()

template<typename T >
bool operator!= ( const SteeredObject< T > &  oth) const
inherited

Definition at line 51 of file SteeredObject.h.

◆ operator==()

template<typename T >
bool operator== ( const SteeredObject< T > &  oth) const
inherited

Definition at line 49 of file SteeredObject.h.

◆ parameters()

template<typename T >
const ParametersList & parameters ( ) const
overridevirtualinherited

Reimplemented from Steerable.

Definition at line 54 of file SteeredObject.h.

◆ setDescribedParameters()

template<typename T >
void setDescribedParameters ( const ParametersList params_orig)
inherited

Definition at line 73 of file SteeredObject.h.

◆ setLimits()

virtual void setLimits ( const std::vector< Limits > &  limits)
virtualinherited

Reimplemented in GSLIntegrator, BasesIntegrator, NaiveBoostIntegrator, Integrator, and Integrator.

Definition at line 38 of file Integrator.h.

◆ setParameters()

template<typename T >
virtual void setParameters ( const ParametersList params)
overridevirtualinherited

Reimplemented from Steerable.

Reimplemented in Initial, Remnants, CutsList, IncomingBeams, and Kinematics.

Definition at line 62 of file SteeredObject.h.

◆ steer()

template<typename T >
T steer ( const std::string &  key) const
protectedinherited

Definition at line 39 of file Steerable.h.

◆ steerAs()

template<typename T , typename U >
U steerAs ( const std::string &  key) const
protectedinherited

Definition at line 44 of file Steerable.h.

◆ steerName()

std::string steerName ( ) const
protectedinherited

Definition at line 48 of file Steerable.h.

◆ steerPath()

std::string steerPath ( const std::string &  key) const
protectedinherited

Definition at line 30 of file Steerable.cpp.

◆ uniform()

double uniform ( const Limits lim = {0., 1.}) const
virtualinherited

Definition at line 54 of file Integrator.cpp.

Member Data Documentation

◆ epsabs_

double epsabs_
protected

Definition at line 42 of file Integrator.h.

◆ epsrel_

double epsrel_
protected

Definition at line 42 of file Integrator.h.

◆ gIntegrand

Integrand * gIntegrand = nullptr
static

Definition at line 34 of file Integrator.h.

◆ limits_

std::vector<Limits> limits_
protectedinherited

Definition at line 58 of file Integrator.h.

◆ maxeval_

int maxeval_
protected

Definition at line 43 of file Integrator.h.

◆ mineval_

int mineval_
protected

Definition at line 43 of file Integrator.h.

◆ name_

const std::string name_
protectedinherited

Definition at line 45 of file NamedModule.h.

◆ ncomp_

int ncomp_
protected

Definition at line 41 of file Integrator.h.

◆ nvec_

int nvec_
protected

Definition at line 41 of file Integrator.h.

◆ params_

ParametersList params_
mutableprotectedinherited

Definition at line 50 of file Steerable.h.

◆ rnd_gen_

const std::unique_ptr<utils::RandomGenerator> rnd_gen_
protectedinherited

Definition at line 56 of file Integrator.h.

◆ verbose_

int verbose_
protected

Definition at line 44 of file Integrator.h.

◆ verbosity_

int verbosity_
protectedinherited

Definition at line 57 of file Integrator.h.