ATLAS Offline Software
Loading...
Searching...
No Matches
MuonHough::MuonSectorHough Class Reference

class managing all precision Hough transforms in a sector More...

#include <MuonRegionHough.h>

Collaboration diagram for MuonHough::MuonSectorHough:

Public Types

using DetRegIdx = Muon::MuonStationIndex::DetectorRegionIndex
using LayIdx = Muon::MuonStationIndex::LayerIndex

Public Member Functions

 MuonSectorHough (int sector, const MuonDetectorDescription &regionDescriptions)
 constructor for a given sector using the default geometry
 ~MuonSectorHough ()
 destructor
MuonLayerHoughhough (DetRegIdx region, LayIdx layer)
 access the Hough transform for a given region
void reset ()
 reset histograms

Private Attributes

std::vector< std::unique_ptr< MuonLayerHough > > m_transforms

Detailed Description

class managing all precision Hough transforms in a sector

Definition at line 40 of file MuonRegionHough.h.

Member Typedef Documentation

◆ DetRegIdx

◆ LayIdx

Constructor & Destructor Documentation

◆ MuonSectorHough()

MuonHough::MuonSectorHough::MuonSectorHough ( int sector,
const MuonDetectorDescription & regionDescriptions )

constructor for a given sector using the default geometry

Definition at line 10 of file MuonRegionHough.cxx.

10 {
12
13 // loop over regions and layers of the detector and build the transforms
14 constexpr int detRegMax = static_cast<int>(DetRegIdx::DetectorRegionIndexMax);
15 constexpr int layIdxMax = static_cast<int>(LayIdx::LayerIndexMax);
16 for (int reg = 0; reg < detRegMax; ++reg) {
17 const auto region = static_cast<DetRegIdx>(reg);
18 for (int lay = 0; lay < layIdxMax; ++lay) {
19 const auto layer = static_cast<LayIdx>(lay);
20
21 // skip the few empty slots in the hash
22 RegionDescriptor descriptor = regionDescriptions.getDescriptor(sector, region, layer);
23 if (descriptor.chIndex == ChIdx::ChUnknown) {
24 continue;
25 }
27 m_transforms[index] = std::make_unique<MuonLayerHough>(descriptor);
28 }
29 }
30 }
Muon::MuonStationIndex::DetectorRegionIndex DetRegIdx
std::vector< std::unique_ptr< MuonLayerHough > > m_transforms
Muon::MuonStationIndex::LayerIndex LayIdx
str index
Definition DeMoScan.py:362
constexpr unsigned int sectorLayerHashMax()
maximum create a hash out of region and layer
unsigned int sectorLayerHash(DetectorRegionIndex detectorRegionIndex, LayerIndex layerIndex)
create a hash out of region and layer
@ layer
Definition HitInfo.h:79

◆ ~MuonSectorHough()

MuonHough::MuonSectorHough::~MuonSectorHough ( )
default

destructor

Member Function Documentation

◆ hough()

MuonLayerHough & MuonHough::MuonSectorHough::hough ( DetRegIdx region,
LayIdx layer )
inline

access the Hough transform for a given region

Definition at line 51 of file MuonRegionHough.h.

51 {
52 using namespace Muon::MuonStationIndex;
53 int index = sectorLayerHash(region, layer);
54 return *m_transforms.at(index);
55 }

◆ reset()

void MuonHough::MuonSectorHough::reset ( )

reset histograms

Definition at line 34 of file MuonRegionHough.cxx.

34 {
35 for (auto& transform : m_transforms) {
36 if (transform) transform->reset();
37 }
38 }
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.

Member Data Documentation

◆ m_transforms

std::vector<std::unique_ptr<MuonLayerHough> > MuonHough::MuonSectorHough::m_transforms
private

Definition at line 61 of file MuonRegionHough.h.


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