Geant4 9.6.0
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 () const
 
- 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 () 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 73 of file G4ComponentSAIDTotalXS.hh.

Constructor & Destructor Documentation

◆ G4ComponentSAIDTotalXS()

G4ComponentSAIDTotalXS::G4ComponentSAIDTotalXS ( )

Definition at line 53 of file G4ComponentSAIDTotalXS.cc.

54 : G4VComponentCrossSection("xsSAID"),numberOfSaidXS(13)
55{}

◆ ~G4ComponentSAIDTotalXS()

G4ComponentSAIDTotalXS::~G4ComponentSAIDTotalXS ( )
virtual

Definition at line 57 of file G4ComponentSAIDTotalXS.cc.

58{
59 for(G4int i=0; i<numberOfSaidXS; ++i) {
60 if(elastdata[i]) {
61 delete elastdata[i];
62 elastdata[i] = 0;
63 }
64 if(inelastdata[i]) {
65 delete inelastdata[i];
66 inelastdata[i] = 0;
67 }
68 }
69}
int G4int
Definition: G4Types.hh:66

Member Function Documentation

◆ Description()

void G4ComponentSAIDTotalXS::Description ( ) const
virtual

Reimplemented from G4VComponentCrossSection.

Definition at line 166 of file G4ComponentSAIDTotalXS.cc.

167{
168}

◆ GetChargeExchangeCrossSection()

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

Definition at line 148 of file G4ComponentSAIDTotalXS.cc.

152{
153 G4double cross = 0.0;
154 G4SAIDCrossSectionType tp = GetType(prim,sec,Z,N);
155 if(saidUnknown != tp) {
156 G4int idx = G4int(tp);
157 if(!inelastdata[idx]) { Initialise(tp); }
158 if(inelastdata[idx]) {
159 cross = (inelastdata[idx])->Value(kinEnergy);
160 }
161 }
162 return cross;
163}
G4SAIDCrossSectionType
double G4double
Definition: G4Types.hh:64

◆ GetElasticElementCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 120 of file G4ComponentSAIDTotalXS.cc.

123{
124 PrintWarning(part,0,Z,G4lrint(N),
125 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
126 "Method is not implemented");
127 return 0.0;
128}
int G4lrint(double ad)
Definition: templates.hh:163

◆ GetElasticIsotopeCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 131 of file G4ComponentSAIDTotalXS.cc.

134{
135 G4double cross = 0.0;
136 G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
137 if(saidUnknown != tp) {
138 G4int idx = G4int(tp);
139 if(!elastdata[idx]) { Initialise(tp); }
140 if(elastdata[idx]) {
141 cross = (elastdata[idx])->Value(kinEnergy);
142 }
143 }
144 return cross;
145}

Referenced by G4BGGNucleonElasticXS::BuildPhysicsTable(), G4BGGPionElasticXS::BuildPhysicsTable(), G4BGGNucleonElasticXS::GetIsoCrossSection(), G4BGGPionElasticXS::GetIsoCrossSection(), and GetTotalIsotopeCrossSection().

◆ GetInelasticElementCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 92 of file G4ComponentSAIDTotalXS.cc.

95{
96 PrintWarning(part,0,Z,G4lrint(N),
97 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
98 "Method is not implemented");
99 return 0.0;
100}

◆ GetInelasticIsotopeCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 103 of file G4ComponentSAIDTotalXS.cc.

106{
107 G4double cross = 0.0;
108 G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
109 if(saidUnknown != tp) {
110 G4int idx = G4int(tp);
111 if(!inelastdata[idx]) { Initialise(tp); }
112 if(inelastdata[idx]) {
113 cross = (inelastdata[idx])->Value(kinEnergy);
114 }
115 }
116 return cross;
117}

Referenced by G4BGGNucleonInelasticXS::BuildPhysicsTable(), G4BGGPionInelasticXS::BuildPhysicsTable(), G4BGGNucleonInelasticXS::GetIsoCrossSection(), G4BGGPionInelasticXS::GetIsoCrossSection(), and GetTotalIsotopeCrossSection().

◆ GetTotalElementCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 72 of file G4ComponentSAIDTotalXS.cc.

75{
76 PrintWarning(part,0,Z,G4lrint(N),
77 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
78 "Method is not implemented");
79 return 0.0;
80}

◆ GetTotalIsotopeCrossSection()

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

Implements G4VComponentCrossSection.

Definition at line 83 of file G4ComponentSAIDTotalXS.cc.

86{
87 return GetInelasticIsotopeCrossSection(part,kinEnergy,Z,N)
88 + GetElasticIsotopeCrossSection(part,kinEnergy,Z,N);
89}
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: