G4ComponentSAIDTotalXS Class Reference

#include <G4ComponentSAIDTotalXS.hh>

Inheritance diagram for G4ComponentSAIDTotalXS:

G4VComponentCrossSection

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

Detailed Description

Definition at line 73 of file G4ComponentSAIDTotalXS.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

void G4ComponentSAIDTotalXS::Description (  )  const [virtual]

Reimplemented from G4VComponentCrossSection.

Definition at line 166 of file G4ComponentSAIDTotalXS.cc.

00167 {
00168 }

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:41 2013 for Geant4 by  doxygen 1.4.7