//! Read in a Geometry file, and output DST and ROOT TGeo files void Fun4All_ImportGeom(const string & geom_file = "./sPHENIX.root") { gSystem->Load("libphgeom.so"); Fun4AllServer *se = Fun4AllServer::instance(); se->Verbosity(1); // just if we set some flags somewhere in this macro recoConsts *rc = recoConsts::instance(); PHGeomFileImport * import = new PHGeomFileImport(geom_file); se->registerSubsystem(import); // dummy input Fun4AllInputManager *in = new Fun4AllDummyInputManager("JADE"); se->registerInputManager(in); // output in DST Fun4AllDstOutputManager *out = new Fun4AllDstOutputManager("DSTOUT", geom_file + "_DST.root"); se->registerOutputManager(out); // run one event as example se->run(1); PHGeomUtility::ExportGeomtry(se->topNode(),geom_file + "_export.root"); se->End(); std::cout << "All done" << std::endl; delete se; gSystem->Exit(0); }
// stupid macro to turn on the geant4 display // we ask Fun4All for a pointer to PHG4Reco // using the ApplyCommand will start up the // G4 cmd interpreter and graphics system // the vis.mac contains the necessary commands to // start up the visualization, the next event will // be displayed. Do not execute this macro // before PHG4Reco was registered with Fun4All PHG4Reco * DisplayOn(const char *mac = "vis_prototype3.mac") { char cmd[100]; Fun4AllServer *se = Fun4AllServer::instance(); PHG4Reco *g4 = (PHG4Reco *) se->getSubsysReco("PHG4RECO"); g4->InitRun(se->topNode()); g4->ApplyDisplayAction(); sprintf(cmd, "/control/execute %s", mac); g4->ApplyCommand(cmd); return g4; }