10#include <tracking/trackFindingCDC/topology/EStereoKind.h>
11#include <tracking/trackFindingCDC/topology/ISuperLayer.h>
13#include <tracking/trackFindingCDC/numerics/ERightLeft.h>
14#include <tracking/trackFindingCDC/numerics/ESign.h>
27 namespace TrackFindingCDC {
28 class CDCTrajectory2D;
64 double driftLengthVariance);
128 return &rlWireHit.
getWire() < &wire;
134 return &wire < &rlWireHit.
getWire();
286 std::ostream& operator<<(std::ostream& output,
const CDCRLWireHit& rlWireHit);
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
double getRefCylindricalR() const
The distance from the beam line at reference position of the underlying wire.
friend bool operator<(const CDCRLWireHit &rlWireHit, const CDCWire &wire)
Defines wires and oriented wire hits to be coaligned on the wire on which they are based.
const CDCHit * getHit() const
Getter for the CDCHit pointer into the StoreArray.
CDCRLWireHit getAlias() const
Returns the aliased version of this oriented wire hit - here same as reverse.
friend bool operator<(const CDCRLWireHit &rlWireHit, const CDCWireHit &wireHit)
Defines wire hits and oriented wire hits to be coaligned on the wire hit on which they are based.
const CDCWireHit & getWireHit() const
Getter for the wire hit associated with the oriented hit.
bool operator<(const CDCRLWireHit &rhs) const
Total ordering relation based on wire hit and left right passage information in this order of importa...
ISuperLayer getISuperLayer() const
Getter for the superlayer id.
double getRefDriftLengthVariance() const
Getter for the variance of the drift length at the reference position of the wire.
void reverse()
Switches the right left passage to its opposite in place.
double getRefDriftLength() const
Getter for the drift length at the reference position of the wire.
const WireID & getWireID() const
Getter for the WireID of the wire the hit is located on.
bool isAxial() const
Indicator if the underlying wire is axial.
CDCRLWireHit reversed() const
Returns the oriented wire hit with the opposite right left information.
CDCRLWireHit()=default
Default constructor for ROOT.
ERightLeft m_rlInfo
Memory for the right left passage information of the oriented wire hit.
void setRefDriftLength(double driftLength)
Setter for the drift length at the reference position of the wire.
const CDCWire & getWire() const
Getter for the wire the oriented hit associated to.
static CDCRLWireHit fromSimHit(const CDCWireHit *wirehit, const CDCSimHit &simhit)
Constructs an oriented wire hit from a CDCSimHit and the associated wirehit.
static CDCRLWireHit average(const CDCRLWireHit &rlWireHit1, const CDCRLWireHit &rlWireHit2)
Constructs the average of two wire hits with right left passage information.
bool hasWireHit(const CDCWireHit &wirehit) const
Checks if the oriented hit is associated with the give wire hit.
double getSignedRefDriftLength() const
Getter for the drift length at the reference position of the wire.
void setRLInfo(const ERightLeft rlInfo)
Setter for the right left passage information.
void setRefDriftLengthVariance(double driftLengthVariance)
Setter for the variance of the drift length at the reference position of the wire.
Vector2D reconstruct2D(const CDCTrajectory2D &trajectory2D) const
Reconstructs a position of primary ionisation on the drift circle.
bool isOnWire(const CDCWire &wire) const
Checks if the oriented hit is associated with the give wire.
double m_refDriftLength
Memory for the reestimated drift length.
const Vector2D & getRefPos2D() const
The two dimensional reference position of the underlying wire.
double m_refDriftLengthVariance
Memory for the reestimated drift length variance.
const CDCWireHit * m_wireHit
Memory for the reference to the assiziated wire hit.
EStereoKind getStereoKind() const
Getter for the stereo type of the underlying wire.
friend bool operator<(const CDCWire &wire, const CDCRLWireHit &rlWireHit)
Defines oriented wire hits and wires to be coaligned on the wire on which they are based.
ERightLeft getRLInfo() const
Getter for the right left passage information.
friend bool operator<(const CDCWireHit &wireHit, const CDCRLWireHit &rlWireHit)
Defines oriented wire hits and wire hits to be coaligned on the wire hit on which they are based.
bool operator==(const CDCRLWireHit &rhs) const
Equality comparison based on wire hit, left right passage information.
Vector3D reconstruct3D(const CDCTrajectory2D &trajectory2D, double z=0) const
Attempts to reconstruct a three dimensional position (especially of stereo hits).
Particle trajectory as it is seen in xy projection represented as a circle.
Class representing a hit wire in the central drift chamber.
Class representing a sense wire in the central drift chamber.
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
A three dimensional vector.
Class to identify a wire inside the CDC.
HepGeom::Vector3D< double > Vector3D
3D Vector
ERightLeft reversed(ERightLeft eRightLeft)
Return the reversed right left indicator. Leaves ERightLeft::c_Invalid the same.
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
Abstract base class for different kinds of events.