Geant4
v4-10.4-release
메인 페이지
관련된 페이지
모듈
네임스페이스
클래스
파일들
파일 목록
파일 멤버
모두
클래스
네임스페이스들
파일들
함수
변수
타입정의
열거형 타입
열거형 멤버
Friends
매크로
그룹들
페이지들
examples
advanced
air_shower
Ultra.cc
이 파일의 문서화 페이지로 가기
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
//
27
// --------------------------------------------------------------
28
// GEANT 4 - ULTRA experiment example
29
// --------------------------------------------------------------
30
//
31
// Code developed by:
32
// B. Tome, M.C. Espirito-Santo
33
//
34
// *******************************************************
35
// * Ultra.cc
36
// *******************************************************
37
38
#include "
G4Types.hh
"
39
40
#ifdef G4MULTITHREADED
41
#include "
G4MTRunManager.hh
"
42
#else
43
#include "
G4RunManager.hh
"
44
#endif
45
46
#include "
G4UImanager.hh
"
47
#include "
Randomize.hh
"
48
49
#include "
G4VisExecutive.hh
"
50
#include "
G4UIExecutive.hh
"
51
52
#include "
UltraActionInitializer.hh
"
53
#include "
UltraDetectorConstruction.hh
"
54
#include "
UltraPhysicsList.hh
"
55
56
57
int
main
(
int
argc,
char
** argv) {
58
59
//choose the Random engine from CLHEP
60
//(lets use C++ implementation of Jame's RANLUX generator)
61
62
G4Random::setTheEngine(
new
CLHEP::RanluxEngine
);
63
64
#ifdef G4MULTITHREADED
65
G4MTRunManager
* runManager =
new
G4MTRunManager
;
66
//runManager->SetNumberOfThreads(2);
67
#else
68
G4RunManager
* runManager =
new
G4RunManager
;
69
#endif
70
71
// UserInitialization classes - mandatory
72
UltraDetectorConstruction
* detector =
new
UltraDetectorConstruction
;
73
UltraPhysicsList
* list =
new
UltraPhysicsList
();
74
runManager->
SetUserInitialization
(detector);
75
runManager->
SetUserInitialization
(list);
76
77
// UserAction classes - optional
78
runManager->
SetUserInitialization
(
new
UltraActionInitializer
());
79
80
// Detect interactive mode (if no arguments) and define UI session
81
G4UIExecutive
* ui = 0;
82
if
( argc == 1 ) {
83
ui =
new
G4UIExecutive
(argc, argv);
84
}
85
86
// Initialise visualization
87
G4VisManager
* visManager =
new
G4VisExecutive
;
88
visManager->
Initialize
();
89
90
// Get the Pointer to the UI Manager
91
G4UImanager
* UImanager =
G4UImanager::GetUIpointer
();
92
93
// User interactions
94
// Define (G)UI for interactive mode
95
if
(argc==1)
96
{
97
UImanager->
ApplyCommand
(
"/control/execute Visualisation.mac"
);
98
ui->
SessionStart
();
99
delete
ui;
100
}
101
else
// Batch mode
102
{
103
G4String
command =
"/control/execute "
;
104
G4String
fileName = argv[1];
105
UImanager->
ApplyCommand
(command+fileName);
106
}
107
108
delete
visManager;
109
delete
runManager;
110
111
return
0;
112
}
113
G4UIExecutive.hh
Randomize.hh
G4UImanager::ApplyCommand
G4int ApplyCommand(const char *aCommand)
Definition:
G4UImanager.cc:466
G4Types.hh
G4MTRunManager.hh
UltraActionInitializer.hh
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
UltraDetectorConstruction
Definition:
UltraDetectorConstruction.hh:60
G4RunManager
Definition:
G4RunManager.hh:138
G4UImanager::GetUIpointer
static G4UImanager * GetUIpointer()
Definition:
G4UImanager.cc:73
CLHEP::RanluxEngine
Definition:
RanluxEngine.h:45
G4RunManager::SetUserInitialization
virtual void SetUserInitialization(G4VUserDetectorConstruction *userInit)
Definition:
G4RunManager.cc:860
G4UImanager
Definition:
G4UImanager.hh:58
G4UIExecutive
Definition:
G4UIExecutive.hh:60
G4VisManager
Definition:
G4VisManager.hh:124
G4MTRunManager
Definition:
G4MTRunManager.hh:51
UltraDetectorConstruction.hh
G4RunManager.hh
main
int main(int argc, char **argv)
Definition:
genwindef.cc:359
G4VisExecutive
Definition:
G4VisExecutive.hh:120
G4UIExecutive::SessionStart
void SessionStart()
Definition:
G4UIExecutive.cc:304
G4VisExecutive.hh
UltraActionInitializer
Definition:
UltraActionInitializer.hh:40
G4VisManager::Initialize
void Initialize()
UltraPhysicsList.hh
UltraPhysicsList
Definition:
UltraPhysicsList.hh:47
G4UImanager.hh
다음에 의해 생성됨 :
1.8.5