10#include <tracking/trackFindingCDC/eventdata/segments/CDCAxialSegment2D.h>
12#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory2D.h>
14#include <tracking/trackFindingCDC/topology/ISuperLayer.h>
16#include <tracking/trackFindingCDC/ca/AutomatonCell.h>
18#include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
27 namespace TrackFindingCDC {
Cell used by the cellular automata.
Class representing a pair of reconstructed axial segments in adjacent superlayer.
bool operator==(CDCAxialSegmentPair const &rhs) const
Equality comparison based on the pointers to the stored segments.
friend bool operator<(CDCAxialSegmentPair const &segmentPair, const CDCAxialSegment2D *axialSegment)
Define reconstructed segments and segment triples as coaligned on the start segment.
void setTrajectory2D(const CDCTrajectory2D &trajectory2D) const
Setter for the trajectory of the two dimensional trajectory.
ISuperLayer getStartISuperLayer() const
Getter for the superlayer id of the start segment.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end segment.
void setStartSegment(const CDCAxialSegment2D *startSegment)
Setter for the start segment.
CDCTrajectory2D & getTrajectory2D() const
Getter for the trajectory of the two dimensional trajectory.
void clearTrajectory2D() const
Invalidates the currently stored trajectory information.
CDCTrajectory2D m_trajectory2D
Reference to the common trajectory.
const CDCAxialSegment2D * m_startSegment
Reference to the start segment.
bool checkSegments() const
Checks the references to the contained three segment for nullptrs.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
bool operator<(CDCAxialSegmentPair const &rhs) const
Total ordering scheme comparing the segment pointers.
void setAndForwardMaskedFlag() const
Sets the masked flag of the segment pair's automaton cell. Also forward the masked flag to the contai...
void unsetAndForwardMaskedFlag() const
Unsets the masked flag of the segment pair's automaton cell, of the contained segments and of the con...
CDCAxialSegmentPair()
Default constructor setting the contained segments to nullptr.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start segment.
const CDCAxialSegment2D * m_endSegment
Reference to the end segment.
ISuperLayer getEndISuperLayer() const
Getter for the superlayer id of the end segment.
void setEndSegment(const CDCAxialSegment2D *endSegment)
Setter for the end segment.
AutomatonCell m_automatonCell
Automaton cell associated with the pair of segments.
EForwardBackward isCoaligned(const CDCTrajectory2D &trajectory2D) const
Checks if the last entity in the vector lies greater or lower travel distance than the last entity.
void receiveMaskedFlag() const
If one of the contained segments is marked as masked this segment pair is set be masked as well.
void setSegments(const CDCSegment2D *startSegment, const CDCSegment2D *endSegment)
Setter for both segments simultaneously.
A reconstructed sequence of two dimensional hits in one super layer.
Particle trajectory as it is seen in xy projection represented as a circle.
void clear()
Clears all information from this trajectory.
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Abstract base class for different kinds of events.