8#include <tracking/trackFindingCDC/eventdata/hits/CDCTangent.h>
10#include <tracking/trackFindingCDC/eventdata/hits/CDCRecoHit2D.h>
11#include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHitPair.h>
12#include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
14#include <tracking/trackFindingCDC/geometry/ParameterLine2D.h>
15#include <tracking/trackFindingCDC/geometry/Vector2D.h>
17#include <tracking/trackFindingCDC/numerics/ERightLeft.h>
22using namespace TrackFindingCDC;
104std::ostream& TrackFindingCDC::operator<<(std::ostream& output,
const CDCTangent& tangent)
106 output <<
"Tangent" << std::endl;
A pair of oriented wire hits.
void reverse()
Reverses the oriented wire hit pair inplace.
CDCRLWireHit & getToRLWireHit()
Getter for the second oriented wire hit.
void setFromRLInfo(ERightLeft fromRLInfo)
Setter for the right left passage information of the first oriented wire hit.
void setToRLInfo(ERightLeft toRLInfo)
Setter for the right left passage information of the second oriented wire hit.
ERightLeft getFromRLInfo() const
Getter for the right left passage information of the first oriented wire hit.
CDCRLWireHitPair reversed() const
Constructs a oriented wire hit pair that is the reverse of this one.
CDCRLWireHit & getFromRLWireHit()
Getter for the first oriented wire hit.
ERightLeft getToRLInfo() const
Getter for the right left passage information of the second oriented wire hit.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
const Vector2D & getRefPos2D() const
The two dimensional reference position of the underlying wire.
Class representing a two dimensional reconstructed hit in the central drift chamber.
static CDCRecoHit2D fromRecoPos2D(const CDCRLWireHit &rlWireHit, const Vector2D &recoPos2D, bool snap=true)
Constructs a two dimensional reconstructed hit from an absolute position.
Class representing a linear track piece between two oriented wire hits.
const Vector2D & getFromRecoPos2D() const
Getter for the touching point of the tangent to the first drift circle.
void adjustRLInfo()
Adjusts the right left passage information according to the tangent line.
CDCTangent()=default
Default constructor for ROOT.
void reverse()
Reverses the tangent inplace.
Vector2D getToRecoDisp2D() const
Getter for displacement of the touching point from the second wire in the reference plane.
ParameterLine2D m_line
Memory for the line between the two touching points. The first touch point at(0), second at(1).
Vector2D getFromRecoDisp2D() const
Getter for displacement of the touching point from the first wire in the reference plane.
Vector2D getToRecoPos2D() const
Getter for the touching point of the tangent to the second drift circle.
CDCRecoHit2D getToRecoHit2D() const
Getter for the reconstructed hit on the second oriented wire hit using reconstructed touch point as p...
void adjustLine()
Adjusts the line to touch the drift circles with the correct right left passage information.
CDCRecoHit2D getFromRecoHit2D() const
Getter for the reconstructed hit on the first oriented wire hit using reconstructed touch point as po...
const ParameterLine2D & getLine() const
Getter for the line representation of the line.
CDCTangent reversed() const
Same as reverse but returns a copy.
A line with a support point and tangential vector.
void reverse()
Reverses the tangential vector inplace.
void passiveMoveAtBy(const double delta)
Moves the support point by the given amount of the parameter in the forward direction.
ERightLeft isRightOrLeft(const Vector2D &point) const
Return if the point given is right or left of the line.
static ParameterLine2D touchingCircles(const Vector2D &fromCenter, double fromSignedRadius, const Vector2D &toCenter, double toSignedRadius)
Constructs a line touching two circles in one point each.
static ParameterLine2D throughPoints(const Vector2D &start, const Vector2D &end)
Static constructor for a line between to points.
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
Abstract base class for different kinds of events.