Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/fission/src/G4LLNLFission.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 ]

  1 //
  2 // ********************************************************************
  3 // * License and Disclaimer                                           *
  4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.                             *
 10 // *                                                                  *
 11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                                                  *
 18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // ********************************************************************
 25 //
 26 //
 27 // This software was developed by Lawrence Livermore National Laboratory.
 28 //
 29 // Redistribution and use in source and binary forms, with or without
 30 // modification, are permitted provided that the following conditions are met:
 31 //
 32 // 1. Redistributions of source code must retain the above copyright notice,
 33 //   this list of conditions and the following disclaimer.
 34 // 2. Redistributions in binary form must reproduce the above copyright notice,
 35 //   this list of conditions and the following disclaimer in the documentation
 36 //   and/or other materials provided with the distribution.
 37 // 3. The name of the author may not be used to endorse or promote products
 38 //   derived from this software without specific prior written permission.
 39 //
 40 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 41 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 42 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
 43 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 44 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 45 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 46 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 47 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 48 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 49 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 50 //
 51 // Copyright (c) 2006 The Regents of the University of California.
 52 // All rights reserved.
 53 // UCRL-CODE-224807
 54 //
 55 //
 56 //
 57 // This class is a copy of Fission.cc, made for use with Geant4.
 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 *time) {
 71       if (fe != 0) delete fe;
 72       fe = new G4fissionEvent(*isotope, *time, -1., 0.);
 73    }
 74 
 75    void genfissevt_(G4int *isotope, G4double *time, G4double *nubar, G4double *eng) {
 76       if (fe != 0) delete fe;
 77       fe = new G4fissionEvent(*isotope, *time, *nubar, *eng);
 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 induced fissions only, it
147       is set to
148          0 for sampling Zucker and Holden probability distributions 
149            for U-235,238 and Pu-239. Terrell for other isotopes.
150          1 same as above, but using Gwin, Spencer and Ingle 
151            tabulated distributions for thermal energies for U-235.
152            Terrell for other isotopes.
153          2 for sampling fission-induced neutron multiplicity in 
154            (a) U-232, U-234, U-236 and U-238 using Zucker and 
155                Holden's tabulated data for U-238
156            (b) U-233 and U-235 using Zucker and Holden's tabulated 
157                data for U-235
158            (c) Pu-239 and Pu-241 using Zucker and Holden's tabulated 
159                data for Pu-239
160            The P(nu) distributions for *nudist=2 are given as a 
161            function of the average number of neutrons from fission, 
162            based on interpolation of the data from Zucker and Holden.
163            Terrell for other isotopes.
164          3 for sampling fission-induced neutron multiplicity in 
165            (a) U-232, U-234, U-236 and U-238 using Zucker and 
166                Holden's tabulated data for U-238
167            (b) U-233 and U-235 using Zucker and Holden's tabulated 
168                data for U-235
169            (c) Pu-239 and Pu-241 using Zucker and Holden's tabulated 
170                data for Pu-239
171            The Z&H tables have P(nu) distributions for 11 energies 
172            (0 MeV through 10 MeV), along with their nubars. For 
173            *nudist=3, we select the P(nu) distribution that has
174            a nubar closest either from above, or from below, to the 
175            to the nubar entered for the induced fission, based on a 
176            random number and fractional distances to the end of the 
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 neutron multiplicity 
189            using tabulated data from Spencer
190          1 to sample the spontaneous fission neutron multiplicity
191            using tabulated data from Boldeman
192       *neng is set to 
193          0 to sample the Mannhart corrected Maxwellian spectrum
194          1 to sample the Madland-Nix theoretical spectrum
195          2 to sample the Froehner Watt spectrum
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