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;
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++ ) {
321 if ( std::abs( y-
theData[j].
GetY() ) > precision*y ) {
322 aBuff[++count] =
theData[current-1];
328 for(
G4int j=start; j<current; j++)
331 if(x1-x2 == 0) y = (y2+y1)/2.;
335 aBuff[++count] =
theData[current-1];
359 std::vector<G4double>::iterator i;
363 if(std::abs(aX-aBlock) < 0.1*
MeV)
396 G4int icounter_max=1024;
400 if ( icounter > icounter_max ) {
401 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
423 G4int jcounter_max=1024;
427 if ( jcounter > jcounter_max ) {
428 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
441 if ( ibin < 0 )
G4cout <<
"TKDB 080807 " << rand <<
G4endl;
457 value = rand * ( x2 - x1 ) + x1;
G4double GetEnergy(G4int i) const
G4double Get15percentBorder()
G4int GetVectorLength() const
G4double the15percentBorderCash
G4double Lin(G4double x, G4double x1, G4double x2, G4double y1, G4double y2)
std::vector< ExP01TrackerHit * > a
void SetData(G4int i, G4double x, G4double y)
G4ParticleHPInterpolator theInt
G4ParticleHPVector & operator=(const G4ParticleHPVector &right)
G4double GetXsec(G4int i)
G4InterpolationManager theManager
void SetY(G4int i, G4double x)
void AppendScheme(G4int aPoint, const G4InterpolationScheme &aScheme)
G4ParticleHPVector & operator+(G4ParticleHPVector &left, G4ParticleHPVector &right)
G4GLOB_DLL std::ostream G4cout
G4ParticleHPDataPoint * theData
G4InterpolationScheme GetScheme(G4int index) const
void Merge(G4ParticleHPVector *active, G4ParticleHPVector *passive)
G4double GetX(G4int i) const
void SetPoint(G4int i, const G4ParticleHPDataPoint &it)
G4double GetY(G4double x)
void IntegrateAndNormalise()
G4double Interpolate(G4InterpolationScheme aScheme, G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const
G4bool IsBlocked(G4double aX)
G4double the50percentBorderCash
T max(const T t1, const T t2)
brief Return the largest of the two arguments
std::vector< G4double > theBlocked
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
static constexpr double MeV
G4ParticleHPInterpolator theLin
std::vector< G4double > theBuffered
G4int GetMinIndex(G4double e) const
G4InterpolationScheme GetScheme(G4int anIndex)
const G4ParticleHPDataPoint & GetPoint(G4int i) const
void ThinOut(G4double precision)
G4double Get50percentBorder()