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