CMS 3D CMS Logo

GammaNumericalGenerator Class Reference

#include <FastSimulation/Utilities/interface/GammaNumericalGenerator.h>

Inheritance diagram for GammaNumericalGenerator:

BaseNumericalRandomGenerator

List of all members.

Public Member Functions

virtual double function (double x)
 The probability density function implementation.
double gamma () const
 Random generator.
double gamma_exp () const
double gamma_lin () const
 GammaNumericalGenerator (const RandomEngine *engine, double a=0, double b=0, double x1=0, double x2=0)
 Constructor : initialization of the Random Generator.
bool isValid () const
virtual ~GammaNumericalGenerator ()
 Default destructor.

Private Member Functions

double ersatzt (double x)
 Gamma Function.

Private Attributes

double a_
double b_
bool valid


Detailed Description

Definition at line 12 of file GammaNumericalGenerator.h.


Constructor & Destructor Documentation

GammaNumericalGenerator::GammaNumericalGenerator ( const RandomEngine engine,
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.

00018                                                                           : 
00019      BaseNumericalRandomGenerator(engine,x1,x2,1000),
00020      a_(a),b_(b),valid(false) {
00021 
00022     if(a>0&&b>0) 
00023       {
00024         valid=true;
00025         initialize();
00026       }
00027   }

virtual GammaNumericalGenerator::~GammaNumericalGenerator (  )  [inline, virtual]

Default destructor.

Definition at line 30 of file GammaNumericalGenerator.h.

00030 {}


Member Function Documentation

double GammaNumericalGenerator::ersatzt ( double  x  )  [inline, private]

Gamma Function.

Definition at line 47 of file GammaNumericalGenerator.h.

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

Referenced by function().

00047                            { 
00048     double bt=b_*x;
00049     return  b_*pow(bt,a_-1)*exp(-bt);
00050   }

virtual double GammaNumericalGenerator::function ( double  x  )  [inline, virtual]

The probability density function implementation.

Implements BaseNumericalRandomGenerator.

Definition at line 40 of file GammaNumericalGenerator.h.

References ersatzt().

00040 { return ersatzt(x); }

double GammaNumericalGenerator::gamma (  )  const [inline]

Random generator.

Definition at line 33 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generate().

00033 { return generate(); }

double GammaNumericalGenerator::gamma_exp (  )  const [inline]

Definition at line 35 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generateExp().

00035 {return generateExp();}

double GammaNumericalGenerator::gamma_lin (  )  const [inline]

Definition at line 37 of file GammaNumericalGenerator.h.

References BaseNumericalRandomGenerator::generateLin().

00037 {return generateLin();}

bool GammaNumericalGenerator::isValid ( void   )  const [inline]

Definition at line 42 of file GammaNumericalGenerator.h.

References valid.

00042 {return valid;}


Member Data Documentation

double GammaNumericalGenerator::a_ [private]

Definition at line 53 of file GammaNumericalGenerator.h.

Referenced by ersatzt().

double GammaNumericalGenerator::b_ [private]

Definition at line 53 of file GammaNumericalGenerator.h.

Referenced by ersatzt().

bool GammaNumericalGenerator::valid [private]

Definition at line 54 of file GammaNumericalGenerator.h.

Referenced by GammaNumericalGenerator(), and isValid().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:21:09 2009 for CMSSW by  doxygen 1.5.4