Geant4
10.01.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
G4bool
G4ChipsKaonZeroInelasticXS::IsIsoApplicable
(
const
G4DynamicParticle
*,
G4int
,
G4int
,
75
const
G4Element
*,
76
const
G4Material
*)
77
{
78
return
true
;
79
}
80
81
82
83
// The main member function giving the collision cross section (P is in IU, CS is in mb)
84
// Make pMom in independent units ! (Now it is MeV)
85
86
G4double
G4ChipsKaonZeroInelasticXS::GetIsoCrossSection
(
const
G4DynamicParticle
* Pt,
G4int
tgZ,
G4int
A
,
87
const
G4Isotope
*,
88
const
G4Element
*,
89
const
G4Material
*)
90
{
91
G4double
pMom=Pt->
GetTotalMomentum
();
92
G4int
N = A - tgZ;
93
94
return
GetChipsCrossSection
(pMom, tgZ, N, 311);
95
}
96
97
G4double
G4ChipsKaonZeroInelasticXS::GetChipsCrossSection
(
G4double
mom,
G4int
Z,
G4int
N,
G4int
pdg)
98
{
99
return
(
theKMinusCS
->
GetChipsCrossSection
(mom,Z,N,pdg)
100
+
theKPlusCS
->
GetChipsCrossSection
(mom,Z,N,pdg))/2;
101
}
G4CrossSectionDataSetRegistry::GetCrossSectionDataSet
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
Definition:
G4CrossSectionDataSetRegistry.cc:144
G4ChipsKaonZeroInelasticXS::theKMinusCS
G4ChipsKaonMinusInelasticXS * theKMinusCS
Definition:
G4ChipsKaonZeroInelasticXS.hh:76
G4ChipsKaonZeroInelasticXS.hh
G4ChipsKaonPlusInelasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonPlusInelasticXS.cc:129
G4ChipsKaonZeroInelasticXS::lastI
G4int lastI
Definition:
G4ChipsKaonZeroInelasticXS.hh:86
G4ChipsKaonZeroInelasticXS::lastN
G4int lastN
Definition:
G4ChipsKaonZeroInelasticXS.hh:81
G4CrossSectionFactory.hh
G4Material
Definition:
G4Material.hh:120
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
G4Element
Definition:
G4Element.hh:97
G4DynamicParticle.hh
G4ChipsKaonZeroInelasticXS::lastHEN
G4double * lastHEN
Definition:
G4ChipsKaonZeroInelasticXS.hh:80
G4ChipsKaonPlusInelasticXS
Definition:
G4ChipsKaonPlusInelasticXS.hh:47
G4CrossSectionDataSetRegistry.hh
G4ChipsKaonZeroInelasticXS::lastP
G4double lastP
Definition:
G4ChipsKaonZeroInelasticXS.hh:83
G4ChipsKaonPlusInelasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonPlusInelasticXS.hh:56
G4VCrossSectionDataSet
Definition:
G4VCrossSectionDataSet.hh:70
G4int
int G4int
Definition:
G4Types.hh:78
G4DynamicParticle::GetTotalMomentum
G4double GetTotalMomentum() const
G4KaonZeroLong.hh
G4ChipsKaonZeroInelasticXS::lastTH
G4double lastTH
Definition:
G4ChipsKaonZeroInelasticXS.hh:84
G4ChipsKaonZeroInelasticXS::lastLEN
G4double * lastLEN
Definition:
G4ChipsKaonZeroInelasticXS.hh:79
G4ChipsKaonZeroInelasticXS::~G4ChipsKaonZeroInelasticXS
~G4ChipsKaonZeroInelasticXS()
Definition:
G4ChipsKaonZeroInelasticXS.cc:70
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4Isotope
Definition:
G4Isotope.hh:72
G4CrossSectionDataSetRegistry::Instance
static G4CrossSectionDataSetRegistry * Instance()
Definition:
G4CrossSectionDataSetRegistry.cc:81
G4ParticleDefinition.hh
A
static const G4double A[nN]
Definition:
G4ElectroNuclearCrossSection.cc:115
G4ChipsKaonMinusInelasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonMinusInelasticXS.cc:112
G4KaonZero.hh
G4ChipsKaonMinusInelasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonMinusInelasticXS.hh:55
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:86
G4ChipsKaonZeroInelasticXS::lastZ
G4int lastZ
Definition:
G4ChipsKaonZeroInelasticXS.hh:82
G4ChipsKaonZeroInelasticXS
Definition:
G4ChipsKaonZeroInelasticXS.hh:49
G4AntiKaonZero.hh
G4double
double G4double
Definition:
G4Types.hh:76
G4ChipsKaonZeroInelasticXS::theKPlusCS
G4ChipsKaonPlusInelasticXS * theKPlusCS
Definition:
G4ChipsKaonZeroInelasticXS.hh:77
G4KaonZeroShort.hh
G4ChipsKaonZeroInelasticXS::GetChipsCrossSection
G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonZeroInelasticXS.cc:97
G4ChipsKaonZeroInelasticXS::IsIsoApplicable
virtual G4bool IsIsoApplicable(const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat)
Definition:
G4ChipsKaonZeroInelasticXS.cc:74
G4ChipsKaonZeroInelasticXS::G4ChipsKaonZeroInelasticXS
G4ChipsKaonZeroInelasticXS()
Definition:
G4ChipsKaonZeroInelasticXS.cc:54
G4_DECLARE_XS_FACTORY
G4_DECLARE_XS_FACTORY(G4ChipsKaonZeroInelasticXS)
G4ChipsKaonZeroInelasticXS::lastCS
G4double lastCS
Definition:
G4ChipsKaonZeroInelasticXS.hh:85
G4ChipsKaonMinusInelasticXS
Definition:
G4ChipsKaonMinusInelasticXS.hh:46
geant4.10.01.p02
source
processes
hadronic
cross_sections
src
G4ChipsKaonZeroInelasticXS.cc
Generated on Wed Dec 30 2015 22:43:30 for Geant4 by
1.8.8