Geant4
11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4WentzelVIRelXSection.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
// -------------------------------------------------------------------
28
//
29
// GEANT4 Class file
30
//
31
//
32
// File name: G4WentzelVIRelXSection
33
//
34
// Author: V.Ivanchenko
35
//
36
// Creation date: 08.06.2012 from G4WentzelOKandVIxSection
37
//
38
// Modifications:
39
//
40
//
41
42
// -------------------------------------------------------------------
43
//
44
45
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
46
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
47
48
#include "
G4WentzelVIRelXSection.hh
"
49
50
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
51
52
G4WentzelVIRelXSection::G4WentzelVIRelXSection
() =
default
;
53
54
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
55
56
G4WentzelVIRelXSection::~G4WentzelVIRelXSection
() =
default
;
57
58
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
59
60
G4double
G4WentzelVIRelXSection::SetupKinematic
(
G4double
kinEnergy,
61
const
G4Material
* mat)
62
{
63
if
(kinEnergy !=
tkin
|| mat !=
currentMaterial
) {
64
65
currentMaterial
= mat;
66
tkin
= kinEnergy;
67
G4double
momLab2 =
tkin
*(
tkin
+ 2.0*
mass
);
68
69
G4double
etot =
tkin
+
mass
;
70
G4double
ptot = std::sqrt(momLab2);
71
G4double
m12 =
mass
*
mass
;
72
73
// relativistic reduced mass from publucation
74
// A.P. Martynenko, R.N. Faustov, Teoret. mat. Fiz. 64 (1985) 179
75
76
//incident particle & target nucleus
77
G4double
Ecm = std::sqrt(m12 +
targetMass
*
targetMass
+ 2.0*etot*
targetMass
);
78
G4double
mu_rel =
mass
*
targetMass
/Ecm;
79
G4double
momCM = ptot*
targetMass
/Ecm;
80
// relative system
81
mom2
= momCM*momCM;
82
invbeta2
= 1.0 + mu_rel*mu_rel/
mom2
;
83
84
factB
=
spin
/
invbeta2
;
85
factD
= std::sqrt(
mom2
)/
targetMass
;
86
cosTetMaxNuc
=
isCombined
?
87
std::max(
cosThetaMax
, 1.-
factorA2
*mat->
GetIonisation
()->
GetInvA23
()/
mom2
)
88
:
cosThetaMax
;
89
}
90
return
cosTetMaxNuc
;
91
}
92
93
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
94
G4double
double G4double
Definition:
G4Types.hh:83
G4WentzelVIRelXSection.hh
G4IonisParamMat::GetInvA23
G4double GetInvA23() const
Definition:
G4IonisParamMat.hh:145
G4Material
Definition:
G4Material.hh:117
G4Material::GetIonisation
G4IonisParamMat * GetIonisation() const
Definition:
G4Material.hh:221
G4WentzelOKandVIxSection::tkin
G4double tkin
Definition:
G4WentzelOKandVIxSection.hh:148
G4WentzelOKandVIxSection::targetMass
G4double targetMass
Definition:
G4WentzelOKandVIxSection.hh:157
G4WentzelOKandVIxSection::factorA2
G4double factorA2
Definition:
G4WentzelOKandVIxSection.hh:160
G4WentzelOKandVIxSection::factB
G4double factB
Definition:
G4WentzelOKandVIxSection.hh:161
G4WentzelOKandVIxSection::mass
G4double mass
Definition:
G4WentzelOKandVIxSection.hh:147
G4WentzelOKandVIxSection::factD
G4double factD
Definition:
G4WentzelOKandVIxSection.hh:162
G4WentzelOKandVIxSection::invbeta2
G4double invbeta2
Definition:
G4WentzelOKandVIxSection.hh:151
G4WentzelOKandVIxSection::cosThetaMax
G4double cosThetaMax
Definition:
G4WentzelOKandVIxSection.hh:142
G4WentzelOKandVIxSection::spin
G4double spin
Definition:
G4WentzelOKandVIxSection.hh:146
G4WentzelOKandVIxSection::mom2
G4double mom2
Definition:
G4WentzelOKandVIxSection.hh:149
G4WentzelOKandVIxSection::cosTetMaxNuc
G4double cosTetMaxNuc
Definition:
G4WentzelOKandVIxSection.hh:141
G4WentzelOKandVIxSection::currentMaterial
const G4Material * currentMaterial
Definition:
G4WentzelOKandVIxSection.hh:129
G4WentzelOKandVIxSection::isCombined
G4bool isCombined
Definition:
G4WentzelOKandVIxSection.hh:173
G4WentzelVIRelXSection::~G4WentzelVIRelXSection
~G4WentzelVIRelXSection() override
G4WentzelVIRelXSection::G4WentzelVIRelXSection
G4WentzelVIRelXSection()
G4WentzelVIRelXSection::SetupKinematic
G4double SetupKinematic(G4double kinEnergy, const G4Material *mat) override
Definition:
G4WentzelVIRelXSection.cc:60
geant4-v11.1.1
source
processes
electromagnetic
standard
src
G4WentzelVIRelXSection.cc
Generated by
1.9.6