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 segements in adjacent superlayer.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start segment.
bool operator==(CDCAxialSegmentPair const &rhs) const
Equality comparision based on the pointers to the stored segments.
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.
void setStartSegment(const CDCAxialSegment2D *startSegment)
Setter for the start segment.
void clearTrajectory2D() const
Invalides 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.
bool operator<(CDCAxialSegmentPair const &rhs) const
Total ordering sheme 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...
const CDCAxialSegment2D * getEndSegment() const
Getter for the end segment.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
CDCAxialSegmentPair()
Default constructor setting the contained segmetns to nullptr.
CDCTrajectory2D & getTrajectory2D() const
Getter for the trajectory of the two dimensional trajectory.
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 assoziated 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 simultaniously.
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 trajectoy.
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Abstract base class for different kinds of events.