CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
FunctionTimesParameter.hh
Go to the documentation of this file.
1// -*- C++ -*-
2// $Id: FunctionTimesParameter.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
3//--------------------------FunctionTimesParameter--------------------------//
4// //
5// ConstOverFunction, result of multiplying a function and a parameter //
6// Joe Boudreau, Petar Maksimovic, November 1999 //
7// //
8//--------------------------------------------------------------------------//
9
10#ifndef FunctionTimesParameter_h
11#define FunctionTimesParameter_h 1
13
14namespace Genfun {
15 class Argument;
16
22
24
25 public:
26
27 // Constructor
28 FunctionTimesParameter(const AbsParameter *parameter, const AbsFunction *function);
29
30 // Copy constructor
32
33 // Destructor
35
36 // Retreive function value
37 virtual double operator ()(double argument) const override;
38 virtual double operator ()(const Argument & a) const override;
39
40 // Dimensionality
41 virtual unsigned int dimensionality() const override;
42
43 // Derivative.
44 Derivative partial (unsigned int) const override;
45
46 // Does this function have an analytic derivative?
47 virtual bool hasAnalyticDerivative() const override {return true;}
48
49 private:
50
51 // It is illegal to assign a FunctionTimesParameter
52 const FunctionTimesParameter & operator=(const FunctionTimesParameter &right);
53
54 const AbsFunction *_function;
55 AbsParameter *_parameter;
56
57 };
58} // namespace Genfun
59#endif
#define FUNCTION_OBJECT_DEF(classname)
virtual double operator()(double argument) const override
virtual bool hasAnalyticDerivative() const override
virtual unsigned int dimensionality() const override
Derivative partial(unsigned int) const override
FunctionTimesParameter(const AbsParameter *parameter, const AbsFunction *function)
FunctionTimesParameter(const FunctionTimesParameter &right)
Definition Abs.hh:14
FunctionNoop Derivative