19 #ifndef CLASSIC_Multipole_HH
20 #define CLASSIC_Multipole_HH
26 template <
class T,
unsigned Dim>
107 bool isFocusing(
unsigned int component)
const;
125 virtual bool bends()
const override;
129 virtual void getDimensions(
double &zBegin,
double &zEnd)
const override;
Interface for a single beam element.
Interface for general multipole.
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
std::vector< double > SkewComponents
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Multipole.
int max_NormalComponent_m
size_t getMaxSkewComponentIndex() const
size_t getMaxNormalComponentIndex() const
virtual BMultipoleField & getField() override=0
Get multipole field.
void computeField(Vector_t R, Vector_t &E, Vector_t &B)
virtual void getDimensions(double &zBegin, double &zEnd) const override
std::vector< double > SkewComponentErrors
virtual void finalise() override
void setNSlices(const std::size_t &nSlices)
virtual bool bends() const override
virtual ElementBase::ElementType getType() const override
Get element type std::string.
bool isFocusing(unsigned int component) const
virtual const BMultipoleField & getField() const override=0
Get multipole field. Version for const object.
std::vector< double > NormalComponents
void setNormalComponent(int, double)
Set normal component.
double getSkewComponent(int n) const
Get skew component.
virtual const StraightGeometry & getGeometry() const override=0
Get geometry.
std::size_t getNSlices() const
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
void setSkewComponent(int, double)
Set skew component.
std::vector< double > NormalComponentErrors
double getNormalComponent(int n) const
Get normal component.
virtual StraightGeometry & getGeometry() override=0
Get geometry.
void operator=(const Multipole &)
virtual bool isInside(const Vector_t &r) const override
A geometry representing a straight line.
The magnetic field of a multipole.