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