Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

mf13classes.hpp

Go to the documentation of this file.
00001 /*
00002  * ******** fete: From ENDF To ENDL *********
00003  * 
00004  * Copyright (c) 2006, The Regents of the University of California. 
00005  * All rights reserved.
00006  * 
00007  * Produced at the Lawrence Livermore National Laboratory. 
00008  * Written by David A. Brown, Gerry Hedstrom, Tony Hill
00009  * 
00010  * This file is part of fete v1.0  (UCRL-CODE-218718)
00011  * 
00012  * Please read the COPYING file for "Our Notice and GNU General 
00013  * Public License" in the root of this software distribution.  
00014  * 
00015  * This program is free software; you can redistribute it and/or modify 
00016  * it under the terms of the GNU General Public License (as published by 
00017  * the Free Software Foundation) version 2, dated June 1991. 
00018  * 
00019  * This program is distributed in the hope that it will be useful, 
00020  * but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF 
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms 
00022  * and conditions of the GNU General Public License for more details. 
00023  * 
00024  * You should have received a copy of the GNU General Public License along 
00025  * with this program; if not, write to the Free Software Foundation, Inc., 
00026  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
00027  * 
00028  * $Revision: 1735 $
00029  * $Date: 2006-02-09 13:47:26 -0800 (Thu, 09 Feb 2006) $
00030  * $Author: dbrown $
00031  * $Id: mf13classes.hpp 1735 2006-02-09 21:47:26Z dbrown $
00032  * 
00033  * ******** fete: From ENDF To ENDL *********
00034  */
00035 
00036 // header for the MF=13 translation code
00037 
00038 #ifndef MF13CLASSES
00039 #define MF13CLASSES
00040 
00041 #include "list_2d.hpp"
00042 #include "ENDF_file.hpp"
00043 #include "mf15classes.hpp"
00044 #include "multiplicity.hpp"
00045 
00046 using namespace std;
00047 
00048 // ----------- class MF13_list -----------------
00049 // derive this class from two_d_list
00050 //! Class to handle the photon production cross sections
00051 class MF13_list : public two_d_list< multiplicity >
00052 {
00053 public:
00054   //! continuum energy distributions
00055   MF15_list cont_data;
00056 
00057   //! continuum multiplicity
00058   multiplicity cont_multiple;
00059 
00060   //! do we have discrete gammas (for s = 3)
00061   bool with_discrete;
00062 
00063   //! Handles an MF=13 file
00064   void master( int NK, mf13_file& inFile );
00065 
00066   //! Routine to read in ENDF/B-VI probabilities of discrete gamma production
00067   void read_data( int NK, mf13_file& inFile );
00068 
00069   //! Writes a c = 55, i = 0, s = 3 ENDL file
00070   void write_endl();
00071 
00072   //! Writes a c = 55, i = 1, s = 3 ENDL file
00073   void isotropic();
00074 
00075   //! Reads gamma production and energy distributions for the continuum
00076   void continuum( int NR, int NP, mf13_file& inFile );
00077 
00078   //! Writes C55 data for the continuum
00079   void write_continuum( );
00080 
00081 };
00082 
00083 // ----------- class C55_gammas -----------------
00084 // derive this class from two_d_list
00085 //! Class to handle all of the photon production cross sections
00086 class C55_gammas
00087 {
00088 public:
00089 
00090   MF13_list MT3_gammas;
00091   MF13_list MT4_gammas;
00092 
00093   bool has_MT3;
00094   bool has_MT4;
00095 
00096   C55_gammas( )
00097     {
00098       has_MT3 = false;
00099       has_MT4 = false;
00100     }
00101 
00102   ~C55_gammas( )
00103     {}
00104 
00105   //! Sets the weights of the energy distributions according to the photon production cross section.
00106   void set_weights( );
00107 
00108   //! Writes the c55 files
00109   void write_endl();
00110 };
00111 
00112 #endif

Generated on Thu Sep 7 10:30:08 2006 for fete -- From ENDFB6 To ENDL by doxygen 1.3.4