9#include "Acts/Utilities/MathHelpers.hpp"
21 for (
const auto st :
m_stations) { ostr<<st<<
", "; }
32 case Barrel:
return "Barrel";
33 case Endcap:
return "Endcap";
41 std::vector<const SpacePointBucket*> returnMe{};
44 returnMe.push_back(seg->parent()->parentBucket());
53 std::vector<const xAOD::MuonSegment*>::iterator itr =
65 auto insert_itr = std::ranges::find_if(
m_segments,
84 return (segment.
x() -
ref.x())*
ref.px() +
85 (segment.
y() -
ref.y())*
ref.py() +
86 (segment.
z() -
ref.z())*
ref.pz();
98 return std::ranges::any_of(
m_overlapMarker, [](
const auto& m ){
return (*m); });
const std::regex ref(r_ef)
ExpandedSector m_sector
The expanded sector of the seed (centre/left/right) + sector.
bool hasOverlap() const
Returns whether the seed has been marked for overlap.
const Amg::Vector3D & position() const
Returns the seed's position.
void addSegment(const xAOD::MuonSegment *seg)
Append a segment to the seed.
std::size_t nStations() const
Returns the number of stations crossed by the seed.
std::ostream & print(std::ostream &ostr) const
Location m_loc
Location variable.
MsTrackSeed(const Location loc, const ExpandedSector sector)
Constructor with location defintion.
std::vector< std::shared_ptr< std::uint8_t > > m_overlapMarker
The overlap marker.
std::vector< const SpacePointBucket * > buckets() const
Returns the list of associated buckets.
std::size_t nMeasurements() const
Returns the number of measurements on the seed.
Location location() const
Returns the location of the seed.
Location
Enum defining whether the seed is made in the endcap / barrel.
float pathLength(const xAOD::MuonSegment &segment) const
Return the position of the reference segment if exists.
void triggerOverlapMarker()
Trigger the overlap marker.
ExpandedSector sector() const
Returns the seed's sector.
Amg::Vector3D m_pos
Posiion of the seed in the seeding space.
std::span< const Muon::MuonStationIndex::StIndex > stations() const
The station indices of the associated sements.
static std::string toString(const Location loc)
std::size_t m_nMeasurements
Number of measurements in the seed.
std::vector< const xAOD::MuonSegment * > m_segments
List of associated segments.
std::vector< Muon::MuonStationIndex::StIndex > m_stations
Number of stations.
void prepareOverlap(std::shared_ptr< std::uint8_t > marker)
Prepare the overlap marker.
std::span< const xAOD::MuonSegment *const > segments() const
Returns the vector of associated segments.
void replaceSegment(const xAOD::MuonSegment *exist, const xAOD::MuonSegment *updated)
Replaces an already added segment in the seed with a better suited one.
void setPosition(Amg::Vector3D &&pos)
set the seed's position
Placeholder for what will later be the muon segment EDM representation.
float y() const
Returns the x position.
::Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
float z() const
Returns the y position.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.
std::string printSegment(const xAOD::MuonSegment &seg)
Print the details of a segment.
std::size_t nMeasurements(const xAOD::MuonSegment &segment)
Returns the number of associated Uncalibrated measurements.
const Segment * detailedSegment(const xAOD::MuonSegment &seg)
Helper function to navigate from the xAOD::MuonSegment to the MuonR4::Segment.
StIndex toStationIndex(ChIndex index)
convert ChIndex into StIndex
MuonSegment_v1 MuonSegment
Reference the current persistent version:
#define THROW_EXCEPTION(MESSAGE)