ROOT
master
Reference Guide
exec3.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_gui
3
/// Example of using signal/slot in TCanvas/TPad to get feedback about processed events.
4
/// Note that slots can be either functions or class methods.
5
/// Compare this with tutorials $ROOTSYS/tutorials/hist/exec1.C and $ROOTSYS/tutorials/hist/exec2.C.
6
///
7
/// \macro_code
8
///
9
/// \author Ilka Antcheva
10
11
#include <
TH1.h
>
12
#include <
TCanvas.h
>
13
#include <
TQObject.h
>
14
#include "
TROOT.h
"
15
16
void
exec3()
17
{
18
// Temporary work around the lack of automatic refresh of the list
19
// when a script is reloaded.
20
gROOT
->GetListOfGlobalFunctions()->Delete();
21
22
TH1F
*
h
=
new
TH1F
(
"h"
,
"h"
,100,-3,3);
23
h
->FillRandom(
"gaus"
,1000);
24
TCanvas
*
c1
=
new
TCanvas
(
"c1"
);
25
h
->Draw();
26
c1
->Update();
27
c1
->Connect(
"ProcessedEvent(Int_t,Int_t,Int_t,TObject*)"
, 0, 0,
28
"exec3event(Int_t,Int_t,Int_t,TObject*)"
);
29
}
30
31
void
exec3event(
Int_t
event,
Int_t
x
,
Int_t
y
,
TObject
*selected)
32
{
33
TCanvas
*
c
= (
TCanvas
*)
gTQSender
;
34
printf(
"Canvas %s: event=%d, x=%d, y=%d, selected=%s\n"
,
c
->GetName(),
35
event,
x
,
y
, selected->IsA()->
GetName
());
36
}
c
#define c(i)
Definition:
RSha256.hxx:101
gTQSender
R__EXTERN void * gTQSender
Definition:
TQObject.h:44
Int_t
int Int_t
Definition:
RtypesCore.h:45
x
Double_t x[n]
Definition:
legend1.C:17
TCanvas.h
TROOT.h
TObject::GetName
virtual const char * GetName() const
Returns name of object.
Definition:
TObject.cxx:359
TQObject.h
h
#define h(i)
Definition:
RSha256.hxx:106
y
Double_t y[n]
Definition:
legend1.C:17
TCanvas
The Canvas class.
Definition:
TCanvas.h:23
TH1F
1-D histogram with a float per channel (see TH1 documentation)}
Definition:
TH1.h:575
TObject
Mother of all ROOT objects.
Definition:
TObject.h:37
TH1.h
gROOT
#define gROOT
Definition:
TROOT.h:406
c1
return c1
Definition:
legend1.C:41
tutorials
gui
exec3.C
ROOT master - Reference Guide Generated on Thu Feb 25 2021 12:01:48 (GVA Time) using Doxygen 1.9.0