33 #define INCLXX_IN_GEANT4_MODE 1
52 const G4double DeuteronDensity::coeff1[coeffTableSize] = {
69 const G4double DeuteronDensity::coeff2[coeffTableSize] = {
86 const G4double DeuteronDensity::normalisationR = std::sqrt(32. *
Math::pi) * 0.28212;
92 const G4double DeuteronDensity::al = 0.23162461;
97 return r*r*(sWave*sWave + dWave*dWave);
105 return (sWave*sWaveDeriv + dWave*dWaveDeriv) /
Math::twoPi;
111 return p*p*(sWave*sWave + dWave*dWave);
116 const G4double r = 2. * std::max(theR, 1.
e-4);
121 for(
G4int i=0; i<coeffTableSize; ++i) {
124 result += coeff1[i] * std::exp(-fmr);
126 result += coeff2[i] * std::exp(-fmr) * (1.+3./fmr+3./(fmr*fmr));
130 result *= normalisationR/
r;
136 const G4double r = 2. * std::max(theR, 1.
e-4);
141 for(
G4int i=0; i<coeffTableSize; ++i) {
144 result += coeff1[i] * std::exp(-fmr) * (fmr + 1.);
146 result += coeff2[i] * std::exp(-fmr) * (fmr + 4. + 9./fmr + 9./(fmr*fmr));
150 result *= -normalisationR/(r*
r);
160 for(
G4int i=0; i<coeffTableSize; ++i) {
162 fmq = q2 + alPlusI*alPlusI;
164 result += coeff1[i] / fmq;
166 result += coeff2[i] / fmq;
170 result *= normalisationP;