ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4VSteppingVerbose.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VSteppingVerbose.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
//---------------------------------------------------------------
29
//
30
// G4VSteppingVerbose.cc
31
//
32
// Description:
33
// This class manages the vervose outputs in G4SteppingManager.
34
//
35
//
36
// Contact:
37
// Questions and comments to this code should be sent to
38
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
39
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
40
//
41
//---------------------------------------------------------------
42
43
#include "
G4VSteppingVerbose.hh
"
44
#include "
G4SteppingManager.hh
"
45
#include "
G4Track.hh
"
46
#include "
G4ParticleDefinition.hh
"
47
48
G4ThreadLocal
G4VSteppingVerbose
*
G4VSteppingVerbose::fInstance
= 0;
49
G4ThreadLocal
G4int
G4VSteppingVerbose::Silent
= 0;
50
G4ThreadLocal
G4int
G4VSteppingVerbose::SilentStepInfo
= 0;
51
52
G4VSteppingVerbose::G4VSteppingVerbose
()
53
:
fManager
(0),
fUserSteppingAction
(0),
54
PhysicalStep
(0.),
GeometricalStep
(0.),
CorrectedStep
(0.),
55
PreStepPointIsGeom
(
false
),
FirstStep
(
false
),
56
TempInitVelocity
(0.),
TempVelocity
(0.),
Mass
(0.),
sumEnergyChange
(0.),
57
fParticleChange
(0),
fTrack
(0),
fSecondary
(0),
fStep
(0),
58
fPreStepPoint
(0),
fPostStepPoint
(0),
fCurrentVolume
(0),
59
fSensitive
(0),
fCurrentProcess
(0),
fAtRestDoItVector
(0),
60
fAlongStepDoItVector
(0),
fPostStepDoItVector
(0),
fAtRestGetPhysIntVector
(0),
61
fAlongStepGetPhysIntVector
(0),
fPostStepGetPhysIntVector
(0),
62
MAXofAtRestLoops
(0),
MAXofAlongStepLoops
(0),
MAXofPostStepLoops
(0),
63
currentMinimumStep
(0.),
numberOfInteractionLengthLeft
(0.),
64
fAtRestDoItProcTriggered
(0),
fAlongStepDoItProcTriggered
(0),
65
fPostStepDoItProcTriggered
(0),
fN2ndariesAtRestDoIt
(0),
66
fN2ndariesAlongStepDoIt
(0),
fN2ndariesPostStepDoIt
(0),
67
fNavigator
(0),
verboseLevel
(0),
fSelectedAtRestDoItVector
(0),
68
fSelectedAlongStepDoItVector
(0),
fSelectedPostStepDoItVector
(0),
69
fPreviousStepSize
(0.),
physIntLength
(0.)
70
{
71
if
(
fInstance
!= 0)
72
{
73
G4Exception
(
"G4VSteppingVerbose::G4VSteppingVerbose()"
,
74
"Tracking0014"
,
FatalException
,
75
"Only one SteppingVerbose class can be instantiated."
);
76
}
77
}
78
G4VSteppingVerbose::~G4VSteppingVerbose
() {
fInstance
= 0; }
79
81
void
G4VSteppingVerbose::SetManager
(
G4SteppingManager
*
const
fMan)
83
{
84
fManager
=fMan;
85
}
86
88
void
G4VSteppingVerbose::CopyState
()
90
{
91
92
fUserSteppingAction
=
fManager
->
GetUserAction
();
93
// fVerbose = this;
94
95
PhysicalStep
=
fManager
->
GetPhysicalStep
();
96
GeometricalStep
=
fManager
->
GetGeometricalStep
();
97
CorrectedStep
=
fManager
->
GetCorrectedStep
();
98
PreStepPointIsGeom
=
fManager
->
GetPreStepPointIsGeom
();
99
FirstStep
=
fManager
->
GetFirstStep
();
100
fStepStatus
=
fManager
->
GetfStepStatus
();
101
102
TempInitVelocity
=
fManager
->
GetTempInitVelocity
();
103
TempVelocity
=
fManager
->
GetTempVelocity
();
104
Mass
=
fManager
->
GetMass
();
105
106
sumEnergyChange
=
fManager
->
GetsumEnergyChange
();
107
108
fParticleChange
=
fManager
->
GetfParticleChange
();
109
fTrack
=
fManager
->
GetfTrack
();
110
fSecondary
=
fManager
->
GetfSecondary
();
111
fStep
=
fManager
->
GetfStep
();
112
fPreStepPoint
=
fManager
->
GetfPreStepPoint
();
113
fPostStepPoint
=
fManager
->
GetfPostStepPoint
();
114
115
fCurrentVolume
=
fManager
->
GetfCurrentVolume
();
116
fSensitive
=
fManager
->
GetfSensitive
();
117
fCurrentProcess
=
fManager
->
GetfCurrentProcess
();
118
119
fAtRestDoItVector
=
fManager
->
GetfAtRestDoItVector
();
120
fAlongStepDoItVector
=
fManager
->
GetfAlongStepDoItVector
();
121
fPostStepDoItVector
=
fManager
->
GetfPostStepDoItVector
();
122
123
fAtRestGetPhysIntVector
=
fManager
->
GetfAtRestGetPhysIntVector
();
124
fAlongStepGetPhysIntVector
=
fManager
->
GetfAlongStepGetPhysIntVector
();
125
fPostStepGetPhysIntVector
=
fManager
->
GetfPostStepGetPhysIntVector
();
126
127
MAXofAtRestLoops
=
fManager
->
GetMAXofAtRestLoops
();
128
MAXofAlongStepLoops
=
fManager
->
GetMAXofAlongStepLoops
();
129
MAXofPostStepLoops
=
fManager
->
GetMAXofPostStepLoops
();
130
131
fAtRestDoItProcTriggered
=
fManager
->
GetfAtRestDoItProcTriggered
();
132
fAlongStepDoItProcTriggered
=
fManager
->
GetfAlongStepDoItProcTriggered
();
133
fPostStepDoItProcTriggered
=
fManager
->
GetfPostStepDoItProcTriggered
();
134
135
fN2ndariesAtRestDoIt
=
fManager
->
GetfN2ndariesAtRestDoIt
();
136
fN2ndariesAlongStepDoIt
=
fManager
->
GetfN2ndariesAlongStepDoIt
();
137
fN2ndariesPostStepDoIt
=
fManager
->
GetfN2ndariesPostStepDoIt
();
138
139
fNavigator
=
fManager
->
GetfNavigator
();
140
141
verboseLevel
=
fManager
->
GetverboseLevel
();
142
143
fSelectedAtRestDoItVector
=
fManager
->
GetfSelectedAtRestDoItVector
();
144
fSelectedAlongStepDoItVector
=
fManager
->
GetfSelectedAlongStepDoItVector
();
145
fSelectedPostStepDoItVector
=
fManager
->
GetfSelectedPostStepDoItVector
();
146
147
fPreviousStepSize
=
fManager
->
GetfPreviousStepSize
();
148
149
fTouchableHandle
=
fManager
->
GetTouchableHandle
();
150
151
StepControlFlag
=
fManager
->
GetStepControlFlag
();
152
153
physIntLength
=
fManager
->
GetphysIntLength
();
154
fCondition
=
fManager
->
GetfCondition
();
155
fGPILSelection
=
fManager
->
GetfGPILSelection
();
156
}
157
158
void
G4VSteppingVerbose::SetInstance
(
G4VSteppingVerbose
* Instance)
159
{
160
fInstance
=Instance;
161
}
162
163
G4VSteppingVerbose
*
G4VSteppingVerbose::GetInstance
()
164
{
165
return
fInstance
;
166
}
167
168
G4int
G4VSteppingVerbose::GetSilent
()
169
{
170
return
Silent
;
171
}
172
173
void
G4VSteppingVerbose::SetSilent
(
G4int
fSilent)
174
{
175
Silent
=fSilent;
176
}
177
178
G4int
G4VSteppingVerbose::GetSilentStepInfo
()
179
{
180
return
SilentStepInfo
;
181
}
182
183
void
G4VSteppingVerbose::SetSilentStepInfo
(
G4int
fSilent)
184
{
185
SilentStepInfo
=fSilent;
186
}
187
geant4
tree
geant4-10.6-release
source
tracking
src
G4VSteppingVerbose.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:54
using
1.8.2 with
ECCE GitHub integration