#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 |
Definition at line 73 of file G4ComponentSAIDTotalXS.hh.
G4ComponentSAIDTotalXS::G4ComponentSAIDTotalXS | ( | ) |
Definition at line 53 of file G4ComponentSAIDTotalXS.cc.
00054 : G4VComponentCrossSection("xsSAID"),numberOfSaidXS(13) 00055 {}
G4ComponentSAIDTotalXS::~G4ComponentSAIDTotalXS | ( | ) | [virtual] |
Definition at line 57 of file G4ComponentSAIDTotalXS.cc.
00058 { 00059 for(G4int i=0; i<numberOfSaidXS; ++i) { 00060 if(elastdata[i]) { 00061 delete elastdata[i]; 00062 elastdata[i] = 0; 00063 } 00064 if(inelastdata[i]) { 00065 delete inelastdata[i]; 00066 inelastdata[i] = 0; 00067 } 00068 } 00069 }
void G4ComponentSAIDTotalXS::Description | ( | ) | const [virtual] |
Reimplemented from G4VComponentCrossSection.
Definition at line 166 of file G4ComponentSAIDTotalXS.cc.
G4double G4ComponentSAIDTotalXS::GetChargeExchangeCrossSection | ( | const G4ParticleDefinition * | prim, | |
const G4ParticleDefinition * | sec, | |||
G4double | kinEnergy, | |||
G4int | , | |||
G4int | ||||
) |
Definition at line 148 of file G4ComponentSAIDTotalXS.cc.
References saidUnknown.
00152 { 00153 G4double cross = 0.0; 00154 G4SAIDCrossSectionType tp = GetType(prim,sec,Z,N); 00155 if(saidUnknown != tp) { 00156 G4int idx = G4int(tp); 00157 if(!inelastdata[idx]) { Initialise(tp); } 00158 if(inelastdata[idx]) { 00159 cross = (inelastdata[idx])->Value(kinEnergy); 00160 } 00161 } 00162 return cross; 00163 }
G4double G4ComponentSAIDTotalXS::GetElasticElementCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4double | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 120 of file G4ComponentSAIDTotalXS.cc.
References G4lrint().
00123 { 00124 PrintWarning(part,0,Z,G4lrint(N), 00125 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection", 00126 "Method is not implemented"); 00127 return 0.0; 00128 }
G4double G4ComponentSAIDTotalXS::GetElasticIsotopeCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4int | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 131 of file G4ComponentSAIDTotalXS.cc.
References saidUnknown.
Referenced by G4BGGPionElasticXS::BuildPhysicsTable(), G4BGGNucleonElasticXS::BuildPhysicsTable(), G4BGGPionElasticXS::GetIsoCrossSection(), G4BGGNucleonElasticXS::GetIsoCrossSection(), and GetTotalIsotopeCrossSection().
00134 { 00135 G4double cross = 0.0; 00136 G4SAIDCrossSectionType tp = GetType(part,0,Z,N); 00137 if(saidUnknown != tp) { 00138 G4int idx = G4int(tp); 00139 if(!elastdata[idx]) { Initialise(tp); } 00140 if(elastdata[idx]) { 00141 cross = (elastdata[idx])->Value(kinEnergy); 00142 } 00143 } 00144 return cross; 00145 }
G4double G4ComponentSAIDTotalXS::GetInelasticElementCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4double | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 92 of file G4ComponentSAIDTotalXS.cc.
References G4lrint().
00095 { 00096 PrintWarning(part,0,Z,G4lrint(N), 00097 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection", 00098 "Method is not implemented"); 00099 return 0.0; 00100 }
G4double G4ComponentSAIDTotalXS::GetInelasticIsotopeCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4int | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 103 of file G4ComponentSAIDTotalXS.cc.
References saidUnknown.
Referenced by G4BGGPionInelasticXS::BuildPhysicsTable(), G4BGGNucleonInelasticXS::BuildPhysicsTable(), G4BGGPionInelasticXS::GetIsoCrossSection(), G4BGGNucleonInelasticXS::GetIsoCrossSection(), and GetTotalIsotopeCrossSection().
00106 { 00107 G4double cross = 0.0; 00108 G4SAIDCrossSectionType tp = GetType(part,0,Z,N); 00109 if(saidUnknown != tp) { 00110 G4int idx = G4int(tp); 00111 if(!inelastdata[idx]) { Initialise(tp); } 00112 if(inelastdata[idx]) { 00113 cross = (inelastdata[idx])->Value(kinEnergy); 00114 } 00115 } 00116 return cross; 00117 }
G4double G4ComponentSAIDTotalXS::GetTotalElementCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4double | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 72 of file G4ComponentSAIDTotalXS.cc.
References G4lrint().
00075 { 00076 PrintWarning(part,0,Z,G4lrint(N), 00077 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection", 00078 "Method is not implemented"); 00079 return 0.0; 00080 }
G4double G4ComponentSAIDTotalXS::GetTotalIsotopeCrossSection | ( | const G4ParticleDefinition * | , | |
G4double | kinEnergy, | |||
G4int | , | |||
G4int | ||||
) | [virtual] |
Implements G4VComponentCrossSection.
Definition at line 83 of file G4ComponentSAIDTotalXS.cc.
References GetElasticIsotopeCrossSection(), and GetInelasticIsotopeCrossSection().
00086 { 00087 return GetInelasticIsotopeCrossSection(part,kinEnergy,Z,N) 00088 + GetElasticIsotopeCrossSection(part,kinEnergy,Z,N); 00089 }