34 planarArcGeometry_m(1., 1.), fieldUnits_m(1.), lengthUnits_m(1.),
35 polyOrder_m(1), smoothOrder_m(1), dummy() {
40 planarArcGeometry_m(right.planarArcGeometry_m),
41 fieldUnits_m(right.fieldUnits_m), lengthUnits_m(right.lengthUnits_m),
42 polyOrder_m(right.polyOrder_m), smoothOrder_m(right.smoothOrder_m),
45 if (right.
map_m != NULL)
ParticleAttrib< Vector_t > P
virtual void visitSBend3D(const SBend3D &)=0
Apply the algorithm to a sector bend with 3D field map.
Interface for a single beam element.
PartBunchBase< double, 3 > * RefPartBunch_m
void setFieldMapFileName(std::string name)
void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
ElementBase * clone() const override
void accept(BeamlineVisitor &visitor) const override
EMField & getField() override
bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
SBend3D(const std::string &name)
PlanarArcGeometry planarArcGeometry_m
SectorMagneticFieldMap * map_m
BGeometryBase & getGeometry() override
bool bends() const override
Abstract base class for accelerator geometry classes.
void setCurvature(double)
Set curvature.
virtual void setElementLength(double)
Set length.
Abstract base class for electromagnetic fields.
virtual std::vector< double > getPolarBoundingBoxMin() const
virtual std::vector< double > getPolarBoundingBoxMax() const
handles field map grids with sector geometry
bool getFieldstrength(const Vector_t &R_c, Vector_t &E_c, Vector_t &B_c) const
double getDeltaPhi() const