Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ChipsComponentXS Class Reference

#include <G4ChipsComponentXS.hh>

+ Inheritance diagram for G4ChipsComponentXS:

Public Member Functions

 G4ChipsComponentXS ()
 
virtual ~G4ChipsComponentXS ()
 
virtual G4double GetTotalElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
 
virtual G4double GetTotalIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
 
virtual G4double GetInelasticElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
 
virtual G4double GetInelasticIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
 
virtual G4double GetElasticElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)
 
virtual G4double GetElasticIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int N)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
- Public Member Functions inherited from G4VComponentCrossSection
 G4VComponentCrossSection (const G4String &nam="")
 
virtual ~G4VComponentCrossSection ()
 
G4double GetTotalElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
virtual G4double GetTotalElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)=0
 
virtual G4double GetTotalIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
 
G4double GetInelasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
virtual G4double GetInelasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)=0
 
virtual G4double GetInelasticIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
 
G4double GetElasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
virtual G4double GetElasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)=0
 
virtual G4double GetElasticIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
 
virtual G4double ComputeQuasiElasticRatio (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
virtual void Description (std::ostream &) const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
const G4StringGetName () const
 

Detailed Description

Definition at line 76 of file G4ChipsComponentXS.hh.

Constructor & Destructor Documentation

◆ G4ChipsComponentXS()

G4ChipsComponentXS::G4ChipsComponentXS ( )

Definition at line 45 of file G4ChipsComponentXS.cc.

45 :G4VComponentCrossSection("G4ChipsComponentXS"), fUpperLimit( 10000 * GeV ),
46 fLowerLimit( 10 * MeV )
47{
50
53
56
59
62
65
68
71
74}
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
static const char * Default_Name()
G4VCrossSectionDataSet * GetCrossSectionDataSet(const G4String &name, G4bool warning=false)
static G4CrossSectionDataSetRegistry * Instance()

◆ ~G4ChipsComponentXS()

G4ChipsComponentXS::~G4ChipsComponentXS ( )
virtual

Definition at line 77 of file G4ChipsComponentXS.cc.

78{
79}

Member Function Documentation

◆ BuildPhysicsTable()

virtual void G4ChipsComponentXS::BuildPhysicsTable ( const G4ParticleDefinition )
inlinevirtual

Reimplemented from G4VComponentCrossSection.

Definition at line 112 of file G4ChipsComponentXS.hh.

113 {}

◆ DumpPhysicsTable()

virtual void G4ChipsComponentXS::DumpPhysicsTable ( const G4ParticleDefinition )
inlinevirtual

Reimplemented from G4VComponentCrossSection.

Definition at line 116 of file G4ChipsComponentXS.hh.

117 {}

◆ GetElasticElementCrossSection()

G4double G4ChipsComponentXS::GetElasticElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 190 of file G4ChipsComponentXS.cc.

192{
193 G4double momentum = std::sqrt(kinEnergy*(kinEnergy+2.*aParticle->GetPDGMass()));
194 G4int PDGcode=aParticle->GetPDGEncoding();
195
196 G4double Xelastic(0.);
197
198 if (PDGcode == 2212) // Projectile is Proton
199 {
200 Xelastic=PxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
201 } else if(PDGcode == 2112) // Projectile is Neutron
202 {
203 Xelastic=NxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
204 } else if(PDGcode == -2212) // Projectile is Anti-Proton
205 {
206 Xelastic=PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
207 } else if(PDGcode == -2112) // Projectile is Anti-Neutron
208 {
209 Xelastic=PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
210 } else if(PDGcode == 211) // Projectile is Pi+
211 {
212 Xelastic=PIPxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
213 } else if(PDGcode == -211) // Projectile is Pi-
214 {
215 Xelastic=PIMxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
216 } else if(PDGcode == 321) // Projectile is K+
217 {
218 Xelastic=KPxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
219 } else if(PDGcode == -321) // Projectile is K-
220 {
221 Xelastic=KMxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
222 }
223 return Xelastic;
224}
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
#define N
Definition: crc32.c:56

Referenced by GetElasticIsotopeCrossSection().

◆ GetElasticIsotopeCrossSection()

G4double G4ChipsComponentXS::GetElasticIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 227 of file G4ChipsComponentXS.cc.

229{ return GetElasticElementCrossSection(aParticle, kinEnergy, Z, (G4double) A); }
const G4double A[17]
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)

◆ GetInelasticElementCrossSection()

G4double G4ChipsComponentXS::GetInelasticElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 147 of file G4ChipsComponentXS.cc.

149{
150 G4double momentum = std::sqrt(kinEnergy*(kinEnergy+2.*aParticle->GetPDGMass()));
151 G4int PDGcode=aParticle->GetPDGEncoding();
152
153 G4double Xinelastic(0.);
154
155 if (PDGcode == 2212) // Projectile is Proton
156 {
157 Xinelastic = PxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
158 } else if(PDGcode == 2112) // Projectile is Neutron
159 {
160 Xinelastic = NxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
161 } else if(PDGcode == -2212) // Projectile is Anti-Proton
162 {
163 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
164 } else if(PDGcode == -2112) // Projectile is Anti-Neutron
165 {
166 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
167 } else if(PDGcode == 211) // Projectile is Pi+
168 {
169 Xinelastic = PIPxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
170 } else if(PDGcode == -211) // Projectile is Pi-
171 {
172 Xinelastic = PIMxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
173 } else if(PDGcode == 321) // Projectile is K+
174 {
175 Xinelastic = KPxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
176 } else if(PDGcode == -321) // Projectile is K-
177 {
178 Xinelastic = KMxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);;
179 }
180
181 return Xinelastic;
182}
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)

Referenced by GetInelasticIsotopeCrossSection().

◆ GetInelasticIsotopeCrossSection()

G4double G4ChipsComponentXS::GetInelasticIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 185 of file G4ChipsComponentXS.cc.

187{return GetInelasticElementCrossSection(aParticle, kinEnergy, Z, (G4double) A); }
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)

◆ GetTotalElementCrossSection()

G4double G4ChipsComponentXS::GetTotalElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 82 of file G4ChipsComponentXS.cc.

84{
85 G4double momentum = std::sqrt(kinEnergy*(kinEnergy+2.*aParticle->GetPDGMass()));
86 G4int PDGcode=aParticle->GetPDGEncoding();
87
88 G4double Xelastic(0.), Xinelastic(0.);
89
90 if (PDGcode == 2212) // Projectile is Proton
91 {
92 Xelastic = PxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
93 Xinelastic = PxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
94 } else if(PDGcode == 2112) // Projectile is Neutron
95 {
96 Xelastic = NxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
97 Xinelastic = NxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
98 } else if(PDGcode == -2212) // Projectile is Anti-Proton
99 {
100 Xelastic = PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
101 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
102 } else if(PDGcode == -2112) // Projectile is Anti-Neutron
103 {
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) // Projectile is other Anti-baryon
108 {
109 Xelastic = PBARxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
110 Xinelastic = PBARxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
111 } else if(PDGcode == 211) // Projectile is Pi+
112 {
113 Xelastic = PIPxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
114 Xinelastic = PIPxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
115 } else if(PDGcode == -211) // Projectile is Pi-
116 {
117 Xelastic = PIMxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
118 Xinelastic = PIMxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
119 } else if(PDGcode == 321) // Projectile is K+
120 {
121 Xelastic = KPxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
122 Xinelastic = KPxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
123 } else if(PDGcode == -321) // Projectile is K-
124 {
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) // Projectile is K0
128 {
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) // Projectile is hyperon
133 {
134 Xelastic = HxsManagerEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
135 Xinelastic = HxsManagerInEl->GetChipsCrossSection(momentum,Z,(G4int)N,PDGcode);
136 }
137
138 return Xelastic+Xinelastic;
139}
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)

Referenced by GetTotalIsotopeCrossSection().

◆ GetTotalIsotopeCrossSection()

G4double G4ChipsComponentXS::GetTotalIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 142 of file G4ChipsComponentXS.cc.

144{ return GetTotalElementCrossSection(aParticle, kinEnergy, Z, (G4double) A); }
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double N)

The documentation for this class was generated from the following files: