ROOT
Version v6.34
master
v6.32
v6.30
v6.28
v6.26
v6.24
v6.22
v6.20
v6.18
v6.16
v6.14
v6.12
v6.10
v6.08
v6.06
Reference Guide
►
ROOT
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
hlGraph1.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_graphs
3
///
4
/// This tutorial demonstrates how to use the highlight mode on graph.
5
///
6
/// \macro_code
7
///
8
/// \date March 2018
9
/// \author Jan Musinsky
10
11
TList
*
l
=
nullptr
;
12
13
void
HighlightHisto
(
TVirtualPad
*
pad
,
TObject
*obj,
Int_t
ihp
,
Int_t
y
)
14
{
15
auto
Pad = (
TVirtualPad
*)
pad
->FindObject(
"Pad"
);
16
if
(!Pad)
return
;
17
18
if
(
ihp
== -1) {
// after highlight disabled
19
Pad->Clear();
20
return
;
21
}
22
23
if
(
l
&&
l
->At(
ihp
)) {
24
Pad->cd();
25
l
->At(
ihp
)->
Draw
();
26
gPad
->Update();
27
}
28
}
29
30
void
hlGraph1
()
31
{
32
auto
Canvas =
new
TCanvas
(
"Canvas"
,
"Canvas"
, 0, 0, 700, 500);
33
Canvas->HighlightConnect(
"HighlightHisto(TVirtualPad*,TObject*,Int_t,Int_t)"
);
34
const
Int_t
n
= 500;
35
Double_t
x
[
n
],
y
[
n
];
36
l
=
new
TList
();
37
38
for
(
Int_t
i = 0; i <
n
; i++) {
39
auto
h
=
new
TH1F
(
TString::Format
(
"h_%03d"
, i),
""
, 100, -3.0, 3.0);
40
h
->FillRandom(
"gaus"
, 1000);
41
h
->Fit(
"gaus"
,
"Q"
);
42
h
->SetMaximum(250.0);
// for n > 200
43
l
->Add(
h
);
44
x
[i] = i;
45
y
[i] =
h
->GetFunction(
"gaus"
)->GetParameter(2);
46
}
47
48
auto
g
=
new
TGraph
(
n
,
x
,
y
);
49
g
->SetMarkerStyle(6);
50
g
->Draw(
"AP"
);
51
52
auto
Pad =
new
TPad
(
"Pad"
,
"Pad"
, 0.3, 0.4, 1.0, 1.0);
53
Pad->SetFillColor(
kBlue
-10);
54
Pad->Draw();
55
Pad->cd();
56
auto
info
=
new
TText
(0.5, 0.5,
"please move the mouse over the graPad"
);
57
info
->SetTextAlign(22);
58
info
->Draw();
59
Canvas->cd();
60
61
g
->SetHighlight();
62
}
g
#define g(i)
Definition
RSha256.hxx:105
h
#define h(i)
Definition
RSha256.hxx:106
Int_t
int Int_t
Definition
RtypesCore.h:45
Double_t
double Double_t
Definition
RtypesCore.h:59
kBlue
@ kBlue
Definition
Rtypes.h:66
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
gPad
#define gPad
Definition
TVirtualPad.h:308
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TGraph
A TGraph is an object made of two arrays X and Y with npoints each.
Definition
TGraph.h:41
TH1F
1-D histogram with a float per channel (see TH1 documentation)
Definition
TH1.h:622
TList
A doubly linked list.
Definition
TList.h:38
TObject
Mother of all ROOT objects.
Definition
TObject.h:41
TObject::Draw
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition
TObject.cxx:280
TPad
The most important graphics class in the ROOT system.
Definition
TPad.h:28
TString::Format
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Definition
TString.cxx:2378
TText
Base class for several text objects.
Definition
TText.h:22
TVirtualPad
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition
TVirtualPad.h:51
y
Double_t y[n]
Definition
legend1.C:17
x
Double_t x[n]
Definition
legend1.C:17
n
const Int_t n
Definition
legend1.C:16
l
TLine l
Definition
textangle.C:4
tutorials
graphs
hlGraph1.C
ROOT v6-34 - Reference Guide Generated on Sun Mar 30 2025 16:27:33 (GVA Time) using Doxygen 1.10.0