#include <G4AtomicDeexcitation.hh>
Public Member Functions | |
G4AtomicDeexcitation () | |
~G4AtomicDeexcitation () | |
std::vector< G4DynamicParticle * > * | GenerateParticles (G4int Z, G4int shellId) |
void | SetCutForSecondaryPhotons (G4double cut) |
void | SetCutForAugerElectrons (G4double cut) |
void | ActivateAugerElectronProduction (G4bool val) |
Definition at line 53 of file G4AtomicDeexcitation.hh.
G4AtomicDeexcitation::G4AtomicDeexcitation | ( | ) |
Definition at line 48 of file G4AtomicDeexcitation.cc.
References G4cout, and G4endl.
00048 : 00049 minGammaEnergy(100.*eV), 00050 minElectronEnergy(100.*eV), 00051 fAuger(false) 00052 { 00053 00054 G4cout << " ********************************************************** " << G4endl; 00055 G4cout << " * W A R N I N G ! ! ! * " << G4endl; 00056 G4cout << " ********************************************************** " << G4endl; 00057 G4cout << " * * " << G4endl; 00058 G4cout << " * Class G4AtomicDeexcitation is obsolete. It has been * " << G4endl; 00059 G4cout << " * discontinued and is going to be removed by next Geant4 * " << G4endl; 00060 G4cout << " * release please migrate to G4UAtomDeexcitation. * " << G4endl; 00061 G4cout << " * * " << G4endl; 00062 G4cout << " ********************************************************** " << G4endl; 00063 00064 augerVacancyId=0; 00065 newShellId=0; 00066 }
G4AtomicDeexcitation::~G4AtomicDeexcitation | ( | ) |
void G4AtomicDeexcitation::ActivateAugerElectronProduction | ( | G4bool | val | ) |
Definition at line 491 of file G4AtomicDeexcitation.cc.
Referenced by G4hImpactIonisation::ActivateAugerElectronProduction().
std::vector< G4DynamicParticle * > * G4AtomicDeexcitation::GenerateParticles | ( | G4int | Z, | |
G4int | shellId | |||
) |
Definition at line 71 of file G4AtomicDeexcitation.cc.
References G4Exception(), and JustWarning.
Referenced by G4hImpactIonisation::PostStepDoIt().
00072 { 00073 00074 std::vector<G4DynamicParticle*>* vectorOfParticles; 00075 vectorOfParticles = new std::vector<G4DynamicParticle*>; 00076 00077 G4DynamicParticle* aParticle; 00078 G4int provShellId = 0; 00079 G4int counter = 0; 00080 00081 // The aim of this loop is to generate more than one fluorecence photon 00082 // from the same ionizing event 00083 do 00084 { 00085 if (counter == 0) 00086 // First call to GenerateParticles(...): 00087 // givenShellId is given by the process 00088 { 00089 provShellId = SelectTypeOfTransition(Z, givenShellId); 00090 00091 if ( provShellId >0) 00092 { 00093 aParticle = GenerateFluorescence(Z,givenShellId,provShellId); 00094 } 00095 else if ( provShellId == -1) 00096 { 00097 aParticle = GenerateAuger(Z, givenShellId); 00098 } 00099 else 00100 { 00101 G4Exception("G4AtomicDeexcitation::Constructor", "de0002", JustWarning, "Transition selection invalid, energy local deposited"); 00102 } 00103 } 00104 else 00105 // Following calls to GenerateParticles(...): 00106 // newShellId is given by GenerateFluorescence(...) 00107 { 00108 provShellId = SelectTypeOfTransition(Z,newShellId); 00109 if (provShellId >0) 00110 { 00111 aParticle = GenerateFluorescence(Z,newShellId,provShellId); 00112 } 00113 else if ( provShellId == -1) 00114 { 00115 aParticle = GenerateAuger(Z, newShellId); 00116 } 00117 else 00118 { 00119 G4Exception("G4AtomicDeexcitation::constructor", "de0002", JustWarning, "Transition selection invalid, energy local deposited" ); 00120 } 00121 } 00122 counter++; 00123 if (aParticle != 0) {vectorOfParticles->push_back(aParticle);} 00124 else {provShellId = -2;} 00125 } 00126 00127 // Look this in a particular way: only one auger emitted! // ???? 00128 while (provShellId > -2); 00129 00130 // debug 00131 // if (vectorOfParticles->size() > 0) { 00132 // G4cout << " DEEXCITATION!" << G4endl; 00133 // } 00134 00135 return vectorOfParticles; 00136 }
void G4AtomicDeexcitation::SetCutForAugerElectrons | ( | G4double | cut | ) |
void G4AtomicDeexcitation::SetCutForSecondaryPhotons | ( | G4double | cut | ) |