Belle II Software  release-08-01-10
WireLine Class Reference

A three dimensional limited line represented by its closest approach to the z-axes (reference position ) and its skew parameter. More...

#include <WireLine.h>

Collaboration diagram for WireLine:

Public Member Functions

 WireLine ()
 Default constructor initialising to all members to zero.
 
 WireLine (const Vector3D &forward, const Vector3D &backward, double sagCoeff)
 Constuctor for a wire line between forward and backward point.
 
WireLine movedBy (const Vector3D &offset) const
 Returns a copy of the wire line moved by a three dimensional offset.
 
WireLine movedBy (const Vector2D &offset) const
 Returns a copy of the wire line moved by a two dimensional offset.
 
Vector3D nominalPos3DAtZ (const double z) const
 Gives the three dimensional position without wire sag effect of the line at the given z value.
 
Vector2D nominalPos2DAtZ (const double z) const
 Gives the two dimensional position without wire sag effect of the line at the given z value.
 
Vector3D sagPos3DAtZ (const double z) const
 Gives the three dimensional position with wire sag effect of the line at the given z value.
 
Vector2D sagPos2DAtZ (const double z) const
 Gives the two dimensional position with wire sag effect of the line at the given z value. More...
 
const Vector2DnominalMovePerZ () const
 Gives the positional move in the xy projection per unit z.
 
Vector2D sagMovePerZ (const double z) const
 Gives the two dimensional position with wire sag effect of the line at the given z value. More...
 
double nominalDistance (const Vector3D &pos3D) const
 Calculates the distance of the given point to the wire without wire sag effect.
 
double sagDistance (const Vector3D &pos3D) const
 Calculates the distance of the given point to the wire with wire sag effect.
 
Vector3D nominalClosest3D (const Vector3D &point) const
 Returns the closest approach on the wire without wire sag effect to the give point.
 
Vector3D sagClosest3D (const Vector3D &point) const
 Returns the closest approach on the wire with wire sag effect to the give point.
 
Vector3D forward3D () const
 Gives the position of the forward point.
 
Vector2D forward2D () const
 Gives the xy position of the forward point.
 
Vector3D backward3D () const
 Gives the position of the backward point.
 
Vector2D backward2D () const
 Gives the xy position of the backward point.
 
Vector3D wireVector () const
 Getter for the vector from backward to the forward position.
 
double forwardZ () const
 Gives the forward z coodinate.
 
double backwardZ () const
 Gives the backward z coodinate.
 
double deltaZ () const
 Returns the difference between forward and backward z.
 
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 forwardPhi () const
 Gives the forward azimuth angle.
 
double backwardPhi () const
 Gives the backward azimuth angle.
 
double forwardCylindricalR () const
 Gives the cylindrical radius of the forward position.
 
double backwardCylindricalR () const
 Gives the cylindrical radius of the backward position.
 
double forwardPhiToRef () const
 Gives the azimuth angle of the forward position relative to the reference position.
 
double backwardPhiToRef () const
 Gives the azimuth angle of the backward position relative to the reference position.
 
double backwardToForwardAngle () const
 Gives the azimuth angle difference from backward to forward position.
 
double tanLambda () const
 Returns the nominal tan lambda of the line. Also know as dz / ds.
 
double lambda () const
 Returns the nominal lambda angle of the line.
 
double tanTheta () const
 Returns the tangent of the opening angle between tangential vector and the z axes Also know as ds / dz.
 
double theta () const
 Returns the nominal opening angle between tangential vector and the z axes.
 
double nominalPerigeeZ () const
 Returns the z coordinate of the point of nominal closest approach to the z axes.
 
Vector3D nominalPerigee3D () const
 Returns the point of nominal closest approach to the z axes.
 
Vector2D nominalPerigee2D () const
 Returns the point of nominal closest approach to the z axes.
 
double refX () const
 Returns the the x coordinate of the reference point.
 
double refY () const
 Returns the the y coordinate of the reference point.
 
double refZ () const
 Returns the the z coordinate of the reference point.
 
double refCylindricalRSquared () const
 Returns the cylindrical radius of the reference position.
 
const Vector2DrefPos2D () const
 Returns the xy vector of the reference position.
 
const Vector3DrefPos3D () const
 Returns the reference position.
 
double sagCoeff () const
 Returns the wire sag coefficient due to gravity.
 

Private Attributes

Vector3D m_refPos3D
 Memory for the reference postion.
 
Vector2D m_nominalMovePerZ
 Memory for the nominal movement of the xy position per z unit off the reference.
 
double m_forwardZ = 0.0
 Memory for the forward end z coordinate.
 
double m_backwardZ = 0.0
 Memory for the backward end z coordinate.
 
double m_sagCoeff = 0.0
 Memory for the wire sag coeffiecent.
 

Detailed Description

A three dimensional limited line represented by its closest approach to the z-axes (reference position ) and its skew parameter.

The representation is only suitable for lines out of the xy plane. The endpoints are stored encoded by their z position. The end point with the higher z value is called forward, the one with the smaller is called backward. This class is mainly used to descripe the cdc wires with as few parameters as possible and simplifies the retrival of the two dimensional track reference position, which is taken at the closest approach to the beam z-axes.

A three dimensional limited line

Definition at line 31 of file WireLine.h.

Member Function Documentation

◆ sagMovePerZ()

Vector2D sagMovePerZ ( const double  z) const
inline

Gives the two dimensional position with wire sag effect of the line at the given z value.

Efficient version without divisions

Definition at line 75 of file WireLine.h.

76  {
78  Vector2D movePerZ = nominalMovePerZ();
79  double xzFactorSquared = 1 + nominalMovePerZ().x() * nominalMovePerZ().x();
80  double sagDYDZ = - sagCoeff() * xzFactorSquared * (forwardZ() + backwardZ() - 2 * z);
81  movePerZ.setY(movePerZ.y() + sagDYDZ);
82  return movePerZ;
83  }
double x() const
Getter for the x coordinate.
Definition: Vector2D.h:607
double backwardZ() const
Gives the backward z coodinate.
Definition: WireLine.h:134
double forwardZ() const
Gives the forward z coodinate.
Definition: WireLine.h:130
double sagCoeff() const
Returns the wire sag coefficient due to gravity.
Definition: WireLine.h:231
const Vector2D & nominalMovePerZ() const
Gives the positional move in the xy projection per unit z.
Definition: WireLine.h:71

◆ sagPos2DAtZ()

Vector2D sagPos2DAtZ ( const double  z) const
inline

Gives the two dimensional position with wire sag effect of the line at the given z value.

Efficient version without divisions

Definition at line 60 of file WireLine.h.


The documentation for this class was generated from the following files: