I'm completely new to Root, so this is probably something trivial or a FAQ but... ... I'm trying to fill a Tree using this piece of code, derived from the examples in the 2.00/13 distribution: [oak:520] cat FillDelay.C #include "TROOT.h" #include "TTree.h" #include "TFile.h" #include "TBranch.h" #include "Delay.h" main (int argc, char **argv) { TROOT simple ("Simple", "Example"); Int_t split = 0; Int_t bsize = 64000; Delay *delay = 0; TFile *hfile = new TFile ("Test.root", "RECREATE"); TTree *tree = new TTree ("tree", "Example"); delay = new Delay(); tree->Branch ("delay", "Delay", &delay, bsize, split); for (Int_t i=0 ; i<10 ; i++) { delay = new Delay(); delay->SetPacketId(i); tree->Fill(); delete delay; } hfile->Write (); hfile->Close (); return 0; } This compiles, but then core-dumps: [oak:524] make g++ -O -Wall -fPIC -I/spool/henk/source/root/include -c FillDelay.C FillDelay.C: In function `int main(int, char **)': FillDelay.C:9: warning: unused parameter `int argc' FillDelay.C:9: warning: unused parameter `char ** argv' g++ -O -Wall -fPIC -I/spool/henk/source/root/include -c Delay.C g++ -o FillDelay -g FillDelay.o Delay.o -L/spool/henk/source/root/lib -lNew -lBase -lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lMatrix -lMeta -lMinuit -lNet -lProof -lPostscript -lTree -lUnix -lZip -lg++ -lm -ldl -rdynamic [oak:525] FillDelay Contructor for Delay Contructor for Delay Error in <TFile::TFile>: file does not exist *** Break *** segmentation violation Abort (core dumped) As far as I can see, the core-dump occurs in the tree->Branch statement. Any ideas what might be wrong here? Henk ps. I'm running Linux 2.0.35: [oak:526] uname -a Linux oak.ripe.net 2.0.35 #1 Fri Sep 4 15:13:37 MET DST 1998 i586 unknown Delay.h and Delay.C are: ---- Delay.h ---- #include "TObject.h" #include "TClonesArray.h" #include "TH1.h" #include "TMath.h" #include <iostream.h> class Delay : public TObject { private: UInt_t PacketId; // Identifier of the packet Int_t SourceId; // ID# of the sending testbox Int_t SourcePort; // Port from which the packet was sent Int_t TargetId; // ID# of the receiving testbox Int_t TargetPort; // Port to which the packet was sent Int_t PacketSize; // Packet size in bytes Double_t ArrivalTime; // -1.0 if undefined Double_t PacketDelay; // Delay in ms, -1.0 if undefined UInt_t SourceClock; // Sending and receiving clock status UInt_t TargetClock; Int_t Nhops; // Number of hops, -1 if unknown Int_t Routeid; // Routing vector number, -1 if unknown Float_t SourceNtp; // NTP error estimates (empty at the moment) Float_t TargetNtp; public: Delay (); virtual ~Delay(); void SetPacketId (Int_t n) {PacketId = n;} }; ---- Delay.C ---- #include "Delay.h" Delay::Delay() { cout << "Contructor for Delay\n"; } Delay::~Delay() { } -- ------------------------------------------------------------------------------ Henk Uijterwaal Email: henk.uijterwaal@ripe.net RIPE Network Coordination Centre WWW: http://www.ripe.net/home/henk Singel 258 Phone: +31.20.535-4414, Fax -4445 1016 AB Amsterdam Home: +31.20.4195305 The Netherlands Mobile: +31.6.55861746 NOTE NEW NUMBER! ------------------------------------------------------------------------------ %DCL-E-NOCFFE, unable to locate coffee - keyboard input suspended.
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:39 MET