Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-18 07:36:06

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 
0009 #pragma once
0010 
0011 #include "Acts/Geometry/GeometryContext.hpp"
0012 #include "Acts/Geometry/GeometryIdentifier.hpp"
0013 #include "Acts/Geometry/TrackingGeometry.hpp"
0014 #include "Acts/Seeding/HoughTransformUtils.hpp"
0015 #include "Acts/Utilities/Logger.hpp"
0016 #include "ActsExamples/EventData/MuonSegment.hpp"
0017 #include "ActsExamples/EventData/MuonSpacePoint.hpp"
0018 #include "ActsExamples/EventData/SimHit.hpp"
0019 #include "ActsExamples/EventData/SimParticle.hpp"
0020 
0021 #include <functional>
0022 #include <string>
0023 #include <vector>
0024 
0025 namespace ActsExamples {
0026 
0027 /// @brief Visualizes muon space points on a 2D canvas (y-z plane)
0028 ///
0029 /// Creates a PDF showing:
0030 /// - Chamber detector surfaces (straws and strips)
0031 /// - Digitized space points (red)
0032 /// - Truth muon trajectories (blue arrows)
0033 ///
0034 /// @param outputPath Full path for the output PDF file
0035 /// @param gctx Geometry context
0036 /// @param bucket Space points to visualize
0037 /// @param simHits Container of simulated hits for drawing truth trajectories
0038 /// @param simParticles Container of simulated particles
0039 /// @param trackingGeometry The tracking geometry to access surfaces and volumes
0040 /// @param logger Logger for diagnostic output
0041 void visualizeMuonSpacePoints(const std::string& outputPath,
0042                               const Acts::GeometryContext& gctx,
0043                               const MuonSpacePointBucket& bucket,
0044                               const SimHitContainer& simHits,
0045                               const SimParticleContainer& simParticles,
0046                               const Acts::TrackingGeometry& trackingGeometry,
0047                               const Acts::Logger& logger);
0048 
0049 /// @brief Visualizes a Hough transform accumulator plane and found maxima
0050 ///
0051 /// Creates a PDF showing:
0052 /// - The Hough accumulator plane as a 2D histogram
0053 /// - Found maxima with uncertainty boxes (blue)
0054 /// - Truth segment parameters (red crosses)
0055 ///
0056 /// @param outputPath Full path for the output PDF file
0057 /// @param bucketId Identifier of the station bucket being visualized
0058 /// @param maxima Found Hough maxima from the peak finder
0059 /// @param plane Filled Hough accumulator plane
0060 /// @param axis Axis ranges of the Hough plane
0061 /// @param truthSegments Container of truth segments for comparison
0062 /// @param logger Logger for diagnostic output
0063 void visualizeMuonHoughMaxima(
0064     const std::string& outputPath, const MuonSpacePoint::MuonId& bucketId,
0065     const std::vector<Acts::HoughTransformUtils::PeakFinders::IslandsAroundMax<
0066         const MuonSpacePoint*>::Maximum>& maxima,
0067     const Acts::HoughTransformUtils::HoughPlane<const MuonSpacePoint*>& plane,
0068     const Acts::HoughTransformUtils::HoughAxisRanges& axis,
0069     const MuonSegmentContainer& truthSegments, const Acts::Logger& logger);
0070 
0071 }  // namespace ActsExamples