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
16namespace MuonR4{
17
19 public:
21 enum class Location: int8_t{
25 };
26
31 MsTrackSeed(const Location loc,
32 const int sector);
34 const std::vector<const xAOD::MuonSegment*>& segments() const;
36 std::vector<const Segment*> detailedSegments() const;
38 std::vector<const SpacePointBucket*> buckets() const;
40 void addSegment(const xAOD::MuonSegment* seg);
45 void replaceSegment(const xAOD::MuonSegment* exist,
46 const xAOD::MuonSegment* updated);
47
49 const Amg::Vector3D& position() const;
51 void setPosition(Amg::Vector3D&& pos);
53 Location location() const;
55 int sector() const { return m_sector; }
56 private:
59 int m_sector{0};
60 Amg::Vector3D m_pos{Amg::Vector3D::Zero()};
61 std::vector<const xAOD::MuonSegment*> m_segments{};
62 };
63 using MsTrackSeedContainer = std::vector<MsTrackSeed>;
64 std::ostream& operator<<(std::ostream& ostr, const MuonR4::MsTrackSeed& seed);
65
66}
68#endif
#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.
MsTrackSeed(const Location loc, const int sector)
Constructor with location defintion.
const Amg::Vector3D & position() const
Returns the seed's position.
int sector() const
Returns the seed's sector.
Definition MsTrackSeed.h:55
void addSegment(const xAOD::MuonSegment *seg)
Append a segment to the seed.
Location m_loc
Location variable.
Definition MsTrackSeed.h:58
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:21
Amg::Vector3D m_pos
Definition MsTrackSeed.h:60
std::vector< const xAOD::MuonSegment * > m_segments
Definition MsTrackSeed.h:61
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:63
std::ostream & operator<<(std::ostream &ostr, const MuonR4::MsTrackSeed &seed)
MuonSegment_v1 MuonSegment
Reference the current persistent version: