Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fatras::LandauDist Class Reference

#include <acts-fatras/blob/master/Core/include/Fatras/Kernel/detail/RandomNumberDistributions.hpp>

+ Collaboration diagram for Fatras::LandauDist:

Classes

struct  param_type
 A RandomNumberDistribution should provide a parameters struct. More...
 

Public Types

using result_type = double
 

Public Member Functions

 LandauDist ()=default
 
 LandauDist (double mean, double scale)
 
 LandauDist (const param_type &cfg)
 
 LandauDist (const LandauDist &)=default
 A distribution should be copy-constructible and copy-assignable.
 
LandauDistoperator= (const LandauDist &)=default
 
void reset ()
 Some standard ways to control the distribution's state should be provided.
 
param_type param () const
 
void param (const param_type &p)
 
result_type min () const
 
result_type max () const
 
template<typename Generator >
result_type operator() (Generator &engine)
 Generate a random number following a Landau distribution.
 
template<typename Generator >
result_type operator() (Generator &engine, const param_type &params)
 Do the same, but using custom Landau distribution parameters.
 
bool operator== (const LandauDist &other) const
 Provide standard comparison operators.
 
bool operator!= (const LandauDist &other) const
 

Private Attributes

param_type m_cfg
 configuration struct
 

Detailed Description

< Poisson In addition, the Landau distribution is provided

Definition at line 25 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 25 of file RandomNumberDistributions.hpp

Member Typedef Documentation

A RandomNumberDistribution should provide a result type typedef and some bounds on the values that can be emitted as output

Definition at line 66 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 66 of file RandomNumberDistributions.hpp

Constructor & Destructor Documentation

Fatras::LandauDist::LandauDist ( )
default

There should be a default constructor, a constructor from raw parameters, and a constructor from a parameters struct

Fatras::LandauDist::LandauDist ( double  mean,
double  scale 
)

Definition at line 18 of file RandomNumberDistributions.cpp.

View newest version in sPHENIX GitHub at line 18 of file RandomNumberDistributions.cpp

Fatras::LandauDist::LandauDist ( const param_type cfg)

Definition at line 21 of file RandomNumberDistributions.cpp.

View newest version in sPHENIX GitHub at line 21 of file RandomNumberDistributions.cpp

Fatras::LandauDist::LandauDist ( const LandauDist )
default

A distribution should be copy-constructible and copy-assignable.

Member Function Documentation

Fatras::LandauDist::result_type Fatras::LandauDist::max ( void  ) const

Definition at line 27 of file RandomNumberDistributions.cpp.

View newest version in sPHENIX GitHub at line 27 of file RandomNumberDistributions.cpp

Fatras::LandauDist::result_type Fatras::LandauDist::min ( void  ) const

Definition at line 23 of file RandomNumberDistributions.cpp.

View newest version in sPHENIX GitHub at line 23 of file RandomNumberDistributions.cpp

bool Fatras::LandauDist::operator!= ( const LandauDist other) const
inline

Definition at line 85 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 85 of file RandomNumberDistributions.hpp

template<typename Generator >
result_type Fatras::LandauDist::operator() ( Generator engine)
inline

Generate a random number following a Landau distribution.

Definition at line 71 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 71 of file RandomNumberDistributions.hpp

References engine, and m_cfg.

template<typename Generator >
result_type Fatras::LandauDist::operator() ( Generator engine,
const param_type params 
)
inline

Do the same, but using custom Landau distribution parameters.

Definition at line 77 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 77 of file RandomNumberDistributions.hpp

References engine, landau_quantile(), Fatras::LandauDist::param_type::mean, Fatras::LandauDist::param_type::scale, and ambiguity_solver_full_chain::x.

+ Here is the call graph for this function:

LandauDist& Fatras::LandauDist::operator= ( const LandauDist )
default
bool Fatras::LandauDist::operator== ( const LandauDist other) const

Provide standard comparison operators.

Definition at line 31 of file RandomNumberDistributions.cpp.

View newest version in sPHENIX GitHub at line 31 of file RandomNumberDistributions.cpp

References m_cfg(), and m_cfg.

+ Here is the call graph for this function:

param_type Fatras::LandauDist::param ( ) const
inline

Definition at line 61 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 61 of file RandomNumberDistributions.hpp

References m_cfg.

void Fatras::LandauDist::param ( const param_type p)
inline

Definition at line 62 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 62 of file RandomNumberDistributions.hpp

References m_cfg, and merge_hashes::p.

void Fatras::LandauDist::reset ( )
inline

Some standard ways to control the distribution's state should be provided.

Definition at line 59 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 59 of file RandomNumberDistributions.hpp

Member Data Documentation

param_type Fatras::LandauDist::m_cfg
private

configuration struct

Definition at line 88 of file RandomNumberDistributions.hpp.

View newest version in sPHENIX GitHub at line 88 of file RandomNumberDistributions.hpp

Referenced by operator()(), operator==(), and param().


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