Geant4  10.02.p03
G4RDShellVacancy Class Reference

#include <G4RDShellVacancy.hh>

Collaboration diagram for G4RDShellVacancy:

Public Member Functions

 G4RDShellVacancy ()
 
 ~G4RDShellVacancy ()
 
std::vector< G4intGenerateNumberOfIonisations (const G4MaterialCutsCouple *couple, G4double incidentEnergy, G4double eLoss) const
 
void AddXsiTable (G4RDVEMDataSet *set)
 

Private Member Functions

G4double AverageNOfIonisations (const G4MaterialCutsCouple *couple, G4int index, G4double energy, G4double eLoss) const
 

Private Attributes

std::vector< G4RDVEMDataSet * > xsis
 

Detailed Description

Definition at line 55 of file G4RDShellVacancy.hh.

Constructor & Destructor Documentation

◆ G4RDShellVacancy()

G4RDShellVacancy::G4RDShellVacancy ( )

Definition at line 45 of file G4RDShellVacancy.cc.

47 { }

◆ ~G4RDShellVacancy()

G4RDShellVacancy::~G4RDShellVacancy ( )

Definition at line 49 of file G4RDShellVacancy.cc.

51 {
52  G4int size = xsis.size();
53  for (G4int k =0; k<size; k++)
54  {
55  delete xsis[k];
56  xsis[k] = 0;
57  }
58 }
std::vector< G4RDVEMDataSet * > xsis
int G4int
Definition: G4Types.hh:78

Member Function Documentation

◆ AddXsiTable()

void G4RDShellVacancy::AddXsiTable ( G4RDVEMDataSet set)

Definition at line 60 of file G4RDShellVacancy.cc.

62 {
63  xsis.push_back(set);
64 }
std::vector< G4RDVEMDataSet * > xsis
Here is the caller graph for this function:

◆ AverageNOfIonisations()

G4double G4RDShellVacancy::AverageNOfIonisations ( const G4MaterialCutsCouple couple,
G4int  index,
G4double  energy,
G4double  eLoss 
) const
private

Definition at line 95 of file G4RDShellVacancy.cc.

100 {
101  // G4int indexOfElementInMaterial= -1;
102 
103  G4double averageEnergy = energy - eLoss/2.;
104 
105  size_t indexInMaterialTable = couple->GetIndex();
106 
107  G4RDVEMDataSet* aSetOfXsi = xsis[indexInMaterialTable];
108 
109  G4double aXsi = aSetOfXsi->FindValue(averageEnergy,index);
110 
111  return aXsi * eLoss;
112 }
Int_t index
std::vector< G4RDVEMDataSet * > xsis
double energy
Definition: plottest35.C:25
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GenerateNumberOfIonisations()

std::vector< G4int > G4RDShellVacancy::GenerateNumberOfIonisations ( const G4MaterialCutsCouple couple,
G4double  incidentEnergy,
G4double  eLoss 
) const

Definition at line 66 of file G4RDShellVacancy.cc.

72 {
73  std::vector<G4int> numberOfIonisations;
74  const G4Material* material = couple->GetMaterial();
75  G4int numberOfElements = material->GetNumberOfElements();
76 
77  for (G4int i = 0; i<numberOfElements; i++)
78  {
79  G4double averageNumberOfIonisations = AverageNOfIonisations(couple,
80  i,
81  incidentEnergy,
82  eLoss);
83  G4int ionisations = 0;
84  if(averageNumberOfIonisations > 0.0) {
85  ionisations = (G4int) G4Poisson(averageNumberOfIonisations);
86  }
87 
88  numberOfIonisations.push_back(ionisations);
89 
90  }
91  return numberOfIonisations;
92 
93 }
G4long G4Poisson(G4double mean)
Definition: G4Poisson.hh:51
const G4Material * GetMaterial() const
int G4int
Definition: G4Types.hh:78
G4double AverageNOfIonisations(const G4MaterialCutsCouple *couple, G4int index, G4double energy, G4double eLoss) const
string material
Definition: eplot.py:19
size_t GetNumberOfElements() const
Definition: G4Material.hh:186
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ xsis

std::vector<G4RDVEMDataSet*> G4RDShellVacancy::xsis
private

Definition at line 76 of file G4RDShellVacancy.hh.


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