Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4INCLDeuteronDensity.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26// INCL++ intra-nuclear cascade model
27// Pekka Kaitaniemi, CEA and Helsinki Institute of Physics
28// Davide Mancusi, CEA
29// Alain Boudard, CEA
30// Sylvie Leray, CEA
31// Joseph Cugnon, University of Liege
32//
33// INCL++ revision: v5.1.8
34//
35#define INCLXX_IN_GEANT4_MODE 1
36
37#include "globals.hh"
38
39/** \file G4INCLDeuteronDensity.hh
40 * \brief Deuteron density in r and p according to the Paris potential.
41 *
42 * \date 6 March 2012
43 * \author Davide Mancusi
44 */
45
46#ifndef G4INCLDEUTERONDENSITY_HH_
47#define G4INCLDEUTERONDENSITY_HH_ 1
48
49#include "G4INCLIFunction1D.hh"
51
52namespace G4INCL {
53
54 /// \brief Static class for the deuteron density
56 public:
57
58 /** \brief PDF for a nucleon in r space
59 *
60 * The distribution is normalised to 1.
61 *
62 * \param r distance from the deuteron centre [fm]
63 * \return 4 * pi * r^2 * |psi|^2
64 */
65 static G4double densityR(const G4double r);
66
67 /** \brief First derivative of the r-space density function
68 *
69 * \param r distance from the deuteron centre [fm]
70 * \return d|psi|^2/dr
71 */
72 static G4double derivDensityR(const G4double r);
73
74 /** \brief PDF for a nucleon in p space
75 *
76 * The distribution is normalised to 1.
77 *
78 * \param p nucleon momentum [MeV/c]
79 * \return 4 * pi * p^2 * d|psi|^2/dp
80 */
81 static G4double densityP(const G4double p);
82
83 static G4double wavefunctionR(const G4int l, const G4double r);
84 static G4double wavefunctionP(const G4int l, const G4double p);
85 static G4double derivWavefunctionR(const G4int l, const G4double r);
86
87 private:
88
89 static const G4int coeffTableSize = 13;
90 static const G4double coeff1[coeffTableSize];
91 static const G4double coeff2[coeffTableSize];
92 static const G4double normalisationR;
93 static const G4double normalisationP;
94 static const G4double al;
95 };
96
97}
98
99#endif // G4INCLDEUTERONDENSITY_HH_
Functor for 1-dimensional mathematical functions.
Simple interpolation table for the inverse of a IFunction1D functor.
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
Static class for the deuteron density.
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.