G4NeutronHPFastLegendre Class Reference

#include <G4NeutronHPFastLegendre.hh>


Public Member Functions

 G4NeutronHPFastLegendre ()
 ~G4NeutronHPFastLegendre ()
G4double Integrate (G4int l, G4double costh)
G4double Evaluate (G4int l, G4double costh)


Detailed Description

Definition at line 34 of file G4NeutronHPFastLegendre.hh.


Constructor & Destructor Documentation

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 109 of file G4NeutronHPFastLegendre.hh.

00110   {
00111     delete [] value;
00112     delete [] integral;
00113   }


Member Function Documentation

G4double G4NeutronHPFastLegendre::Evaluate ( G4int  l,
G4double  costh 
) [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   }

G4double G4NeutronHPFastLegendre::Integrate ( G4int  l,
G4double  costh 
) [inline]

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   }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:37 2013 for Geant4 by  doxygen 1.4.7