85 return (
this == &right);
92 return (
this != &right);
111 useSpline = vec.useSpline;
160 fOut.write((
char*) (&size),
sizeof size);
163 for(std::size_t i = 0; i < size; ++i)
168 fOut.write((
char*) (value), 2 * size * (
sizeof(
G4double)));
204 for(
G4int i = 0; i < siz; ++i)
208 fIn >> vBin >> vData;
232 fIn.read((
char*) (&size),
sizeof size);
235 fIn.read((
char*) (value), 2 * size * (
sizeof(
G4double)));
244 for(std::size_t i = 0; i < size; ++i)
275 for(i = 0; i < n; ++i)
301 if(!SplinePossible())
316 firstPointDerivative);
323 for(
G4int i = 1; i < n; ++i)
348 for(
G4int k = n - 1; k > 0; --k)
373 if(!SplinePossible())
397 for(
G4int i = 2; i < n - 1; ++i)
418 (2.0 * sig - 1.0) * u[n - 2] / p;
426 for(
G4int k = n - 2; k > 1; --k)
453 if(!SplinePossible())
462 for(std::size_t i = 1; i < n; ++i)
477G4bool G4PhysicsVector::SplinePossible()
502 G4int prec = out.precision();
503 out << std::setprecision(12) << pv.
edgeMin <<
" " << pv.
edgeMax <<
" "
508 for(std::size_t i = 0; i < pv.
dataVector.size(); ++i)
512 out << std::setprecision(prec);
534 lastIdx =
FindBin(theEnergy, lastIdx);
535 y = Interpolation(lastIdx, theEnergy);
567 <<
" an attempt to put data at index= " << index;
569 "Memory overwritten");
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
std::ostream & operator<<(std::ostream &out, const G4PhysicsVector &pv)
G4GLOB_DLL std::ostream G4cout
G4bool operator!=(const G4PhysicsVector &right) const
void ComputeSecondDerivatives(G4double firstPointDerivative, G4double endPointDerivative)
G4double Value(G4double theEnergy, std::size_t &lastidx) const
std::size_t FindBin(const G4double energy, const std::size_t idx) const
virtual void ScaleVector(G4double factorE, G4double factorV)
G4double GetLowEdgeEnergy(std::size_t binNumber) const
G4bool Store(std::ofstream &fOut, G4bool ascii=false) const
G4double FindLinearEnergy(G4double rand) const
G4bool operator==(const G4PhysicsVector &right) const
G4PVDataVector secDerivative
std::size_t numberOfNodes
virtual ~G4PhysicsVector()
void ComputeSecDerivatives()
G4PhysicsVector(G4bool spline=false)
void FillSecondDerivatives()
virtual G4bool Retrieve(std::ifstream &fIn, G4bool ascii=false)
G4PVDataVector dataVector
void CopyData(const G4PhysicsVector &vec)
void PrintPutValueError(std::size_t index)
G4PhysicsVector & operator=(const G4PhysicsVector &)
void DumpValues(G4double unitE=1.0, G4double unitV=1.0) const