Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
hydra::PhaseSpaceReweight< Functor, ParticleTypes > Class Template Reference

#include <Decays.h>

Inheritance diagram for hydra::PhaseSpaceReweight< Functor, ParticleTypes >:
Collaboration diagram for hydra::PhaseSpaceReweight< Functor, ParticleTypes >:

Public Member Functions

 PhaseSpaceReweight ()=delete
 
 PhaseSpaceReweight (Functor const &functor, double motherMass, const double(&daughtersMasses)[base_type::arity])
 
 PhaseSpaceReweight (Functor const &functor, double motherMass, std::array< double, base_type::arity > const &daughtersMasses)
 
__hydra_host__ __hydra_device__ PhaseSpaceReweight (PhaseSpaceReweight< Functor, ParticleTypes... > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ParticleTypes... p) const
 
__hydra_host__ __hydra_device__ const Functor & GetFunctor () const
 
__hydra_host__ __hydra_device__ const doubleGetMasses () const
 
__hydra_host__ __hydra_device__ double GetMaxWeight () const
 
template<typename T = Functor>
__hydra_host__ __hydra_device__ std::enable_if< std::is_copy_assignable< T >::value, PhaseSpaceReweight< T, ParticleTypes... > & >::type operator= (PhaseSpaceReweight< T, ParticleTypes... > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), 0 >
__hydra_host__ __hydra_device__ BaseFunctor ()
 Default constructor. More...
 
 BaseFunctor (std::initializer_list< Parameter > init_parameters)
 Constructor taking a list of parameters. More...
 
 BaseFunctor (std::array< Parameter, NPARAM > const &init_parameters)
 Constructor taking std::array of parameters. More...
 
__hydra_host__ __hydra_device__ BaseFunctor (BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ PhaseSpaceReweight< Functor, ParticleTypes... > & GetFunctor ()
 
__hydra_host__ __hydra_device__ GReal_t GetNorm () const
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_valid_type_pack< argument_type, T... >::value), return_type >::type operator() (T...x) const
 
__hydra_host__ __hydra_device__ std::enable_if< detail::is_valid_type_pack< argument_type, T... >::value, return_type >::type operator() (T...x) const
 Function call operator overload taking a pack of parameters convertible to the lambda signature. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T >::type >::value) &&(!detail::is_tuple_of_function_arguments< typename std::decay< T >::type >::value) &&(hydra::thrust::detail::is_convertible< typename std::decay< T >::type, argument_type >::value), return_type >::type operator() (T x) const
 Unary function call operator overload taking a tuple containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T >::type >::value), return_type >::type operator() (T x) const
 Unary function call operator overload taking a tuple containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T1 x, T2 y) const
 Binary function call operator overload taking two tuples containing the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_function_argument< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T1 x, T2 y) const
 Binary function call operator overload taking one tuple and a non-tuple, that containing put together would contain the lambda arguments in any order. More...
 
__hydra_host__ __hydra_device__ std::enable_if<(!detail::is_tuple_type< typename std::decay< T1 >::type >::value) &&(detail::is_function_argument< typename std::decay< T1 >::type >::value) &&(detail::is_tuple_type< typename std::decay< T2 >::type >::value) &&(detail::is_tuple_of_function_arguments< typename std::decay< T2 >::type >::value), return_type >::type operator() (T2 y, T1 x) const
 Binary function call operator overload taking one tuple and a non-tuple, that containing put together would contain the lambda arguments in any other. More...
 
__hydra_host__ __hydra_device__ BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), NPARAM > & operator= (BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), NPARAM > const &other)
 Assignment operator. More...
 
void PrintRegisteredParameters ()
 Print registered parameters. More...
 
__hydra_host__ __hydra_device__ void SetNorm (GReal_t norm)
 
- Public Member Functions inherited from hydra::detail::Parameters< NPARAM >
 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
 
__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)
 
__hydra_host__ __hydra_device__ GReal_t operator[] (Int i) const
 
__hydra_host__ __hydra_device__ hydra::ParameterParameter (Int i)
 
__hydra_host__ hydra::ParameterParameter (const char *name)
 
void PrintParameters ()
 Print registered parameters. More...
 
__hydra_host__ __hydra_device__ void SetParameter (Int i, hydra::Parameter const &value)
 
__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...
 

Additional Inherited Members

- Public Types inherited from hydra::BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), 0 >
enum  
 
typedef detail::signature_traits< double(ParticleTypes...) >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< double(ParticleTypes...) >::return_type return_type
 
- Static Public Attributes inherited from hydra::detail::Parameters< NPARAM >
static const size_t parameter_count
 
- Protected Attributes inherited from hydra::BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), 0 >
BaseFunctor< PhaseSpaceReweight< Functor, ParticleTypes... >, double(ParticleTypes...), NPARAM > & _par
 

Detailed Description

template<typename Functor, typename ... ParticleTypes>
class hydra::PhaseSpaceReweight< Functor, ParticleTypes >

Constructor & Destructor Documentation

◆ PhaseSpaceReweight() [1/4]

template<typename Functor , typename ... ParticleTypes>
hydra::PhaseSpaceReweight< Functor, ParticleTypes >::PhaseSpaceReweight ( )
delete

◆ PhaseSpaceReweight() [2/4]

template<typename Functor , typename ... ParticleTypes>
hydra::PhaseSpaceReweight< Functor, ParticleTypes >::PhaseSpaceReweight ( Functor const &  functor,
double  motherMass,
const double(&)  daughtersMasses[base_type::arity] 
)
inline

◆ PhaseSpaceReweight() [3/4]

template<typename Functor , typename ... ParticleTypes>
hydra::PhaseSpaceReweight< Functor, ParticleTypes >::PhaseSpaceReweight ( Functor const &  functor,
double  motherMass,
std::array< double, base_type::arity > const &  daughtersMasses 
)
inline

◆ PhaseSpaceReweight() [4/4]

template<typename Functor , typename ... ParticleTypes>
__hydra_host__ __hydra_device__ hydra::PhaseSpaceReweight< Functor, ParticleTypes >::PhaseSpaceReweight ( PhaseSpaceReweight< Functor, ParticleTypes... > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename Functor , typename ... ParticleTypes>
__hydra_host__ __hydra_device__ double hydra::PhaseSpaceReweight< Functor, ParticleTypes >::Evaluate ( ParticleTypes...  p) const
inline

◆ GetFunctor()

template<typename Functor , typename ... ParticleTypes>
__hydra_host__ __hydra_device__ const Functor& hydra::PhaseSpaceReweight< Functor, ParticleTypes >::GetFunctor ( ) const
inline

◆ GetMasses()

template<typename Functor , typename ... ParticleTypes>
__hydra_host__ __hydra_device__ const double* hydra::PhaseSpaceReweight< Functor, ParticleTypes >::GetMasses ( ) const
inline

◆ GetMaxWeight()

template<typename Functor , typename ... ParticleTypes>
__hydra_host__ __hydra_device__ double hydra::PhaseSpaceReweight< Functor, ParticleTypes >::GetMaxWeight ( ) const
inline

◆ operator=()

template<typename Functor , typename ... ParticleTypes>
template<typename T = Functor>
__hydra_host__ __hydra_device__ std::enable_if<std::is_copy_assignable<T>::value, PhaseSpaceReweight<T, ParticleTypes...> &>::type hydra::PhaseSpaceReweight< Functor, ParticleTypes >::operator= ( PhaseSpaceReweight< T, ParticleTypes... > const &  other)
inline

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