CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
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
11#include "CLHEP/GenericFunctions/AbsFunction.hh"
12#include "CLHEP/GenericFunctions/Parameter.hh"
13#include "CLHEP/GenericFunctions/LogGamma.hh"
14#define _BETADISTRIBUTION_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 ~BetaDistribution();
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 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
#define FUNCTION_OBJECT_DEF(classname)
Definition: AbsFunction.hh:143
virtual double operator()(double argument) const override
Definition: Abs.hh:14