CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
CumulativeChiSquare.cc
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: CumulativeChiSquare.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
3// ---------------------------------------------------------------------------
4
5#include "CLHEP/GenericFunctions/CumulativeChiSquare.hh"
6#include "CLHEP/GenericFunctions/IncompleteGamma.hh"
7#include "CLHEP/GenericFunctions/Variable.hh"
8
9namespace Genfun {
10FUNCTION_OBJECT_IMP(CumulativeChiSquare)
11
12//---------------------------------------------------------------------------------//
13// Implementation notes: The Cumulative Chi Square function is implemented in //
14// terms of the incomplete gamma function. //
15//---------------------------------------------------------------------------------//
16
18 _nDof(ndf)
19{
20 create();
21}
22
24 delete _function;
25}
26
28AbsFunction(right),
29_nDof(right._nDof)
30{
31 create();
32}
33
34double CumulativeChiSquare::operator() (double x) const {
35 return (*_function)(x);
36}
37
38unsigned int CumulativeChiSquare::nDof() const {
39 return _nDof;
40}
41
42void CumulativeChiSquare::create() {
43 Variable x;
44 IncompleteGamma incompleteGamma;
45 incompleteGamma.a().setValue(_nDof/2.0);
46 _function = (incompleteGamma(x/2.0)).clone();
47}
48} // namespace Genfun
#define FUNCTION_OBJECT_IMP(classname)
Definition: AbsFunction.hh:149
virtual AbsFunction * clone() const =0
CumulativeChiSquare(unsigned int nDof)
virtual double operator()(double argument) const override
void setValue(double value)
Definition: Parameter.cc:59
Definition: Abs.hh:14