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

mf14table.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: 1748 $
00029  * $Date: 2006-03-14 12:18:15 -0800 (Tue, 14 Mar 2006) $
00030  * $Author: dbrown $
00031  * $Id: mf14table.hpp 1748 2006-03-14 20:18:15Z dbrown $
00032  * 
00033  * ******** fete: From ENDF To ENDL *********
00034  */
00035 
00036 // header for the translation of MF=14 tabular data
00037 
00038 #ifndef MF14TABLE
00039 #define MF14TABLE
00040 
00041 #include "mf4classes.hpp"
00042 #include "mf12classes.hpp"
00043 #include "mf6classes.hpp"
00044 
00045 using namespace std;
00046 
00047 // ----------- class MF14_table_raw -----------------
00048 //! This class reads and stores the MF=14 tabular data in ENDF format.
00049 //! The data is a list of mf4_table, one for each gamma.
00050 class MF14_table_raw : public list< mf4_table >
00051 {
00052 private:
00053   void fill_mu( );
00054 
00055 public:
00056   // ! Read the ENDF data
00057   void read_data( mf14_file& inFile, int num_gamma );
00058 
00059   //! Ensure common E_in values
00060   void fill_E_in( );
00061 
00062 };
00063 
00064 // ----------- class MF14_table -----------------
00065 //! This class is for anisotropic gamma tables (LTT = 2) which are not c55 data
00066 class MF14_table : public ENDL_table
00067 {
00068 private:
00069   // the total multiplicity
00070   multiplicity multiple;
00071 
00072   // The mf12 multiplicity data for the lines
00073   MF12_raw line_mult;
00074 
00075   // The ENDF mf14 tabular data
00076   MF14_table_raw endf_mf14;
00077 
00078   //! Reads the gamma multiplicities
00079   void read_mf12( mf12_file& mult_file, int num_mf12 );
00080 
00081   //! Weights the raw mf14 data by their multiplicity
00082   void mult_weight( );
00083 
00084   //! Puts the data into ENDL order
00085   void ENDL_order( );
00086 
00087   //! Converts the lines to delta-functions
00088   void widen_deltas( );
00089 
00090   //! Creates the ENDL i = 1 angular distributions
00091   void make_i1( );
00092 
00093 public:
00094   //! Handles the mf12 and mf14 tabular data
00095   void master( mf12_file& mult_file, mf14_file& angle_file,
00096     int num_mf12, int num_mf14 );
00097 };
00098 
00099 #endif
00100 
00101 

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