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 <cmath> 59 #include "G4Pow.hh" 60 #include "G4fissionEvent.hh" 61 62 G4int G4fissionEvent::G4SmpNuDistDataPu239_241 63 64 /* 65 Description 66 Sample Number of Neutrons from fission in 67 Zucker and Holden's tabulated data for Pu- 68 The P(nu) distribution is given as a funct 69 number of neutrons from fission, based on 70 Pu-239 data from Zucker and Holden. 71 */ 72 73 /* 74 Input 75 nubar - average number of neutrons per 76 Output 77 G4SmpNuDistDataPu239_241 - sampled multip 78 79 */ 80 81 G4double pnu[9], cpnu, sum; 82 G4double r; 83 84 /* 85 Check if nubar is within the range of experi 86 */ 87 if(nubar >= 2.85 && nubar <= 4.25) { 88 /* 89 Use Zucker and Holden Data 90 */ 91 G4Pow* Pow=G4Pow::GetInstance(); 92 pnu[0]=-2.412937e-3*Pow->powN(nubar,3)+3. 93 pnu[1]=-2.650615e-2*Pow->powN(nubar,3)+3. 94 pnu[2]=3.232028e-2*Pow->powN(nubar,3)-3.1 95 pnu[3]=1.623289e-2*Pow->powN(nubar,3)-2.4 96 pnu[4]=1.932275e-2*Pow->powN(nubar,3)-2.9 97 pnu[5]=-6.185679e-2*Pow->powN(nubar,3)+6. 98 pnu[6]=1.79773e-2*Pow->powN(nubar,3)-1.60 99 pnu[7]=3.530038e-3*Pow->powN(nubar,4)-4.9 100 pnu[8]=2.837523e-3*Pow->powN(nubar,3)-2.6 101 102 sum=pnu[0]+pnu[1]+pnu[2]+pnu[3]+pnu[4]+pn 103 104 pnu[0]=pnu[0]/sum; 105 pnu[1]=pnu[1]/sum; 106 pnu[2]=pnu[2]/sum; 107 pnu[3]=pnu[3]/sum; 108 pnu[4]=pnu[4]/sum; 109 pnu[5]=pnu[5]/sum; 110 pnu[6]=pnu[6]/sum; 111 pnu[7]=pnu[7]/sum; 112 pnu[8]=pnu[8]/sum; 113 114 r=fisslibrng(); 115 116 if(r <= pnu[0]) return 0; 117 118 cpnu=pnu[0]+pnu[1]; 119 if(r <= cpnu) return 1; 120 121 cpnu=cpnu+pnu[2]; 122 if(r <= cpnu) return 2; 123 124 cpnu=cpnu+pnu[3]; 125 if(r <= cpnu) return 3; 126 127 cpnu=cpnu+pnu[4]; 128 if(r <= cpnu) return 4; 129 130 cpnu=cpnu+pnu[5]; 131 if(r <= cpnu) return 5; 132 133 cpnu=cpnu+pnu[6]; 134 if(r <= cpnu) return 6; 135 136 cpnu=cpnu+pnu[7]; 137 if(r <= cpnu) return 7; 138 else return 8; 139 140 } else { 141 /* 142 Use Terrell's formula 143 */ 144 return (G4int) G4SmpTerrell(nubar); 145 } 146 } 147