18#ifndef CLASSIC_ABSBEAMLINE_Offset_HH
19#define CLASSIC_ABSBEAMLINE_Offset_HH
145 bool bends()
const override;
148 double& startField,
double& endField)
override;
bool operator!=(const Offset &off1, const Offset &off2)
std::ostream & operator<<(std::ostream &out, const Offset &off1)
bool operator==(const Offset &off1, const Offset &off2)
Component(const std::string &name)
Constructor with given name.
ElementBase(const std::string &name)
Constructor with given name.
static Vector_t rotate(Vector_t vec, double theta)
static Offset globalCylindricalOffset(const std::string &name, double radius_out, double phi_out, double theta_out)
static double getTheta(Vector_t vec1, Vector_t vec2)
Euclid3DGeometry & getGeometry() override
Get geometry.
Offset & operator=(const Offset &)
bool isGeometryAllocated() const
void getDimensions(double &, double &) const override
void setEndPosition(Vector_t position)
Vector_t getEndPosition() const
EMField & getField() override
Not implemented - throws GeneralClassicException.
void setEndDirection(Vector_t direction)
static double float_tolerance
Offset(const std::string &name)
ElementBase * clone() const override
void accept(BeamlineVisitor &) const override
Euclid3DGeometry * geometry_m
static Offset localCartesianOffset(const std::string &name, Vector_t end_position, Vector_t end_direction)
static Offset globalCartesianOffset(const std::string &name, Vector_t end_position, Vector_t end_direction)
void setIsLocal(bool isLocal)
bool bends() const override
void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Vector_t getEndDirection() const
static Offset localCylindricalOffset(const std::string &name, double theta_in, double theta_out, double displacement)
Abstract base class for electromagnetic fields.
Vektor< double, 3 > Vector_t