CLHEP VERSION Reference Documentation
CLHEP Home Page
CLHEP Documentation
CLHEP Bug Reports
GenericFunctions
src
ClassicalSolver.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
// $Id:
3
#include "
CLHEP/GenericFunctions/ClassicalSolver.hh
"
4
#include "
CLHEP/GenericFunctions/PhaseSpace.hh
"
5
#include <cmath>
6
7
namespace
Genfun
{
8
9
FUNCTION_OBJECT_IMP
(EnergyFunction)
10
11
EnergyFunction
::
EnergyFunction
(const
Classical
::Solver & xsolver):
12
solver(xsolver)
13
{}
14
15
EnergyFunction::~EnergyFunction
() {
16
}
17
18
EnergyFunction::EnergyFunction
(
const
EnergyFunction
& right)
19
:
AbsFunction
(right), solver(right.solver)
20
{ }
21
22
23
double
EnergyFunction::operator()
(
double
t)
const
{
24
const
Classical::PhaseSpace
& phaseSpace=solver.
phaseSpace
();
25
const
unsigned
int
DIM=phaseSpace.
dim
();
26
Genfun::Argument
arg(2*DIM);
27
for
(
unsigned
int
i
=0;
i
<phaseSpace.
dim
();
i
++) {
28
arg[
i
] =solver.
equationOf
(phaseSpace.
coordinates
()[
i
])(t);
29
arg[
i
+DIM]=solver.
equationOf
(phaseSpace.
momenta
()[
i
])(t);
30
}
31
Genfun::GENFUNCTION
H = solver.
hamiltonian
();
32
return
H(arg);
33
}
34
35
36
}
// namespace Genfun
ClassicalSolver.hh
Genfun::AbsFunction
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:48
Classical::Solver::hamiltonian
virtual Genfun::GENFUNCTION hamiltonian() const =0
Classical::PhaseSpace::momenta
const Component & momenta() const
Definition:
PhaseSpace.cc:70
Genfun::GENFUNCTION
const typedef AbsFunction & GENFUNCTION
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:125
PhaseSpace.hh
Genfun::EnergyFunction::operator()
virtual double operator()(double argument) const
Definition:
ClassicalSolver.cc:23
Genfun::Argument
Definition:
CLHEP/GenericFunctions/Argument.hh:17
Classical
Definition:
CLHEP/GenericFunctions/ClassicalSolver.hh:23
Genfun::EnergyFunction
Definition:
CLHEP/GenericFunctions/ClassicalSolver.hh:76
i
long i
Definition:
JamesRandomSeeding.txt:27
Classical::PhaseSpace::dim
unsigned int dim() const
Definition:
PhaseSpace.cc:98
Classical::PhaseSpace::coordinates
const Component & coordinates() const
Definition:
PhaseSpace.cc:66
Classical::Solver::phaseSpace
virtual const PhaseSpace & phaseSpace() const =0
Classical::PhaseSpace
Definition:
CLHEP/GenericFunctions/PhaseSpace.hh:17
Classical::Solver::equationOf
virtual Genfun::GENFUNCTION equationOf(const Genfun::Variable &v) const =0
FUNCTION_OBJECT_IMP
#define FUNCTION_OBJECT_IMP(classname)
Definition:
CLHEP/GenericFunctions/AbsFunction.hh:156
Genfun::EnergyFunction::~EnergyFunction
virtual ~EnergyFunction()
Definition:
ClassicalSolver.cc:15
Genfun::EnergyFunction::EnergyFunction
EnergyFunction(const Classical::Solver &)
Definition:
ClassicalSolver.cc:11
Genfun
Definition:
CLHEP/GenericFunctions/Abs.hh:14
Generated by
1.8.17