50   aDataFile >> nEnergies;
 
   51   theManager.
Init(aDataFile);
 
   52   theEnergies = 
new G4double[nEnergies];
 
   53   nCosTh = 
new G4int[nEnergies];
 
   56   for(
G4int i=0; i<nEnergies; i++)
 
   58     aDataFile >> theEnergies[i];
 
   60     aDataFile >> nCosTh[i];
 
   61     theSecondManager[i].
Init(aDataFile); 
 
   64     for(
G4int ii=0; ii<nCosTh[i]; ii++)
 
   68       theData[i][ii].
Init(aDataFile, 
eV);
 
  109      throw G4HadronicException(__FILE__, __LINE__, 
"G4ParticleHPLabAngularEnergy: Unknown ion case 2");
 
  116    for(i=0; i<nEnergies; i++)
 
  119      if ( anEnergy < theEnergies[i] ) 
break;
 
  125      G4cout << 
"080808 Something unexpected is happen in G4ParticleHPLabAngularEnergy " << 
G4endl;
 
  129      for(i=0;i<nCosTh[it]; i++)
 
  131        if(i!=0) running[i] = running[i-1];
 
  136      for(i=0;i<nCosTh[it]; i++)
 
  139        if(random<running[i]) 
break;
 
  145         cosTh = theData[it][ith].
GetLabel();
 
  146         secEnergy = theData[it][ith].
Sample();
 
  147         currentMeanEnergy = theData[it][ith].
GetMeanX();
 
  159        cosTh = theInt.
Interpolate(theSecondManager[it].GetInverseScheme(ith),
 
  170          mu = theData[it][ith-1].
GetX(i);
 
  171          y1 = theData[it][ith-1].
GetY(i);
 
  172          y2 = theData[it][ith].
GetY(mu);
 
  174          y = theInt.
Interpolate(theSecondManager[it].GetScheme(ith), 
 
  180          mu = theData[it][ith].
GetX(i);
 
  181          y1 = theData[it][ith-1].
GetY(mu);
 
  182          y2 = theData[it][ith].
GetY(i);
 
  183          y = theInt.
Interpolate(theSecondManager[it].GetScheme(ith), 
 
  188        theStore.
Merge(&theBuff1, &theBuff2);
 
  189        secEnergy = theStore.
Sample();
 
  190        currentMeanEnergy = theStore.
GetMeanX();
 
  200      for(i=0;i<nCosTh[it-1]; i++)
 
  202        if(i!=0) run1.
SetY(i, run1.
GetY(i-1));
 
  203        run1.
SetX(i, theData[it-1][i].GetLabel());
 
  208      for(i=0;i<nCosTh[it]; i++)
 
  210        if(i!=0) run2.
SetY(i, run2.
GetY(i-1));
 
  211        run2.
SetX(i, theData[it][i].GetLabel());
 
  216      x1 = theEnergies[it-1];
 
  217      x2 = theEnergies[it];
 
  235        y = theInt.
Lin(x, x1,x2,y1,y2);
 
  239      theThVec.
Merge(&thBuff1 ,&thBuff2); 
 
  246        if(random<theThVec.
GetY(i)-theThVec.
GetY(0)) 
break;
 
  252        xx1 = theThVec.
GetY(ith-1)-theThVec.
GetY(0); 
 
  253        xx2 = theThVec.
GetY(ith)-theThVec.
GetY(0);
 
  254        yy1 = theThVec.
GetX(ith-1); 
 
  255        yy2 = theThVec.
GetX(ith);
 
  256        cosTh = theInt.
Interpolate(theSecondManager[it].GetScheme(ith), 
 
  257                                   xx, xx1,xx2,yy1,yy2);
 
  262      for(i=0; i<nCosTh[it-1]; i++)
 
  265        if(cosTh<theData[it-1][i].GetLabel()) 
break;
 
  269      x1 = theData[it-1][i1-1].
GetLabel();
 
  275        E = theData[it-1][i1-1].
GetX(i);
 
  276        y1 = theData[it-1][i1-1].
GetY(i);
 
  277        y2 = theData[it-1][i1].
GetY(E);
 
  278        y = theInt.
Lin(x, x1,x2,y1,y2);
 
  285        E = theData[it-1][i1].
GetX(i);
 
  286        y1 = theData[it-1][i1-1].
GetY(E);
 
  287        y2 = theData[it-1][i1].
GetY(i);
 
  288        y = theInt.
Lin(x, x1,x2,y1,y2);
 
  292      theStore1.
Merge(&theBuff1a, &theBuff2a); 
 
  296      for(i=0; i<nCosTh[it]; i++)
 
  299        if(cosTh<theData[it][i2].GetLabel()) 
break;
 
  307        E = theData[it][i2-1].
GetX(i);
 
  308        y1 = theData[it][i2-1].
GetY(i);
 
  309        y2 = theData[it][i2].
GetY(E);
 
  310        y = theInt.
Lin(x, x1,x2,y1,y2);
 
  322        E = theData[it][i2].
GetX(i);
 
  323        y1 = theData[it][i2-1].
GetY(E);
 
  324        y2 = theData[it][i2].
GetY(i);
 
  325        y = theInt.
Lin(x, x1,x2,y1,y2);
 
  329      theStore2.
Merge(&theBuff1b, &theBuff2b); 
 
  333      x1 = theEnergies[it-1];
 
  334      x2 = theEnergies[it];
 
  339        E = theStore1.
GetX(i);
 
  340        y1 = theStore1.
GetY(i);
 
  341        y2 = theStore2.
GetY(E);
 
  349        E = theStore2.
GetX(i);
 
  350        y1 = theStore1.
GetY(E);
 
  351        y2 = theStore2.
GetY(i);
 
  356      theOne.
Merge(&theOne1, &theOne2); 
 
  358      secEnergy = theOne.
Sample();
 
  359      currentMeanEnergy = theOne.
GetMeanX();
 
  370    G4ThreeVector tempVector(mtot*sinth*std::cos(phi), mtot*sinth*std::sin(phi), mtot*std::cos(theta) );
 
G4double G4ParticleHPJENDLHEData::G4double result
 
G4int GetVectorLength() const 
 
G4double GetTotalMomentum() const 
 
G4double Lin(G4double x, G4double x1, G4double x2, G4double y1, G4double y2)
 
void Init(G4int aScheme, G4int aRange)
 
void SetKineticEnergy(const G4double en)
 
void SetMomentum(const G4double x, const G4double y, const G4double z)
 
void SetData(G4int i, G4double x, G4double y)
 
void SetInterpolationManager(const G4InterpolationManager &aManager)
 
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
 
static constexpr double twopi
 
void SetY(G4int i, G4double x)
 
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
 
G4GLOB_DLL std::ostream G4cout
 
double A(double temperature)
 
G4InterpolationScheme GetScheme(G4int index) const 
 
static G4Triton * Triton()
 
void Merge(G4ParticleHPVector *active, G4ParticleHPVector *passive)
 
static G4Proton * Proton()
 
static constexpr double eV
 
G4double GetX(G4int i) const 
 
static G4Neutron * Neutron()
 
G4double GetY(G4double x)
 
static G4Deuteron * Deuteron()
 
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const 
 
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass)
 
static G4Positron * Positron()
 
const G4InterpolationManager & GetInterpolationManager() const 
 
static G4Electron * Electron()
 
void SetX(G4int i, G4double e)
 
void SetLabel(G4double aLabel)
 
void Init(std::istream &aDataFile)