Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AtomicDeexcitation Class Reference

#include <G4AtomicDeexcitation.hh>

Public Member Functions

 G4AtomicDeexcitation ()
 constructor
 
 ~G4AtomicDeexcitation ()
 
std::vector< G4DynamicParticle * > * GenerateParticles (G4int Z, G4int shellId)
 
void SetCutForSecondaryPhotons (G4double cut)
 
void SetCutForAugerElectrons (G4double cut)
 Set threshold energy for fluorescence.
 
void ActivateAugerElectronProduction (G4bool val)
 Set threshold energy for Auger electron production.
 

Detailed Description

Definition at line 49 of file G4AtomicDeexcitation.hh.

Constructor & Destructor Documentation

◆ G4AtomicDeexcitation()

G4AtomicDeexcitation::G4AtomicDeexcitation ( )
explicit

constructor

Definition at line 48 of file G4AtomicDeexcitation.cc.

48 :
49 minGammaEnergy(100.*eV),
50 minElectronEnergy(100.*eV),
51 fAuger(false)
52{
53
54 G4cout << " ********************************************************** " << G4endl;
55 G4cout << " * W A R N I N G ! ! ! * " << G4endl;
56 G4cout << " ********************************************************** " << G4endl;
57 G4cout << " * * " << G4endl;
58 G4cout << " * Class G4AtomicDeexcitation is obsolete. It has been * " << G4endl;
59 G4cout << " * discontinued and is going to be removed by next Geant4 * " << G4endl;
60 G4cout << " * release please migrate to G4UAtomDeexcitation. * " << G4endl;
61 G4cout << " * * " << G4endl;
62 G4cout << " ********************************************************** " << G4endl;
63
64 augerVacancyId=0;
65 newShellId=0;
66}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout

◆ ~G4AtomicDeexcitation()

G4AtomicDeexcitation::~G4AtomicDeexcitation ( )

Definition at line 68 of file G4AtomicDeexcitation.cc.

69{}

Member Function Documentation

◆ ActivateAugerElectronProduction()

void G4AtomicDeexcitation::ActivateAugerElectronProduction ( G4bool val)

Set threshold energy for Auger electron production.

Definition at line 432 of file G4AtomicDeexcitation.cc.

433{
434 fAuger = val;
435}

Referenced by G4hImpactIonisation::ActivateAugerElectronProduction().

◆ GenerateParticles()

std::vector< G4DynamicParticle * > * G4AtomicDeexcitation::GenerateParticles ( G4int Z,
G4int shellId )

Returns a vector contains the photons generated by radiative transitions (non zero particles) or by non radiative transitions (zero particles)

Definition at line 71 of file G4AtomicDeexcitation.cc.

72{
73
74 std::vector<G4DynamicParticle*>* vectorOfParticles;
75 vectorOfParticles = new std::vector<G4DynamicParticle*>;
76
77 G4DynamicParticle* aParticle = nullptr;
78 G4int provShellId = 0;
79 G4int counter = 0;
80
81 // The aim of this loop is to generate more than one fluorecence photon
82 // from the same ionizing event
83 do
84 {
85 if (counter == 0)
86 // First call to GenerateParticles(...):
87 // givenShellId is given by the process
88 {
89 provShellId = SelectTypeOfTransition(Z, givenShellId);
90
91 if ( provShellId >0)
92 {
93 aParticle = GenerateFluorescence(Z,givenShellId,provShellId);
94 }
95 else if ( provShellId == -1)
96 {
97 aParticle = GenerateAuger(Z, givenShellId);
98 }
99 else
100 {
101 G4Exception("G4AtomicDeexcitation::Constructor", "de0002", JustWarning, "Transition selection invalid, energy local deposited");
102 }
103 }
104 else
105 // Following calls to GenerateParticles(...):
106 // newShellId is given by GenerateFluorescence(...)
107 {
108 provShellId = SelectTypeOfTransition(Z,newShellId);
109 if (provShellId >0)
110 {
111 aParticle = GenerateFluorescence(Z,newShellId,provShellId);
112 }
113 else if ( provShellId == -1)
114 {
115 aParticle = GenerateAuger(Z, newShellId);
116 }
117 else
118 {
119 G4Exception("G4AtomicDeexcitation::constructor", "de0002", JustWarning, "Transition selection invalid, energy local deposited" );
120 }
121 }
122 counter++;
123 if (aParticle != nullptr) {vectorOfParticles->push_back(aParticle);}
124 else {provShellId = -2;}
125 }
126
127 // Look this in a particular way: only one auger emitted! // ????
128 while (provShellId > -2);
129
130 // debug
131 // if (vectorOfParticles->size() > 0) {
132 // G4cout << " DEEXCITATION!" << G4endl;
133 // }
134
135 return vectorOfParticles;
136}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
int G4int
Definition G4Types.hh:85

Referenced by G4hImpactIonisation::PostStepDoIt().

◆ SetCutForAugerElectrons()

void G4AtomicDeexcitation::SetCutForAugerElectrons ( G4double cut)

Set threshold energy for fluorescence.

Definition at line 427 of file G4AtomicDeexcitation.cc.

428{
429 minElectronEnergy = cut;
430}

◆ SetCutForSecondaryPhotons()

void G4AtomicDeexcitation::SetCutForSecondaryPhotons ( G4double cut)

Definition at line 422 of file G4AtomicDeexcitation.cc.

423{
424 minGammaEnergy = cut;
425}

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