GEARS
Geant4 Example Application with Rich features and Small footprints
Classes | Functions
gears.cc File Reference
#include <vector>
#include <G4SteppingVerbose.hh>
#include <G4SteppingManager.hh>
#include <G4AnalysisManager.hh>
#include <G4NavigationHistory.hh>
#include <G4OpticalSurface.hh>
#include <G4tgrLineProcessor.hh>
#include <G4NistManager.hh>
#include <G4tgbMaterialMgr.hh>
#include <G4UImessenger.hh>
#include <G4tgrUtils.hh>
#include <G4tgbDetectorBuilder.hh>
#include <G4tgrVolumeMgr.hh>
#include <G4tgrFileReader.hh>
#include <G4tgbVolumeMgr.hh>
#include <G4LogicalBorderSurface.hh>
#include <G4UIdirectory.hh>
#include <G4UIcmdWithAString.hh>
#include <G4UIcmdWith3VectorAndUnit.hh>
#include <G4VUserDetectorConstruction.hh>
#include <G4FieldManager.hh>
#include <G4UniformMagField.hh>
#include <G4TransportationManager.hh>
#include "G4Box.hh"
#include "G4PVPlacement.hh"
#include <G4VUserPrimaryGeneratorAction.hh>
#include <G4GeneralParticleSource.hh>
#include <G4RunManagerFactory.hh>
#include <G4UserRunAction.hh>
#include <G4Run.hh>
#include <G4UserEventAction.hh>
#include <G4UserStackingAction.hh>
#include <G4UIcmdWithADoubleAndUnit.hh>
#include <G4VUserActionInitialization.hh>
#include <G4PhysListFactory.hh>
#include <G4ScoringManager.hh>
#include <G4VisExecutive.hh>
#include <G4UIExecutive.hh>
#include <G4UImanager.hh>
Include dependency graph for gears.cc:

Go to the source code of this file.

Classes

class  Output
 Dump simulation results to screen or a file. More...
 
struct  BorderSurface
 A link list of G4LogicalBorderSurface. More...
 
class  LineProcessor
 Extension to default text geometry file line processor. More...
 
class  TextDetectorBuilder
 Construct detector based on text geometry description. More...
 
class  Detector
 Construct detector geometry. More...
 
class  Generator
 Call Geant4 General Particle Source to generate particles. More...
 
class  RunAction
 Book keeping before and after a run. More...
 
class  EventAction
 Book keeping before and after an event. More...
 
class  StackingAction
 Split a radioactive decay chain to different events based on a time window. More...
 
class  Action
 

Functions

void SaveAndResetEvent ()
 save and then reset an event More...
 
int main (int argc, char **argv)
 The main function that calls individual components. More...
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

The main function that calls individual components.

Definition at line 632 of file gears.cc.

633 {
634  // inherit G4SteppingVerbose instead of G4UserSteppingAction to record data
635  G4VSteppingVerbose::SetInstance(new Output); // must be before run manager
636  auto run=G4RunManagerFactory::CreateRunManager(G4RunManagerType::SerialOnly);
637  G4PhysListFactory factory;
638  run->SetUserInitialization(factory.ReferencePhysList()); // initialize physics
639  run->SetUserInitialization(new Detector); // initialize detector
640  run->SetUserInitialization(new Action); // initialize user actions
641  G4ScoringManager::GetScoringManager(); // enable built-in scoring cmds
642  G4UIExecutive* ui = nullptr; // assume batch mode
643  if (argc==1) { ui = new G4UIExecutive(argc, argv); } // interactive mode
644  auto vis = new G4VisExecutive("quiet"); // visualization
645  vis->Initialize(); // do this after ui mode is decided
646  if (ui) { // interactive mode
647  ui->SessionStart(); // do this after vis
648  delete ui;
649  } else { // batch mode
650  G4String cmd = "/control/execute ";
651  G4UImanager::GetUIpointer()->ApplyCommand(cmd+argv[1]);
652  }
653  delete vis; delete run;
654  return 0;
655 }
Definition: gears.cc:613
Construct detector geometry.
Definition: gears.cc:413
Dump simulation results to screen or a file.
Definition: gears.cc:12

◆ SaveAndResetEvent()

void SaveAndResetEvent ( )

save and then reset an event

Definition at line 551 of file gears.cc.