ATLAS Offline Software
Loading...
Searching...
No Matches
VisualizationHelpers.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONR4_MUONVISUALIZATIONHELPERS_H
5#define MUONR4_MUONVISUALIZATIONHELPERS_H
6
7
10#include <memory>
11#include <vector>
13
14
15#include "TEllipse.h"
16#include "TBox.h"
17#include "TLatex.h"
18#include "TLine.h"
19#include "TArrow.h"
20
21namespace MuonValR4 {
23 constexpr int hollowFilling = 0;
24 constexpr int fullFilling = 1001;
25 constexpr int hatchedFilling = 3344;
26
28 constexpr int objViewEta = Acts::toUnderlying(MuonR4::SegmentFit::AxisDefs::etaCov);
29 constexpr int objViewPhi = Acts::toUnderlying(MuonR4::SegmentFit::AxisDefs::phiCov);
30
31
32 std::vector<std::unique_ptr<TObject>> clone(const std::vector<std::unique_ptr<TObject>>& cloneMe);
40 std::unique_ptr<TEllipse> drawDriftCircle(const Amg::Vector3D& center,
41 const double radius,
42 const int color = kViolet,
43 const int fillStyle = hollowFilling);
51 std::unique_ptr<TBox> drawBox(const Amg::Vector3D& boxCenter,
52 const double boxWidth,
53 const double boxHeight,
54 const int color = kGreen +2,
55 const int fillStyle = hollowFilling,
56 const int view = objViewEta);
65 std::unique_ptr<TBox> drawBox(const double x1,
66 const double y1,
67 const double x2,
68 const double y2,
69 const int color = kGreen +2,
70 const int fillStyle = hollowFilling);
78 std::unique_ptr<TLine> drawLine(const MuonR4::SegmentFit::Parameters& pars,
79 const double lowEnd, const double highEnd,
80 const int color = kRed +1,
81 const int lineStyle = kDashed,
82 const int view = objViewEta);
89 std::unique_ptr<TLine> drawLine(const Amg::Vector3D& lowEnd,
90 const Amg::Vector3D& highEnd,
91 const int color = kRed + 1,
92 const int lineStyle = kSolid,
93 const int view = objViewEta);
100 std::unique_ptr<TArrow> drawArrow(const Amg::Vector3D& start,
101 const Amg::Vector3D& dir,
102 const int color = kRed +1,
103 const int lineStyle = kDashed,
104 const int view = objViewEta);
110 std::unique_ptr<TLatex> drawLabel(const std::string& text,
111 const double xPos,
112 const double yPos,
113 const unsigned int fontSize = 18);
119 std::unique_ptr<TLatex> drawLabelNDC(const std::string& text,
120 const double xPos,
121 const double yPos,
122 const unsigned int fontSize = 18);
127 std::unique_ptr<TLatex> drawAtlasLabel(const double xPos,
128 const double yPos,
129 const std::string& status = "Internal");
135 std::unique_ptr<TLatex> drawLumiSqrtS(const double xPos,
136 const double yPos,
137 const std::string_view sqrtS="14",
138 const std::string_view lumi = "");
139}
140#endif
Eigen::Matrix< double, 3, 1 > Vector3D
Acts::Experimental::CompositeSpacePointLineFitter::ParamVec_t Parameters
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
constexpr int objViewEta
ObjectView.
constexpr int hollowFilling
Filling codes for hollow / fullFilling / hatched filling.
std::unique_ptr< TLine > drawLine(const MuonR4::SegmentFit::Parameters &pars, const double lowEnd, const double highEnd, const int color=kRed+1, const int lineStyle=kDashed, const int view=objViewEta)
Draws a line from the segment fit parameters.
constexpr int hatchedFilling
std::vector< std::unique_ptr< TObject > > clone(const std::vector< std::unique_ptr< TObject > > &cloneMe)
std::unique_ptr< TEllipse > drawDriftCircle(const Amg::Vector3D &center, const double radius, const int color=kViolet, const int fillStyle=hollowFilling)
Create a TEllipse for drawing a drift circle.
constexpr int fullFilling
constexpr int objViewPhi
std::unique_ptr< TArrow > drawArrow(const Amg::Vector3D &start, const Amg::Vector3D &dir, const int color=kRed+1, const int lineStyle=kDashed, const int view=objViewEta)
Draw an arror between two endpoints in the y-z or the x-z plane.
std::unique_ptr< TLatex > drawLabel(const std::string &text, const double xPos, const double yPos, const unsigned int fontSize=18)
Create a TLatex label,.
std::unique_ptr< TLatex > drawLumiSqrtS(const double xPos, const double yPos, const std::string_view sqrtS="14", const std::string_view lumi="")
Create a luminosity sqrtS label.
std::unique_ptr< TLatex > drawAtlasLabel(const double xPos, const double yPos, const std::string &status="Internal")
Create a ATLAS label.
std::unique_ptr< TBox > drawBox(const Amg::Vector3D &boxCenter, const double boxWidth, const double boxHeight, const int color=kGreen+2, const int fillStyle=hollowFilling, const int view=objViewEta)
Creates a box for drawing, e.g strip measurements.
std::unique_ptr< TLatex > drawLabelNDC(const std::string &text, const double xPos, const double yPos, const unsigned int fontSize=18)
Create a TLatex label,.