Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:58:17

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 /*
0027  * File:   G4FFGEnumerations.hh
0028  * Author: B. Wendt (wendbryc@isu.edu)
0029  *
0030  * Created on June 6, 2011, 9:12 AM
0031  */
0032 
0033 #ifndef G4FFGENUMAERATIONS_HH
0034 #define G4FFGENUMAERATIONS_HH
0035 
0036 #include "G4Types.hh"
0037 
0038 /** G4FFGEnumerations is a namespace that contains all the enumerations that
0039  *  are used in the fission fragment generator code.
0040  */
0041 namespace G4FFGEnumerations
0042 {
0043 /** The two types of fission data available. Independent yields are taken
0044  *  directly from  prompt fission products, while cumulative fission yields are
0045  *  taken some time after the fission event so that the products have had a
0046  *  moment to stabilize.
0047  */
0048 enum YieldType
0049 {
0050   INDEPENDENT = 454,
0051   CUMULATIVE = 459
0052 };
0053 /** The first value of YieldType */
0054 static const G4int YieldTypeFirst = INDEPENDENT;
0055 /** The last value of YieldType */
0056 static const G4int YieldTypeLast = CUMULATIVE;
0057 
0058 /** Causes of fission.
0059  *  Currently only yields for spontaneous and neutron induced fission are
0060  *  included in the data libraries. Photon and gamma induced fission are
0061  *  included here only to provide potential forward compatibility.
0062  *  <b> G4FissionFragmentGenerator::G4SetCause() must be modified if the data
0063  *  sets are expanded to include photon and gamma induced fission. </b>
0064  */
0065 enum FissionCause
0066 {
0067   SPONTANEOUS,
0068   NEUTRON_INDUCED,
0069   PROTON_INDUCED,
0070   GAMMA_INDUCED
0071 };
0072 /** The first value of FissionCause */
0073 static const G4int FissionCauseFirst = SPONTANEOUS;
0074 /** The last value of FissionCause.
0075  * This is set to NEUTRON_INDUCED becuase neither PROTON_INDUCED
0076  * nor GAMMA_INDUCED are currently supporded.
0077  */
0078 static const G4int FissionCauseLast = NEUTRON_INDUCED;
0079 
0080 /** The possible fission sampling methods */
0081 enum FissionSamplingScheme
0082 {
0083   NORMAL,
0084   LIGHT_FRAGMENT
0085 };
0086 /** The first value of FissionSamplingScheme */
0087 static const G4int FissionSamplingSchemeFirst = NORMAL;
0088 /** The last value of FissionSamplingScheme */
0089 static const G4int FissionSamplingSchemeLast = LIGHT_FRAGMENT;
0090 
0091 /** Truncate the Gaussian distribution at 0 (\p POSITIVE) or sample all values
0092  *  (\p ALL)
0093  */
0094 enum GaussianRange
0095 {
0096   POSITIVE,
0097   ALL
0098 };
0099 
0100 /** Sample a discretized Gaussian distribution (\p INT) or continuous (\p DOUBLE) */
0101 enum GaussianReturnType
0102 {
0103   INT,
0104   DOUBLE
0105 };
0106 
0107 /** ENDF format provides for 3 isomers - 1 ground state and 2 meta states */
0108 enum MetaState
0109 {
0110   GROUND_STATE,
0111   META_1,
0112   META_2
0113 };
0114 /** The first value of MetaState */
0115 static const G4int MetaStateFirst = GROUND_STATE;
0116 /** The last value of MetaState */
0117 static const G4int MetaStateLast = META_2;
0118 
0119 /** These are the source shapes available */
0120 enum SourceType
0121 {
0122   RECTANGLE,
0123   CYLINDER,
0124   SPHERE
0125 };
0126 /** The first value of SourceType */
0127 static const G4int SourceTypeFirst = RECTANGLE;
0128 /** The last value of SourceType */
0129 static const G4int SourceTypeLast = SPHERE;
0130 
0131 /** These are the verbosity levels */
0132 enum Verbosity
0133 {
0134   SILENT = 0x0,
0135   UPDATES = 0x1,
0136   DAUGHTER_INFO = 0x2,
0137   NEUTRON_INFO = 0x4,
0138   GAMMA_INFO = 0x8,
0139   ALPHA_INFO = 0x10,
0140   MOMENTUM_INFO = 0x20,
0141   ENERGY_INFO = 0x40,
0142   EXTRAPOLATION_INTERPOLATION_INFO = 0x80,
0143   WARNING = 0x100,
0144   DEBUG = 0x200,
0145   PRINT_ALL = 0x3FF,
0146   REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES = 0x1000,
0147   REPRESS_RANDOM_SAMPLING_MESSAGES = 0x2000,
0148   REPRESS_RECURSIVE_DEBUG_MESSAGES = 0x4000,
0149   REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES = 0x8000
0150 };
0151 /** This is the maximum value of Verbosity */
0152 static const G4int VerbosityLast = (REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES << 1) - 1;
0153 }  // namespace G4FFGEnumerations
0154 
0155 #endif /* G4FFGENUMAERATIONS_HH */