Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/fission/src/G4SmpNEngCf252.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/fission/src/G4SmpNEngCf252.cc (Version 11.3.0) and /processes/hadronic/models/fission/src/G4SmpNEngCf252.cc (Version 1.1)


  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 "G4Log.hh"                               
 60 #include "G4Pow.hh"                               
 61 #include "G4fissionEvent.hh"                      
 62                                                   
 63 G4double G4fissionEvent::G4SmpNEngCf252(G4int     
 64                                                   
 65 /*                                                
 66   Description                                     
 67     Sample energy spectrum for Cf-252.            
 68 */                                                
 69                                                   
 70 /*                                                
 71   Input                                           
 72     option    - 0 Mannhart corrected Maxwellia    
 73                 1 Madland-Nix theoretical spec    
 74                 2 Froehner Watt spectrum          
 75   Return                                          
 76     energy of neutron emitted by spontaneous f    
 77 */                                                
 78                                                   
 79   G4Pow* Pow=G4Pow::GetInstance();                
 80                                                   
 81   G4double a,b;                                   
 82   G4double gpar;                                  
 83   G4double g2;                                    
 84   G4double ferg;                                  
 85   G4double r;                                     
 86                                                   
 87   r = fisslibrng();                               
 88                                                   
 89 /*                                                
 90    Mannhart Corrected Spectrum                    
 91 */                                                
 92   if(option == 0) {                               
 93     if(r == 0) return 0.000001;                   
 94     if (r > 0.0 && r <= 0.0005)                   
 95       return 0.00003 + 0.04992*(r/0.0005) - 0.    
 96            + 5.44877*Pow->powN(r/0.0005,3) - 2    
 97            + 97.14014*Pow->powN(r/0.0005,5) -     
 98            + 268.2301*Pow->powN(r/0.0005,7) -     
 99            + 98.96285*Pow->powN(r/0.0005,9) -     
100                                                   
101     if (r > 0.0005 && r <= 0.005)                 
102       return 0.01118 + 0.06715*((r-.0005)/.004    
103            - 0.09236*Pow->powN((r-.0005)/.0045    
104            - 0.64784*Pow->powN((r-.0005)/.0045    
105            - 1.43858*Pow->powN((r-.0005)/.0045    
106            - 0.51839*Pow->powN((r-.0005)/.0045    
107                                                   
108     if (r > 0.005 && r <= 0.05)                   
109       return 0.05244+0.32101*((r-.005)/.045)      
110            -  0.52574*Pow->powN((r-.005)/.045,    
111            - 14.88036*Pow->powN((r-.005)/.045,    
112            -133.64517*Pow->powN((r-.005)/.045,    
113            -186.86758*Pow->powN((r-.005)/.045,    
114            - 20.55275*Pow->powN((r-.005)/.045,    
115                                                   
116     if(r > 0.05 && r <= 0.25) return 0.25585+0    
117                                                   
118     if(r > 0.25 && r <= 0.50) return 0.87609+0    
119                                                   
120     if(r > 0.5 && r <= 0.75) return 1.69622+0.    
121                                                   
122     if(r > 0.75 && r <= 0.95) return 2.91217+1    
123      if(r > 0.95 && r <= 0.975) return 5.50137    
124                                                   
125      if(r > 0.975 && r <= 0.995) return 6.5217    
126      if(r > 0.995 && r <= 0.999) return 9.0050    
127      if(r > 0.999 && r <= 0.9997) return 11.83    
128      if(r > 0.9997) return 20.;                   
129   }                                               
130 /*                                                
131    Madland-Nix Spectrum                           
132 */                                                
133   if(option == 1) {                               
134      if(r <= 1.001065092e-03) return 1.9463138    
135      else if(r > 1.001065092e-03 && r <= 1.001    
136      else if(r > 1.001389105e-02 && r <= 5.022    
137      else if(r > 5.022359145e-02 && r <= 1.000    
138      else if(r > 1.000989427e-01 && r <= 1.500    
139      else if(r > 1.500872491e-01 && r <= 2.002    
140      else if(r > 2.002079974e-01 && r <= 2.252    
141      else if(r > 2.25221648e-01 && r <= 2.5015    
142      else if(r > 2.501564538e-01 && r <= 2.752    
143      else if(r > 2.752546770e-01 && r <= 3.000    
144      else if(r > 3.000964724e-01 && r <= 3.500    
145      else if(r > 3.500470095e-01 && r <= 4.001    
146      else if(r > 4.001118970e-01 && r <= 5.000    
147      else if(r > 5.000461778e-01 && r <= 5.501    
148      else if(r > 5.501318506e-01 && r <= 6.000    
149      else if(r > 6.000655433e-01 && r <= 6.500    
150      else if(r > 6.500147305e-01 && r <= 7.000    
151      else if(r > 7.000271284e-01 && r <= 7.501    
152      else if(r > 7.501159110e-01 && r <= 8.000    
153      else if(r > 8.000662513e-01 && r <= 8.500    
154      else if(r > 8.500772033e-01 && r <= 8.750    
155      else if(r > 8.750123088e-01 && r <= 9.000    
156      else if(r > 9.000106866e-01 && r <= 9.250    
157      else if(r > 9.250286977e-01 && r <= 9.350    
158      else if(r > 9.350074655e-01 && r <= 9.400    
159      else if(r > 9.400070002e-01 && r <= 9.500    
160      else if(r > 9.500026229e-01 && r <= 9.600    
161      else if(r > 9.600065896e-01 && r <= 9.700    
162      else if(r > 9.700165577e-01 && r <= 9.750    
163      else if(r > 9.750157135e-01 && r <= 9.800    
164      else if(r > 9.800101585e-01 && r <= 9.850    
165      else if(r > 9.850018119e-01 && r <= 9.875    
166      else if(r > 9.875072929e-01 && r <= 9.900    
167      else if(r > 9.900006975e-01 && r <= 9.925    
168      else if(r > 9.925048152e-01 && r <= 9.935    
169      else if(r > 9.935030103e-01 && r <= 9.945    
170      else if(r > 9.945000177e-01 && r <= 9.950    
171      else if(r > 9.950025127e-01 && r <= 9.955    
172      else if(r > 9.955029368e-01 && r <= 9.960    
173      else if(r > 9.960005970e-01 && r <= 9.965    
174      else if(r > 9.965016080e-01 && r <= 9.970    
175      else if(r > 9.970001795e-01 && r <= 9.975    
176      else if(r > 9.975004375e-01 && r <= 9.978    
177      else if(r > 9.978504408e-01 && r <= 9.989    
178        return 2.72756636666e5-5.47258138432e5*    
179      else if(r > 9.989524675e-01 && r <= 9.994    
180        return 1.14946879661e6-2.30252188973e6*    
181      else if(r > 9.994929298e-01 && r <= 9.997    
182        return 4.90621526236e6-9.81982943883e6*    
183      else if(r > 9.997558922e-01 && r <= 9.998    
184        return 2.11365688795184e7-4.22884732250    
185      else if(r > 9.998830120e-01 && r <= 9.999    
186        return 9.18987945911229e7-1.83829506875    
187      else if(r > 9.999441620e-01 && r <= 9.999    
188        return 4.02781481130433e8-8.05629656768    
189      else if(r > 9.999734440e-01 && r <= 9.999    
190        return 1.77804635135775e9-3.55623257045    
191      else if(r > 9.999874120e-01 && r <= 9.999    
192        return 7.90099032702915e9-1.58022749659    
193      else if(r > 9.999940510e-01 && r <= 9.999    
194        return 3.53223507413091e10-7.0645322716    
195      else if(r > 9.999971960e-01 && r <= 9.999    
196        return 1.58786475903785e11-3.1757426684    
197      else if(r > 9.999986820e-01 && r <= 9.999    
198        return 7.17433904438156e11-1.4348705997    
199      else if(r > 9.999993820e-01 && r <= 9.999    
200        return 3.257374123945330e12-6.514754184    
201      else if(r > 9.999997110e-01 && r <= 9.999    
202        return 1.48641255466171e13-2.9728263753    
203      else if(r > 9.999998650e-01 && r <= 9.999    
204        return 6.82056055248876e13-1.3641123811    
205      else if(r > 9.999999370e-01 && r <= 1.000    
206        return 3.14919363013517e14-6.2983878407    
207   }                                               
208 /*                                                
209    Frohner Watt Spectrum                          
210 */                                                
211   if (option == 2) {                              
212     a=1.175;                                      
213     b=1.040;                                      
214                                                   
215     G4int icounter=0;                             
216     G4int icounter_max=1024;                      
217     do {                                          
218       gpar = std::sqrt(Pow->powA(1+0.125*a*b,2    
219       g2=-G4Log(fisslibrng());                    
220       ferg=a*gpar*g2;                             
221                                                   
222       icounter++;                                 
223       if ( icounter > icounter_max ) {            
224    G4cout << "Loop-counter exceeded the thresh    
225          break;                                   
226       }                                           
227                                                   
228     } while (Pow->powA((1-gpar)*(1+g2)-G4Log(f    
229     // Loop checking, 11.03.2015, T. Koi          
230     return ferg;                                  
231   }                                               
232                                                   
233   //                                              
234   // Fall through                                 
235   //                                              
236                                                   
237   G4cout << " SmpNEngCf252: unrecognized optio    
238   return -1.0;                                    
239 }                                                 
240