missing Dictionary

Paolo Calafiura (Paolo.Calafiura@cern.ch)
Mon, 02 Mar 1998 19:00:46 +0100


This is a multi-part message in MIME format.
--------------13C10253D0AB8328EBC99FE5
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

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

--------------13C10253D0AB8328EBC99FE5 Content-Type: text/x-vcard; charset=us-ascii; name="vcard.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Paolo Calafiura Content-Disposition: attachment; filename="vcard.vcf"

begin: vcard fn: Paolo Calafiura n: Calafiura;Paolo org: Scuola Normale Superiore email;internet: Paolo.Calafiura@cern.ch x-mozilla-cpt: ;0 x-mozilla-html: FALSE version: 2.1 end: vcard

--------------13C10253D0AB8328EBC99FE5--