ATLAS Offline Software
MuonHoughEventData.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 MUONR4__MUONHOUGHEVENTDATA__H
6 #define MUONR4__MUONHOUGHEVENTDATA__H
7 
14 #include <map>
15 #include <memory>
16 
17 namespace MuonR4{
18 
23  inline void updateSearchWindow(std::pair<double,double> & searchWindow, double value){
24  searchWindow.first = std::min(searchWindow.first, value);
25  searchWindow.second = std::max(searchWindow.second, value);
26  }
27 
33  template <typename maximum_t, typename houghPlane_t, typename peakFinder_t, typename peakFinderConfig_t>
36  gctx{_gctx} {}
37  // cached ACTS geometry context
39  // Hough accumulator
40  std::unique_ptr<houghPlane_t> houghPlane{nullptr};
41  // peak finder instance
42  std::unique_ptr<peakFinder_t> peakFinder{nullptr};
46  // Bucket containing the input space points
47  const MuonSpacePointBucket* bucket{nullptr};
48  // placeholder boundary for the search space
49  static constexpr double dummyBoundary{1.e9};
50  // search window for the intercept, optimised for the bucket
51  std::pair<double, double> searchWindowIntercept{dummyBoundary, -dummyBoundary};
52  // search window for the angle, optimised for the bucket
53  std::pair<double, double> searchWindowTanAngle{dummyBoundary, -dummyBoundary};
54 
56  void updateHoughWindow(double interceptMeas, double TanAngleMeas) {
59  }
60  };
61  // the maxima found by the hough transform
62  std::vector<maximum_t> maxima{};
63  // the hough setup for each logical muon chamber
64  std::map<const MuonGMR4::MuonChamber*, std::vector<HoughSetupForBucket>> houghSetups{};
65  // the axis ranges currently mapped to the accumulator
66  Acts::HoughTransformUtils::HoughAxisRanges currAxisRanges;
67  // current search window for the intercept
68  std::pair<double,double> searchSpaceIntercept{10000000,-100000000.};
69  // current search window for the angle
70  std::pair<double,double> searchSpaceTanAngle{100000000.,-100000.};
71  // hit counter for phi-measurements
72  size_t phiHitsOnMax{0};
73  };
74 }
75 
76 #endif
UncalibratedMeasurement.h
max
#define max(a, b)
Definition: cfImp.cxx:41
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::updateHoughWindow
void updateHoughWindow(double interceptMeas, double TanAngleMeas)
Update the hough space search window.
Definition: MuonHoughEventData.h:56
MuonR4::MuonHoughEventData_impl::MuonHoughEventData_impl
MuonHoughEventData_impl(const ActsGeometryContext &_gctx)
Definition: MuonHoughEventData.h:35
athena.value
value
Definition: athena.py:122
MuonR4::MuonHoughEventData_impl::currAxisRanges
Acts::HoughTransformUtils::HoughAxisRanges currAxisRanges
Definition: MuonHoughEventData.h:66
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::dummyBoundary
static constexpr double dummyBoundary
Definition: MuonHoughEventData.h:49
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::searchWindowIntercept
std::pair< double, double > searchWindowIntercept
Definition: MuonHoughEventData.h:51
MuonR4::MuonHoughEventData_impl::maxima
std::vector< maximum_t > maxima
Definition: MuonHoughEventData.h:62
RpcStripContainer.h
MuonR4::updateSearchWindow
void updateSearchWindow(std::pair< double, double > &searchWindow, double value)
Updates a search space window to account for a value.
Definition: MuonHoughEventData.h:23
MuonR4::MuonHoughEventData_impl::houghSetups
std::map< const MuonGMR4::MuonChamber *, std::vector< HoughSetupForBucket > > houghSetups
Definition: MuonHoughEventData.h:64
MuonR4::MuonHoughEventData_impl::peakFinder
std::unique_ptr< peakFinder_t > peakFinder
Definition: MuonHoughEventData.h:42
MuonR4::MuonSpacePointBucket
: The muon space point bucket represents a collection of points that will bre processed together in t...
Definition: MuonSpacePointContainer.h:22
MuonR4::MuonHoughEventData_impl::searchSpaceTanAngle
std::pair< double, double > searchSpaceTanAngle
Definition: MuonHoughEventData.h:70
MuonR4::MuonHoughEventData_impl
Templated event data class for the phase-2 muon hough transform.
Definition: MuonHoughEventData.h:34
TgcStripContainer.h
MuonR4::MuonHoughEventData_impl::searchSpaceIntercept
std::pair< double, double > searchSpaceIntercept
Definition: MuonHoughEventData.h:68
MMClusterContainer.h
MuonR4::MuonHoughEventData_impl::houghPlane
std::unique_ptr< houghPlane_t > houghPlane
Definition: MuonHoughEventData.h:40
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
min
#define min(a, b)
Definition: cfImp.cxx:40
MuonR4::MuonHoughEventData_impl::gctx
const ActsGeometryContext & gctx
Definition: MuonHoughEventData.h:38
MdtDriftCircleContainer.h
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket
Hough transform configuration for one bucket of the search space.
Definition: MuonHoughEventData.h:45
MuonR4
The CsvMuonSimHitDumper reads a Simulation Hit container for muons and dumps information to csv files...
Definition: MuonSpacePoint.h:11
MuonSpacePointContainer.h
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::searchWindowTanAngle
std::pair< double, double > searchWindowTanAngle
Definition: MuonHoughEventData.h:53
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::bucket
const MuonSpacePointBucket * bucket
Definition: MuonHoughEventData.h:47
MuonR4::MuonHoughEventData_impl::phiHitsOnMax
size_t phiHitsOnMax
Definition: MuonHoughEventData.h:72