OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Septum.h
Go to the documentation of this file.
1 #ifndef CLASSIC_Septum_HH
2 #define CLASSIC_Septum_HH
3 
5 
6 // Class Septum
7 // ------------------------------------------------------------------------
9 // Class Septum defines the abstract interface for a septum magnet.
10 
11 class Septum: public PluginElement {
12 
13 public:
15  explicit Septum(const std::string &name);
16 
17  Septum();
18  Septum(const Septum &);
19  void operator=(const Septum &) = delete;
20  virtual ~Septum();
21 
23  virtual void accept(BeamlineVisitor &) const override;
25  virtual ElementBase::ElementType getType() const override;
26  virtual void initialise(PartBunchBase<double, 3> *bunch, double &startField, double &endField) override;
30 
32  void setWidth(double width);
33  double getWidth() const;
35 
36 private:
38  virtual void doInitialise(PartBunchBase<double, 3> *bunch) override;
40  virtual bool doCheck(PartBunchBase<double, 3> *bunch, const int turnnumber, const double t, const double tstep) override;
42  virtual bool doPreCheck(PartBunchBase<double, 3>*) override;
43 
45  double width_m;
47 };
48 
49 #endif // CLASSIC_Septum_HH
Septum()
Definition: Septum.cpp:13
void operator=(const Septum &)=delete
Interface for septum magnet.
Definition: Septum.h:11
double width_m
input geometry positions
Definition: Septum.h:45
virtual bool doCheck(PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep) override
Record hits when bunch particles pass.
Definition: Septum.cpp:68
virtual ElementBase::ElementType getType() const override
Override implementation of PluginElement.
Definition: Septum.cpp:98
double getWidth() const
Definition: Septum.cpp:44
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Pure virtual implementation of Component.
Definition: Septum.cpp:33
virtual void doInitialise(PartBunchBase< double, 3 > *bunch) override
Hook for initialise.
Definition: Septum.cpp:40
void setWidth(double width)
Member variable access.
Definition: Septum.cpp:48
const std::string name
virtual bool doPreCheck(PartBunchBase< double, 3 > *) override
Virtual hook for preCheck.
Definition: Septum.cpp:53
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Septum.
Definition: Septum.cpp:29
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Pure virtual implementation of Component.
Abstract algorithm.
virtual ~Septum()
Definition: Septum.cpp:27