Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4RDAtomicDeexcitation Class Reference

#include <G4RDAtomicDeexcitation.hh>

Public Member Functions

 G4RDAtomicDeexcitation ()
 
 ~G4RDAtomicDeexcitation ()
 
std::vector< G4DynamicParticle * > * GenerateParticles (G4int Z, G4int shellId)
 
void SetCutForSecondaryPhotons (G4double cut)
 
void SetCutForAugerElectrons (G4double cut)
 
void ActivateAugerElectronProduction (G4bool val)
 

Detailed Description

Definition at line 53 of file G4RDAtomicDeexcitation.hh.

Constructor & Destructor Documentation

G4RDAtomicDeexcitation::G4RDAtomicDeexcitation ( )

Definition at line 50 of file G4RDAtomicDeexcitation.cc.

50  :
51  minGammaEnergy(100.*eV),
52  minElectronEnergy(100.*eV),
53  fAuger(false)
54 {}
G4RDAtomicDeexcitation::~G4RDAtomicDeexcitation ( )

Definition at line 56 of file G4RDAtomicDeexcitation.cc.

57 {}

Member Function Documentation

void G4RDAtomicDeexcitation::ActivateAugerElectronProduction ( G4bool  val)

Definition at line 507 of file G4RDAtomicDeexcitation.cc.

Referenced by G4LowEnergyPhotoElectric::ActivateAuger(), and G4LowEnergyIonisation::ActivateAuger().

508 {
509  fAuger = val;
510 }
std::vector< G4DynamicParticle * > * G4RDAtomicDeexcitation::GenerateParticles ( G4int  Z,
G4int  shellId 
)

Definition at line 59 of file G4RDAtomicDeexcitation.cc.

References FatalException, and G4Exception().

Referenced by G4LowEnergyIonisation::DeexciteAtom(), G4LowEnergyPhotoElectric::PostStepDoIt(), and G4LowEnergyIonisation::PostStepDoIt().

60 {
61 
62  std::vector<G4DynamicParticle*>* vectorOfParticles;
63 
64  vectorOfParticles = new std::vector<G4DynamicParticle*>;
65  G4DynamicParticle* aParticle;
66  G4int provShellId = 0;
67  G4int counter = 0;
68 
69  // The aim of this loop is to generate more than one fluorecence photon
70  // from the same ionizing event
71  do
72  {
73  if (counter == 0)
74  // First call to GenerateParticles(...):
75  // givenShellId is given by the process
76  {
77  provShellId = SelectTypeOfTransition(Z, givenShellId);
78  //std::cout << "AtomicDeexcitation::Generate counter 0 - provShellId = "
79  //<< provShellId << std::endl;
80 
81  if ( provShellId >0)
82  {
83  aParticle = GenerateFluorescence(Z,givenShellId,provShellId);
84  //std::cout << "AtomicDeexcitation::Generate Fluo counter 0 " << std::endl;
85  }
86  else if ( provShellId == -1)
87  {
88  aParticle = GenerateAuger(Z, givenShellId);
89  //std::cout << "AtomicDeexcitation::Generate Auger counter 0 " << std::endl;
90  }
91  else
92  {
93  G4Exception("G4RDAtomicDeexcitation::GenerateParticles()",
94  "InvalidSetup", FatalException,
95  "Starting shell uncorrect: check it!");
96  }
97  }
98  else
99  // Following calls to GenerateParticles(...):
100  // newShellId is given by GenerateFluorescence(...)
101  {
102  provShellId = SelectTypeOfTransition(Z,newShellId);
103  //std::cout << "AtomicDeexcitation::Generate counter 0 - provShellId = "
104  //<< provShellId << ", new ShellId = "<< newShellId
105  //<< std::endl;
106 
107 
108  if (provShellId >0)
109  {
110  aParticle = GenerateFluorescence(Z,newShellId,provShellId);
111  //std::cout << "AtomicDeexcitation::Generate Fluo " << std::endl;
112  }
113  else if ( provShellId == -1)
114  {
115  aParticle = GenerateAuger(Z, newShellId);
116  //std::cout << "AtomicDeexcitation::Generate Auger " << std::endl;
117  }
118  else
119  {
120  G4Exception("G4RDAtomicDeexcitation::GenerateParticles()",
121  "InvalidSetup", FatalException,
122  "Starting shell uncorrect: check it!");
123  }
124  }
125  counter++;
126  if (aParticle != 0) {vectorOfParticles->push_back(aParticle);}
127  else {provShellId = -2;}
128  }
129 
130  // Look this in a particular way: only one auger emitted! //
131  while (provShellId > -2);
132 
133  return vectorOfParticles;
134 }
int G4int
Definition: G4Types.hh:78
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
void G4RDAtomicDeexcitation::SetCutForAugerElectrons ( G4double  cut)

Definition at line 502 of file G4RDAtomicDeexcitation.cc.

Referenced by G4LowEnergyPhotoElectric::SetCutForLowEnSecElectrons(), and G4LowEnergyIonisation::SetCutForLowEnSecElectrons().

503 {
504  minElectronEnergy = cut;
505 }
void G4RDAtomicDeexcitation::SetCutForSecondaryPhotons ( G4double  cut)

Definition at line 497 of file G4RDAtomicDeexcitation.cc.

Referenced by G4LowEnergyPhotoElectric::SetCutForLowEnSecPhotons(), and G4LowEnergyIonisation::SetCutForLowEnSecPhotons().

498 {
499  minGammaEnergy = cut;
500 }

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