57 #include "G4ParticleChangeForGamma.hh"    96   for(
size_t i=0; i<nmat; ++i) { 
    98       ->GetSandiaTable()->GetSandiaCofForMaterial(0, 0);
   143   return SandiaCof[0]/energy  + SandiaCof[1]/energy2 +
   144     SandiaCof[2]/energy3 + SandiaCof[3]/energy4; 
   171   for(; i<nShells; ++i) {
   187     edep = bindingEnergy;
   199         if(eshell > bindingEnergy && eshell <= energy) {
   200           bindingEnergy = eshell;
   203     G4int nbefore = fvect->size();
   205     G4int nafter = fvect->size();
   206     for (
G4int j=nbefore; j<nafter; ++j) {
   207       G4double e = ((*fvect)[j])->GetKineticEnergy();
   208       if(esec + e > edep) {
   211         ((*fvect)[j])->SetKineticEnergy(e);
   224         for (
G4int jj=nafter-1; jj>j; --jj) { 
   237     G4double elecKineEnergy = energy - bindingEnergy;
   244       fvect->push_back(aParticle);
   246       edep += elecKineEnergy;
   247       elecKineEnergy = 0.0;
   249     if(fabs(energy - elecKineEnergy - esec - edep) > 
eV) {
   250       G4cout << 
"### G4PEffectFluoModel dE(eV)= "    251          << (energy - elecKineEnergy - esec - 
edep)/
eV    253          << 
"  E(keV)= " << energy/
keV    254          << 
"  Ebind(keV)= " << bindingEnergy/
keV    255          << 
"  Ee(keV)= " << elecKineEnergy/
keV    256          << 
"  Esec(keV)= " << esec/
keV    257          << 
"  Edep(keV)= " << edep/
keV  
std::vector< G4double > fSandiaCof
 
G4double GetAtomicShell(G4int index) const
 
G4bool CheckDeexcitationActiveRegion(G4int coupleIndex)
 
static G4LossTableManager * Instance()
 
const G4Material * GetMaterial() const
 
G4double GetSandiaCofForMaterial(G4int, G4int) const
 
static G4MaterialTable * GetMaterialTable()
 
G4VEmAngularDistribution * GetAngularDistribution()
 
const G4MaterialCutsCouple * CurrentCouple() const
 
std::vector< G4double > fMatEnergyTh
 
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
 
G4ParticleChangeForGamma * fParticleChange
 
G4double GetKineticEnergy() const
 
G4GLOB_DLL std::ostream G4cout
 
G4VAtomDeexcitation * fAtomDeexcitation
 
G4int GetNbOfAtomicShells() const
 
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A, G4double, G4double)
 
G4ParticleDefinition * theGamma
 
virtual void SampleSecondaries(std::vector< G4DynamicParticle *> *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
 
static size_t GetNumberOfMaterials()
 
void GenerateParticles(std::vector< G4DynamicParticle *> *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
 
void SetCurrentCouple(const G4MaterialCutsCouple *)
 
void SetAngularDistribution(G4VEmAngularDistribution *)
 
G4SandiaTable * GetSandiaTable() const
 
G4ParticleDefinition * theElectron
 
static G4Electron * Electron()
 
virtual ~G4PEEffectFluoModel()
 
G4VAtomDeexcitation * AtomDeexcitation()
 
G4double BindingEnergy() const
 
void SetDeexcitationFlag(G4bool val)
 
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
 
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
 
G4PEEffectFluoModel(const G4String &nam="PhotoElectric")
 
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
 
G4ParticleChangeForGamma * GetParticleChangeForGamma()
 
void GetSandiaCofPerAtom(G4int Z, G4double energy, std::vector< G4double > &coeff) const