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

distrib_base Class Reference

Base class for one link in the lists used in energy and angle distributions. More...

Inheritance diagram for distrib_base:

Inheritance graph
[legend]
Collaboration diagram for distrib_base:

Collaboration graph
[legend]
List of all members.

Public Member Functions

double & mu ()
double & E_gamma ()
 distrib_base (void)
 default constructor

virtual double f (double E)=0
void list_interp (double e_in, distrib_base &left_list, distrib_base &right_list)
void print ()
 to print the list

void thicken (dd_list::iterator first, dd_list::iterator last)
void thicken ()
 Expand the entire list to achieve the tolerance.

double get_norm ()
void renorm ()
 ensure that the total probability is 1

void renorm (double Norm)
 ensure that the total probability is 1, with the norm given

void get_bins ()
 make the equally probable energy bins

void mirror ()
void widen_delta ()
 This routine widens the delta functions.

bool check_equiprob (distrib_base &left_list, distrib_base &right_list, double tol_2d)
bool check_interp_2d (double tol_2d, double cut_off_2d)

Public Attributes

vector< double > equi_prob
double weight
int num_bins
int interp_type
bool bin_interp

Protected Attributes

bool debug_on
double tol_1d
double cut_off
double max_P

Detailed Description

This class is used as the base class for one link in the link lists used in energy and angle distributions. This class is derived from the dd_list() class. It is a class in which the x-entry is the energy of the incident particle and the y-entry is a list of (direction cosine, probability density) or (energy of emitted particle, probability density).

Definition at line 50 of file distrib_base.hpp.


Constructor & Destructor Documentation

distrib_base::distrib_base void   )  [inline]
 

This constructor retrieves the pertinent global parameter values.

Definition at line 81 of file distrib_base.hpp.

References bin_interp, cut_off, debug_on, equi_prob, Global, interp_type, max_P, num_bins, tol_1d, and weight.


Member Function Documentation

bool distrib_base::check_equiprob distrib_base left_list,
distrib_base right_list,
double  tol_2d
 

Parameters:
left_list left most list in the check
right_list right most list in the check
tol_2d tolerance interpolation is held against
Function to test the accuracy of 2d linear interpolation based on the equiprobable bins.

Definition at line 437 of file distrib_base.cpp.

References dd_list::E_in(), equi_prob, num_bins, and SevereError().

bool distrib_base::check_interp_2d double  tol_2d,
double  cut_off_2d
 

Parameters:
tol_2d tolerance to be maintained
cut_off_2d cutoff below which tolerance criteria are not checked
Function once used to check unit-based interpolation.

Definition at line 471 of file distrib_base.cpp.

References SevereError().

distrib_base::E_gamma  )  [inline]
 

Gamma energy used in MF=13 files.

Reimplemented in multiplicity.

Definition at line 73 of file distrib_base.hpp.

References dd_list::tag.

virtual double distrib_base::f double  E  )  [pure virtual]
 

Implemented in one_d_charge, one_d_table, one_d_evap, one_d_Maxwell, one_d_Watt, one_d_Madland, one_d_Legendre, one_d_isotropic, one_d_hat, one_d_Kalbach, and one_d_phase.

Referenced by mf6_one_d::one_E_row(), and thicken().

void distrib_base::get_bins  ) 
 

Function to make the equally probable energy bins.

Definition at line 241 of file distrib_base.cpp.

References equi_prob, get_norm(), num_bins, print(), and SevereError().

Referenced by one_d_Madland::initiate(), one_d_Watt::initiate(), one_d_Maxwell::initiate(), one_d_evap::initiate(), one_d_Legendre::list_interp(), one_d_table::list_interp(), and mf6_one_d::one_E_row().

double distrib_base::get_norm  ) 
 

Function that returns the probablility for a list. This function is used for double differential data.

Definition at line 153 of file distrib_base.cpp.

References Warning().

Referenced by get_bins(), and renorm().

void distrib_base::list_interp double  e_in,
distrib_base left_list,
distrib_base right_list
 

Parameters:
e_in incident energy of the lists(?)
left_list left most list in interpolation
right_list right most list in interpolation
Pure virtual function to interpolate a list between the left_list and right_list.

Definition at line 398 of file distrib_base.cpp.

References dd_list::E_in(), equi_prob, num_bins, SevereError(), Warning(), dd_list::widen_jumps(), and dd_link::x.

void distrib_base::mirror  ) 
 

This function reverses the order of the links and changes the sign of the "x" data. It is used primarily in two body reactions where only one of the products has outgoing angular information. In this case, the other product has an angular distribution that is a mirror image of the the one given.

Definition at line 300 of file distrib_base.cpp.

distrib_base::mu  )  [inline]
 

Cosine angle most common implementation.

Definition at line 69 of file distrib_base.hpp.

References dd_list::tag.

Referenced by one_d_Kalbach::cm_E_decr(), one_d_Kalbach::cm_E_incr(), MF14_table::ENDL_order(), one_d_charge::expand(), mf6_gammas::expand_E_in(), one_d_phase::f(), one_d_Kalbach::f(), and one_d_Kalbach::one_E_row().

void distrib_base::print  ) 
 

A simple diagnostic printing function.

Reimplemented from dd_list.

Definition at line 48 of file distrib_base.cpp.

References ENDLClass::data(), dd_list::E_in(), ENDL, dd_list::print(), and weight.

Referenced by get_bins(), and thicken().

void distrib_base::renorm double  Norm  ) 
 

Parameters:
Norm value to normalize list to
Function used to renormalize with the given norm.

Definition at line 228 of file distrib_base.cpp.

References SevereError().

void distrib_base::renorm  ) 
 

Function used to insure that the total probablity is unity.

Definition at line 198 of file distrib_base.cpp.

References dd_list::E_in(), get_norm(), max_P, pastenum(), and Warning().

Referenced by one_d_Legendre::expand(), one_d_hat::initiate(), one_d_Madland::initiate(), one_d_Watt::initiate(), one_d_Maxwell::initiate(), one_d_evap::initiate(), one_d_table::list_interp(), and MF12_base::widen_deltas().

void distrib_base::thicken  ) 
 

Function to expand list to achieve the tolerance.

Definition at line 58 of file distrib_base.cpp.

Referenced by one_d_Kalbach::cm_E_decr(), one_d_Kalbach::cm_E_incr(), one_d_Legendre::expand(), one_d_charge::expand(), one_d_table::expand_interp(), one_d_Madland::initiate(), one_d_Watt::initiate(), one_d_Maxwell::initiate(), one_d_evap::initiate(), and mf6_one_d::one_E_row().

void distrib_base::thicken dd_list::iterator  first,
dd_list::iterator  last
 

add links between first and last until linear interpolation is good to within tol_1d

Definition at line 69 of file distrib_base.cpp.

References cut_off, ENDL_EPSILON(), f(), Global, dd_list::linlin_interp(), pastenum(), print(), SevereError(), tol_1d, and GlobalParameterClass::Value().

void distrib_base::widen_delta  ) 
 

Function to widen delta function for the whole list.

Definition at line 314 of file distrib_base.cpp.

References DELTA_WIDTH(), pastenum(), and SevereError().

Referenced by mf6_table::one_E_in(), and Legendre_list::read_data().


Member Data Documentation

distrib_base::bin_interp
 

Logical used to switch betweem equi-probable or unit-base to check interpolation.

Referenced by distrib_base(), one_d_Madland::initiate(), one_d_Watt::initiate(), one_d_Maxwell::initiate(), one_d_evap::initiate(), one_d_table::list_interp(), and mf6_one_d::one_E_row().

distrib_base::cut_off [protected]
 

don't impose accuracy below thi value.

Referenced by distrib_base(), and thicken().

distrib_base::debug_on [protected]
 

Logical used to check the 2-d interpolation.

Referenced by distrib_base().

distrib_base::equi_prob
 

The equal probable bins.

Referenced by check_equiprob(), distrib_base(), get_bins(), and list_interp().

int distrib_base::interp_type
 

Definition at line 64 of file distrib_base.hpp.

Referenced by one_d_isotropic::copy(), one_d_Legendre::copy(), one_d_Madland::copy(), one_d_Watt::copy(), one_d_Maxwell::copy(), one_d_evap::copy(), one_d_table::copy(), distrib_base(), one_d_Watt::intermediate_b(), one_d_Legendre::list_interp(), one_d_Madland::list_interp(), one_d_Watt::list_interp(), one_d_Maxwell::list_interp(), one_d_evap::list_interp(), and one_d_table::list_interp().

double distrib_base::max_P [protected]
 

Definition at line 58 of file distrib_base.hpp.

Referenced by distrib_base(), and renorm().

distrib_base::num_bins
 

The number of eqal probable bins.

Referenced by check_equiprob(), distrib_base(), get_bins(), and list_interp().

distrib_base::tol_1d [protected]
 

accuracy of linear interpolation.

Referenced by distrib_base(), and thicken().

double distrib_base::weight
 

Reimplemented in multiplicity.

Definition at line 62 of file distrib_base.hpp.

Referenced by one_d_isotropic::copy(), one_d_Legendre::copy(), one_d_Madland::copy(), one_d_Watt::copy(), one_d_Maxwell::copy(), one_d_evap::copy(), one_d_table::copy(), distrib_base(), one_d_table::list_interp(), and print().


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