CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
GammaNumericalGenerator Class Reference

#include <GammaNumericalGenerator.h>

Inheritance diagram for GammaNumericalGenerator:
BaseNumericalRandomGenerator

Public Member Functions

double function (double x) override
 The probability density function implementation. More...
 
double gamma (RandomEngineAndDistribution const *random) const
 Random generator. More...
 
double gamma_exp (RandomEngineAndDistribution const *random) const
 
double gamma_lin (RandomEngineAndDistribution const *random) const
 
 GammaNumericalGenerator (double a=0, double b=0, double x1=0, double x2=0)
 Constructor : initialization of the Random Generator. More...
 
bool isValid () const
 
 ~GammaNumericalGenerator () override
 Default destructor. More...
 
- Public Member Functions inherited from BaseNumericalRandomGenerator
 BaseNumericalRandomGenerator (double xmin=0., double xmax=1., int n=1000, int iter=6)
 
double generate (RandomEngineAndDistribution const *) const
 The random generation according to function() More...
 
double generateExp (RandomEngineAndDistribution const *) const
 
double generateLin (RandomEngineAndDistribution const *) const
 
void initialize ()
 The initialization (numerical integarion, inversion) More...
 
bool setSubInterval (double x1, double x2)
 To shoot in a given interval. More...
 
virtual ~BaseNumericalRandomGenerator ()
 Default destructor. More...
 

Private Member Functions

double ersatzt (double x)
 Gamma Function. More...
 

Private Attributes

double a_
 
double b_
 
bool valid
 

Additional Inherited Members

- Protected Attributes inherited from BaseNumericalRandomGenerator
double deltar
 
std::vector< double > f
 
int iter
 
int n
 
double rmin
 
std::vector< double > sampling
 
double xmax
 
double xmin
 

Detailed Description

Definition at line 12 of file GammaNumericalGenerator.h.

Constructor & Destructor Documentation

GammaNumericalGenerator::GammaNumericalGenerator ( double  a = 0,
double  b = 0,
double  x1 = 0,
double  x2 = 0 
)
inline

Constructor : initialization of the Random Generator.

Definition at line 17 of file GammaNumericalGenerator.h.

References a, b, BaseNumericalRandomGenerator::initialize(), and valid.

17  :
19  a_(a),b_(b),valid(false) {
20 
21  if(a>0&&b>0)
22  {
23  valid=true;
24  initialize();
25  }
26  }
BaseNumericalRandomGenerator(double xmin=0., double xmax=1., int n=1000, int iter=6)
void initialize()
The initialization (numerical integarion, inversion)
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
GammaNumericalGenerator::~GammaNumericalGenerator ( )
inlineoverride

Default destructor.

Definition at line 29 of file GammaNumericalGenerator.h.

29 {}

Member Function Documentation

double GammaNumericalGenerator::ersatzt ( double  x)
inlineprivate

Gamma Function.

Definition at line 46 of file GammaNumericalGenerator.h.

References a_, b_, JetChargeProducer_cfi::exp, funct::pow(), and x.

Referenced by function().

46  {
47  double bt=b_*x;
48  return b_*pow(bt,a_-1)*exp(-bt);
49  }
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double GammaNumericalGenerator::function ( double  x)
inlineoverridevirtual

The probability density function implementation.

Implements BaseNumericalRandomGenerator.

Definition at line 39 of file GammaNumericalGenerator.h.

References ersatzt(), and x.

39 { return ersatzt(x); }
double ersatzt(double x)
Gamma Function.
double GammaNumericalGenerator::gamma ( RandomEngineAndDistribution const *  random) const
inline

Random generator.

Definition at line 32 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generate().

32 { return generate(random); }
double generate(RandomEngineAndDistribution const *) const
The random generation according to function()
TRandom random
Definition: MVATrainer.cc:138
double GammaNumericalGenerator::gamma_exp ( RandomEngineAndDistribution const *  random) const
inline

Definition at line 34 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generateExp().

34 {return generateExp(random);}
TRandom random
Definition: MVATrainer.cc:138
double generateExp(RandomEngineAndDistribution const *) const
double GammaNumericalGenerator::gamma_lin ( RandomEngineAndDistribution const *  random) const
inline

Definition at line 36 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generateLin().

36 {return generateLin(random);}
double generateLin(RandomEngineAndDistribution const *) const
TRandom random
Definition: MVATrainer.cc:138
bool GammaNumericalGenerator::isValid ( void  ) const
inline

Member Data Documentation

double GammaNumericalGenerator::a_
private

Definition at line 52 of file GammaNumericalGenerator.h.

Referenced by ersatzt().

double GammaNumericalGenerator::b_
private

Definition at line 52 of file GammaNumericalGenerator.h.

Referenced by ersatzt().

bool GammaNumericalGenerator::valid
private

Definition at line 53 of file GammaNumericalGenerator.h.

Referenced by GammaNumericalGenerator(), and isValid().