Code

From UCL HEP PBT Wiki

Jump to: navigation, search
m (Created page with "/// \modified file electromagnetic/TestEm7/TestEm7.cc #include "G4RunManager.hh" #include "G4UImanager.hh" #include "Randomize.hh" #include "DetectorConstruction.hh" #include "...")
m (Blanked the page)
 
Line 1: Line 1:
-
/// \modified file electromagnetic/TestEm7/TestEm7.cc
 
-
#include "G4RunManager.hh"
 
-
#include "G4UImanager.hh"
 
-
#include "Randomize.hh"
 
-
 
-
#include "DetectorConstruction.hh"
 
-
#include "PhysicsList.hh"
 
-
#include "PrimaryGeneratorAction.hh"
 
-
 
-
#include "RunAction.hh"
 
-
#include "EventAction.hh"
 
-
#include "SteppingAction.hh"
 
-
#include "SteppingVerbose.hh"
 
-
 
-
#ifdef G4VIS_USE
 
-
#include "G4VisExecutive.hh"
 
-
#endif
 
-
 
-
#ifdef G4UI_USE
 
-
#include "G4UIExecutive.hh"
 
-
#endif
 
-
 
-
int main(int argc,char** argv) {
 
-
 
-
  //choose the Random engine
 
-
  CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine);
 
-
 
 
-
  //my Verbose output class
 
-
  G4VSteppingVerbose::SetInstance(new SteppingVerbose);
 
-
   
 
-
  //Construct the default run manager
 
-
  G4RunManager * runManager = new G4RunManager;
 
-
 
-
  //set mandatory initialization classes
 
-
  DetectorConstruction*  det  = new DetectorConstruction();
 
-
  PhysicsList*            phys = new PhysicsList();
 
-
 
 
-
  runManager->SetUserInitialization(det);
 
-
  runManager->SetUserInitialization(phys);
 
-
 
 
-
  //set user action classes
 
-
  PrimaryGeneratorAction* kin  = new PrimaryGeneratorAction(det); 
 
-
  RunAction*              run  = new RunAction(det,phys,kin);
 
-
  EventAction*            event = new EventAction();
 
-
  SteppingAction*        step  = new SteppingAction(det,run);
 
-
 
 
-
  runManager->SetUserAction(kin);
 
-
  runManager->SetUserAction(run);
 
-
  runManager->SetUserAction(event);
 
-
  runManager->SetUserAction(step);
 
-
 
-
  //get the pointer to the User Interface manager
 
-
  G4UImanager* UI = G4UImanager::GetUIpointer(); 
 
-
 
-
  if (argc!=1)  // batch mode 
 
-
    {
 
-
    G4String command = "/control/execute ";
 
-
    G4String fileName = argv[1];
 
-
    UI->ApplyCommand(command+fileName);
 
-
    }
 
-
   
 
-
  else          //define visualization and UI terminal for interactive mode
 
-
    {
 
-
#ifdef G4VIS_USE
 
-
  G4VisManager* visManager = new G4VisExecutive;
 
-
  visManager->Initialize();
 
-
#endif   
 
-
   
 
-
#ifdef G4UI_USE
 
-
      G4UIExecutive * ui = new G4UIExecutive(argc,argv);     
 
-
      ui->SessionStart();
 
-
      delete ui;
 
-
#endif
 
-
   
 
-
#ifdef G4VIS_USE
 
-
    delete visManager;
 
-
#endif   
 
-
    }
 
-
 
-
  //job termination
 
-
  delete runManager;
 
-
 
-
  return 0;
 
-
}
 

Latest revision as of 15:04, 18 July 2014

Personal tools