OPALX (Object Oriented Parallel Accelerator Library for Exascal)
MINIorX
OPALX
ClassicField.cpp
Go to the documentation of this file.
1
#include "
Utilities/ClassicField.h
"
2
3
extern
Inform*
gmsg
;
4
5
ClassicField::ClassicField
(
6
std::shared_ptr<Component> element,
const
double
& start,
const
double
&
end
)
7
:
element_m
(element),
start_m
(start),
end_m
(
end
),
is_on_m
(false) {
8
}
9
10
ClassicField::~ClassicField
() {
11
element_m
=
nullptr
;
12
}
13
14
void
ClassicField::setOn
(
const
double
& kineticEnergy) {
15
if
(!
is_on_m
) {
16
element_m
->goOnline(kineticEnergy);
17
*
gmsg
<<
"* "
<<
element_m
->getName() <<
" gone live"
<< endl;
18
is_on_m
=
true
;
19
}
20
}
21
22
void
ClassicField::setOff
() {
23
if
(
is_on_m
) {
24
element_m
->goOffline();
25
*
gmsg
<<
"* "
<<
element_m
->getName() <<
" gone off"
<< endl;
26
is_on_m
=
false
;
27
}
28
}
gmsg
Inform * gmsg
Definition
changes.cpp:7
end
PartBunch< T, Dim >::ConstIterator end(PartBunch< T, Dim > const &bunch)
Definition
.PartBunchBase.h:209
ClassicField.h
ClassicField::setOff
void setOff()
Definition
ClassicField.cpp:22
ClassicField::setOn
void setOn(const double &kinematicEnergy)
Definition
ClassicField.cpp:14
ClassicField::element_m
std::shared_ptr< Component > element_m
Definition
ClassicField.h:37
ClassicField::start_m
double start_m
Definition
ClassicField.h:38
ClassicField::end_m
double end_m
Definition
ClassicField.h:39
ClassicField::ClassicField
ClassicField(std::shared_ptr< Component >, const double &, const double &)
Definition
ClassicField.cpp:5
ClassicField::is_on_m
bool is_on_m
Definition
ClassicField.h:40
ClassicField::~ClassicField
~ClassicField()
Definition
ClassicField.cpp:10