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

#include <G4ComponentSAIDTotalXS.hh>

+ Inheritance diagram for G4ComponentSAIDTotalXS:

Public Member Functions

 G4ComponentSAIDTotalXS ()
 
virtual ~G4ComponentSAIDTotalXS ()
 
virtual G4double GetTotalElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
 
virtual G4double GetTotalIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
virtual G4double GetInelasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
 
virtual G4double GetInelasticIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
virtual G4double GetElasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
 
virtual G4double GetElasticIsotopeCrossSection (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
G4double GetChargeExchangeCrossSection (const G4ParticleDefinition *prim, const G4ParticleDefinition *sec, G4double kinEnergy, G4int, G4int)
 
virtual void Description (std::ostream &) const final
 
- Public Member Functions inherited from G4VComponentCrossSection
 G4VComponentCrossSection (const G4String &nam="")
 
virtual ~G4VComponentCrossSection ()
 
G4double GetTotalElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
G4double GetInelasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
G4double GetElasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
virtual G4double ComputeQuasiElasticRatio (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
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 74 of file G4ComponentSAIDTotalXS.hh.

Constructor & Destructor Documentation

◆ G4ComponentSAIDTotalXS()

G4ComponentSAIDTotalXS::G4ComponentSAIDTotalXS ( )

Definition at line 53 of file G4ComponentSAIDTotalXS.cc.

54 : G4VComponentCrossSection("xsSAID")
55{
56 for(G4int i=0; i<numberOfSaidXS; ++i) {
57 elastdata[i] = nullptr;
58 inelastdata[i] = nullptr;
59 }
60}
int G4int
Definition G4Types.hh:85
G4VComponentCrossSection(const G4String &nam="")

◆ ~G4ComponentSAIDTotalXS()

G4ComponentSAIDTotalXS::~G4ComponentSAIDTotalXS ( )
virtual

Definition at line 62 of file G4ComponentSAIDTotalXS.cc.

63{
64 for(G4int i=0; i<numberOfSaidXS; ++i) {
65 if(elastdata[i]) {
66 delete elastdata[i];
67 elastdata[i] = nullptr;
68 }
69 if(inelastdata[i]) {
70 delete inelastdata[i];
71 inelastdata[i] = nullptr;
72 }
73 }
74}

Member Function Documentation

◆ Description()

void G4ComponentSAIDTotalXS::Description ( std::ostream & ) const
finalvirtual

Reimplemented from G4VComponentCrossSection.

Definition at line 170 of file G4ComponentSAIDTotalXS.cc.

171{
172}

◆ GetChargeExchangeCrossSection()

G4double G4ComponentSAIDTotalXS::GetChargeExchangeCrossSection ( const G4ParticleDefinition * prim,
const G4ParticleDefinition * sec,
G4double kinEnergy,
G4int Z,
G4int N )

Definition at line 153 of file G4ComponentSAIDTotalXS.cc.

157{
158 G4double cross = 0.0;
159 G4SAIDCrossSectionType tp = GetType(prim,sec,Z,N);
160 if(saidUnknown != tp) {
161 G4int idx = G4int(tp);
162 if(!inelastdata[idx]) { Initialise(tp); }
163 if(inelastdata[idx]) {
164 cross = (inelastdata[idx])->Value(kinEnergy);
165 }
166 }
167 return cross;
168}
double G4double
Definition G4Types.hh:83
#define N
Definition crc32.c:57

◆ GetElasticElementCrossSection()

G4double G4ComponentSAIDTotalXS::GetElasticElementCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4double N )
virtual

Implements G4VComponentCrossSection.

Definition at line 125 of file G4ComponentSAIDTotalXS.cc.

128{
129 PrintWarning(part,0,Z,G4lrint(N),
130 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
131 "Method is not implemented");
132 return 0.0;
133}
int G4lrint(double ad)
Definition templates.hh:134

◆ GetElasticIsotopeCrossSection()

G4double G4ComponentSAIDTotalXS::GetElasticIsotopeCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4int N )
virtual

Implements G4VComponentCrossSection.

Definition at line 136 of file G4ComponentSAIDTotalXS.cc.

139{
140 G4double cross = 0.0;
141 G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
142 if(saidUnknown != tp) {
143 G4int idx = G4int(tp);
144 if(!elastdata[idx]) { Initialise(tp); }
145 if(elastdata[idx]) {
146 cross = (elastdata[idx])->Value(kinEnergy);
147 }
148 }
149 return cross;
150}

Referenced by GetTotalIsotopeCrossSection().

◆ GetInelasticElementCrossSection()

G4double G4ComponentSAIDTotalXS::GetInelasticElementCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4double N )
virtual

Implements G4VComponentCrossSection.

Definition at line 97 of file G4ComponentSAIDTotalXS.cc.

100{
101 PrintWarning(part,0,Z,G4lrint(N),
102 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
103 "Method is not implemented");
104 return 0.0;
105}

◆ GetInelasticIsotopeCrossSection()

G4double G4ComponentSAIDTotalXS::GetInelasticIsotopeCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4int N )
virtual

Implements G4VComponentCrossSection.

Definition at line 108 of file G4ComponentSAIDTotalXS.cc.

111{
112 G4double cross = 0.0;
113 G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
114 if(saidUnknown != tp) {
115 G4int idx = G4int(tp);
116 if(!inelastdata[idx]) { Initialise(tp); }
117 if(inelastdata[idx]) {
118 cross = (inelastdata[idx])->Value(kinEnergy);
119 }
120 }
121 return cross;
122}

Referenced by GetTotalIsotopeCrossSection().

◆ GetTotalElementCrossSection()

G4double G4ComponentSAIDTotalXS::GetTotalElementCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4double N )
virtual

Implements G4VComponentCrossSection.

Definition at line 77 of file G4ComponentSAIDTotalXS.cc.

80{
81 PrintWarning(part,0,Z,G4lrint(N),
82 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
83 "Method is not implemented");
84 return 0.0;
85}

◆ GetTotalIsotopeCrossSection()

G4double G4ComponentSAIDTotalXS::GetTotalIsotopeCrossSection ( const G4ParticleDefinition * part,
G4double kinEnergy,
G4int Z,
G4int N )
virtual

Implements G4VComponentCrossSection.

Definition at line 88 of file G4ComponentSAIDTotalXS.cc.

91{
92 return GetInelasticIsotopeCrossSection(part,kinEnergy,Z,N)
93 + GetElasticIsotopeCrossSection(part,kinEnergy,Z,N);
94}
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)

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