Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh

    r1228 r1340  
    4747#include "G4Proton.hh"
    4848#include "G4Nucleus.hh"
     49#include "G4HadTmpUtil.hh"
    4950
    5051#include "G4VCrossSectionDataSet.hh"
     
    6364
    6465  virtual
    65   G4bool IsZAApplicable(const G4DynamicParticle* aDP, G4double Z, G4double A);
     66  G4bool IsIsoApplicable(const G4DynamicParticle* aDP, G4int Z, G4int A);
    6667
    6768  virtual
     
    7172
    7273  virtual
    73   G4double GetIsoZACrossSection(const G4DynamicParticle*,
    74                                 G4double Z, G4double A,
    75                                 G4double aTemperature = 0.0);
     74  G4double GetZandACrossSection(const G4DynamicParticle*,
     75                                G4int Z, G4int A,
     76                                G4double aTemperature = 0.0);
    7677
    7778  virtual
     
    8384  {G4cout << "G4GlauberGribovCrossSection: uses Glauber-Gribov formula"<<G4endl;}
    8485
    85   G4double GetRatioSD(const G4DynamicParticle*, G4double At, G4double Zt);
    86   G4double GetRatioQE(const G4DynamicParticle*, G4double At, G4double Zt);
     86  G4double GetRatioSD(const G4DynamicParticle*, G4int At, G4int Zt);
     87  G4double GetRatioQE(const G4DynamicParticle*, G4int At, G4int Zt);
    8788
    8889  G4double GetHadronNucleonXsc(const G4DynamicParticle*, const G4Element*);
    89   G4double GetHadronNucleonXsc(const G4DynamicParticle*, G4double At, G4double Zt);
     90  G4double GetHadronNucleonXsc(const G4DynamicParticle*, G4int At, G4int Zt);
    9091
    9192  G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, const G4Element*);
    92   G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, G4double At, G4double Zt);
     93  G4double GetHadronNucleonXscPDG(const G4DynamicParticle*, G4int At, G4int Zt);
    9394
    9495  G4double GetHadronNucleonXscNS(const G4DynamicParticle*, const G4Element*);
    95   G4double GetHadronNucleonXscNS(const G4DynamicParticle*,G4double At, G4double Zt);
     96  G4double GetHadronNucleonXscNS(const G4DynamicParticle*, G4int At, G4int Zt);
    9697
    9798  G4double GetHNinelasticXsc(const G4DynamicParticle*, const G4Element*);
    98   G4double GetHNinelasticXsc(const G4DynamicParticle*, G4double At, G4double Zt);
    99   G4double GetHNinelasticXscVU(const G4DynamicParticle*, G4double At, G4double Zt);
     99  G4double GetHNinelasticXsc(const G4DynamicParticle*, G4int At, G4int Zt);
     100  G4double GetHNinelasticXscVU(const G4DynamicParticle*, G4int At, G4int Zt);
    100101
    101102  G4double CalculateEcmValue ( const G4double , const G4double , const G4double );
     
    103104  G4double CalcMandelstamS( const G4double , const G4double , const G4double );
    104105
    105   G4double GetElasticGlauberGribov(const G4DynamicParticle*,G4double Z, G4double A);
    106   G4double GetInelasticGlauberGribov(const G4DynamicParticle*,G4double Z, G4double A);
     106  G4double GetElasticGlauberGribov(const G4DynamicParticle*, G4int Z, G4int A);
     107  G4double GetInelasticGlauberGribov(const G4DynamicParticle*, G4int Z, G4int A);
    107108
    108109  G4double GetTotalGlauberGribovXsc()    { return fTotalXsc;     };
     
    114115
    115116  G4double GetNucleusRadius(const G4DynamicParticle*, const G4Element*);
    116   G4double GetNucleusRadius(G4double At);
    117 
    118   inline G4double GetParticleBarCorTot( const G4ParticleDefinition* theParticle, G4double Z );
    119   inline G4double GetParticleBarCorIn( const G4ParticleDefinition* theParticle, G4double Z );
     117  G4double GetNucleusRadius(G4int At);
     118
     119  inline G4double GetParticleBarCorTot(const G4ParticleDefinition* theParticle, G4int Z);
     120  inline G4double GetParticleBarCorIn(const G4ParticleDefinition* theParticle, G4int Z);
    120121
    121122  inline void SetEnergyLowerLimit(G4double E ){fLowerLimit=E;};
     
    180181
    181182inline
    182 G4double G4GlauberGribovCrossSection::GetElasticGlauberGribov(
    183          const G4DynamicParticle* dp, G4double Z, G4double A)
    184 {
    185   GetIsoZACrossSection(dp, Z, A);
     183G4double
     184G4GlauberGribovCrossSection::GetElasticGlauberGribov(const G4DynamicParticle* dp,
     185                                                     G4int Z, G4int A)
     186{
     187  GetZandACrossSection(dp, Z, A);
    186188  return fElasticXsc;
    187189}
     
    190192
    191193inline
    192 G4double G4GlauberGribovCrossSection::GetInelasticGlauberGribov(
    193          const G4DynamicParticle* dp, G4double Z, G4double A)
    194 {
    195   GetIsoZACrossSection(dp, Z, A);
     194G4double
     195G4GlauberGribovCrossSection::GetInelasticGlauberGribov(const G4DynamicParticle* dp,
     196                                                       G4int Z, G4int A)
     197{
     198  GetZandACrossSection(dp, Z, A);
    196199  return fInelasticXsc;
    197200}
     
    204207
    205208inline G4double G4GlauberGribovCrossSection::GetParticleBarCorTot(
    206                           const G4ParticleDefinition* theParticle, G4double Z )
    207 {
    208   G4int iZ = G4int(Z);
    209 
    210   if( iZ >= 2 && iZ <= 92)
     209                          const G4ParticleDefinition* theParticle, G4int Z)
     210{
     211  if(Z >= 2 && Z <= 92)
    211212  {
    212     if(      theParticle == theProton ) return fProtonBarCorrectionTot[iZ];
    213     else if( theParticle == theNeutron) return fNeutronBarCorrectionTot[iZ];
    214     else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionTot[iZ];
    215     else if( theParticle == thePiMinus) return fPionMinusBarCorrectionTot[iZ];
     213    if(      theParticle == theProton ) return fProtonBarCorrectionTot[Z];
     214    else if( theParticle == theNeutron) return fNeutronBarCorrectionTot[Z];
     215    else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionTot[Z];
     216    else if( theParticle == thePiMinus) return fPionMinusBarCorrectionTot[Z];
    216217    else return 1.0;
    217218  }
     
    226227
    227228inline G4double G4GlauberGribovCrossSection::GetParticleBarCorIn(
    228                           const G4ParticleDefinition* theParticle, G4double Z )
    229 {
    230   G4int iZ = G4int(Z);
    231 
    232   if( iZ >= 2 && iZ <= 92)
     229                          const G4ParticleDefinition* theParticle, G4int Z)
     230{
     231  if(Z >= 2 && Z <= 92)
    233232  {
    234     if(      theParticle == theProton ) return fProtonBarCorrectionIn[iZ];
    235     else if( theParticle == theNeutron) return fNeutronBarCorrectionIn[iZ];
    236     else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionIn[iZ];
    237     else if( theParticle == thePiMinus) return fPionMinusBarCorrectionIn[iZ];
     233    if(      theParticle == theProton ) return fProtonBarCorrectionIn[Z];
     234    else if( theParticle == theNeutron) return fNeutronBarCorrectionIn[Z];
     235    else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionIn[Z];
     236    else if( theParticle == thePiMinus) return fPionMinusBarCorrectionIn[Z];
    238237    else return 1.0;
    239238  }
Note: See TracChangeset for help on using the changeset viewer.