10#include <tracking/trackFindingCDC/geometry/Vector3D.h>
11#include <tracking/trackFindingCDC/geometry/Vector2D.h>
20 namespace TrackFindingCDC {
66 pos2D.
setY(pos2D.
y() + sagY);
81 movePerZ.
setY(movePerZ.
y() + sagDYDZ);
94 return (pos3D - wirePos3D).orthogonalComp(movePerZ);
106 return wirePos3D - (point - wirePos3D).parallelVector(movePerZ);
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
double dot(const Vector2D &rhs) const
Calculates the two dimensional dot product.
double cylindricalR() const
Gives the cylindrical radius of the vector. Same as norm()
Vector2D orthogonalVector(const Vector2D &relativTo) const
Calculates the part of this vector that is parallel to the given vector.
double x() const
Getter for the x coordinate.
double phi() const
Gives the azimuth angle being the angle to the x axes ( range -M_PI to M_PI )
double normSquared() const
Calculates .
void setY(const double y)
Setter for the y coordinate.
double y() const
Getter for the y coordinate.
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
double norm() const
Calculates the length of the vector.
A three dimensional vector.
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
double x() const
Getter for the x coordinate.
double cylindricalRSquared() const
Getter for the squared cylindrical radius ( xy projected squared norm )
double y() const
Getter for the y coordinate.
double z() const
Getter for the z coordinate.
A three dimensional limited line represented by its closest approach to the z-axes (reference positio...
Vector2D backward2D() const
Gives the xy position of the backward point.
const Vector3D & refPos3D() const
Returns the reference position.
double refX() const
Returns the the x coordinate of the reference point.
const Vector2D & nominalMovePerZ() const
Gives the positional move in the xy projection per unit z.
double forwardPhiToRef() const
Gives the azimuth angle of the forward position relative to the reference position.
double m_backwardZ
Memory for the backward end z coordinate.
Vector2D sagMovePerZ(const double z) const
Gives the two dimensional position with wire sag effect of the line at the given z value.
const Vector2D & refPos2D() const
Returns the xy vector of the reference position.
Vector3D nominalPos3DAtZ(const double z) const
Gives the three dimensional position without wire sag effect of the line at the given z value.
Vector3D nominalPerigee3D() const
Returns the point of nominal closest approach to the z axes.
double lambda() const
Returns the nominal lambda angle of the line.
double refCylindricalRSquared() const
Returns the cylindrical radius of the reference position.
double backwardCylindricalR() const
Gives the cylindrical radius of the backward position.
double backwardPhiToRef() const
Gives the azimuth angle of the backward position relative to the reference position.
WireLine()
Default constructor initialising to all members to zero.
double backwardZ() const
Gives the backward z coordinate.
double forwardPhi() const
Gives the forward azimuth angle.
double refZ() const
Returns the the z coordinate of the reference point.
double backwardToForwardAngle() const
Gives the azimuth angle difference from backward to forward position.
double tanTheta() const
Returns the tangent of the opening angle between tangential vector and the z axes Also know as ds / d...
double forwardZ() const
Gives the forward z coordinate.
double deltaZ() const
Returns the difference between forward and backward z.
double tanLambda() const
Returns the nominal tan lambda of the line. Also know as dz / ds.
Vector2D nominalPerigee2D() const
Returns the point of nominal closest approach to the z axes.
Vector2D m_nominalMovePerZ
Memory for the nominal movement of the xy position per z unit off the reference.
Vector3D sagPos3DAtZ(const double z) const
Gives the three dimensional position with wire sag effect of the line at the given z value.
Vector3D sagClosest3D(const Vector3D &point) const
Returns the closest approach on the wire with wire sag effect to the give point.
double nominalPerigeeZ() const
Returns the z coordinate of the point of nominal closest approach to the z axes.
Vector3D backward3D() const
Gives the position of the backward point.
double forwardCylindricalR() const
Gives the cylindrical radius of the forward position.
double outOfZBoundsFactor(double z) const
Returns the amount how much the given z position is outside the bounds in units of the wire length.
double sagCoeff() const
Returns the wire sag coefficient due to gravity.
Vector2D sagPos2DAtZ(const double z) const
Gives the two dimensional position with wire sag effect of the line at the given z value.
double m_forwardZ
Memory for the forward end z coordinate.
double sagDistance(const Vector3D &pos3D) const
Calculates the distance of the given point to the wire with wire sag effect.
Vector3D wireVector() const
Getter for the vector from backward to the forward position.
double nominalDistance(const Vector3D &pos3D) const
Calculates the distance of the given point to the wire without wire sag effect.
double refY() const
Returns the the y coordinate of the reference point.
Vector3D forward3D() const
Gives the position of the forward point.
Vector3D nominalClosest3D(const Vector3D &point) const
Returns the closest approach on the wire without wire sag effect to the give point.
WireLine movedBy(const Vector3D &offset) const
Returns a copy of the wire line moved by a three dimensional offset.
double m_sagCoeff
Memory for the wire sag coefficient.
Vector3D m_refPos3D
Memory for the reference position.
double theta() const
Returns the nominal opening angle between tangential vector and the z axes.
Vector2D forward2D() const
Gives the xy position of the forward point.
Vector2D nominalPos2DAtZ(const double z) const
Gives the two dimensional position without wire sag effect of the line at the given z value.
double backwardPhi() const
Gives the backward azimuth angle.
Abstract base class for different kinds of events.