Geant4
10.03.p01
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
G4NuclearStopping.hh
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
// $Id: G4NuclearStopping.hh 96934 2016-05-18 09:10:41Z gcosmo $
27
//
28
// -----------------------------------------------------------------------------
29
//
30
// GEANT4 Class header file
31
//
32
// Author: Vladimir Ivanchenko
33
//
34
// Creation date: 20 July 2009
35
//
36
// Modified:
37
//
38
//------------------------------------------------------------------------------
39
//
40
41
// class description
42
//
43
// The class simulates nuclear stopping due to multiple scattering
44
// It should be instantiated after G4ionIonisation
45
//
46
// class description - end
47
48
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
49
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
50
51
#ifndef G4NuclearStopping_h
52
#define G4NuclearStopping_h 1
53
54
#include "
G4VEmProcess.hh
"
55
#include "
globals.hh
"
56
#include "
G4Track.hh
"
57
#include "
G4Step.hh
"
58
#include "
G4ParticleDefinition.hh
"
59
#include "
G4GPILSelection.hh
"
60
#include "
G4ParticleChangeForLoss.hh
"
61
62
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
63
64
class
G4ICRU49NuclearStoppingModel
;
65
66
class
G4NuclearStopping
:
public
G4VEmProcess
67
{
68
69
public
:
// with description
70
71
explicit
G4NuclearStopping
(
const
G4String
& processName=
"nuclearStopping"
);
72
73
virtual
~G4NuclearStopping
();
74
75
// returns true for charged particles, false otherwise
76
G4bool
IsApplicable
(
const
G4ParticleDefinition
&
p
)
final
;
77
78
// implementation of pure virtual method
79
G4double
AlongStepGetPhysicalInteractionLength
(
const
G4Track
& track,
80
G4double
previousStepSize,
81
G4double
currentMinimumStep,
82
G4double
& proposedSafety,
83
G4GPILSelection
* selection)
final
;
84
85
// implementation of energy loss along step
86
G4VParticleChange
*
AlongStepDoIt
(
const
G4Track
& track,
87
const
G4Step
& step)
final
;
88
89
// Print few lines of informations about the process: validity range,
90
virtual
void
PrintInfo
()
final
;
91
92
protected
:
93
94
// This function initialise process
95
void
InitialiseProcess
(
const
G4ParticleDefinition
*)
final
;
96
97
private
:
98
99
// copy constructor and hide assignment operator
100
G4NuclearStopping
(
G4NuclearStopping
&) =
delete
;
101
G4NuclearStopping
& operator=(
const
G4NuclearStopping
&right) =
delete
;
102
103
G4ParticleChangeForLoss
nParticleChange;
104
105
G4ICRU49NuclearStoppingModel
* modelICRU49;
106
107
G4bool
isInitialized;
108
109
};
110
111
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
112
113
#endif
G4ParticleChangeForLoss.hh
G4VEmProcess
Definition:
G4VEmProcess.hh:93
G4NuclearStopping::G4NuclearStopping
G4NuclearStopping(const G4String &processName="nuclearStopping")
Definition:
G4NuclearStopping.cc:56
G4Track.hh
p
const char * p
Definition:
xmltok.h:285
G4GPILSelection.hh
G4ICRU49NuclearStoppingModel
Definition:
G4ICRU49NuclearStoppingModel.hh:62
G4Step.hh
G4ParticleChangeForLoss
Definition:
G4ParticleChangeForLoss.hh:60
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:72
G4NuclearStopping::PrintInfo
virtual void PrintInfo() final
Definition:
G4NuclearStopping.cc:148
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4VEmProcess.hh
G4NuclearStopping
Definition:
G4NuclearStopping.hh:66
G4ParticleDefinition.hh
G4Step
Definition:
G4Step.hh:76
globals.hh
G4NuclearStopping::AlongStepGetPhysicalInteractionLength
G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection) final
Definition:
G4NuclearStopping.cc:98
G4NuclearStopping::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &p) final
Definition:
G4NuclearStopping.cc:74
G4Track
Definition:
G4Track.hh:76
G4NuclearStopping::AlongStepDoIt
G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &step) final
Definition:
G4NuclearStopping.cc:107
G4double
double G4double
Definition:
G4Types.hh:76
G4NuclearStopping::InitialiseProcess
void InitialiseProcess(const G4ParticleDefinition *) final
Definition:
G4NuclearStopping.cc:81
G4VParticleChange
Definition:
G4VParticleChange.hh:94
G4GPILSelection
G4GPILSelection
Definition:
G4GPILSelection.hh:49
G4String
Definition:
G4String.hh:60
G4NuclearStopping::~G4NuclearStopping
virtual ~G4NuclearStopping()
Definition:
G4NuclearStopping.cc:69
geant4.10.03.p01
source
processes
electromagnetic
standard
include
G4NuclearStopping.hh
Generated on Thu Mar 16 2017 22:38:04 for Geant4 by
1.8.5