64 for(
G4int ii=0; ii<nCosTh[i]; ii++)
109 throw G4HadronicException(__FILE__, __LINE__,
"G4ParticleHPLabAngularEnergy: Unknown ion case 2");
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;
188 theStore.
Merge(&theBuff1, &theBuff2);
189 secEnergy = theStore.
Sample();
200 for(i=0;i<
nCosTh[it-1]; i++)
202 if(i!=0) run1.
SetY(i, run1.
GetY(i-1));
208 for(i=0;i<nCosTh[it]; i++)
210 if(i!=0) run2.
SetY(i, run2.
GetY(i-1));
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);
257 xx, xx1,xx2,yy1,yy2);
262 for(i=0; i<nCosTh[it-1]; i++)
265 if(cosTh<
theData[it-1][i].GetLabel())
break;
292 theStore1.
Merge(&theBuff1a, &theBuff2a);
296 for(i=0; i<nCosTh[it]; i++)
299 if(cosTh<
theData[it][i2].GetLabel())
break;
329 theStore2.
Merge(&theBuff1b, &theBuff2b);
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();
370 G4ThreeVector tempVector(mtot*sinth*std::cos(phi), mtot*sinth*std::sin(phi), mtot*std::cos(theta) );
void SetInterpolationManager(const G4InterpolationManager &aManager)
Float_t y1[n_points_granero]
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
G4double GetX(G4int i) const
Float_t x1[n_points_granero]
void SetMomentum(const G4double x, const G4double y, const G4double z)
void Init(std::istream &aDataFile)
static G4Proton * Proton()
G4InterpolationScheme GetScheme(G4int index) const
static G4Deuteron * Deuteron()
Float_t y2[n_points_geant4]
void SetKineticEnergy(const G4double en)
G4double GetY(G4double x)
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
static constexpr double twopi
const G4InterpolationManager & GetInterpolationManager() const
G4double GetTotalMomentum() const
double A(double temperature)
void Init(G4int aScheme, G4int aRange)
static G4Positron * Positron()
static constexpr double eV
void SetData(G4int i, G4double x, G4double y)
static G4Electron * Electron()
G4double G4ParticleHPJENDLHEData::G4double result
void SetX(G4int i, G4double e)
G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass)
void SetLabel(G4double aLabel)
void SetY(G4int i, G4double x)
static G4Triton * Triton()
static G4Neutron * Neutron()
G4ParticleHPVector ** theData
G4ParticleHPInterpolator theInt
G4double Lin(G4double x, G4double x1, G4double x2, G4double y1, G4double y2)
G4GLOB_DLL std::ostream G4cout
G4int GetVectorLength() const
G4InterpolationManager * theSecondManager
Float_t x2[n_points_geant4]
G4InterpolationManager theManager
G4double currentMeanEnergy
void Merge(G4ParticleHPVector *active, G4ParticleHPVector *passive)