ATLAS Offline Software
Loading...
Searching...
No Matches
MsTrackSeed.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONTRACKEVENT_MSTRACKSEED_H
5#define MUONTRACKEVENT_MSTRACKSEED_H
6
7#include <vector>
8
13
15
16#include "Acts/Utilities/OstreamFormatter.hpp"
20namespace MuonR4{
21
23 public:
25 enum class Location: int8_t{
29 };
30 static std::string toString(const Location loc);
31 friend std::ostream& operator<<(std::ostream& ostr, const Location loc) {
32 return ostr<<toString(loc);
33 }
34
39 MsTrackSeed(const Location loc,
42 const std::vector<const xAOD::MuonSegment*>& segments() const;
44 std::vector<const Segment*> detailedSegments() const;
46 std::vector<const SpacePointBucket*> buckets() const;
48 void addSegment(const xAOD::MuonSegment* seg);
53 void replaceSegment(const xAOD::MuonSegment* exist,
54 const xAOD::MuonSegment* updated);
55
57 const Amg::Vector3D& position() const;
59 void setPosition(Amg::Vector3D&& pos);
61 Location location() const;
63 ExpandedSector sector() const { return m_sector; }
64 private:
67 ExpandedSector m_sector{static_cast<std::int8_t>(0)};
68 Amg::Vector3D m_pos{Amg::Vector3D::Zero()};
69 std::vector<const xAOD::MuonSegment*> m_segments{};
70 };
71 using MsTrackSeedContainer = std::vector<MsTrackSeed>;
72 std::ostream& operator<<(std::ostream& ostr, const MuonR4::MsTrackSeed& seed);
73
74}
76ACTS_OSTREAM_FORMATTER (MuonR4::MsTrackSeed::Location);
77#endif
ACTS_OSTREAM_FORMATTER(MuonR4::CalibratedSpacePoint::State)
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
@ Undefined
ExpandedSector m_sector
Definition MsTrackSeed.h:67
const Amg::Vector3D & position() const
Returns the seed's position.
void addSegment(const xAOD::MuonSegment *seg)
Append a segment to the seed.
Location m_loc
Location variable.
Definition MsTrackSeed.h:66
MsTrackSeed(const Location loc, const ExpandedSector sector)
Constructor with location defintion.
std::vector< const Segment * > detailedSegments() const
Returns the list of detailed segments.
std::vector< const SpacePointBucket * > buckets() const
Returns the list of associated buckets.
Location location() const
Returns the location of the seed.
Location
Enum defining whether the seed is made in the endcap / barrel.
Definition MsTrackSeed.h:25
ExpandedSector sector() const
Returns the seed's sector.
Definition MsTrackSeed.h:63
Amg::Vector3D m_pos
Definition MsTrackSeed.h:68
static std::string toString(const Location loc)
friend std::ostream & operator<<(std::ostream &ostr, const Location loc)
Definition MsTrackSeed.h:31
std::vector< const xAOD::MuonSegment * > m_segments
Definition MsTrackSeed.h:69
const std::vector< const xAOD::MuonSegment * > & 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
Eigen::Matrix< double, 3, 1 > Vector3D
This header ties the generic definitions in this package.
std::vector< MsTrackSeed > MsTrackSeedContainer
Definition MsTrackSeed.h:71
std::ostream & operator<<(std::ostream &ostr, const MuonR4::MsTrackSeed &seed)
MuonSegment_v1 MuonSegment
Reference the current persistent version: