28 #ifndef G4NeutronHPArbitaryTab_h
29 #define G4NeutronHPArbitaryTab_h 1
52 if(theDistFunc!=0)
delete [] theDistFunc;
55 inline void Init(std::istream & theData)
58 theFractionalProb.
Init(theData, CLHEP::eV);
61 theManager.
Init(theData);
63 for(i=0; i<nDistFunc; i++)
65 theData >> currentEnergy;
66 theDistFunc[i].
SetLabel(currentEnergy*CLHEP::eV);
67 theDistFunc[i].
Init(theData, CLHEP::eV);
78 for(i=0; i<nDistFunc; i++){
80 theLowThreshold[i]=theDistFunc[i].
GetEnergy(0);
81 theHighThreshold[i]=theDistFunc[i].
GetEnergy(np-1);
82 for(
G4int j=0;j<np-1;j++){
83 if(theDistFunc[i].GetXsec(j+1)>1.e-20){
84 theLowThreshold[i]=theDistFunc[i].
GetEnergy(j);
88 for(
G4int j=1;j<np;j++){
89 if(theDistFunc[i].GetXsec(j-1)>1.e-20){
90 theHighThreshold[i]=theDistFunc[i].
GetEnergy(j);
99 return theFractionalProb.
GetY(anEnergy);
G4double GetEnergy(G4int i) const
void SetLabel(G4double aLabel)
G4double GetY(G4double x)
G4int GetVectorLength() const
void Init(std::istream &theData)
void Init(G4int aScheme, G4int aRange)
~G4NeutronHPArbitaryTab()
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4double Sample(G4double anEnergy)
G4double GetFractionalProbability(G4double anEnergy)