55 applyARM(true), photonEvaporation(aPhotoEvap)
88 G4Fragment parentNucleus(parentA, parentZ, atRest);
112 if (shellIndex > -1) {
115 if (atomDeex->
IsFluoActive() && parentZ > 5 && parentZ < 100) {
117 if (shellIndex >= nShells) shellIndex = nShells;
120 std::vector<G4DynamicParticle*> armProducts;
131 for (
G4int i = 0; i <
G4int(armProducts.size()); i++)
132 productEnergy += armProducts[i]->GetKineticEnergy();
138 G4double sinTh = std::sqrt(1.- cosTh*cosTh);
142 sinTh*std::cos(phi), cosTh);
146 armProducts.push_back(extra);
149 G4int nArm = armProducts.size();
152 for (
G4int i = 0; i < nArm; ++i) {
186 <<
" + gammas (or electrons), with branching ratio " <<
GetBR()
187 <<
"% and Q value " << transitionQ <<
G4endl;
G4GLOB_DLL std::ostream G4cout
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
G4double BindingEnergy() const
static G4int GetNumberOfShells(G4int Z)
G4int PushProducts(G4DynamicParticle *aParticle)
void SetProperTime(G4double)
G4LorentzVector Get4Momentum() const
void Set4Momentum(const G4LorentzVector &momentum)
static G4Electron * Electron()
static G4EmParameters * Instance()
G4double GetExcitationEnergy() const
const G4LorentzVector & GetMomentum() const
G4double GetCreationTime() const
G4int GetFloatingLevelNumber() const
const G4ParticleDefinition * GetParticleDefinition() const
virtual G4DecayProducts * DecayIt(G4double)
G4ITDecay(const G4ParticleDefinition *theParentNucleus, const G4double &theBR, const G4double &Qvalue, const G4double &excitation, G4PhotonEvaporation *aPhotonEvap)
virtual void DumpNuclearInfo()
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
static G4LossTableManager * Instance()
G4VAtomDeexcitation * AtomDeexcitation()
G4int GetAtomicNumber() const
G4double GetPDGMass() const
G4int GetAtomicMass() const
G4IonTable * GetIonTable() const
static G4ParticleTable * GetParticleTable()
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus) final
G4int GetVacantShellNumber() const
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
void GenerateParticles(std::vector< G4DynamicParticle * > *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
G4bool IsFluoActive() const
void CheckAndFillParent()
const G4String & GetParentName() const
void SetBR(G4double value)
void SetNumberOfDaughters(G4int value)
G4ParticleDefinition * G4MT_parent
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
const G4String & GetDaughterName(G4int anIndex) const
void SetParent(const G4ParticleDefinition *particle_type)