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

GammaDistribution.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(GammaDistribution)
11 
12 
14  _alpha("a", 2.0, 1.0, 100),
15  _beta ("beta", 0.0, 0, 100)
16 {}
17 
18 GammaDistribution::GammaDistribution(const GammaDistribution & right):
19 AbsFunction(right),
20 _alpha(right._alpha),
21 _beta (right._beta)
22 {
23 }
24 
26 }
27 
28 double GammaDistribution::operator() (double x) const {
29  return std::pow(x,_alpha.getValue()-1)*
30  exp(-x/_beta.getValue())/std::pow(_beta.getValue(),(_alpha.getValue()))/
31  exp(_logGamma(_alpha.getValue()));
32 
33 }
34 
36  return _alpha;
37 }
38 
39 
41  return _beta;
42 }
43 
44 
45 
46 } // namespace Genfun
#define FUNCTION_OBJECT_IMP(classname)
virtual double operator()(double argument) const
virtual double getValue() const
Definition: Parameter.cc:27
@ a