29 #ifndef CLASSIC_ABSBEAMLINE_Offset_HH
30 #define CLASSIC_ABSBEAMLINE_Offset_HH
105 double displacement);
158 bool bends()
const override;
161 double &endField)
override;
226 #endif // CLASSIC_ABSBEAMLINE_Offset_HH
std::ostream & operator<<(std::ostream &os, const Attribute &attr)
Interface for basic beam line object.
static double float_tolerance
static Offset localCylindricalOffset(std::string name, double theta_in, double theta_out, double displacement)
Vector_t getEndPosition() const
static Offset globalCylindricalOffset(std::string name, double radius_out, double phi_out, double theta_out)
void setEndDirection(Vector_t direction)
void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Euclid3DGeometry & getGeometry() override
Get geometry.
ElementBase * clone() const override
static Offset globalCartesianOffset(std::string name, Vector_t end_position, Vector_t end_direction)
Offset & operator=(const Offset &)
static Offset localCartesianOffset(std::string name, Vector_t end_position, Vector_t end_direction)
bool bends() const override
Abstract base class for electromagnetic fields.
bool operator!=(const Offset &off1, const Offset &off2)
void getDimensions(double &zBegin, double &zEnd) const override
Euclid3DGeometry * geometry_m
static const double lengthUnits_m
Vector_t getEndDirection() const
void accept(BeamlineVisitor &) const override
Interface for a single beam element.
void setIsLocal(bool isLocal)
static double getTheta(Vector_t vec1, Vector_t vec2)
EMField & getField() override
Not implemented - throws GeneralClassicException.
void setEndPosition(Vector_t position)
bool isGeometryAllocated() const
bool operator==(const TwoPolynomial &left, const TwoPolynomial &right)
static Vector_t rotate(Vector_t vec, double theta)