Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/fission/src/G4SmpGEng.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/G4SmpGEng.cc (Version 11.3.0) and /processes/hadronic/models/fission/src/G4SmpGEng.cc (Version 11.0.p1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 // This software was developed by Lawrence Liv     27 // This software was developed by Lawrence Livermore National Laboratory.
 28 //                                                 28 //
 29 // Redistribution and use in source and binary     29 // Redistribution and use in source and binary forms, with or without
 30 // modification, are permitted provided that t     30 // modification, are permitted provided that the following conditions are met:
 31 //                                                 31 //
 32 // 1. Redistributions of source code must reta     32 // 1. Redistributions of source code must retain the above copyright notice,
 33 //   this list of conditions and the following     33 //   this list of conditions and the following disclaimer.
 34 // 2. Redistributions in binary form must repr     34 // 2. Redistributions in binary form must reproduce the above copyright notice,
 35 //   this list of conditions and the following     35 //   this list of conditions and the following disclaimer in the documentation
 36 //   and/or other materials provided with the      36 //   and/or other materials provided with the distribution.
 37 // 3. The name of the author may not be used t     37 // 3. The name of the author may not be used to endorse or promote products
 38 //   derived from this software without specif     38 //   derived from this software without specific prior written permission.
 39 //                                                 39 //
 40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``A     40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO,      41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 42 // MERCHANTABILITY AND FITNESS FOR A PARTICULA     42 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DI     43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGE     44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES     45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AN     46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR T     47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE US     48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.      49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 50 //                                                 50 //
 51 // Copyright (c) 2006 The Regents of the Unive     51 // Copyright (c) 2006 The Regents of the University of California.
 52 // All rights reserved.                            52 // All rights reserved.
 53 // UCRL-CODE-224807                                53 // UCRL-CODE-224807
 54 //                                                 54 //
 55 //                                                 55 //
 56 //                                                 56 //
 57                                                    57 
 58 #include <cmath>                                   58 #include <cmath>
 59 #include "G4Log.hh"                                59 #include "G4Log.hh"
 60 #include "G4Pow.hh"                                60 #include "G4Pow.hh"
 61 #include "G4fissionEvent.hh"                       61 #include "G4fissionEvent.hh"
 62                                                    62 
 63 G4double G4fissionEvent::G4SmpGEng() {             63 G4double G4fissionEvent::G4SmpGEng() {
 64                                                    64 
 65 /*                                                 65 /*
 66   Description                                      66   Description
 67     Sample energy spectrum for photons emitted     67     Sample energy spectrum for photons emitted by fission-induced reactions. 
 68     The energy spectrum of the prompt fission      68     The energy spectrum of the prompt fission gamma rays is obtained from
 69     Maienschein's measurements.                    69     Maienschein's measurements.
 70 */                                                 70 */
 71                                                    71 
 72 /*                                                 72 /*
 73   Input                                            73   Input
 74   Return                                           74   Return
 75     energy of photon emitted by neutron-induce     75     energy of photon emitted by neutron-induced fission
 76 */                                                 76 */
 77                                                    77 
 78    G4double r;                                     78    G4double r;
 79 /*                                                 79 /*
 80   Calculate the energy of photons emitted from     80   Calculate the energy of photons emitted from fission
 81 */                                                 81 */
 82    G4Pow* Pow=G4Pow::GetInstance();                82    G4Pow* Pow=G4Pow::GetInstance();
 83    r=fisslibrng();                                 83    r=fisslibrng();
 84                                                    84 
 85    if (r == 0.0) return 0.085;                     85    if (r == 0.0) return 0.085;
 86                                                    86 
 87    if (r <= 0.0001) return 0.0855+0.01692*(r/0     87    if (r <= 0.0001) return 0.0855+0.01692*(r/0.0001)-0.02401*Pow->powA(r/0.0001,2.)+0.01274*Pow->powA(r/0.0001,3.);
 88                                                    88 
 89    if (r > 0.0001 && r <= 0.01) return 0.09141     89    if (r > 0.0001 && r <= 0.01) return 0.09141 +  0.23846*((r-0.0001)/0.0099) 
 90                        -  1.75947*Pow->powA((r     90                        -  1.75947*Pow->powA((r-.0001)/0.0099,2.)
 91                                                    91                                                + 10.98611*Pow->powA((r-0.0001)/0.0099,3.)
 92                                                    92                                                - 43.19181*Pow->powA((r-.0001)/0.0099,4.)
 93                                                    93                                                +105.70005*Pow->powA((r-.0001)/.0099,5.)
 94                                                    94                                                -160.72894*Pow->powA((r-.0001)/.0099,6.)
 95                                                    95                                                +147.43399*Pow->powA((r-.0001)/.0099,7.)
 96                                                    96                                                - 74.60043*Pow->powA((r-.0001)/0.0099,8.)
 97                                                    97                                                + 15.97547*Pow->powA((r-.0001)/0.0099,9.);
 98                                                    98 
 99    if (r > 0.01 && r <= 0.1537) return 0.14486     99    if (r > 0.01 && r <= 0.1537) return 0.14486 + 0.40914*((r-.01)/.1437)
100                        - 1.28150*Pow->powA((r-    100                        - 1.28150*Pow->powA((r-0.01)/0.1437,2.)
101                                                   101                                                + 5.07377*Pow->powA((r-0.01)/0.1437,3.)
102                                                   102                                                -15.42031*Pow->powA((r-0.01)/0.1437,4.)
103                                                   103                                                +31.96346*Pow->powA((r-0.01)/0.1437,5.)
104                                                   104                                                -43.12605*Pow->powA((r-0.01)/0.1437,6.)
105                                                   105                                                +36.02908*Pow->powA((r-0.01)/0.1437,7.)
106                                                   106                                                -16.87185*Pow->powA((r-0.01)/0.1437,8.)
107                                                   107                                                + 3.37941*Pow->powA((r-0.01)/0.1437,9.);
108                                                   108 
109    if (r > 0.1537 && r <= 0.7114) return (-1./    109    if (r > 0.1537 && r <= 0.7114) return (-1./2.3)*G4Log(0.71956*(0.1537-r)+0.50158);
110                                                   110 
111    if (r > 0.7114 && r <= 1.0) return (-1./1.1    111    if (r > 0.7114 && r <= 1.0) return (-1./1.1)*G4Log(1.15292*(0.7114-r)+0.33287);
112    //                                             112    //
113    // Fall through                                113    // Fall through 
114    //                                             114    //
115    G4cout << " Random number out of range in S    115    G4cout << " Random number out of range in SmpGEng " << G4endl;
116    return -1.0;                                   116    return -1.0;
117 }                                                 117 }
118                                                   118