22 TThread *thread1, *thread2, *threadj;
31 hpx =
new TH1F(
"hpx",
"This is the px distribution", 100, -4, 4);
36 for (
Int_t i = 0; i < nfills; i++) {
40 if (i && (i%upd) == 0) {
52 arr[3] = (
void*)
"\"hpxanim.gif+50\"";
53 (*gThreadXAR)(
"METH", 4, arr, NULL);
62 arr[3] = (
void*)
"\"hpxanim.gif++\"";
63 (*gThreadXAR)(
"METH", 4, arr, NULL);
73 total =
new TH1F(
"total",
"This is the total distribution",100,-4,4);
74 hmain =
new TH1F(
"hmain",
"Main contributor",100,-4,4);
75 s1 =
new TH1F(
"s1",
"This is the first signal",100,-4,4);
76 s2 =
new TH1F(
"s2",
"This is the second signal",100,-4,4);
86 for (
Int_t i = 0; i < nfills; i++) {
96 if (i && (i%upd) == 0) {
111 arr[3] = (
void*)
"\"hsumanim.gif+50\"";
112 (*gThreadXAR)(
"METH", 4, arr, NULL);
115 total->
Draw(
"sameaxis");
123 arr[3] = (
void*)
"\"hsumanim.gif++\"";
124 (*gThreadXAR)(
"METH", 4, arr, NULL);
138 void tryclosing(
Int_t id)
141 if (!finished)
return;
150 if (
gROOT->IsBatch()) {
153 c1 =
new TCanvas(
"c1",
"Dynamic Filling Example", 100, 30, 400, 300);
163 rc->
Connect(
"CloseWindow()", 0, 0,
164 "tryclosing(Int_t=1)");
167 c2 =
new TCanvas(
"c2",
"Dynamic Filling Example", 515, 30, 400, 300);
173 rc->
Connect(
"CloseWindow()", 0, 0,
174 "tryclosing(Int_t=2)");
182 printf(
"Starting Thread 0\n");
183 thread1 =
new TThread(
"t0", handle1, (
void*) 0);
185 printf(
"Starting Thread 1\n");
186 thread2 =
new TThread(
"t1", handle2, (
void*) 1);
188 printf(
"Starting Joiner Thread \n");
189 threadj =
new TThread(
"t4", joiner, (
void*) 3);
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
virtual void Rannor(Float_t &a, Float_t &b)
Return 2 numbers distributed following a gaussian with mean=0 and sigma=1.
virtual void SetBorderMode(Short_t bordermode)
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
THist< 1, float, THistStatContent, THistStatUncertainty > TH1F
TVirtualPad * cd(Int_t subpadnumber=0)
Set current canvas & pad.
1-D histogram with a float per channel (see TH1 documentation)}
void DontCallClose()
Typically call this method in the slot connected to the CloseWindow() signal to prevent the calling o...
virtual int Unlink(const char *name)
Unlink, i.e. remove, a file.
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
TFrame * GetFrame()
Get frame.
virtual void SetSeed(ULong_t seed=0)
Set the random generator seed.
virtual void SetGrid(Int_t valuex=1, Int_t valuey=1)
TCanvasImp * GetCanvasImp() const
Get canvas implementation pointer if any.
Method or function calling interface.
Int_t Run(void *arg=0)
Start the thread.
virtual void SetBorderSize(Short_t bordersize)
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
R__EXTERN TSystem * gSystem
virtual void Draw(Option_t *option="")
Draw this histogram with options.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Long_t Join(void **ret=0)
Join this thread.
static Int_t Lock()
Static method to lock the main thread mutex.
R__EXTERN TRandom * gRandom
static void Ps()
Static method listing the existing threads.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
static unsigned int total
static Int_t UnLock()
Static method to unlock the main thread mutex.
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
virtual void Update()
Update canvas pad buffers.
virtual Double_t Landau(Double_t mean=0, Double_t sigma=1)
Generate a random number following a Landau distribution with location parameter mu and scale paramet...
void Modified(Bool_t flag=1)