RE: histograms embedded in TCanvas

From: Timur Pocheptsov <Timur.Pocheptsov_at_cern.ch>
Date: Mon, 13 Feb 2012 21:25:43 +0000


TCanvas' ctor you are using, is not reading anything from file.

void cnv()
{

    TFile *f = new TFile("canvas.root", "read");     TCanvas *c = (TCanvas *)f->Get("a");     if (c && c->GetListOfPrimitives()) {

        c->GetListOfPrimitives()->Print();     }
}

I have a root file with TCanvas inside, canvas has a name "a", its list of primitives contains one object (TH1F, with name "aa"), output is:

root [0] .x cnv.C
Collection name='TList', class='TList', size=1  TH1.Print Name =h aa, Entries= 100000, Total sum= 100000.

I think, if you want to use objects from TCanvas, you'll also have to do something about objects' lifetime later.



From: Adrian Sevcenco
Sent: 13 February 2012 21:25
To: Timur Pocheptsov; roottalk_at_root.cern.ch Subject: Re: [ROOT] histograms embedded in TCanvas

On 02/13/12 21:47, Timur Pocheptsov wrote:
> Hi Adrian.

Hi Timur!!

> Read your canvas and ask it for a list of primitives?
>
> TCanvas * c = (TCanvas *)f->Get(.....);
> if (c) {
> ....
> TList *primitives = c->GetListOfPrimitives();
well i have this code :

TFile *f = new TFile("spectra_kaon_minus.root"); if (!f) return;

f->ls();

TCanvas *c = new TCanvas ("f:cCanvas_kaon_minus"); TList *p = c->GetListOfPrimitives();
p->Print();

and this is the output

root [0]
Processing test.C...

TFile**         spectra_kaon_minus.root
 TFile*         spectra_kaon_minus.root
  KEY: TCanvas  cCanvas_kaon_minus;1

Collection name='TList', class='TList', size=0

is there other way to investigate contents of the canvas?

Большое спасибо :),
Adrian

>
> ///iterate on this list.
>
> }
> ________________________________________
> From: owner-roottalk_at_root.cern.ch [owner-roottalk_at_root.cern.ch] on behalf of Adrian Sevcenco [Adrian.Sevcenco_at_cern.ch]
> Sent: 13 February 2012 20:24
> To: roottalk_at_root.cern.ch
> Subject: [ROOT] histograms embedded in TCanvas
>
> Hi! I have an root file that have an TCanvas saved inside.
> Inside in that TCanvas somehow there are a few histograms.
> How can i list and handle (access) those histograms?
>
> Thank you,
> Adrian
Received on Mon Feb 13 2012 - 22:25:50 CET

This archive was generated by hypermail 2.2.0 : Tue Feb 14 2012 - 11:50:02 CET