// set up ROOT tree // // called from uhbook.F // // last modified on 11/2/99 by R.Holzmann #include "booktree.h" //----------------------------------- // set Objects with custom streamers splitable // datastruct #include "hcategory.h" #include "hindextable.h" #include "hlinearcategory.h" #include "hlocateddataobject.h" #include "hmatrixcategory.h" #include "hades.h" #include "hevent.h" #include "heventheader.h" #include "hpartialevent.h" #include "hrecevent.h" //data objects #include "hgeantkine.h" #include "hgeantmdc.h" #include "hgeantrich.h" #include "hgeantrpc.h" #include "hgeanttof.h" #include "TString.h" #include using namespace std; //----------------------------------- void booktree(Int_t* nsplit) { Long64_t tmp = *nsplit; if(*nsplit < 100000){ cout<<"SPLIT < 100000 : ASSUME INPUT IN MEGABYTE = "< vnamesSplit; // datastruct HCategory::Class()->SetCanSplit(1); vnamesSplit.push_back(HCategory::Class()->GetName()); HIndexTable::Class()->SetCanSplit(1); vnamesSplit.push_back(HIndexTable::Class()->GetName()); HPairListI::Class()->SetCanSplit(1); vnamesSplit.push_back(HPairListI::Class()->GetName()); HLinearCategory::Class()->SetCanSplit(1); vnamesSplit.push_back(HLinearCategory::Class()->GetName()); HLocatedDataObject::Class()->SetCanSplit(1); vnamesSplit.push_back(HLocatedDataObject::Class()->GetName()); HMatrixCategory::Class()->SetCanSplit(1); vnamesSplit.push_back(HMatrixCategory::Class()->GetName()); Hades::Class()->SetCanSplit(1); vnamesSplit.push_back(Hades::Class()->GetName()); HEvent::Class()->SetCanSplit(1); vnamesSplit.push_back(HEvent::Class()->GetName()); HEventHeader::Class()->SetCanSplit(1); vnamesSplit.push_back(HEventHeader::Class()->GetName()); HVertex::Class()->SetCanSplit(1); vnamesSplit.push_back(HVertex::Class()->GetName()); HPartialEvent::Class()->SetCanSplit(1); vnamesSplit.push_back(HPartialEvent::Class()->GetName()); HRecEvent::Class()->SetCanSplit(1); vnamesSplit.push_back(HRecEvent::Class()->GetName()); // data objects HGeantKine::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantKine::Class()->GetName()); HGeantMdc::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantMdc::Class()->GetName()); HGeantRichPhoton::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantRichPhoton::Class()->GetName()); HGeantRichDirect::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantRichDirect::Class()->GetName()); HGeantRpc::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantRpc::Class()->GetName()); HGeantTof::Class()->SetCanSplit(1); vnamesSplit.push_back(HGeantTof::Class()->GetName()); cout<<"--------------------------------------------"<setOutputLimit(MAXFILESIZE); gHades->setSplitLevel(2); // maximum splitting into branches gHades->makeTree(); printf("\n Geant ROOT HTree is split after %lld Bytes\n\n",tmp); } FCALLSCSUB1(booktree,BOOKTREE,booktree,PINT)