63 edgeMin(0.), edgeMax(0.), numberOfNodes(0),
65 dBin(0.), baseBin(0.),
90 if (&right==
this) {
return *
this; }
104 return (
this == &right);
111 return (
this != &right);
175 fOut.write((
char*)(&size),
sizeof size);
178 for(
size_t i = 0; i < size; ++i)
183 fOut.write((
char*)(value), 2*size*(
sizeof (
G4double)));
202 if (fIn.fail()) {
return false; }
206 if (fIn.fail() || siz<=0) {
return false; }
212 for(
G4int i = 0; i < siz ; i++)
216 fIn >> vBin >> vData;
217 if (fIn.fail()) {
return false; }
237 fIn.read((
char*)(&size),
sizeof size);
240 fIn.read((
char*)(value), 2*size*(
sizeof(
G4double)) );
249 for(
size_t i = 0; i < size; ++i)
319 - firstPointDerivative);
339 *(endPointDerivative -
346 for(
G4int k=n-1; k>0; --k)
391 for(
G4int i=2; i<n-1; ++i)
406 - (2.0*sig - 1.0)*u[n-2]/
p;
414 for(
G4int k=n-2; k>1; --k)
446 for(
size_t i=1; i<
n; ++i)
482 out << std::setprecision(12) << pv.
edgeMin <<
" "
487 for(
size_t i = 0; i < pv.
dataVector.size(); i++)
491 out << std::setprecision(6);
504 }
else if(theEnergy >=
edgeMax) {
508 lastIdx =
FindBin(theEnergy, lastIdx);
520 size_t bin = std::lower_bound(dataVector.begin(), dataVector.end(),
y)
521 - dataVector.begin() - 1;
524 G4double del = dataVector[bin+1] - dataVector[
bin];
526 res += (y - dataVector[
bin])*(
binVector[bin+1] - res)/del;
537 <<
" an attempt to put data at index= " << index;
539 ed,
"Memory overwritten");
size_t FindBin(G4double energy, size_t idx) const
std::ostringstream G4ExceptionDescription
G4int operator==(const G4PhysicsVector &right) const
G4double GetLowEdgeEnergy(size_t binNumber) const
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
virtual void ScaleVector(G4double factorE, G4double factorV)
G4double FindLinearEnergy(G4double rand) const
G4double Value(G4double theEnergy, size_t &lastidx) const
void DumpValues(G4double unitE=1.0, G4double unitV=1.0) const
const XML_Char int const XML_Char * value
G4double Interpolation(size_t idx, G4double energy) const
void ComputeSecDerivatives()
void FillSecondDerivatives()
void ComputeSecondDerivatives(G4double firstPointDerivative, G4double endPointDerivative)
G4PVDataVector dataVector
void PrintPutValueError(size_t index)
G4double G4ParticleHPJENDLHEData::G4double result
virtual G4bool Retrieve(std::ifstream &fIn, G4bool ascii=false)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4PhysicsVector(G4bool spline=false)
G4PhysicsVector & operator=(const G4PhysicsVector &)
G4int operator!=(const G4PhysicsVector &right) const
G4GLOB_DLL std::ostream G4cout
virtual ~G4PhysicsVector()
G4PVDataVector secDerivative
void CopyData(const G4PhysicsVector &vec)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4bool Store(std::ofstream &fOut, G4bool ascii=false) const