00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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
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;
00054 float ekalph;
00055 float ekbeta;
00056 float bkr1;
00057
00058
00059 float bkr2;
00060
00061
00062
00063
00064 Kedge(){iedgfl=0;}
00065
00066 void edgeSetup(int z =0);
00067
00068 };
00069
00070 #endif
00071