Geant4  10.01.p03
G4FissionFragmentGenerator.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 /*
27  * File: G4FissionFragmentGenerator.hh
28  * Author: B. Wendt (wendbryc@isu.edu)
29  *
30  * Created on May 11, 2011, 12:04 PM
31  */
32 
33 #ifndef G4FISSIONFRAGMENTGENERATOR_HH
34 #define G4FISSIONFRAGMENTGENERATOR_HH
35 
36 #include "G4Ions.hh"
37 #include "globals.hh"
38 #include "G4HadFinalState.hh"
39 #include "G4HadProjectile.hh"
40 
41 #include "G4FFGEnumerations.hh"
43 #include "G4TableTemplate.hh"
44 
55 public:
56 // Constructor definition
93 protected:
95  void Initialize( void );
96 
97 public:
98 // Functions
123  const std::vector< G4DynamicParticleVector* > G4GenerateFission( G4long NumberOfFissions,
124  const G4HadProjectile& Projectile );
136  G4int G4GetIsotope( void );
146  bool InitializeFissionProductYieldClass( std::istringstream& dataFile );
148  static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M);
160  void G4SetAlphaProduction( G4double WhatAlphaProduction );
168  void G4SetTernaryProbability( G4double WhatTernaryProbability );
176  void G4SetCause( G4FFGEnumerations::FissionCause WhichCause );
183  void G4SetIncidentEnergy( G4double WhatIncidentEnergy );
190  void G4SetIsotope( G4int WhichIsotope );
197  void G4SetMetaState( G4FFGEnumerations::MetaState WhichMetaState );
221  void G4SetYieldType( G4FFGEnumerations::YieldType WhichYieldType );
238  void G4SetVerbosity( G4int WhatVerbosity );
239 
240 protected:
241 // Variables
242  // Class descriptor variables
269 
270  // Defines the current sampling scheme and the respective class
279 
280 // Destructor function(s)
281 public:
284 };
285 
286 #endif /* G4FISSIONFRAGMENTGENERATOR_HH */
287 
G4FFGEnumerations::MetaState MetaState_
MetaState information of the isotope that G4FissionFragmentGenerator references A value of 0 refers...
MetaState
ENDF format provides for 3 isomers - 1 ground state and 2 meta states.
G4bool IsReconstructionNeeded_
If Isotope_, MetaState_, Cause_, or IncidentEnergy_ are changed in the middle of a run then the class...
G4FissionFragmentGenerator is the front end class to be used by the user for handling all fission eve...
G4double IncidentEnergy_
Kinetic energy, if any, of the incident particle in GeV.
void G4SetSamplingScheme(G4FFGEnumerations::FissionSamplingScheme NewScheme)
Set the sampling scheme.
void Initialize(void)
Initialize is a common function called by all constructors.
G4int G4GetIsotope(void)
Returns the code of the fission isotope in ZZZAAA format.
G4FFGEnumerations::MetaState G4GetMetaState(void)
Returns the MetaState of the fission isotope.
void G4SetYieldType(G4FFGEnumerations::YieldType WhichYieldType)
Sets the ENDF yield type to be used for the data.
void G4SetMetaState(G4FFGEnumerations::MetaState WhichMetaState)
Sets the metastable state of the fission isotope.
G4int Isotope_
Number in ZZZAAA format of the isotope that G4FissionFragmentGenerator references.
G4DynamicParticleVector * G4GenerateFission(void)
Generates a single fission event.
long G4long
Definition: G4Types.hh:80
G4FissionProductYieldDist * YieldData_
Pointer to G4FissionProductYieldDist class that holds all the probabilistic yield data...
YieldType
The two types of fission data available.
int G4int
Definition: G4Types.hh:78
static G4int G4MakeIsotopeCode(G4int Z, G4int A, G4int M)
Converts the Z, A and M of an isotope into an integer representation.
FissionCause
Causes of fission.
G4FissionProductYieldDist is the base class for storing all the fission data and generating fission e...
Verbosity
These are the verbosity levels.
void G4SetVerbosity(G4int WhatVerbosity)
Sets the verbosity levels.
G4Ions * G4GenerateFissionProduct(void)
Returns a randomly sampled fission product.
bool InitializeFissionProductYieldClass(std::istringstream &dataFile)
Initializes a new G4FPY...Dist class based on the class descriptor variables of G4FissionFragmentGene...
G4double TernaryProbability_
Sets the ternary fission probability.
Definition: G4Ions.hh:51
bool G4bool
Definition: G4Types.hh:79
std::vector< G4DynamicParticle * > G4DynamicParticleVector
void G4SetIsotope(G4int WhichIsotope)
Sets the fission isotope.
G4FFGEnumerations::YieldType YieldType_
The type of yield to be used: INDEPENDET or CUMULATIVE.
G4FFGEnumerations::YieldType G4GetYieldType(void)
Returns the yield type that is currently in use.
static const G4double A[nN]
void G4SetAlphaProduction(G4double WhatAlphaProduction)
Sets the number of alpha particles produced in fission.
void G4SetCause(G4FFGEnumerations::FissionCause WhichCause)
Sets the cause of fission event.
G4double AlphaProduction_
Controls whether alpha particles are emitted, and how many.
void G4SetIncidentEnergy(G4double WhatIncidentEnergy)
Sets the incident energy, if any, of the particle that cause fission.
G4FFGEnumerations::FissionSamplingScheme SamplingScheme_
The sampling scheme that is used: NORMAL, LIGHT_FRAGMENT, or WENDT.
FissionSamplingScheme
The possible fission sampling methods.
G4FFGEnumerations::FissionCause G4GetCause(void)
Returns the FissionCause of the fission event.
G4double G4GetIncidentEnergy(void)
Returns the energy of the fission inducing particle.
G4double G4GetTernaryProbability(void)
Returns the probability of ternary fission.
void G4SetTernaryProbability(G4double WhatTernaryProbability)
Sets the probability of ternary fission.
double G4double
Definition: G4Types.hh:76
G4FFGEnumerations::FissionSamplingScheme G4GetSamplingScheme(void)
Returns the FissionSamplingScheme that is currently in use.
G4double G4GetAlphaProduction(void)
Returns the production rate of alpha particles for fission events.
G4FissionFragmentGenerator(void)
Default constructor.
G4FFGEnumerations::FissionCause Cause_
The cause of fission: SPONTANEOUS or N_INDUCED.
~G4FissionFragmentGenerator()
Default deconstructor.