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

GenericFunctions/BetaDistribution.hh
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id:
3 //---------------------BetaDistribution-------------------------------------//
4 // //
5 // Class Beta, x^(a-1)(1-x)^beta-1 Gamma(a+b)/Gamma(a)/Gamma(b); //
6 // Joe Boudreau, Jan 2007 //
7 // //
8 //--------------------------------------------------------------------------//
9 #ifndef BetaDistribution_h
10 #define BetaDistribution_h 1
14 #define _BETADISTRIBUTION_REVISED_ 1
15 namespace Genfun {
16 
21  class BetaDistribution : public AbsFunction {
22 
24 
25  public:
26 
27  // Constructor
29 
30  // Copy constructor
31  BetaDistribution(const BetaDistribution &right);
32 
33  // Destructor
34  virtual ~BetaDistribution();
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 BetaDistribution & operator=(const BetaDistribution &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