Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
MuonML::LayerSpBucket Class Reference

The LayerSpBucket is a space pointbucket where the points are internally sorted by their layer number as defined in the SpacePointLayerSorter. More...

#include <LayerBucket.h>

Inheritance diagram for MuonML::LayerSpBucket:
Collaboration diagram for MuonML::LayerSpBucket:

Public Member Functions

 LayerSpBucket (const MuonR4::SpacePointBucket &bucket)
 Standard constructor taking the space point bucket. More...
 
uint8_t nMdtLayers () const
 Returns how many Mdt layers are inside the bucket. More...
 
uint8_t nStripLayers () const
 Returns how many Strip layers are inside the bucket. More...
 
uint8_t layerNum (const size_t i) const
 Returns the associated layer number of the i-the space point inside the bucket. More...
 
double coveredMax () const
 Returns the max covered position of the bucket. More...
 
double coveredMin () const
 Returns the min covered position of the bucket. More...
 

Public Attributes

elements
 STL member. More...
 

Private Attributes

uint8_t m_nMdtLay {0}
 
uint8_t m_nStripLay {0}
 
std::vector< uint8_t > m_layNum {}
 
double m_min {-20. *Gaudi::Units::m}
 
double m_max {20. * Gaudi::Units::m}
 

Detailed Description

The LayerSpBucket is a space pointbucket where the points are internally sorted by their layer number as defined in the SpacePointLayerSorter.

The bucket also provides the layer number tag for each space point & the number of total layers

Definition at line 14 of file LayerBucket.h.

Constructor & Destructor Documentation

◆ LayerSpBucket()

MuonML::LayerSpBucket::LayerSpBucket ( const MuonR4::SpacePointBucket bucket)

Standard constructor taking the space point bucket.

Definition at line 10 of file LayerBucket.cxx.

10  :
11  m_min{bucket.coveredMin()},
12  m_max{bucket.coveredMax()} {
13  reserve(bucket.size());
14  m_layNum.resize(bucket.size());
16  const MuonR4::SpacePointPerLayerSplitter splitter {bucket};
17  uint8_t globLayer{0};
18  m_nMdtLay = splitter.mdtHits().size();
19  m_nStripLay = splitter.stripHits().size();
20 
21  for (const HitVec& spInLay : splitter.mdtHits()) {
22  for (const MuonR4::SpacePoint* spacePoint: spInLay) {
23  push_back(spacePoint);
24  (*layItr++) = globLayer;
25  }
26  ++globLayer;
27  }
28  for (const HitVec& spInLay : splitter.stripHits()) {
29  for (const MuonR4::SpacePoint* spacePoint: spInLay) {
30  push_back(spacePoint);
31  (*layItr++) = globLayer;
32  }
33  ++globLayer;
34  }
35  }

Member Function Documentation

◆ coveredMax()

double MuonML::LayerSpBucket::coveredMax ( ) const
inline

Returns the max covered position of the bucket.

Definition at line 31 of file LayerBucket.h.

31  {
32  return m_max;
33  }

◆ coveredMin()

double MuonML::LayerSpBucket::coveredMin ( ) const
inline

Returns the min covered position of the bucket.

Definition at line 35 of file LayerBucket.h.

35  {
36  return m_min;
37  }

◆ layerNum()

uint8_t MuonML::LayerSpBucket::layerNum ( const size_t  i) const
inline

Returns the associated layer number of the i-the space point inside the bucket.

Definition at line 27 of file LayerBucket.h.

27  {
28  return m_layNum[i];
29  }

◆ nMdtLayers()

uint8_t MuonML::LayerSpBucket::nMdtLayers ( ) const
inline

Returns how many Mdt layers are inside the bucket.

Definition at line 19 of file LayerBucket.h.

19  {
20  return m_nMdtLay;
21  }

◆ nStripLayers()

uint8_t MuonML::LayerSpBucket::nStripLayers ( ) const
inline

Returns how many Strip layers are inside the bucket.

Definition at line 23 of file LayerBucket.h.

23  {
24  return m_nStripLay;
25  }

Member Data Documentation

◆ elements

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

STL member.

◆ m_layNum

std::vector<uint8_t> MuonML::LayerSpBucket::m_layNum {}
private

Definition at line 41 of file LayerBucket.h.

◆ m_max

double MuonML::LayerSpBucket::m_max {20. * Gaudi::Units::m}
private

Definition at line 43 of file LayerBucket.h.

◆ m_min

double MuonML::LayerSpBucket::m_min {-20. *Gaudi::Units::m}
private

Definition at line 42 of file LayerBucket.h.

◆ m_nMdtLay

uint8_t MuonML::LayerSpBucket::m_nMdtLay {0}
private

Definition at line 39 of file LayerBucket.h.

◆ m_nStripLay

uint8_t MuonML::LayerSpBucket::m_nStripLay {0}
private

Definition at line 40 of file LayerBucket.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
MuonR4::SpacePointPerLayerSplitter
The SpacePointPerLayerSplitter takes a set of spacepoints already sorted by layer Identifier (see Muo...
Definition: SpacePointPerLayerSplitter.h:16
MuonML::LayerSpBucket::m_min
double m_min
Definition: LayerBucket.h:42
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
MuonR4::SpacePointBucket::coveredMin
double coveredMin() const
lower interval value covered by the bucket
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h:32
MuonML::LayerSpBucket::m_max
double m_max
Definition: LayerBucket.h:43
MuonR4::SpacePointBucket::coveredMax
double coveredMax() const
upper interval value covered by the bucket
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h:34
lumiFormat.i
int i
Definition: lumiFormat.py:85
MuonR4::SpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:18
MuonML::LayerSpBucket::m_layNum
std::vector< uint8_t > m_layNum
Definition: LayerBucket.h:41
MuonML::HitVec
MuonR4::SpacePointPerLayerSplitter::HitVec HitVec
Definition: LayerBucket.cxx:9
MuonML::LayerSpBucket::m_nStripLay
uint8_t m_nStripLay
Definition: LayerBucket.h:40
MuonML::LayerSpBucket::m_nMdtLay
uint8_t m_nMdtLay
Definition: LayerBucket.h:39