OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Marker.cpp
Go to the documentation of this file.
1 // ------------------------------------------------------------------------
2 // $RCSfile: Marker.cpp,v $
3 // ------------------------------------------------------------------------
4 // $Revision: 1.1.1.1 $
5 // ------------------------------------------------------------------------
6 // Copyright: see Copyright.readme
7 // ------------------------------------------------------------------------
8 //
9 // Class: Marker
10 // Defines the abstract interface for a marker element.
11 //
12 // ------------------------------------------------------------------------
13 // Class category: AbsBeamline
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:32:31 $
17 // $Author: fci $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "AbsBeamline/Marker.h"
23 
24 
25 // Class Marker
26 // ------------------------------------------------------------------------
27 
28 
30  Component()
31 { }
32 
33 
34 Marker::Marker(const Marker &right):
35  Component(right)
36 { }
37 
38 
39 Marker::Marker(const std::string &name):
41 { }
42 
43 
45 { }
46 
47 
48 void Marker::accept(BeamlineVisitor &visitor) const {
49  visitor.visitMarker(*this);
50 }
51 
52 void Marker::initialise(PartBunchBase<double, 3> *bunch, double &/*startField*/, double &/*endField*/) {
53  RefPartBunch_m = bunch;
54 }
55 
57 { }
58 
59 bool Marker::bends() const {
60  return false;
61 }
62 
63 
64 void Marker::getDimensions(double &/*zBegin*/, double &/*zEnd*/) const {
65 }
66 
68  return MARKER;
69 }
70 
const std::string name
virtual void visitMarker(const Marker &)=0
Apply the algorithm to a marker.
Interface for a single beam element.
Definition: Component.h:50
PartBunchBase< double, 3 > * RefPartBunch_m
Definition: Component.h:194
Interface for a marker.
Definition: Marker.h:32
virtual ElementBase::ElementType getType() const override
Get element type std::string.
Definition: Marker.cpp:67
virtual bool bends() const override
Definition: Marker.cpp:59
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Definition: Marker.cpp:52
virtual void finalise() override
Definition: Marker.cpp:56
virtual void getDimensions(double &zBegin, double &zEnd) const override
Definition: Marker.cpp:64
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Marker.
Definition: Marker.cpp:48
Marker()
Definition: Marker.cpp:29
virtual ~Marker()
Definition: Marker.cpp:44