46 namespace DNA{
namespace Penetration{
50 { -4.06217193e-08, 3.06848412e-06, -9.93217814e-05,
51 1.80172797e-03, -2.01135480e-02, 1.42939448e-01,
52 -6.48348714e-01, 1.85227848e+00, -3.36450378e+00,
53 4.37785068e+00, -4.20557339e+00, 3.81679083e+00,
59 { 0.2, 0.5, 1, 2, 3, 4, 5, 6, 7,
90 for(int8_t i=12; i!=-1 ; --i){
91 r_mean+=
gCoeff[12-i]*std::pow(k_eV,i);
106 for(int8_t i=12; i!=-1 ; --i){
107 r_mean+=
gCoeff[12-i]*std::pow(k_eV,i);
114 static constexpr
double r2s=0.62665706865775006;
117 double sigma3D = r_mean*r2s;
141 size_t lowBin, upBin;
144 lowBin=floor(k_eV)+1;
145 upBin=
std::min(lowBin+1,
size_t(10));
163 double tanA = (lowS-upS)/(lowE-upE);
164 double sigma3D = lowS + (k_eV-lowE)*tanA;
171 static constexpr
double s2r=1.595769121605731;
174 double r_mean=sigma3D*s2r;
183 static constexpr
double factor = 2.20496999539;
186 double sigma1D = sqrt(pow(sigma3D, 2.)*factor);
ThreeVector shoot(const G4int Ap, const G4int Af)
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector G4RandomDirection()
static constexpr double nanometer
static const double gCoeff[13]
static double GetRmean(double energy)
static constexpr double eV
static const double gEnergies_T1990[11]
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
static void GetPenetration(G4double energy, G4ThreeVector &displacement)
G4double energy(const ThreeVector &p, const G4double m)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
static constexpr double nanometer
static const double gStdDev_T1990[11]
static double Get3DStdDeviation(double energy)
static double GetRmean(double energy)
static constexpr double angstrom