8#include <tracking/trackFindingCDC/eventdata/tracks/CDCSegmentTriple.h>
10#include <tracking/trackFindingCDC/eventdata/tracks/CDCAxialSegmentPair.h>
12#include <tracking/trackFindingCDC/eventdata/segments/CDCSegment2D.h>
13#include <tracking/trackFindingCDC/eventdata/segments/CDCAxialSegment2D.h>
14#include <tracking/trackFindingCDC/eventdata/segments/CDCStereoSegment2D.h>
16#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectorySZ.h>
17#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory2D.h>
18#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory3D.h>
20#include <tracking/trackFindingCDC/topology/ISuperLayer.h>
22#include <tracking/trackFindingCDC/ca/AutomatonCell.h>
24#include <framework/logging/Logger.h>
27using namespace TrackFindingCDC;
37 const CDCAxialSegment2D* endSegment)
52 const CDCStereoSegment2D* middleSegment,
53 const CDCAxialSegment2D* endSegment)
58 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as start segment", startSegment);
59 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as middle segment", middleSegment);
60 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as end segment", endSegment);
64 const CDCStereoSegment2D* middleSegment,
65 const CDCAxialSegment2D* endSegment,
72 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as start segment", startSegment);
73 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as middle segment", middleSegment);
74 B2ASSERT(
"CDCSegmentTriple initialized with nullptr as end segment", endSegment);
105 const bool toHits =
true;
114 const bool toHits =
true;
122 const bool fromHits =
true;
void setMaskedFlag(bool setTo=true)
Sets the masked flag to the given value. Default value true.
void unsetMaskedFlag()
Resets the masked flag to false.
Class representing a pair of reconstructed axial segments in adjacent superlayer.
const CDCStereoSegment2D * getMiddleSegment() const
Getter for the middle stereo segment.
CDCTrajectory3D m_trajectory3D
Memory of the linear trajectory in the sz direction associated with the triple.
ISuperLayer getMiddleISuperLayer() const
Getter for the superlayer id of the middle segment.
ISuperLayer getStartISuperLayer() const
Getter for the superlayer id of the start segment.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end axial segment.
CDCTrajectory2D getTrajectory2D() const
Getter for the circular trajectory in the xy direction.
const CDCAxialSegment2D * m_startSegment
Reference to the axial segment in the start of the triple.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
CDCSegmentTriple()
Default constructor for ROOT compatibility.
void setAndForwardMaskedFlag() const
Sets the masked flag of the segment triple's automaton cell. Also forward the masked to the contained...
const CDCTrajectory3D & getTrajectory3D() const
Getter for the three dimensional helix trajectory.
void unsetAndForwardMaskedFlag() const
Unsets the masked flag of the segment triple's automaton cell, of the contained segments and of the c...
const CDCStereoSegment2D * m_middleSegment
Reference to the stereo segment in the middle of the triple.
CDCTrajectorySZ getTrajectorySZ() const
Getter for the linear trajectory in the sz direction.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start axial segment.
const CDCAxialSegment2D * m_endSegment
Reference to the axial segment in the start of the triple.
ISuperLayer getEndISuperLayer() const
Getter for the superlayer id of the end segment.
void receiveMaskedFlag() const
If one of the contained segments is marked as masked this segment triple is set be masked as well.
Particle trajectory as it is seen in xy projection represented as a circle.
Particle full three dimensional trajectory.
CDCTrajectory2D getTrajectory2D() const
Getter for the two dimensional trajectory.
CDCTrajectorySZ getTrajectorySZ() const
Getter for the sz trajectory.
Linear trajectory in sz space.
Abstract base class for different kinds of events.
static ISuperLayer getFrom(const T &t)
Returns the superlayer of an object.