CLHEP
2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
F1D.hh
Go to the documentation of this file.
1
// -*- C++ -*------------------------------------------------------
2
//
3
// This class is an adaptor from any function (double *f)(double x)
4
// of one real variable, to generic functions. This allows one
5
// to plot, differentiate, sum, compose, etc, any standard C or
6
// C++ math function by converting it to a Generic Function.
7
//
8
// Joe Boudreau October 2012
9
//-----------------------------------------------------
10
#ifndef F1D_h
11
#define F1D_h 1
12
#include "CLHEP/GenericFunctions/AbsFunction.hh"
13
namespace
Genfun
{
14
15
/**
16
* @author
17
* @ingroup genfun
18
*/
19
class
F1D
:
public
AbsFunction
{
20
21
typedef
double
(*FcnPtr)(
double
);
22
23
FUNCTION_OBJECT_DEF
(
F1D
)
24
25
public
:
26
27
// Constructor
28
F1D
(FcnPtr fcn):p(fcn){};
29
30
// Destructor
31
virtual
~F1D
(){};
32
33
// Copy constructor
34
F1D
(
const
F1D
&right):
AbsFunction
(),p(right.p){};
35
36
// Retreive function value
37
virtual
double
operator ()
(
double
x)
const
{
38
return
(*p)(x);
39
}
40
41
virtual
double
operator ()
(
const
Argument
& a)
const override
{
return
operator()
(a[0]);}
42
43
private
:
44
45
// It is illegal to assign a F1D
46
const
F1D
& operator=(
const
F1D
&right);
47
48
// Data:
49
FcnPtr p;
50
51
};
52
FUNCTION_OBJECT_IMP
(F1D)
53
}
// namespace Genfun
54
#endif
FUNCTION_OBJECT_DEF
#define FUNCTION_OBJECT_DEF(classname)
Definition:
AbsFunction.hh:143
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition:
AbsFunction.hh:149
Genfun::AbsFunction
Definition:
AbsFunction.hh:48
Genfun::Argument
Definition:
Argument.hh:17
Genfun::F1D
Definition:
F1D.hh:19
Genfun::F1D::F1D
F1D(FcnPtr fcn)
Definition:
F1D.hh:28
Genfun::F1D::operator()
virtual double operator()(double x) const
Definition:
F1D.hh:37
Genfun::F1D::~F1D
virtual ~F1D()
Definition:
F1D.hh:31
Genfun::F1D::F1D
F1D(const F1D &right)
Definition:
F1D.hh:34
double
#define double(obj)
Definition:
excDblThrow.cc:32
Genfun
Definition:
Abs.hh:14
CLHEP-CLHEP_2_4_6_4
GenericFunctions
GenericFunctions
F1D.hh
Generated by
1.9.6