hep-mc  0.8
Public Member Functions | Protected Attributes | List of all members
hep::mc_point< T > Class Template Reference

Detailed Description

template<typename T>
class hep::mc_point< T >

A random point \( \vec{x} \in [0,1]^d \) in the \( d \)-dimensional hypercube with an associated weight.

Examples:
checkpoints.cpp, checkpoints2.cpp, distributions_example.cpp, mpi_vegas_example.cpp, two_dimensional_distribution.cpp, vegas_example.cpp, vegas_stop_after_precision.cpp, and vegas_write_pdf.cpp.
Inheritance diagram for hep::mc_point< T >:
hep::multi_channel_point< T > hep::vegas_point< T > hep::multi_channel_point2< T, M >

Public Member Functions

 mc_point (std::vector< T > const &point, T weight=T(1.0))
 
 mc_point (mc_point< T > const &)=delete
 
 mc_point (mc_point< T > &&)=delete
 
mc_pointoperator= (mc_point< T > const &)=delete
 
mc_pointoperator= (mc_point< T > &&)=delete
 
virtual ~mc_point ()=default
 
virtual T weight () const
 
std::vector< T > const & point () const
 

Protected Attributes

weight_
 
std::vector< T > const & point_
 

Constructor & Destructor Documentation

◆ mc_point() [1/3]

template<typename T>
hep::mc_point< T >::mc_point ( std::vector< T > const &  point,
weight = T(1.0) 
)
inlineexplicit

Constructor. The weight is computed using the inverse of calls, point determines the location of this point in the hypercube of dimension point.size().

◆ mc_point() [2/3]

template<typename T>
hep::mc_point< T >::mc_point ( mc_point< T > const &  )
delete

There is no copy constructor.

◆ mc_point() [3/3]

template<typename T>
hep::mc_point< T >::mc_point ( mc_point< T > &&  )
delete

There is no move constructor.

◆ ~mc_point()

template<typename T>
virtual hep::mc_point< T >::~mc_point ( )
virtualdefault

Destructor.

Member Function Documentation

◆ operator=() [1/2]

template<typename T>
mc_point& hep::mc_point< T >::operator= ( mc_point< T > const &  )
delete

There is no copy assignment operator.

◆ operator=() [2/2]

template<typename T>
mc_point& hep::mc_point< T >::operator= ( mc_point< T > &&  )
delete

There is no move assignment operator.

◆ point()

template<typename T>
std::vector<T> const& hep::mc_point< T >::point ( ) const
inline

The coordinates of this point of the hypercube. The dimension can be obtained using point.size().

◆ weight()

template<typename T>
virtual T hep::mc_point< T >::weight ( ) const
inlinevirtual

The weight \( w \) of this point. The PLAIN integrator (plain) produces points that have weight equals one, i.e. are constant over the entire unit-hypercube. This also means that weight does not include the averaging factor \( 1 / N \) that is used to produce the expected value.

Reimplemented in hep::multi_channel_point2< T, M >.

Member Data Documentation

◆ point_

template<typename T>
std::vector<T> const& hep::mc_point< T >::point_
protected

◆ weight_

template<typename T>
T hep::mc_point< T >::weight_
mutableprotected