ATLAS Offline Software
Loading...
Searching...
No Matches
MuonR4::SpacePointBucket Class Reference

: The muon space point bucket represents a collection of points that will bre processed together in the pattern seeding. More...

#include <SpacePointContainer.h>

Inheritance diagram for MuonR4::SpacePointBucket:
Collaboration diagram for MuonR4::SpacePointBucket:

Public Types

using chamberLocation = MuonGMR4::SpectrometerSector::chamberLocation

Public Member Functions

void setCoveredRange (double min, double max)
 set the range in the precision plane covered by the bucket
double coveredMin () const
 lower interval value covered by the bucket
double coveredMax () const
 upper interval value covered by the bucket
const MuonGMR4::SpectrometerSectormsSector () const
 returns th associated muonChamber
void setBucketId (unsigned int id)
 sets the Identifier of the MuonSpacePointBucket in context of the associated muonChamber
unsigned int bucketId () const
 Returns the Identifier in the context of the MuonChamber.
bool operator< (const SpacePointBucket &other) const
void populateChamberLocations ()
 populate the chamber location list.
const std::vector< chamberLocation > & chamberLocations () const
 returns the list of all tracking chambers in the bucket for fast navigation

Public Attributes

elements
 STL member.

Private Attributes

unsigned int m_bucketId {0}
double m_min {-20. *Gaudi::Units::m}
double m_max {20. * Gaudi::Units::m}
std::vector< chamberLocationm_chamberLocs {}

Detailed Description

: The muon space point bucket represents a collection of points that will bre processed together in the pattern seeding.

Buckets represent a a collection of hits that are close in a layer & sector of the muon spectrometer The area covered may varied across the different regions of the spectrometers & may also partially overlap with other buckets close-by.

Definition at line 20 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h.

Member Typedef Documentation

◆ chamberLocation

Member Function Documentation

◆ bucketId()

unsigned int MuonR4::SpacePointBucket::bucketId ( ) const
inline

◆ chamberLocations()

const std::vector< chamberLocation > & MuonR4::SpacePointBucket::chamberLocations ( ) const
inline

returns the list of all tracking chambers in the bucket for fast navigation

Definition at line 46 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h.

◆ coveredMax()

double MuonR4::SpacePointBucket::coveredMax ( ) const
inline

◆ coveredMin()

double MuonR4::SpacePointBucket::coveredMin ( ) const
inline

◆ msSector()

const MuonGMR4::SpectrometerSector * MuonR4::SpacePointBucket::msSector ( ) const
inline

returns th associated muonChamber

Definition at line 33 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h.

33 {
34 return empty() ? nullptr : front()->msSector();
35 }
static const Attributes_t empty

◆ operator<()

bool MuonR4::SpacePointBucket::operator< ( const SpacePointBucket & other) const

Definition at line 8 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePointContainer.cxx.

8 {
9 using ChamberSorter = MuonGMR4::MuonDetectorManager::MSEnvelopeSorter;
10 static const ChamberSorter sorter{};
11 int chambCompare = -sorter(msSector(), other.msSector()) +
12 sorter(other.msSector(), msSector());
13 if (chambCompare) return chambCompare < 0;
14 return bucketId() < other.bucketId();
15 }
const MuonGMR4::SpectrometerSector * msSector() const
returns th associated muonChamber
unsigned int bucketId() const
Returns the Identifier in the context of the MuonChamber.

◆ populateChamberLocations()

void MuonR4::SpacePointBucket::populateChamberLocations ( )

populate the chamber location list.

This should be done once all the hits have been added.

chamber is fully embedded in the bucket

Partial overlap

Definition at line 23 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePointContainer.cxx.

23 {
24 if (!msSector()){
25 MsgStream msg{Athena::getMessageSvc(), "SpacePointBucket"};
26 msg<<MSG::ERROR<< "populateChamberLocations() can only be called once we have a valid hit"<<endmsg;
27 return;
28 }
29 // loop over all chambers in the sector
30 Amg::Vector3D minPos{m_min * Amg::Vector3D::UnitY()},
31 maxPos{m_max * Amg::Vector3D::UnitY()};
32 for (auto & chamber : msSector()->chamberLocations()){
33 minPos[Amg::z] = maxPos[Amg::z] = chamber.location().z();
35 if ((minPos.y() < chamber.minY() && maxPos.y() > chamber.maxY()) ||
37 chamber.insideYZ(minPos) || chamber.insideYZ(maxPos)) {
38 m_chamberLocs.push_back(chamber);
39 }
40 }
41 }
#define endmsg
const std::vector< chamberLocation > & chamberLocations() const
returns the list of all tracking chambers in the bucket for fast navigation
Eigen::Matrix< double, 3, 1 > Vector3D
IMessageSvc * getMessageSvc(bool quiet=false)
MsgStream & msg
Definition testRead.cxx:32

◆ setBucketId()

void MuonR4::SpacePointBucket::setBucketId ( unsigned int id)

sets the Identifier of the MuonSpacePointBucket in context of the associated muonChamber

Definition at line 20 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePointContainer.cxx.

◆ setCoveredRange()

void MuonR4::SpacePointBucket::setCoveredRange ( double min,
double max )

set the range in the precision plane covered by the bucket

Definition at line 16 of file MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/src/SpacePointContainer.cxx.

16 {
17 m_min = min;
18 m_max = max;
19 }
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41

Member Data Documentation

◆ elements

T std::vector< T >::elements
inherited

STL member.

◆ m_bucketId

unsigned int MuonR4::SpacePointBucket::m_bucketId {0}
private

◆ m_chamberLocs

std::vector<chamberLocation> MuonR4::SpacePointBucket::m_chamberLocs {}
private

◆ m_max

double MuonR4::SpacePointBucket::m_max {20. * Gaudi::Units::m}
private

◆ m_min

double MuonR4::SpacePointBucket::m_min {-20. *Gaudi::Units::m}
private

The documentation for this class was generated from the following files: