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
G4VITSteppingVerbose.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VITSteppingVerbose.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
* G4VITSteppingVerbose.cc
28
*
29
* Created on: Jun 22, 2015
30
* Author: mkaramit
31
*/
32
33
#include <
G4VITSteppingVerbose.hh
>
34
#include <
G4UIcmdWithAnInteger.hh
>
35
36
//______________________________________________________________________________
37
38
G4VITSteppingVerbose::G4VITSteppingVerbose
()
39
{
40
fpStepProcessor
= 0;
41
fpState
= 0;
42
fpProcessGeneralInfo
= 0;
43
44
PhysicalStep
= -1;
45
fStepStatus
=
fUndefined
;
46
47
fParticleChange
= 0;
48
fTrack
= 0;
49
fSecondary
= 0;
50
fStep
= 0;
51
fPreStepPoint
= 0;
52
fPostStepPoint
= 0;
53
54
fCurrentVolume
= 0;
55
// fSensitive = fpStepProcessor->GetfSensitive();
56
fCurrentProcess
= 0;
57
58
fAtRestDoItVector
= 0;
59
fAlongStepDoItVector
= 0;
60
fPostStepDoItVector
= 0;
61
62
fAtRestGetPhysIntVector
= 0;
63
fAlongStepGetPhysIntVector
= 0;
64
fPostStepGetPhysIntVector
= 0;
65
66
MAXofAtRestLoops
= 0;
67
MAXofAlongStepLoops
= 0;
68
MAXofPostStepLoops
= 0;
69
70
fAtRestDoItProcTriggered
= 0;
71
fPostStepDoItProcTriggered
= 0;
72
73
fN2ndariesAtRestDoIt
= 0;
74
fN2ndariesAlongStepDoIt
= 0;
75
fN2ndariesPostStepDoIt
= 0;
76
77
// fNavigator = fpStepProcessor->GetfNavigator();
78
79
fVerboseLevel
= 0;
80
fpVerboseUI
=
new
G4UIcmdWithAnInteger
(
"/chem/tracking/verbose"
,
this
);
81
82
fSelectedAtRestDoItVector
= 0;
83
fSelectedPostStepDoItVector
= 0;
84
85
fPreviousStepSize
= 0.;
86
87
fTouchableHandle
= 0;
88
89
// StepControlFlag = fpStepProcessor->GetStepControlFlag();
90
91
physIntLength
= 0;
92
fCondition
=
InActivated
;
93
fGPILSelection
=
NotCandidateForSelection
;
94
95
}
96
97
//______________________________________________________________________________
98
99
G4VITSteppingVerbose::~G4VITSteppingVerbose
()
100
{
101
if
(
fpVerboseUI
)
delete
fpVerboseUI
;
102
}
103
104
//______________________________________________________________________________
105
106
void
G4VITSteppingVerbose::CopyState
()
107
{
108
109
if
(
fpState
) *
fpState
= *(
fpStepProcessor
->
GetProcessorState
());
110
else
111
{
112
fpState
=
new
G4ITStepProcessorState
(*
fpStepProcessor
->
GetProcessorState
());
113
}
114
115
fpProcessGeneralInfo
=
fpStepProcessor
->
GetCurrentProcessInfo
();
116
117
PhysicalStep
=
fpStepProcessor
->
GetPhysIntLength
();
118
fStepStatus
=
fpState
->
fStepStatus
;
119
120
fParticleChange
=
fpStepProcessor
->
GetParticleChange
();
121
fTrack
=
fpStepProcessor
->
GetTrack
();
122
fSecondary
=
fpStepProcessor
->
GetSecondaries
();
123
fStep
=
fpStepProcessor
->
GetStep
();
124
fPreStepPoint
=
fStep
->
GetPreStepPoint
();
125
fPostStepPoint
=
fStep
->
GetPostStepPoint
();
126
127
fCurrentVolume
=
fpStepProcessor
->
GetCurrentVolume
();
128
// fSensitive = fpStepProcessor->GetfSensitive();
129
fCurrentProcess
=
fpStepProcessor
->
GetCurrentProcess
();
130
131
fAtRestDoItVector
=
fpProcessGeneralInfo
->
fpAtRestDoItVector
;
132
fAlongStepDoItVector
=
fpProcessGeneralInfo
->
fpAlongStepDoItVector
;
133
fPostStepDoItVector
=
fpProcessGeneralInfo
->
fpPostStepDoItVector
;
134
135
fAtRestGetPhysIntVector
=
fpProcessGeneralInfo
->
fpAtRestGetPhysIntVector
;
136
fAlongStepGetPhysIntVector
=
137
fpProcessGeneralInfo
->
fpAlongStepGetPhysIntVector
;
138
fPostStepGetPhysIntVector
=
fpProcessGeneralInfo
->
fpPostStepGetPhysIntVector
;
139
140
MAXofAtRestLoops
=
fpProcessGeneralInfo
->
MAXofAtRestLoops
;
141
MAXofAlongStepLoops
=
fpProcessGeneralInfo
->
MAXofAlongStepLoops
;
142
MAXofPostStepLoops
=
fpProcessGeneralInfo
->
MAXofPostStepLoops
;
143
144
fAtRestDoItProcTriggered
=
fpStepProcessor
->
GetAtRestDoItProcTriggered
();
145
fPostStepDoItProcTriggered
=
fpStepProcessor
->
GetPostStepDoItProcTriggered
();
146
147
fN2ndariesAtRestDoIt
=
fpStepProcessor
->
GetN2ndariesAtRestDoIt
();
148
fN2ndariesAlongStepDoIt
=
fpStepProcessor
->
GetN2ndariesAlongStepDoIt
();
149
fN2ndariesPostStepDoIt
=
fpStepProcessor
->
GetN2ndariesPostStepDoIt
();
150
151
// fNavigator = fpStepProcessor->GetfNavigator();
152
153
fSelectedAtRestDoItVector
= &(
fpState
->
fSelectedAtRestDoItVector
);
154
fSelectedPostStepDoItVector
= &(
fpState
->
fSelectedPostStepDoItVector
);
155
156
fPreviousStepSize
=
fpState
->
fPreviousStepSize
;
157
158
fTouchableHandle
=
fpState
->
fTouchableHandle
;
159
160
// StepControlFlag = fpStepProcessor->GetStepControlFlag();
161
162
physIntLength
=
fpStepProcessor
->
GetPhysIntLength
();
163
fCondition
=
fpStepProcessor
->
GetCondition
();
164
fGPILSelection
=
fpStepProcessor
->
GetGPILSelection
();
165
}
166
167
//______________________________________________________________________________
168
169
void
G4VITSteppingVerbose::SetNewValue
(
G4UIcommand
* command,
G4String
newValue)
170
{
171
if
(command ==
fpVerboseUI
)
172
{
173
fVerboseLevel
=
fpVerboseUI
->
GetNewIntValue
(newValue);
174
}
175
}
176
177
//______________________________________________________________________________
178
179
G4String
G4VITSteppingVerbose::GetCurrentValue
(
G4UIcommand
* command)
180
{
181
return
command->
ConvertToString
(
fVerboseLevel
);
182
}
183
184
//______________________________________________________________________________
185
186
void
G4VITSteppingVerbose::TrackingStarted
(
G4Track
*
187
#ifdef G4VERBOSE
188
track
189
#endif
190
)
191
{
192
#ifdef G4VERBOSE
193
if
(
fVerboseLevel
> 0)
194
{
195
TrackBanner
(
track
,
"G4ITTrackingManager::StartTracking : "
);
196
}
197
#endif
198
199
}
200
201
//______________________________________________________________________________
202
203
void
G4VITSteppingVerbose::TrackingEnded
(
G4Track
*
204
#ifdef G4VERBOSE
205
track
206
#endif
207
)
208
{
209
#ifdef G4VERBOSE
210
if
(
fVerboseLevel
> 0)
211
{
212
TrackBanner
(
track
,
"G4ITTrackingManager::EndTracking : "
);
213
}
214
#endif
215
}
216
217
//______________________________________________________________________________
218
219
void
G4VITSteppingVerbose::TrackBanner
(
G4Track
*
track
,
const
G4String
&
message
)
220
{
221
G4cout
<<
G4endl
;
222
G4cout
<<
"*******************************************************"
223
<<
"**************************************************"
224
<<
G4endl
;
225
if
(message !=
""
)
226
{
227
G4cout
<<
message
;
228
}
229
G4cout
<<
" * G4Track Information: "
230
<<
" Particle : "
<< track->
GetDefinition
()->
GetParticleName
()
231
<<
","
232
<<
" Track ID : "
<< track->
GetTrackID
()
233
<<
","
234
<<
" Parent ID : "
<< track->
GetParentID
()
235
<<
G4endl
;
236
G4cout
<<
"*******************************************************"
237
<<
"**************************************************"
238
<<
G4endl
;
239
G4cout
<<
G4endl
;
240
}
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
dna
management
src
G4VITSteppingVerbose.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:29
using
1.8.2 with
ECCE GitHub integration