8#include <tracking/trackFindingCDC/eventdata/segments/CDCFacetSegment.h>
10#include <tracking/trackFindingCDC/eventdata/segments/CDCRLWireHitSegment.h>
11#include <tracking/trackFindingCDC/eventdata/hits/CDCFacet.h>
13#include <tracking/trackFindingCDC/utilities/Algorithms.h>
15#include <framework/logging/Logger.h>
26 namespace TrackFindingCDC {
33using namespace TrackFindingCDC;
38 size_t nRLWireHits = rlWireHitSegment.size();
39 if (nRLWireHits < 3)
return facetSegment;
41 facetSegment.reserve(nRLWireHits - 2);
44 transform_adjacent_triples(rlWireHitSegment.begin(),
45 rlWireHitSegment.end(),
46 back_inserter(facetSegment),
50 return CDCFacet(firstRLWireHit, secondRLWireHit, thirdRLWireHit);
53 if (facetSegment.size() + 2 != rlWireHitSegment.size()) {
54 B2ERROR(
"Wrong number of facets created.");
A segment consisting of adjacent facets.
static CDCFacetSegment create(const CDCRLWireHitSegment &rlWireHitSegment)
Construct a train of facets from the given oriented wire hits.
Class representing a triple of neighboring oriented wire with additional trajectory information.
A segment consisting of two dimensional reconstructed hits.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
void setTrajectory2D(const CDCTrajectory2D &trajectory2D) const
Setter for the two dimensional trajectory fitted to the segment.
CDCTrajectory2D & getTrajectory2D() const
Getter for the two dimensional trajectory fitted to the segment.
void setAliasScore(double aliasScore)
Setter for the flag that this segment may have an aliased version.
double getAliasScore() const
Getter for the flag that this segment may have an aliased version.
Abstract base class for different kinds of events.