missing Dictionary

From: Paolo Calafiura (Paolo.Calafiura@cern.ch)
Date: Mon Mar 02 1998 - 19:00:46 MET


Hi everybody,
I am playing with the Event example that I modified to have as unique
data member a large C structure (this would be our "legacy"DST, i.e. the
one I am trying to replace):

> #include "compact.h"
>
> ......
>
> class Event : public TObject {          :
> public:
>   cmpEvent the_evt;
>   ....
>   ClassDef(Event,1)  //Event structure
> };
>
When I run Event I get a warning

> origin:18:28:~/rootevent: Event -l c1.list
> Warning in <Add>: class TBranchObject allready in TClassTable
>
but also a large (too large!) Event.root that I can open from root

> root [0] TFile f("Event.root")
> root [1] f.ls()
> TFile**         Event.root
>  TFile*         Event.root
>   KEY: TH1F     htime;1 Real-Time to write versus time
>   KEY: TTree    T;1     A test of a NA48  ROOT tree
>

now, outside of root, I try to read the file with a program of mine also
derived from the Event example

> origin:18:37:~/rootevent: dbx myread
> ....
> (dbx) run
> Process  4457 (myread) started
> Warning in <Add>: class TBranchObject allready in TClassTable
> Warning in <Tclass:TClass>: no dictionary for class Event available
> Process  4457 (myread) stopped on signal SIGSEGV:
>
> Segmentation violation (handler sighandler(int))
>
> at [TBranchObject::SetAddress(void*):266 +0x4,0x4142b0]
>  266  rd    = (TRealData *)rdata->First();
>
that's how I understand it: as the warning warned, there is no
dictionary available on Event class and the pointer rdata to the list of
real(?) data in the class is nil and stays nil even after
TClass::BuildRealData is run.

How this can happen? Does it depend on my, admittedly weird, Event class
or on something that I am forgetting/doing wrong in myread.cxx before
the usual

> //   Start main loop on all events
>    TBranch *branch = T->GetBranch("event");
>    Event *event = new Event();
>    branch->SetAddress(&event);
>
 Thanks for any suggestion,

--
   Paolo Calafiura  Scuola Normale Superiore, Piazza Cavalieri 7,
I-56127 Pisa
   phone/fax Pisa SNS   39-50-509085  / 563513
   phone/fax Pisa INFN  39-50-880218  / 880317
   phone/fax CERN       41-22-7674418 / 7678950  office 31-2-006






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