34 #ifndef G4ParticleHPVector_h
35 #define G4ParticleHPVector_h 1
246 Init(aDataFile, total, ux, uy);
276 G4int s_tmp = 0, n=0, m_tmp=0;
293 if ( !( xa == 0 ) && std::abs(std::abs(xp-xa)/xa)<0.001 ) p++;
356 if(std::abs((y2-y1)/y2)<0.0000001)
361 result =
theLin.
Lin(rand, x1, x2, y1, y2);
391 if (std::abs(x1-x0) > std::abs(x1*0.0000001) )
405 if(!_finite(integ)){integ=0;}
406 #elif defined __IBMCPP__
407 if(isinf(integ)||isnan(integ)){integ=0;}
409 if(std::isinf(integ)||std::isnan(integ)){integ=0;}
443 sum+= 0.5*(y2+
y1)*(x2-x1);
449 sum+= (a-b)*(x2-x1) + b*(x2*
G4Log(x2)-x1*
G4Log(x1));
469 throw G4HadronicException(__FILE__, __LINE__,
"Unknown interpolation scheme in G4ParticleHPVector::Integrate");
522 result = weighted / running;
G4double GetY(G4int i) const
void SetInterpolationManager(const G4InterpolationManager &aManager)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double total(Particle const *const p1, Particle const *const p2)
void SetEnergy(G4int i, G4double e)
G4ParticleHPInterpolator theLin
void Init(std::istream &aDataFile, G4double ux=1., G4double uy=1.)
G4double Get15percentBorder()
G4double GetXsec(G4double e, G4int min)
std::vector< ExP01TrackerHit * > a
G4bool IsBlocked(G4double aX)
Float_t y1[n_points_granero]
G4InterpolationScheme GetScheme(G4int anIndex)
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
G4double GetX(G4int i) const
Float_t x1[n_points_granero]
friend G4ParticleHPVector & operator+(G4ParticleHPVector &left, G4ParticleHPVector &right)
std::vector< G4double > theBlocked
G4double Get50percentBorder()
void Times(G4double factor)
void SetData(G4int index, G4double x, G4double y)
G4InterpolationScheme GetScheme(G4int index) const
G4InterpolationManager theManager
G4double GetXsec(G4int i)
void InitInterpolation(std::istream &aDataFile)
std::vector< G4double > GetBlocked()
G4double G4Log(G4double x)
Float_t y2[n_points_geant4]
void SetScheme(G4int aPoint, const G4InterpolationScheme &aScheme)
G4double GetY(G4double x)
static G4Pow * GetInstance()
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4double GetWeightedBinIntegral(const G4InterpolationScheme &aScheme, const G4double x1, const G4double x2, const G4double y1, const G4double y2)
G4double powA(G4double A, G4double y) const
void ThinOut(G4double precision)
const G4InterpolationManager & GetInterpolationManager() const
G4double GetBinIntegral(const G4InterpolationScheme &aScheme, const G4double x1, const G4double x2, const G4double y1, const G4double y2)
void SetInterpolationManager(G4InterpolationManager &aMan)
void Init(G4int aScheme, G4int aRange)
void SetData(G4int i, G4double x, G4double y)
G4ParticleHPVector & operator=(const G4ParticleHPVector &right)
G4double G4ParticleHPJENDLHEData::G4double result
void SetX(G4int i, G4double e)
void SetLabel(G4double aLabel)
void SetData(G4double e, G4double x)
void SetPoint(G4int i, const G4ParticleHPDataPoint &it)
const G4ParticleHPDataPoint & GetPoint(G4int i) const
void SetY(G4int i, G4double x)
std::vector< G4double > GetBuffered()
G4double the50percentBorderCash
G4double Lin(G4double x, G4double x1, G4double x2, G4double y1, G4double y2)
void SetVerbose(G4int ff)
G4int GetVectorLength() const
G4ParticleHPDataPoint * theData
G4double the15percentBorderCash
void AppendScheme(G4int aPoint, const G4InterpolationScheme &aScheme)
Float_t x2[n_points_geant4]
std::vector< G4double > theBuffered
G4ParticleHPInterpolator theInt
void Merge(G4ParticleHPVector *active, G4ParticleHPVector *passive)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double GetEnergy(G4int i) const
void SetXsec(G4int i, G4double x)
void IntegrateAndNormalise()