Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::detail::Parameters< N > Class Template Reference

#include <Parameters.h>

Inheritance diagram for hydra::detail::Parameters< N >:
Collaboration diagram for hydra::detail::Parameters< N >:

Public Member Functions

 Parameters ()=default
 
 Parameters (std::initializer_list< hydra::Parameter > init_parameters)
 
 Parameters (std::array< hydra::Parameter, N > const &init_parameters)
 
__hydra_host__ __hydra_device__ Parameters (hydra::Parameter(&init_parameters)[N])
 
__hydra_host__ __hydra_device__ Parameters (Parameters< N > const &other)
 
void AddUserParameters (std::vector< hydra::Parameter *> &user_parameters)
 
__hydra_host__ __hydra_device__ size_t GetNumberOfParameters () const
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ const hydra::ParameterGetParameter (Int i) const
 
__hydra_host__ const hydra::ParameterGetParameter (const char *name) const
 
__hydra_host__ __hydra_device__ const hydra::ParameterGetParameters () const
 
size_t GetParametersKey ()
 
__hydra_host__ __hydra_device__ Parameters< N > & operator= (Parameters< N > const &other)
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ GReal_t operator[] (Int i) const
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ hydra::ParameterParameter (Int i)
 
__hydra_host__ hydra::ParameterParameter (const char *name)
 
void PrintParameters ()
 Print registered parameters. More...
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ void SetParameter (Int i, hydra::Parameter const &value)
 
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ void SetParameter (Int i, double value)
 
__hydra_host__ void SetParameter (const char *name, hydra::Parameter const &value)
 
__hydra_host__ void SetParameter (const char *name, double value)
 
__hydra_host__ void SetParameters (const std::vector< double > &parameters)
 Set parameters. More...
 
virtual void Update (void)
 This method offers an opportunity to redo calculations and update values that depends only on the functor parameters. More...
 

Static Public Attributes

static const size_t parameter_count =N
 

Detailed Description

template<size_t N>
class hydra::detail::Parameters< N >

Constructor & Destructor Documentation

◆ Parameters() [1/5]

template<size_t N>
hydra::detail::Parameters< N >::Parameters ( )
default

◆ Parameters() [2/5]

template<size_t N>
hydra::detail::Parameters< N >::Parameters ( std::initializer_list< hydra::Parameter init_parameters)
inline

◆ Parameters() [3/5]

template<size_t N>
hydra::detail::Parameters< N >::Parameters ( std::array< hydra::Parameter, N > const &  init_parameters)
inline

◆ Parameters() [4/5]

template<size_t N>
__hydra_host__ __hydra_device__ hydra::detail::Parameters< N >::Parameters ( hydra::Parameter(&)  init_parameters[N])
inline

◆ Parameters() [5/5]

template<size_t N>
__hydra_host__ __hydra_device__ hydra::detail::Parameters< N >::Parameters ( Parameters< N > const &  other)
inline

Member Function Documentation

◆ AddUserParameters()

template<size_t N>
void hydra::detail::Parameters< N >::AddUserParameters ( std::vector< hydra::Parameter *> &  user_parameters)
inline

◆ GetNumberOfParameters()

template<size_t N>
__hydra_host__ __hydra_device__ size_t hydra::detail::Parameters< N >::GetNumberOfParameters ( ) const
inline

◆ GetParameter() [1/2]

template<size_t N>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ const hydra::Parameter& hydra::detail::Parameters< N >::GetParameter ( Int  i) const
inline

◆ GetParameter() [2/2]

template<size_t N>
__hydra_host__ const hydra::Parameter& hydra::detail::Parameters< N >::GetParameter ( const char *  name) const
inline

◆ GetParameters()

template<size_t N>
__hydra_host__ __hydra_device__ const hydra::Parameter* hydra::detail::Parameters< N >::GetParameters ( ) const
inline

◆ GetParametersKey()

template<size_t N>
size_t hydra::detail::Parameters< N >::GetParametersKey ( )
inline

◆ operator=()

template<size_t N>
__hydra_host__ __hydra_device__ Parameters<N>& hydra::detail::Parameters< N >::operator= ( Parameters< N > const &  other)
inline

◆ operator[]()

template<size_t N>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ GReal_t hydra::detail::Parameters< N >::operator[] ( Int  i) const
inline

◆ Parameter() [1/2]

template<size_t N>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ hydra::Parameter& hydra::detail::Parameters< N >::Parameter ( Int  i)
inline

◆ Parameter() [2/2]

template<size_t N>
__hydra_host__ hydra::Parameter& hydra::detail::Parameters< N >::Parameter ( const char *  name)
inline

◆ PrintParameters()

template<size_t N>
void hydra::detail::Parameters< N >::PrintParameters ( )
inline

Print registered parameters.

◆ SetParameter() [1/4]

template<size_t N>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ void hydra::detail::Parameters< N >::SetParameter ( Int  i,
hydra::Parameter const &  value 
)
inline

◆ SetParameter() [2/4]

template<size_t N>
template<typename Int , typename = typename std::enable_if<std::is_integral<Int>::value, void>::type>
__hydra_host__ __hydra_device__ void hydra::detail::Parameters< N >::SetParameter ( Int  i,
double  value 
)
inline

◆ SetParameter() [3/4]

template<size_t N>
__hydra_host__ void hydra::detail::Parameters< N >::SetParameter ( const char *  name,
hydra::Parameter const &  value 
)
inline

◆ SetParameter() [4/4]

template<size_t N>
__hydra_host__ void hydra::detail::Parameters< N >::SetParameter ( const char *  name,
double  value 
)
inline

◆ SetParameters()

template<size_t N>
__hydra_host__ void hydra::detail::Parameters< N >::SetParameters ( const std::vector< double > &  parameters)
inline

Set parameters.

Parameters
parameters

◆ Update()

template<size_t N>
virtual void hydra::detail::Parameters< N >::Update ( void  )
inlinevirtual

This method offers an opportunity to redo calculations and update values that depends only on the functor parameters.

Update takes no arguments. Parameters can be accessed by index or name using GetParameter(...).

This method is called in all modifying parameters operations.

Reimplemented in Resonance< L, Signature >, and hydra::ChiSquare< ArgType, Signature >.

Field Documentation

◆ parameter_count

template<size_t N>
const size_t hydra::detail::Parameters< N >::parameter_count =N
static

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