46 fLowerLimit( 10 *
MeV )
88 G4double Xelastic(0.), Xinelastic(0.);
92 Xelastic = PxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
93 Xinelastic = PxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
94 }
else if(PDGcode == 2112)
96 Xelastic = NxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
97 Xinelastic = NxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
98 }
else if(PDGcode == -2212)
100 Xelastic = PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
101 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
102 }
else if(PDGcode == -2112)
104 Xelastic = PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
105 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
106 }
else if(PDGcode == -3122 || PDGcode == -3222 || PDGcode == -3212 || PDGcode == -3112 || PDGcode == -3322
107 || PDGcode == -3312 || PDGcode == -3334)
109 Xelastic = PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
110 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
111 }
else if(PDGcode == 211)
113 Xelastic = PIPxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
114 Xinelastic = PIPxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
115 }
else if(PDGcode == -211)
117 Xelastic = PIMxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
118 Xinelastic = PIMxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
119 }
else if(PDGcode == 321)
121 Xelastic = KPxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
122 Xinelastic = KPxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
123 }
else if(PDGcode == -321)
125 Xelastic = KMxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
126 Xinelastic = KMxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
127 }
else if(PDGcode == 130 || PDGcode == 310 || PDGcode == 311 || PDGcode == -311)
129 Xelastic = KZxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
130 Xinelastic = KZxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
131 }
else if(PDGcode == 3122 || PDGcode == 3222 || PDGcode == 3112 || PDGcode == 3212
132 || PDGcode == 3312 || PDGcode == 3322 || PDGcode == 3334)
134 Xelastic = HxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
135 Xinelastic = HxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
138 return Xelastic+Xinelastic;
144 {
return GetTotalElementCrossSection(aParticle, kinEnergy, Z, (
G4double) A); }
157 Xinelastic = PxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
158 }
else if(PDGcode == 2112)
160 Xinelastic = NxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
161 }
else if(PDGcode == -2212)
163 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
164 }
else if(PDGcode == -2112)
166 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
167 }
else if(PDGcode == 211)
169 Xinelastic = PIPxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
170 }
else if(PDGcode == -211)
172 Xinelastic = PIMxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
173 }
else if(PDGcode == 321)
175 Xinelastic = KPxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
176 }
else if(PDGcode == -321)
178 Xinelastic = KMxsManagerInEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);;
187 {
return GetInelasticElementCrossSection(aParticle, kinEnergy, Z, (
G4double) A); }
200 Xelastic=PxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
201 }
else if(PDGcode == 2112)
203 Xelastic=NxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
204 }
else if(PDGcode == -2212)
206 Xelastic=PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
207 }
else if(PDGcode == -2112)
209 Xelastic=PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
210 }
else if(PDGcode == 211)
212 Xelastic=PIPxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
213 }
else if(PDGcode == -211)
215 Xelastic=PIMxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
216 }
else if(PDGcode == 321)
218 Xelastic=KPxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
219 }
else if(PDGcode == -321)
221 Xelastic=KMxsManagerEl->GetChipsCrossSection(momentum,Z,(
G4int)N,PDGcode);
229 {
return GetElasticElementCrossSection(aParticle, kinEnergy, Z, (
G4double) A); }
static const char * Default_Name()
G4ChipsHyperonElasticXS * HxsManagerEl
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static constexpr double MeV
static const char * Default_Name()
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
G4ChipsNeutronElasticXS * NxsManagerEl
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static G4CrossSectionDataSetRegistry * Instance()
G4ChipsPionMinusElasticXS * PIMxsManagerEl
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
G4double GetPDGMass() const
virtual ~G4ChipsComponentXS()
static const char * Default_Name()
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=true)
G4ChipsNeutronInelasticXS * NxsManagerInEl
G4ChipsKaonMinusInelasticXS * KMxsManagerInEl
G4ChipsPionPlusInelasticXS * PIPxsManagerInEl
double A(double temperature)
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
G4ChipsKaonZeroInelasticXS * KZxsManagerInEl
static const char * Default_Name()
G4ChipsAntiBaryonElasticXS * PBARxsManagerEl
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
static const char * Default_Name()
static const char * Default_Name()
G4ChipsHyperonInelasticXS * HxsManagerInEl
static const char * Default_Name()
G4ChipsProtonInelasticXS * PxsManagerInEl
G4ChipsPionPlusElasticXS * PIPxsManagerEl
G4ChipsKaonZeroElasticXS * KZxsManagerEl
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
G4int GetPDGEncoding() const
G4ChipsKaonPlusElasticXS * KPxsManagerEl
G4ChipsProtonElasticXS * PxsManagerEl
static const char * Default_Name()
static const char * Default_Name()
G4ChipsAntiBaryonInelasticXS * PBARxsManagerInEl
G4ChipsPionMinusInelasticXS * PIMxsManagerInEl
G4ChipsKaonPlusInelasticXS * KPxsManagerInEl
static constexpr double GeV
G4ChipsKaonMinusElasticXS * KMxsManagerEl