CLHEP
2.4.6.4
C++ Class Library for High Energy Physics
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
m
n
o
p
q
r
s
t
v
w
z
Functions
b
c
d
e
f
g
h
i
m
n
o
p
q
r
s
t
v
z
Variables
Typedefs
Enumerations
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Enumerator
a
b
c
e
f
i
j
m
n
o
r
s
t
u
v
w
x
y
z
Related Functions
b
c
d
h
i
o
p
q
r
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
z
Variables
m
n
q
r
t
Typedefs
Enumerator
Macros
_
a
c
d
e
f
h
m
n
p
r
s
t
v
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
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