Geant4-11
Public Member Functions | Private Member Functions | Private Attributes
G4ShellVacancy Class Reference

#include <G4ShellVacancy.hh>

Public Member Functions

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

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 54 of file G4ShellVacancy.hh.

Constructor & Destructor Documentation

◆ G4ShellVacancy()

G4ShellVacancy::G4ShellVacancy ( )
explicit

Definition at line 44 of file G4ShellVacancy.cc.

45{ }

◆ ~G4ShellVacancy()

G4ShellVacancy::~G4ShellVacancy ( )

Definition at line 48 of file G4ShellVacancy.cc.

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

References xsis.

Member Function Documentation

◆ AddXsiTable()

void G4ShellVacancy::AddXsiTable ( G4VEMDataSet p)

Definition at line 59 of file G4ShellVacancy.cc.

60{
61 xsis.push_back(p);
62}

References xsis.

◆ AverageNOfIonisations()

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

Definition at line 96 of file G4ShellVacancy.cc.

101{
102 G4double averageEnergy = energy - eLoss/2.;
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}
double G4double
Definition: G4Types.hh:83
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
G4double energy(const ThreeVector &p, const G4double m)

References G4INCL::KinematicsUtils::energy(), G4VEMDataSet::FindValue(), G4MaterialCutsCouple::GetIndex(), and xsis.

Referenced by GenerateNumberOfIonisations().

◆ GenerateNumberOfIonisations()

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

Definition at line 66 of file G4ShellVacancy.cc.

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

References AverageNOfIonisations(), G4Poisson(), G4MaterialCutsCouple::GetMaterial(), and eplot::material.

Field Documentation

◆ xsis

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

Definition at line 71 of file G4ShellVacancy.hh.

Referenced by AddXsiTable(), AverageNOfIonisations(), and ~G4ShellVacancy().


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