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
G4ParallelWorldScoringProcess.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ParallelWorldScoringProcess.hh
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
//
31
// G4ParallelWorldScoringProcess.hh
32
//
33
// Description:
34
// This procss takes a parallel world and limits a step
35
// on the boundaries of volumes in the parallel world.
36
// It invokes sensitive detectors assigned in the parallel
37
// world.
38
//
39
//---------------------------------------------------------------
40
41
42
#ifndef G4ParallelWorldScoringProcess_h
43
#define G4ParallelWorldScoringProcess_h 1
44
45
#include "
globals.hh
"
46
class
G4Step
;
47
class
G4Navigator
;
48
class
G4TransportationManager
;
49
class
G4PathFinder
;
50
class
G4VTouchable
;
51
class
G4VPhysicalVolume
;
52
class
G4ParticleChange
;
53
class
G4ParticleDefinition
;
54
#include "
G4VProcess.hh
"
55
#include "
G4FieldTrack.hh
"
56
#include "
G4TouchableHandle.hh
"
57
58
//------------------------------------------
59
//
60
// G4ParallelWorldScoringProcess class
61
//
62
//------------------------------------------
63
64
65
// Class Description:
66
67
class
G4ParallelWorldScoringProcess
:
public
G4VProcess
68
{
69
public
:
// with description
70
71
//------------------------
72
// Constructor/Destructor
73
//------------------------
74
75
G4ParallelWorldScoringProcess
(
const
G4String
& processName =
"ParaWorldScore"
,
76
G4ProcessType
theType =
fParameterisation
);
77
virtual
~G4ParallelWorldScoringProcess
();
78
79
//--------------------------------------------------------------
80
// Set Paralle World
81
//--------------------------------------------------------------
82
83
void
SetParallelWorld
(
G4String
parallelWorldName);
84
void
SetParallelWorld
(
G4VPhysicalVolume
* parallelWorld);
85
G4bool
IsAtRestRequired
(
G4ParticleDefinition
* partDef);
86
87
//--------------------------------------------------------------
88
// Process interface
89
//--------------------------------------------------------------
90
91
void
StartTracking
(
G4Track
*);
92
93
//------------------------------------------------------------------------
94
// GetPhysicalInteractionLength() and DoIt() methods for AtRest
95
//------------------------------------------------------------------------
96
97
G4double
AtRestGetPhysicalInteractionLength
(
98
const
G4Track
& ,
99
G4ForceCondition
*
100
);
101
102
G4VParticleChange
*
AtRestDoIt
(
103
const
G4Track
& ,
104
const
G4Step
&
105
);
106
107
//------------------------------------------------------------------------
108
// GetPhysicalInteractionLength() and DoIt() methods for AlongStep
109
//------------------------------------------------------------------------
110
111
G4double
AlongStepGetPhysicalInteractionLength
(
112
const
G4Track
&,
113
G4double
,
114
G4double
,
115
G4double
&,
116
G4GPILSelection
*
117
);
118
119
G4VParticleChange
*
AlongStepDoIt
(
120
const
G4Track
& ,
121
const
G4Step
&
122
);
123
124
//-----------------------------------------------------------------------
125
// GetPhysicalInteractionLength() and DoIt() methods for PostStep
126
//-----------------------------------------------------------------------
127
128
G4double
PostStepGetPhysicalInteractionLength
(
const
G4Track
&
track
,
129
G4double
previousStepSize,
130
G4ForceCondition
*
condition
);
131
132
G4VParticleChange
*
PostStepDoIt
(
const
G4Track
& ,
const
G4Step
& );
133
134
private
:
135
void
CopyStep
(
const
G4Step
&
step
);
136
137
G4Step
*
fGhostStep
;
138
G4StepPoint
*
fGhostPreStepPoint
;
139
G4StepPoint
*
fGhostPostStepPoint
;
140
141
G4VParticleChange
aDummyParticleChange
;
142
G4ParticleChange
xParticleChange
;
143
144
G4TransportationManager
*
fTransportationManager
;
145
G4PathFinder
*
fPathFinder
;
146
147
// -------------------------------
148
// Navigation in the Ghost World:
149
// -------------------------------
150
G4String
fGhostWorldName
;
151
G4VPhysicalVolume
*
fGhostWorld
;
152
G4Navigator
*
fGhostNavigator
;
153
G4int
fNavigatorID
;
154
G4TouchableHandle
fOldGhostTouchable
;
155
G4TouchableHandle
fNewGhostTouchable
;
156
G4FieldTrack
fFieldTrack
;
157
G4double
fGhostSafety
;
158
G4bool
fOnBoundary
;
159
160
// ******************************************************
161
// ******************************************************
162
//
163
// For TESTS:
164
//
165
// ******************************************************
166
// ******************************************************
167
public
:
168
void
Verbose
(
const
G4Step
&)
const
;
169
};
170
171
#endif
geant4
tree
geant4-10.6-release
source
processes
scoring
include
G4ParallelWorldScoringProcess.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:52
using
1.8.2 with
ECCE GitHub integration