Hydra  4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
Resonance< L, Signature > Class Template Reference
Inheritance diagram for Resonance< L, Signature >:
Collaboration diagram for Resonance< L, Signature >:

Public Member Functions

 Resonance ()=delete
 
 Resonance (hydra::Parameter const &c_re, hydra::Parameter const &c_im, hydra::Parameter const &mass, hydra::Parameter const &width, double mother_mass, double daugther1_mass, double daugther2_mass, double daugther3_mass, double radi)
 
 Resonance ()=delete
 
__hydra_dual__ Resonance (Resonance< L > const &other)
 
 Resonance (hydra::Parameter const &c_re, hydra::Parameter const &c_im, hydra::Parameter const &mass, hydra::Parameter const &width, double mother_mass, double daugther1_mass, double daugther2_mass, double daugther3_mass, double radi)
 
__hydra_dual__ Resonance (Resonance< L > const &other)
 
__hydra_dual__ hydra::complex< doubleEvaluate (Kaon kaon, PionA pion1, PionB pion2) const
 
__hydra_dual__ hydra::complex< doubleEvaluate (Kaon kaon, PionA pion1, PionB pion2) const
 
__hydra_dual__ hydra::BreitWignerLineShape< L, L, double > const & GetLineShape () const
 
__hydra_dual__ hydra::BreitWignerLineShape< L, L, double > const & GetLineShape () const
 
__hydra_dual__ Resonance< L > & operator= (Resonance< L > const &other)
 
__hydra_dual__ Resonance< L > & operator= (Resonance< L > const &other)
 
void Update () final
 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< Resonance< L >, hydra::complex< double >(Kaon, PionA, PionB), 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< Resonance< L >, hydra::complex< double >, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Resonance< L > & 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< Resonance< L >, hydra::complex< double >, NPARAM > & operator= (BaseFunctor< Resonance< L >, hydra::complex< double >, 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...
 
- Public Member Functions inherited from hydra::BaseFunctor< Resonance< L >, 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< Resonance< L >, Signature, NPARAM > const &other)
 Copy constructor. More...
 
__hydra_host__ __hydra_device__ Resonance< L > & 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< Resonance< L >, Signature, NPARAM > & operator= (BaseFunctor< Resonance< L >, Signature, NPARAM > const &other)
 Assignment operator. More...
 
void PrintRegisteredParameters ()
 Print registered parameters. More...
 
__hydra_host__ __hydra_device__ void SetNorm (GReal_t norm)
 

Additional Inherited Members

- Public Types inherited from hydra::BaseFunctor< Resonance< L >, hydra::complex< double >(Kaon, PionA, PionB), 4 >
enum  
 
typedef detail::signature_traits< hydra::complex< double > >::argument_type argument_type
 
typedef void hydra_functor_type
 
typedef detail::signature_traits< hydra::complex< double > >::return_type return_type
 
- Public Types inherited from hydra::BaseFunctor< Resonance< L >, 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< Resonance< L >, hydra::complex< double >(Kaon, PionA, PionB), 4 >
BaseFunctor< Resonance< L >, hydra::complex< double >, NPARAM > & _par
 
- Protected Attributes inherited from hydra::BaseFunctor< Resonance< L >, Signature, 4 >
BaseFunctor< Resonance< L >, Signature, NPARAM > & _par
 

Detailed Description

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
class Resonance< L, Signature >

Examples:
dalitz_plot.C, and dalitz_plot.inl.

Constructor & Destructor Documentation

◆ Resonance() [1/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
Resonance< L, Signature >::Resonance ( )
delete

◆ Resonance() [2/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
Resonance< L, Signature >::Resonance ( hydra::Parameter const &  c_re,
hydra::Parameter const &  c_im,
hydra::Parameter const &  mass,
hydra::Parameter const &  width,
double  mother_mass,
double  daugther1_mass,
double  daugther2_mass,
double  daugther3_mass,
double  radi 
)
inline

◆ Resonance() [3/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ Resonance< L, Signature >::Resonance ( Resonance< L > const &  other)
inline

◆ Resonance() [4/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
Resonance< L, Signature >::Resonance ( )
delete

◆ Resonance() [5/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
Resonance< L, Signature >::Resonance ( hydra::Parameter const &  c_re,
hydra::Parameter const &  c_im,
hydra::Parameter const &  mass,
hydra::Parameter const &  width,
double  mother_mass,
double  daugther1_mass,
double  daugther2_mass,
double  daugther3_mass,
double  radi 
)
inline

◆ Resonance() [6/6]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ Resonance< L, Signature >::Resonance ( Resonance< L > const &  other)
inline

Member Function Documentation

◆ Evaluate() [1/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ hydra::complex<double> Resonance< L, Signature >::Evaluate ( Kaon  kaon,
PionA  pion1,
PionB  pion2 
) const
inline

◆ Evaluate() [2/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ hydra::complex<double> Resonance< L, Signature >::Evaluate ( Kaon  kaon,
PionA  pion1,
PionB  pion2 
) const
inline

◆ GetLineShape() [1/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ hydra::BreitWignerLineShape<L,L,double> const& Resonance< L, Signature >::GetLineShape ( ) const
inline

◆ GetLineShape() [2/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ hydra::BreitWignerLineShape<L,L,double> const& Resonance< L, Signature >::GetLineShape ( ) const
inline

◆ operator=() [1/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ Resonance<L>& Resonance< L, Signature >::operator= ( Resonance< L > const &  other)
inline

◆ operator=() [2/2]

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
__hydra_dual__ Resonance<L>& Resonance< L, Signature >::operator= ( Resonance< L > const &  other)
inline

◆ Update()

template<hydra::Wave L, typename Signature = hydra::complex<double>(Kaon,PionA,PionB)>
void Resonance< L, Signature >::Update ( void  )
inlinefinalvirtual

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 >.


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