ATLAS Offline Software
MuonHoughTransformer_CurvedAtACylinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_CURVEDATACYLINDER_H
6 #define MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_CURVEDATACYLINDER_H
7 
9 
11 public:
13  MuonHoughTransformer_CurvedAtACylinder(int nbins, int nbins_angle, double detectorsize, double detectorsize_angle,
14  double threshold_histo, int number_of_sectors = 1);
17 
19  void fillHit(const std::shared_ptr<MuonHoughHit>& hit, double weight) override final;
21  int fillHisto(double xbin, double theta, double weight, int sector) override final;
22 
24  std::unique_ptr<MuonHoughPattern> hookAssociateHitsToMaximum(const MuonHoughHitContainer& event, std::pair<double, double> coordsmaximum,
25  double residu_mm, double residu_grad, int sector) const override final;
26 
28  int sector(const std::shared_ptr<MuonHoughHit>& hit) const override final;
30  float weightHoughTransform(double r0) const override final;
31 
32 private:
34  std::unique_ptr<double[]> m_invcurvature;
35  std::unique_ptr<double[]> m_weightcurvature;
36 
37 };
38 
39 inline int MuonHoughTransformer_CurvedAtACylinder::sector(const std::shared_ptr<MuonHoughHit>& hit) const { return hit->phiSector(); }
40 
41 #endif // MUONHOUGHPATTERNEVENT_MUONHOUGHTRANSFORMER_CURVEDATACYLINDER_H
MuonHoughTransformer.h
MuonHoughTransformer_CurvedAtACylinder::weightHoughTransform
float weightHoughTransform(double r0) const override final
not implemented for this transform
Definition: MuonHoughTransformer_CurvedAtACylinder.cxx:223
MuonHoughTransformer_CurvedAtACylinder::hookAssociateHitsToMaximum
std::unique_ptr< MuonHoughPattern > hookAssociateHitsToMaximum(const MuonHoughHitContainer &event, std::pair< double, double > coordsmaximum, double residu_mm, double residu_grad, int sector) const override final
associate hits to maximum found
Definition: MuonHoughTransformer_CurvedAtACylinder.cxx:133
MuonHoughTransformer_CurvedAtACylinder::~MuonHoughTransformer_CurvedAtACylinder
~MuonHoughTransformer_CurvedAtACylinder()=default
destructor
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:75
MuonHoughTransformer_CurvedAtACylinder::fillHisto
int fillHisto(double xbin, double theta, double weight, int sector) override final
fill transformed values in histogram
Definition: MuonHoughTransformer_CurvedAtACylinder.cxx:87
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
MuonHoughTransformer_CurvedAtACylinder
Definition: MuonHoughTransformer_CurvedAtACylinder.h:10
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
MuonHoughTransformer_CurvedAtACylinder::sector
int sector(const std::shared_ptr< MuonHoughHit > &hit) const override final
returns the phi sector
Definition: MuonHoughTransformer_CurvedAtACylinder.h:39
MuonHoughTransformer_CurvedAtACylinder::MuonHoughTransformer_CurvedAtACylinder
MuonHoughTransformer_CurvedAtACylinder(int nbins, int nbins_angle, double detectorsize, double detectorsize_angle, double threshold_histo, int number_of_sectors=1)
constructor
Definition: MuonHoughTransformer_CurvedAtACylinder.cxx:11
TRT_PAI_physicsConstants::r0
const double r0
electron radius{cm}
Definition: TRT_PAI_physicsConstants.h:20
MuonHoughHitContainer
Definition: MuonHoughHitContainer.h:15
MuonHoughTransformer_CurvedAtACylinder::m_invcurvature
std::unique_ptr< double[]> m_invcurvature
array that stores the inverse curvatures that are scanned
Definition: MuonHoughTransformer_CurvedAtACylinder.h:34
MuonHoughHit::phiSector
int phiSector() const
phi sector of hit
Definition: MuonHoughHit.h:172
MuonHoughTransformer_CurvedAtACylinder::m_weightcurvature
std::unique_ptr< double[]> m_weightcurvature
Definition: MuonHoughTransformer_CurvedAtACylinder.h:35
MuonHoughTransformer_CurvedAtACylinder::fillHit
void fillHit(const std::shared_ptr< MuonHoughHit > &hit, double weight) override final
fill hit in histogram
Definition: MuonHoughTransformer_CurvedAtACylinder.cxx:41
MuonHoughTransformer
Abstract base class, Strategy pattern.
Definition: MuonHoughTransformer.h:21