Geant4
10.01.p01
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
G4ChipsKaonZeroElasticXS.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: G4ChipsKaonZeroElasticXS 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 "
G4ChipsKaonZeroElasticXS.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
(
G4ChipsKaonZeroElasticXS
);
53
54
55
56
G4ChipsKaonZeroElasticXS::G4ChipsKaonZeroElasticXS
():
G4VCrossSectionDataSet
(Default_Name())
57
{
58
59
lastLEN
=0;
// Pointer to the lastArray of LowEn CS
60
lastHEN
=0;
// Pointer to the lastArray of HighEnCS
61
lastN
=0;
// The last N of calculated nucleus
62
lastZ
=0;
// The last Z of calculated nucleus
63
lastP
=0.;
// Last used in cross section Momentum
64
lastTH
=0.;
// Last threshold momentum
65
lastCS
=0.;
// Last value of the Cross Section
66
lastI
=0;
// The last position in the DAMDB
67
68
theKMinusCS
= (
G4ChipsKaonMinusElasticXS
*)
G4CrossSectionDataSetRegistry::Instance
()->
GetCrossSectionDataSet
(
G4ChipsKaonMinusElasticXS::Default_Name
());;
69
theKPlusCS
= (
G4ChipsKaonPlusElasticXS
*)
G4CrossSectionDataSetRegistry::Instance
()->
GetCrossSectionDataSet
(
G4ChipsKaonPlusElasticXS::Default_Name
());
70
}
71
72
73
G4ChipsKaonZeroElasticXS::~G4ChipsKaonZeroElasticXS
()
74
{
75
}
76
77
G4bool
G4ChipsKaonZeroElasticXS::IsIsoApplicable
(
const
G4DynamicParticle
*,
G4int
,
G4int
,
78
const
G4Element
*,
79
const
G4Material
*)
80
{
81
return
true
;
82
}
83
84
85
86
// The main member function giving the collision cross section (P is in IU, CS is in mb)
87
// Make pMom in independent units ! (Now it is MeV)
88
89
G4double
G4ChipsKaonZeroElasticXS::GetIsoCrossSection
(
const
G4DynamicParticle
* Pt,
G4int
tgZ,
G4int
A
,
90
const
G4Isotope
*,
91
const
G4Element
*,
92
const
G4Material
*)
93
{
94
G4double
pMom=Pt->
GetTotalMomentum
();
95
G4int
N = A - tgZ;
96
97
return
GetChipsCrossSection
(pMom, tgZ, N, 311);
98
}
99
100
G4double
G4ChipsKaonZeroElasticXS::GetChipsCrossSection
(
G4double
mom,
G4int
Z,
G4int
N,
G4int
pdg)
101
{
102
return
(
theKMinusCS
->
GetChipsCrossSection
(mom,Z,N,pdg)
103
+
theKPlusCS
->
GetChipsCrossSection
(mom,Z,N,pdg))/2;
104
}
105
106
G4CrossSectionDataSetRegistry::GetCrossSectionDataSet
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
Definition:
G4CrossSectionDataSetRegistry.cc:144
G4ChipsKaonZeroElasticXS::lastI
G4int lastI
Definition:
G4ChipsKaonZeroElasticXS.hh:85
G4ChipsKaonZeroElasticXS::IsIsoApplicable
virtual G4bool IsIsoApplicable(const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat)
Definition:
G4ChipsKaonZeroElasticXS.cc:77
G4ChipsKaonZeroElasticXS::lastLEN
G4double * lastLEN
Definition:
G4ChipsKaonZeroElasticXS.hh:78
G4ChipsKaonZeroElasticXS::GetChipsCrossSection
G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonZeroElasticXS.cc:100
G4ChipsKaonZeroElasticXS::GetIsoCrossSection
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int tgZ, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
Definition:
G4ChipsKaonZeroElasticXS.cc:89
G4CrossSectionFactory.hh
G4Material
Definition:
G4Material.hh:120
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
G4Element
Definition:
G4Element.hh:97
G4DynamicParticle.hh
G4ChipsKaonZeroElasticXS::lastTH
G4double lastTH
Definition:
G4ChipsKaonZeroElasticXS.hh:83
G4CrossSectionDataSetRegistry.hh
G4ChipsKaonZeroElasticXS::lastCS
G4double lastCS
Definition:
G4ChipsKaonZeroElasticXS.hh:84
G4VCrossSectionDataSet
Definition:
G4VCrossSectionDataSet.hh:70
G4int
int G4int
Definition:
G4Types.hh:78
G4ChipsKaonZeroElasticXS::~G4ChipsKaonZeroElasticXS
~G4ChipsKaonZeroElasticXS()
Definition:
G4ChipsKaonZeroElasticXS.cc:73
G4ChipsKaonZeroElasticXS::theKPlusCS
G4ChipsKaonPlusElasticXS * theKPlusCS
Definition:
G4ChipsKaonZeroElasticXS.hh:76
G4ChipsKaonZeroElasticXS::lastP
G4double lastP
Definition:
G4ChipsKaonZeroElasticXS.hh:82
G4DynamicParticle::GetTotalMomentum
G4double GetTotalMomentum() const
G4KaonZeroLong.hh
G4ChipsKaonMinusElasticXS
Definition:
G4ChipsKaonMinusElasticXS.hh:46
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4Isotope
Definition:
G4Isotope.hh:72
G4CrossSectionDataSetRegistry::Instance
static G4CrossSectionDataSetRegistry * Instance()
Definition:
G4CrossSectionDataSetRegistry.cc:81
G4ChipsKaonPlusElasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonPlusElasticXS.hh:54
G4ParticleDefinition.hh
G4ChipsKaonMinusElasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonMinusElasticXS.cc:178
A
static const G4double A[nN]
Definition:
G4ElectroNuclearCrossSection.cc:115
G4ChipsKaonZeroElasticXS.hh
G4ChipsKaonZeroElasticXS::theKMinusCS
G4ChipsKaonMinusElasticXS * theKMinusCS
Definition:
G4ChipsKaonZeroElasticXS.hh:75
G4KaonZero.hh
G4_DECLARE_XS_FACTORY
G4_DECLARE_XS_FACTORY(G4ChipsKaonZeroElasticXS)
G4ChipsKaonPlusElasticXS::GetChipsCrossSection
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
Definition:
G4ChipsKaonPlusElasticXS.cc:180
G4ChipsKaonPlusElasticXS
Definition:
G4ChipsKaonPlusElasticXS.hh:46
G4ChipsKaonMinusElasticXS::Default_Name
static const char * Default_Name()
Definition:
G4ChipsKaonMinusElasticXS.hh:55
G4AntiKaonZero.hh
G4double
double G4double
Definition:
G4Types.hh:76
G4ChipsKaonZeroElasticXS::lastN
G4int lastN
Definition:
G4ChipsKaonZeroElasticXS.hh:80
G4KaonZeroShort.hh
G4ChipsKaonZeroElasticXS
Definition:
G4ChipsKaonZeroElasticXS.hh:49
G4ChipsKaonZeroElasticXS::G4ChipsKaonZeroElasticXS
G4ChipsKaonZeroElasticXS()
Definition:
G4ChipsKaonZeroElasticXS.cc:56
G4ChipsKaonZeroElasticXS::lastZ
G4int lastZ
Definition:
G4ChipsKaonZeroElasticXS.hh:81
G4ChipsKaonZeroElasticXS::lastHEN
G4double * lastHEN
Definition:
G4ChipsKaonZeroElasticXS.hh:79
geant4.10.01.p01
source
processes
hadronic
cross_sections
src
G4ChipsKaonZeroElasticXS.cc
Generated on Wed Dec 30 2015 22:42:52 for Geant4 by
1.8.8