Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:22:08

0001 #pragma once
0002 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
0003 #include <fun4all/Fun4AllServer.h>
0004 #include <g4main/PHG4Reco.h>
0005 #endif
0006 // stupid macro to turn on the geant4 display
0007 // we ask Fun4All for a pointer to PHG4Reco
0008 // using the ApplyCommand will start up the
0009 // G4 cmd interpreter and graphics system
0010 // the vis.mac contains the necessary commands to
0011 // start up the visualization, the next event will
0012 // be displayed. Do not execute this macro
0013 // before PHG4Reco was registered with Fun4All
0014 PHG4Reco * DisplayOn(const char *mac = "block.mac")
0015 {
0016   char cmd[100];
0017   Fun4AllServer *se = Fun4AllServer::instance();
0018   PHG4Reco *g4 = (PHG4Reco *) se->getSubsysReco("PHG4RECO");
0019   g4->InitRun(se->topNode());
0020   g4->ApplyDisplayAction();
0021   sprintf(cmd, "/control/execute %s", mac);
0022   g4->ApplyCommand(cmd);
0023   return g4;
0024 }
0025 // print out the commands I always forget
0026 void displaycmd()
0027 {
0028   cout << "draw axis: " << endl;
0029   cout << " g4->ApplyCommand(\"/vis/scene/add/axes 0 0 0 50 cm\")" << endl;
0030   cout << "zoom" << endl;
0031   cout << " g4->ApplyCommand(\"/vis/viewer/zoom 1\")" << endl;
0032   cout << "viewpoint:" << endl;
0033   cout << " g4->ApplyCommand(\"/vis/viewer/set/viewpointThetaPhi 0 0\")" << endl;
0034   cout << "panTo:" << endl;
0035   cout << " g4->ApplyCommand(\"/vis/viewer/panTo 0 0 cm\")" << endl;
0036   cout << "print to eps:" << endl;
0037   cout << " g4->ApplyCommand(\"/vis/ogl/printEPS\")" << endl;
0038   cout << "set background color:" << endl;
0039   cout << " g4->ApplyCommand(\"/vis/viewer/set/background white\")" << endl;
0040 }
0041 
0042 PHG4ParticleGun *getgun()
0043 {
0044   Fun4AllServer *se = Fun4AllServer::instance();
0045   PHG4ParticleGun *pgun = (PHG4ParticleGun *) se->getSubsysReco("PGUN");
0046   return pgun;
0047 }