hep-mc  0.8
Public Types | Public Member Functions | Static Public Attributes | List of all members
hep::integrand< T, F, distributions > Class Template Reference

Detailed Description

template<typename T, typename F, bool distributions>
class hep::integrand< T, F, distributions >

Class representing a function that can be integrated using the PLAIN-like algorithms, which currently are PLAIN and VEGAS.

Inheritance diagram for hep::integrand< T, F, distributions >:
hep::multi_channel_integrand< T, F, M, distributions >

Public Types

using numeric_type = T
 
using function_type = F
 

Public Member Functions

template<typename G >
 integrand (G &&function, std::size_t dimensions, std::vector< distribution_parameters< T >> const &parameters)
 
std::size_t dimensions () const
 
F & function ()
 
std::vector< distribution_parameters< T > > const & parameters () const
 

Static Public Attributes

static constexpr bool has_distributions = distributions
 

Member Typedef Documentation

◆ function_type

template<typename T , typename F , bool distributions>
using hep::integrand< T, F, distributions >::function_type = F

The type of the integrand function that is integrated.

◆ numeric_type

template<typename T , typename F , bool distributions>
using hep::integrand< T, F, distributions >::numeric_type = T

Numeric type of the integrand.

Constructor & Destructor Documentation

◆ integrand()

template<typename T , typename F , bool distributions>
template<typename G >
hep::integrand< T, F, distributions >::integrand ( G &&  function,
std::size_t  dimensions,
std::vector< distribution_parameters< T >> const &  parameters 
)
inline

Constructor. Instead of using the constructor directly you should consider using one of the helper functions make_integrand.

Member Function Documentation

◆ dimensions()

template<typename T , typename F , bool distributions>
std::size_t hep::integrand< T, F, distributions >::dimensions ( ) const
inline

Returns the dimension of the integrand.

◆ function()

template<typename T , typename F , bool distributions>
F& hep::integrand< T, F, distributions >::function ( )
inline

Returns the integrand's function.

◆ parameters()

template<typename T , typename F , bool distributions>
std::vector<distribution_parameters<T> > const& hep::integrand< T, F, distributions >::parameters ( ) const
inline

Returns the parameters of the distribution(s).

Member Data Documentation

◆ has_distributions

template<typename T , typename F , bool distributions>
constexpr bool hep::integrand< T, F, distributions >::has_distributions = distributions
static

Signals whether this integrand wants to generate distributions or not.