ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonRecUtils
MuonLayerHough
MuonLayerHough
MuonRegionHough.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONREGIONHOUGH_H
6
#define MUONREGIONHOUGH_H
7
8
#include <cmath>
9
#include <iostream>
10
#include <vector>
11
#include <format>
12
13
#include "
MuonLayerHough/MuonLayerHough.h
"
14
#include "
MuonLayerHough/MuonPhiLayerHough.h
"
15
#include "
MuonStationIndex/MuonStationIndex.h
"
16
17
namespace
MuonHough
{
18
20
class
MuonDetectorDescription
{
21
public
:
22
23
using
DetRegIdx
=
Muon::MuonStationIndex::DetectorRegionIndex
;
24
using
LayIdx
=
Muon::MuonStationIndex::LayerIndex
;
26
MuonDetectorDescription
();
27
28
29
RegionDescriptor
getDescriptor
(
int
sector,
DetRegIdx
region,
LayIdx
layer)
const
;
30
31
private
:
33
void
initDefaultRegions
();
34
36
RegionDescriptionVec
m_regionDescriptions
;
37
};
38
40
class
MuonSectorHough
{
41
public
:
43
MuonSectorHough
(
int
sector,
const
MuonDetectorDescription
& regionDescriptions);
44
46
~MuonSectorHough
();
47
48
using
DetRegIdx
=
Muon::MuonStationIndex::DetectorRegionIndex
;
49
using
LayIdx
=
Muon::MuonStationIndex::LayerIndex
;
51
MuonLayerHough
&
hough
(
DetRegIdx
region,
LayIdx
layer) {
52
using namespace
Muon::MuonStationIndex
;
53
int
index
=
sectorLayerHash
(region, layer);
54
return
*
m_transforms
.at(
index
);
55
}
56
58
void
reset
();
59
60
private
:
61
std::vector<std::unique_ptr<MuonLayerHough>>
m_transforms
;
62
// int m_sector; /// sector number
63
};
64
66
class
MuonDetectorHough
{
67
public
:
68
using
DetRegIdx
=
Muon::MuonStationIndex::DetectorRegionIndex
;
69
using
LayIdx
=
Muon::MuonStationIndex::LayerIndex
;
71
MuonPhiLayerHough
&
phiHough
(
DetRegIdx
region) {
72
return
*
m_phiTransforms
[
static_cast<
int
>
(region)];
73
}
74
76
MuonLayerHough
&
hough
(
int
sector,
DetRegIdx
region,
LayIdx
layer) {
77
return
m_sectors
.at(sector - 1)->hough(region, layer);
78
}
79
81
void
reset
();
82
84
MuonDetectorHough
();
85
87
MuonDetectorHough
(
const
RegionDescriptionVec
& regionDescriptors);
88
90
~MuonDetectorHough
();
91
92
private
:
93
void
init
();
94
95
std::vector<std::unique_ptr<MuonSectorHough>>
m_sectors
;
96
std::vector<std::unique_ptr<MuonPhiLayerHough>>
m_phiTransforms
;
97
};
98
99
100
}
// namespace MuonHough
101
#endif
MuonLayerHough.h
MuonPhiLayerHough.h
MuonStationIndex.h
MuonHough::MuonDetectorDescription
class managing geometry of the Hough spaces
Definition
MuonRegionHough.h:20
MuonHough::MuonDetectorDescription::getDescriptor
RegionDescriptor getDescriptor(int sector, DetRegIdx region, LayIdx layer) const
Definition
MuonRegionHough.cxx:61
MuonHough::MuonDetectorDescription::MuonDetectorDescription
MuonDetectorDescription()
constructor
Definition
MuonRegionHough.cxx:59
MuonHough::MuonDetectorDescription::m_regionDescriptions
RegionDescriptionVec m_regionDescriptions
cached geometry
Definition
MuonRegionHough.h:36
MuonHough::MuonDetectorDescription::LayIdx
Muon::MuonStationIndex::LayerIndex LayIdx
Definition
MuonRegionHough.h:24
MuonHough::MuonDetectorDescription::DetRegIdx
Muon::MuonStationIndex::DetectorRegionIndex DetRegIdx
Definition
MuonRegionHough.h:23
MuonHough::MuonDetectorDescription::initDefaultRegions
void initDefaultRegions()
initialize default geometry
Definition
MuonRegionHough.cxx:90
MuonHough::MuonDetectorHough::DetRegIdx
Muon::MuonStationIndex::DetectorRegionIndex DetRegIdx
Definition
MuonRegionHough.h:68
MuonHough::MuonDetectorHough::LayIdx
Muon::MuonStationIndex::LayerIndex LayIdx
Definition
MuonRegionHough.h:69
MuonHough::MuonDetectorHough::m_phiTransforms
std::vector< std::unique_ptr< MuonPhiLayerHough > > m_phiTransforms
sector transforms
Definition
MuonRegionHough.h:96
MuonHough::MuonDetectorHough::m_sectors
std::vector< std::unique_ptr< MuonSectorHough > > m_sectors
Definition
MuonRegionHough.h:95
MuonHough::MuonDetectorHough::phiHough
MuonPhiLayerHough & phiHough(DetRegIdx region)
access phi transform
Definition
MuonRegionHough.h:71
MuonHough::MuonDetectorHough::init
void init()
Definition
MuonRegionHough.cxx:50
MuonHough::MuonDetectorHough::MuonDetectorHough
MuonDetectorHough(const RegionDescriptionVec ®ionDescriptors)
constructor using custom region definitions
MuonHough::MuonDetectorHough::reset
void reset()
reset histograms
Definition
MuonRegionHough.cxx:40
MuonHough::MuonDetectorHough::~MuonDetectorHough
~MuonDetectorHough()
destructor
MuonHough::MuonDetectorHough::MuonDetectorHough
MuonDetectorHough()
constructor using default region definitions
Definition
MuonRegionHough.cxx:45
MuonHough::MuonDetectorHough::hough
MuonLayerHough & hough(int sector, DetRegIdx region, LayIdx layer)
access precision transform
Definition
MuonRegionHough.h:76
MuonHough::MuonSectorHough::reset
void reset()
reset histograms
Definition
MuonRegionHough.cxx:34
MuonHough::MuonSectorHough::DetRegIdx
Muon::MuonStationIndex::DetectorRegionIndex DetRegIdx
Definition
MuonRegionHough.h:48
MuonHough::MuonSectorHough::m_transforms
std::vector< std::unique_ptr< MuonLayerHough > > m_transforms
Definition
MuonRegionHough.h:61
MuonHough::MuonSectorHough::~MuonSectorHough
~MuonSectorHough()
destructor
MuonHough::MuonSectorHough::hough
MuonLayerHough & hough(DetRegIdx region, LayIdx layer)
access the Hough transform for a given region
Definition
MuonRegionHough.h:51
MuonHough::MuonSectorHough::MuonSectorHough
MuonSectorHough(int sector, const MuonDetectorDescription ®ionDescriptions)
constructor for a given sector using the default geometry
Definition
MuonRegionHough.cxx:10
MuonHough::MuonSectorHough::LayIdx
Muon::MuonStationIndex::LayerIndex LayIdx
Definition
MuonRegionHough.h:49
MuonHough
Definition
MuonLayerHoughTool.h:40
MuonHough::RegionDescriptionVec
std::vector< RegionDescriptor > RegionDescriptionVec
Definition
MuonLayerHough.h:56
Muon::MuonStationIndex
Definition
MuonStationIndex.h:14
Muon::MuonStationIndex::DetectorRegionIndex
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
Definition
MuonStationIndex.h:48
Muon::MuonStationIndex::sectorLayerHash
unsigned int sectorLayerHash(DetectorRegionIndex detectorRegionIndex, LayerIndex layerIndex)
create a hash out of region and layer
Muon::MuonStationIndex::LayerIndex
LayerIndex
enum to classify the different layers in the muon spectrometer
Definition
MuonStationIndex.h:39
index
Definition
index.py:1
MuonHough::MuonLayerHough
Definition
MuonLayerHough.h:59
MuonHough::MuonPhiLayerHough
Definition
MuonPhiLayerHough.h:22
MuonHough::RegionDescriptor
struct containing all information to build a Hough transform for a given chamber index
Definition
MuonLayerHough.h:25
Generated on
for ATLAS Offline Software by
1.17.0