30 #ifndef CLASSIC_MULTIPOLET_STRAIGHT_H
31 #define CLASSIC_MULTIPOLET_STRAIGHT_H
100 virtual void setMaxOrder(
const std::size_t &maxOrder)
override;
112 double &endField)
override;
125 virtual double getRadius(
const double &s)
override;
130 virtual double getScaleFactor(
const double &x,
const double &s)
override;
147 virtual double getFn(
const std::size_t &
n,
149 const double &s)
override;
virtual double getRadius(const double &s) override
Interface for basic beam line object.
virtual void setMaxOrder(const std::size_t &maxOrder) override
MultipoleTStraight operator=(const MultipoleTStraight &rhs)
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
void accept(BeamlineVisitor &visitor) const override
StraightGeometry straightGeometry_m
virtual ElementBase * clone() const override
MultipoleTStraight(const std::string &name)
virtual void transformCoords(Vector_t &R) override
virtual double getFn(const std::size_t &n, const double &x, const double &s) override
virtual void setElementLength(double length)
Set design length.
PartBunchBase< double, 3 > * RefPartBunch_m
virtual void visitMultipoleTStraight(const MultipoleTStraight &)=0
Apply the algorithm to an arbitrary straight Multipole.
virtual double getScaleFactor(const double &x, const double &s) override
StraightGeometry & getGeometry() override
A geometry representing a straight line.
virtual double getBx(const Vector_t &R) override
double getBoundingBoxLength() const
virtual void transformBField(Vector_t &B, const Vector_t &R) override
virtual double getBs(const Vector_t &R) override