Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4WrapperProcess.cc
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$
28//
29//
30// ------------------------------------------------------------
31// GEANT 4 class implementation file
32//
33// ------------------------------------------------------------
34// New Physics scheme 18 Dec. 1996 H.Kurahige
35// ------------------------------------------------------------
36
37#include "G4WrapperProcess.hh"
38
40 G4ProcessType aType)
41 : G4VProcess(aName,aType), pRegProcess((G4VProcess*)(0))
42{
43}
44
46 : G4VProcess(*((G4VProcess*)(&right))), pRegProcess(right.pRegProcess)
47{
48}
49
51{
52 if (pRegProcess!=0) delete pRegProcess;
53}
54
56{
58}
59
62 G4double previousStepSize,
63 G4double currentMinimumStep,
64 G4double& proposedSafety,
65 G4GPILSelection* selection )
66{
67 return pRegProcess->
69 previousStepSize,
70 currentMinimumStep,
71 proposedSafety,
72 selection );
73}
74
78{
80}
81
84 G4double previousStepSize,
86{
88 previousStepSize,
89 condition );
90}
91
93{
95}
96
98{
100}
101
103 const G4Step& stepData )
104{
105 return pRegProcess->PostStepDoIt( track, stepData );
106}
107
109 const G4Step& stepData )
110{
111 return pRegProcess->AlongStepDoIt( track, stepData );
112}
113
115 const G4Step& stepData )
116{
117 return pRegProcess->AtRestDoIt( track, stepData );
118}
119
121{
122 return pRegProcess->IsApplicable(particle);
123}
124
126{
127 return pRegProcess->BuildPhysicsTable(particle);
128}
129
131{
132 return pRegProcess->PreparePhysicsTable(particle);
133}
134
137 const G4String& directory,
138 G4bool ascii)
139{
140 return pRegProcess->StorePhysicsTable(particle, directory, ascii);
141}
142
145 const G4String& directory,
146 G4bool ascii)
147{
148 return pRegProcess->RetrievePhysicsTable(particle, directory, ascii);
149}
150
152{
154}
155
157{
159}
160
162{
163 pRegProcess=process;
164 theProcessName += process->GetProcessName();
165 theProcessType = process->GetProcessType();
166}
167
169{
170 return pRegProcess;
171}
G4double condition(const G4ErrorSymMatrix &m)
G4ForceCondition
G4GPILSelection
G4ProcessType
double G4double
Definition: G4Types.hh:64
bool G4bool
Definition: G4Types.hh:67
Definition: G4Step.hh:78
G4ProcessType theProcessType
Definition: G4VProcess.hh:340
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)=0
virtual void ResetNumberOfInteractionLengthLeft()
Definition: G4VProcess.cc:92
virtual G4VParticleChange * AtRestDoIt(const G4Track &track, const G4Step &stepData)=0
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
Definition: G4VProcess.hh:236
virtual const G4ProcessManager * GetProcessManager()
Definition: G4VProcess.hh:485
G4ProcessType GetProcessType() const
Definition: G4VProcess.hh:385
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)=0
virtual G4bool IsApplicable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:205
virtual G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData)=0
virtual void StartTracking(G4Track *)
Definition: G4VProcess.cc:125
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:210
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *, const G4String &, G4bool)
Definition: G4VProcess.hh:231
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
Definition: G4VProcess.hh:217
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)=0
G4String theProcessName
Definition: G4VProcess.hh:335
virtual void SetProcessManager(const G4ProcessManager *)
Definition: G4VProcess.hh:479
virtual void EndTracking()
Definition: G4VProcess.cc:137
const G4String & GetProcessName() const
Definition: G4VProcess.hh:379
virtual void PreparePhysicsTable(const G4ParticleDefinition &)
virtual G4VParticleChange * AtRestDoIt(const G4Track &track, const G4Step &stepData)
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)
virtual G4bool StorePhysicsTable(const G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
virtual void SetProcessManager(const G4ProcessManager *)
virtual void EndTracking()
virtual G4bool IsApplicable(const G4ParticleDefinition &)
virtual const G4VProcess * GetRegisteredProcess() const
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
virtual void RegisterProcess(G4VProcess *)
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
virtual ~G4WrapperProcess()
virtual void StartTracking(G4Track *)
virtual const G4ProcessManager * GetProcessManager()
G4VProcess * pRegProcess
virtual void ResetNumberOfInteractionLengthLeft()
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &stepData)
virtual G4bool RetrievePhysicsTable(const G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
G4WrapperProcess(const G4String &aName="Wrapped", G4ProcessType aType=fNotDefined)
virtual G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &stepData)