19 void gtime(Int_t nsteps = 500, Int_t np=100) {
20 if (np > 1000) np = 1000;
22 Double_t rr[1000], phi[1000], dr[1000], size[1000];
24 Double_t xmin = -10, xmax = 10, ymin = -10, ymax = 10;
25 TGraphTime *g =
new TGraphTime(nsteps,xmin,ymin,xmax,ymax);
26 g->SetTitle(
"TGraphTime demo;X domain;Y domain");
29 rr[i] = r.Uniform(0.1*xmax,0.2*xmax);
30 phi[i] = r.Uniform(0,2*TMath::Pi());
31 dr[i] = r.Uniform(0,1)*0.9*xmax/Double_t(nsteps);
32 Double_t rc = r.Rndm();
34 if (rc > 0.3) color[i] = kBlue;
35 if (rc > 0.7) color[i] = kYellow;
36 size[i] = r.Uniform(0.5,6);
38 for (s=0;s<nsteps;s++) {
40 Double_t newr = rr[i]+dr[i]*s;
41 Double_t newsize = 0.2+size[i]*TMath::Abs(TMath::Sin(newr+10));
42 Double_t newphi = phi[i] + 0.01*s;
43 Double_t xx = newr*TMath::Cos(newphi);
44 Double_t yy = newr*TMath::Sin(newphi);
45 TMarker *m =
new TMarker(xx,yy,20);
46 m->SetMarkerColor(color[i]);
47 m->SetMarkerSize(newsize);
49 if (i==np-1) g->Add(
new TArrow(xmin,ymax,xx,yy,0.02,
"-|>"), s);
51 g->Add(
new TPaveLabel(.90,.92,.98,.97,Form(
"%d",s+1),
"brNDC"),s);
56 TFile f(
"gtime.root",
"recreate");