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
error_propagation
include
G4ErrorPropagatorManager.hh
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: G4ErrorPropagatorManager.hh 69766 2013-05-14 14:33:55Z gcosmo $
28
//
29
// Class Description:
30
//
31
// This is the class manager of the GEANT4e package.
32
// It is the main interface for the user to define the setup and
33
// start the propagation. Initializes GEANT4 for the propagation.
34
35
// History:
36
// - Created: Pedro Arce, February 2001
37
// --------------------------------------------------------------------
38
39
#ifndef G4ErrorPropagatorManager_hh
40
#define G4ErrorPropagatorManager_hh
41
42
#include "
globals.hh
"
43
#include "
G4ErrorPropagatorData.hh
"
44
#include "
G4ErrorPropagator.hh
"
45
#include "
G4ApplicationState.hh
"
46
47
class
G4ErrorPropagationNavigator
;
48
class
G4ErrorRunManagerHelper
;
49
class
G4ErrorTarget
;
50
class
G4ErrorTrajState
;
51
52
class
G4VUserDetectorConstruction
;
53
class
G4VPhysicalVolume
;
54
class
G4VUserPhysicsList
;
55
class
G4UserRunAction
;
56
class
G4UserEventAction
;
57
class
G4UserStackingAction
;
58
class
G4UserTrackingAction
;
59
class
G4UserSteppingAction
;
60
class
G4Mag_UsualEqRhs
;
61
class
G4Track
;
62
63
class
G4ErrorPropagatorManager
64
{
65
66
public
:
// with description
67
68
G4ErrorPropagatorManager
();
69
// Initialise data to 0. Starts the G4ErrorRunManagerHelper and
70
// G4ErrorPropagationNavigator.
71
72
~G4ErrorPropagatorManager
();
73
74
static
G4ErrorPropagatorManager
*
GetErrorPropagatorManager
();
75
// Get only instance of G4ErrorPropagatorManager. If it does not exists,
76
// creates it
77
78
void
EventTermination
();
79
// Set state to G4ErrorState_Init
80
81
void
RunTermination
();
82
// Set state to G4ErrorState_Init and invoke
83
// G4ErrorRunManagerHelper::RunTermination()
84
85
void
InitGeant4e
();
86
// Initializes Geant4 and Geant4e
87
88
void
InitTrackPropagation
();
89
// Set the propagator step number to 0 and the G4ErrorState to Propagating
90
91
G4bool
InitFieldForBackwards
();
92
// Creates the G4ErrorMag_UsualEqRhs, that will control backwards tracking
93
94
G4int
Propagate
(
G4ErrorTrajState
* currentTS,
const
G4ErrorTarget
*
target
,
G4ErrorMode
mode =
G4ErrorMode_PropForwards
);
95
// Inits track propagation, invokes G4ErrorPropagator::Propagate and
96
// terminates "event"
97
98
G4int
PropagateOneStep
(
G4ErrorTrajState
* currentTS,
99
G4ErrorMode
mode =
G4ErrorMode_PropForwards
);
100
// Invokes G4ErrorPropagator::PropagateOneStep
101
102
G4bool
CloseGeometry
();
103
// Close Geant4 geometry
104
105
void
SetUserInitialization
(
G4VUserDetectorConstruction
* userInit);
106
// Invokes G4ErrorRunManagerHelper to construct detector and set
107
// world volume
108
void
SetUserInitialization
(
G4VPhysicalVolume
* userInit);
109
// Invokes G4ErrorRunManagerHelper to set world volume
110
void
SetUserInitialization
(
G4VUserPhysicsList
* userInit);
111
// Invokes G4ErrorRunManagerHelper to initialize physics
112
113
void
SetUserAction
(
G4UserTrackingAction
* userAction);
114
// Invokes G4EventManager to set a G4UserTrackingAction
115
void
SetUserAction
(
G4UserSteppingAction
* userAction);
116
// Invokes G4EventManager to set a G4UserSteppingAction
117
118
G4String
PrintG4ErrorState
();
119
G4String
PrintG4ErrorState
(
G4ErrorState
state );
120
// Print Geant4e state
121
122
G4String
PrintG4State
();
123
G4String
PrintG4State
(
G4ApplicationState
state );
124
// Print Geant4 state
125
126
// Set and Get methods
127
128
G4ErrorRunManagerHelper
*
GetErrorRunManagerHelper
()
const
129
{
return
theG4ErrorRunManagerHelper; }
130
131
void
SetSteppingManagerVerboseLevel
();
132
133
G4ErrorPropagationNavigator
*
GetErrorPropagationNavigator
()
const
134
{
return
theG4ErrorPropagationNavigator; }
135
136
G4ErrorPropagator
*
GetPropagator
()
const
137
{
return
thePropagator; }
138
139
private
:
140
141
void
StartG4ErrorRunManagerHelper();
142
// Create a G4ErrorRunManagerHelper if it does not exist and set to it
143
// the G4ErrorPhysicsList
144
145
void
StartNavigator();
146
// create a G4ErrorPropagationNavigator
147
148
private
:
149
150
static
G4ErrorPropagatorManager
* theG4ErrorPropagatorManager;
151
152
G4ErrorRunManagerHelper
* theG4ErrorRunManagerHelper;
153
154
G4ErrorPropagator
* thePropagator;
155
156
G4Mag_UsualEqRhs
* theEquationOfMotion;
157
158
G4ErrorPropagationNavigator
* theG4ErrorPropagationNavigator;
159
160
};
161
162
#endif
Generated on Sat May 25 2013 14:33:04 for Geant4 by
1.8.4