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;
30 : m_startSegment(nullptr)
31 , m_middleSegment(nullptr)
32 , m_endSegment(nullptr)
38 : m_startSegment(startSegment)
39 , m_middleSegment(nullptr)
40 , m_endSegment(endSegment)
45 : m_startSegment(segmentPair.getStartSegment())
46 , m_middleSegment(nullptr)
47 , m_endSegment(segmentPair.getEndSegment())
54 : m_startSegment(startSegment)
55 , m_middleSegment(middleSegment)
56 , m_endSegment(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);
67 : m_startSegment(startSegment)
68 , m_middleSegment(middleSegment)
69 , m_endSegment(endSegment)
70 , m_trajectory3D(trajectory3D)
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.
A reconstructed sequence of two dimensional hits in one super layer.
const CDCStereoSegment2D * getMiddleSegment() const
Getter for the middle stereo segment.
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.
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...
CDCTrajectorySZ getTrajectorySZ() const
Getter for the linear trajectory in the sz direction.
const CDCAxialSegment2D * getStartSegment() const
Getter for the start axial segment.
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.