CINT problem with constructors

From: Damir Buskulic (buskulic@lapp.in2p3.fr)
Date: Tue Sep 29 1998 - 14:59:17 MEST


Hi,
I believe I've found a problem in CINT with constructors (hope I'm
wrong).
I'm trying to build a Class called VSeries. This class contains a method
DrawHist()
When I invoke this function, nearly all the methods of the class
disapear from the class. That is, if I look at this class before doing
anything, I have :


   root [16] .class VSeries                           
  
===========================================================================
   class VSeries //General Series class
    size=0xc0
    (tagnum=16,voffset=-1,isabstract=0,parent=-1,gcomp=0,=~cd=0)
   List of base
class--------------------------------------------------------
   0x0        public: FclData
     0x0        public: FclBasicModule
   0x70       public: TNamed //The basis for a named object (name,
title)
     0x0        public: TObject //Basic ROOT object
   List of member
variable---------------------------------------------------
   Defined in VSeries
   0x0        protected: STRING mType , size=16 //Type of the serie : T
(time), S       (spectral) or TF (time-freq)
     0x0        private: static Ssiz_t fgInitialCapac //Initial
allocation Capacity
     0x0        private: static Ssiz_t fgResizeInc //Resizing increment
     0x0        private: static Ssiz_t fgFreeboard //Max empty space
before reclaim
     0x0        protected: char* fData //ref. counted data (TStringRef
is in front)
     0x14081d200 static const TString::EStripType kLeading
     0x14081d220 static const TString::EStripType kTrailing
     0x14081d240 static const TString::EStripType kBoth
     0x14081d280 static const TString::ECaseCompare kExact
     0x14081d2a0 static const TString::ECaseCompare kIgnoreCase
     0x0        private: long G__virtualinfo
     0x0        private: static TClass* fgIsA
   -- Press return for more -- (input [number] of lines, Cont,Step,More) 
   0x0        protected: TList* mPlots //List of VSPlots associated with
this serie
   0x0        protected: TList* mHistograms //List of Histograms
associated with this    serie
   0x0        private: static TClass* fgIsA
   List of member
function---------------------------------------------------
   Defined in VSeries
   filename       line:size busy function type and name
   (compiled)        0:0    0 public: VSeries VSeries(void);
   (compiled)        0:0    0 public: VSeries VSeries(STRING
nameVal,STRING                typeVal,REAL_8 rateVal,Double_t
offsetVal=0,Double_t deltaVal=0,Double_t*             vector=0);
   (compiled)        0:0    0 public: VSeries VSeries(FclHeader*
frame,Text_t*             typeAndName);
   (compiled)        0:0    0 public: VSeries VSeries(VSeries& vs);
   (compiled)        0:0    0 public: virtual VSPlot*
Draw(Float_t                         offset=-1e20,Float_t
dur=1e20,Option_t* option);
   (compiled)        0:0    0 public: virtual void
DrawHist(Float_t                         offset=-1e20,Float_t
dur=1e20,Text_t* hwork,Option_t* option);
   (compiled)        0:0    0 public: virtual TList*
GetListOfPlots(void) const;
   (compiled)        0:0    0 public: virtual TList*
GetListOfHistograms(void) const;
   (compiled)        0:0    0 public: INT_2U GetTypeOfVect(void);
   (compiled)        0:0    0 public: STRING GetType(void);
   (compiled)        0:0    0 public: virtual void Copy(TObject& vs);
   (compiled)        0:0    0 public: const char* DeclFileName(void);
   (compiled)        0:0    0 public: int DeclFileLine(void);
   (compiled)        0:0    0 public: const char* ImplFileName(void);
   (compiled)        0:0    0 public: int ImplFileLine(void);
   (compiled)        0:0    0 public: Version_t Class_Version(void);
   (compiled)        0:0    0 public: TClass* Class(void);
   -- Press return for more -- (input [number] of lines, Cont,Step,More) 
   (compiled)        0:0    0 public: void Dictionary(void);
   (compiled)        0:0    0 public: virtual TClass* IsA(void) const;
   (compiled)        0:0    0 public: virtual void
ShowMembers(TMemberInspector&          insp,char* parent);
   (compiled)        0:0    0 public: virtual void Streamer(TBuffer& b);
   (compiled)        0:0    0 public: void ~VSeries(void);


and once I've used the DrawHist method, I see :

   root [18] .class VSeries
  
===========================================================================
   class VSeries //General Series class
    size=0xc0
    (tagnum=16,voffset=-1,isabstract=0,parent=-1,gcomp=0,=~cd=0)
   List of base
class--------------------------------------------------------
   0x0        public: FclData
     0x0        public: FclBasicModule
   0x70       public: TNamed //The basis for a named object (name,
title)
     0x0        public: TObject //Basic ROOT object
   List of member
variable---------------------------------------------------
   Defined in VSeries
   0x0        protected: STRING mType , size=16 //Type of the serie : T
(time), S      (spectral) or TF (time-freq)
     0x0        private: static Ssiz_t fgInitialCapac //Initial
allocation Capacity
     0x0        private: static Ssiz_t fgResizeInc //Resizing increment
     0x0        private: static Ssiz_t fgFreeboard //Max empty space
before reclaim
     0x0        protected: char* fData //ref. counted data (TStringRef
is in front)
     0x14081d200 static const TString::EStripType kLeading
     0x14081d220 static const TString::EStripType kTrailing
     0x14081d240 static const TString::EStripType kBoth
     0x14081d280 static const TString::ECaseCompare kExact
     0x14081d2a0 static const TString::ECaseCompare kIgnoreCase
     0x0        private: long G__virtualinfo
     0x0        private: static TClass* fgIsA
   -- Press return for more -- (input [number] of lines, Cont,Step,More) 
   0x0        protected: TList* mPlots //List of VSPlots associated with
this serie
   0x0        protected: TList* mHistograms //List of Histograms
associated with this    serie
   0x0        private: static TClass* fgIsA
   List of member
function---------------------------------------------------
   Defined in VSeries
   filename       line:size busy function type and name
   (compiled)        0:0    0 public: virtual void Copy(TObject& vs);
   (compiled)        0:0    0 public: const char* DeclFileName(void);
   (compiled)        0:0    0 public: int DeclFileLine(void);
   (compiled)        0:0    0 public: const char* ImplFileName(void);
   (compiled)        0:0    0 public: int ImplFileLine(void);
   (compiled)        0:0    0 public: Version_t Class_Version(void);
   (compiled)        0:0    0 public: TClass* Class(void);
   (compiled)        0:0    0 public: void Dictionary(void);
   (compiled)        0:0    0 public: virtual TClass* IsA(void) const;
   (compiled)        0:0    0 public: virtual void
ShowMembers(TMemberInspector&          insp,char* parent);
   (compiled)        0:0    0 public: virtual void Streamer(TBuffer& b);
   (compiled)        0:0    0 public: void ~VSeries(void);


Is this a known problem, or is it the first time somebody sees it ?
I don't know why this happens only when using the DrawHist method. There
is also a Draw method that doesn't show this behaviour.

I'm sorry but I cannot show you a simple example. I'll try to track down
the problem but this is not a trivial task. If there is a hint for a
solution, I would prefer...
Anyway, why should it be possible for CINT to remove some methods from
it's dictionary ? This seems to be illogical.

Cheers

Damir
-- 
=====================================================================
| Damir Buskulic                  | Universite de Savoie/LAPP       |
|                                 | Chemin de Bellevue, B.P. 110    |
| Tel : +33 (0)450091600          | F-74941 Annecy-le-Vieux Cedex   |
| e-mail: buskulic@lapp.in2p3.fr  | FRANCE                          |
=====================================================================
mailto:buskulic@lapp.in2p3.fr



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:38 MET