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 58 #include "G4fissionEvent.hh" 59 60 #define nSPfissg 30 61 62 G4int G4fissionEvent::G4SmpSpNugDistData(G4int 63 64 /* 65 Description 66 Sample Number of Photons from spontaneous 67 (a) Cf-252 using the double Poisson model 68 (b) Th-232, 69 U-232, U-233, U-234, U-235, U-236, U-2 70 Np-237, 71 Pu-238*, Pu-239, Pu-240*, Pu-241, Pu-2 72 Am-241, 73 Cm-242*, Cm-244*, 74 Bk-249 75 using the negative binomial distributi 76 spontaneous fission neutron nubar from 77 tabulated data or Holden and Zucker's 78 (for isotopes denoted with asterix *). 79 */ 80 81 /* 82 Input 83 iso - isotope 84 Output 85 G4SmpSpNugDistData - sampled multiplicity 86 -1 if there is no multi 87 */ 88 89 G4int i; 90 G4double sum, nubar; 91 G4double r; 92 93 static G4double Cf252spdist [nSPfissg] = { 94 5.162699e-4,3.742057e-3,1.360482e-2,3 95 9.043537e-2,1.133984e-1,1.240985e-1,1 96 9.137106e-2,7.219960e-2,5.438060e-2,3 97 1.800781e-2,1.143520e-2,6.942099e-3,4 98 1.179602e-3,5.966936e-4,2.888766e-4,1 99 2.551191e-5,1.049692e-5,4.160575e-6,1 100 }; 101 102 /* 103 sample the spontaneous fission photon number 104 */ 105 nubar=0.; 106 if (isotope == 98252) { 107 // Cf-252 using the G4double Poisson model fr 108 r=fisslibrng(); 109 110 sum = 0.; 111 for (i = 0; i < nSPfissg-1; i++) { 112 sum = sum + Cf252spdist[i]; 113 if (r <= sum || Cf252spdist[i+1] == 0.) 114 } 115 } else if (isotope == 92238) { 116 /* 117 using the spontaneous fission nubar from 118 Holden and Zucker's tabulated data 119 */ 120 nubar = 1.9900002; 121 } else if (isotope == 94240) { 122 nubar = 2.1540006; 123 } else if (isotope == 94242) { 124 nubar = 2.1489998; 125 } else if (isotope == 96242) { 126 nubar = 2.54; 127 } else if (isotope == 96244) { 128 nubar = 2.7200005; 129 } else if (isotope == 94238) { 130 nubar = 2.2100301; 131 } 132 133 if (nubar != 0.) { 134 return G4SmpNugDist(isotope, nubar); 135 } else { 136 /* 137 using the spontaneous fission nubar from 138 N. Ensslin, et.al., "Application Guide to 139 Multiplicity Counting," LA-13422-M (Novemb 140 */ 141 nubar = G4SmpSpNubarData(isotope); 142 if (nubar != -1.) { 143 return G4SmpNugDist(isotope, nubar); 144 } else { 145 // There is no nubar information for that isot 146 // meaning no data available for that isotope 147 return -1; 148 } 149 } 150 } 151