Re: [ROOT] Questions on TGeometry

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jun 05 2001 - 15:14:12 MEST


Hi Glen,

Thanks for reporting this problem. Now fixed in the CVS version.

Rene Brun

Glen R. Salo wrote:
> 
> Hi Rooters!
> 
> I have two questions for TGeometry.
> 
> 1.  I have a need to Clone a TGeometry object.  However, the manner in
>     which I use it is giving me a memory leak.  I've included a simple
>     example of my problem below.  Can someone inform me what I'm doing
>     wrong (as I did not expect the following script to cause a memory
>     leak)?  (I am running the latest CVS version of ROOT on RedHat 7.1).
> 
>         void gTest() {
> 
>           TFile f("na49.root");
>           TGeometry *g = (TGeometry *)f.Get("na49");
>           Int_t i=0;
>           TGeometry *g2;
> 
>           //  Memory leak occurs when I do something like the following:
>           while (i++ < 4) {
>             g2 = (TGeometry *)g->Clone();
>             delete g2;
>           }
> 
>         }
> 
> 2.  The destructor for TGeometry appears to have a potential memory leak
>     to me.  The destructor has as its first line of code,
> 
>     if (!fMaterials) return;
> 
>     However, since it is possible to generate a TStructure without a
>     Materials list, it would appear that the fMatrices, fShapes, etc,
>     lists internal to TGeometry would not be deleted when no materials are
>     defined.  Am I intrepreting this correctly?
> 
> Thanks for your help,
> 
> Glen
> 
> *********************************************************************
> 
> Glen R. Salo                                   gsalo@mrcstl.com
> Mission Research Corporation                   (314)236-5007
> 1001 Craig Road, Suite 330                     (314)872-2170 Fax
> St. Louis, MO 63146
> 
> *********************************************************************



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:48 MET