59 "Failed to copy RingSection");
80 return normProd >= 0. && posProd >= 0.;
92 return normProd > 0. && posProd > 0.;
128 std::vector<Vector_t<double, 3>> bb;
160 for (
size_t i = 0; i < virtualBB.size(); ++i) {
168 bool hasBefore =
false;
169 bool hasAfter =
false;
170 for (
size_t i = 0; i < virtualBB.size(); ++i) {
171 hasBefore = hasBefore ||
173 hasAfter = hasAfter ||
177 if (hasBefore && hasAfter)
ippl::Vector< T, Dim > Vector_t
Interface for a single beam element.
virtual ElementBase * clone() const =0
Return clone.
Vector_t< double, 3 > getStartPosition() const
RingSection & operator=(const RingSection &sec)
Vector_t< double, 3 > componentOrientation_m
void rotateToCyclCoordinates(Vector_t< double, 3 > &vec) const
void setEndPosition(Vector_t< double, 3 > pos)
Vector_t< double, 3 > getEndPosition() const
bool getFieldValue(const Vector_t< double, 3 > &pos, const Vector_t< double, 3 > ¢roid, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) const
Vector_t< double, 3 > & normalise(Vector_t< double, 3 > &vector) const
void setStartNormal(Vector_t< double, 3 > orientation)
Vector_t< double, 3 > getEndNormal() const
Vector_t< double, 3 > getStartNormal() const
std::vector< Vector_t< double, 3 > > getVirtualBoundingBox() const
void rotateToTCoordinates(Vector_t< double, 3 > &vec) const
bool isOnOrPastStartPlane(const Vector_t< double, 3 > &pos) const
bool doesOverlap(double phiStart, double phiEnd) const
Vector_t< double, 3 > endPosition_m
void updateComponentOrientation()
void setEndNormal(Vector_t< double, 3 > orientation)
Vector_t< double, 3 > startOrientation_m
void setStartPosition(Vector_t< double, 3 > pos)
void rotate_back(Vector_t< double, 3 > &vector) const
Vector_t< double, 3 > componentPosition_m
bool isPastEndPlane(const Vector_t< double, 3 > &pos) const
void rotate(Vector_t< double, 3 > &vector) const
Vector_t< double, 3 > startPosition_m
Vector_t< double, 3 > endOrientation_m