Hi, I'm trying to write objects (my objects) to a Root file, in 2 ways : 1. Serialization ; 2. Using a Tree (one branch) ; My program looks like : ... TROOT ROSEBUD("Rosebud","Rosebud : the TAPS analysis software package"); TFile file("rosebud.root","RECREATE","Rosebud") ; TTree* tree = new TTree("EM","EM particles") ; TBranch* b = tree->Branch("event","Event",&gEvent,64000,0) ; char keyname[200] ; HLIMIT(PAWC_SIZE) ; // Init PAW SetGlobals() ; // Get the input ntuple FIn = new File(1,argv[1]," ",0,"INPUT","ROSEIN",1024) ; FIn->Open() ; FIn->PutId(1000) ; GetInputNtuple(*FIn,gInputNtuple,"Experiment") ; cout << (*FIn) << endl ; for ( i = 1 ; i <= atoi(argv[2]) ; i++ ) { gEvent = new RBEvent ; FillEvent(i,*FIn) ; // 1. sprintf(keyname,"Event%d",i) ; // 1. gEvent->Write(keyname) ; // 2. tree->Fill() ; delete gEvent ; } file.Close() ; The first method works fine. The second one gives me a Segmentation fault in TTree::GetCurrentFile. Any clue ? Thanks. -- APHECETCHE Laurent (mailto:aphecetche@ganil.fr) GANIL, B.P. 5027, 14076, Caen Cedex 5, France Vox: +33 (0)2 31 45 45 85 - Fax: +33 (0)2 31 45 46 65 WWW: http://ganp03.in2p3.fr/nof/ & (perso.) http://www.mygale.org/~p0mp0n
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:21 MET