G4LLNLFission.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // This software was developed by Lawrence Livermore National Laboratory.
00028 //
00029 // Redistribution and use in source and binary forms, with or without
00030 // modification, are permitted provided that the following conditions are met:
00031 //
00032 // 1. Redistributions of source code must retain the above copyright notice,
00033 //   this list of conditions and the following disclaimer.
00034 // 2. Redistributions in binary form must reproduce the above copyright notice,
00035 //   this list of conditions and the following disclaimer in the documentation
00036 //   and/or other materials provided with the distribution.
00037 // 3. The name of the author may not be used to endorse or promote products
00038 //   derived from this software without specific prior written permission.
00039 //
00040 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
00041 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00042 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
00043 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00044 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00045 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00046 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00047 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00048 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
00049 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00050 //
00051 // Copyright (c) 2006 The Regents of the University of California.
00052 // All rights reserved.
00053 // UCRL-CODE-224807
00054 //
00055 // $Id: G4LLNLFission.hh 69860 2013-05-16 14:39:02Z gcosmo $
00056 //
00057 
00058 //
00059 // This class is a copy of Fission.hh, made for use with Geant4.
00060 //
00061 
00062   extern void genspfissevt_(G4int *isotope, G4double *time);
00063 /*
00064  * This function is called to trigger a spontaneous fission.
00065  * Multiple neutrons and photons are generated and stored
00066  * in a stack along with their energies, directions and 
00067  * emission times.
00068  * The arguments of this function are
00069  *      isotope:        94239 for Pu-239 for instance
00070  *      time:           the time of the spontaneous fission
00071  */
00072 
00073   extern void genfissevt_(G4int *isotope, G4double *time, G4double *nubar, G4double *eng);
00074 /*
00075  * This function is called to trigger a neutron-induced fission.
00076  * Multiple neutrons and photons are generated and stored
00077  * in a stack along with their energies, directions and 
00078  * emission times. In addition to the arguments above, this
00079  * function needs
00080  *      nubar:          user-specified average number of neutrons emitted 
00081  *                      per fission (e.g. as tabulated in the cross-section 
00082  *                      libraries used by the particle transport code)
00083  *      eng:            energy of the neutron inducing fission
00084  */
00085 
00086   extern G4int getnnu_();
00087 /*
00088  * This function returns the number of neutrons emitted by the
00089  * fission, -1 if there is no neutron data for that isotope in 
00090  * the fission library.
00091  */
00092 
00093   extern G4int getpnu_();
00094 /*
00095  * This function returns the number of photons emitted by the
00096  * fission, -1 if there is no photon data for that isotope in 
00097  * the fission library.
00098  */
00099 
00100   extern G4double getneng_(G4int *index);
00101 /*
00102  * Given the index of the emitted neutron, this function returns
00103  * its energy, -1 if index isout of range.
00104  */
00105 
00106   extern G4double getnvel_(G4int *index);
00107 /*
00108  * Given the index of the emitted neutron, this function returns
00109  * the amplitude of its velocity, -1 if index is out of range.
00110  */
00111 
00112   extern G4double getndircosu_(G4int *index);
00113   extern G4double getndircosv_(G4int *index);
00114   extern G4double getndircosw_(G4int *index);
00115 /*
00116  * Given the index of the emitted neutron, this function returns
00117  * the direction cosines of its velocity vector on the x, y and z 
00118  * axes.
00119  */
00120 
00121   extern G4double getpeng_(G4int *index);
00122 /*
00123  * Given the index of the emitted photon, this function returns
00124  * its energy, -1 if index is out of range.
00125  */
00126 
00127   extern G4double getpvel_(G4int *index);
00128 /*
00129  * Given the index of the emitted photon, this function returns
00130  * the amplitude of its velocity, -1 if index is out of range.
00131  */
00132 
00133   extern G4double getpdircosu_(G4int *index);
00134   extern G4double getpdircosv_(G4int *index);
00135   extern G4double getpdircosw_(G4int *index);
00136 /*
00137  * Given the index of the emitted photon, this function returns
00138  * the direction cosines of its velocity.
00139  */
00140 
00141   extern G4double getnage_(G4int *index);
00142 /*
00143  * Given the index of the emitted neutron, this function returns
00144  * its age, -1 if index is out of range.
00145  * This age will be different from the time specified
00146  * in generateFissionEvent and generateSpontaneousFissionEvent
00147  * for non-prompt neutrons, i.e. delayed neutrons. 
00148  */
00149 
00150   extern G4double getpage_(G4int *index);
00151 /*
00152  * Given the index of the emitted photon, this function returns
00153  * its age, -1 of index is out of range.
00154  *  This age will be different from the time specified
00155  * in generateFissionEvent and generateSpontaneousFissionEvent
00156  * for photons that are emitted by beta-decay of the fission
00157  * fragments.
00158  */
00159 
00160   extern void setdelay_(G4int *delay);
00161 /*
00162  * This function is called to enable delayed neutrons and photons
00163  * Input
00164  *      delay:
00165  *              0 (default) for strictly prompt neutrons and 
00166  *                photons
00167  *              1 (n/a) for prompt neutrons, prompt and delayed 
00168  *                photons
00169  *              2 (n/a) for prompt and delayed neutrons, prompt 
00170  *                photons
00171  *              3 (n/a) for prompt and delayed neutrons, prompt 
00172  *                and delayed photons
00173  */
00174 
00175   extern void setcorrel_(G4int *correlation);
00176 /*
00177  * This function is called to set the type of neutron photon correlation
00178  * Input
00179  *      correlation:
00180  *              0 (default) for no correlation between neutrons and
00181  *                photons
00182  *              1 (n/a) for number correlation between neutrons and 
00183  *                photons
00184  *              2 (n/a) for number and energy correlation between 
00185  *                neutrons and photons
00186  */
00187 
00188   extern void setnudist_(G4int *nudist);
00189 /*
00190  * This function is called to set the data to be sampled for the neutron
00191  * number distributions in induced fissions
00192  * Input
00193  *      nudist:
00194  *               0 to use the fit to the Zucker and Holden tabulated 
00195  *                 P(nu) distributions as a function of energy for 
00196  *                 U235, U238 and Pu239. Terrell for other isotopes.
00197  *               1 to use fits to the Zucker and Holden tabulated 
00198  *                 P(nu) distribution as a function of energy for 
00199  *                 U238 and Pu239, and a fit to the Zucker and Holden 
00200  *                 data as well as the Gwin, Spencer and Ingle data 
00201  *                 (at thermal energies) as a function of energy for 
00202  *                 U235. Terrell for other isotopes.
00203  *               2 (default) to use the fit to the Zucker and Holden 
00204  *                 tabulated P(nu) distributions as a function of nubar. 
00205  *                 The U238 fit is used for the U232, U234, U236 and 
00206  *                 U238 isotopes, the U235 fit for U233 and U235, the 
00207  *                 Pu239 fit for Pu239 and Pu241. Terrell for other 
00208  *                 isotopes.
00209  */
00210 
00211 
00212   extern void setcf252_(G4int *ndist, G4int *neng);
00213 /*
00214  * This function is called to set the data to be sampled for the 
00215  * (a) Cf252 spontaneous fission number distribution, and 
00216  * (b) Cf252 spontaneous fission neutron energy spectrum
00217  * Input
00218  *      ndist:
00219  *              0 (default) to sample the number of neutrons from the 
00220  *                tabulated data measured by Spencer
00221  *              1 to sample the number of neutrons from Boldeman's data
00222  *      neng:
00223  *              0 to sample the spontaneous fission neutron energy from 
00224  *                Mannhart corrected Maxwellian spectrum
00225  *              1 to sample the spontaneous fission neutron energy from 
00226  *                Madland-Nix theoretical spectrum
00227  *              2 to sample the spontaneous fission neutron energy from 
00228  *                the Froehner Watt spectrum
00229  */
00230 
00231   extern void setrngf_(G4float (*funcptr) (void));
00232 /*
00233  * This function sets the random number generator to the user-defined
00234  * one specified in the argument. If either setrngf_ or setrngd_ are
00235  * not specified, the default system call srand48 will be called.
00236  * Input
00237  *      funcptr:
00238  *               a random number generator function that returns a
00239  *               variable of type G4float
00240  */
00241 
00242   extern void setrngd_(G4double (*funcptr) (void));
00243 /*
00244  * This function sets the random number generator to the user-defined
00245  * one specified in the argument. If either setrngf_ or setrngd_ are
00246  * not specified, the default system call srand48 will be called.
00247  * Input
00248  *      funcptr:
00249  *               a random number generator function that returns a
00250  *               variable of type G4double
00251  */
00252 // }

Generated on Mon May 27 17:48:49 2013 for Geant4 by  doxygen 1.4.7