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.