 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCRecoHit3D.h>
14 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory3D.h>
16 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
18 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
20 #include <tracking/trackFindingCDC/ca/Path.h>
22 #include <tracking/trackFindingCDC/utilities/MayBePtr.h>
32 namespace TrackFindingCDC {
36 class CDCSegmentTriple;
43 class CDCTrack :
public std::vector<CDCRecoHit3D> {
50 explicit CDCTrack(
const std::vector<CDCRecoHit3D>& recoHits3D);
59 static CDCTrack condense(
const Path<const CDCSegmentTriple>& segmentTriplePath);
77 return front().getISuperLayer();
83 return back().getISuperLayer();
89 return front().getRecoPos3D();
95 return back().getRecoPos3D();
172 MayBePtr<const CDCRecoHit3D>
find(
const CDCWireHit& wireHit)
const;
void shiftToPositiveArcLengths2D(bool doForAllTracks=false)
Set all arcLengths to have positive values by shifting them by pi*radius if they are negative.
void receiveMaskedFlag() const
Check all contained wire hits if one has the masked flag.
HepGeom::Vector3D< double > Vector3D
3D Vector
void setEndTrajectory3D(const CDCTrajectory3D &endTrajectory3D)
Setter for the three dimensional trajectory.
Class representing a sequence of three dimensional reconstructed hits.
const CDCTrajectory3D & getStartTrajectory3D() const
Getter for the two dimensional trajectory.
const Vector3D & getEndRecoPos3D() const
Getter for the position of the last reconstructed hit.
void forwardTakenFlag(bool takenFlag=true) const
Set the taken flag of all hits belonging to this track to the given value (default true),...
CDCTrajectory3D m_endTrajectory3D
Memory for the three dimensional trajectory at the end of the track.
ISuperLayer getStartISuperLayer() const
Getter for the superlayer id the track starts from.
void setAndForwardMaskedFlag() const
Set the masked flag of the automaton cell of this segment and forward the masked flag to all containe...
std::vector< CDCSegment3D > splitIntoSegments() const
Splits the track into segments.
CDCTrack reversed() const
Return a reversed copy of the track.
bool m_hasMatchingSegment
Flag which indicates that the track had a matching segment (can be used for filter decisions)
ISuperLayer getEndISuperLayer() const
Getter for the superlayer id the track ends in.
CDCTrack()=default
Default constructor for ROOT compatibility.
void unsetAndForwardMaskedFlag() const
Unset the masked flag of the automaton cell of this segment and of all contained wire hits.
const CDCTrajectory3D & getEndTrajectory3D() const
Getter for the three dimensional trajectory.
void setHasMatchingSegment(bool hasMatchingSegment=true)
Set the flag which indicates that the track has a matching segment (probably only used in the Segment...
static CDCTrack condense(const Path< const CDCTrack > &trackPath)
Concats several tracks from a path.
void reverse()
Reverse the track inplace.
Abstract base class for different kinds of events.
void sortByArcLength2D()
Sort the recoHits according to their perpS information.
Cell used by the cellular automata.
A three dimensional vector.
const Vector3D & getStartRecoPos3D() const
Getter for the position of the first reconstructed hit.
float m_qualityIndicator
Multivariate classifier output in [0, 1] correlated with probability that track is good match.
AutomatonCell m_automatonCell
Memory for the automaton cell.
CDCTrajectory3D m_startTrajectory3D
Memory for the three dimensional trajectory at the start of the track.
void setQualityIndicator(const float qualityIndicator)
Set the multivariate quality indicator in [0, 1] attached the CDCTrack.
A reconstructed sequence of two dimensional hits in one super layer.
AutomatonCell * operator->() const
Indirection to the automaton cell for easier access to the flags.
float getQualityIndicator() const
Get the multivariate quality indicator in [0, 1] attached the CDCTrack.
Class representing a hit wire in the central drift chamber.
MayBePtr< const CDCRecoHit3D > find(const CDCWireHit &wireHit) const
Finds the first CDCRecoHit3D that is based on the given wire hit - nullptr if none.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Particle full three dimensional trajectory.
void setStartTrajectory3D(const CDCTrajectory3D &startTrajectory3D)
Setter for the two dimensional trajectory.
bool operator<(const CDCTrack &track __attribute__((unused))) const
Comparision of track - no particular order has been defined so far, all tracks are equivalent.
bool getHasMatchingSegment() const
Get a flag which indicates that the track has a matching segment (probably set in the SegmentTrackCom...