ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonValidation
MuonVisualizationHelpersR4
src
DrawCanvasObject.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef MUONVISUALIZATIONHELPERSR4_DRAWCANVASOBJECT_H
5
#define MUONVISUALIZATIONHELPERSR4_DRAWCANVASOBJECT_H
6
#include <
MuonRecToolInterfacesR4/IRootVisualizationService.h
>
7
8
#include <TObject.h>
9
#include <Acts/Utilities/ArrayHelpers.hpp>
10
#include <limits>
11
#include <atomic>
12
#include <string>
13
#include <vector>
14
15
namespace
MuonValR4::detail
{
16
class
DrawCanvasObject
:
public
IRootVisualizationService::ICanvasObject
{
17
public
:
18
using
PrimitivePtr_t
=
IRootVisualizationService::PrimitivePtr_t
;
19
using
PrimitiveVec_t
= std::vector<std::pair<PrimitivePtr_t, std::string>>;
20
using
Range_t
= std::array<double, 2>;
21
using
Range2D_t
= std::array<Range_t, 2>;
22
23
DrawCanvasObject
(
const
std::string& canvasName,
24
const
std::size_t evtNumber);
25
virtual
~DrawCanvasObject
() =
default
;
26
27
virtual
void
expandPad
(
const
double
x
,
const
double
y
)
override
final
;
28
29
virtual
void
add
(
PrimitivePtr_t
&& drawMe,
30
std::string_view drawOpt =
""
) override final;
31
virtual
void
add
(
std
::
vector
<
PrimitivePtr_t
>&& drawMe) override final;
32
33
virtual
double
corner
(
const
AxisRanges
r
)
const
override final;
34
virtual
void
setRangeScale
(
const
double
s,
bool
quadCan) override final;
35
virtual
void
trash
() override final;
36
37
const
PrimitiveVec_t
&
primitives
()
const
;
38
PrimitiveVec_t
&
primitives
();
39
40
virtual
void
setAxisTitles
(
const
std
::
string
&
xTitle
,
41
const
std
::
string
&
yTitle
,
42
const
std
::
string
&
zTitle
) override final;
44
const
std
::
string
&
xTitle
()
const
;
46
const
std
::
string
&
yTitle
()
const
;
48
const
std
::
string
&
zTitle
()
const
;
50
std
::
size_t
event
()
const
;
52
const
std
::
string
&
name
()
const
;
54
bool
trashed
()
const
;
55
56
57
private
:
58
static constexpr
double
s_dblMax
=
std
::numeric_limits<
double
>::
max
();
59
Range2D_t
m_axisRanges
{Acts::filledArray<Range_t, 2>(
Range_t
{
s_dblMax
, -
s_dblMax
})};
60
double
m_axisScale
{1.};
61
PrimitiveVec_t
m_primitives
{};
62
63
std::string
m_name
{};
64
std::size_t
m_evt
{};
65
66
std::string
m_xTitle
{};
67
std::string
m_yTitle
{};
68
std::string
m_zTitle
{};
69
70
bool
m_quadCan
{
false
};
71
std::atomic<bool>
m_isTrashed
{
false
};
72
73
74
75
};
76
}
77
78
#endif
IRootVisualizationService.h
y
#define y
x
#define x
max
#define max(a, b)
Definition
cfImp.cxx:41
MuonValR4::IRootVisualizationService::PrimitivePtr_t
std::unique_ptr< TObject > PrimitivePtr_t
Abrivation for a TObject to be drawn on a canvas.
Definition
IRootVisualizationService.h:31
MuonValR4::detail::DrawCanvasObject::m_isTrashed
std::atomic< bool > m_isTrashed
Definition
DrawCanvasObject.h:71
MuonValR4::detail::DrawCanvasObject::Range_t
std::array< double, 2 > Range_t
Definition
DrawCanvasObject.h:20
MuonValR4::detail::DrawCanvasObject::corner
virtual double corner(const AxisRanges r) const override final
Retrieves a corner coordinate of the drawn canvas.
Definition
DrawCanvasObject.cxx:27
MuonValR4::detail::DrawCanvasObject::event
std::size_t event() const
Event number in which the canvas has been created.
Definition
DrawCanvasObject.cxx:51
MuonValR4::detail::DrawCanvasObject::add
virtual void add(PrimitivePtr_t &&drawMe, std::string_view drawOpt="") override final
Add a TObject to the ICanvasObject for later drawing onto a TCanvas.
Definition
DrawCanvasObject.cxx:61
MuonValR4::detail::DrawCanvasObject::PrimitivePtr_t
IRootVisualizationService::PrimitivePtr_t PrimitivePtr_t
Definition
DrawCanvasObject.h:18
MuonValR4::detail::DrawCanvasObject::m_axisRanges
Range2D_t m_axisRanges
Definition
DrawCanvasObject.h:59
MuonValR4::detail::DrawCanvasObject::zTitle
const std::string & zTitle() const
Returns the title of the z-axis.
Definition
DrawCanvasObject.cxx:54
MuonValR4::detail::DrawCanvasObject::DrawCanvasObject
DrawCanvasObject(const std::string &canvasName, const std::size_t evtNumber)
Definition
DrawCanvasObject.cxx:22
MuonValR4::detail::DrawCanvasObject::name
const std::string & name() const
Name of the canvas.
Definition
DrawCanvasObject.cxx:50
MuonValR4::detail::DrawCanvasObject::m_zTitle
std::string m_zTitle
Definition
DrawCanvasObject.h:68
MuonValR4::detail::DrawCanvasObject::Range2D_t
std::array< Range_t, 2 > Range2D_t
Definition
DrawCanvasObject.h:21
MuonValR4::detail::DrawCanvasObject::m_axisScale
double m_axisScale
Definition
DrawCanvasObject.h:60
MuonValR4::detail::DrawCanvasObject::setRangeScale
virtual void setRangeScale(const double s, bool quadCan) override final
To ensure that the drawn objects are not cut by the axis limits, a flat scale-factor on the drawn axi...
Definition
DrawCanvasObject.cxx:44
MuonValR4::detail::DrawCanvasObject::~DrawCanvasObject
virtual ~DrawCanvasObject()=default
MuonValR4::detail::DrawCanvasObject::trashed
bool trashed() const
Returns whether the canvas has been trashed.
Definition
DrawCanvasObject.cxx:49
MuonValR4::detail::DrawCanvasObject::yTitle
const std::string & yTitle() const
Returns the title of the y-axis.
Definition
DrawCanvasObject.cxx:53
MuonValR4::detail::DrawCanvasObject::m_evt
std::size_t m_evt
Definition
DrawCanvasObject.h:64
MuonValR4::detail::DrawCanvasObject::PrimitiveVec_t
std::vector< std::pair< PrimitivePtr_t, std::string > > PrimitiveVec_t
Definition
DrawCanvasObject.h:19
MuonValR4::detail::DrawCanvasObject::primitives
const PrimitiveVec_t & primitives() const
Definition
DrawCanvasObject.cxx:55
MuonValR4::detail::DrawCanvasObject::xTitle
const std::string & xTitle() const
Returns the title of the x-axis.
Definition
DrawCanvasObject.cxx:52
MuonValR4::detail::DrawCanvasObject::m_primitives
PrimitiveVec_t m_primitives
Definition
DrawCanvasObject.h:61
MuonValR4::detail::DrawCanvasObject::setAxisTitles
virtual void setAxisTitles(const std::string &xTitle, const std::string &yTitle, const std::string &zTitle) override final
Define the titles of the Canvas axes.
Definition
DrawCanvasObject.cxx:69
MuonValR4::detail::DrawCanvasObject::m_yTitle
std::string m_yTitle
Definition
DrawCanvasObject.h:67
MuonValR4::detail::DrawCanvasObject::m_name
std::string m_name
Definition
DrawCanvasObject.h:63
MuonValR4::detail::DrawCanvasObject::s_dblMax
static constexpr double s_dblMax
Definition
DrawCanvasObject.h:58
MuonValR4::detail::DrawCanvasObject::trash
virtual void trash() override final
If no object has been drawn mark the plot as junk.
Definition
DrawCanvasObject.cxx:48
MuonValR4::detail::DrawCanvasObject::expandPad
virtual void expandPad(const double x, const double y) override final
Expands the axes of the pad such that the coordinates are guaranteed to appear at least at the Canvas...
Definition
DrawCanvasObject.cxx:57
MuonValR4::detail::DrawCanvasObject::m_quadCan
bool m_quadCan
Definition
DrawCanvasObject.h:70
MuonValR4::detail::DrawCanvasObject::m_xTitle
std::string m_xTitle
Definition
DrawCanvasObject.h:66
vector
Definition
MultiHisto.h:13
r
int r
Definition
globals.cxx:22
const
MuonValR4::detail
Definition
DrawCanvasObject.cxx:7
std
STL namespace.
MuonValR4::IRootVisualizationService::ICanvasObject
Interface to the container class to temporarily cache the ROOT objects to be drawn on a TCanvas and t...
Definition
IRootVisualizationService.h:76
MuonValR4::IRootVisualizationService::ICanvasObject::AxisRanges
AxisRanges
Enum to select the corner coordinates shown by the plot.
Definition
IRootVisualizationService.h:81
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0