Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Brempr.h

Go to the documentation of this file.
00001 // -*- C++ -*-  $Id: Brempr.h,v 1.1 2000/09/01 20:20:11 burnett Exp $
00002 //
00003 // This file is part of Gismo 2
00004 //
00005 // Contents ----------------------------------------------------------------
00006 //
00007 //      class Brempr
00008 //
00009 // Description
00010 //
00011 //  This class  corresponds to egs common block /brempr/
00012 //
00013 // End --------------------------------------------------------------------
00014 
00015 #ifndef __BREMPR_H
00016 #define __BREMPR_H
00017 
00018 #ifdef _MSC_VER
00019 # pragma warning(disable:4305) //truncation from 'const double' to 'float'
00020 #endif
00021 #include <cmath>
00022 
00023 #include <iostream>
00024 
00025 class Brempr
00026 {
00027 
00028     friend class PEGSData;
00029 
00030     float alphi[2];
00031     float bpar[2];
00032     float delpos[2];
00033     float delcm;
00034     float dl1[6],dl2[6],dl3[6],dl4[6],dl5[6],dl6[6];
00035     void readPEGS(std::istream&);
00036 
00037 
00038     inline float screening(float del, int lvx, int lvl)const
00039     { if (del > delpos[lvx]) return 0;
00040        //   a(delta) and b(delta) must always be positive
00041       float delta = del*delcm;
00042       return (delta<1.0)
00043         ? dl1[lvl] + delta*( dl2[lvl] + delta*dl3[lvl])
00044         : dl4[lvl] + dl5[lvl]*log(delta+dl6[lvl]);
00045     }
00046 
00047 };
00048 
00049 struct Kedge
00050 {   friend class PEGSData;
00051 
00052 
00053     int   iedgfl; // flag that following data set up
00054     float ekalph; // energy of the k-alpha x-ray.
00055     float ekbeta; // energy of the k-beta x-ray.
00056     float bkr1;   // probability for a k-shell emission times the
00057                   //   probability for a fluorescent photon emission
00058                   //   due to an electron transition from the x -> k shell.
00059     float bkr2;   // bkr1 times the probability that the fluorescent photon
00060                   // is due to an electron transition from the l -> k shell.
00061     //------------------------------------------------------------------
00062     // ebinda is the energy of the k-edge (in class Photin)
00063 
00064     Kedge(){iedgfl=0;}  // make sure not used unless setup
00065 
00066     void edgeSetup(int z =0);
00067     // setup above constants from tables for given atomic number
00068 };
00069 
00070 #endif
00071 

Generated at Mon Nov 26 18:18:31 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000