Geant4 VMC
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
source
global
src
TG4StateManager.cxx
Go to the documentation of this file.
1
//------------------------------------------------
2
// The Geant4 Virtual Monte Carlo package
3
// Copyright (C) 2007 - 2014 Ivana Hrivnacova
4
// All rights reserved.
5
//
6
// For the licensing terms see geant4_vmc/LICENSE.
7
// Contact: root-vmc@cern.ch
8
//-------------------------------------------------
9
14
15
#include "
TG4StateManager.h
"
16
#include "
TG4Globals.h
"
17
18
G4ThreadLocal
TG4StateManager
*
TG4StateManager::fgInstance
= 0;
19
20
//_____________________________________________________________________________
21
G4String
TG4StateManager::GetStateName
(
TG4ApplicationState
state)
22
{
24
25
switch
(state) {
26
case
kPreInit
:
27
return
"PreInit"
;
28
case
kConstructGeometry
:
29
return
"ConstructGeometry"
;
30
case
kConstructOpGeometry
:
31
return
"ConstructOpGeometry"
;
32
case
kMisalignGeometry
:
33
return
"MisalignGeometry"
;
34
case
kInitGeometry
:
35
return
"InitGeometry"
;
36
case
kAddParticles
:
37
return
"AddParticles"
;
38
case
kAddIons
:
39
return
"AddIons"
;
40
case
kInEvent
:
41
return
"InEvent"
;
42
case
kNotInApplication
:
43
default
:
44
return
"NotInApplication"
;
45
}
46
}
47
48
//_____________________________________________________________________________
49
TG4StateManager::TG4StateManager
()
50
:
TG4Verbose
(
"stateManager"
),
51
fCurrentState
(
kNotInApplication
),
52
fPreviousState
(
kNotInApplication
)
53
54
{
56
57
if
(
fgInstance
) {
58
TG4Globals::Exception
(
"TG4StateManager"
,
59
"TG4StateManager:"
,
"Cannot create two instances of singleton."
);
60
}
61
62
fgInstance
=
this
;
63
}
64
65
//_____________________________________________________________________________
66
TG4StateManager::~TG4StateManager
()
67
{
69
70
fgInstance
= 0;
71
}
72
73
//_____________________________________________________________________________
74
void
TG4StateManager::SetNewState
(
TG4ApplicationState
state)
75
{
77
78
if
(
VerboseLevel
() > 1) {
79
G4cout <<
"**** TG4StateManager::SetNewState: "
<<
GetStateName
(state)
80
<<
"****"
<< G4endl;
81
}
82
83
fPreviousState
=
fCurrentState
;
84
fCurrentState
= state;
85
}
TG4Globals.h
Definition of the TG4Globals class and basic container types.
TG4StateManager.h
Definition of the TG4StateManager class.
TG4Globals::Exception
static void Exception(const TString &className, const TString &methodName, const TString &text)
Definition
TG4Globals.cxx:33
TG4StateManager
The manager class for application state.
Definition
TG4StateManager.h:31
TG4StateManager::fgInstance
static G4ThreadLocal TG4StateManager * fgInstance
this instance
Definition
TG4StateManager.h:52
TG4StateManager::TG4StateManager
TG4StateManager()
Definition
TG4StateManager.cxx:49
TG4StateManager::fCurrentState
TG4ApplicationState fCurrentState
the current application state
Definition
TG4StateManager.h:55
TG4StateManager::GetStateName
static G4String GetStateName(TG4ApplicationState state)
Definition
TG4StateManager.cxx:21
TG4StateManager::SetNewState
void SetNewState(TG4ApplicationState state)
Definition
TG4StateManager.cxx:74
TG4StateManager::fPreviousState
TG4ApplicationState fPreviousState
the previous application state
Definition
TG4StateManager.h:56
TG4StateManager::~TG4StateManager
virtual ~TG4StateManager()
Definition
TG4StateManager.cxx:66
TG4Verbose::VerboseLevel
virtual G4int VerboseLevel() const
Definition
TG4Verbose.h:78
TG4Verbose::TG4Verbose
TG4Verbose(const G4String &cmdName)
Definition
TG4Verbose.cxx:24
TG4ApplicationState
TG4ApplicationState
Enumeration for application states.
Definition
TG4ApplicationState.h:22
kMisalignGeometry
@ kMisalignGeometry
in MisalignGeometry
Definition
TG4ApplicationState.h:26
kAddIons
@ kAddIons
in AddIons
Definition
TG4ApplicationState.h:30
kConstructGeometry
@ kConstructGeometry
in ConstructGeometry
Definition
TG4ApplicationState.h:24
kAddParticles
@ kAddParticles
in AddParticles
Definition
TG4ApplicationState.h:29
kPreInit
@ kPreInit
in PreInit
Definition
TG4ApplicationState.h:23
kInEvent
@ kInEvent
in event processing
Definition
TG4ApplicationState.h:31
kNotInApplication
@ kNotInApplication
not in VMC application
Definition
TG4ApplicationState.h:32
kInitGeometry
@ kInitGeometry
in InitGeometry
Definition
TG4ApplicationState.h:28
kConstructOpGeometry
@ kConstructOpGeometry
in ConstructOpGeometry
Definition
TG4ApplicationState.h:25
Generated on
for Geant4 VMC by
1.17.0