Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
gtime.C File Reference

Detailed Description

View in nbviewer Open in SWAN
Example of TGraphTime.

#include "TCanvas.h"
#include "TRandom3.h"
#include "TMath.h"
#include "TText.h"
#include "TArrow.h"
#include "TGraphTime.h"
#include <vector>
void gtime(Int_t nsteps = 500, Int_t np = 100)
{
if (np > 1000) np = 1000;
std::vector<Int_t> color(np);
std::vector<Double_t> rr(np), phi(np), dr(np), size(np);
Double_t xmin = -10, xmax = 10, ymin = -10, ymax = 10;
auto g = new TGraphTime(nsteps, xmin, ymin, xmax, ymax);
g->SetTitle("TGraphTime demo;X domain;Y domain");
for (Int_t i = 0; i < np; i++) { // calculate some object parameters
rr[i] = r.Uniform(0.1 * xmax, 0.2 * xmax);
phi[i] = r.Uniform(0, 2 * TMath::Pi());
dr[i] = r.Uniform(0, 1) * 0.9 * xmax / Double_t(nsteps);
Double_t rc = r.Rndm();
if (rc > 0.7)
color[i] = kYellow;
else if (rc > 0.3)
color[i] = kBlue;
else
color[i] = kRed;
size[i] = r.Uniform(0.5, 6);
}
for (Int_t s = 0; s < nsteps; s++) { // fill the TGraphTime step by step
for (Int_t i = 0; i < np; i++) {
Double_t newr = rr[i] + dr[i] * s;
Double_t newphi = phi[i] + 0.01 * s;
TMarker *m = new TMarker(xx, yy, 20);
m->SetMarkerColor(color[i]);
g->Add(m, s);
if (i == np - 1)
g->Add(new TArrow(xmin, ymax, xx, yy, 0.02, "-|>"), s);
}
g->Add(new TPaveLabel(.90, .92, .98, .97, TString::Format("%d", s + 1), "brNDC"), s);
}
g->Draw();
// save object as animated gif
// g->SaveAnimatedGif("gtime.gif");
//save object to a file
auto f = TFile::Open("gtime.root","recreate");
f->WriteObject(g, "g");
delete f;
//to view this object in another session do
// TFile::Open("gtime.root");
// g->Draw();
}
#define f(i)
Definition RSha256.hxx:104
#define g(i)
Definition RSha256.hxx:105
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Definition RtypesCore.h:45
double Double_t
Definition RtypesCore.h:59
@ kRed
Definition Rtypes.h:66
@ kBlue
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
float xmin
float ymin
float xmax
float ymax
Draw all kinds of Arrows.
Definition TArrow.h:29
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Definition TAttMarker.h:38
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Definition TAttMarker.h:45
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
Definition TFile.cxx:4094
TGraphTime is used to draw a set of objects evolving with nsteps in time between tmin and tmax.
Definition TGraphTime.h:30
Manages Markers.
Definition TMarker.h:22
A Pave (see TPave) with a text centered in the Pave.
Definition TPaveLabel.h:20
Random number generator class based on M.
Definition TRandom3.h:27
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
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Definition TMath.h:594
constexpr Double_t Pi()
Definition TMath.h:37
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
Definition TMath.h:588
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
Definition TMathBase.h:123
TMarker m
Definition textangle.C:8
Author
Rene Brun

Definition in file gtime.C.