CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
GenericFunctions
src
Variable.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id: Variable.cc,v 1.3 2003/09/06 14:04:14 boudreau Exp $
3
#include "
CLHEP/GenericFunctions/Variable.hh
"
4
#include "
CLHEP/GenericFunctions/FixedConstant.hh
"
5
#include <stdexcept>
6
namespace
Genfun
{
7
FUNCTION_OBJECT_IMP
(Variable)
8
9
Variable
::
Variable
(
unsigned
int
selectionIndex,
unsigned
int
dmsnlty):
10
_selectionIndex(selectionIndex),
11
_dimensionality(dmsnlty)
12
{}
13
14
Variable::Variable
(
const
Variable
& right):
15
AbsFunction
(right),
16
_selectionIndex(right._selectionIndex),
17
_dimensionality(right._dimensionality)
18
{
19
}
20
21
Variable::~Variable
() {
22
}
23
24
double
Variable::operator()
(
double
x)
const
{
25
if
(_selectionIndex!=0)
throw
std::runtime_error(
"Genfun::Variable: selection index !=0"
) ;
26
return
x;
27
}
28
29
double
Variable::operator ()
(
const
Argument
&
a
)
const
{
30
if
(!(_selectionIndex<
a
.dimension()))
throw
std::runtime_error(
"Genfun::Varaible selection index out of bounds"
);
31
return
a
[_selectionIndex];
32
}
33
34
unsigned
int
Variable::index
()
const
{
35
return
_selectionIndex;
36
}
37
38
39
Derivative
Variable::partial
(
unsigned
int
mindex)
const
{
40
int
kroneckerDelta = mindex==_selectionIndex ? 1 : 0;
41
42
const
AbsFunction
*
f
=
new
FixedConstant
(kroneckerDelta);
43
for
(
unsigned
int
i=1;i<_dimensionality;i++) {
44
const
AbsFunction
& g = (*f)%
FixedConstant
(kroneckerDelta);
45
delete
f
;
46
f
=g.clone();
47
}
48
Derivative
retVal(
f
);
49
delete
f
;
50
return
retVal;
51
}
52
53
unsigned
int
Variable::dimensionality
()
const
{
54
return
_dimensionality;
55
}
56
57
}
// namespace Genfun
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition
CLHEP/GenericFunctions/AbsFunction.hh:156
FixedConstant.hh
Variable.hh
Genfun::AbsFunction
Definition
GenericFunctions/AbsFunction.hh:48
Genfun::Argument
Definition
GenericFunctions/Argument.hh:17
Genfun::FixedConstant
Definition
GenericFunctions/FixedConstant.hh:23
Genfun::FunctionNoop
Definition
GenericFunctions/FunctionNoop.hh:19
Genfun::Variable
Definition
GenericFunctions/Variable.hh:19
Genfun::Variable::Variable
Variable(unsigned int selectionIndex=0, unsigned int dimensionality=1)
Definition
Variable.cc:9
Genfun::Variable::index
unsigned int index() const
Definition
Variable.cc:34
Genfun::Variable::partial
Derivative partial(unsigned int) const
Definition
Variable.cc:39
Genfun::Variable::operator()
virtual double operator()(double argument) const
Definition
Variable.cc:24
Genfun::Variable::dimensionality
virtual unsigned int dimensionality() const
Definition
Variable.cc:53
Genfun::Variable::~Variable
virtual ~Variable()
Definition
Variable.cc:21
f
void f(void g())
Definition
excDblThrow.cc:38
Genfun
Definition
CLHEP/GenericFunctions/Abs.hh:14
a
@ a
Definition
testCategories.cc:125
Generated by
1.12.0