Geant4 Cross Reference |
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 // This software was developed by Lawrence Liv 28 // 29 // Redistribution and use in source and binary 30 // modification, are permitted provided that t 31 // 32 // 1. Redistributions of source code must reta 33 // this list of conditions and the following 34 // 2. Redistributions in binary form must repr 35 // this list of conditions and the following 36 // and/or other materials provided with the 37 // 3. The name of the author may not be used t 38 // derived from this software without specif 39 // 40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``A 41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 42 // MERCHANTABILITY AND FITNESS FOR A PARTICULA 43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DI 44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGE 45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES 46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AN 47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR T 48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE US 49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 50 // 51 // Copyright (c) 2006 The Regents of the Unive 52 // All rights reserved. 53 // UCRL-CODE-224807 54 // 55 // 56 // 57 // This class is a copy of Fission.cc, made fo 58 // 59 60 #include "G4fissionEvent.hh" 61 62 G4fissionEvent* fe; 63 64 extern G4float (*rngfptr) (void); 65 66 extern G4double (*rngdptr) (void); 67 68 extern G4double rngf2d(void); 69 70 void genspfissevt_(G4int *isotope, G4double 71 if (fe != 0) delete fe; 72 fe = new G4fissionEvent(*isotope, *time, 73 } 74 75 void genfissevt_(G4int *isotope, G4double * 76 if (fe != 0) delete fe; 77 fe = new G4fissionEvent(*isotope, *time, 78 } 79 80 G4int getnnu_() { 81 return (*fe).getNeutronNu(); 82 } 83 84 G4int getpnu_() { 85 return (*fe).getPhotonNu(); 86 } 87 88 G4double getneng_(G4int *index) { 89 return (*fe).getNeutronEnergy(*index); 90 } 91 92 G4double getnvel_(G4int *index) { 93 return (*fe).getNeutronVelocity(*index); 94 } 95 96 G4double getndircosu_(G4int *index) { 97 return (*fe).getNeutronDircosu(*index); 98 } 99 100 G4double getndircosv_(G4int *index) { 101 return (*fe).getNeutronDircosv(*index); 102 } 103 104 G4double getndircosw_(G4int *index) { 105 return (*fe).getNeutronDircosw(*index); 106 } 107 108 G4double getpeng_(G4int *index) { 109 return (*fe).getPhotonEnergy(*index); 110 } 111 112 G4double getpvel_(G4int *index) { 113 return (*fe).getPhotonVelocity(*index); 114 } 115 116 G4double getpdircosu_(G4int *index) { 117 return (*fe).getPhotonDircosu(*index); 118 } 119 120 G4double getpdircosv_(G4int *index) { 121 return (*fe).getPhotonDircosv(*index); 122 } 123 124 G4double getpdircosw_(G4int *index) { 125 return (*fe).getPhotonDircosw(*index); 126 } 127 128 G4double getnage_(G4int *index) { 129 return (*fe).getNeutronAge(*index); 130 } 131 132 G4double getpage_(G4int *index) { 133 return (*fe).getPhotonAge(*index); 134 } 135 136 void setdelay_(G4int *delay) { 137 (*fe).setDelayOption(*delay); 138 } 139 140 void setcorrel_(G4int *correlation) { 141 (*fe).setCorrelationOption(*correlation) 142 } 143 144 void setnudist_(G4int *nudist) { 145 /* 146 where the argument *nudist affects induc 147 is set to 148 0 for sampling Zucker and Holden prob 149 for U-235,238 and Pu-239. Terrell f 150 1 same as above, but using Gwin, Spen 151 tabulated distributions for thermal 152 Terrell for other isotopes. 153 2 for sampling fission-induced neutro 154 (a) U-232, U-234, U-236 and U-238 u 155 Holden's tabulated data for U-2 156 (b) U-233 and U-235 using Zucker an 157 data for U-235 158 (c) Pu-239 and Pu-241 using Zucker 159 data for Pu-239 160 The P(nu) distributions for *nudist 161 function of the average number of n 162 based on interpolation of the data 163 Terrell for other isotopes. 164 3 for sampling fission-induced neutro 165 (a) U-232, U-234, U-236 and U-238 u 166 Holden's tabulated data for U-2 167 (b) U-233 and U-235 using Zucker an 168 data for U-235 169 (c) Pu-239 and Pu-241 using Zucker 170 data for Pu-239 171 The Z&H tables have P(nu) distribut 172 (0 MeV through 10 MeV), along with 173 *nudist=3, we select the P(nu) dist 174 a nubar closest either from above, 175 to the nubar entered for the induce 176 random number and fractional distan 177 nubar interval thus formed. 178 Terrell for other isotopes. 179 */ 180 181 (*fe).setNudistOption(*nudist); 182 } 183 184 void setcf252_(G4int *ndist, G4int *neng) { 185 /* 186 where the argument 187 *ndist is set to 188 0 to sample the spontaneous fission n 189 using tabulated data from Spencer 190 1 to sample the spontaneous fission n 191 using tabulated data from Boldeman 192 *neng is set to 193 0 to sample the Mannhart corrected Ma 194 1 to sample the Madland-Nix theoretic 195 2 to sample the Froehner Watt spectru 196 */ 197 (*fe).setCf252Option(*ndist, *neng); 198 } 199 200 void setrngf_(G4float (*funcptr) (void)) { 201 G4fissionEvent::setRNGf(funcptr); 202 } 203 204 void setrngd_(G4double (*funcptr) (void)) { 205 G4fissionEvent::setRNGd(funcptr); 206 } 207 // } 208