29#ifndef G4NeutronHPArbitaryTab_h
30#define G4NeutronHPArbitaryTab_h 1
53 if(theDistFunc!=0)
delete [] theDistFunc;
56 inline void Init(std::ifstream & theData)
59 theFractionalProb.
Init(theData, CLHEP::eV);
62 theManager.
Init(theData);
64 for(i=0; i<nDistFunc; i++)
66 theData >> currentEnergy;
67 theDistFunc[i].
SetLabel(currentEnergy*CLHEP::eV);
68 theDistFunc[i].
Init(theData, CLHEP::eV);
79 for(i=0; i<nDistFunc; i++){
81 theLowThreshold[i]=theDistFunc[i].
GetEnergy(0);
82 theHighThreshold[i]=theDistFunc[i].
GetEnergy(np-1);
83 for(
G4int j=0;j<np-1;j++){
84 if(theDistFunc[i].GetXsec(j+1)>1.e-20){
85 theLowThreshold[i]=theDistFunc[i].
GetEnergy(j);
89 for(
G4int j=1;j<np;j++){
90 if(theDistFunc[i].GetXsec(j-1)>1.e-20){
91 theHighThreshold[i]=theDistFunc[i].
GetEnergy(j);
100 return theFractionalProb.
GetY(anEnergy);
void Init(G4int aScheme, G4int aRange)
G4double GetFractionalProbability(G4double anEnergy)
~G4NeutronHPArbitaryTab()
G4double Sample(G4double anEnergy)
void Init(std::ifstream &theData)
void Init(std::ifstream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
void SetLabel(G4double aLabel)
G4int GetVectorLength() const
G4double GetEnergy(G4int i) const
G4double GetY(G4double x)