#include <G4NeutronHPFastLegendre.hh>
Public Member Functions | |
G4NeutronHPFastLegendre () | |
~G4NeutronHPFastLegendre () | |
G4double | Integrate (G4int l, G4double costh) |
G4double | Evaluate (G4int l, G4double costh) |
Definition at line 34 of file G4NeutronHPFastLegendre.hh.
G4NeutronHPFastLegendre::G4NeutronHPFastLegendre | ( | ) | [inline] |
Definition at line 38 of file G4NeutronHPFastLegendre.hh.
00039 { 00040 value = new G4double * [31]; 00041 value[0] = l0; 00042 value[1] = l1; 00043 value[2] = l2; 00044 value[3] = l3; 00045 value[4] = l4; 00046 value[5] = l5; 00047 value[6] = l6; 00048 value[7] = l7; 00049 value[8] = l8; 00050 value[9] = l9; 00051 value[10] = l10; 00052 value[11] = l11; 00053 value[12] = l12; 00054 value[13] = l13; 00055 value[14] = l14; 00056 value[15] = l15; 00057 value[16] = l16; 00058 value[17] = l17; 00059 value[18] = l18; 00060 value[19] = l19; 00061 value[20] = l20; 00062 value[21] = l21; 00063 value[22] = l22; 00064 value[23] = l23; 00065 value[24] = l24; 00066 value[25] = l25; 00067 value[26] = l26; 00068 value[27] = l27; 00069 value[28] = l28; 00070 value[29] = l29; 00071 value[30] = l30; 00072 integral = new G4double * [31]; 00073 integral[0] = i0; 00074 integral[1] = i1; 00075 integral[2] = i2; 00076 integral[3] = i3; 00077 integral[4] = i4; 00078 integral[5] = i5; 00079 integral[6] = i6; 00080 integral[7] = i7; 00081 integral[8] = i8; 00082 integral[9] = i9; 00083 integral[10] = i10; 00084 integral[11] = i11; 00085 integral[12] = i12; 00086 integral[13] = i13; 00087 integral[14] = i14; 00088 integral[15] = i15; 00089 integral[16] = i16; 00090 integral[17] = i17; 00091 integral[18] = i18; 00092 integral[19] = i19; 00093 integral[20] = i20; 00094 integral[21] = i21; 00095 integral[22] = i22; 00096 integral[23] = i23; 00097 integral[24] = i24; 00098 integral[25] = i25; 00099 integral[26] = i26; 00100 integral[27] = i27; 00101 integral[28] = i28; 00102 integral[29] = i29; 00103 integral[30] = i30; 00104 00105 G4int i; 00106 for(i=0;i<31;i++) theNbin[i]=1+200*(i+1); 00107 }
G4NeutronHPFastLegendre::~G4NeutronHPFastLegendre | ( | ) | [inline] |
Definition at line 127 of file G4NeutronHPFastLegendre.hh.
Referenced by G4NeutronHPLegendreStore::SampleDiscreteTwoBody(), G4NeutronHPLegendreStore::SampleElastic(), and G4NeutronHPLegendreStore::SampleMax().
00128 { 00129 if(l>30) return regularEvaluate(l,costh); 00130 G4double result; 00131 G4int bin = GetBin(l, costh); 00132 if(bin != theNbin[l]-1) 00133 { 00134 G4double y1, y2; 00135 y1 = value[l][bin]; 00136 y2 = value[l][bin+1]; 00137 result = Interpolate(bin, l, y1, y2, costh); 00138 } 00139 else 00140 { 00141 result = value[l][bin]; 00142 } 00143 return result; 00144 }
Definition at line 115 of file G4NeutronHPFastLegendre.hh.
Referenced by G4NeutronHPLegendreStore::Integrate().
00116 { 00117 if(l>30) return regularIntegrate(l,costh); 00118 G4int bin = GetBin(l, costh); 00119 G4double y1, y2; 00120 // G4cout <<"Testhpw G4NeutronHPFastLegendre::Integrate "<<l<<" "<<bin<<G4endl; 00121 y1 = integral[l][bin]; 00122 y2 = integral[l][bin+1]; 00123 // G4cout <<"Testhpw G4NeutronHPFastLegendre::Integrate exit"<<G4endl; 00124 return Interpolate(bin, l, y1, y2, costh); 00125 }