30#ifndef CLASSIC_MULTIPOLET_CURVED_VAR_RADIUS_H
31#define CLASSIC_MULTIPOLET_CURVED_VAR_RADIUS_H
110 double getFn(
size_t n,
double x,
double s)
override;
115 void setMaxOrder(
size_t orderZ,
size_t orderX)
override;
constexpr double e
The value of.
void initialise() override
Initialise the element.
BGeometryBase & getGeometry() override
Return the cell geometry.
std::vector< polynomial::RecursionRelationTwo > recursion_m
Objects for storing differential operator acting on Fn.
void transformBField(Vector_t &, const Vector_t &) override
Transform B-field from Frenet-Serret coordinates to lab coordinates.
double getScaleFactor(double x, double s) override
Returns the scale factor .
double reverseTransformResidual(const Vector_t &r, const Vector_t &target)
static constexpr double TangentStep
double getFn(size_t n, double x, double s) override
Calculate fn(x, s) by expanding the differential operator (from Laplacian and scalar potential) in te...
MultipoleTCurvedVarRadius(MultipoleT *element)
Constructor.
static constexpr size_t ReverseTransformMaxIterations
void setMaxOrder(size_t orderZ, size_t orderX) override
Set the number of terms used in calculation of field components Maximum power of z in Bz is 2 * maxO...
Vector_t localCartesianEntryPoint_
double localCartesianRotation_
VarRadiusGeometry varRadiusGeometry_m
Geometry.
Vector_t localCartesianToCurvilinear(const Vector_t &r)
void transformCoords(Vector_t &) override
Transform to Frenet-Serret coordinates for sector magnets.
static constexpr double ReverseTransformTolerance
double localCartesianRotation() override
const BGeometryBase & getGeometry() const override
Return the cell geometry.
Vector_t localCartesianToOpalCartesian(const Vector_t &r) override
Vector_t curvilinearToLocalCartesian(const Vector_t &r)
Abstract base class for accelerator geometry classes.