1 #ifndef CLASSIC_RBend3D_HH
2 #define CLASSIC_RBend3D_HH
28 template <
class T,
unsigned Dim>
82 virtual bool bends()
const override;
84 virtual void goOnline(
const double &kineticEnergy)
override;
97 virtual void getDimensions(
double &zBegin,
double &zEnd)
const override;
129 #endif // CLASSIC_RBend3D_HH
Interface for basic beam line object.
virtual double getExitAngle() const override
virtual ElementBase::ElementType getType() const override
Get element type std::string.
StraightGeometry geometry_m
virtual bool isInside(const Vector_t &r) const override
BMultipoleField dummyField_m
MeshData getSurfaceMesh() const
void operator=(const RBend3D &)
double getBendAngle() const
double fieldAmplitudeError_m
Abstract base class for accelerator geometry classes.
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
virtual void addKT(int i, double t, Vector_t &K) override
ElementBase * clone() const override
virtual void addKR(int i, double t, Vector_t &K) override
Abstract base class for electromagnetic fields.
BGeometryBase & getGeometry() override
EMField & getField() override
A geometry representing a straight line.
virtual void goOnline(const double &kineticEnergy) override
The magnetic field of a multipole.
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual void accept(BeamlineVisitor &) const override
Apply visitor to RBend3D.
void setFieldMapFN(std::string fn)
virtual void finalise() override
virtual bool bends() const override
Indicates that element bends the beam.
virtual void goOffline() override
double getEntranceAngle() const
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
double trackRefParticleThrough(double dt, bool print=false)