Hi Kevin, You must set your branch pointer temprun to 0 TRun *temprun=0; Rene Brun On Wed, 15 Sep 2004, kevin reil wrote: > Hi all, > > I have a file which is a one branch tree of a small class (TRun) > > TRun *trun=new TRun(); > TTree *tree = new TTree("mytree","My ROOT Tree"); > tree->Branch("TRunBranch","TRun",&trun,32000,99); > > for (loop...) { > trun->FillFrom(nt,i); > tree->Fill(); > } > write and close. > > If I start root, load the TRun library and then the file created I can > > { > TFile *f2 = new TFile("/home/reil/flash/data/trun_test.root","OPEN"); > TRun *temprun; > TRun *trun; > TTree *tree =(TTree*)gROOT->FindObject("mytree"); > Int_t nruns=(Int_t)tree->GetEntries(); > > tree->SetBranchAddress("TRunBranch",&temprun); > tree->Dump(); > for (Int_t i=0; i<nruns; ++i) { > tree->GetEntry(i); > > and now use my class (loaded into temprun) > > In a compiled program (e165), at the line > tree->GetEntry(i); > > line I crash with > *** Break *** segmentation violation > Generating stack trace... > /usr/bin/addr2line: e165: No such file or directory > /usr/bin/addr2line: e165: No such file or directory > /usr/bin/addr2line: e165: No such file or directory > 0x00298121 in TClass::BuildRealData(void*) + 0x511 from > /data/root/lib/libCore.so > 0x002af21f in TStreamerInfo::BuildOld() + 0x71 from /data/root/lib/libCore.so > 0x0029bc00 in TClass::GetStreamerInfo(int) + 0x1a8 from > /data/root/lib/libCore.so > 0x00ee01d8 in TBranchElement::GetInfo() + 0xda from /data/root/lib/libTree.so > 0x00ee1794 in TBranchElement::SetAddress(void*) + 0x8e from > /data/root/lib/libTree.so > 0x00f02376 in TTree::SetBranchAddress(char const*, void*) + 0xc0 from > /data/root/lib/libTree.so > 0x08049efd in Analyze() + 0x289 from e165 > 0x0804a990 in main + 0xc8 from e165 > 0x06dff770 in __libc_start_main + 0xf0 from /lib/tls/libc.so.6 > 0x08049be5 in TFile::TFile[in-charge](char const*, char const*, char > const*, int) + 0x31 from e165 > Aborted > > Is there something obvious here that I am missing? Or would I need a > detailed debug? > > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 4.00/08 10 August 2004 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > FreeType Engine v2.1.3 used to render TrueType fonts. > Compiled for linux with thread support. > > CINT/ROOT C/C++ Interpreter version 5.15.138, May 23 2004 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > Linux 2.4.22-1.2197.nptl #1 Thu Jul 1 15:14:28 EDT 2004 i686 i686 > i386 GNU/Linux > > Thanks, > Kevin > > > >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET