74{
75
77
78
79
80
85
86
87 G4Fragment parentNucleus(parentA, parentZ, atRest);
88
90
91
95 theIonTable->
GetIon(parentZ, parentA, parentNucleus.GetExcitationEnergy(),
98 parentNucleus.GetMomentum());
99
100 if (eOrGamma) {
106 delete eOrGamma;
107
108
109 if (applyARM) {
111 if (shellIndex > -1) {
114 if (atomDeex->
IsFluoActive() && parentZ > 5 && parentZ < 105) {
116 if (shellIndex >= nShells) shellIndex = nShells;
119 std::vector<G4DynamicParticle*> armProducts;
120
121
122
125
126
128 deexLimit);
130 for (
G4int i = 0; i <
G4int(armProducts.size()); i++)
131 productEnergy += armProducts[i]->GetKineticEnergy();
132
134 if (deficit > 0.0) {
135
137 G4double sinTh = std::sqrt(1.- cosTh*cosTh);
139
141 sinTh*std::cos(phi), cosTh);
144 deficit);
145 armProducts.push_back(extra);
146 }
147
148 std::size_t nArm = armProducts.size();
149 if (nArm > 0) {
151 for (std::size_t i = 0; i < nArm; ++i) {
156 }
157 }
158 }
159 }
160 }
161 }
162
164
165
166
167
168
169
170
171
172
173
174
175
176
177 return products;
178}
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()
const G4LorentzVector & GetMomentum() const
G4double GetCreationTime() const
const G4ParticleDefinition * GetParticleDefinition() const
static G4Ions::G4FloatLevelBase FloatLevelBase(char flbChar)
static G4LossTableManager * Instance()
G4VAtomDeexcitation * AtomDeexcitation()
G4double GetPDGMass() const
G4int GetVacantShellNumber() const
G4Fragment * EmittedFragment(G4Fragment *theNucleus) override
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()
G4ParticleDefinition * G4MT_parent