ATLAS Offline Software
Loading...
Searching...
No Matches
IPatternVisualizationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONRECTOOLINTERFACESR4_IPATTERNVISUALIZATIONTOOL_H
5#define MUONRECTOOLINTERFACESR4_IPATTERNVISUALIZATIONTOOL_H
6
7
8#include <GaudiKernel/IAlgTool.h>
13#include <Acts/Visualization/ObjVisualization3D.hpp>
14
15#include <memory>
16
17class EventContext;
18class TObject;
19
20namespace MuonR4 {
21 class SpacePointBucket;
22 class SegmentSeed;
23 class Segment;
24}
25
26namespace MuonValR4{
28
29 class IPatternVisualizationTool : virtual public IAlgTool {
30 public:
32
33 using PrimitivePtr = std::unique_ptr<TObject>;
34 using PrimitiveVec = std::vector<PrimitivePtr>;
35 using MaximumVec = std::vector<MuonR4::ActsPeakFinderForMuon::Maximum>;
36
37 virtual ~IPatternVisualizationTool() = default;
38
43 virtual void visualizeBucket(const EventContext& ctx,
44 const MuonR4::SpacePointBucket& bucket,
45 const std::string& extraLabel) const = 0;
51 virtual void visualizeBucket(const EventContext& ctx,
52 const MuonR4::SpacePointBucket& bucket,
53 const std::string& extraLabel,
54 PrimitiveVec&& extraPaints) const = 0;
61 virtual void visualizeAccumulator(const EventContext& ctx,
62 const MuonR4::HoughPlane& accumulator,
63 const Acts::HoughTransformUtils::HoughAxisRanges& axisRanges,
64 const MaximumVec& maxima,
65 const std::string& extraLabel) const = 0;
73 virtual void visualizeAccumulator(const EventContext& ctx,
74 const MuonR4::HoughPlane& accumulator,
75 const Acts::HoughTransformUtils::HoughAxisRanges& axisRanges,
76 const MaximumVec& maxima,
77 const std::string& extraLabel,
78 PrimitiveVec&& extraPaints) const = 0;
79
84 virtual void visualizeSeed(const EventContext& ctx,
85 const MuonR4::SegmentSeed& seed,
86 const std::string& extraLabel) const = 0;
92 virtual void visualizeSeed(const EventContext& ctx,
93 const MuonR4::SegmentSeed& seed,
94 const std::string& extraLabel,
95 PrimitiveVec&& extraPaints) const = 0;
100 virtual void visualizeSegment(const EventContext& ctx,
101 const MuonR4::Segment& segment,
102 const std::string& extraLabel) const = 0;
108 virtual void visualizeSegment(const EventContext& ctx,
109 const MuonR4::Segment& segment,
110 const std::string& extraLabel,
111 PrimitiveVec&& extraPaints) const = 0;
112
117 virtual void visualizeSegmentsMeasurementsObj(const EventContext& ctx,
118 const MuonR4::Segment& segment,
119 const std::string& extraLabel) const = 0;
120
125 virtual void visualizeSegmentsMeasurementsObj(const EventContext& ctx,
126 const MuonR4::Segment::MeasVec& measVec,
127 const std::string& extraLabel) const = 0;
128
131 virtual bool isLabeled(const MuonR4::SpacePoint& hit) const = 0;
132 virtual bool isLabeled(const xAOD::UncalibratedMeasurement& hit) const = 0;
133
134
135 using LabeledSegmentSet = std::unordered_set<const xAOD::MuonSegment*>;
138 virtual LabeledSegmentSet getLabeledSegments(const std::vector<const MuonR4::SpacePoint*>& hits) const = 0;
139 virtual LabeledSegmentSet getLabeledSegments(const std::vector<const xAOD::UncalibratedMeasurement*>& hits) const = 0;
140
141 };
142}
143#endif
Representation of a segment seed (a fully processed hough maximum) produced by the hough transform.
Definition SegmentSeed.h:14
Placeholder for what will later be the muon segment EDM representation.
: The muon space point bucket represents a collection of points that will bre processed together in t...
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Helper tool to visualize a pattern recogntion incident or a certain stage of the segment fit.
DeclareInterfaceID(IPatternVisualizationTool, 1, 0)
virtual void visualizeAccumulator(const EventContext &ctx, const MuonR4::HoughPlane &accumulator, const Acts::HoughTransformUtils::HoughAxisRanges &axisRanges, const MaximumVec &maxima, const std::string &extraLabel, PrimitiveVec &&extraPaints) const =0
Visualize the content of the Hough accumulator in a TH2 histogram.
virtual void visualizeSegmentsMeasurementsObj(const EventContext &ctx, const MuonR4::Segment::MeasVec &measVec, const std::string &extraLabel) const =0
Visualize the underlying measurement objects from the calibrated space points.
virtual void visualizeSegment(const EventContext &ctx, const MuonR4::Segment &segment, const std::string &extraLabel, PrimitiveVec &&extraPaints) const =0
Visualize the used space points of the segment together with the seed parameters.
virtual bool isLabeled(const xAOD::UncalibratedMeasurement &hit) const =0
virtual void visualizeAccumulator(const EventContext &ctx, const MuonR4::HoughPlane &accumulator, const Acts::HoughTransformUtils::HoughAxisRanges &axisRanges, const MaximumVec &maxima, const std::string &extraLabel) const =0
Visualize the content of the Hough accumulator in a TH2 histogram.
virtual ~IPatternVisualizationTool()=default
virtual LabeledSegmentSet getLabeledSegments(const std::vector< const MuonR4::SpacePoint * > &hits) const =0
Fetches all labeled (e.g.
std::vector< MuonR4::ActsPeakFinderForMuon::Maximum > MaximumVec
virtual void visualizeSegment(const EventContext &ctx, const MuonR4::Segment &segment, const std::string &extraLabel) const =0
Visualize the used space points of the segment together with the seed parameters.
virtual void visualizeBucket(const EventContext &ctx, const MuonR4::SpacePointBucket &bucket, const std::string &extraLabel, PrimitiveVec &&extraPaints) const =0
Draws the content of the bucket on a TCanvas.
virtual void visualizeSeed(const EventContext &ctx, const MuonR4::SegmentSeed &seed, const std::string &extraLabel, PrimitiveVec &&extraPaints) const =0
Visualize the used space points of the seed together with the seed parameters.
virtual void visualizeBucket(const EventContext &ctx, const MuonR4::SpacePointBucket &bucket, const std::string &extraLabel) const =0
Draws the content of the bucket on a TCanvas.
virtual void visualizeSeed(const EventContext &ctx, const MuonR4::SegmentSeed &seed, const std::string &extraLabel) const =0
Visualize the used space points of the seed together with the seed parameters.
std::unordered_set< const xAOD::MuonSegment * > LabeledSegmentSet
virtual bool isLabeled(const MuonR4::SpacePoint &hit) const =0
Returns whether the hit has been used on the labeled segments we refer to (e.g.
virtual void visualizeSegmentsMeasurementsObj(const EventContext &ctx, const MuonR4::Segment &segment, const std::string &extraLabel) const =0
Visualize the measurement objects associated with a reconstructed segment fromt he segment.
virtual LabeledSegmentSet getLabeledSegments(const std::vector< const xAOD::UncalibratedMeasurement * > &hits) const =0
This header ties the generic definitions in this package.
Acts::HoughTransformUtils::HoughPlane< HoughHitType > HoughPlane
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.