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
G4WeightCutOffProcess.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4WeightCutOffProcess.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
// Class G4WeightCutOffProcess
30
//
31
// Class description:
32
//
33
// Process for biasing particle-change cutoff.
34
35
// Author: Michael Dressel (Michael.Dressel@cern.ch)
36
// ----------------------------------------------------------------------
37
#ifndef G4WeightCutOffProcess_hh
38
#define G4WeightCutOffProcess_hh G4WeightCutOffProcess_hh
39
40
#include "
G4VProcess.hh
"
41
#include "
G4VTrackTerminator.hh
"
42
#include "
G4GeometryCell.hh
"
43
44
//class G4VGCellFinder;
45
class
G4VIStore
;
46
47
class
G4Step
;
48
class
G4Navigator
;
49
class
G4TransportationManager
;
50
class
G4PathFinder
;
51
class
G4VTouchable
;
52
53
#include "
G4FieldTrack.hh
"
54
#include "
G4TouchableHandle.hh
"
55
#include "
G4MultiNavigator.hh
"
// For ELimited enum
56
57
class
G4WeightCutOffProcess
:
public
G4VProcess
58
{
59
60
public
:
// with description
61
62
G4WeightCutOffProcess
(
G4double
wsurvival,
63
G4double
wlimit,
64
G4double
isource,
65
G4VIStore
*istore,
66
// const G4VGCellFinder &aGCellFinder,
67
const
G4String
&aName =
"WeightCutOffProcess"
,
G4bool
para =
false
);
68
// create a G4ParticleChange
69
70
virtual
~G4WeightCutOffProcess
();
71
// delete the G4ParticleChange
72
73
74
//--------------------------------------------------------------
75
// Set Parallel World
76
//--------------------------------------------------------------
77
78
void
SetParallelWorld
(
const
G4String
¶llelWorldName);
79
void
SetParallelWorld
(
G4VPhysicalVolume
* parallelWorld);
80
81
//--------------------------------------------------------------
82
// Process interface
83
//--------------------------------------------------------------
84
85
void
StartTracking
(
G4Track
*);
86
87
virtual
G4double
88
PostStepGetPhysicalInteractionLength
(
const
G4Track
& aTrack,
89
G4double
previousStepSize,
90
G4ForceCondition
*
condition
);
91
// make the process beeing forced
92
93
virtual
G4VParticleChange
*
PostStepDoIt
(
const
G4Track
&,
94
const
G4Step
&);
95
96
97
const
G4String
&
GetName
()
const
;
98
99
public
:
// without description
100
101
// no operation in AtRestDoIt and AlongStepDoIt
102
103
virtual
G4double
104
AlongStepGetPhysicalInteractionLength
(
const
G4Track
&,
105
G4double
,
106
G4double
,
107
G4double
& ,
108
G4GPILSelection
*);
109
110
virtual
G4double
111
AtRestGetPhysicalInteractionLength
(
const
G4Track
& ,
112
G4ForceCondition
*);
113
114
virtual
G4VParticleChange
*
AtRestDoIt
(
const
G4Track
&,
const
G4Step
&);
115
virtual
G4VParticleChange
*
AlongStepDoIt
(
const
G4Track
&,
const
G4Step
&);
116
117
private
:
118
119
void
CopyStep
(
const
G4Step
&
step
);
120
121
G4Step
*
fGhostStep
;
122
G4StepPoint
*
fGhostPreStepPoint
;
123
G4StepPoint
*
fGhostPostStepPoint
;
124
125
G4WeightCutOffProcess
(
const
G4WeightCutOffProcess
&);
126
G4WeightCutOffProcess
&
operator=
(
const
G4WeightCutOffProcess
&);
127
128
G4ParticleChange
*
fParticleChange
;
129
G4double
fWeightSurvival
;
130
G4double
fWeightLimit
;
131
G4double
fSourceImportance
;
132
G4VIStore
*
fIStore
;
133
// const G4VGCellFinder &fGCellFinder;
134
135
136
G4TransportationManager
*
fTransportationManager
;
137
G4PathFinder
*
fPathFinder
;
138
139
// -------------------------------
140
// Navigation in the Ghost World:
141
// -------------------------------
142
G4String
fGhostWorldName
;
143
G4VPhysicalVolume
*
fGhostWorld
;
144
G4Navigator
*
fGhostNavigator
;
145
G4int
fNavigatorID
;
146
G4TouchableHandle
fOldGhostTouchable
;
147
G4TouchableHandle
fNewGhostTouchable
;
148
G4FieldTrack
fFieldTrack
;
149
G4double
fGhostSafety
;
150
G4bool
fOnBoundary
;
151
152
G4bool
fParaflag
;
153
G4FieldTrack
fEndTrack
;
154
ELimited
feLimited
;
155
};
156
157
#endif
geant4
tree
geant4-10.6-release
source
processes
biasing
importance
include
G4WeightCutOffProcess.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:27
using
1.8.2 with
ECCE GitHub integration