CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
GammaDistribution.hh
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id:
3//---------------------GammaDistribution------------------------------------//
4// //
5// Class Gamma, x^a * e(-x/b) / (b^(a+1) Gamma(Alpha+1)); //
6// Joe Boudreau, Jan 2007 //
7// //
8//--------------------------------------------------------------------------//
9#ifndef GammaDistribution_h
10#define GammaDistribution_h 1
11#include "CLHEP/GenericFunctions/AbsFunction.hh"
12#include "CLHEP/GenericFunctions/Parameter.hh"
13#include "CLHEP/GenericFunctions/LogGamma.hh"
14#define _GAMMADISTRIBUTION_REVISED_ 1
15namespace Genfun {
16
17 /**
18 * @author
19 * @ingroup genfun
20 */
22
24
25 public:
26
27 // Constructor
29
30 // Copy constructor
32
33 // Destructor
34 virtual ~GammaDistribution();
35
36 // Retreive function value
37 virtual double operator ()(double argument) const override;
38 virtual double operator ()(const Argument & a) const override {return operator() (a[0]);}
39
40 // Get the paramter alpha
41 Parameter & alpha();
42
43 // Get the paramter alpha
44 Parameter & beta();
45
46 private:
47
48 // It is illegal to assign an adjustable constant
49 const GammaDistribution & operator=(const GammaDistribution &right);
50
51 // Here are the two parameters alpha and beta:
52
53 Parameter _alpha;
54 Parameter _beta;
55
56
57 // This function has a LogGamma Function;
58 LogGamma _logGamma;
59
60
61 };
62} // namespace Genfun
63#endif
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
virtual double operator()(double argument) const override
Definition: Abs.hh:14