CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
Main Page
Namespaces
Classes
Files
File List
File Members
GenericFunctions
CLHEP
GenericFunctions
CLHEP/GenericFunctions/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
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
{
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
Generated on Mon May 6 2013 04:04:10 for CLHEP by
1.8.1.2