Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FissionFragmentGenerator Class Reference

#include <G4FissionFragmentGenerator.hh>

Public Member Functions

 G4FissionFragmentGenerator ()
 
 G4FissionFragmentGenerator (G4int Verbosity)
 
G4DynamicParticleVectorG4GenerateFission ()
 
G4DynamicParticleVectorG4GenerateFission (const G4HadProjectile &Projectile)
 
const std::vector< G4DynamicParticleVector * > G4GenerateFission (G4long NumberOfFissions, const G4HadProjectile &Projectile)
 
G4IonsG4GenerateFissionProduct ()
 
G4double G4GetAlphaProduction ()
 
G4double G4GetTernaryProbability ()
 
G4FFGEnumerations::FissionCause G4GetCause ()
 
G4double G4GetIncidentEnergy ()
 
G4int G4GetIsotope ()
 
G4FFGEnumerations::MetaState G4GetMetaState ()
 
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme ()
 
G4FFGEnumerations::YieldType G4GetYieldType ()
 
bool InitializeFissionProductYieldClass (std::istringstream &dataFile)
 
void G4SetAlphaProduction (G4double WhatAlphaProduction)
 
void G4SetTernaryProbability (G4double WhatTernaryProbability)
 
void G4SetCause (G4FFGEnumerations::FissionCause WhichCause)
 
void G4SetIncidentEnergy (G4double WhatIncidentEnergy)
 
void G4SetIsotope (G4int WhichIsotope)
 
void G4SetMetaState (G4FFGEnumerations::MetaState WhichMetaState)
 
void G4SetSamplingScheme (G4FFGEnumerations::FissionSamplingScheme NewScheme)
 
void G4SetYieldType (G4FFGEnumerations::YieldType WhichYieldType)
 
void G4SetVerbosity (G4int WhatVerbosity)
 
 ~G4FissionFragmentGenerator ()
 

Static Public Member Functions

static G4int G4MakeIsotopeCode (G4int Z, G4int A, G4int M)
 

Protected Member Functions

void Initialize ()
 

Protected Attributes

G4int Isotope_
 
G4FFGEnumerations::MetaState MetaState_
 
G4FFGEnumerations::FissionCause Cause_
 
G4double IncidentEnergy_
 
G4FFGEnumerations::YieldType YieldType_
 
G4double TernaryProbability_
 
G4double AlphaProduction_
 
G4bool IsReconstructionNeeded_
 
G4int Verbosity_
 
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_
 
G4FissionProductYieldDistYieldData_
 

Detailed Description

G4FissionFragmentGenerator is the front end class to be used by the user for handling all fission event generation.

This class is intended to be instantiated for one type of fission event for as specific isotope/isomer, fission type, and incident neutron energy. For this reason no functions exist to change or modify these values once the class in constructed. A new class must be created by the user for each type of fission event, if such functionality is desired.

Definition at line 53 of file G4FissionFragmentGenerator.hh.

Constructor & Destructor Documentation

◆ G4FissionFragmentGenerator() [1/2]

G4FissionFragmentGenerator::G4FissionFragmentGenerator ( )

Default constructor

Definition at line 53 of file G4FissionFragmentGenerator.cc.

54{
55 // Set the default verbosity
56 Verbosity_ = G4FFGDefaultValues::Verbosity;
57
58 // Initialize the class
59 Initialize();
60}

◆ G4FissionFragmentGenerator() [2/2]

G4FissionFragmentGenerator::G4FissionFragmentGenerator ( G4int Verbosity)

Overloaded constructor

  • Usage:
    • Verbosity: Verbosity level
  • Notes:
    • Refer to the documentation for the default constructor for setting up the operating parameters.

Definition at line 62 of file G4FissionFragmentGenerator.cc.

63{
64 // Set the verbosity
66
67 // Initialize the class
68 Initialize();
69}

◆ ~G4FissionFragmentGenerator()

G4FissionFragmentGenerator::~G4FissionFragmentGenerator ( )

Default deconstructor

Definition at line 677 of file G4FissionFragmentGenerator.cc.

678{
680
681 delete YieldData_;
682
684}
#define G4FFG_FUNCTIONLEAVE__
#define G4FFG_FUNCTIONENTER__
G4FissionProductYieldDist * YieldData_

Member Function Documentation

◆ G4GenerateFission() [1/3]

G4DynamicParticleVector * G4FissionFragmentGenerator::G4GenerateFission ( )

Generates a single fission event

  • Usage: No arguments required
  • Notes:
    • Generates a single fission event by calling the overloaded function and passing an argument of '1'

Definition at line 93 of file G4FissionFragmentGenerator.cc.

94{
96
98 G4FFGDefaultValues::ThermalNeutronEnergy));
99
100 // Call the overloaded function and generate 1 fission
101 std::vector<G4DynamicParticleVector*> FissionEvent = G4GenerateFission(1, Projectile);
102 G4DynamicParticleVector* Container = FissionEvent[0];
103
105 return Container;
106}
std::vector< G4DynamicParticle * > G4DynamicParticleVector
CLHEP::Hep3Vector G4ThreeVector
G4DynamicParticleVector * G4GenerateFission()
static G4Neutron * Neutron()
Definition G4Neutron.cc:101

Referenced by G4GenerateFission(), and G4GenerateFission().

◆ G4GenerateFission() [2/3]

G4DynamicParticleVector * G4FissionFragmentGenerator::G4GenerateFission ( const G4HadProjectile & Projectile)

Generates a single fission event

  • Usage: -Projectile: G4HadProjectile of the fission-inducing particle
  • Notes:
    • Generates a single fission event by calling the overloaded function and passing an argument of '1'

Definition at line 109 of file G4FissionFragmentGenerator.cc.

110{
112
113 // Call the overloaded function and generate 1 fission
114 std::vector<G4DynamicParticleVector*> FissionEvent = G4GenerateFission(1, Projectile);
115 G4DynamicParticleVector* const Container = FissionEvent[0];
116
118 return Container;
119}

◆ G4GenerateFission() [3/3]

const std::vector< G4DynamicParticleVector * > G4FissionFragmentGenerator::G4GenerateFission ( G4long NumberOfFissions,
const G4HadProjectile & Projectile )

Generates NumberOfFissions fission events

  • Usage: -NumberOfFissions: The number of fission events to generate
  • Notes:
    • Generates NumberOfFissions fission events

Definition at line 122 of file G4FissionFragmentGenerator.cc.

124{
126
127 // TK Modified 131107
128 // std::vector< G4DynamicParticleVector* > FissionEvents(NumberOfFissions);
129 std::vector<G4DynamicParticleVector*> FissionEvents(0);
130
131 if (Projectile.GetDefinition() == G4Neutron::Neutron()) {
132 if (static_cast<int>(IsReconstructionNeeded_) == TRUE) {
133 // TODO Eliminate potential need for restructuring during run phase
134 // InitializeFissionProductYieldClass();
135 }
136
137 for (G4long i = 0; i < NumberOfFissions; i++) {
138 FissionEvents.push_back(YieldData_->G4GetFission());
139 // FIXME Use particle momentum in balance equation
140 // FissionEvents.push_back(YieldData_->G4GetFission(Projectile.Get4Momentum()));
141 }
142 }
143 else {
144 FissionEvents.push_back(nullptr);
145 }
146
148 return FissionEvents;
149}
long G4long
Definition G4Types.hh:87
G4DynamicParticleVector * G4GetFission()
const G4ParticleDefinition * GetDefinition() const
#define TRUE
Definition globals.hh:41

◆ G4GenerateFissionProduct()

G4Ions * G4FissionFragmentGenerator::G4GenerateFissionProduct ( )

Returns a randomly sampled fission product

Definition at line 151 of file G4FissionFragmentGenerator.cc.

152{
154
155 if (static_cast<int>(IsReconstructionNeeded_) == TRUE) {
156 // TODO Eliminate potential need for restructuring during run phase
157 // InitializeFissionProductYieldClass();
158 }
159
161
163 return Product;
164}

◆ G4GetAlphaProduction()

G4double G4FissionFragmentGenerator::G4GetAlphaProduction ( )

Returns the production rate of alpha particles for fission events

Definition at line 166 of file G4FissionFragmentGenerator.cc.

◆ G4GetCause()

G4FFGEnumerations::FissionCause G4FissionFragmentGenerator::G4GetCause ( )

Returns the FissionCause of the fission event.

Definition at line 182 of file G4FissionFragmentGenerator.cc.

183{
185
187 return Cause_;
188}
G4FFGEnumerations::FissionCause Cause_

◆ G4GetIncidentEnergy()

G4double G4FissionFragmentGenerator::G4GetIncidentEnergy ( )

Returns the energy of the fission inducing particle.

Definition at line 190 of file G4FissionFragmentGenerator.cc.

◆ G4GetIsotope()

G4int G4FissionFragmentGenerator::G4GetIsotope ( )

Returns the code of the fission isotope in ZZZAAA format.

Definition at line 198 of file G4FissionFragmentGenerator.cc.

◆ G4GetMetaState()

G4FFGEnumerations::MetaState G4FissionFragmentGenerator::G4GetMetaState ( )

Returns the MetaState of the fission isotope.

Definition at line 206 of file G4FissionFragmentGenerator.cc.

207{
209
211 return MetaState_;
212}
G4FFGEnumerations::MetaState MetaState_

◆ G4GetSamplingScheme()

G4FFGEnumerations::FissionSamplingScheme G4FissionFragmentGenerator::G4GetSamplingScheme ( )

Returns the FissionSamplingScheme that is currently in use.

Definition at line 214 of file G4FissionFragmentGenerator.cc.

215{
217
219 return SamplingScheme_;
220}
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_

◆ G4GetTernaryProbability()

G4double G4FissionFragmentGenerator::G4GetTernaryProbability ( )

Returns the probability of ternary fission

Definition at line 174 of file G4FissionFragmentGenerator.cc.

◆ G4GetYieldType()

G4FFGEnumerations::YieldType G4FissionFragmentGenerator::G4GetYieldType ( )

Returns the yield type that is currently in use

Definition at line 222 of file G4FissionFragmentGenerator.cc.

223{
225
227 return YieldType_;
228}
G4FFGEnumerations::YieldType YieldType_

◆ G4MakeIsotopeCode()

G4int G4FissionFragmentGenerator::G4MakeIsotopeCode ( G4int Z,
G4int A,
G4int M )
static

Converts the Z, A and M of an isotope into an integer representation

Definition at line 230 of file G4FissionFragmentGenerator.cc.

231{
232 // Sanity check;
233 A %= 1000;
234 Z %= 1000;
235 M %= 10;
236
237 return (A + Z * 1000) * 10 + M;
238}
#define M(row, col)
const G4double A[17]

Referenced by G4WendtFissionFragmentGenerator::ApplyYourself(), and G4WendtFissionFragmentGenerator::InitializeANucleus().

◆ G4SetAlphaProduction()

void G4FissionFragmentGenerator::G4SetAlphaProduction ( G4double WhatAlphaProduction)

Sets the number of alpha particles produced in fission.

  • Usage:
    • if AlphaProduction is negative then alpha particles are sampled on a Gaussian with a mean of abs(AlphaProduction).
  • Notes:
    • The maximum number of alpha particles that may be created is physically limited by the nucleons present in the parent nucleus. Setting the AlphaProduction too high will have unpredictable results on the sampling of the fission products.

Definition at line 240 of file G4FissionFragmentGenerator.cc.

241{
243
244 AlphaProduction_ = WhatAlphaProduction;
245 if (YieldData_ != nullptr) {
247 }
248
252
253 G4cout << " -- Alpha production set to " << AlphaProduction_ << G4endl;
254 }
255
257}
#define G4FFG_LOCATION__
#define G4FFG_SPACING__
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
void G4SetAlphaProduction(G4double WhatAlphaProduction)

◆ G4SetCause()

void G4FissionFragmentGenerator::G4SetCause ( G4FFGEnumerations::FissionCause WhichCause)

Sets the cause of fission event.

  • Usage:
    • WhichCause: SPONTANEOUS, N_INDUCED, P_INDUCED, or G_INDUCED
  • Notes:

Definition at line 278 of file G4FissionFragmentGenerator.cc.

279{
281
282 G4bool IsValidCause = (WhichCause == G4FFGEnumerations::SPONTANEOUS
283 || WhichCause == G4FFGEnumerations::NEUTRON_INDUCED);
284 G4bool IsSameCause = (Cause_ == WhichCause);
285
286 if (!IsSameCause && IsValidCause) {
287 Cause_ = WhichCause;
289 IncidentEnergy_ = 0;
290 }
292 }
293
295 G4String CauseString;
296 switch (WhichCause) {
298 CauseString = "SPONTANEOUS";
299 break;
301 CauseString = "NEUTRON_INDUCED";
302 break;
304 CauseString = "PROTON_INDUCED";
305 break;
307 CauseString = "GAMMA_INDUCED";
308 break;
309 }
310
314
315 if (IsValidCause) {
316 if (IsSameCause && YieldData_ != nullptr) {
317 G4cout << " -- Already set to use " << CauseString
318 << " as the fission cause. Yield data class will not be reconstructed." << G4endl;
319 }
320 else if (YieldData_ == nullptr) {
321 G4cout << " -- Yield data class not yet constructed. " << CauseString
322 << " will be applied when it is constructed." << G4endl;
323 }
324 }
325 else {
326 G4cout << " -- Invalid cause of fission" << G4endl;
327 }
328 }
329
330 if (((Verbosity_ & G4FFGEnumerations::UPDATES) != 0) && IsValidCause) {
333
334 G4cout << " -- Fission cause set to " << CauseString << "." << G4endl;
335 }
336 }
337
339}
bool G4bool
Definition G4Types.hh:86

◆ G4SetIncidentEnergy()

void G4FissionFragmentGenerator::G4SetIncidentEnergy ( G4double WhatIncidentEnergy)

Sets the incident energy, if any, of the particle that cause fission.

  • Usage:
    • WhatIncidentEnergy: Kinetic energy of the particle with units applied;
  • Notes:

Definition at line 341 of file G4FissionFragmentGenerator.cc.

342{
344
346 IncidentEnergy_ = WhatIncidentEnergy;
347 if (YieldData_ != nullptr) {
349 }
350 }
351
353 std::ostringstream EnergyString;
354 if (IncidentEnergy_ / GeV > 1) {
355 EnergyString << IncidentEnergy_ / GeV << " GeV";
356 }
357 else if (IncidentEnergy_ / MeV > 1) {
358 EnergyString << IncidentEnergy_ / MeV << " MeV";
359 }
360 else if (IncidentEnergy_ / keV > 1) {
361 EnergyString << IncidentEnergy_ / keV << " keV";
362 }
363 else {
364 EnergyString << IncidentEnergy_ / eV << " eV";
365 }
366
369 {
373
374 G4cout << " -- Cannot set a non-zero energy for spontaneous fission" << G4endl;
375 }
376 else if (YieldData_ == nullptr) {
379
380 G4cout << " -- Yield data class not yet constructed. " << EnergyString.str()
381 << " will be applied when it is constructed." << G4endl;
382 }
383 }
384
387 {
390
391 G4cout << " -- Incident neutron energy set to " << EnergyString.str() << "." << G4endl;
392 }
393 }
394
396}
void G4SetEnergy(G4double WhatIncidentEnergy)

◆ G4SetIsotope()

void G4FissionFragmentGenerator::G4SetIsotope ( G4int WhichIsotope)

Sets the fission isotope

  • Usage:
    • WhichIsotope: Code of the isotope in ZZZAAA format
  • Notes:

Definition at line 398 of file G4FissionFragmentGenerator.cc.

399{
401
402 G4bool IsSameIsotope = (Isotope_ == WhichIsotope);
403
404 if (!IsSameIsotope) {
405 Isotope_ = WhichIsotope;
407 }
408
411 if (IsSameIsotope && YieldData_ != nullptr) {
414
415 G4cout << " -- Isotope " << Isotope_
416 << " already in use. Yield data class will not be reconstructed." << G4endl;
417 }
418 else if (YieldData_ == nullptr) {
421
422 G4cout << " -- Yield data class not yet constructed. The isotope will be set to "
423 << Isotope_ << " when it is constructed." << G4endl;
424 }
425 }
426
430
431 G4cout << " -- Isotope set to " << Isotope_ << "." << G4endl;
432 }
433 }
434
436}

◆ G4SetMetaState()

void G4FissionFragmentGenerator::G4SetMetaState ( G4FFGEnumerations::MetaState WhichMetaState)

Sets the metastable state of the fission isotope.

  • Usage:
    • WhichMetaState: GROUND_STATE, META_1, or META_2
  • Notes:

Definition at line 438 of file G4FissionFragmentGenerator.cc.

439{
441
442 G4bool IsValidMetaState = (WhichMetaState >= G4FFGEnumerations::MetaStateFirst
443 && WhichMetaState <= G4FFGEnumerations::MetaStateLast);
444 G4bool IsSameMetaState = (MetaState_ == WhichMetaState);
445
446 if (!IsSameMetaState && IsValidMetaState) {
447 MetaState_ = WhichMetaState;
449 }
450
452 G4String MetaName;
453 switch (MetaState_) {
455 MetaName = "GROUND_STATE";
456 break;
457
459 MetaName = "META_1";
460 break;
461
463 MetaName = "META_2";
464 break;
465 }
466
470
471 std::ostringstream Temp;
472 if (IsValidMetaState) {
473 if (IsSameMetaState && YieldData_ != nullptr) {
474 G4cout << " -- Already set to use " << MetaName
475 << " as the metastable state. Yield data class will not be reconstructed"
476 << G4endl;
477 }
478 else if (YieldData_ == nullptr) {
479 G4cout << " -- Yield data class not yet constructed. " << MetaName
480 << " will be applied when it is constructed." << G4endl;
481 }
482 }
483 else {
484 G4cout << " -- Invalid metastable state." << G4endl;
485 }
486 }
487
488 if (((Verbosity_ & G4FFGEnumerations::UPDATES) != 0) && IsValidMetaState) {
491
492 G4cout << " -- Metastable state set to " << MetaName << "." << G4endl;
493 }
494 }
495
497}

◆ G4SetSamplingScheme()

void G4FissionFragmentGenerator::G4SetSamplingScheme ( G4FFGEnumerations::FissionSamplingScheme NewScheme)

Set the sampling scheme.

  • Usage:
    • NewScheme: The G4FissionSamplingScheme value for the sampling scheme to use.
  • Notes:
    • NORMAL: Sets the parameters of this class to sample fission events without any biasing.
    • LIGHT_FRAGMENT: Sets the parameters of this class to bias the fragment generation by always selecting a light fragment (A < 115) first.
    • WENDT: Sets the parameters of this class to sample fission events according to the Wendt sampling scheme. Please refer to the code documentation for G4FPYWendtSamplingDist for a more detailed explanation.

Definition at line 499 of file G4FissionFragmentGenerator.cc.

501{
503
504 G4bool IsValidScheme = (NewScheme >= G4FFGEnumerations::FissionSamplingSchemeFirst
505 && NewScheme <= G4FFGEnumerations::FissionSamplingSchemeLast);
506 G4bool IsSameScheme = (NewScheme == SamplingScheme_);
507
508 if (!IsSameScheme && IsValidScheme) {
509 SamplingScheme_ = NewScheme;
511 }
512
514 G4String SchemeString;
515 switch (SamplingScheme_) {
517 SchemeString = "NORMAL";
518 break;
519
521 SchemeString = "LIGHT_FRAGMENT";
522 break;
523
524 default:
525 SchemeString = "UNSUPPORTED";
526 break;
527 }
528
532
533 if (IsValidScheme) {
534 if (IsSameScheme && YieldData_ != nullptr) {
535 G4cout << " -- Already set to use " << SchemeString
536 << " as the sampling scheme. Yield data class will not be reconstructed."
537 << G4endl;
538 }
539 else if (YieldData_ == nullptr) {
540 G4cout << " -- Yield data class not yet constructed. " << SchemeString
541 << " will be applied when it is constructed." << G4endl;
542 }
543 }
544 else {
545 G4cout << " -- Invalid sampling scheme." << G4endl;
546 }
547 }
548
549 if (((Verbosity_ & G4FFGEnumerations::UPDATES) != 0) && IsValidScheme) {
552
553 G4cout << " -- Sampling scheme set to " << SchemeString << "." << G4endl;
554 }
555 }
556
558}

◆ G4SetTernaryProbability()

void G4FissionFragmentGenerator::G4SetTernaryProbability ( G4double WhatTernaryProbability)

Sets the probability of ternary fission

  • Usage:
    • WhatAlphaProductionProbability: Probability of generating alpha particles for a fission event. 1 = 100% chance of alpha production
  • Notes:

Definition at line 259 of file G4FissionFragmentGenerator.cc.

260{
262
263 TernaryProbability_ = WhatTernaryProbability;
264 if (YieldData_ != nullptr) {
266 }
267
271
272 G4cout << " -- Ternary fission probability set to " << TernaryProbability_ << G4endl;
273 }
274
276}
void G4SetTernaryProbability(G4double TernaryProbability)

◆ G4SetVerbosity()

void G4FissionFragmentGenerator::G4SetVerbosity ( G4int WhatVerbosity)

Sets the verbosity levels

  • Usage:
    • WhichVerbosity: Combination of levels
  • Notes:
    • SILENT: All verbose output is repressed
    • UPDATES: Only high-level internal changes are reported
    • DAUGHTER_INFO: Displays information about daughter product sampling
    • NEUTRON_INFO: Displays information about neutron sampling
    • GAMMA_INFO: Displays information about gamma sampling
    • ALPHA_INFO: Displays information about alpha sampling
    • MOMENTUM_INFO: Displays information about momentum balancing
    • EXTRAPOLATION_INTERPOLATION_INFO: Displays information about any data extrapolation or interpolation that occurs
    • DEBUG: Reports program flow as it steps through functions
    • PRINT_ALL: Displays any and all output

Definition at line 617 of file G4FissionFragmentGenerator.cc.

618{
620
622
623 if (YieldData_ != nullptr) {
625 }
626
628}
void G4SetVerbosity(G4int WhatVerbosity)

◆ G4SetYieldType()

void G4FissionFragmentGenerator::G4SetYieldType ( G4FFGEnumerations::YieldType WhichYieldType)

Sets the ENDF yield type to be used for the data

  • Usage:
    • WhichYieldType: INDEPENDENT or COMULATIVE
  • Notes:

Definition at line 560 of file G4FissionFragmentGenerator.cc.

561{
563
564 G4bool IsValidYieldType = (WhichYieldType == G4FFGEnumerations::INDEPENDENT
565 || WhichYieldType == G4FFGEnumerations::CUMULATIVE);
566 G4bool IsSameYieldType = (YieldType_ == WhichYieldType);
567
568 if (!IsSameYieldType && IsValidYieldType) {
569 YieldType_ = WhichYieldType;
571 }
572
574 G4String YieldString;
575 switch ((int)YieldType_) {
577 YieldString = "INDEPENDENT";
578 break;
579
581 YieldString = "SPONTANEOUS";
582 break;
583
584 default:
585 YieldString = "UNSUPPORTED";
586 break;
587 }
588
592
593 if (IsValidYieldType) {
594 if (IsSameYieldType && YieldData_ != nullptr) {
595 }
596 else if (YieldData_ == nullptr) {
597 G4cout << " -- Yield data class not yet constructed. Yield type " << YieldString
598 << " will be applied when it is constructed." << G4endl;
599 }
600 }
601 else {
602 G4cout << " -- Invalid yield type." << G4endl;
603 }
604 }
605
606 if (((Verbosity_ & G4FFGEnumerations::UPDATES) != 0) && IsValidYieldType) {
609
610 G4cout << " -- Yield type set to " << YieldString << G4endl;
611 }
612 }
613
615}

◆ Initialize()

void G4FissionFragmentGenerator::Initialize ( )
protected

Initialize is a common function called by all constructors.

Definition at line 71 of file G4FissionFragmentGenerator.cc.

72{
74
75 // Initialize the class descriptor variables to the default values. These
76 // will be used unless the user redefines them.
77 Isotope_ = G4FFGDefaultValues::Isotope;
78 MetaState_ = G4FFGDefaultValues::MetaState;
79 Cause_ = G4FFGDefaultValues::FissionCause;
80 IncidentEnergy_ = G4FFGDefaultValues::ThermalNeutronEnergy;
81 YieldType_ = G4FFGDefaultValues::YieldType;
82 TernaryProbability_ = G4FFGDefaultValues::TernaryProbability;
83 AlphaProduction_ = G4FFGDefaultValues::AlphaProduction;
84 SamplingScheme_ = G4FFGDefaultValues::SamplingScheme;
85
86 // No data class has been created yet
87 YieldData_ = nullptr;
89
91}

Referenced by G4FissionFragmentGenerator(), and G4FissionFragmentGenerator().

◆ InitializeFissionProductYieldClass()

bool G4FissionFragmentGenerator::InitializeFissionProductYieldClass ( std::istringstream & dataFile)

Initializes a new G4FPY...Dist class based on the class descriptor variables of G4FissionFragmentGenerator.

Definition at line 630 of file G4FissionFragmentGenerator.cc.

631{
633
634 if (YieldData_ != nullptr) {
635 delete YieldData_;
636
640
641 G4cout << " -- Old yield data class deleted." << G4endl;
642 }
643 }
644
645 try {
648 dataStream);
649 }
650 else {
652 Verbosity_, dataStream);
653 }
654
655 if (AlphaProduction_ != 0 && TernaryProbability_ != 0) {
658 }
659
663
664 G4cout << " -- Yield data class constructed with defined values." << G4endl;
665 }
666 }
667 catch (std::exception& e) {
668 YieldData_ = nullptr;
669 }
670
672
674 return YieldData_ != nullptr;
675}
#define FALSE
Definition globals.hh:38

Member Data Documentation

◆ AlphaProduction_

G4double G4FissionFragmentGenerator::AlphaProduction_
protected

Controls whether alpha particles are emitted, and how many

Definition at line 263 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetAlphaProduction(), G4SetAlphaProduction(), Initialize(), and InitializeFissionProductYieldClass().

◆ Cause_

G4FFGEnumerations::FissionCause G4FissionFragmentGenerator::Cause_
protected

The cause of fission: SPONTANEOUS or N_INDUCED.

Definition at line 255 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetCause(), G4SetCause(), G4SetIncidentEnergy(), Initialize(), and InitializeFissionProductYieldClass().

◆ IncidentEnergy_

G4double G4FissionFragmentGenerator::IncidentEnergy_
protected

Kinetic energy, if any, of the incident particle in GeV.

Definition at line 257 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetIncidentEnergy(), G4SetCause(), G4SetIncidentEnergy(), and Initialize().

◆ Isotope_

G4int G4FissionFragmentGenerator::Isotope_
protected

Number in ZZZAAA format of the isotope that G4FissionFragmentGenerator references

Definition at line 248 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetIsotope(), G4SetIsotope(), Initialize(), and InitializeFissionProductYieldClass().

◆ IsReconstructionNeeded_

G4bool G4FissionFragmentGenerator::IsReconstructionNeeded_
protected

If Isotope_, MetaState_, Cause_, or IncidentEnergy_ are changed in the middle of a run then the class pointed at by YieldData_ will need to be reconstructed

Definition at line 268 of file G4FissionFragmentGenerator.hh.

Referenced by G4GenerateFission(), G4GenerateFissionProduct(), G4SetCause(), G4SetIsotope(), G4SetMetaState(), G4SetYieldType(), Initialize(), and InitializeFissionProductYieldClass().

◆ MetaState_

G4FFGEnumerations::MetaState G4FissionFragmentGenerator::MetaState_
protected

MetaState information of the isotope that G4FissionFragmentGenerator references
A value of 0 refers to the ground state

Definition at line 253 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetMetaState(), G4SetMetaState(), Initialize(), and InitializeFissionProductYieldClass().

◆ SamplingScheme_

G4FFGEnumerations::FissionSamplingScheme G4FissionFragmentGenerator::SamplingScheme_
protected

The sampling scheme that is used: NORMAL, LIGHT_FRAGMENT, or WENDT.

Definition at line 276 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetSamplingScheme(), Initialize(), and InitializeFissionProductYieldClass().

◆ TernaryProbability_

G4double G4FissionFragmentGenerator::TernaryProbability_
protected

Sets the ternary fission probability. Valid ranges are [0, 1]

Definition at line 261 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetTernaryProbability(), G4SetTernaryProbability(), Initialize(), and InitializeFissionProductYieldClass().

◆ Verbosity_

◆ YieldData_

◆ YieldType_

G4FFGEnumerations::YieldType G4FissionFragmentGenerator::YieldType_
protected

The type of yield to be used: INDEPENDET or CUMULATIVE

Definition at line 259 of file G4FissionFragmentGenerator.hh.

Referenced by G4GetYieldType(), G4SetYieldType(), Initialize(), and InitializeFissionProductYieldClass().


The documentation for this class was generated from the following files: