Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
12 #include "xAODMuon/MuonSegment.h"
16 namespace MuonR4{
17 
18  class MsTrackSeed {
19  public:
21  enum class Location: int8_t{
22  Undefined =-1,
23  Barrel,
24  Endcap
25  };
27  MsTrackSeed(const Location loc);
29  const std::vector<const xAOD::MuonSegment*>& segments() const;
31  const std::vector<const Segment*>& detailedSegments() const;
33  void addSegment(const xAOD::MuonSegment* seg);
35  const std::unordered_set<const SpacePointBucket*>& buckets() const;
37  const Amg::Vector3D& position() const;
43  Location location() const;
45  bool operator==(const MsTrackSeed& other) const;
47  bool operator<(const MsTrackSeed& other) const;
48  private:
52  static bool compatibleSectors(const MuonGMR4::SpectrometerSector* secA,
53  const MuonGMR4::SpectrometerSector* secB);
54 
57  std::vector<const xAOD::MuonSegment*> m_segments{};
58  std::vector<const Segment*> m_detSegments{};
59  std::unordered_set<const SpacePointBucket*> m_buckets{};
60  };
61  using MsTrackSeedContainer = std::vector<MsTrackSeed>;
62  std::ostream& operator<<(std::ostream& ostr, const MuonR4::MsTrackSeed& seed);
63 
64 }
65 CLASS_DEF( MuonR4::MsTrackSeedContainer , 1290595104 , 1 )
66 #endif
MuonR4::MsTrackSeed::Location::Barrel
@ Barrel
MuonGMR4::SpectrometerSector
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Definition: SpectrometerSector.h:41
MuonR4::MsTrackSeed
Definition: MsTrackSeed.h:18
MuonSegment.h
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
MuonR4::MsTrackSeed::m_buckets
std::unordered_set< const SpacePointBucket * > m_buckets
Definition: MsTrackSeed.h:59
MuonR4::MsTrackSeed::Location::Endcap
@ Endcap
MuonR4::MsTrackSeed::operator<
bool operator<(const MsTrackSeed &other) const
Returns if all segments of this seed are also in the seed as well.
Definition: MsTrackSeed.cxx:35
MuonR4::MsTrackSeed::Location
Location
Enum defining whether the seed is made in the endcap / barrel.
Definition: MsTrackSeed.h:21
MuonR4::MsTrackSeed::location
Location location() const
Returns the location of the seed.
Definition: MsTrackSeed.cxx:50
MuonR4::MsTrackSeed::operator==
bool operator==(const MsTrackSeed &other) const
Equality operator.
Definition: MsTrackSeed.cxx:21
MuonR4::MsTrackSeed::m_loc
Location m_loc
Definition: MsTrackSeed.h:55
MuonR4::MsTrackSeed::setPosition
void setPosition(Amg::Vector3D &&pos)
set the seed's position
Definition: MsTrackSeed.cxx:65
MuonR4::MsTrackSeed::MsTrackSeed
MsTrackSeed(const Location loc)
Constructor with location defintion.
Definition: MsTrackSeed.cxx:49
MuonR4::MsTrackSeed::detailedSegments
const std::vector< const Segment * > & detailedSegments() const
Returns the list of detailed segments.
Definition: MsTrackSeed.cxx:53
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonR4::MsTrackSeed::Location::Undefined
@ Undefined
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::MsTrackSeed::msSector
const MuonGMR4::SpectrometerSector * msSector() const
Returns the associated MS sector.
Definition: MsTrackSeed.cxx:66
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
MuonR4::MsTrackSeed::buckets
const std::unordered_set< const SpacePointBucket * > & buckets() const
Returns the list of associated buckets.
Definition: MsTrackSeed.cxx:51
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonR4::MsTrackSeed::position
const Amg::Vector3D & position() const
Returns the seed's position.
Definition: MsTrackSeed.cxx:64
MuonR4::operator<<
std::ostream & operator<<(std::ostream &ostr, const MuonR4::MsTrackSeed &seed)
Definition: MsTrackSeed.cxx:10
SpacePointContainer.h
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
MuonR4::MsTrackSeedContainer
std::vector< MsTrackSeed > MsTrackSeedContainer
Definition: MsTrackSeed.h:61
MuonR4::MsTrackSeed::addSegment
void addSegment(const xAOD::MuonSegment *seg)
Append a segment to the seed.
Definition: MsTrackSeed.cxx:55
MuonR4::MsTrackSeed::m_pos
Amg::Vector3D m_pos
Definition: MsTrackSeed.h:56
Segment.h
MuonR4::MsTrackSeed::compatibleSectors
static bool compatibleSectors(const MuonGMR4::SpectrometerSector *secA, const MuonGMR4::SpectrometerSector *secB)
Returns whether two spectrometer sectors may be compatbile.
Definition: MsTrackSeed.cxx:69
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
MuonR4::MsTrackSeed::m_detSegments
std::vector< const Segment * > m_detSegments
Definition: MsTrackSeed.h:58
MuonR4::MsTrackSeed::m_segments
std::vector< const xAOD::MuonSegment * > m_segments
Definition: MsTrackSeed.h:57
MuonR4::MsTrackSeed::segments
const std::vector< const xAOD::MuonSegment * > & segments() const
Returns the vector of associated segments.
Definition: MsTrackSeed.cxx:52