#ifndef ___CONVERT_ROOT___ #define ___CONVERT_ROOT___ //############################ CONVERTERS ################################ Int_t convert_ROOT(objects& obj) { // converts SMASH root file to HGeant ascii file. // Its assumed that the reaction is in lab frame already (see the smash settings) // K0_S and K0_L are equaly distributed 50:50 TFile* f = new TFile(obj.input.Data(),"READ"); if(!f){ cerr<<"ERROR: Could not open infile : "<cd(); TTree* T = (TTree*) gDirectory->Get("particles"); if(!T){ cerr<<"ERROR: Could not reed TTee \"particles\" from infile : "<SetBranchAddress("npart",&npart); T->SetBranchAddress("impact_b",&impact_b); T->SetBranchAddress("ev",&ev); T->SetBranchAddress("tcounter",&tcounter); T->SetBranchAddress("pdgcode",pdgcode); T->SetBranchAddress("p0",p0); T->SetBranchAddress("px",px); T->SetBranchAddress("py",py); T->SetBranchAddress("pz",pz); T->SetBranchAddress("t",t); T->SetBranchAddress("x",x); T->SetBranchAddress("y",y); T->SetBranchAddress("z",z); Long64_t nentries = T->GetEntries(); if(nentries > obj.nEvts && obj.nEvts != -1) nentries = obj.nEvts; Long64_t nbytes = 0; smash_p p; Int_t evtCt = 0; for (Long64_t i=0; iGetEntry(i); if(nbytes<=0) break; obj.evt.evtNr = ev+1; obj.evt.nParticle = npart; obj.evt.impact = impact_b; //if(obj.debug){ cout<<"Event : "<