Re: [ROOT] Copy TDirectory in another TFile

From: Markus Stoye (mstoye@mail.desy.de)
Date: Wed May 05 2004 - 18:07:05 MEST


Hi,
Trying your suggestion the last Line ( ..->Write()) actually returned
Int 0 and did not write?
The copied File consits of several further Directories.

Rene Brun wrote:

> Hi Markus,
>
> There is no direct function to do this. However, you can do
> something like:
>
>   TFile  f("30200020026938.root");
>   f.cd("Record3");
>   TDirectory *old = gDirectory;
>   old->ReadAll();
>   TFile f2("newfile.root","recreate");
>   f2.mkdir("subdir");
>   f2.cd("subdir");
>   old->GetList()->Write();
>
>
> Rene Brun
>
> Markus Stoye wrote:
> >
> > Hi'
> > I've got a TFile with several TDirectories:
> >
> > root [0] TFile  f("30200020026938.root")
> > root [1] f.ls()
> > TFile**         30200020026938.root
> >  TFile*         30200020026938.root
> >   KEY: TDirectory       Record2;1       Record2
> >   KEY: TDirectory       Record3;1       Record3
> >   KEY: TDirectory       Record4;1       Record4
> >   KEY: TDirectory       Record1;1       Record1
> >
> > and wand to copy and rename one Directory into another TFile.



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET