49 #ifndef G4VAtomDeexcitation_h
50 #define G4VAtomDeexcitation_h 1
183 G4bool isAugerCascadeLocked;
186 std::vector<G4bool> activeZ;
187 std::vector<G4bool> activeDeexcitationMedia;
188 std::vector<G4bool> activeAugerMedia;
189 std::vector<G4bool> activePIXEMedia;
190 std::vector<G4String> activeRegions;
191 std::vector<G4bool> deRegions;
192 std::vector<G4bool> AugerRegions;
193 std::vector<G4bool> PIXERegions;
194 std::vector<G4DynamicParticle*> vdyn;
196 static G4int pixeIDg;
197 static G4int pixeIDe;
202 if(!isActiveLocked) { isActive = val; isActiveLocked =
true; }
212 if(!isAugerLocked) { flagAuger = val; isAugerLocked =
true; }
222 if(!isAugerCascadeLocked) { flagAugerCascade = val; isAugerCascadeLocked =
true; }
227 return flagAugerCascade;
232 if(!isPIXELocked) { flagPIXE = val; isPIXELocked =
true; }
245 inline const std::vector<G4bool>&
264 return (activeDeexcitationMedia[coupleIndex]);
270 return (activeAugerMedia[coupleIndex]);
282 }
else if (theCoupleTable) {
285 if(gCut < as->BindingEnergy()) {
290 }
else if (theCoupleTable) {
const std::vector< G4double > * GetEnergyCutsVector(size_t pcIdx) const
G4bool CheckDeexcitationActiveRegion(G4int coupleIndex)
void InitialiseAtomicDeexcitation()
G4bool IsFluoActive() const
void AlongStepDeexcitation(std::vector< G4Track * > &tracks, const G4Step &step, G4double &eLoss, G4int coupleIndex)
virtual G4double GetShellIonisationCrossSectionPerAtom(const G4ParticleDefinition *, G4int Z, G4AtomicShellEnumerator shell, G4double kinE, const G4Material *mat=nullptr)=0
G4bool IsPIXEActive() const
void SetDeexcitationActiveRegion(const G4String &rname, G4bool valDeexcitation, G4bool valAuger, G4bool valPIXE)
const std::vector< G4bool > & GetListOfActiveAtoms() const
G4int GetVerboseLevel() const
G4bool IsAugerActive() const
void SetVerboseLevel(G4int)
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
void SetAugerCascade(G4bool)
virtual G4double ComputeShellIonisationCrossSectionPerAtom(const G4ParticleDefinition *, G4int Z, G4AtomicShellEnumerator shell, G4double kinE, const G4Material *mat=nullptr)=0
G4bool CheckAugerActiveRegion(G4int coupleIndex)
virtual void InitialiseForExtraAtom(G4int Z)=0
const G4String & GetName() const
virtual ~G4VAtomDeexcitation()
virtual void InitialiseForNewRun()=0
void GenerateParticles(std::vector< G4DynamicParticle * > *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
G4VAtomDeexcitation(const G4String &modname="Deexcitation")
G4bool IsAugerCascadeActive() const