OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Separator.cpp
Go to the documentation of this file.
1 // ------------------------------------------------------------------------
2 // $RCSfile: Separator.cpp,v $
3 // ------------------------------------------------------------------------
4 // $Revision: 1.1.1.1 $
5 // ------------------------------------------------------------------------
6 // Copyright: see Copyright.readme
7 // ------------------------------------------------------------------------
8 //
9 // Class: Separator
10 // Defines the abstract interface for an separator.
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/Separator.h"
23 
24 
25 // Class Separator
26 // ------------------------------------------------------------------------
27 
29  Component()
30 {}
31 
32 
34  Component(right)
35 {}
36 
37 
38 Separator::Separator(const std::string &name):
39  Component(name)
40 {}
41 
42 
44 {}
45 
46 
47 void Separator::accept(BeamlineVisitor &visitor) const {
48  visitor.visitSeparator(*this);
49 }
50 
51 void Separator::initialise(PartBunchBase<double, 3> *bunch, double &startField, double &endField) {
52  RefPartBunch_m = bunch;
53 }
54 
56 {}
57 
58 bool Separator::bends() const {
59  return false;
60 }
61 
62 void Separator::getDimensions(double &zBegin, double &zEnd) const {
63 
64 }
65 
66 
68  return SEPARATOR;
69 }
virtual ElementBase::ElementType getType() const override
Get element type std::string.
Definition: Separator.cpp:67
virtual void finalise() override
Definition: Separator.cpp:55
Interface for electrostatic separator.
Definition: Separator.h:33
virtual void getDimensions(double &zBegin, double &zEnd) const override
Definition: Separator.cpp:62
virtual bool bends() const override
Definition: Separator.cpp:58
virtual ~Separator()
Definition: Separator.cpp:43
PartBunchBase< double, 3 > * RefPartBunch_m
Definition: Component.h:200
const std::string name
virtual void visitSeparator(const Separator &)=0
Apply the algorithm to an electrostatic separator.
Interface for a single beam element.
Definition: Component.h:51
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Definition: Separator.cpp:51
Abstract algorithm.
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Separator.
Definition: Separator.cpp:47