#include <G4FermiSplitter.hh>
Definition at line 38 of file G4FermiSplitter.hh.
◆ DecayWeight()
Definition at line 175 of file G4FermiSplitter.cc.
177{
178 const auto kineticEnergy =
KineticEnergy(split, totalEnergy);
179
180
181 if (kineticEnergy <= 0.) {
182 return 0.;
183 }
184
185 const auto power = 3.0 *
static_cast<G4double>(split.size() - 1) / 2.0 - 1.;
186 const auto kineticFactor = std::pow(kineticEnergy, power);
187
188
189 const auto spinFactor = SpinFactor(split);
190
191
192 const auto massFactor = MassFactor(split);
193
194
195 const auto coef = ConstFactor(atomicMass, split.size());
196
197
198 const auto gamma = GammaFactor(split.size());
199
200
201 const auto permutationFactor = ConfigurationFactor(split);
202
203 return coef * kineticFactor * massFactor * spinFactor / (permutationFactor * gamma);
204}
◆ GenerateSplits() [1/2]
Definition at line 274 of file G4FermiSplitter.cc.
275{
276 std::vector<G4FermiFragmentVector> splits;
278 return splits;
279}
static void GenerateSplits(G4FermiNucleiData nucleiData, std::vector< G4FermiFragmentVector > &splits)
◆ GenerateSplits() [2/2]
Definition at line 281 of file G4FermiSplitter.cc.
283{
284 ThrowOnInvalidInputs(nucleiData);
285
286 splits.reserve(ExpectedSplitSize);
287
288
289 const auto maxFragmentsCount =
static_cast<std::uint32_t
>(nucleiData.
atomicMass);
290
291 for (std::uint32_t fragmentCount = 2; fragmentCount <= maxFragmentsCount; ++fragmentCount) {
292
293
294 for (
auto& massPartition : G4integerPartition(nucleiData.
atomicMass, fragmentCount, 1)) {
295 for (
auto& chargePartition : G4integerPartition(nucleiData.
chargeNumber, fragmentCount, 0)) {
296
297 if (auto partitionSplits = PossibleSplits(massPartition, chargePartition);
298 !partitionSplits.empty()) {
299 splits.insert(splits.end(), std::make_move_iterator(partitionSplits.begin()),
300 std::make_move_iterator(partitionSplits.end()));
301 }
302 }
303 }
304 }
305}
G4FermiChargeNumber chargeNumber
G4FermiAtomicMass atomicMass
Referenced by GenerateSplits(), and G4FermiBreakUpAN::Initialise().
◆ KineticFactor()
◆ SplitFactor()
The documentation for this class was generated from the following files: