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