OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Marker.h
Go to the documentation of this file.
1#ifndef CLASSIC_Marker_HH
2#define CLASSIC_Marker_HH
3
4// ------------------------------------------------------------------------
5// $RCSfile: Marker.h,v $
6// ------------------------------------------------------------------------
7// $Revision: 1.1.1.1 $
8// ------------------------------------------------------------------------
9// Copyright: see Copyright.readme
10// ------------------------------------------------------------------------
11//
12// Class: Marker
13// Defines the abstract interface for a marker element.
14//
15// ------------------------------------------------------------------------
16// Class category: AbsBeamline
17// ------------------------------------------------------------------------
18//
19// $Date: 2000/03/27 09:32:31 $
20// $Author: fci $
21//
22// ------------------------------------------------------------------------
23
25
26
27// Class Marker
28// ------------------------------------------------------------------------
30// Class Marker defines the abstract interface for a marker element.
31
32class Marker: public Component {
33
34public:
35
37 explicit Marker(const std::string &name);
38
39 Marker();
40 Marker(const Marker &);
41 virtual ~Marker();
42
44 virtual void accept(BeamlineVisitor &) const override;
45
46 virtual void initialise(PartBunchBase<double, 3> *bunch, double &startField, double &endField) override;
47
48 virtual void finalise() override;
49
50 virtual bool bends() const override;
51
52 virtual ElementType getType() const override;
53
54 virtual void getDimensions(double &zBegin, double &zEnd) const override;
55
56 virtual int getRequiredNumberOfTimeSteps() const override;
57
58private:
59
60 // Not implemented.
61 void operator=(const Marker &);
62};
63
64inline
66{
67 return 1;
68}
69
70#endif // CLASSIC_Marker_HH
ElementType
Definition: ElementBase.h:88
const std::string name
Interface for a single beam element.
Definition: Component.h:50
Interface for a marker.
Definition: Marker.h:32
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 int getRequiredNumberOfTimeSteps() const override
Definition: Marker.h:65
void operator=(const Marker &)
virtual ElementType getType() const override
Get element type std::string.
Definition: Marker.cpp:67
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