Geant4  10.02.p03
G4ShellVacancy Class Reference

#include <G4ShellVacancy.hh>

Collaboration diagram for G4ShellVacancy:

Public Member Functions

 G4ShellVacancy ()
 
 ~G4ShellVacancy ()
 
std::vector< G4intGenerateNumberOfIonisations (const G4MaterialCutsCouple *couple, G4double incidentEnergy, G4double eLoss) const
 
void AddXsiTable (G4VEMDataSet *p)
 

Private Member Functions

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

Private Attributes

std::vector< G4VEMDataSet * > xsis
 

Detailed Description

Definition at line 56 of file G4ShellVacancy.hh.

Constructor & Destructor Documentation

◆ G4ShellVacancy()

G4ShellVacancy::G4ShellVacancy ( )

Definition at line 45 of file G4ShellVacancy.cc.

47 { }

◆ ~G4ShellVacancy()

G4ShellVacancy::~G4ShellVacancy ( )

Definition at line 49 of file G4ShellVacancy.cc.

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

Member Function Documentation

◆ AddXsiTable()

void G4ShellVacancy::AddXsiTable ( G4VEMDataSet p)

Definition at line 59 of file G4ShellVacancy.cc.

60 {
61  xsis.push_back(p);
62 }
std::vector< G4VEMDataSet * > xsis

◆ AverageNOfIonisations()

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

Definition at line 93 of file G4ShellVacancy.cc.

98 {
99  // G4int indexOfElementInMaterial= -1;
100 
101  G4double averageEnergy = energy - eLoss/2.;
102 
103  size_t indexInMaterialTable = couple->GetIndex();
104 
105  G4VEMDataSet* aSetOfXsi = xsis[indexInMaterialTable];
106 
107  G4double aXsi = aSetOfXsi->FindValue(averageEnergy,index);
108 
109  return aXsi * eLoss;
110 }
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
Int_t index
std::vector< G4VEMDataSet * > xsis
double energy
Definition: plottest35.C:25
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 > G4ShellVacancy::GenerateNumberOfIonisations ( const G4MaterialCutsCouple couple,
G4double  incidentEnergy,
G4double  eLoss 
) const

Definition at line 64 of file G4ShellVacancy.cc.

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

Member Data Documentation

◆ xsis

std::vector<G4VEMDataSet*> G4ShellVacancy::xsis
private

Definition at line 77 of file G4ShellVacancy.hh.


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