33 #define INCLXX_IN_GEANT4_MODE 1 
   47     theMaximumRadius(std::
min((*rpCorrelationTableProton)(1.), (*rpCorrelationTableNeutron)(1.))),
 
   50     std::fill(rFromP, rFromP + 
UnknownParticle, static_cast<InverseInterpolationTable*>(NULL));
 
   51     rFromP[
Proton] = rpCorrelationTableProton;
 
   52     rFromP[
Neutron] = rpCorrelationTableNeutron;
 
   54     rFromP[
DeltaPlus] = rpCorrelationTableProton;
 
   55     rFromP[
DeltaZero] = rpCorrelationTableNeutron;
 
   56     rFromP[
DeltaMinus] = rpCorrelationTableNeutron;
 
   59     std::fill(pFromR, pFromR + 
UnknownParticle, static_cast<InverseInterpolationTable*>(NULL));
 
   66     INCL_DEBUG(
"Interpolation table for proton local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   70           << 
"Interpolation table for neutron local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   74           << 
"Interpolation table for delta++ local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   78           << 
"Interpolation table for delta+ local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   82           << 
"Interpolation table for delta0 local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   86           << 
"Interpolation table for delta- local energy (A=" << theA << 
", Z=" << theZ << 
") initialised:" 
   90     initializeTransmissionRadii();
 
  107     theMaximumRadius(rhs.theMaximumRadius),
 
  108     theProtonNuclearRadius(rhs.theProtonNuclearRadius)
 
  111     std::fill(rFromP, rFromP + 
UnknownParticle, static_cast<InverseInterpolationTable*>(NULL));
 
  119     std::fill(pFromR, pFromR + 
UnknownParticle, static_cast<InverseInterpolationTable*>(NULL));
 
  131     swap(temporaryDensity);
 
  138     std::swap(theMaximumRadius, rhs.theMaximumRadius);
 
  139     std::swap(theProtonNuclearRadius, rhs.theProtonNuclearRadius);
 
  140     std::swap_ranges(transmissionRadius, transmissionRadius+
UnknownParticle, rhs.transmissionRadius);
 
  147     std::swap(pFromR[Proton], rhs.pFromR[Proton]);
 
  148     std::swap(pFromR[Neutron], rhs.pFromR[Neutron]);
 
  149     std::swap(pFromR[DeltaPlusPlus], rhs.pFromR[DeltaPlusPlus]);
 
  150     std::swap(pFromR[DeltaPlus], rhs.pFromR[DeltaPlus]);
 
  151     std::swap(pFromR[DeltaZero], rhs.pFromR[DeltaZero]);
 
  152     std::swap(pFromR[DeltaMinus], rhs.pFromR[DeltaMinus]);
 
  155   void NuclearDensity::initializeTransmissionRadii() {
 
  156     const G4double theProtonRadius = 0.88; 
 
  157     const G4double theProtonTransmissionRadius = theProtonNuclearRadius + theProtonRadius;
 
  159     transmissionRadius[
Proton] = theProtonTransmissionRadius;
 
  160     transmissionRadius[
PiPlus] = theProtonNuclearRadius;
 
  161     transmissionRadius[
PiMinus] = theProtonNuclearRadius;
 
  162     transmissionRadius[
DeltaPlusPlus] = theProtonTransmissionRadius;
 
  163     transmissionRadius[
DeltaPlus] = theProtonTransmissionRadius;
 
  164     transmissionRadius[
DeltaMinus] = theProtonTransmissionRadius;
 
  165     transmissionRadius[
Composite] = theProtonNuclearRadius;
 
  171     return (*(rFromP[t]))(
p);
 
  176     return (*(pFromR[t]))(
r);
 
G4double getMinPFromR(const ParticleType t, const G4double r) const 
 
NuclearDensity(const G4int A, const G4int Z, InverseInterpolationTable const *const rpCorrelationTableProton, InverseInterpolationTable const *const rpCorrelationTableNeutron)
 
NuclearDensity & operator=(const NuclearDensity &rhs)
Assignment operator. 
 
G4double getNuclearRadius(const ParticleType t, const G4int A, const G4int Z)
 
void copy(std::vector< T > &main, const std::vector< T > &data)
 
void swap(shared_ptr< P > &, shared_ptr< P > &)
 
Class for interpolating the inverse of a 1-dimensional function. 
 
void swap(NuclearDensity &rhs)
Helper method for the assignment operator. 
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
void print(const std::vector< T > &data)
 
G4double getMaxRFromP(const ParticleType t, const G4double p) const 
Get the maximum allowed radius for a given momentum.