Code
From UCL HEP PBT Wiki
for
Code
Jump to:
navigation
,
search
/// \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; }
Return to
Code
.
Views
Page
Discussion
View source
History
Personal tools
18.223.29.62
Talk for this IP address
Log in
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Search
Toolbox
What links here
Related changes
Special pages