 |
Belle II Software
release-05-01-25
|
10 #include <tracking/trackFindingCDC/eventdata/tracks/CDCAxialSegmentPair.h>
12 #include <tracking/trackFindingCDC/eventdata/segments/CDCSegment2D.h>
13 #include <tracking/trackFindingCDC/eventdata/segments/CDCAxialSegment2D.h>
15 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory2D.h>
17 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
19 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
21 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
23 #include <framework/logging/Logger.h>
26 using namespace TrackFindingCDC;
29 : m_startSegment(nullptr)
30 , m_endSegment(nullptr)
36 : m_startSegment(startSegment)
37 , m_endSegment(endSegment)
39 B2ASSERT(
"CDCAxialSegmentPair initialized with nullptr as start segment", startSegment);
40 B2ASSERT(
"CDCAxialSegmentPair initialized with nullptr as end segment", endSegment);
46 : m_startSegment(startSegment)
47 , m_endSegment(endSegment)
48 , m_trajectory2D(trajectory2D)
50 B2ASSERT(
"CDCAxialSegmentPair initialized with nullptr as start segment", startSegment);
51 B2ASSERT(
"CDCAxialSegmentPair initialized with nullptr as end segment", endSegment);
67 const bool toHits =
true;
75 const bool toHits =
true;
82 const bool fromHits =
true;
96 if (startIsCoaligned == EForwardBackward::c_Forward and
97 endIsCoaligned == EForwardBackward::c_Forward) {
98 return EForwardBackward::c_Forward;
99 }
else if (startIsCoaligned == EForwardBackward::c_Backward and
100 endIsCoaligned == EForwardBackward::c_Backward) {
101 return EForwardBackward::c_Backward;
103 return EForwardBackward::c_Invalid;
static ISuperLayer getFrom(const T &t)
Returns the superlayer of an object.
ISuperLayer getStartISuperLayer() const
Getter for the superlayer id of the start segment.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start segment.
void unsetMaskedFlag()
Resets the masked flag to false.
void unsetAndForwardMaskedFlag() const
Unsets the masked flag of the segment pair's automaton cell, of the contained segments and of the con...
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Particle trajectory as it is seen in xy projection represented as a circle.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end segment.
CDCAxialSegmentPair()
Default constructor setting the contained segmetns to nullptr.
void setMaskedFlag(bool setTo=true)
Sets the masked flag to the given value. Default value true.
EForwardBackward isCoaligned(const CDCTrajectory2D &trajectory2D) const
Checks if the last entity in the vector lies greater or lower travel distance than the last entity.
Abstract base class for different kinds of events.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
A reconstructed sequence of two dimensional hits in one super layer.
void receiveMaskedFlag() const
If one of the contained segments is marked as masked this segment pair is set be masked as well.
EForwardBackward isForwardOrBackwardTo(const AHits &hits) const
Calculates if this trajectory and the hits are coaligned Returns:
void setAndForwardMaskedFlag() const
Sets the masked flag of the segment pair's automaton cell. Also forward the masked flag to the contai...
ISuperLayer getEndISuperLayer() const
Getter for the superlayer id of the end segment.