ATLAS Offline Software
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 
15 
16 namespace MuonHough {
17 
20  public:
21 
26 
27 
28  RegionDescriptor getDescriptor(int sector, DetRegIdx region, LayIdx layer) const;
29 
30  private:
32  void initDefaultRegions();
33 
36  };
37 
40  public:
42  MuonSectorHough(int sector, const MuonDetectorDescription& regionDescriptions);
43 
46 
52  return *m_transforms[index];
53  }
54 
56  void reset();
57 
58  private:
59  std::vector<std::unique_ptr<MuonLayerHough>> m_transforms;
60  // int m_sector; /// sector number
61  };
62 
65  public:
70  return *m_phiTransforms[static_cast<int>(region)];
71  }
72 
74  MuonLayerHough& hough(int sector, DetRegIdx region, LayIdx layer) {
75  return m_sectors[sector - 1]->hough(region, layer);
76  }
77 
79  void reset();
80 
83 
85  MuonDetectorHough(const RegionDescriptionVec& regionDescriptors);
86 
89 
90  private:
91  void init();
92 
93  std::vector<std::unique_ptr<MuonSectorHough>> m_sectors;
94  std::vector<std::unique_ptr<MuonPhiLayerHough>> m_phiTransforms;
95  };
96 
97 
98 } // namespace MuonHough
99 #endif
MuonHough::MuonDetectorHough::hough
MuonLayerHough & hough(int sector, DetRegIdx region, LayIdx layer)
access precision transform
Definition: MuonRegionHough.h:74
MuonHough::MuonDetectorHough::m_sectors
std::vector< std::unique_ptr< MuonSectorHough > > m_sectors
Definition: MuonRegionHough.h:93
index
Definition: index.py:1
Muon::MuonStationIndex::LayerIndex
LayerIndex
enum to classify the different layers in the muon spectrometer
Definition: MuonStationIndex.h:38
Muon::MuonStationIndex::sectorLayerHash
static unsigned int sectorLayerHash(DetectorRegionIndex detectorRegionIndex, LayerIndex layerIndex)
create a hash out of region and layer
Definition: MuonStationIndex.cxx:226
MuonHough::MuonSectorHough::reset
void reset()
reset histograms
Definition: MuonRegionHough.cxx:33
MuonHough::MuonLayerHough
Definition: MuonLayerHough.h:59
MuonHough::MuonDetectorDescription::initDefaultRegions
void initDefaultRegions()
initialize default geometry
Definition: MuonRegionHough.cxx:87
MuonHough::RegionDescriptor
struct containing all information to build a Hough transform for a given chamber index
Definition: MuonLayerHough.h:25
MuonHough::MuonSectorHough::MuonSectorHough
MuonSectorHough(int sector, const MuonDetectorDescription &regionDescriptions)
constructor for a given sector using the default geometry
Definition: MuonRegionHough.cxx:10
MuonLayerHough.h
MuonHough::MuonSectorHough::hough
MuonLayerHough & hough(DetRegIdx region, LayIdx layer)
access the Hough transform for a given region
Definition: MuonRegionHough.h:50
MuonHough::MuonPhiLayerHough
Definition: MuonPhiLayerHough.h:22
MuonHough::MuonDetectorHough::~MuonDetectorHough
~MuonDetectorHough()
destructor
MuonHough::MuonDetectorDescription
class managing geometry of the Hough spaces
Definition: MuonRegionHough.h:19
MuonHough::MuonDetectorHough::m_phiTransforms
std::vector< std::unique_ptr< MuonPhiLayerHough > > m_phiTransforms
sector transforms
Definition: MuonRegionHough.h:94
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MuonHough
Definition: MuonLayerHoughTool.h:41
MuonHough::MuonDetectorHough::reset
void reset()
reset histograms
Definition: MuonRegionHough.cxx:39
MuonHough::MuonDetectorHough::phiHough
MuonPhiLayerHough & phiHough(DetRegIdx region)
access phi transform
Definition: MuonRegionHough.h:69
Muon::MuonStationIndex::DetectorRegionIndex
DetectorRegionIndex
enum to classify the different layers in the muon spectrometer
Definition: MuonStationIndex.h:47
MuonHough::MuonDetectorDescription::getDescriptor
RegionDescriptor getDescriptor(int sector, DetRegIdx region, LayIdx layer) const
Definition: MuonRegionHough.cxx:59
MuonHough::MuonDetectorHough::MuonDetectorHough
MuonDetectorHough()
constructor using default region definitions
Definition: MuonRegionHough.cxx:44
MuonHough::MuonDetectorDescription::m_regionDescriptions
RegionDescriptionVec m_regionDescriptions
cached geometry
Definition: MuonRegionHough.h:35
MuonHough::MuonDetectorDescription::MuonDetectorDescription
MuonDetectorDescription()
constructor
Definition: MuonRegionHough.cxx:57
MuonHough::MuonDetectorHough
class managing all Hough transforms in the detector
Definition: MuonRegionHough.h:64
MuonHough::MuonSectorHough::m_transforms
std::vector< std::unique_ptr< MuonLayerHough > > m_transforms
Definition: MuonRegionHough.h:59
MuonPhiLayerHough.h
MuonHough::MuonSectorHough::~MuonSectorHough
~MuonSectorHough()
destructor
DeMoScan.index
string index
Definition: DeMoScan.py:364
MuonHough::MuonDetectorHough::init
void init()
Definition: MuonRegionHough.cxx:49
MuonHough::MuonSectorHough
class managing all precision Hough transforms in a sector
Definition: MuonRegionHough.h:39
MuonStationIndex.h
MuonHough::RegionDescriptionVec
std::vector< RegionDescriptor > RegionDescriptionVec
Definition: MuonLayerHough.h:56
MuonHough::MuonDetectorHough::MuonDetectorHough
MuonDetectorHough(const RegionDescriptionVec &regionDescriptors)
constructor using custom region definitions