36#ifndef G4VelocityTable_hh
37#define G4VelocityTable_hh 1
50 using G4VTDataVector = std::vector<G4double>;
72 void PrepareVelocityTable();
74 std::size_t FindBinLocation(
G4double theEnergy)
const;
77 inline G4double Interpolation()
const;
84 std::size_t numberOfNodes = 0;
86 G4VTDataVector dataVector;
87 G4VTDataVector binVector;
88 G4VTDataVector secDerivative;
95 std::size_t lastBin = 0;
108inline G4double G4VelocityTable::Interpolation()
const
117 (lastEnergy - binVector[lastBin]) /
118 (binVector[lastBin + 1] - binVector[lastBin]);
120 return dataVector[lastBin] +
121 (dataVector[lastBin + 1] - dataVector[lastBin]) * intplFactor;
static G4VelocityTable * GetVelocityTable()
static void SetVelocityTableProperties(G4double t_max, G4double t_min, G4int nbin)
G4double Value(G4double theEnergy)
static G4double GetMaxTOfVelocityTable()
static G4double GetMinTOfVelocityTable()
static G4int GetNbinOfVelocityTable()