55 result->
SetData(running++, x, y);
59 else if( left.
GetX(i)+right.
GetX(j) == 0
60 || std::abs((right.
GetX(j)-left.
GetX(i))/(left.
GetX(i)+right.
GetX(j))) > 0.001 )
64 result->
SetData(running++, x, y);
76 result->
SetData(running++, x, y);
127 if(&right ==
this)
return *
this;
240 G4int s_tmp = 0,
n=0, m_tmp=0;
242 G4int a = s_tmp, p =
n, t;
257 && std::abs(std::abs(xp-xa)/xa) < 0.0000001
262 active = passive; a=p;
267 active = passive; a=p;
276 anX = passive->
GetXsec(p)-deltaX;
303 G4int count = 0, current = 2, start = 1;
311 x1=aBuff[count].
GetX();
312 y1=aBuff[count].
GetY();
318 for (
G4int j=start; j<current; j++ ) {
320 if ( std::abs( y-
theData[j].
GetY() ) > precision*y ) {
321 aBuff[++count] =
theData[current-1];
327 for(
G4int j=start; j<current; j++)
330 if(x1-x2 == 0) y = (y2+y1)/2.;
334 aBuff[++count] =
theData[current-1];
358 std::vector<G4double>::iterator i;
362 if(std::abs(aX-aBlock) < 0.1*
MeV)
395 G4int icounter_max=1024;
399 if ( icounter > icounter_max ) {
400 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
422 G4int jcounter_max=1024;
426 if ( jcounter > jcounter_max ) {
427 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
440 if ( ibin < 0 )
G4cout <<
"TKDB 080807 " << rand <<
G4endl;
456 value = rand * ( x2 - x1 ) + x1;
static constexpr double MeV
G4GLOB_DLL std::ostream G4cout
void AppendScheme(G4int aPoint, const G4InterpolationScheme &aScheme)
G4InterpolationScheme GetScheme(G4int index) const
G4int GetMinIndex(G4double e) const
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
G4double Lin(G4double x, G4double x1, G4double x2, G4double y1, G4double y2)
G4ParticleHPInterpolator theInt
G4InterpolationScheme GetScheme(G4int anIndex)
void SetY(G4int i, G4double x)
G4ParticleHPVector & operator=(const G4ParticleHPVector &right)
const G4ParticleHPDataPoint & GetPoint(G4int i) const
G4bool IsBlocked(G4double aX)
void SetData(G4int i, G4double x, G4double y)
G4ParticleHPDataPoint * theData
G4double Get50percentBorder()
void IntegrateAndNormalise()
G4double GetXsec(G4int i)
G4double Get15percentBorder()
G4double the50percentBorderCash
void ThinOut(G4double precision)
G4double the15percentBorderCash
G4ParticleHPInterpolator theLin
G4double GetY(G4double x)
G4double GetEnergy(G4int i) const
G4double GetX(G4int i) const
void Merge(G4ParticleHPVector *active, G4ParticleHPVector *passive)
std::vector< G4double > theBlocked
G4int GetVectorLength() const
void SetPoint(G4int i, const G4ParticleHPDataPoint &it)
G4InterpolationManager theManager
std::vector< G4double > theBuffered
BasicVector3D< float > operator+(const BasicVector3D< float > &v)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments