35#define INCLXX_IN_GEANT4_MODE 1
54 const G4double DeuteronDensity::coeff1[coeffTableSize] = {
71 const G4double DeuteronDensity::coeff2[coeffTableSize] = {
88 const G4double DeuteronDensity::normalisationR = std::sqrt(32. *
Math::pi) * 0.28212;
94 const G4double DeuteronDensity::al = 0.23162461;
99 return r*r*(sWave*sWave + dWave*dWave);
107 return (sWave*sWaveDeriv + dWave*dWaveDeriv) /
Math::twoPi;
113 return p*p*(sWave*sWave + dWave*dWave);
118 const G4double r = 2. * std::max(theR, 1.e-4);
123 for(
G4int i=0; i<coeffTableSize; ++i) {
126 result += coeff1[i] * std::exp(-fmr);
128 result += coeff2[i] * std::exp(-fmr) * (1.+3./fmr+3./(fmr*fmr));
132 result *= normalisationR/r;
138 const G4double r = 2. * std::max(theR, 1.e-4);
143 for(
G4int i=0; i<coeffTableSize; ++i) {
146 result += coeff1[i] * std::exp(-fmr) * (fmr + 1.);
148 result += coeff2[i] * std::exp(-fmr) * (fmr + 4. + 9./fmr + 9./(fmr*fmr));
152 result *= -normalisationR/(r*r);
162 for(
G4int i=0; i<coeffTableSize; ++i) {
164 fmq = q2 + alPlusI*alPlusI;
166 result += coeff1[i] / fmq;
168 result += coeff2[i] / fmq;
172 result *= normalisationP;
Deuteron density in r and p according to the Paris potential.
static G4double wavefunctionR(const G4int l, const G4double r)
static G4double derivDensityR(const G4double r)
First derivative of the r-space density function.
static G4double derivWavefunctionR(const G4int l, const G4double r)
static G4double wavefunctionP(const G4int l, const G4double p)
static G4double densityR(const G4double r)
PDF for a nucleon in r space.
static G4double densityP(const G4double p)
PDF for a nucleon in p space.
const G4double hc
[MeV*fm]