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

Implementation the Crystal Ball line shape. More...

#include <CrystalBallShape.h>

Inheritance diagram for hydra::CrystalBallShape< ArgType, Signature >:
Collaboration diagram for hydra::CrystalBallShape< ArgType, Signature >:

Public Member Functions

 CrystalBallShape ()=delete
 
 CrystalBallShape (Parameter const &mean, Parameter const &sigma, Parameter const &alpha, Parameter const &n)
 
__hydra_host__ __hydra_device__ CrystalBallShape (CrystalBallShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ CrystalBallShape< ArgType > & operator= (CrystalBallShape< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< CrystalBallShape< ArgType >, Signature, 4 >
__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< CrystalBallShape< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ CrystalBallShape< ArgType > & 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< CrystalBallShape< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< CrystalBallShape< ArgType >, Signature, 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< CrystalBallShape< ArgType >, Signature, 4 >
enum  
 
typedef detail::signature_traits< Signature >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< Signature >::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< CrystalBallShape< ArgType >, Signature, 4 >
BaseFunctor< CrystalBallShape< ArgType >, Signature, NPARAM > & _par
 

Detailed Description

template<typename ArgType, typename Signature = double(ArgType)>
class hydra::CrystalBallShape< ArgType, Signature >

Implementation the Crystal Ball line shape.

Examples:
crystal_ball_plus_exponential.inl.

Constructor & Destructor Documentation

◆ CrystalBallShape() [1/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::CrystalBallShape< ArgType, Signature >::CrystalBallShape ( )
delete

◆ CrystalBallShape() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::CrystalBallShape< ArgType, Signature >::CrystalBallShape ( Parameter const &  mean,
Parameter const &  sigma,
Parameter const &  alpha,
Parameter const &  n 
)
inline

◆ CrystalBallShape() [3/3]

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ hydra::CrystalBallShape< ArgType, Signature >::CrystalBallShape ( CrystalBallShape< ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::CrystalBallShape< ArgType, Signature >::Evaluate ( ArgType  x) const
inline

◆ operator=()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ CrystalBallShape<ArgType>& hydra::CrystalBallShape< ArgType, Signature >::operator= ( CrystalBallShape< ArgType > const &  other)
inline

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