Geant4 Cross Reference |
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: G4FFGEnumerations.hh 28 * Author: B. Wendt (wendbryc@isu.edu) 29 * 30 * Created on June 6, 2011, 9:12 AM 31 */ 32 33 #ifndef G4FFGENUMAERATIONS_HH 34 #define G4FFGENUMAERATIONS_HH 35 36 #include "G4Types.hh" 37 38 /** G4FFGEnumerations is a namespace that contains all the enumerations that 39 * are used in the fission fragment generator code. 40 */ 41 namespace G4FFGEnumerations 42 { 43 /** The two types of fission data available. Independent yields are taken 44 * directly from prompt fission products, while cumulative fission yields are 45 * taken some time after the fission event so that the products have had a 46 * moment to stabilize. 47 */ 48 enum YieldType 49 { 50 INDEPENDENT = 454, 51 CUMULATIVE = 459 52 }; 53 /** The first value of YieldType */ 54 static const G4int YieldTypeFirst = INDEPENDENT; 55 /** The last value of YieldType */ 56 static const G4int YieldTypeLast = CUMULATIVE; 57 58 /** Causes of fission. 59 * Currently only yields for spontaneous and neutron induced fission are 60 * included in the data libraries. Photon and gamma induced fission are 61 * included here only to provide potential forward compatibility. 62 * <b> G4FissionFragmentGenerator::G4SetCause() must be modified if the data 63 * sets are expanded to include photon and gamma induced fission. </b> 64 */ 65 enum FissionCause 66 { 67 SPONTANEOUS, 68 NEUTRON_INDUCED, 69 PROTON_INDUCED, 70 GAMMA_INDUCED 71 }; 72 /** The first value of FissionCause */ 73 static const G4int FissionCauseFirst = SPONTANEOUS; 74 /** The last value of FissionCause. 75 * This is set to NEUTRON_INDUCED becuase neither PROTON_INDUCED 76 * nor GAMMA_INDUCED are currently supporded. 77 */ 78 static const G4int FissionCauseLast = NEUTRON_INDUCED; 79 80 /** The possible fission sampling methods */ 81 enum FissionSamplingScheme 82 { 83 NORMAL, 84 LIGHT_FRAGMENT 85 }; 86 /** The first value of FissionSamplingScheme */ 87 static const G4int FissionSamplingSchemeFirst = NORMAL; 88 /** The last value of FissionSamplingScheme */ 89 static const G4int FissionSamplingSchemeLast = LIGHT_FRAGMENT; 90 91 /** Truncate the Gaussian distribution at 0 (\p POSITIVE) or sample all values 92 * (\p ALL) 93 */ 94 enum GaussianRange 95 { 96 POSITIVE, 97 ALL 98 }; 99 100 /** Sample a discretized Gaussian distribution (\p INT) or continuous (\p DOUBLE) */ 101 enum GaussianReturnType 102 { 103 INT, 104 DOUBLE 105 }; 106 107 /** ENDF format provides for 3 isomers - 1 ground state and 2 meta states */ 108 enum MetaState 109 { 110 GROUND_STATE, 111 META_1, 112 META_2 113 }; 114 /** The first value of MetaState */ 115 static const G4int MetaStateFirst = GROUND_STATE; 116 /** The last value of MetaState */ 117 static const G4int MetaStateLast = META_2; 118 119 /** These are the source shapes available */ 120 enum SourceType 121 { 122 RECTANGLE, 123 CYLINDER, 124 SPHERE 125 }; 126 /** The first value of SourceType */ 127 static const G4int SourceTypeFirst = RECTANGLE; 128 /** The last value of SourceType */ 129 static const G4int SourceTypeLast = SPHERE; 130 131 /** These are the verbosity levels */ 132 enum Verbosity 133 { 134 SILENT = 0x0, 135 UPDATES = 0x1, 136 DAUGHTER_INFO = 0x2, 137 NEUTRON_INFO = 0x4, 138 GAMMA_INFO = 0x8, 139 ALPHA_INFO = 0x10, 140 MOMENTUM_INFO = 0x20, 141 ENERGY_INFO = 0x40, 142 EXTRAPOLATION_INTERPOLATION_INFO = 0x80, 143 WARNING = 0x100, 144 DEBUG = 0x200, 145 PRINT_ALL = 0x3FF, 146 REPRESS_FUNCTION_ENTER_LEAVE_MESSAGES = 0x1000, 147 REPRESS_RANDOM_SAMPLING_MESSAGES = 0x2000, 148 REPRESS_RECURSIVE_DEBUG_MESSAGES = 0x4000, 149 REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES = 0x8000 150 }; 151 /** This is the maximum value of Verbosity */ 152 static const G4int VerbosityLast = (REPRESS_DATA_STRUCTURE_DEBUG_MESSAGES << 1) - 1; 153 } // namespace G4FFGEnumerations 154 155 #endif /* G4FFGENUMAERATIONS_HH */ 156