// 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) { if (*nsplit < 50000000) // 50 MB minimum file size *nsplit = 50000000; MAXFILESIZE = *nsplit; //----------------------------------- // set Objects with custom streamers splitable vector 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<<"--------------------------------------------"<setSplitLevel(2); // maximum splitting into branches gHades->makeTree(); printf("\n Geant ROOT HTree is split after %d Bytes\n\n",*nsplit); } FCALLSCSUB1(booktree,BOOKTREE,booktree,PINT)