Logo ROOT  
Reference Guide
circular.C File Reference

Detailed Description

View in nbviewer Open in SWAN Example of a circular Tree

Circular Trees are interesting in online real time environments to store the results of the last maxEntries events. for more info, see TTree::SetCircular. Circular trees must be memory resident.

void circular() {
auto T = new TTree("T","test circular buffers");
Float_t px,py,pz;
Double_t randomNum;
T->Branch("px",&px,"px/F");
T->Branch("py",&py,"px/F");
T->Branch("pz",&pz,"px/F");
T->Branch("random",&randomNum,"random/D");
T->Branch("i",&i,"i/s");
T->SetCircular(20000); //keep a maximum of 20000 entries in memory
for (i = 0; i < 65000; i++) {
r.Rannor(px,py);
pz = px*px + py*py;
randomNum = r.Rndm();
T->Fill();
}
T->Print();
}
ROOT::R::TRInterface & r
Definition: Object.C:4
unsigned short UShort_t
Definition: RtypesCore.h:36
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
A TTree represents a columnar dataset.
Definition: TTree.h:72
double T(double x)
Definition: ChebyshevPol.h:34
Author
Rene Brun

Definition in file circular.C.