Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
16void 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*)", nullptr, nullptr,
28 "exec3event(Int_t,Int_t,Int_t,TObject*)");
29}
30
31void exec3event(Int_t event, Int_t x, Int_t y, TObject *selected)
32{
34 printf("Canvas %s: event=%d, x=%d, y=%d, selected=%s\n", c->GetName(),
35 event, x, y, selected->IsA()->GetName());
36}
#define c(i)
Definition RSha256.hxx:101
#define h(i)
Definition RSha256.hxx:106
int Int_t
Definition RtypesCore.h:45
R__EXTERN void * gTQSender
Definition TQObject.h:46
#define gROOT
Definition TROOT.h:406
The Canvas class.
Definition TCanvas.h:23
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:621
const char * GetName() const override
Returns name of object.
Definition TNamed.h:47
Mother of all ROOT objects.
Definition TObject.h:41
virtual TClass * IsA() const
Definition TObject.h:245
Double_t y[n]
Definition legend1.C:17
return c1
Definition legend1.C:41
Double_t x[n]
Definition legend1.C:17