Geant4
11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ChipsKaonZeroInelasticXS.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
// The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02
28
//
29
//
30
// G4 Physics class: G4ChipsKaonZeroInelasticXS for gamma+A cross sections
31
// Created: M.V. Kossov, CERN/ITEP(Moscow), 20-Dec-03
32
// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Feb-04
33
//
34
// ****************************************************************************************
35
// Short description: Cross-sections extracted (by W.Pokorski) from the CHIPS package for
36
// K(zero)-nuclear interactions. Original author: M. Kossov
37
// -------------------------------------------------------------------------------------
38
//
39
40
#include "
G4ChipsKaonZeroInelasticXS.hh
"
41
#include "
G4DynamicParticle.hh
"
42
#include "
G4ParticleDefinition.hh
"
43
#include "
G4KaonZero.hh
"
44
#include "
G4KaonZeroLong.hh
"
45
#include "
G4KaonZeroShort.hh
"
46
#include "
G4AntiKaonZero.hh
"
47
#include "
G4CrossSectionDataSetRegistry.hh
"
48
49
// factory
50
#include "
G4CrossSectionFactory.hh
"
51
//
52
G4_DECLARE_XS_FACTORY
(
G4ChipsKaonZeroInelasticXS
);
53
54
G4ChipsKaonZeroInelasticXS::G4ChipsKaonZeroInelasticXS
():
G4VCrossSectionDataSet
(Default_Name())
55
{
56
lastLEN=0;
// Pointer to the lastArray of LowEn CS
57
lastHEN=0;
// Pointer to the lastArray of HighEnCS
58
lastN=0;
// The last N of calculated nucleus
59
lastZ=0;
// The last Z of calculated nucleus
60
lastP=0.;
// Last used in cross section Momentum
61
lastTH=0.;
// Last threshold momentum
62
lastCS=0.;
// Last value of the Cross Section
63
lastI=0;
// The last position in the DAMDB
64
65
theKMinusCS = (
G4ChipsKaonMinusInelasticXS
*)
G4CrossSectionDataSetRegistry::Instance
()->
GetCrossSectionDataSet
(
G4ChipsKaonMinusInelasticXS::Default_Name
());;
66
theKPlusCS = (
G4ChipsKaonPlusInelasticXS
*)
G4CrossSectionDataSetRegistry::Instance
()->
GetCrossSectionDataSet
(
G4ChipsKaonPlusInelasticXS::Default_Name
());
67
}
68
69
70
G4ChipsKaonZeroInelasticXS::~G4ChipsKaonZeroInelasticXS
()
71
{
72
}
73
74
void
75
G4ChipsKaonZeroInelasticXS::CrossSectionDescription
(std::ostream& outFile)
const
76
{
77
outFile <<
"G4ChipsKaonZeroInelasticXS provides the inelastic cross\n"
78
<<
"section for K0 nucleus scattering as a function of incident\n"
79
<<
"momentum. The cross section is calculated using M. Kossov's\n"
80
<<
"CHIPS parameterization of cross section data.\n"
;
81
}
82
83
G4bool
G4ChipsKaonZeroInelasticXS::IsIsoApplicable
(
const
G4DynamicParticle
*,
G4int
,
G4int
,
84
const
G4Element
*,
85
const
G4Material
*)
86
{
87
return
true
;
88
}
89
90
91
92
// The main member function giving the collision cross section (P is in IU, CS is in mb)
93
// Make pMom in independent units ! (Now it is MeV)
94
95
G4double
G4ChipsKaonZeroInelasticXS::GetIsoCrossSection
(
const
G4DynamicParticle
* Pt,
G4int
tgZ,
G4int
A
,
96
const
G4Isotope
*,
97
const
G4Element
*,
98
const
G4Material
*)
99
{
100
G4double
pMom=Pt->
GetTotalMomentum
();
101
G4int
N
=
A
- tgZ;
102
103
return
GetChipsCrossSection
(pMom, tgZ,
N
, 311);
104
}
105
106
G4double
G4ChipsKaonZeroInelasticXS::GetChipsCrossSection
(
G4double
mom,
G4int
Z
,
G4int
N
,
G4int
pdg)
107
{
108
return
(theKMinusCS->
GetChipsCrossSection
(mom,
Z
,
N
,pdg)
109
+theKPlusCS->
GetChipsCrossSection
(mom,
Z
,
N
,pdg))/2;
110
}
G4AntiKaonZero.hh
G4ChipsKaonZeroInelasticXS.hh
G4CrossSectionDataSetRegistry.hh
G4CrossSectionFactory.hh
G4_DECLARE_XS_FACTORY
#define G4_DECLARE_XS_FACTORY(cross_section)
Definition:
G4CrossSectionFactory.hh:123
G4DynamicParticle.hh
G4KaonZeroLong.hh
G4KaonZeroShort.hh
G4KaonZero.hh
G4ParticleDefinition.hh
G4double
double G4double
Definition:
G4Types.hh:83
G4bool
bool G4bool
Definition:
G4Types.hh:86
G4int
int G4int
Definition:
G4Types.hh:85
Z
const G4int Z[17]
Definition:
G4WaterStopping.cc:51
A
const G4double A[17]
Definition:
G4WaterStopping.cc:53
G4ChipsKaonMinusInelasticXS
Definition:
G4ChipsKaonMinusInelasticXS.hh:46
G4ChipsKaonMinusInelasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonMinusInelasticXS.cc:121
G4ChipsKaonMinusInelasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonMinusInelasticXS.hh:54
G4ChipsKaonPlusInelasticXS
Definition:
G4ChipsKaonPlusInelasticXS.hh:48
G4ChipsKaonPlusInelasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonPlusInelasticXS.cc:137
G4ChipsKaonPlusInelasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonPlusInelasticXS.hh:56
G4ChipsKaonZeroInelasticXS
Definition:
G4ChipsKaonZeroInelasticXS.hh:50
G4ChipsKaonZeroInelasticXS::~G4ChipsKaonZeroInelasticXS
~G4ChipsKaonZeroInelasticXS()
Definition:
G4ChipsKaonZeroInelasticXS.cc:70
G4ChipsKaonZeroInelasticXS::GetChipsCrossSection
G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonZeroInelasticXS.cc:106
G4ChipsKaonZeroInelasticXS::CrossSectionDescription
virtual void CrossSectionDescription(std::ostream &) const
Definition:
G4ChipsKaonZeroInelasticXS.cc:75
G4ChipsKaonZeroInelasticXS::GetIsoCrossSection
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int tgZ, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
Definition:
G4ChipsKaonZeroInelasticXS.cc:95
G4ChipsKaonZeroInelasticXS::IsIsoApplicable
virtual G4bool IsIsoApplicable(const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat)
Definition:
G4ChipsKaonZeroInelasticXS.cc:83
G4ChipsKaonZeroInelasticXS::G4ChipsKaonZeroInelasticXS
G4ChipsKaonZeroInelasticXS()
Definition:
G4ChipsKaonZeroInelasticXS.cc:54
G4CrossSectionDataSetRegistry::GetCrossSectionDataSet
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=false)
Definition:
G4CrossSectionDataSetRegistry.cc:178
G4CrossSectionDataSetRegistry::Instance
static G4CrossSectionDataSetRegistry * Instance()
Definition:
G4CrossSectionDataSetRegistry.cc:71
G4DynamicParticle
Definition:
G4DynamicParticle.hh:65
G4DynamicParticle::GetTotalMomentum
G4double GetTotalMomentum() const
G4Element
Definition:
G4Element.hh:98
G4Isotope
Definition:
G4Isotope.hh:72
G4Material
Definition:
G4Material.hh:117
G4VCrossSectionDataSet
Definition:
G4VCrossSectionDataSet.hh:70
N
#define N
Definition:
crc32.c:56
geant4-v11.1.1
source
processes
hadronic
cross_sections
src
G4ChipsKaonZeroInelasticXS.cc
Generated by
1.9.6