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

Detailed Description

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

Class capturing the complete internal state of the Multi Channel Integrator.

Inheritance diagram for hep::multi_channel_chkpt< T >:
hep::chkpt< multi_channel_result< T > >

Public Member Functions

 multi_channel_chkpt (T min_weight, T beta)
 
 multi_channel_chkpt (std::vector< T > const &channel_weights, T min_weight, T beta)
 
 multi_channel_chkpt (std::istream &in)
 
std::vector< T > channel_weights () const
 
void channels (std::size_t channels)
 
beta () const
 
min_weight () const
 
void serialize (std::ostream &out) const override
 
- Public Member Functions inherited from hep::chkpt< multi_channel_result< T > >
 chkpt ()=default
 
 chkpt (std::istream &in)
 
 chkpt (chkpt< multi_channel_result< T > > const &)=default
 
 chkpt (chkpt< multi_channel_result< T > > &&) noexcept=default
 
chkptoperator= (chkpt< multi_channel_result< T > > const &)=default
 
chkptoperator= (chkpt< multi_channel_result< T > > &&) noexcept=default
 
std::vector< multi_channel_result< T > > const & results () const
 
virtual ~chkpt ()=default
 

Additional Inherited Members

- Public Types inherited from hep::chkpt< multi_channel_result< T > >
using result_type = multi_channel_result< T >
 
- Protected Attributes inherited from hep::chkpt< multi_channel_result< T > >
std::vector< multi_channel_result< T > > results_
 

Constructor & Destructor Documentation

◆ multi_channel_chkpt() [1/3]

template<typename T >
hep::multi_channel_chkpt< T >::multi_channel_chkpt ( min_weight,
beta 
)
inline

Constructor. Do not use directly, but instead use make_multi_channel_chkpt.

◆ multi_channel_chkpt() [2/3]

template<typename T >
hep::multi_channel_chkpt< T >::multi_channel_chkpt ( std::vector< T > const &  channel_weights,
min_weight,
beta 
)
inline

Constructor. Do not use directly, but instead use make_multi_channel_chkpt.

◆ multi_channel_chkpt() [3/3]

template<typename T >
hep::multi_channel_chkpt< T >::multi_channel_chkpt ( std::istream &  in)
inlineexplicit

Deserialization constructor. Do not use directly, but instead use make_multi_channel_chkpt.

Member Function Documentation

◆ beta()

template<typename T >
T hep::multi_channel_chkpt< T >::beta ( ) const
inline

Returns the parameter \( \beta \) used to refine the weights with multi_channel_refine_weights.

◆ channel_weights()

template<typename T >
std::vector<T> hep::multi_channel_chkpt< T >::channel_weights ( ) const
inline

Returns the channel weights for the next iteration.

◆ channels()

template<typename T >
void hep::multi_channel_chkpt< T >::channels ( std::size_t  channels)
inline

Sets the number of channels.

◆ min_weight()

template<typename T >
T hep::multi_channel_chkpt< T >::min_weight ( ) const
inline

The smallest weight allowed for each channel. This does not concern weights which are exactly zero, which disable channels.

◆ serialize()

template<typename T >
void hep::multi_channel_chkpt< T >::serialize ( std::ostream &  out) const
inlineoverridevirtual

Serializes this object. This writes a textual representation of this class to the stream out.

Reimplemented from hep::chkpt< multi_channel_result< T > >.