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

CLHEP/GenericFunctions/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
14 #define _GAMMADISTRIBUTION_REVISED_ 1
15 namespace Genfun {
16 
21  class GammaDistribution : public AbsFunction {
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;
38  virtual double operator ()(const Argument & a) const {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)
virtual double operator()(double argument) const
@ a