Geant4.10
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4.10.00.p01
examples
extended
eventgenerator
particleGun
particleGun.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
/// \file eventgenerator/particleGun/particleGun.cc
27
/// \brief Main program of the eventgenerator/particleGun example
28
//
29
//
30
// $Id: particleGun.cc 68734 2013-04-05 09:47:02Z gcosmo $
31
//
32
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
34
35
#include "
G4RunManager.hh
"
36
#include "
G4UImanager.hh
"
37
#include "
Randomize.hh
"
38
39
#include "DetectorConstruction.hh"
40
#include "PhysicsList.hh"
41
#include "PrimaryGeneratorAction.hh"
42
#include "RunAction.hh"
43
#include "TrackingAction.hh"
44
#include "SteppingVerbose.hh"
45
46
#ifdef G4VIS_USE
47
#include "
G4VisExecutive.hh
"
48
#endif
49
50
#ifdef G4UI_USE
51
#include "
G4UIExecutive.hh
"
52
#endif
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
55
56
int
main
(
int
argc,
char
** argv) {
57
58
//choose the Random engine
59
CLHEP::HepRandom::setTheEngine
(
new
CLHEP::RanecuEngine
);
60
61
//my Verbose output class
62
G4VSteppingVerbose::SetInstance
(
new
SteppingVerbose
);
63
64
// Construct the default run manager
65
G4RunManager
* runManager =
new
G4RunManager
;
66
67
// set mandatory initialization classes
68
//
69
DetectorConstruction
* detector =
new
DetectorConstruction
;
70
runManager->
SetUserInitialization
(detector);
71
runManager->
SetUserInitialization
(
new
PhysicsList
);
72
73
// set user action classes
74
//
75
RunAction
* run =
new
RunAction
();
76
PrimaryGeneratorAction
* prim =
new
PrimaryGeneratorAction
();
77
TrackingAction
* track =
new
TrackingAction
(prim);
78
79
runManager->
SetUserAction
(run);
80
runManager->
SetUserAction
(prim);
81
runManager->
SetUserAction
(track);
82
83
//Initialize G4 kernel
84
runManager->
Initialize
();
85
86
// get the pointer to the User Interface manager
87
G4UImanager
* UI =
G4UImanager::GetUIpointer
();
88
89
#ifdef G4VIS_USE
90
G4VisManager
* visManager =
new
G4VisExecutive
;
91
visManager->
Initialize
();
92
#endif
93
94
if
(argc!=1)
// batch mode
95
{
96
G4String
command =
"/control/execute "
;
97
G4String
fileName = argv[1];
98
UI->
ApplyCommand
(command+fileName);
99
}
100
101
else
// define visualization and UI terminal for interactive mode
102
{
103
#ifdef G4UI_USE
104
G4UIExecutive
* ui =
new
G4UIExecutive
(argc,argv);
105
#ifdef G4VIS_USE
106
UI->
ApplyCommand
(
"/control/execute vis.mac"
);
107
#endif
108
ui->
SessionStart
();
109
delete
ui;
110
#endif
111
112
#ifdef G4VIS_USE
113
delete
visManager;
114
#endif
115
}
116
117
// job termination
118
//
119
delete
runManager;
120
121
return
0;
122
}
123
124
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
125
PrimaryGeneratorAction
Definition:
environments/g4py/examples/demos/TestEm0/g4lib/PrimaryGeneratorAction.hh:43
G4RunManager::SetUserInitialization
virtual void SetUserInitialization(G4VUserDetectorConstruction *userInit)
Definition:
G4RunManager.cc:774
G4UIExecutive.hh
SteppingVerbose
Definition:
advanced/amsEcal/include/SteppingVerbose.hh:42
G4RunManager.hh
G4UIExecutive::SessionStart
void SessionStart()
Definition:
G4UIExecutive.cc:304
G4UIExecutive
Definition:
G4UIExecutive.hh:60
CLHEP::RanecuEngine
Definition:
RanecuEngine.h:47
G4VisExecutive.hh
main
int main(int argc, char **argv)
Definition:
particleGun.cc:56
G4UImanager::GetUIpointer
static G4UImanager * GetUIpointer()
Definition:
G4UImanager.cc:58
G4VisExecutive
Definition:
G4VisExecutive.hh:120
G4RunManager
Definition:
G4RunManager.hh:138
G4UImanager.hh
Randomize.hh
G4VisManager::Initialize
void Initialize()
G4VSteppingVerbose::SetInstance
static void SetInstance(G4VSteppingVerbose *Instance)
Definition:
G4VSteppingVerbose.cc:159
TrackingAction
Definition:
advanced/amsEcal/include/TrackingAction.hh:42
G4RunManager::Initialize
virtual void Initialize()
Definition:
G4RunManager.cc:501
G4UImanager
Definition:
G4UImanager.hh:56
DetectorConstruction
Definition:
environments/g4py/examples/demos/TestEm0/g4lib/DetectorConstruction.hh:46
G4VisManager
Definition:
G4VisManager.hh:119
CLHEP::HepRandom::setTheEngine
static void setTheEngine(HepRandomEngine *theNewEngine)
Definition:
Random.cc:170
RunAction
Definition:
environments/g4py/examples/demos/TestEm0/g4lib/RunAction.hh:45
G4UImanager::ApplyCommand
G4int ApplyCommand(const char *aCommand)
Definition:
G4UImanager.cc:419
G4RunManager::SetUserAction
virtual void SetUserAction(G4UserRunAction *userAction)
Definition:
G4RunManager.cc:801
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
PhysicsList
Definition:
environments/g4py/examples/demos/TestEm0/g4lib/PhysicsList.hh:47
Generated on Wed Apr 30 2014 15:55:19 for Geant4.10 by
1.8.7