Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/particle_hp/include/G4FissionFragmentGenerator.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/particle_hp/include/G4FissionFragmentGenerator.hh (Version 11.3.0) and /processes/hadronic/models/particle_hp/include/G4FissionFragmentGenerator.hh (Version 9.0)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 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 "G4FFGEnumerations.hh"                   
 37 #include "G4FissionProductYieldDist.hh"           
 38 #include "G4HadFinalState.hh"                     
 39 #include "G4HadProjectile.hh"                     
 40 #include "G4Ions.hh"                              
 41 #include "G4TableTemplate.hh"                     
 42 #include "globals.hh"                             
 43                                                   
 44 /** G4FissionFragmentGenerator is the front en    
 45  *  handling all fission event generation.        
 46  *                                                
 47  *  This class is intended to be instantiated     
 48  *  as specific isotope/isomer, fission type,     
 49  *  this reason no functions exist to change o    
 50  *  class in constructed. A new class must be     
 51  *  of fission event, if such functionality is    
 52  */                                               
 53 class G4FissionFragmentGenerator                  
 54 {                                                 
 55   public:                                         
 56     // Constructor definition                     
 57     /** Default constructor                       
 58      *  - Usage: No arguments required            
 59      *                                            
 60      *  - Notes:                                  
 61      *      - There are methods that should be    
 62      *        parameters before generating any    
 63      *        G4FissionFragmentGenerator. Thes    
 64      *          - G4SetIsotope()                  
 65      *          - G4SetMetaState()                
 66      *          - G4SetCause()                    
 67      *          - G4SetIncidentEnergy()           
 68      *          - G4SetYieldType()                
 69      *          - G4SetAlphaProduction()          
 70      *          - G4SetAlphaProductionProbabil    
 71      *          - G4SetSamplingScheme()           
 72      *      - If any or all of these parameter    
 73      *        default values will be used.        
 74      *          - Isotope: \p 92238               
 75      *          - Metastable state: \p GROUND_    
 76      *          - Cause: \p SPONTANEOUS           
 77      *          - Incident energy: \p 0.025 eV    
 78      *          - Yield type: \p INDEPENDENT      
 79      *          - Alpha production: \p 0          
 80      *          - Alpha production probability    
 81      *          - Sampling scheme: \p NORMAL      
 82      */                                           
 83     G4FissionFragmentGenerator();                 
 84     /** Overloaded constructor                    
 85      *  - Usage:                                  
 86      *      - \p Verbosity: Verbosity level       
 87      *                                            
 88      *  - Notes:                                  
 89             - Refer to the documentation for t    
 90      *        setting up the operating paramet    
 91      */                                           
 92     G4FissionFragmentGenerator(G4int Verbosity    
 93                                                   
 94   protected:                                      
 95     /** Initialize is a common function called    
 96     void Initialize();                            
 97                                                   
 98   public:                                         
 99     // Functions                                  
100     /** Generates a single fission event          
101      *  - Usage: No arguments required            
102      *                                            
103      *  - Notes:                                  
104      *      - Generates a single fission event    
105      *        and passing an argument of '1'      
106      */                                           
107     G4DynamicParticleVector* G4GenerateFission    
108     /** Generates a single fission event          
109      *  - Usage:                                  
110      *    -\p Projectile: G4HadProjectile of t    
111      *                                            
112      *  - Notes:                                  
113      *      - Generates a single fission event    
114      *        and passing an argument of '1'      
115      */                                           
116     G4DynamicParticleVector* G4GenerateFission    
117     /** Generates NumberOfFissions fission eve    
118      *  - Usage:                                  
119      *      -\p NumberOfFissions: The number o    
120      *                                            
121      *  - Notes:                                  
122      *      - Generates \p NumberOfFissions fi    
123      */                                           
124     const std::vector<G4DynamicParticleVector*    
125     G4GenerateFission(G4long NumberOfFissions,    
126     /** Returns a randomly sampled fission pro    
127     G4Ions* G4GenerateFissionProduct();           
128     /** Returns the production rate of alpha p    
129     G4double G4GetAlphaProduction();              
130     /** Returns the probability of ternary fis    
131     G4double G4GetTernaryProbability();           
132     /** Returns the FissionCause of the fissio    
133     G4FFGEnumerations::FissionCause G4GetCause    
134     /** Returns the energy of the fission indu    
135     G4double G4GetIncidentEnergy();               
136     /** Returns the code of the fission isotop    
137     G4int G4GetIsotope();                         
138     /** Returns the MetaState of the fission i    
139     G4FFGEnumerations::MetaState G4GetMetaStat    
140     /** Returns the FissionSamplingScheme that    
141     G4FFGEnumerations::FissionSamplingScheme G    
142     /** Returns the yield type that is current    
143     G4FFGEnumerations::YieldType G4GetYieldTyp    
144     /** Initializes a new \p G4FPY...Dist clas    
145      *  variables of G4FissionFragmentGenerato    
146      */                                           
147     bool InitializeFissionProductYieldClass(st    
148     /** Converts the Z, A and M of an isotope     
149     static G4int G4MakeIsotopeCode(G4int Z, G4    
150     /** Sets the number of alpha particles pro    
151      *  - Usage:                                  
152      *      - if \p AlphaProduction is negativ    
153      *        on a Gaussian with a mean of \p     
154      *                                            
155      *  - Notes:                                  
156      *      - The maximum number of alpha part    
157      *        physically limited by the nucleo    
158      *        Setting the AlphaProduction too     
159      *        results on the sampling of the f    
160      */                                           
161     void G4SetAlphaProduction(G4double WhatAlp    
162     /** Sets the probability of ternary fissio    
163      *  - Usage:                                  
164      *      - \p WhatAlphaProductionProbabilit    
165      *      particles for a fission event. 1 =    
166      *                                            
167      *  - Notes:                                  
168      */                                           
169     void G4SetTernaryProbability(G4double What    
170     /** Sets the cause of fission event.          
171      *  - Usage:                                  
172      *      - \p WhichCause: \p SPONTANEOUS, \    
173      *      \p G_INDUCED                          
174      *                                            
175      *  - Notes:                                  
176      */                                           
177     void G4SetCause(G4FFGEnumerations::Fission    
178     /** Sets the incident energy, if any, of t    
179      *  - Usage:                                  
180      *      - \p WhatIncidentEnergy: Kinetic e    
181      *                                            
182      *  - Notes:                                  
183      */                                           
184     void G4SetIncidentEnergy(G4double WhatInci    
185     /** Sets the fission isotope                  
186      *  - Usage:                                  
187      *      - \p WhichIsotope: Code of the iso    
188      *                                            
189      *  - Notes:                                  
190      */                                           
191     void G4SetIsotope(G4int WhichIsotope);        
192     /** Sets the metastable state of the fissi    
193      *  - Usage:                                  
194      *      - \p WhichMetaState: \p GROUND_STA    
195      *                                            
196      *  - Notes:                                  
197      */                                           
198     void G4SetMetaState(G4FFGEnumerations::Met    
199     /** Set the sampling scheme.                  
200      *  - Usage:                                  
201      *      - NewScheme: The G4FissionSampling    
202      *        scheme to use.                      
203      *                                            
204      *  - Notes:                                  
205      *      - \p NORMAL: Sets the parameters o    
206      *           events without any biasing.      
207      *      - \p LIGHT_FRAGMENT: Sets the para    
208      *           fragment generation by always    
209      *           (A \< 115) first.                
210      *      - \p WENDT: Sets the parameters of    
211      *           events according to the Wendt    
212      *           the code documentation for G4    
213      *           detailed explanation.            
214      */                                           
215     void G4SetSamplingScheme(G4FFGEnumerations    
216     /** Sets the ENDF yield type to be used fo    
217      *  - Usage:                                  
218      *      - \p WhichYieldType: \p INDEPENDEN    
219      *                                            
220      *  - Notes:                                  
221      */                                           
222     void G4SetYieldType(G4FFGEnumerations::Yie    
223     /** Sets the verbosity levels                 
224      *  - Usage:                                  
225      *      - \p WhichVerbosity: Combination o    
226      *                                            
227      *  - Notes:                                  
228      *      - \p SILENT: All verbose output is    
229      *      - \p UPDATES: Only high-level inte    
230      *      - \p DAUGHTER_INFO: Displays infor    
231      *      - \p NEUTRON_INFO: Displays inform    
232      *      - \p GAMMA_INFO: Displays informat    
233      *      - \p ALPHA_INFO: Displays informat    
234      *      - \p MOMENTUM_INFO: Displays infor    
235      *      - \p EXTRAPOLATION_INTERPOLATION_I    
236      * or interpolation that occurs               
237      *      - \p DEBUG: Reports program flow a    
238      *      - \p PRINT_ALL: Displays any and a    
239      */                                           
240     void G4SetVerbosity(G4int WhatVerbosity);     
241                                                   
242   protected:                                      
243     // Variables                                  
244     // Class descriptor variables                 
245     /** Number in ZZZAAA format of the isotope    
246      *  G4FissionFragmentGenerator references     
247      */                                           
248     G4int Isotope_;                               
249     /** MetaState information of the isotope t    
250      *  references                                
251      *  \n A value of 0 refers to the ground s    
252      */                                           
253     G4FFGEnumerations::MetaState MetaState_;      
254     /** The cause of fission: \p SPONTANEOUS o    
255     G4FFGEnumerations::FissionCause Cause_;       
256     /** Kinetic energy, if any, of the inciden    
257     G4double IncidentEnergy_;                     
258     /** The type of yield to be used: \p INDEP    
259     G4FFGEnumerations::YieldType YieldType_;      
260     /** Sets the ternary fission probability.     
261     G4double TernaryProbability_;                 
262     /** Controls whether alpha particles are e    
263     G4double AlphaProduction_;                    
264     /** If Isotope_, MetaState_, Cause_, or In    
265      *  the middle of a run then the class poi    
266      *  need to be reconstructed                  
267      */                                           
268     G4bool IsReconstructionNeeded_;               
269     /** Verbosity level */                        
270     G4int Verbosity_;                             
271                                                   
272     // Defines the current sampling scheme and    
273     /** The sampling scheme that is used: \p N    
274      *  \p WENDT.                                 
275      */                                           
276     G4FFGEnumerations::FissionSamplingScheme S    
277     /** Pointer to G4FissionProductYieldDist c    
278      *  probabilistic yield data                  
279      */                                           
280     G4FissionProductYieldDist* YieldData_;        
281                                                   
282     // Destructor function(s)                     
283   public:                                         
284     /** Default deconstructor */                  
285     ~G4FissionFragmentGenerator();                
286 };                                                
287                                                   
288 #endif /* G4FISSIONFRAGMENTGENERATOR_HH */        
289