|
||||
File indexing completed on 2025-01-18 09:58:38
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 // This software was developed by Lawrence Livermore National Laboratory. 0028 // 0029 // Redistribution and use in source and binary forms, with or without 0030 // modification, are permitted provided that the following conditions are met: 0031 // 0032 // 1. Redistributions of source code must retain the above copyright notice, 0033 // this list of conditions and the following disclaimer. 0034 // 2. Redistributions in binary form must reproduce the above copyright notice, 0035 // this list of conditions and the following disclaimer in the documentation 0036 // and/or other materials provided with the distribution. 0037 // 3. The name of the author may not be used to endorse or promote products 0038 // derived from this software without specific prior written permission. 0039 // 0040 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 0041 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 0042 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 0043 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 0044 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 0045 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 0046 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 0047 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 0048 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 0049 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 0050 // 0051 // Copyright (c) 2006 The Regents of the University of California. 0052 // All rights reserved. 0053 // UCRL-CODE-224807 0054 // 0055 // 0056 0057 #include "G4Types.hh" 0058 0059 // 0060 // This file is a copy of Fission.hh, made for use with Geant4. 0061 // 0062 0063 extern void genspfissevt_(G4int *isotope, G4double *time); 0064 /* 0065 * This function is called to trigger a spontaneous fission. 0066 * Multiple neutrons and photons are generated and stored 0067 * in a stack along with their energies, directions and 0068 * emission times. 0069 * The arguments of this function are 0070 * isotope: 94239 for Pu-239 for instance 0071 * time: the time of the spontaneous fission 0072 */ 0073 0074 extern void genfissevt_(G4int *isotope, G4double *time, G4double *nubar, G4double *eng); 0075 /* 0076 * This function is called to trigger a neutron-induced fission. 0077 * Multiple neutrons and photons are generated and stored 0078 * in a stack along with their energies, directions and 0079 * emission times. In addition to the arguments above, this 0080 * function needs 0081 * nubar: user-specified average number of neutrons emitted 0082 * per fission (e.g. as tabulated in the cross-section 0083 * libraries used by the particle transport code) 0084 * eng: energy of the neutron inducing fission 0085 */ 0086 0087 extern G4int getnnu_(); 0088 /* 0089 * This function returns the number of neutrons emitted by the 0090 * fission, -1 if there is no neutron data for that isotope in 0091 * the fission library. 0092 */ 0093 0094 extern G4int getpnu_(); 0095 /* 0096 * This function returns the number of photons emitted by the 0097 * fission, -1 if there is no photon data for that isotope in 0098 * the fission library. 0099 */ 0100 0101 extern G4double getneng_(G4int *index); 0102 /* 0103 * Given the index of the emitted neutron, this function returns 0104 * its energy, -1 if index isout of range. 0105 */ 0106 0107 extern G4double getnvel_(G4int *index); 0108 /* 0109 * Given the index of the emitted neutron, this function returns 0110 * the amplitude of its velocity, -1 if index is out of range. 0111 */ 0112 0113 extern G4double getndircosu_(G4int *index); 0114 extern G4double getndircosv_(G4int *index); 0115 extern G4double getndircosw_(G4int *index); 0116 /* 0117 * Given the index of the emitted neutron, this function returns 0118 * the direction cosines of its velocity vector on the x, y and z 0119 * axes. 0120 */ 0121 0122 extern G4double getpeng_(G4int *index); 0123 /* 0124 * Given the index of the emitted photon, this function returns 0125 * its energy, -1 if index is out of range. 0126 */ 0127 0128 extern G4double getpvel_(G4int *index); 0129 /* 0130 * Given the index of the emitted photon, this function returns 0131 * the amplitude of its velocity, -1 if index is out of range. 0132 */ 0133 0134 extern G4double getpdircosu_(G4int *index); 0135 extern G4double getpdircosv_(G4int *index); 0136 extern G4double getpdircosw_(G4int *index); 0137 /* 0138 * Given the index of the emitted photon, this function returns 0139 * the direction cosines of its velocity. 0140 */ 0141 0142 extern G4double getnage_(G4int *index); 0143 /* 0144 * Given the index of the emitted neutron, this function returns 0145 * its age, -1 if index is out of range. 0146 * This age will be different from the time specified 0147 * in generateFissionEvent and generateSpontaneousFissionEvent 0148 * for non-prompt neutrons, i.e. delayed neutrons. 0149 */ 0150 0151 extern G4double getpage_(G4int *index); 0152 /* 0153 * Given the index of the emitted photon, this function returns 0154 * its age, -1 of index is out of range. 0155 * This age will be different from the time specified 0156 * in generateFissionEvent and generateSpontaneousFissionEvent 0157 * for photons that are emitted by beta-decay of the fission 0158 * fragments. 0159 */ 0160 0161 extern void setdelay_(G4int *delay); 0162 /* 0163 * This function is called to enable delayed neutrons and photons 0164 * Input 0165 * delay: 0166 * 0 (default) for strictly prompt neutrons and 0167 * photons 0168 * 1 (n/a) for prompt neutrons, prompt and delayed 0169 * photons 0170 * 2 (n/a) for prompt and delayed neutrons, prompt 0171 * photons 0172 * 3 (n/a) for prompt and delayed neutrons, prompt 0173 * and delayed photons 0174 */ 0175 0176 extern void setcorrel_(G4int *correlation); 0177 /* 0178 * This function is called to set the type of neutron photon correlation 0179 * Input 0180 * correlation: 0181 * 0 (default) for no correlation between neutrons and 0182 * photons 0183 * 1 (n/a) for number correlation between neutrons and 0184 * photons 0185 * 2 (n/a) for number and energy correlation between 0186 * neutrons and photons 0187 */ 0188 0189 extern void setnudist_(G4int *nudist); 0190 /* 0191 * This function is called to set the data to be sampled for the neutron 0192 * number distributions in induced fissions 0193 * Input 0194 * nudist: 0195 * 0 to use the fit to the Zucker and Holden tabulated 0196 * P(nu) distributions as a function of energy for 0197 * U235, U238 and Pu239. Terrell for other isotopes. 0198 * 1 to use fits to the Zucker and Holden tabulated 0199 * P(nu) distribution as a function of energy for 0200 * U238 and Pu239, and a fit to the Zucker and Holden 0201 * data as well as the Gwin, Spencer and Ingle data 0202 * (at thermal energies) as a function of energy for 0203 * U235. Terrell for other isotopes. 0204 * 2 (default) to use the fit to the Zucker and Holden 0205 * tabulated P(nu) distributions as a function of nubar. 0206 * The U238 fit is used for the U232, U234, U236 and 0207 * U238 isotopes, the U235 fit for U233 and U235, the 0208 * Pu239 fit for Pu239 and Pu241. Terrell for other 0209 * isotopes. 0210 */ 0211 0212 0213 extern void setcf252_(G4int *ndist, G4int *neng); 0214 /* 0215 * This function is called to set the data to be sampled for the 0216 * (a) Cf252 spontaneous fission number distribution, and 0217 * (b) Cf252 spontaneous fission neutron energy spectrum 0218 * Input 0219 * ndist: 0220 * 0 (default) to sample the number of neutrons from the 0221 * tabulated data measured by Spencer 0222 * 1 to sample the number of neutrons from Boldeman's data 0223 * neng: 0224 * 0 to sample the spontaneous fission neutron energy from 0225 * Mannhart corrected Maxwellian spectrum 0226 * 1 to sample the spontaneous fission neutron energy from 0227 * Madland-Nix theoretical spectrum 0228 * 2 to sample the spontaneous fission neutron energy from 0229 * the Froehner Watt spectrum 0230 */ 0231 0232 extern void setrngf_(G4float (*funcptr) (void)); 0233 /* 0234 * This function sets the random number generator to the user-defined 0235 * one specified in the argument. If either setrngf_ or setrngd_ are 0236 * not specified, the default system call srand48 will be called. 0237 * Input 0238 * funcptr: 0239 * a random number generator function that returns a 0240 * variable of type G4float 0241 */ 0242 0243 extern void setrngd_(G4double (*funcptr) (void)); 0244 /* 0245 * This function sets the random number generator to the user-defined 0246 * one specified in the argument. If either setrngf_ or setrngd_ are 0247 * not specified, the default system call srand48 will be called. 0248 * Input 0249 * funcptr: 0250 * a random number generator function that returns a 0251 * variable of type G4double 0252 */ 0253 // }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |