CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
GenericFunctions
src
FunctionSum.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id: FunctionSum.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
3
#include "
CLHEP/GenericFunctions/FunctionSum.hh
"
4
#include <assert.h>
5
6
namespace
Genfun
{
7
FUNCTION_OBJECT_IMP
(FunctionSum)
8
9
FunctionSum
::
FunctionSum
(const
AbsFunction
*arg1, const
AbsFunction
*arg2):
10
_arg1(arg1->clone()),
11
_arg2(arg2->clone())
12
{
13
if
(arg1->dimensionality()!=arg2->dimensionality()) {
14
std::cout
15
<<
"Warning: dimension mismatch in function sum"
16
<< std::endl;
17
assert(0);
18
}
19
}
20
21
FunctionSum::FunctionSum
(
const
FunctionSum
& right) :
22
AbsFunction
(right),
23
_arg1(right._arg1->clone()),
24
_arg2(right._arg2->clone())
25
{}
26
27
unsigned
int
FunctionSum::dimensionality
()
const
{
28
return
_arg1->
dimensionality
();
29
}
30
31
FunctionSum::~FunctionSum
()
32
{
33
delete
_arg1;
34
delete
_arg2;
35
}
36
37
38
39
double
FunctionSum::operator ()
(
double
x)
const
40
{
41
return
(*_arg1)(x)+(*_arg2)(x);
42
}
43
44
45
double
FunctionSum::operator ()
(
const
Argument
& x)
const
46
{
47
return
(*_arg1)(x)+(*_arg2)(x);
48
}
49
50
51
52
Derivative
FunctionSum::partial
(
unsigned
int
index)
const
{
53
const
AbsFunction
& fPrime = _arg1->
partial
(index) + _arg2->
partial
(index);
54
return
Derivative
(&fPrime);
55
}
56
57
58
59
}
// namespace Genfun
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition
CLHEP/GenericFunctions/AbsFunction.hh:156
FunctionSum.hh
Genfun::AbsFunction
Definition
CLHEP/GenericFunctions/AbsFunction.hh:48
Genfun::AbsFunction::partial
virtual Derivative partial(unsigned int) const
Definition
AbsFunction.cc:40
Genfun::AbsFunction::dimensionality
virtual unsigned int dimensionality() const
Definition
AbsFunction.cc:79
Genfun::Argument
Definition
CLHEP/GenericFunctions/Argument.hh:17
Genfun::FunctionNoop
Definition
CLHEP/GenericFunctions/FunctionNoop.hh:19
Genfun::FunctionSum
Definition
CLHEP/GenericFunctions/FunctionSum.hh:20
Genfun::FunctionSum::FunctionSum
FunctionSum(const AbsFunction *arg1, const AbsFunction *arg2)
Definition
FunctionSum.cc:9
Genfun::FunctionSum::~FunctionSum
virtual ~FunctionSum()
Definition
FunctionSum.cc:31
Genfun::FunctionSum::dimensionality
virtual unsigned int dimensionality() const
Definition
FunctionSum.cc:27
Genfun::FunctionSum::partial
Derivative partial(unsigned int) const
Definition
FunctionSum.cc:52
Genfun::FunctionSum::operator()
virtual double operator()(double argument) const
Definition
FunctionSum.cc:39
Genfun
Definition
CLHEP/GenericFunctions/Abs.hh:14
Genfun::Derivative
FunctionNoop Derivative
Definition
CLHEP/GenericFunctions/AbsFunction.hh:42
Generated by
1.9.8