Geant4.10
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4.10.00.p01
source
processes
electromagnetic
standard
include
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 79188 2014-02-20 09:22:48Z 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
G4NuclearStopping
(
const
G4String
& processName=
"nuclearStopping"
);
72
73
virtual
~G4NuclearStopping
();
74
75
// returns true for charged particles, false otherwise
76
G4bool
IsApplicable
(
const
G4ParticleDefinition
&
p
);
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);
84
85
// implementation of energy loss along step
86
G4VParticleChange
*
AlongStepDoIt
(
const
G4Track
& track,
87
const
G4Step
& step);
88
89
// Print few lines of informations about the process: validity range,
90
void
PrintInfo
();
91
92
protected
:
93
94
// This function initialise process
95
void
InitialiseProcess
(
const
G4ParticleDefinition
*);
96
97
private
:
98
99
// copy constructor and hide assignment operator
100
G4NuclearStopping
(
G4NuclearStopping
&);
101
G4NuclearStopping
& operator=(
const
G4NuclearStopping
&
right
);
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:92
G4NuclearStopping::G4NuclearStopping
G4NuclearStopping(const G4String &processName="nuclearStopping")
Definition:
G4NuclearStopping.cc:56
right
Definition:
F04UserTrackInformation.hh:37
G4Track.hh
G4NuclearStopping::InitialiseProcess
void InitialiseProcess(const G4ParticleDefinition *)
Definition:
G4NuclearStopping.cc:81
p
const char * p
Definition:
xmltok.h:285
G4GPILSelection.hh
G4ICRU49NuclearStoppingModel
Definition:
G4ICRU49NuclearStoppingModel.hh:62
G4NuclearStopping::IsApplicable
G4bool IsApplicable(const G4ParticleDefinition &p)
Definition:
G4NuclearStopping.cc:74
G4Step.hh
G4ParticleChangeForLoss
Definition:
G4ParticleChangeForLoss.hh:60
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:111
G4NuclearStopping::PrintInfo
void PrintInfo()
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::AlongStepDoIt
G4VParticleChange * AlongStepDoIt(const G4Track &track, const G4Step &step)
Definition:
G4NuclearStopping.cc:107
G4NuclearStopping::AlongStepGetPhysicalInteractionLength
G4double AlongStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
Definition:
G4NuclearStopping.cc:98
G4Track
Definition:
G4Track.hh:73
G4double
double G4double
Definition:
G4Types.hh:76
G4VParticleChange
Definition:
G4VParticleChange.hh:94
G4GPILSelection
G4GPILSelection
Definition:
G4GPILSelection.hh:49
G4String
Definition:
examples/extended/parallel/TopC/ParN02/AnnotatedFiles/G4String.hh:45
G4NuclearStopping::~G4NuclearStopping
virtual ~G4NuclearStopping()
Definition:
G4NuclearStopping.cc:69
Generated on Wed Apr 30 2014 15:54:56 for Geant4.10 by
1.8.7