Geant4
10.7.0
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
()
53
{}
54
55
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
56
57
G4WentzelVIRelXSection::~G4WentzelVIRelXSection
()
58
{}
59
60
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
61
62
G4double
G4WentzelVIRelXSection::SetupKinematic
(
G4double
kinEnergy,
63
const
G4Material
* mat)
64
{
65
if
(kinEnergy !=
tkin
|| mat !=
currentMaterial
) {
66
67
currentMaterial
= mat;
68
tkin
= kinEnergy;
69
G4double
momLab2 =
tkin
*(
tkin
+ 2.0*
mass
);
70
71
G4double
etot =
tkin
+
mass
;
72
G4double
ptot = std::sqrt(momLab2);
73
G4double
m12 =
mass
*
mass
;
74
75
// relativistic reduced mass from publucation
76
// A.P. Martynenko, R.N. Faustov, Teoret. mat. Fiz. 64 (1985) 179
77
78
//incident particle & target nucleus
79
G4double
Ecm = std::sqrt(m12 +
targetMass
*
targetMass
+ 2.0*etot*
targetMass
);
80
G4double
mu_rel =
mass
*
targetMass
/Ecm;
81
G4double
momCM = ptot*
targetMass
/Ecm;
82
// relative system
83
mom2
= momCM*momCM;
84
invbeta2
= 1.0 + mu_rel*mu_rel/
mom2
;
85
86
factB
=
spin
/
invbeta2
;
87
factD
= std::sqrt(
mom2
)/
targetMass
;
88
cosTetMaxNuc
=
isCombined
?
89
std::max(
cosThetaMax
, 1.-
factorA2
*mat->
GetIonisation
()->
GetInvA23
()/
mom2
)
90
:
cosThetaMax
;
91
}
92
return
cosTetMaxNuc
;
93
}
94
95
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
96
G4double
double G4double
Definition:
G4Types.hh:83
G4WentzelVIRelXSection.hh
G4IonisParamMat::GetInvA23
G4double GetInvA23() const
Definition:
G4IonisParamMat.hh:146
G4Material
Definition:
G4Material.hh:118
G4Material::GetIonisation
G4IonisParamMat * GetIonisation() const
Definition:
G4Material.hh:224
G4WentzelOKandVIxSection::tkin
G4double tkin
Definition:
G4WentzelOKandVIxSection.hh:162
G4WentzelOKandVIxSection::targetMass
G4double targetMass
Definition:
G4WentzelOKandVIxSection.hh:173
G4WentzelOKandVIxSection::factorA2
G4double factorA2
Definition:
G4WentzelOKandVIxSection.hh:176
G4WentzelOKandVIxSection::factB
G4double factB
Definition:
G4WentzelOKandVIxSection.hh:177
G4WentzelOKandVIxSection::mass
G4double mass
Definition:
G4WentzelOKandVIxSection.hh:161
G4WentzelOKandVIxSection::factD
G4double factD
Definition:
G4WentzelOKandVIxSection.hh:179
G4WentzelOKandVIxSection::invbeta2
G4double invbeta2
Definition:
G4WentzelOKandVIxSection.hh:165
G4WentzelOKandVIxSection::cosThetaMax
G4double cosThetaMax
Definition:
G4WentzelOKandVIxSection.hh:152
G4WentzelOKandVIxSection::spin
G4double spin
Definition:
G4WentzelOKandVIxSection.hh:160
G4WentzelOKandVIxSection::mom2
G4double mom2
Definition:
G4WentzelOKandVIxSection.hh:163
G4WentzelOKandVIxSection::cosTetMaxNuc
G4double cosTetMaxNuc
Definition:
G4WentzelOKandVIxSection.hh:151
G4WentzelOKandVIxSection::currentMaterial
const G4Material * currentMaterial
Definition:
G4WentzelOKandVIxSection.hh:129
G4WentzelOKandVIxSection::isCombined
G4bool isCombined
Definition:
G4WentzelOKandVIxSection.hh:146
G4WentzelVIRelXSection::G4WentzelVIRelXSection
G4WentzelVIRelXSection()
Definition:
G4WentzelVIRelXSection.cc:52
G4WentzelVIRelXSection::~G4WentzelVIRelXSection
virtual ~G4WentzelVIRelXSection()
Definition:
G4WentzelVIRelXSection.cc:57
G4WentzelVIRelXSection::SetupKinematic
virtual G4double SetupKinematic(G4double kinEnergy, const G4Material *mat)
Definition:
G4WentzelVIRelXSection.cc:62
geant4-v10.7.0
source
processes
electromagnetic
standard
src
G4WentzelVIRelXSection.cc
Generated by
1.9.6