28 #ifndef RING_SECTION_H
29 #define RING_SECTION_H
127 bool doesOverlap(
double phiStart,
double phiEnd)
const;
215 double magnitude =
sqrt(orientation(0)*orientation(0)+
216 orientation(1)*orientation(1)+
217 orientation(2)*orientation(2));
219 orientation /= magnitude;
225 vec =
Vector_t(vec(1), vec(2), vec(0));
229 vec =
Vector_t(vec(2), vec(0), vec(1));
232 #endif //RING_SECTION_H
Vector_t getComponentOrientation() const
void setStartNormal(Vector_t orientation)
void rotateToCyclCoordinates(Vector_t &vec) const
void setComponentPosition(Vector_t position)
void setEndNormal(Vector_t orientation)
RingSection & operator=(const RingSection &sec)
void rotate_back(Vector_t &vector) const
Component * getComponent() const
void rotate(Vector_t &vector) const
Tps< T > sec(const Tps< T > &x)
Secant.
void setComponentOrientation(Vector_t orientation)
void setComponent(Component *component)
void setStartPosition(Vector_t pos)
Vector_t componentOrientation_m
bool doesOverlap(double phiStart, double phiEnd) const
bool getFieldValue(const Vector_t &pos, const Vector_t ¢roid, const double &t, Vector_t &E, Vector_t &B) const
std::vector< Vector_t > getVirtualBoundingBox() const
Vector_t getStartNormal() const
void updateComponentOrientation()
bool isPastEndPlane(const Vector_t &pos) const
Vector_t getEndPosition() const
Vector_t getComponentPosition() const
std::vector< RingSection * > RingSectionList
Component placement handler in ring geometry.
Vektor< double, 3 > Vector_t
Tps< T > sqrt(const Tps< T > &x)
Square root.
Vector_t endOrientation_m
bool isOnOrPastStartPlane(const Vector_t &pos) const
void setEndPosition(Vector_t pos)
Vector_t & normalise(Vector_t &vector) const
Vector_t getStartPosition() const
Vector_t componentPosition_m
void rotateToTCoordinates(Vector_t &vec) const
Vector_t getEndNormal() const
Interface for a single beam element.
Vector_t startOrientation_m