Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
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
 
- 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 G4String & GetName () const
 

Detailed Description

Definition at line 74 of file G4ComponentSAIDTotalXS.hh.

Constructor & Destructor Documentation

G4ComponentSAIDTotalXS::G4ComponentSAIDTotalXS ( )

Definition at line 50 of file G4ComponentSAIDTotalXS.cc.

References numberOfSaidXS.

51  : G4VComponentCrossSection("xsSAID")
52 {
53  for(G4int i=0; i<numberOfSaidXS; ++i) {
54  elastdata[i] = 0;
55  inelastdata[i] = 0;
56  }
57 }
int G4int
Definition: G4Types.hh:78
G4VComponentCrossSection(const G4String &nam="")
G4ComponentSAIDTotalXS::~G4ComponentSAIDTotalXS ( )
virtual

Definition at line 59 of file G4ComponentSAIDTotalXS.cc.

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

Member Function Documentation

void G4ComponentSAIDTotalXS::Description ( ) const
virtual

Reimplemented from G4VComponentCrossSection.

Definition at line 170 of file G4ComponentSAIDTotalXS.cc.

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

Definition at line 152 of file G4ComponentSAIDTotalXS.cc.

References saidUnknown, and G4InuclParticleNames::tp.

156 {
157  G4double cross = 0.0;
158  G4SAIDCrossSectionType tp = GetType(prim,sec,Z,N);
159  if(saidUnknown != tp) {
160  G4int idx = G4int(tp);
161  if(!inelastdata[idx]) { Initialise(tp); }
162  if(inelastdata[idx]) {
163  cross = (inelastdata[idx])->Value(kinEnergy);
164  }
165  }
166  return cross;
167 }
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
**D E S C R I P T I O N
double G4double
Definition: G4Types.hh:76
G4double G4ComponentSAIDTotalXS::GetElasticElementCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 124 of file G4ComponentSAIDTotalXS.cc.

References G4lrint().

127 {
128  PrintWarning(part,0,Z,G4lrint(N),
129  "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
130  "Method is not implemented");
131  return 0.0;
132 }
int G4lrint(double ad)
Definition: templates.hh:163
**D E S C R I P T I O N
G4double G4ComponentSAIDTotalXS::GetElasticIsotopeCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 135 of file G4ComponentSAIDTotalXS.cc.

References saidUnknown, and G4InuclParticleNames::tp.

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

138 {
139  G4double cross = 0.0;
140  G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
141  if(saidUnknown != tp) {
142  G4int idx = G4int(tp);
143  if(!elastdata[idx]) { Initialise(tp); }
144  if(elastdata[idx]) {
145  cross = (elastdata[idx])->Value(kinEnergy);
146  }
147  }
148  return cross;
149 }
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
**D E S C R I P T I O N
double G4double
Definition: G4Types.hh:76
G4double G4ComponentSAIDTotalXS::GetInelasticElementCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 96 of file G4ComponentSAIDTotalXS.cc.

References G4lrint().

99 {
100  PrintWarning(part,0,Z,G4lrint(N),
101  "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
102  "Method is not implemented");
103  return 0.0;
104 }
int G4lrint(double ad)
Definition: templates.hh:163
**D E S C R I P T I O N
G4double G4ComponentSAIDTotalXS::GetInelasticIsotopeCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 107 of file G4ComponentSAIDTotalXS.cc.

References saidUnknown, and G4InuclParticleNames::tp.

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

110 {
111  G4double cross = 0.0;
112  G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
113  if(saidUnknown != tp) {
114  G4int idx = G4int(tp);
115  if(!inelastdata[idx]) { Initialise(tp); }
116  if(inelastdata[idx]) {
117  cross = (inelastdata[idx])->Value(kinEnergy);
118  }
119  }
120  return cross;
121 }
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
**D E S C R I P T I O N
double G4double
Definition: G4Types.hh:76
G4double G4ComponentSAIDTotalXS::GetTotalElementCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 76 of file G4ComponentSAIDTotalXS.cc.

References G4lrint().

79 {
80  PrintWarning(part,0,Z,G4lrint(N),
81  "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
82  "Method is not implemented");
83  return 0.0;
84 }
int G4lrint(double ad)
Definition: templates.hh:163
**D E S C R I P T I O N
G4double G4ComponentSAIDTotalXS::GetTotalIsotopeCrossSection ( const G4ParticleDefinition *  part,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 87 of file G4ComponentSAIDTotalXS.cc.

References GetElasticIsotopeCrossSection(), and GetInelasticIsotopeCrossSection().

90 {
91  return GetInelasticIsotopeCrossSection(part,kinEnergy,Z,N)
92  + GetElasticIsotopeCrossSection(part,kinEnergy,Z,N);
93 }
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
**D E S C R I P T I O N

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