CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

BetaDistribution.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 
5 #include <assert.h>
6 #include <cmath>
7 using namespace std;
8 
9 namespace Genfun {
10 FUNCTION_OBJECT_IMP(BetaDistribution)
11 
12 
14  _alpha("a", 1.0, 0.0, 100),
15  _beta ("beta", 1.0, 0.0, 100)
16 {}
17 
18 BetaDistribution::BetaDistribution(const BetaDistribution & right):
19 AbsFunction( right ),
20 _alpha(right._alpha),
21 _beta (right._beta)
22 {
23 }
24 
26 }
27 
28 double BetaDistribution::operator() (double x) const {
29  double a = _alpha.getValue(),b=_beta.getValue();
30  return pow(x,a-1)*pow((1-x),b-1)*
31  exp(_logGamma(a+b)-_logGamma(a)-_logGamma(b));
32 
33 }
34 
36  return _alpha;
37 }
38 
39 
41  return _beta;
42 }
43 
44 
45 
46 } // namespace Genfun
Genfun::Parameter::getValue
virtual double getValue() const
Definition: Parameter.cc:27
Genfun::BetaDistribution::alpha
Parameter & alpha()
Definition: BetaDistribution.cc:35
a
@ a
Definition: testCategories.cc:125
Genfun::AbsFunction
Definition: CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::BetaDistribution
Definition: CLHEP/GenericFunctions/BetaDistribution.hh:21
b
@ b
Definition: testCategories.cc:125
Genfun::BetaDistribution::beta
Parameter & beta()
Definition: BetaDistribution.cc:40
BetaDistribution.hh
Genfun::Parameter
Definition: CLHEP/GenericFunctions/Parameter.hh:35
Genfun::BetaDistribution::operator()
virtual double operator()(double argument) const
Definition: BetaDistribution.cc:28
x
any side effects of that construction would occur twice The semantics of throw x
Definition: whyZMthrowRethrows.txt:37
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition: CLHEP/GenericFunctions/AbsFunction.hh:156
Genfun::BetaDistribution::~BetaDistribution
virtual ~BetaDistribution()
Definition: BetaDistribution.cc:25
Genfun
Definition: CLHEP/GenericFunctions/Abs.hh:14