Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
Common functors

Common functors, line-shapes and functions. More...

Collaboration diagram for Common functors:

Namespaces

 hydra
 Generic policies definition.
 

Data Structures

class  BreitWignerNR
 non-relativistic Breit-Wigner shape More...
 
class  CosTheta
 This functor calculates the cosine of the helicity angle of the particle with four-vector D, which is daughter of the particle with four-vector Q and grand daughter of particle four-vector P . More...
 
class  hydra::ArgusShape< ArgType, Signature >
 Implementation describing the ARGUS background shape. More...
 
class  hydra::BifurcatedGaussian< ArgType, Signature >
 
class  hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >
 Breit-Wigner line shape for 3 body resonant decays \( A -> r c , r-> a b\) , where A is a "long-lived" particle and \( a, b\) and \(c\) are the final states. More...
 
class  hydra::Chebychev< Order, ArgType, Signature >
 The Chebyshev polynomials \( T_n \) (first kind) are polynomials with the largest possible leading coefficient, but subject to the condition that their absolute value on the interval [−1,1] is bounded by 1. More...
 
class  hydra::ChiSquare< ArgType, Signature >
 The chi-squared distribution (also chi-square or \( \chi^2 \) -distribution) with \( k \) degrees of freedom is the distribution of a sum of the squares of k independent standard normal random variables. More...
 
class  hydra::DeltaDMassBackground< ArgType, Signature >
 
class  hydra::DoubleExponential< ArgType, Signature >
 distribution https://en.wikipedia.org/wiki/Laplace_distribution More...
 
class  hydra::Exponential< ArgType, Signature >
 https://en.wikipedia.org/wiki/Exponential_function More...
 
class  hydra::Gaussian< ArgType, Signature >
 

Gaussian functions are often used to represent the probability density function of a normally distributed random variable with expected value \( \mu \) and variance \( \sigma \). More...
 
class  hydra::GaussianKDE< NBins, ArgType, Signature >
 
class  hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >
 
class  hydra::Ipatia< ArgType, Signature >
 version of the Ipatia distribution as described in the reference https://doi.org/10.1016/j.nima.2014.06.081. More...
 
class  hydra::LogNormal< ArgType, Signature >
 In probability theory, a log-normal (or lognormal) distribution is a continuous probability distribution of a random variable whose logarithm is normally distributed. More...
 
class  hydra::M12PhaseSpaceLineShape< ArgType >
 Two-body phase-space distribution for \( m_{12}\):

\[ \frac{dN}{dm_{m_12}} \propto q.p \]

. More...

 
class  hydra::M12SqPhaseSpaceLineShape< ArgType >
 Two-body phase-space distribution for \( m_{12}^2\):

\[ \frac{dN}{dm^2_{12}} \propto q.p/m^2_{12} \]

. More...

 
class  hydra::PlanesDeltaAngle
 This functor calculates the delta angle between decay plane of the particle with four-vector d2 and d3 (same plane) and h1 (other plane) More...
 
class  hydra::Polynomial< Order, ArgType, Signature >
 

From : https://en.wikipedia.org/wiki/Polynomial More...
 
struct  hydra::RngFormula< ChiSquare< ArgType > >
 
class  hydra::ThreeBodyMassThresholdBackground< ArgType, Signature >
 
class  hydra::TrapezoidalShape< ArgType, Signature >
 In probability theory and statistics, the trapezoidal distribution is a continuous probability distribution the graph of whose probability density function resembles a trapezoid. More...
 
class  hydra::TriangularShape< ArgType, Signature >
 From: https://en.wikipedia.org/wiki/Triangular_distribution. More...
 
class  hydra::UniformShape< ArgType, Signature >
 From: https://en.wikipedia.org/wiki/Uniform_distribution_(continuous) More...
 
class  hydra::WignerDMatrix< ArgType, Signature >
 Calculates the beta-term

\[ d^j_{mn}(beta) \]

in the matrix element of the finite rotation operator (Wigner's D-function), according to formula 4.3.4(eq. More...

 
class  hydra::ZemachFunction< L, ArgType, Signature >
 Zemach's angular probability distribution for 3-body decays of spinless particle into spinless final states as a function of \(\theta\), the helicity angle: More...
 
class  JohnsonSUShape
 Implementation the JohnsonSU line shape. More...
 

Enumerations

enum  hydra::Wave {
  hydra::SWave =0, hydra::PWave, hydra::DWave, hydra::FWave,
  hydra::GWave, hydra::HWave
}
 Orbital angular momentum tags. More...
 

Functions

template<hydra::Wave L>
__hydra_host__ __hydra_device__ double hydra::BarrierFactor (const double d, const double p0, const double p)
 Blatt-Weisskopf B' functions. More...
 

Detailed Description

Common functors, line-shapes and functions.


Data Structure Documentation

◆ BreitWignerNR

class BreitWignerNR

non-relativistic Breit-Wigner shape

Collaboration diagram for BreitWignerNR:

◆ CosTheta

class CosTheta

This functor calculates the cosine of the helicity angle of the particle with four-vector D, which is daughter of the particle with four-vector Q and grand daughter of particle four-vector P .

Examples:
phsp_chain.inl.
Collaboration diagram for CosTheta:

◆ hydra::ArgusShape

class hydra::ArgusShape

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

Implementation describing the ARGUS background shape.

Examples:
gaussian_plus_argus.inl.
Inheritance diagram for hydra::ArgusShape< ArgType, Signature >:
Collaboration diagram for hydra::ArgusShape< ArgType, Signature >:

Public Member Functions

 ArgusShape ()=delete
 
 ArgusShape (Parameter const &m0, Parameter const &slope, Parameter const &power)
 ArgusShape constructor. More...
 
__hydra_host__ __hydra_device__ ArgusShape (ArgusShape< ArgType > const &other)
 Copy constuctor. More...
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType m) const
 
__hydra_host__ __hydra_device__ ArgusShape< ArgType > & operator= (ArgusShape< ArgType > const &other)
 Assignment constructor. More...
 
- Public Member Functions inherited from hydra::BaseFunctor< ArgusShape< ArgType >, Signature, 3 >
__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< ArgusShape< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ ArgusShape< 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< ArgusShape< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< ArgusShape< 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< ArgusShape< ArgType >, Signature, 3 >
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< ArgusShape< ArgType >, Signature, 3 >
BaseFunctor< ArgusShape< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ ArgusShape() [1/3]

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

◆ ArgusShape() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::ArgusShape< ArgType, Signature >::ArgusShape ( Parameter const &  m0,
Parameter const &  slope,
Parameter const &  power 
)
inline

ArgusShape constructor.

Parameters
m0: resonance mass
slope: slope parameter
power: power

◆ ArgusShape() [3/3]

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

Copy constuctor.

Parameters
other

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

Assignment constructor.

Parameters
other
Returns

◆ hydra::BifurcatedGaussian

class hydra::BifurcatedGaussian

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

Examples:
basic_distributions.inl, and fill_basic_distributions.inl.
Inheritance diagram for hydra::BifurcatedGaussian< ArgType, Signature >:
Collaboration diagram for hydra::BifurcatedGaussian< ArgType, Signature >:

Public Member Functions

 BifurcatedGaussian ()=delete
 
 BifurcatedGaussian (Parameter const &mean, Parameter const &sigma_left, Parameter const &sigma_right)
 
__hydra_host__ __hydra_device__ BifurcatedGaussian (BifurcatedGaussian< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ BifurcatedGaussian< ArgType > & operator= (BifurcatedGaussian< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< BifurcatedGaussian< ArgType >, Signature, 3 >
__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< BifurcatedGaussian< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ BifurcatedGaussian< 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< BifurcatedGaussian< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< BifurcatedGaussian< 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< BifurcatedGaussian< ArgType >, Signature, 3 >
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< BifurcatedGaussian< ArgType >, Signature, 3 >
BaseFunctor< BifurcatedGaussian< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ BifurcatedGaussian() [1/3]

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

◆ BifurcatedGaussian() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::BifurcatedGaussian< ArgType, Signature >::BifurcatedGaussian ( Parameter const &  mean,
Parameter const &  sigma_left,
Parameter const &  sigma_right 
)
inline

◆ BifurcatedGaussian() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::BreitWignerLineShape

class hydra::BreitWignerLineShape

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
class hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >

Breit-Wigner line shape for 3 body resonant decays \( A -> r c , r-> a b\) , where A is a "long-lived" particle and \( a, b\) and \(c\) are the final states.

The lineshape is defined by the expression:

\[ R(m_{a,b}|m_0,\Lambda_0) = B'_{L_A}(d, p_0, p)(\frac{p}{m_A})^{L_A} \times \\ BW(m_{a,b}|m_0,\Lambda_0) \times B'_{L_r}(d, q_0, q)(\frac{q}{q_r})^{L_r} \]

where Breit-Wigner amplitude is given by:

\[ BW(m_{ab}|m_0,\Lambda_0)= \frac{1}{m_0^2 - m_{ab}^2 - im_0\Lambda(m_{ab})} \]

and

\[ \Lambda(m_{ab}) = \Lambda_0(\frac{q}{q_0})^{2L_{r}+1}\frac{m_0}{m}B'_{L_r}(d, q_0, q)\]

Template Parameters
ResonanceWavehydra::Wave resonance decay vertex wave
MotherWavehydra::Wave mother particle decay vertex wave
Inheritance diagram for hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >:
Collaboration diagram for hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >:

Public Member Functions

 BreitWignerLineShape ()=delete
 
 BreitWignerLineShape (Parameter const &mass, Parameter const &width, double mother_mass, double daugther1_mass, double daugther2_mass, double bachelor_mass, double radi)
 
__hydra_host__ __hydra_device__ BreitWignerLineShape (BreitWignerLineShape< ResonanceWave, MotherWave, ArgType > const &other)
 
__hydra_host__ __hydra_device__ hydra::complex< doubleEvaluate (ArgType m) const
 
 fBachelorMass (bachelor_mass)
 
 fDaughter1Mass (daugther1_mass)
 
 fDaughter2Mass (daugther2_mass)
 
 fMotherMass (mother_mass)
 
 fRadi (radi)
 
__hydra_host__ __hydra_device__ double GetBachelorMass () const
 
__hydra_host__ __hydra_device__ double GetDaughter1Mass () const
 
__hydra_host__ __hydra_device__ double GetDaughter2Mass () const
 
__hydra_host__ __hydra_device__ double GetMotherMass () const
 
__hydra_host__ __hydra_device__ double GetRadi () const
 
__hydra_host__ __hydra_device__ BreitWignerLineShape< ResonanceWave, MotherWave, ArgType > & operator= (BreitWignerLineShape< ResonanceWave, MotherWave, ArgType > const &other)
 
__hydra_host__ __hydra_device__ void SetBachelorMass (double daughter3Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter1Mass (double daughter1Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter2Mass (double daughter2Mass)
 
__hydra_host__ __hydra_device__ void SetMotherMass (double motherMass)
 
__hydra_host__ __hydra_device__ void SetRadi (double radi)
 
- Public Member Functions inherited from hydra::BaseFunctor< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, 2 >
__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< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ BreitWignerLineShape< ResonanceWave, MotherWave, 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< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< BreitWignerLineShape< ResonanceWave, MotherWave, 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< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, 2 >
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< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, 2 >
BaseFunctor< BreitWignerLineShape< ResonanceWave, MotherWave, ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ BreitWignerLineShape() [1/3]

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::BreitWignerLineShape ( )
delete

◆ BreitWignerLineShape() [2/3]

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::BreitWignerLineShape ( Parameter const &  mass,
Parameter const &  width,
double  mother_mass,
double  daugther1_mass,
double  daugther2_mass,
double  bachelor_mass,
double  radi 
)
inline
Parameters
massresonance mass.
widthresonance width.
mother_massresonance mother mass.
daugther1_massresonance daughter particle 1 mass
daugther2_massresonance daughter particle 2 mass
daugther3_massdaughter particle 2 mass
radidecay vertex radio.

◆ BreitWignerLineShape() [3/3]

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::BreitWignerLineShape ( BreitWignerLineShape< ResonanceWave, MotherWave, ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ hydra::complex<double> hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::Evaluate ( ArgType  m) const
inline

◆ fBachelorMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::fBachelorMass ( bachelor_mass  )

◆ fDaughter1Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::fDaughter1Mass ( daugther1_mass  )

◆ fDaughter2Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::fDaughter2Mass ( daugther2_mass  )

◆ fMotherMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::fMotherMass ( mother_mass  )

◆ fRadi()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::fRadi ( radi  )
inline

◆ GetBachelorMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ double hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::GetBachelorMass ( ) const
inline

◆ GetDaughter1Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ double hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::GetDaughter1Mass ( ) const
inline

◆ GetDaughter2Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ double hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::GetDaughter2Mass ( ) const
inline

◆ GetMotherMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ double hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::GetMotherMass ( ) const
inline

◆ GetRadi()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ double hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::GetRadi ( ) const
inline

◆ operator=()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ BreitWignerLineShape<ResonanceWave,MotherWave,ArgType>& hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::operator= ( BreitWignerLineShape< ResonanceWave, MotherWave, ArgType > const &  other)
inline

◆ SetBachelorMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ void hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::SetBachelorMass ( double  daughter3Mass)
inline

◆ SetDaughter1Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ void hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::SetDaughter1Mass ( double  daughter1Mass)
inline

◆ SetDaughter2Mass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ void hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::SetDaughter2Mass ( double  daughter2Mass)
inline

◆ SetMotherMass()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ void hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::SetMotherMass ( double  motherMass)
inline

◆ SetRadi()

template<Wave ResonanceWave, Wave MotherWave, typename ArgType, typename Signature = hydra::complex<double>(ArgType)>
__hydra_host__ __hydra_device__ void hydra::BreitWignerLineShape< ResonanceWave, MotherWave, ArgType, Signature >::SetRadi ( double  radi)
inline

◆ hydra::Chebychev

class hydra::Chebychev

template<unsigned int Order, typename ArgType, typename Signature = double(ArgType)>
class hydra::Chebychev< Order, ArgType, Signature >

The Chebyshev polynomials \( T_n \) (first kind) are polynomials with the largest possible leading coefficient, but subject to the condition that their absolute value on the interval [−1,1] is bounded by 1.

Inheritance diagram for hydra::Chebychev< Order, ArgType, Signature >:
Collaboration diagram for hydra::Chebychev< Order, ArgType, Signature >:

Public Member Functions

 Chebychev ()=delete
 
 Chebychev (double min, double max, std::array< Parameter, Order+1 > const &coeficients)
 
__hydra_host__ __hydra_device__ Chebychev (Chebychev< Order, ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ double GetMaximum () const
 
__hydra_host__ __hydra_device__ double GetMinimum () const
 
__hydra_host__ __hydra_device__ Chebychev< Order, ArgType > & operator= (Chebychev< Order, ArgType > const &other)
 
__hydra_host__ __hydra_device__ void SetMaximum (double maximum)
 
__hydra_host__ __hydra_device__ void SetMinimum (double minimum)
 
- Public Member Functions inherited from hydra::BaseFunctor< Chebychev< Order, ArgType >, Signature, Order+1 >
__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< Chebychev< Order, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Chebychev< Order, 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< Chebychev< Order, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< Chebychev< Order, 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< Chebychev< Order, ArgType >, Signature, Order+1 >
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< Chebychev< Order, ArgType >, Signature, Order+1 >
BaseFunctor< Chebychev< Order, ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ Chebychev() [1/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
hydra::Chebychev< Order, ArgType, Signature >::Chebychev ( )
delete

◆ Chebychev() [2/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
hydra::Chebychev< Order, ArgType, Signature >::Chebychev ( double  min,
double  max,
std::array< Parameter, Order+1 > const &  coeficients 
)
inline

◆ Chebychev() [3/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ hydra::Chebychev< Order, ArgType, Signature >::Chebychev ( Chebychev< Order, ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::Chebychev< Order, ArgType, Signature >::Evaluate ( ArgType  x) const
inline

◆ GetMaximum()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::Chebychev< Order, ArgType, Signature >::GetMaximum ( ) const
inline

◆ GetMinimum()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::Chebychev< Order, ArgType, Signature >::GetMinimum ( ) const
inline

◆ operator=()

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

◆ SetMaximum()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ void hydra::Chebychev< Order, ArgType, Signature >::SetMaximum ( double  maximum)
inline

◆ SetMinimum()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ void hydra::Chebychev< Order, ArgType, Signature >::SetMinimum ( double  minimum)
inline

◆ hydra::ChiSquare

class hydra::ChiSquare

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

The chi-squared distribution (also chi-square or \( \chi^2 \) -distribution) with \( k \) degrees of freedom is the distribution of a sum of the squares of k independent standard normal random variables.

The chi-square distribution is a special case of the gamma distribution and is one of the most widely used probability distributions in inferential statistics, notably in hypothesis testing or in construction of confidence intervals.

Examples:
basic_distributions.inl, fill_basic_distributions.inl, and pseudo_experiment.inl.
Inheritance diagram for hydra::ChiSquare< ArgType, Signature >:
Collaboration diagram for hydra::ChiSquare< ArgType, Signature >:

Public Member Functions

 ChiSquare ()=delete
 
 ChiSquare (Parameter const &ndof)
 
__hydra_host__ __hydra_device__ ChiSquare (ChiSquare< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType m) const
 
__hydra_host__ __hydra_device__ double GetDenominator () const
 
__hydra_host__ __hydra_device__ ChiSquare< ArgType > & operator= (ChiSquare< ArgType > const &other)
 
void Update (void) override
 This method offers an opportunity to redo calculations and update values that depends only on the functor parameters. More...
 
- Public Member Functions inherited from hydra::BaseFunctor< ChiSquare< ArgType >, Signature, 1 >
__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< ChiSquare< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ ChiSquare< 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< ChiSquare< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< ChiSquare< 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...
 

Additional Inherited Members

- Public Types inherited from hydra::BaseFunctor< ChiSquare< ArgType >, Signature, 1 >
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< ChiSquare< ArgType >, Signature, 1 >
BaseFunctor< ChiSquare< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ ChiSquare() [1/3]

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

◆ ChiSquare() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::ChiSquare< ArgType, Signature >::ChiSquare ( Parameter const &  ndof)
inline

◆ ChiSquare() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ GetDenominator()

template<typename ArgType, typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::ChiSquare< ArgType, Signature >::GetDenominator ( ) const
inline

◆ operator=()

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

◆ Update()

template<typename ArgType, typename Signature = double(ArgType)>
void hydra::ChiSquare< ArgType, Signature >::Update ( void  )
inlineoverridevirtual

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 from hydra::detail::Parameters< NPARAM >.

◆ hydra::DeltaDMassBackground

class hydra::DeltaDMassBackground

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

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

Public Member Functions

 DeltaDMassBackground ()=delete
 
 DeltaDMassBackground (Parameter const &threshold, Parameter const &A, Parameter const &B, Parameter const &C)
 
__hydra_host__ __hydra_device__ DeltaDMassBackground (DeltaDMassBackground< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ DeltaDMassBackground< ArgType > & operator= (DeltaDMassBackground< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< DeltaDMassBackground< 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< DeltaDMassBackground< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ DeltaDMassBackground< 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< DeltaDMassBackground< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< DeltaDMassBackground< 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< DeltaDMassBackground< 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< DeltaDMassBackground< ArgType >, Signature, 4 >
BaseFunctor< DeltaDMassBackground< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ DeltaDMassBackground() [1/3]

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

◆ DeltaDMassBackground() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::DeltaDMassBackground< ArgType, Signature >::DeltaDMassBackground ( Parameter const &  threshold,
Parameter const &  A,
Parameter const &  B,
Parameter const &  C 
)
inline

◆ DeltaDMassBackground() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::DoubleExponential

class hydra::DoubleExponential

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

distribution https://en.wikipedia.org/wiki/Laplace_distribution

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

Public Member Functions

 DoubleExponential ()=delete
 
 DoubleExponential (Parameter const &tau, Parameter const &mean)
 
__hydra_host__ __hydra_device__ DoubleExponential (DoubleExponential< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ DoubleExponential< ArgType > & operator= (DoubleExponential< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< DoubleExponential< ArgType >, Signature, 2 >
__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< DoubleExponential< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ DoubleExponential< 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< DoubleExponential< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< DoubleExponential< 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< DoubleExponential< ArgType >, Signature, 2 >
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< DoubleExponential< ArgType >, Signature, 2 >
BaseFunctor< DoubleExponential< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ DoubleExponential() [1/3]

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

◆ DoubleExponential() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::DoubleExponential< ArgType, Signature >::DoubleExponential ( Parameter const &  tau,
Parameter const &  mean 
)
inline

◆ DoubleExponential() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::Exponential

class hydra::Exponential
Inheritance diagram for hydra::Exponential< ArgType, Signature >:
Collaboration diagram for hydra::Exponential< ArgType, Signature >:

Public Member Functions

 Exponential ()=delete
 
 Exponential (Parameter const &tau)
 
__hydra_host__ __hydra_device__ Exponential (Exponential< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ Exponential< ArgType > & operator= (Exponential< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< Exponential< ArgType >, Signature, 1 >
__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< Exponential< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Exponential< 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< Exponential< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< Exponential< 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< Exponential< ArgType >, Signature, 1 >
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< Exponential< ArgType >, Signature, 1 >
BaseFunctor< Exponential< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ Exponential() [1/3]

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

◆ Exponential() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::Exponential< ArgType, Signature >::Exponential ( Parameter const &  tau)
inline

◆ Exponential() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::Gaussian

class hydra::Gaussian

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



Gaussian functions are often used to represent the probability density function of a normally distributed random variable with expected value \( \mu \) and variance \( \sigma \).

In this case, the Gaussian is of the form:

\[ g(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{ -\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2 }. \]

Examples:
basic_distributions.inl, basic_fit.inl, basic_fit_range_semantics.inl, binned_extended_logLL_fit.inl, convolute_functions.inl, double_gaussian_plus_exponential.inl, extended_logLL_fit.inl, fill_basic_distributions.inl, fit_convoluted_pdfs.inl, fit_gaussian.C, fractional_logLL_fit.inl, gauss_kronrod.inl, gaussian_plus_argus.inl, multidimensional_fit.inl, pseudo_experiment.inl, simultaneous_fit.inl, and splot.inl.
Inheritance diagram for hydra::Gaussian< ArgType, Signature >:
Collaboration diagram for hydra::Gaussian< ArgType, Signature >:

Public Member Functions

 Gaussian ()=delete
 
 Gaussian (Parameter const &mean, Parameter const &sigma)
 
__hydra_host__ __hydra_device__ Gaussian (Gaussian< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ Gaussian< ArgType > & operator= (Gaussian< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< Gaussian< ArgType >, Signature, 2 >
__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< Gaussian< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Gaussian< 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< Gaussian< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< Gaussian< 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< Gaussian< ArgType >, Signature, 2 >
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< Gaussian< ArgType >, Signature, 2 >
BaseFunctor< Gaussian< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ Gaussian() [1/3]

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

◆ Gaussian() [2/3]

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

◆ Gaussian() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::GaussianKDE

class hydra::GaussianKDE

template<size_t NBins, typename ArgType, typename Signature = double(ArgType)>
class hydra::GaussianKDE< NBins, ArgType, Signature >

Inheritance diagram for hydra::GaussianKDE< NBins, ArgType, Signature >:
Collaboration diagram for hydra::GaussianKDE< NBins, ArgType, Signature >:

Public Member Functions

 GaussianKDE ()=delete
 
template<typename Iterator >
 GaussianKDE (double min, double max, double h, Iterator begin, Iterator end)
 
__hydra_host__ __hydra_device__ GaussianKDE (GaussianKDE< NBins, ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (unsigned int n, ArgType x) const
 
__hydra_host__ __hydra_device__ const CubicSpiline< NBins, ArgType > & GetSpiline () const
 
__hydra_host__ __hydra_device__ GaussianKDE< NBins, ArgType > & operator= (GaussianKDE< NBins, ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< GaussianKDE< NBins, ArgType >, Signature, 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< GaussianKDE< NBins, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ GaussianKDE< NBins, 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< GaussianKDE< NBins, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< GaussianKDE< NBins, 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< GaussianKDE< NBins, ArgType >, Signature, 0 >
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< GaussianKDE< NBins, ArgType >, Signature, 0 >
BaseFunctor< GaussianKDE< NBins, ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ GaussianKDE() [1/3]

template<size_t NBins, typename ArgType , typename Signature = double(ArgType)>
hydra::GaussianKDE< NBins, ArgType, Signature >::GaussianKDE ( )
delete

◆ GaussianKDE() [2/3]

template<size_t NBins, typename ArgType , typename Signature = double(ArgType)>
template<typename Iterator >
hydra::GaussianKDE< NBins, ArgType, Signature >::GaussianKDE ( double  min,
double  max,
double  h,
Iterator  begin,
Iterator  end 
)
inline

◆ GaussianKDE() [3/3]

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

Member Function Documentation

◆ Evaluate()

template<size_t NBins, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::GaussianKDE< NBins, ArgType, Signature >::Evaluate ( unsigned int  n,
ArgType  x 
) const
inline

◆ GetSpiline()

template<size_t NBins, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ const CubicSpiline<NBins, ArgType>& hydra::GaussianKDE< NBins, ArgType, Signature >::GetSpiline ( ) const
inline

◆ operator=()

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

◆ hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >

class hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >

template<typename ArgType>
class hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >

Collaboration diagram for hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >:

Protected Member Functions

std::pair< GReal_t, GReal_tEvalFormula (ChiSquare< ArgType >const &functor, double LowerLimit, double UpperLimit) const
 

Member Function Documentation

◆ EvalFormula()

template<typename ArgType >
std::pair<GReal_t, GReal_t> hydra::IntegrationFormula< ChiSquare< ArgType >, 1 >::EvalFormula ( ChiSquare< ArgType >const &  functor,
double  LowerLimit,
double  UpperLimit 
) const
inlineprotected

◆ hydra::Ipatia

class hydra::Ipatia

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

version of the Ipatia distribution as described in the reference https://doi.org/10.1016/j.nima.2014.06.081.

Note
hydra::Ipatia works only the parameters zeta=0 and l<0. This limitation is mostly due the lack of fractional order Bessel function in CUDA platform.
Inheritance diagram for hydra::Ipatia< ArgType, Signature >:
Collaboration diagram for hydra::Ipatia< ArgType, Signature >:

Public Member Functions

 Ipatia ()=delete
 
 Ipatia (Parameter const &mu, Parameter const &sigma, Parameter const &A1, Parameter const &N1, Parameter const &A2, Parameter const &N2, Parameter const &l, Parameter const &beta)
 
__hydra_host__ __hydra_device__ Ipatia (Ipatia< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ Ipatia< ArgType > & operator= (Ipatia< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< Ipatia< ArgType >, Signature, 8 >
__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< Ipatia< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Ipatia< 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< Ipatia< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< Ipatia< 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< Ipatia< ArgType >, Signature, 8 >
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< Ipatia< ArgType >, Signature, 8 >
BaseFunctor< Ipatia< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ Ipatia() [1/3]

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

◆ Ipatia() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::Ipatia< ArgType, Signature >::Ipatia ( Parameter const &  mu,
Parameter const &  sigma,
Parameter const &  A1,
Parameter const &  N1,
Parameter const &  A2,
Parameter const &  N2,
Parameter const &  l,
Parameter const &  beta 
)
inline

◆ Ipatia() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::LogNormal

class hydra::LogNormal

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

In probability theory, a log-normal (or lognormal) distribution is a continuous probability distribution of a random variable whose logarithm is normally distributed.

Thus, if the random variable X is log-normally distributed, then Y = ln(X) has a normal distribution.

Examples:
basic_distributions.inl, and fill_basic_distributions.inl.
Inheritance diagram for hydra::LogNormal< ArgType, Signature >:
Collaboration diagram for hydra::LogNormal< ArgType, Signature >:

Public Member Functions

 LogNormal ()=delete
 
 LogNormal (Parameter const &mean, Parameter const &sigma)
 
__hydra_host__ __hydra_device__ LogNormal (LogNormal< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ LogNormal< ArgType > & operator= (LogNormal< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< LogNormal< ArgType >, Signature, 2 >
__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< LogNormal< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ LogNormal< 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< LogNormal< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< LogNormal< 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< LogNormal< ArgType >, Signature, 2 >
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< LogNormal< ArgType >, Signature, 2 >
BaseFunctor< LogNormal< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ LogNormal() [1/3]

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

◆ LogNormal() [2/3]

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

◆ LogNormal() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::M12PhaseSpaceLineShape

class hydra::M12PhaseSpaceLineShape

template<typename ArgType>
class hydra::M12PhaseSpaceLineShape< ArgType >

Two-body phase-space distribution for \( m_{12}\):

\[ \frac{dN}{dm_{m_12}} \propto q.p \]

.

Inheritance diagram for hydra::M12PhaseSpaceLineShape< ArgType >:
Collaboration diagram for hydra::M12PhaseSpaceLineShape< ArgType >:

Public Member Functions

 M12PhaseSpaceLineShape ()=delete
 
 M12PhaseSpaceLineShape (double mother_mass, double daugther1_mass, double daugther2_mass, double daugther3_mass)
 
__hydra_host__ __hydra_device__ M12PhaseSpaceLineShape (M12PhaseSpaceLineShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
 fDaughter1Mass (daugther1_mass)
 
 fDaughter2Mass (daugther2_mass)
 
 fDaughter3Mass (daugther3_mass)
 
 fMotherMass (mother_mass)
 
__hydra_host__ __hydra_device__ double GetDaughter1Mass () const
 
__hydra_host__ __hydra_device__ double GetDaughter2Mass () const
 
__hydra_host__ __hydra_device__ double GetDaughter3Mass () const
 
__hydra_host__ __hydra_device__ double GetMotherMass () const
 
__hydra_host__ __hydra_device__ M12PhaseSpaceLineShape< ArgType > & operator= (M12PhaseSpaceLineShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ void SetDaughter1Mass (double daughter1Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter2Mass (double daughter2Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter3Mass (double daughter3Mass)
 
__hydra_host__ __hydra_device__ void SetMotherMass (double motherMass)
 
- Public Member Functions inherited from hydra::BaseFunctor< M12PhaseSpaceLineShape< ArgType >, 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< M12PhaseSpaceLineShape< ArgType >, 0, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ M12PhaseSpaceLineShape< 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< M12PhaseSpaceLineShape< ArgType >, 0, NPARAM > & operator= (BaseFunctor< M12PhaseSpaceLineShape< ArgType >, 0, 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< M12PhaseSpaceLineShape< ArgType >, 0 >
enum  
 
typedef detail::signature_traits< 0 >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< 0 >::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< M12PhaseSpaceLineShape< ArgType >, 0 >
BaseFunctor< M12PhaseSpaceLineShape< ArgType >, 0, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ M12PhaseSpaceLineShape() [1/3]

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::M12PhaseSpaceLineShape ( )
delete

◆ M12PhaseSpaceLineShape() [2/3]

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::M12PhaseSpaceLineShape ( double  mother_mass,
double  daugther1_mass,
double  daugther2_mass,
double  daugther3_mass 
)
inline

◆ M12PhaseSpaceLineShape() [3/3]

template<typename ArgType >
__hydra_host__ __hydra_device__ hydra::M12PhaseSpaceLineShape< ArgType >::M12PhaseSpaceLineShape ( M12PhaseSpaceLineShape< ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12PhaseSpaceLineShape< ArgType >::Evaluate ( ArgType  x) const
inline

◆ fDaughter1Mass()

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::fDaughter1Mass ( daugther1_mass  )

◆ fDaughter2Mass()

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::fDaughter2Mass ( daugther2_mass  )

◆ fDaughter3Mass()

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::fDaughter3Mass ( daugther3_mass  )

◆ fMotherMass()

template<typename ArgType >
hydra::M12PhaseSpaceLineShape< ArgType >::fMotherMass ( mother_mass  )
inline

◆ GetDaughter1Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12PhaseSpaceLineShape< ArgType >::GetDaughter1Mass ( ) const
inline

◆ GetDaughter2Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12PhaseSpaceLineShape< ArgType >::GetDaughter2Mass ( ) const
inline

◆ GetDaughter3Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12PhaseSpaceLineShape< ArgType >::GetDaughter3Mass ( ) const
inline

◆ GetMotherMass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12PhaseSpaceLineShape< ArgType >::GetMotherMass ( ) const
inline

◆ operator=()

template<typename ArgType >
__hydra_host__ __hydra_device__ M12PhaseSpaceLineShape<ArgType>& hydra::M12PhaseSpaceLineShape< ArgType >::operator= ( M12PhaseSpaceLineShape< ArgType > const &  other)
inline

◆ SetDaughter1Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12PhaseSpaceLineShape< ArgType >::SetDaughter1Mass ( double  daughter1Mass)
inline

◆ SetDaughter2Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12PhaseSpaceLineShape< ArgType >::SetDaughter2Mass ( double  daughter2Mass)
inline

◆ SetDaughter3Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12PhaseSpaceLineShape< ArgType >::SetDaughter3Mass ( double  daughter3Mass)
inline

◆ SetMotherMass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12PhaseSpaceLineShape< ArgType >::SetMotherMass ( double  motherMass)
inline

◆ hydra::M12SqPhaseSpaceLineShape

class hydra::M12SqPhaseSpaceLineShape

template<typename ArgType>
class hydra::M12SqPhaseSpaceLineShape< ArgType >

Two-body phase-space distribution for \( m_{12}^2\):

\[ \frac{dN}{dm^2_{12}} \propto q.p/m^2_{12} \]

.

Inheritance diagram for hydra::M12SqPhaseSpaceLineShape< ArgType >:
Collaboration diagram for hydra::M12SqPhaseSpaceLineShape< ArgType >:

Public Member Functions

 M12SqPhaseSpaceLineShape ()=delete
 
 M12SqPhaseSpaceLineShape (double mother_mass, double daugther1_mass, double daugther2_mass, double daugther3_mass)
 
__hydra_host__ __hydra_device__ M12SqPhaseSpaceLineShape (M12SqPhaseSpaceLineShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
 fDaughter1Mass (daugther1_mass)
 
 fDaughter2Mass (daugther2_mass)
 
 fDaughter3Mass (daugther3_mass)
 
 fMotherMass (mother_mass)
 
__hydra_host__ __hydra_device__ double GetDaughter1Mass () const
 
__hydra_host__ __hydra_device__ double GetDaughter2Mass () const
 
__hydra_host__ __hydra_device__ double GetDaughter3Mass () const
 
__hydra_host__ __hydra_device__ double GetMotherMass () const
 
__hydra_host__ __hydra_device__ M12SqPhaseSpaceLineShape< ArgType > & operator= (M12SqPhaseSpaceLineShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ void SetDaughter1Mass (double daughter1Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter2Mass (double daughter2Mass)
 
__hydra_host__ __hydra_device__ void SetDaughter3Mass (double daughter3Mass)
 
__hydra_host__ __hydra_device__ void SetMotherMass (double motherMass)
 
- Public Member Functions inherited from hydra::BaseFunctor< M12SqPhaseSpaceLineShape< ArgType >, 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< M12SqPhaseSpaceLineShape< ArgType >, 0, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ M12SqPhaseSpaceLineShape< 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< M12SqPhaseSpaceLineShape< ArgType >, 0, NPARAM > & operator= (BaseFunctor< M12SqPhaseSpaceLineShape< ArgType >, 0, 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< M12SqPhaseSpaceLineShape< ArgType >, 0 >
enum  
 
typedef detail::signature_traits< 0 >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< 0 >::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< M12SqPhaseSpaceLineShape< ArgType >, 0 >
BaseFunctor< M12SqPhaseSpaceLineShape< ArgType >, 0, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ M12SqPhaseSpaceLineShape() [1/3]

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::M12SqPhaseSpaceLineShape ( )
delete

◆ M12SqPhaseSpaceLineShape() [2/3]

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::M12SqPhaseSpaceLineShape ( double  mother_mass,
double  daugther1_mass,
double  daugther2_mass,
double  daugther3_mass 
)
inline

◆ M12SqPhaseSpaceLineShape() [3/3]

template<typename ArgType >
__hydra_host__ __hydra_device__ hydra::M12SqPhaseSpaceLineShape< ArgType >::M12SqPhaseSpaceLineShape ( M12SqPhaseSpaceLineShape< ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12SqPhaseSpaceLineShape< ArgType >::Evaluate ( ArgType  x) const
inline

◆ fDaughter1Mass()

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::fDaughter1Mass ( daugther1_mass  )

◆ fDaughter2Mass()

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::fDaughter2Mass ( daugther2_mass  )

◆ fDaughter3Mass()

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::fDaughter3Mass ( daugther3_mass  )

◆ fMotherMass()

template<typename ArgType >
hydra::M12SqPhaseSpaceLineShape< ArgType >::fMotherMass ( mother_mass  )
inline

◆ GetDaughter1Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12SqPhaseSpaceLineShape< ArgType >::GetDaughter1Mass ( ) const
inline

◆ GetDaughter2Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12SqPhaseSpaceLineShape< ArgType >::GetDaughter2Mass ( ) const
inline

◆ GetDaughter3Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12SqPhaseSpaceLineShape< ArgType >::GetDaughter3Mass ( ) const
inline

◆ GetMotherMass()

template<typename ArgType >
__hydra_host__ __hydra_device__ double hydra::M12SqPhaseSpaceLineShape< ArgType >::GetMotherMass ( ) const
inline

◆ operator=()

template<typename ArgType >
__hydra_host__ __hydra_device__ M12SqPhaseSpaceLineShape<ArgType>& hydra::M12SqPhaseSpaceLineShape< ArgType >::operator= ( M12SqPhaseSpaceLineShape< ArgType > const &  other)
inline

◆ SetDaughter1Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12SqPhaseSpaceLineShape< ArgType >::SetDaughter1Mass ( double  daughter1Mass)
inline

◆ SetDaughter2Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12SqPhaseSpaceLineShape< ArgType >::SetDaughter2Mass ( double  daughter2Mass)
inline

◆ SetDaughter3Mass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12SqPhaseSpaceLineShape< ArgType >::SetDaughter3Mass ( double  daughter3Mass)
inline

◆ SetMotherMass()

template<typename ArgType >
__hydra_host__ __hydra_device__ void hydra::M12SqPhaseSpaceLineShape< ArgType >::SetMotherMass ( double  motherMass)
inline

◆ hydra::PlanesDeltaAngle

class hydra::PlanesDeltaAngle

This functor calculates the delta angle between decay plane of the particle with four-vector d2 and d3 (same plane) and h1 (other plane)

Inheritance diagram for hydra::PlanesDeltaAngle:
Collaboration diagram for hydra::PlanesDeltaAngle:

Public Member Functions

__hydra_host__ __hydra_device__ PlanesDeltaAngle ()
 
__hydra_host__ __hydra_device__ PlanesDeltaAngle (PlanesDeltaAngle const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (hydra::Vector4R d2, hydra::Vector4R d3, hydra::Vector4R h1) const
 
__hydra_host__ __hydra_device__ PlanesDeltaAngleoperator= (PlanesDeltaAngle const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), 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< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ PlanesDeltaAngleGetFunctor ()
 
__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< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), NPARAM > & operator= (BaseFunctor< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), 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< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), 0 >
enum  
 
typedef detail::signature_traits< double(Vector4R, Vector4R, Vector4R) >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< double(Vector4R, Vector4R, Vector4R) >::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< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), 0 >
BaseFunctor< PlanesDeltaAngle, double(Vector4R, Vector4R, Vector4R), NPARAM > & _par
 

Constructor & Destructor Documentation

◆ PlanesDeltaAngle() [1/2]

__hydra_host__ __hydra_device__ hydra::PlanesDeltaAngle::PlanesDeltaAngle ( )
inline

◆ PlanesDeltaAngle() [2/2]

__hydra_host__ __hydra_device__ hydra::PlanesDeltaAngle::PlanesDeltaAngle ( PlanesDeltaAngle const &  other)
inline

Member Function Documentation

◆ Evaluate()

__hydra_host__ __hydra_device__ double hydra::PlanesDeltaAngle::Evaluate ( hydra::Vector4R  d2,
hydra::Vector4R  d3,
hydra::Vector4R  h1 
) const
inline

◆ operator=()

__hydra_host__ __hydra_device__ PlanesDeltaAngle& hydra::PlanesDeltaAngle::operator= ( PlanesDeltaAngle const &  other)
inline

◆ hydra::Polynomial

class hydra::Polynomial

template<unsigned int Order, typename ArgType, typename Signature = double(ArgType)>
class hydra::Polynomial< Order, ArgType, Signature >



From : https://en.wikipedia.org/wiki/Polynomial

A polynomial is an expression that can be built from constants and symbols called indeterminates or variables by means of addition, multiplication and exponentiation to a non-negative integer power. Two such expressions that may be transformed, one to the other, by applying the usual properties of commutativity, associativity and distributivity of addition and multiplication are considered as defining the same polynomial. A polynomial in a single indeterminate \( x \) can always be written (or rewritten) in the form

\[ a_n x^n + a_{n-1}x^{n-1} + \dotsb + a_2 x^2 + a_1 x + a_0, \]

where \( a_0, \ldots, a_n \) are constants and \( x \) is the indeterminate. The word "indeterminate" means that \( x \) represents no particular value, although any value may be substituted for it. The mapping that associates the result of this substitution to the substituted value is a function, called a ''polynomial function''.

This can be expressed more concisely by using summation notation: \( \sum_{k=0}^n a_k x^k \).

Examples:
breit_wigner_plus_polynomial.inl.
Inheritance diagram for hydra::Polynomial< Order, ArgType, Signature >:
Collaboration diagram for hydra::Polynomial< Order, ArgType, Signature >:

Public Member Functions

 Polynomial ()=delete
 
 Polynomial (std::array< Parameter, Order+1 > const &coeficients)
 
__hydra_host__ __hydra_device__ Polynomial (Polynomial< Order, ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ Polynomial< Order, ArgType > & operator= (Polynomial< Order, ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< Polynomial< Order, ArgType >, Signature, Order+1 >
__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< Polynomial< Order, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Polynomial< Order, 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< Polynomial< Order, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< Polynomial< Order, 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< Polynomial< Order, ArgType >, Signature, Order+1 >
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< Polynomial< Order, ArgType >, Signature, Order+1 >
BaseFunctor< Polynomial< Order, ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ Polynomial() [1/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
hydra::Polynomial< Order, ArgType, Signature >::Polynomial ( )
delete

◆ Polynomial() [2/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
hydra::Polynomial< Order, ArgType, Signature >::Polynomial ( std::array< Parameter, Order+1 > const &  coeficients)
inline

◆ Polynomial() [3/3]

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ hydra::Polynomial< Order, ArgType, Signature >::Polynomial ( Polynomial< Order, ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<unsigned int Order, typename ArgType , typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ double hydra::Polynomial< Order, ArgType, Signature >::Evaluate ( ArgType  x) const
inline

◆ operator=()

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

◆ hydra::RngFormula< ChiSquare< ArgType > >

struct hydra::RngFormula< ChiSquare< ArgType > >

template<typename ArgType>
struct hydra::RngFormula< ChiSquare< ArgType > >

Collaboration diagram for hydra::RngFormula< ChiSquare< ArgType > >:

Public Types

typedef ArgType value_type
 

Public Member Functions

template<typename Engine >
__hydra_host__ __hydra_device__ value_type Generate (Engine &rng, ChiSquare< ArgType >const &functor) const
 
template<typename Engine , typename T >
__hydra_host__ __hydra_device__ value_type Generate (Engine &rng, std::initializer_list< T > pars) const
 
__hydra_host__ __hydra_device__ unsigned NCalls (ChiSquare< ArgType >const &functor) const
 
template<typename T >
__hydra_host__ __hydra_device__ unsigned NCalls (std::initializer_list< T > pars) const
 

Member Typedef Documentation

◆ value_type

template<typename ArgType >
typedef ArgType hydra::RngFormula< ChiSquare< ArgType > >::value_type

Member Function Documentation

◆ Generate() [1/2]

template<typename ArgType >
template<typename Engine >
__hydra_host__ __hydra_device__ value_type hydra::RngFormula< ChiSquare< ArgType > >::Generate ( Engine &  rng,
ChiSquare< ArgType >const &  functor 
) const
inline

◆ Generate() [2/2]

template<typename ArgType >
template<typename Engine , typename T >
__hydra_host__ __hydra_device__ value_type hydra::RngFormula< ChiSquare< ArgType > >::Generate ( Engine &  rng,
std::initializer_list< T >  pars 
) const
inline

◆ NCalls() [1/2]

template<typename ArgType >
__hydra_host__ __hydra_device__ unsigned hydra::RngFormula< ChiSquare< ArgType > >::NCalls ( ChiSquare< ArgType >const &  functor) const
inline

◆ NCalls() [2/2]

template<typename ArgType >
template<typename T >
__hydra_host__ __hydra_device__ unsigned hydra::RngFormula< ChiSquare< ArgType > >::NCalls ( std::initializer_list< T >  pars) const
inline

◆ hydra::ThreeBodyMassThresholdBackground

class hydra::ThreeBodyMassThresholdBackground

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

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

Public Member Functions

 ThreeBodyMassThresholdBackground ()=delete
 
 ThreeBodyMassThresholdBackground (Parameter const &threshold, Parameter const &A, Parameter const &B, Parameter const &C)
 
__hydra_host__ __hydra_device__ ThreeBodyMassThresholdBackground (ThreeBodyMassThresholdBackground< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ ThreeBodyMassThresholdBackground< ArgType > & operator= (ThreeBodyMassThresholdBackground< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< ThreeBodyMassThresholdBackground< 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< ThreeBodyMassThresholdBackground< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ ThreeBodyMassThresholdBackground< 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< ThreeBodyMassThresholdBackground< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< ThreeBodyMassThresholdBackground< 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< ThreeBodyMassThresholdBackground< 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< ThreeBodyMassThresholdBackground< ArgType >, Signature, 4 >
BaseFunctor< ThreeBodyMassThresholdBackground< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ ThreeBodyMassThresholdBackground() [1/3]

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

◆ ThreeBodyMassThresholdBackground() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::ThreeBodyMassThresholdBackground< ArgType, Signature >::ThreeBodyMassThresholdBackground ( Parameter const &  threshold,
Parameter const &  A,
Parameter const &  B,
Parameter const &  C 
)
inline

◆ ThreeBodyMassThresholdBackground() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::TrapezoidalShape

class hydra::TrapezoidalShape

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

In probability theory and statistics, the trapezoidal distribution is a continuous probability distribution the graph of whose probability density function resembles a trapezoid.

Likewise, trapezoidal distributions also roughly resemble mesas or plateaus. Each trapezoidal distribution has a lower bound 'a' and an upper bound 'd' , where 'a < d', beyond which no values or events on the distribution can occur (i.e. beyond which the probability is always zero). In addition, there are two sharp bending points (non-differentiable discontinuities) within the probability distribution, which we will call 'b' and 'c', which occur between 'a' and 'd', such that 'a ≤ b ≤ c ≤ d' Parameters:

  • a ( a < d ) - lower bound
  • b ( a ≤ b < c ) - level start
  • c ( b < c ≤ d ) - level end
  • d ( c ≤ d )- upper bound
Examples:
basic_distributions.inl, convolute_functions.inl, and fill_basic_distributions.inl.
Inheritance diagram for hydra::TrapezoidalShape< ArgType, Signature >:
Collaboration diagram for hydra::TrapezoidalShape< ArgType, Signature >:

Public Member Functions

 TrapezoidalShape ()=delete
 
 TrapezoidalShape (Parameter const &A, Parameter const &B, Parameter const &C, Parameter const &D)
 
__hydra_host__ __hydra_device__ TrapezoidalShape (TrapezoidalShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ TrapezoidalShape< ArgType > & operator= (TrapezoidalShape< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< TrapezoidalShape< 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< TrapezoidalShape< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ TrapezoidalShape< 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< TrapezoidalShape< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< TrapezoidalShape< 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< TrapezoidalShape< 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< TrapezoidalShape< ArgType >, Signature, 4 >
BaseFunctor< TrapezoidalShape< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ TrapezoidalShape() [1/3]

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

◆ TrapezoidalShape() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::TrapezoidalShape< ArgType, Signature >::TrapezoidalShape ( Parameter const &  A,
Parameter const &  B,
Parameter const &  C,
Parameter const &  D 
)
inline

◆ TrapezoidalShape() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::TriangularShape

class hydra::TriangularShape

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

From: https://en.wikipedia.org/wiki/Triangular_distribution.

In probability theory and statistics, the triangular distribution is a continuous probability distribution with lower limit a, upper limit b and mode c, where a < b and a ≤ c ≤ b. The triangular distribution is typically used as a subjective description of a population for which there is only limited sample data, and especially in cases where the relationship between variables is known but data is scarce (possibly because of the high cost of collection). It is based on a knowledge of the minimum and maximum and an "inspired guess"[3] as to the modal value. For these reasons, the triangle distribution has been called a "lack of knowledge" distribution.

Examples:
basic_distributions.inl, and fill_basic_distributions.inl.
Inheritance diagram for hydra::TriangularShape< ArgType, Signature >:
Collaboration diagram for hydra::TriangularShape< ArgType, Signature >:

Public Member Functions

 TriangularShape ()=delete
 
 TriangularShape (Parameter const &A, Parameter const &B, Parameter const &C)
 
__hydra_host__ __hydra_device__ TriangularShape (TriangularShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ TriangularShape< ArgType > & operator= (TriangularShape< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< TriangularShape< ArgType >, Signature, 3 >
__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< TriangularShape< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ TriangularShape< 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< TriangularShape< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< TriangularShape< 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< TriangularShape< ArgType >, Signature, 3 >
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< TriangularShape< ArgType >, Signature, 3 >
BaseFunctor< TriangularShape< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ TriangularShape() [1/3]

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

◆ TriangularShape() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::TriangularShape< ArgType, Signature >::TriangularShape ( Parameter const &  A,
Parameter const &  B,
Parameter const &  C 
)
inline

◆ TriangularShape() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::UniformShape

class hydra::UniformShape

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

From: https://en.wikipedia.org/wiki/Uniform_distribution_(continuous)

In probability theory and statistics, the continuous uniform distribution or rectangular distribution is a family of symmetric probability distributions such that for each member of the family, all intervals of the same length on the distribution's support are equally probable. The support is defined by the two parameters, a and b, which are its minimum and maximum values. The distribution is often abbreviated U(a,b).

Examples:
basic_distributions.inl, cufft.inl, fft.inl, fill_basic_distributions.inl, and range_semantics.inl.
Inheritance diagram for hydra::UniformShape< ArgType, Signature >:
Collaboration diagram for hydra::UniformShape< ArgType, Signature >:

Public Member Functions

 UniformShape ()=delete
 
 UniformShape (Parameter const &A, Parameter const &B)
 
__hydra_host__ __hydra_device__ UniformShape (UniformShape< ArgType > const &other)
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ UniformShape< ArgType > & operator= (UniformShape< ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< UniformShape< ArgType >, Signature, 2 >
__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< UniformShape< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ UniformShape< 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< UniformShape< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< UniformShape< 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< UniformShape< ArgType >, Signature, 2 >
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< UniformShape< ArgType >, Signature, 2 >
BaseFunctor< UniformShape< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ UniformShape() [1/3]

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

◆ UniformShape() [2/3]

template<typename ArgType, typename Signature = double(ArgType)>
hydra::UniformShape< ArgType, Signature >::UniformShape ( Parameter const &  A,
Parameter const &  B 
)
inline

◆ UniformShape() [3/3]

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

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ hydra::WignerDMatrix

class hydra::WignerDMatrix

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

Calculates the beta-term

\[ d^j_{mn}(beta) \]

in the matrix element of the finite rotation operator (Wigner's D-function), according to formula 4.3.4(eq.

13) in D.A. Varshalovich, A.N. Moskalev, and V.K. Khersonskii, Quantum Theory of Angular Momentum, World Scientific, Singapore 1988.

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

Public Member Functions

 WignerDMatrix ()=delete
 
 WignerDMatrix (double j, double m, double n)
 
__hydra_dual__ WignerDMatrix (WignerDMatrix< ArgType > const &other)
 
__hydra_dual__ double Evaluate (ArgType x) const
 
__hydra_dual__ double GetF () const
 
__hydra_dual__ double GetJ () const
 
__hydra_dual__ double GetM () const
 
__hydra_dual__ double GetMu () const
 
__hydra_dual__ double GetN () const
 
__hydra_dual__ double GetNu () const
 
__hydra_dual__ unsigned GetS () const
 
__hydra_dual__ int GetXi () const
 
__hydra_dual__ WignerDMatrix< ArgType > & operator= (WignerDMatrix< ArgType > const &other)
 
void SetJ (double j)
 
void SetM (double m)
 
void SetN (double n)
 
- Public Member Functions inherited from hydra::BaseFunctor< WignerDMatrix< ArgType >, Signature, 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< WignerDMatrix< ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ WignerDMatrix< 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< WignerDMatrix< ArgType >, Signature, NPARAM > & operator= (BaseFunctor< WignerDMatrix< 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< WignerDMatrix< ArgType >, Signature, 0 >
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< WignerDMatrix< ArgType >, Signature, 0 >
BaseFunctor< WignerDMatrix< ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ WignerDMatrix() [1/3]

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

◆ WignerDMatrix() [2/3]

template<typename ArgType , typename Signature = double(ArgType)>
hydra::WignerDMatrix< ArgType, Signature >::WignerDMatrix ( double  j,
double  m,
double  n 
)
inline

◆ WignerDMatrix() [3/3]

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ hydra::WignerDMatrix< ArgType, Signature >::WignerDMatrix ( WignerDMatrix< ArgType > const &  other)
inline

Member Function Documentation

◆ Evaluate()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::Evaluate ( ArgType  x) const
inline

◆ GetF()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetF ( ) const
inline

◆ GetJ()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetJ ( ) const
inline

◆ GetM()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetM ( ) const
inline

◆ GetMu()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetMu ( ) const
inline

◆ GetN()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetN ( ) const
inline

◆ GetNu()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ double hydra::WignerDMatrix< ArgType, Signature >::GetNu ( ) const
inline

◆ GetS()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ unsigned hydra::WignerDMatrix< ArgType, Signature >::GetS ( ) const
inline

◆ GetXi()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ int hydra::WignerDMatrix< ArgType, Signature >::GetXi ( ) const
inline

◆ operator=()

template<typename ArgType , typename Signature = double(ArgType)>
__hydra_dual__ WignerDMatrix<ArgType>& hydra::WignerDMatrix< ArgType, Signature >::operator= ( WignerDMatrix< ArgType > const &  other)
inline

◆ SetJ()

template<typename ArgType , typename Signature = double(ArgType)>
void hydra::WignerDMatrix< ArgType, Signature >::SetJ ( double  j)
inline

◆ SetM()

template<typename ArgType , typename Signature = double(ArgType)>
void hydra::WignerDMatrix< ArgType, Signature >::SetM ( double  m)
inline

◆ SetN()

template<typename ArgType , typename Signature = double(ArgType)>
void hydra::WignerDMatrix< ArgType, Signature >::SetN ( double  n)
inline

◆ hydra::ZemachFunction

class hydra::ZemachFunction

template<Wave L, typename ArgType, typename Signature = double(ArgType)>
class hydra::ZemachFunction< L, ArgType, Signature >

Zemach's angular probability distribution for 3-body decays of spinless particle into spinless final states as a function of \(\theta\), the helicity angle:

  • \( Z_L(\theta) \propto (-1)^L P_L(cos(\theta))\)

\( The missing (2p.q)^L \) factors should be included included in the dynamical part. This formulation makes Zemach's formalism fully compatible with Helicity amplitudes for 3-body decays of spinless particle into spinless final states inside Hydra.

Inheritance diagram for hydra::ZemachFunction< L, ArgType, Signature >:
Collaboration diagram for hydra::ZemachFunction< L, ArgType, Signature >:

Public Member Functions

__hydra_host__ __hydra_device__ ZemachFunction ()
 
__hydra_host__ __hydra_device__ double Evaluate (ArgType x) const
 
__hydra_host__ __hydra_device__ ZemachFunction< L, ArgType > & operator= (ZemachFunction< L, ArgType > const &other)
 
- Public Member Functions inherited from hydra::BaseFunctor< ZemachFunction< L, ArgType >, Signature, 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< ZemachFunction< L, ArgType >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ ZemachFunction< L, 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< ZemachFunction< L, ArgType >, Signature, NPARAM > & operator= (BaseFunctor< ZemachFunction< L, 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< ZemachFunction< L, ArgType >, Signature, 0 >
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< ZemachFunction< L, ArgType >, Signature, 0 >
BaseFunctor< ZemachFunction< L, ArgType >, Signature, NPARAM > & _par
 

Constructor & Destructor Documentation

◆ ZemachFunction()

template<Wave L, typename ArgType, typename Signature = double(ArgType)>
__hydra_host__ __hydra_device__ hydra::ZemachFunction< L, ArgType, Signature >::ZemachFunction ( )
inline

Member Function Documentation

◆ Evaluate()

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

◆ operator=()

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

◆ JohnsonSUShape

class JohnsonSUShape

Implementation the JohnsonSU line shape.

https://en.wikipedia.org/wiki/Johnson%27s_SU-distribution

Template Parameters
ArgIndex: index of the argument when evaluating on multidimensional data. Default is 0.
Collaboration diagram for JohnsonSUShape:

Enumeration Type Documentation

◆ Wave

#include <Utils.h>

Orbital angular momentum tags.

Enumerator
SWave 
PWave 
DWave 
FWave 
GWave 
HWave 

Function Documentation

◆ BarrierFactor()

template<hydra::Wave L>
__hydra_host__ __hydra_device__ double hydra::BarrierFactor ( const double  d,
const double  p0,
const double  p 
)
inline

#include <BlattWeisskopfFunctions.h>

Blatt-Weisskopf B' functions.

These functions are normalized to give to give \( B'_L = 1 \) for \( z = z_0 = (|p_0 |/d)^2\) where \( p_0\) is the value of p when \( m_ab = m_r \). The centrifugal barrier is to be moved to the dynamical functions.

\[ B'_{0}(d,p_0,p) =1\\ B'_{1}(d,p_0,p) = \sqrt{ \frac{1 +(p_0d)^2 }{ 1 +(pd)^2 } \\ B'_{2}(d,p_0,p) = \sqrt{ \frac{9 + 3(p_0d)^2 + (p_0d)^4 }{9 + 3(pd)^2 + (pd)^4} \\ B'_{3}(d,p_0,p) = \sqrt{ \frac{225 + 45(p_0d)^2 + 6(p_0d)^4 + (p_0d)^6 }{225 + 45(pd)^2 + 6(pd)^4 + (pd)^6 } \\ B'_{4}(d,p_0,p) = \sqrt{ \frac{11025 + 1575(p_0d)^2 + 135(p_0d)^4 + 10(p_0d)^6 + (p_0 d)^8}{11025 + 1575(p_0d)^2 + 135(p_0d)^4 + 10(p_0d)^6 + (p_0 d)^8} \\ B'_{5}(d,p_0,p) = \sqrt{ \frac{893025 + 99225(p_0d)^2 + 6300(p_0d)^4 + 315(p_0d)^6 + 15(p_0d)^8 + (p_0d)^10 }{893025 + 99225(pd)^2 + 6300(pd)^4 + 315(pd)^6 + 15(pd)^8 + (pd)^10}\\ \]

Template Parameters
Lhydra::Wave vertex wave
Parameters
radidecay vertex radio
p0momentum of the resonance at the decaying particle rest frame with nominal mass.
pp momentum of the resonance at the decaying particle rest frame with a given invariant mass.
Returns
real number

References:

  • J. Blatt and V. Weisskopf, Theoretical Nuclear Physics , New York: John Wiley & Sons (1952)
  • M. Lax, H. Feshbach J. Acoust Soc.Am. 1948 20:2, 108-124 (https://doi.org/10.1121/1.1906352)
  • S. U. Chung, Formulas for Angular-Momentum Barrier Factors, BNL-QGS-06-101