 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory3D.h>
14 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
15 #include <tracking/trackFindingCDC/topology/EStereoKind.h>
17 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
19 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
29 namespace TrackFindingCDC {
31 class CDCTrajectory2D;
32 class CDCTrajectorySZ;
36 class CDCSegmentPair {
42 CDCSegmentPair(
const CDCSegment2D* fromSegment,
const CDCSegment2D* toSegment);
46 const CDCSegment2D* toSegment,
47 const CDCTrajectory3D& trajectory3D);
66 return segmentPair.getFromSegment() < segment;
73 return segment < segmentPair.getFromSegment();
109 std::size_t
size()
const;
const CDCSegment2D * getStereoSegment() const
Getter for the stereo segment.
double computeIsCoaligned() const
Indicator if the from segment and the to segment have roughly the same travel direction.
CDCTrajectory3D m_trajectory3D
Memory for the common three dimensional trajectory.
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
bool checkSegmentsNonNullptr() const
Checks if both stored segments are not nullptr. Returns true if check is succeded.
CDCSegmentPair()
Default constructor - for ROOT compatability.
std::size_t size() const
Getter for the total number of hits in this segment pair.
void setFromSegment(const CDCSegment2D *fromSegment)
Setter for the from segment.
double computeFromIsBeforeToFitless() const
Indicator if the from segment lies before the to segment, build without using the trajectories,...
double computeFromIsBeforeTo() const
Indicator if the from segment lies before the to segment.
double computeIsCoalignedFitless() const
Indicator if the from segment and the to segment have roughly the same travel direction without using...
Linear trajectory in sz space.
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
EForwardBackward isCoaligned(const CDCTrajectory2D &trajectory2D) const
Checks if the last entity in the vector lies greater or lower travel distance than the last entity.
Particle trajectory as it is seen in xy projection represented as a circle.
EStereoKind getToStereoKind() const
Getter for the stereo type of the second segment.
const CDCSegment2D * getToSegment() const
Getter for the to segment.
ISuperLayer getFromISuperLayer() const
Getter for the superlayer id of the from segment.
CDCTrajectorySZ getTrajectorySZ() const
Getter for the sz projection of the common three dimensional trajectory.
double computeToIsAfterFromFitless() const
Indicator if the from segment lies before the to segment, build without using the trajectories,...
void clear()
Clears all information from this trajectoy.
void clearTrajectory3D() const
Invalides the currently stored trajectory information.
double computeDeltaPhiAtSuperLayerBound() const
Determines the angle between the last reconstructed position of the from segment and the first recons...
bool operator<(CDCSegmentPair const &rhs) const
Total ordering sheme comparing the segment pointers.
Abstract base class for different kinds of events.
void unsetAndForwardMaskedFlag() const
Unsets the masked flag of the segment triple's automaton cell and of the three contained segments.
void setAndForwardMaskedFlag() const
Sets the masked flag of the segment triple's automaton cell and of the three contained segments.
Cell used by the cellular automata.
AutomatonCell m_automatonCell
Automaton cell assoziated with the pair of segments.
EStereoKind getFromStereoKind() const
Getter for the stereo type of the first segment.
double computeToIsAfterFrom() const
Indicator if the from segment lies before the to segment.
bool operator==(CDCSegmentPair const &rhs) const
Equality comparision based on the pointers to the stored segments.
void receiveMaskedFlag() const
If one of the contained segments is marked as masked this segment triple is set be masked as well.
bool checkSegmentsStereoKinds() const
Checks if the two segments are of different axial type.
bool checkSegments() const
Checks the references to the contained three segment for nullptrs and exactly one of them is axial an...
const CDCSegment2D * m_fromSegment
Reference to the from segment.
A reconstructed sequence of two dimensional hits in one super layer.
CDCTrajectory3D & getTrajectory3D() const
Getter for the three dimensional trajectory.
ISuperLayer getToISuperLayer() const
Getter for the superlayer id of the to segment.
const CDCSegment2D * getFromSegment() const
Getter for the from segment.
void setToSegment(const CDCSegment2D *toSegment)
Setter for the to segment.
void setTrajectory3D(const CDCTrajectory3D &trajectory3D) const
Setter for the three dimensional trajectory.
Particle full three dimensional trajectory.
void setSegments(const CDCSegment2D *fromSegment, const CDCSegment2D *toSegment)
Setter for both segments simultaniously.
CDCTrajectory2D getTrajectory2D() const
Getter for the two dimensional projection of the common three dimensional trajectory.
const CDCSegment2D * m_toSegment
Reference to the to segment.
const CDCSegment2D * getAxialSegment() const
Getter for the axial segment.