Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ComponentSAIDTotalXS Class Reference

#include <G4ComponentSAIDTotalXS.hh>

Inheritance diagram for G4ComponentSAIDTotalXS:
Collaboration 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 *)
 
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 ( )

Definition at line 50 of file G4ComponentSAIDTotalXS.cc.

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  for(G4int i=0; i<numberOfSaidXS; ++i) {
62  if(elastdata[i]) {
63  delete elastdata[i];
64  elastdata[i] = 0;
65  }
66  if(inelastdata[i]) {
67  delete inelastdata[i];
68  inelastdata[i] = 0;
69  }
70  }
71 }
int G4int
Definition: G4Types.hh:78

Member Function Documentation

void G4ComponentSAIDTotalXS::Description ( ) const
virtual

Reimplemented from G4VComponentCrossSection.

Definition at line 168 of file G4ComponentSAIDTotalXS.cc.

169 {
170 }
G4double G4ComponentSAIDTotalXS::GetChargeExchangeCrossSection ( const G4ParticleDefinition prim,
const G4ParticleDefinition sec,
G4double  kinEnergy,
G4int  Z,
G4int  N 
)

Definition at line 150 of file G4ComponentSAIDTotalXS.cc.

154 {
155  G4double cross = 0.0;
156  G4SAIDCrossSectionType tp = GetType(prim,sec,Z,N);
157  if(saidUnknown != tp) {
158  G4int idx = G4int(tp);
159  if(!inelastdata[idx]) { Initialise(tp); }
160  if(inelastdata[idx]) {
161  cross = (inelastdata[idx])->Value(kinEnergy);
162  }
163  }
164  return cross;
165 }
const int N
Definition: mixmax.h:43
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76
G4double G4ComponentSAIDTotalXS::GetElasticElementCrossSection ( const G4ParticleDefinition part,
G4double  kinEnergy,
G4int  Z,
G4double  N 
)
virtual

Implements G4VComponentCrossSection.

Definition at line 122 of file G4ComponentSAIDTotalXS.cc.

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

Here is the call graph for this function:

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

Implements G4VComponentCrossSection.

Definition at line 133 of file G4ComponentSAIDTotalXS.cc.

136 {
137  G4double cross = 0.0;
138  G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
139  if(saidUnknown != tp) {
140  G4int idx = G4int(tp);
141  if(!elastdata[idx]) { Initialise(tp); }
142  if(elastdata[idx]) {
143  cross = (elastdata[idx])->Value(kinEnergy);
144  }
145  }
146  return cross;
147 }
const int N
Definition: mixmax.h:43
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76

Here is the caller graph for this function:

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

Implements G4VComponentCrossSection.

Definition at line 94 of file G4ComponentSAIDTotalXS.cc.

97 {
98  PrintWarning(part,0,Z,G4lrint(N),
99  "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
100  "Method is not implemented");
101  return 0.0;
102 }
const int N
Definition: mixmax.h:43
int G4lrint(double ad)
Definition: templates.hh:163

Here is the call graph for this function:

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

Implements G4VComponentCrossSection.

Definition at line 105 of file G4ComponentSAIDTotalXS.cc.

108 {
109  G4double cross = 0.0;
110  G4SAIDCrossSectionType tp = GetType(part,0,Z,N);
111  if(saidUnknown != tp) {
112  G4int idx = G4int(tp);
113  if(!inelastdata[idx]) { Initialise(tp); }
114  if(inelastdata[idx]) {
115  cross = (inelastdata[idx])->Value(kinEnergy);
116  }
117  }
118  return cross;
119 }
const int N
Definition: mixmax.h:43
G4SAIDCrossSectionType
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76

Here is the caller graph for this function:

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

Implements G4VComponentCrossSection.

Definition at line 74 of file G4ComponentSAIDTotalXS.cc.

77 {
78  PrintWarning(part,0,Z,G4lrint(N),
79  "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
80  "Method is not implemented");
81  return 0.0;
82 }
const int N
Definition: mixmax.h:43
int G4lrint(double ad)
Definition: templates.hh:163

Here is the call graph for this function:

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

Implements G4VComponentCrossSection.

Definition at line 85 of file G4ComponentSAIDTotalXS.cc.

88 {
89  return GetInelasticIsotopeCrossSection(part,kinEnergy,Z,N)
90  + GetElasticIsotopeCrossSection(part,kinEnergy,Z,N);
91 }
const int N
Definition: mixmax.h:43
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)

Here is the call graph for this function:


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