Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
event
src
G4EvManMessenger.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
//
27
// $Id$
28
//
29
// --------------------------------------------------------------------
30
31
#include "
G4EvManMessenger.hh
"
32
#include "
G4EventManager.hh
"
33
#include "
G4UIdirectory.hh
"
34
#include "
G4UIcmdWithoutParameter.hh
"
35
#include "
G4UIcmdWithAnInteger.hh
"
36
37
G4EvManMessenger::G4EvManMessenger
(
G4EventManager
* fEvMan)
38
:fEvManager(fEvMan)
39
{
40
eventDirectory =
new
G4UIdirectory
(
"/event/"
);
41
eventDirectory->
SetGuidance
(
"EventManager control commands."
);
42
43
abortCmd =
new
G4UIcmdWithoutParameter
(
"/event/abort"
,
this
);
44
abortCmd->
SetGuidance
(
"Abort current event."
);
45
abortCmd->
AvailableForStates
(
G4State_EventProc
);
46
47
verboseCmd =
new
G4UIcmdWithAnInteger
(
"/event/verbose"
,
this
);
48
verboseCmd->
SetGuidance
(
"Set Verbose level of event management category."
);
49
verboseCmd->
SetGuidance
(
" 0 : Silent"
);
50
verboseCmd->
SetGuidance
(
" 1 : Stacking information"
);
51
verboseCmd->
SetGuidance
(
" 2 : More..."
);
52
verboseCmd->
SetParameterName
(
"level"
,
false
);
53
verboseCmd->
SetRange
(
"level>=0"
);
54
55
storeEvtCmd =
new
G4UIcmdWithoutParameter
(
"/event/keepCurrentEvent"
,
this
);
56
storeEvtCmd->
SetGuidance
(
"Store the current event to G4Run object instead of deleting it at the end of event."
);
57
storeEvtCmd->
SetGuidance
(
"Stored event is available through G4Run until the begining of next run."
);
58
storeEvtCmd->
SetGuidance
(
"Given the potential large memory size of G4Event and its datamember objects stored in G4Event,"
);
59
storeEvtCmd->
SetGuidance
(
"the user must be careful and responsible for not to store too many G4Event objects."
);
60
storeEvtCmd->
AvailableForStates
(
G4State_EventProc
);
61
}
62
63
G4EvManMessenger::~G4EvManMessenger
()
64
{
65
delete
abortCmd;
66
delete
verboseCmd;
67
delete
storeEvtCmd;
68
delete
eventDirectory;
69
}
70
71
void
G4EvManMessenger::SetNewValue
(
G4UIcommand
* command,
G4String
newValues)
72
{
73
if
( command == verboseCmd )
74
{ fEvManager->
SetVerboseLevel
(verboseCmd->
GetNewIntValue
(newValues)); }
75
if
( command == abortCmd )
76
{ fEvManager->
AbortCurrentEvent
(); }
77
if
( command == storeEvtCmd )
78
{ fEvManager->
KeepTheCurrentEvent
(); }
79
}
80
81
G4String
G4EvManMessenger::GetCurrentValue
(
G4UIcommand
* command)
82
{
83
G4String
cv;
84
if
( command == verboseCmd )
85
{ cv = verboseCmd->
ConvertToString
(fEvManager->
GetVerboseLevel
()); }
86
return
cv;
87
}
88
Generated on Sat May 25 2013 14:33:05 for Geant4 by
1.8.4