Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/inclxx/utils/include/G4INCLParticleTable.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/inclxx/utils/include/G4INCLParticleTable.hh (Version 11.3.0) and /processes/hadronic/models/inclxx/utils/include/G4INCLParticleTable.hh (Version 11.2)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 // INCL++ intra-nuclear cascade model              26 // INCL++ intra-nuclear cascade model
 27 // Alain Boudard, CEA-Saclay, France               27 // Alain Boudard, CEA-Saclay, France
 28 // Joseph Cugnon, University of Liege, Belgium     28 // Joseph Cugnon, University of Liege, Belgium
 29 // Jean-Christophe David, CEA-Saclay, France       29 // Jean-Christophe David, CEA-Saclay, France
 30 // Pekka Kaitaniemi, CEA-Saclay, France, and H     30 // Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
 31 // Sylvie Leray, CEA-Saclay, France                31 // Sylvie Leray, CEA-Saclay, France
 32 // Davide Mancusi, CEA-Saclay, France              32 // Davide Mancusi, CEA-Saclay, France
 33 //                                                 33 //
 34 #define INCLXX_IN_GEANT4_MODE 1                    34 #define INCLXX_IN_GEANT4_MODE 1
 35                                                    35 
 36 #include "globals.hh"                              36 #include "globals.hh"
 37                                                    37 
 38 #ifndef G4INCLParticleTable_hh                     38 #ifndef G4INCLParticleTable_hh
 39 #define G4INCLParticleTable_hh 1                   39 #define G4INCLParticleTable_hh 1
 40                                                    40 
 41 #include <string>                                  41 #include <string>
 42 #include <vector>                                  42 #include <vector>
 43 // #include <cassert>                              43 // #include <cassert>
 44                                                    44 
 45 #include "G4INCLParticleType.hh"                   45 #include "G4INCLParticleType.hh"
 46 #include "G4INCLParticleSpecies.hh"                46 #include "G4INCLParticleSpecies.hh"
 47 #include "G4INCLLogger.hh"                         47 #include "G4INCLLogger.hh"
 48 #include "G4INCLConfig.hh"                         48 #include "G4INCLConfig.hh"
 49 #include "G4INCLHFB.hh"                            49 #include "G4INCLHFB.hh"
 50                                                    50 
 51 #ifdef INCLXX_IN_GEANT4_MODE                       51 #ifdef INCLXX_IN_GEANT4_MODE
 52 #include "G4IonTable.hh"                           52 #include "G4IonTable.hh"
 53 #include "G4ParticleTable.hh"                      53 #include "G4ParticleTable.hh"
 54 #endif                                             54 #endif
 55 #include "G4INCLGlobals.hh"                        55 #include "G4INCLGlobals.hh"
 56 #include "G4INCLNaturalIsotopicDistributions.h     56 #include "G4INCLNaturalIsotopicDistributions.hh"
 57                                                    57 
 58 namespace G4INCL {                                 58 namespace G4INCL {
 59                                                    59 
 60   namespace ParticleTable {                        60   namespace ParticleTable {
 61                                                    61 
 62     const G4int maxClusterMass = 12;               62     const G4int maxClusterMass = 12;
 63     const G4int maxClusterCharge = 8;              63     const G4int maxClusterCharge = 8;
 64                                                    64 
 65     const G4int clusterTableZSize = maxCluster     65     const G4int clusterTableZSize = maxClusterCharge+1;
 66     const G4int clusterTableASize = maxCluster     66     const G4int clusterTableASize = maxClusterMass+1;
 67     const G4int clusterTableSSize = 4;             67     const G4int clusterTableSSize = 4;
 68                                                    68 
 69     const G4double effectiveNucleonMass = 938.     69     const G4double effectiveNucleonMass = 938.2796;
 70     const G4double effectiveNucleonMass2 = 8.8     70     const G4double effectiveNucleonMass2 = 8.8036860777616e5;
 71     const G4double effectiveDeltaMass = 1232.0     71     const G4double effectiveDeltaMass = 1232.0;
 72     const G4double effectiveDeltaWidth = 130.0     72     const G4double effectiveDeltaWidth = 130.0;
 73     const G4double effectivePionMass = 138.0;      73     const G4double effectivePionMass = 138.0;
 74     const G4double effectiveLambdaMass = 1115.     74     const G4double effectiveLambdaMass = 1115.683;
 75     const G4double effectiveSigmaMass = 1197.4     75     const G4double effectiveSigmaMass = 1197.45; // max value
 76     const G4double effectiveXiMass = 1321.71;      76     const G4double effectiveXiMass = 1321.71; // max value
 77     const G4double effectiveKaonMass = 497.614     77     const G4double effectiveKaonMass = 497.614; // max value
 78     const G4double effectiveAntiKaonMass = 497     78     const G4double effectiveAntiKaonMass = 497.614; // max value
 79     const G4double effectiveEtaMass = 547.862;     79     const G4double effectiveEtaMass = 547.862;
 80     const G4double effectiveOmegaMass = 782.65     80     const G4double effectiveOmegaMass = 782.65;
 81     const G4double effectiveEtaPrimeMass = 957     81     const G4double effectiveEtaPrimeMass = 957.78;
 82     const G4double effectivePhotonMass = 0.0;      82     const G4double effectivePhotonMass = 0.0;
 83     extern G4ThreadLocal G4double minDeltaMass     83     extern G4ThreadLocal G4double minDeltaMass;
 84     extern G4ThreadLocal G4double minDeltaMass     84     extern G4ThreadLocal G4double minDeltaMass2;
 85     extern G4ThreadLocal G4double minDeltaMass     85     extern G4ThreadLocal G4double minDeltaMassRndm;
 86                                                    86 
 87     /// \brief Initialize the particle table       87     /// \brief Initialize the particle table
 88     void initialize(Config const * const theCo     88     void initialize(Config const * const theConfig = 0);
 89                                                    89 
 90     /// \brief Get the isospin of a particle       90     /// \brief Get the isospin of a particle
 91     G4int getIsospin(const ParticleType t);        91     G4int getIsospin(const ParticleType t);
 92                                                    92 
 93     /// \brief Get the native INCL name of the     93     /// \brief Get the native INCL name of the particle
 94     std::string getName(const ParticleType t);     94     std::string getName(const ParticleType t);
 95                                                    95 
 96     /// \brief Get the short INCL name of the      96     /// \brief Get the short INCL name of the particle
 97     std::string getShortName(const ParticleTyp     97     std::string getShortName(const ParticleType t);
 98                                                    98 
 99     /// \brief Get the native INCL name of the     99     /// \brief Get the native INCL name of the particle
100     std::string getName(const ParticleSpecies     100     std::string getName(const ParticleSpecies &s);
101                                                   101 
102     /// \brief Get the short INCL name of the     102     /// \brief Get the short INCL name of the particle
103     std::string getShortName(const ParticleSpe    103     std::string getShortName(const ParticleSpecies &s);
104                                                   104 
105     /// \brief Get the native INCL name of the    105     /// \brief Get the native INCL name of the ion
106     std::string getName(const G4int A, const G    106     std::string getName(const G4int A, const G4int Z);
107                                                   107 
108     /// \brief Get the native INCL name of the    108     /// \brief Get the native INCL name of the ion
109     std::string getName(const G4int A, const G    109     std::string getName(const G4int A, const G4int Z, const G4int S);
110                                                   110 
111     /// \brief Get the short INCL name of the     111     /// \brief Get the short INCL name of the ion
112     std::string getShortName(const G4int A, co    112     std::string getShortName(const G4int A, const G4int Z);
113                                                   113 
114     /// \brief Get INCL nuclear mass (in MeV/c    114     /// \brief Get INCL nuclear mass (in MeV/c^2)
115     G4double getINCLMass(const G4int A, const     115     G4double getINCLMass(const G4int A, const G4int Z, const G4int S);
116                                                   116 
117     /// \brief Get INCL particle mass (in MeV/    117     /// \brief Get INCL particle mass (in MeV/c^2)
118     G4double getINCLMass(const ParticleType t)    118     G4double getINCLMass(const ParticleType t);
119                                                   119 
120 #ifndef INCLXX_IN_GEANT4_MODE                     120 #ifndef INCLXX_IN_GEANT4_MODE
121     /// \brief Do we have this particle mass?     121     /// \brief Do we have this particle mass?
122     G4double hasMassTable(const unsigned int A    122     G4double hasMassTable(const unsigned int A, const unsigned int Z);
123                                                   123 
124     /** \brief Weizsaecker mass formula           124     /** \brief Weizsaecker mass formula
125      *                                            125      *
126      * Return the nuclear mass, as calculated     126      * Return the nuclear mass, as calculated from Weizsaecker's mass formula.
127      * Adapted from the Geant4 source.            127      * Adapted from the Geant4 source.
128      *                                            128      *
129      * \param A the mass number                   129      * \param A the mass number
130      * \param Z the charge number                 130      * \param Z the charge number
131      * \return the nuclear mass [MeV/c^2]         131      * \return the nuclear mass [MeV/c^2]
132      */                                           132      */
133     G4double getWeizsaeckerMass(const G4int A,    133     G4double getWeizsaeckerMass(const G4int A, const G4int Z);
134 #endif                                            134 #endif
135                                                   135 
136     ///\brief Get particle mass (in MeV/c^2)      136     ///\brief Get particle mass (in MeV/c^2)
137     G4double getRealMass(const G4INCL::Particl    137     G4double getRealMass(const G4INCL::ParticleType t);
138     ///\brief Get nuclear mass (in MeV/c^2)       138     ///\brief Get nuclear mass (in MeV/c^2)
139     G4double getRealMass(const G4int A, const     139     G4double getRealMass(const G4int A, const G4int Z, const G4int S = 0);
140                                                   140 
141     /**\brief Get Q-value (in MeV/c^2)            141     /**\brief Get Q-value (in MeV/c^2)
142      *                                            142      *
143      * Uses the getTableMass function to compu    143      * Uses the getTableMass function to compute the Q-value for the
144      * following reaction:                        144      * following reaction:
145      * \f[ (A_1,Z_1) + (A_2, Z_2) --> (A_1+A_2    145      * \f[ (A_1,Z_1) + (A_2, Z_2) --> (A_1+A_2,Z_1+Z_2) \f]
146      */                                           146      */
147     G4double getTableQValue(const G4int A1, co    147     G4double getTableQValue(const G4int A1, const G4int Z1, const G4int S1, const G4int A2, const G4int Z2, const G4int S2);
148                                                   148 
149     /**\brief Get Q-value (in MeV/c^2)            149     /**\brief Get Q-value (in MeV/c^2)
150      *                                            150      *
151      * Uses the getTableMass function to compu    151      * Uses the getTableMass function to compute the Q-value for the
152      * following reaction:                        152      * following reaction:
153      * \f[ (A_1,Z_1) + (A_2, Z_2) --> (A_3,Z_3    153      * \f[ (A_1,Z_1) + (A_2, Z_2) --> (A_3,Z_3) + (A1+A2-A3,Z1+Z2-Z3) \f]
154      */                                           154      */
155     G4double getTableQValue(const G4int A1, co    155     G4double getTableQValue(const G4int A1, const G4int Z1, const G4int S1, const G4int A2, const G4int Z2, const G4int S2, const G4int A3, const G4int Z3, const G4int S3);
156                                                   156 
157     G4double getTableSpeciesMass(const Particl    157     G4double getTableSpeciesMass(const ParticleSpecies &p);
158                                                   158 
159     /// \brief Get mass number from particle t    159     /// \brief Get mass number from particle type
160     G4int getMassNumber(const ParticleType t);    160     G4int getMassNumber(const ParticleType t);
161                                                   161 
162     /// \brief Get charge number from particle    162     /// \brief Get charge number from particle type
163     G4int getChargeNumber(const ParticleType t    163     G4int getChargeNumber(const ParticleType t);
164                                                   164     
165     /// \brief Get strangeness number from par    165     /// \brief Get strangeness number from particle type
166     G4int getStrangenessNumber(const ParticleT    166     G4int getStrangenessNumber(const ParticleType t);
167                                                   167 
168     G4double getNuclearRadius(const ParticleTy    168     G4double getNuclearRadius(const ParticleType t, const G4int A, const G4int Z);
169     G4double getLargestNuclearRadius(const G4i    169     G4double getLargestNuclearRadius(const G4int A, const G4int Z);
170     G4double getRadiusParameter(const Particle    170     G4double getRadiusParameter(const ParticleType t, const G4int A, const G4int Z);
171     G4double getMaximumNuclearRadius(const Par    171     G4double getMaximumNuclearRadius(const ParticleType t, const G4int A, const G4int Z);
172     G4double getSurfaceDiffuseness(const Parti    172     G4double getSurfaceDiffuseness(const ParticleType t, const G4int A, const G4int Z);
173                                                   173 
174     /// \brief Return the RMS of the momentum     174     /// \brief Return the RMS of the momentum distribution (light clusters)
175     G4double getMomentumRMS(const G4int A, con    175     G4double getMomentumRMS(const G4int A, const G4int Z);
176                                                   176 
177     /// \brief Return INCL's default separatio    177     /// \brief Return INCL's default separation energy
178     G4double getSeparationEnergyINCL(const Par    178     G4double getSeparationEnergyINCL(const ParticleType t, const G4int /*A*/, const G4int /*Z*/);
179                                                   179 
180     /// \brief Return the real separation ener    180     /// \brief Return the real separation energy
181     G4double getSeparationEnergyReal(const Par    181     G4double getSeparationEnergyReal(const ParticleType t, const G4int A, const G4int Z);
182                                                   182 
183     /// \brief Return the real separation ener    183     /// \brief Return the real separation energy only for light nuclei
184     G4double getSeparationEnergyRealForLight(c    184     G4double getSeparationEnergyRealForLight(const ParticleType t, const G4int A, const G4int Z);
185                                                   185 
186     /// \brief Getter for protonSeparationEner    186     /// \brief Getter for protonSeparationEnergy
187     G4double getProtonSeparationEnergy();         187     G4double getProtonSeparationEnergy();
188                                                   188 
189     /// \brief Getter for neutronSeparationEne    189     /// \brief Getter for neutronSeparationEnergy
190     G4double getNeutronSeparationEnergy();        190     G4double getNeutronSeparationEnergy();
191                                                   191 
192     /// \brief Setter for protonSeparationEner    192     /// \brief Setter for protonSeparationEnergy
193     void setProtonSeparationEnergy(const G4dou    193     void setProtonSeparationEnergy(const G4double s);
194                                                   194 
195     /// \brief Setter for protonSeparationEner    195     /// \brief Setter for protonSeparationEnergy
196     void setNeutronSeparationEnergy(const G4do    196     void setNeutronSeparationEnergy(const G4double s);
197                                                   197 
198     /// \brief Get the name of the element fro    198     /// \brief Get the name of the element from the atomic number
199     std::string getElementName(const G4int Z);    199     std::string getElementName(const G4int Z);
200                                                   200 
201     /// \brief Get the name of an unnamed elem    201     /// \brief Get the name of an unnamed element from the IUPAC convention
202     std::string getIUPACElementName(const G4in    202     std::string getIUPACElementName(const G4int Z);
203                                                   203 
204     /// \brief Get the name of the element fro    204     /// \brief Get the name of the element from the atomic number
205     G4int parseElement(std::string pS);           205     G4int parseElement(std::string pS);
206                                                   206 
207     /** \brief Parse a IUPAC element name         207     /** \brief Parse a IUPAC element name
208      *                                            208      *
209      * Note: this function is UGLY. Look at it    209      * Note: this function is UGLY. Look at it at your own peril.
210      *                                            210      *
211      * \param pS a normalised string (lowercas    211      * \param pS a normalised string (lowercase)
212      * \return the charge number of the nuclid    212      * \return the charge number of the nuclide, or zero on fail
213      */                                           213      */
214     G4int parseIUPACElement(std::string const     214     G4int parseIUPACElement(std::string const &pS);
215                                                   215 
216     IsotopicDistribution const &getNaturalIsot    216     IsotopicDistribution const &getNaturalIsotopicDistribution(const G4int Z);
217                                                   217 
218     G4int drawRandomNaturalIsotope(const G4int    218     G4int drawRandomNaturalIsotope(const G4int Z);
219                                                   219 
220     // Typedefs and pointers for transparent h    220     // Typedefs and pointers for transparent handling of mass functions
221     //typedef G4double (*NuclearMassFn)(const     221     //typedef G4double (*NuclearMassFn)(const G4int, const G4int);
222     typedef G4double (*NuclearMassFn)(const G4    222     typedef G4double (*NuclearMassFn)(const G4int, const G4int, const G4int);
223     typedef G4double (*ParticleMassFn)(const P    223     typedef G4double (*ParticleMassFn)(const ParticleType);
224     /// \brief Static pointer to the mass func    224     /// \brief Static pointer to the mass function for nuclei
225     extern G4ThreadLocal NuclearMassFn getTabl    225     extern G4ThreadLocal NuclearMassFn getTableMass;
226     /// \brief Static pointer to the mass func    226     /// \brief Static pointer to the mass function for particles
227     extern G4ThreadLocal ParticleMassFn getTab    227     extern G4ThreadLocal ParticleMassFn getTableParticleMass;
228                                                   228 
229     // Typedefs and pointers for transparent h    229     // Typedefs and pointers for transparent handling of separation energies
230     typedef G4double (*SeparationEnergyFn)(con    230     typedef G4double (*SeparationEnergyFn)(const ParticleType, const G4int, const G4int);
231     /// \brief Static pointer to the separatio    231     /// \brief Static pointer to the separation-energy function
232     extern G4ThreadLocal SeparationEnergyFn ge    232     extern G4ThreadLocal SeparationEnergyFn getSeparationEnergy;
233                                                   233 
234     // Typedefs and pointers for transparent h    234     // Typedefs and pointers for transparent handling of Fermi momentum
235     typedef G4double (*FermiMomentumFn)(const     235     typedef G4double (*FermiMomentumFn)(const G4int, const G4int);
236     extern G4ThreadLocal FermiMomentumFn getFe    236     extern G4ThreadLocal FermiMomentumFn getFermiMomentum;
237                                                   237 
238     /// \brief Return the constant value of th    238     /// \brief Return the constant value of the Fermi momentum
239     G4double getFermiMomentumConstant(const G4    239     G4double getFermiMomentumConstant(const G4int /*A*/, const G4int /*Z*/);
240                                                   240 
241     /** \brief Return the constant value of th    241     /** \brief Return the constant value of the Fermi momentum - special for light
242      *                                            242      *
243      * This function should always return Phys    243      * This function should always return PhysicalConstants::Pf for heavy
244      * nuclei, and values from the momentumRMS    244      * nuclei, and values from the momentumRMS table for light nuclei.
245      *                                            245      *
246      * \param A mass number                       246      * \param A mass number
247      * \param Z charge number                     247      * \param Z charge number
248      */                                           248      */
249     G4double getFermiMomentumConstantLight(con    249     G4double getFermiMomentumConstantLight(const G4int A, const G4int Z);
250                                                   250 
251     /** \brief Return the value Fermi momentum    251     /** \brief Return the value Fermi momentum from a fit
252      *                                            252      *
253      * This function returns a fitted Fermi mo    253      * This function returns a fitted Fermi momentum, based on data from Moniz
254      * et al., Phys. Rev. Lett. 26 (1971) 445.    254      * et al., Phys. Rev. Lett. 26 (1971) 445. The fitted functional form is
255      * \f[                                        255      * \f[
256      * p_F(A)=\alpha-\beta\cdot e^{(-A\cdot\ga    256      * p_F(A)=\alpha-\beta\cdot e^{(-A\cdot\gamma)}
257      * \f]                                        257      * \f]
258      * with \f$\alpha=259.416\f$ MeV/\f$c\f$,     258      * with \f$\alpha=259.416\f$ MeV/\f$c\f$, \f$\beta=152.824\f$ MeV/\f$c\f$
259      * and \f$\gamma=9.5157\cdot10^{-2}\f$.       259      * and \f$\gamma=9.5157\cdot10^{-2}\f$.
260      *                                            260      *
261      * \param A mass number                       261      * \param A mass number
262      */                                           262      */
263     G4double getFermiMomentumMassDependent(con    263     G4double getFermiMomentumMassDependent(const G4int A, const G4int /*Z*/);
264                                                   264 
265     /** \brief Get the value of the r-p correl    265     /** \brief Get the value of the r-p correlation coefficient
266      *                                            266      *
267      * \param t the type of the particle (Prot    267      * \param t the type of the particle (Proton or Neutron)
268      * \return the value of the r-p correlatio    268      * \return the value of the r-p correlation coefficient
269      */                                           269      */
270     G4double getRPCorrelationCoefficient(const    270     G4double getRPCorrelationCoefficient(const ParticleType t);
271                                                   271 
272     /// \brief Get the thickness of the neutro    272     /// \brief Get the thickness of the neutron skin
273     G4double getNeutronSkin();                    273     G4double getNeutronSkin();
274                                                   274 
275     /// \brief Get the size of the neutron hal    275     /// \brief Get the size of the neutron halo
276     G4double getNeutronHalo();                    276     G4double getNeutronHalo();
277                                                   277 
278     /// \brief Get the type of pion               278     /// \brief Get the type of pion
279     ParticleType getPionType(const G4int isosp    279     ParticleType getPionType(const G4int isosp);
280                                                   280 
281     /// \brief Get the type of nucleon            281     /// \brief Get the type of nucleon
282     ParticleType getNucleonType(const G4int is    282     ParticleType getNucleonType(const G4int isosp);
283                                                   283 
284     /// \brief Get the type of delta              284     /// \brief Get the type of delta
285     ParticleType getDeltaType(const G4int isos    285     ParticleType getDeltaType(const G4int isosp);
286                                                   286 
287     /// \brief Get the type of sigma              287     /// \brief Get the type of sigma
288     ParticleType getSigmaType(const G4int isos    288     ParticleType getSigmaType(const G4int isosp);
289                                                   289     
290     /// \brief Get the type of kaon               290     /// \brief Get the type of kaon
291     ParticleType getKaonType(const G4int isosp    291     ParticleType getKaonType(const G4int isosp);
292                                                   292 
293     /// \brief Get the type of antikaon           293     /// \brief Get the type of antikaon
294     ParticleType getAntiKaonType(const G4int i    294     ParticleType getAntiKaonType(const G4int isosp);
295                                                   295        
296     /// \brief Get the type of xi                 296     /// \brief Get the type of xi
297     ParticleType getXiType(const G4int isosp);    297     ParticleType getXiType(const G4int isosp);
298                                                   298     
299     /// \brief Get the type of antinucleon        299     /// \brief Get the type of antinucleon
300     ParticleType getAntiNucleonType(const G4in    300     ParticleType getAntiNucleonType(const G4int isosp);
301                                                   301 
302     /// \brief Get the type of antidelta          302     /// \brief Get the type of antidelta
303     ParticleType getAntiXiType(const G4int iso    303     ParticleType getAntiXiType(const G4int isosp);
304                                                   304 
305     /// \brief Get the type of antisigma          305     /// \brief Get the type of antisigma
306     ParticleType getAntiSigmaType(const G4int     306     ParticleType getAntiSigmaType(const G4int isosp); 
307                                                   307 
308     /// \brief Get particle width (in s)          308     /// \brief Get particle width (in s)
309     G4double getWidth(const ParticleType t);      309     G4double getWidth(const ParticleType t);
310   }                                               310   }
311 }                                                 311 }
312                                                   312 
313 #endif                                            313 #endif
314                                                   314 
315                                                   315