75{
76
78
79
80
81
86
87
88 G4Fragment parentNucleus(parentA, parentZ, atRest);
89
91
92
96 theIonTable->
GetIon(parentZ, parentA, parentNucleus.GetExcitationEnergy(),
99 parentNucleus.GetMomentum());
100
101 if (eOrGamma) {
107 delete eOrGamma;
108
109
110 if (applyARM) {
112 if (shellIndex > -1) {
115 if (atomDeex->
IsFluoActive() && parentZ > 5 && parentZ < 100) {
117 if (shellIndex >= nShells) shellIndex = nShells;
120 std::vector<G4DynamicParticle*> armProducts;
121
122
123
126
127
129 deexLimit);
131 for (
G4int i = 0; i <
G4int(armProducts.size()); i++)
132 productEnergy += armProducts[i]->GetKineticEnergy();
133
135 if (deficit > 0.0) {
136
138 G4double sinTh = std::sqrt(1.- cosTh*cosTh);
140
142 sinTh*std::cos(phi), cosTh);
145 deficit);
146 armProducts.push_back(extra);
147 }
148
149 G4int nArm = armProducts.size();
150 if (nArm > 0) {
152 for (
G4int i = 0; i < nArm; ++i) {
157 }
158 }
159 }
160 }
161 }
162 }
163
165
166
167
168
169
170
171
172
173
174
175
176
177
178 return products;
179}
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
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()
G4ParticleDefinition * G4MT_parent