Ignore:
Timestamp:
Apr 6, 2009, 12:30:29 PM (15 years ago)
Author:
garnier
Message:

update processes

File:
1 edited

Legend:

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

    r819 r962  
    118118  G4double GetNucleusRadius(G4double At);
    119119
     120  inline G4double GetParticleBarCorTot( const G4ParticleDefinition* theParticle, G4double Z );
     121  inline G4double GetParticleBarCorIn( const G4ParticleDefinition* theParticle, G4double Z );
     122
     123  inline void SetEnergyLowerLimit(G4double E ){fLowerLimit=E;};
     124
    120125private:
    121126
    122127  const G4double fUpperLimit;
    123   const G4double fLowerLimit;
     128  G4double fLowerLimit;
    124129  const G4double fRadiusConst;
     130
     131  static const G4double fNeutronBarCorrectionTot[93];
     132  static const G4double fNeutronBarCorrectionIn[93];
     133
     134  static const G4double fProtonBarCorrectionTot[93];
     135  static const G4double fProtonBarCorrectionIn[93];
     136
     137  static const G4double fPionPlusBarCorrectionTot[93];
     138  static const G4double fPionPlusBarCorrectionIn[93];
     139
     140  static const G4double fPionMinusBarCorrectionTot[93];
     141  static const G4double fPionMinusBarCorrectionIn[93];
    125142
    126143  G4double fTotalXsc, fElasticXsc, fInelasticXsc, fProductionXsc, fDiffractionXsc;
     
    160177};
    161178
     179////////////////////////////////////////////////////////////////
     180//
     181// Inlines
     182
    162183inline
    163184G4double G4GlauberGribovCrossSection::GetElasticGlauberGribov(
     
    168189}
    169190
     191/////////////////////////////////////////////////////////////////
     192
    170193inline
    171194G4double G4GlauberGribovCrossSection::GetInelasticGlauberGribov(
     
    176199}
    177200
     201/////////////////////////////////////////////////////////////////////
     202//
     203// return correction at Tkin = 90*GeV GG -> Barashenkov tot xsc, when it
     204// is available, else return 1.0
     205
     206
     207inline G4double G4GlauberGribovCrossSection::GetParticleBarCorTot(
     208                          const G4ParticleDefinition* theParticle, G4double Z )
     209{
     210  G4int iZ = G4int(Z);
     211
     212  if( iZ >= 2 && iZ <= 92)
     213  {
     214    if(      theParticle == theProton ) return fProtonBarCorrectionTot[iZ];
     215    else if( theParticle == theNeutron) return fNeutronBarCorrectionTot[iZ];
     216    else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionTot[iZ];
     217    else if( theParticle == thePiMinus) return fPionMinusBarCorrectionTot[iZ];
     218    else return 1.0;
     219  }
     220  else return 1.0;
     221}
     222
     223/////////////////////////////////////////////////////////////////////
     224//
     225// return correction at Tkin = 90*GeV GG -> Barashenkov in xsc, when it
     226// is available, else return 1.0
     227
     228
     229inline G4double G4GlauberGribovCrossSection::GetParticleBarCorIn(
     230                          const G4ParticleDefinition* theParticle, G4double Z )
     231{
     232  G4int iZ = G4int(Z);
     233
     234  if( iZ >= 2 && iZ <= 92)
     235  {
     236    if(      theParticle == theProton ) return fProtonBarCorrectionIn[iZ];
     237    else if( theParticle == theNeutron) return fNeutronBarCorrectionIn[iZ];
     238    else if( theParticle == thePiPlus ) return fPionPlusBarCorrectionIn[iZ];
     239    else if( theParticle == thePiMinus) return fPionMinusBarCorrectionIn[iZ];
     240    else return 1.0;
     241  }
     242  else return 1.0;
     243}
     244
    178245#endif
Note: See TracChangeset for help on using the changeset viewer.