Getting all the objects in a TMapFile

Alberto Baldisseri (baldiss@hep.saclay.cea.fr)
Mon, 15 Feb 1999 15:15:28 +0100


--------------3257E4B052275C77FE282DAD
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hi rooters,

I am trying to get all the objects in a TMapFile. I do the following
to have
the list of objects :

TMapFile *mfile;
mfile = TMapFile::Create("hsimple.map");
mfile->ls();

I can access the object hpx using : hpx = (TH1F *) mfile->Get("hpx",
hpx);

But I would like the object names ONE BY ONE to fill a list in a window
widget.
I take a look on the TMapFile::ls() function (see below), it uses the
TMapRec class
which is only for internal use of TMapFile functions (there is no .h
file corresponding).

TMapRec *mr = GetFirst();
while (OrgAddress(mr))
{
Printf("%-20s %-20s %-10d", mr->GetName(fOffset),
mr->GetClassName(fOffset), mr->fBufSize);
mr = mr->GetNext(fOffset);
}

What can I do ?

Regards,

Alberto

--
+-------------------------------+------------------------------------+
| Alberto BALDISSERI            | Tel : (33-1) 69 08 93 33           |
| DAPNIA/SPhN, Bat 703 piece 42 | Fax : (33-1) 69 08 75 84           |
| CEA Saclay                    | E-mail : baldiss@hep.saclay.cea.fr |
| F 91191 Gif-sur-Yvette cedex  |                                    |
+-------------------------------+------------------------------------+

--------------3257E4B052275C77FE282DAD Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> Hi rooters,

    I am trying to get all the objects in a TMapFile. I do the following to have
the list of objects :

  TMapFile *mfile;
  mfile = TMapFile::Create("hsimple.map");
  mfile->ls();

I can access the object hpx using :  hpx    = (TH1F *) mfile->Get("hpx", hpx);

But I would like the object names ONE BY ONE to fill a list in a window widget.
I take a look on the TMapFile::ls() function (see below), it uses the TMapRec class
which is only for internal use of TMapFile functions (there is no .h file corresponding).

TMapRec *mr = GetFirst();
while (OrgAddress(mr))
{
  Printf("%-20s %-20s %-10d", mr->GetName(fOffset),
  mr->GetClassName(fOffset), mr->fBufSize);
  mr = mr->GetNext(fOffset);
}

What can I do ?

Regards,

Alberto

-- 
+-------------------------------+------------------------------------+
| Alberto BALDISSERI            | Tel : (33-1) 69 08 93 33           | 
| DAPNIA/SPhN, Bat 703 piece 42 | Fax : (33-1) 69 08 75 84           |
| CEA Saclay                    | E-mail : baldiss@hep.saclay.cea.fr |
| F 91191 Gif-sur-Yvette cedex  |                                    |
+-------------------------------+------------------------------------+
  --------------3257E4B052275C77FE282DAD--