Histogram consumer script.
Create a canvas and 3 pads. Connect to memory mapped file "hsimple.map", that was created by hprod.C. It reads the histograms from shared memory and displays them in the pads (sleeping for 0.1 seconds before starting a new read-out cycle). This script runs in an infinite loop, so use ctrl-c to stop it.
{
TPad *pad1, *pad2, *pad3;
c1 =
new TCanvas(
"c1",
"Shared Memory Consumer Example",200,10,700,780);
pad1 =
new TPad(
"pad1",
"This is pad1",0.02,0.52,0.98,0.98,21);
pad2 =
new TPad(
"pad2",
"This is pad2",0.02,0.02,0.48,0.48,21);
pad3 =
new TPad(
"pad3",
"This is pad3",0.52,0.02,0.98,0.48,21);
}
mfile->Print();
mfile->ls();
while (1) {
hpx = (
TH1F *) mfile->Get(
"hpx", hpx);
hpxpy = (
TH2F *) mfile->Get(
"hpxpy", hpxpy);
hprof = (
TProfile *) mfile->Get(
"hprof", hprof);
if (!hpx || !hpxpy || !hprof || hpx->GetEntries() == oldentries)
break;
oldentries = hpx->GetEntries();
hpx->Draw();
} else {
printf("Entries, hpx=%lld, Mean=%g, RMS=%g\n",
}
break;
}
}
double Double_t
Double 8 bytes.
long long Long64_t
Portable signed long integer 8 bytes.
1-D histogram with a float per channel (see TH1 documentation)
void Draw(Option_t *option="") override
Draw this histogram with options.
2-D histogram with a float per channel (see TH1 documentation)
static TMapFile * Create(const char *name, Option_t *option="READ", Int_t size=kDefaultMapSize, const char *title="")
Create a memory mapped file.
The most important graphics class in the ROOT system.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
void Draw(Option_t *option="") override
Draw Pad in Current pad (re-parent pad if necessary).
- Author
- Fons Rademakers
Definition in file hcons.C.