![]() |
|
|||
File indexing completed on 2025-05-14 07:56:51
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 #pragma once 0009 0010 #include "ActsExamples/EventData/MuonSpacePoint.hpp" 0011 0012 namespace ActsExamples { 0013 /** @brief EDM class to store the result from the HoughTransform pattern finding step. The class takes the 0014 * local line parameters of the transform in the precision direction 0015 * (tanAlpha, interceptY) if the transform, is performed to find an parameter 0016 * estimate in the bending direction or (tanAlpha, interceptY, tanBeta, 0017 * interceptX) if a second hough transform is performed on top of the first 0018 * transform to find the parameters in the complementary direction. Further, the 0019 * MuonHoughMaximum stores the list of all hits associated with the maximum. */ 0020 class MuonHoughMaximum { 0021 public: 0022 using HitVec = std::vector<const MuonSpacePoint*>; 0023 /** @brief Constructor taking the estimated hough parameters and the associated hits 0024 * @param tanBeta: Slope of the estimated line in precision direction 0025 * @param interceptY: Intercept of the line along the precision direction 0026 * @param assocHits: List of hits associated with these parameters */ 0027 MuonHoughMaximum(const double tanBeta, const double interceptY, 0028 const HitVec& assocHits) 0029 : m_tanBeta{tanBeta}, m_interceptY{interceptY}, m_hits{assocHits} {} 0030 /** @brief Constructor taking the estimated hough parameters from a complementary hough transform 0031 * & the associated hits. 0032 * @param tanAlpha: Slope of the estimate line in the non-bending direction 0033 * @param interceptX: Intercept of the line along the non-bending direction 0034 * @param tanBeta: Slope of the estimated line in precision direction 0035 * @param interceptY: Intercept of the line along the precision direction 0036 * @param assocHits: List of hits associated with these parameters */ 0037 MuonHoughMaximum(const double tanAlpha, const double interceptX, 0038 const double tanBeta, const double interceptY, 0039 const HitVec& assocHits) 0040 : m_tanAlpha{tanAlpha}, 0041 m_interceptX{interceptX}, 0042 m_tanBeta{tanBeta}, 0043 m_interceptY{interceptY}, 0044 m_hits{assocHits} {} 0045 /** @brief Return the slope along the non-bending direction */ 0046 double tanAlpha() const { return m_tanAlpha; } 0047 /** @brief Return slope along the bending direction */ 0048 double tanBeta() const { return m_tanBeta; } 0049 /** @brief Return the intercept in the non-precision plane */ 0050 double interceptX() const { return m_interceptX; } 0051 /** @brief Return the intercept in the precision plane */ 0052 double interceptY() const { return m_interceptY; } 0053 /** @brief Return the associated hits */ 0054 const HitVec& hits() const { return m_hits; } 0055 0056 private: 0057 double m_tanAlpha{0.}; 0058 double m_interceptX{0.}; 0059 double m_tanBeta{0.}; 0060 double m_interceptY{0.}; 0061 HitVec m_hits{}; 0062 }; 0063 0064 using MuonHoughMaxContainer = std::vector<MuonHoughMaximum>; 0065 } // namespace ActsExamples
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |