Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DiffElasticRatio Class Reference

#include <G4DiffElasticRatio.hh>

+ Inheritance diagram for G4DiffElasticRatio:

Public Member Functions

 G4DiffElasticRatio (const G4String &nam="", G4int verb=0)
 
virtual ~G4DiffElasticRatio ()
 
G4double ComputeRatio (const G4ParticleDefinition *, G4double kinEnergy, G4int Z, G4int A)
 
void SetEnergyThreshold (G4double e)
 
G4double GetEnergyThreshold ()
 
- Public Member Functions inherited from G4VCrossSectionRatio
 G4VCrossSectionRatio (const G4String &nam="", G4int verb=0)
 
virtual ~G4VCrossSectionRatio ()
 
virtual G4double ComputeRatio (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)=0
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
virtual void Description () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
const G4StringGetName () const
 

Detailed Description

Definition at line 54 of file G4DiffElasticRatio.hh.

Constructor & Destructor Documentation

◆ G4DiffElasticRatio()

G4DiffElasticRatio::G4DiffElasticRatio ( const G4String nam = "",
G4int  verb = 0 
)

Definition at line 45 of file G4DiffElasticRatio.cc.

46 : G4VCrossSectionRatio( nam, verb)
47{
48 fGGXsc = new G4ComponentGGHadronNucleusXsc();
49 fDDthreshold = 450.*CLHEP::MeV; // ~3 pi masses
50}

◆ ~G4DiffElasticRatio()

G4DiffElasticRatio::~G4DiffElasticRatio ( )
virtual

Definition at line 52 of file G4DiffElasticRatio.cc.

53{
54 if(fGGXsc) delete fGGXsc;
55}

Member Function Documentation

◆ ComputeRatio()

G4double G4DiffElasticRatio::ComputeRatio ( const G4ParticleDefinition theParticleDefinition,
G4double  kinEnergy,
G4int  Z,
G4int  A 
)
virtual

Implements G4VCrossSectionRatio.

Definition at line 58 of file G4DiffElasticRatio.cc.

61{
62 G4double ratio = 0.;
63
64 if( A > 1 && kinEnergy > fDDthreshold )
65 {
66 G4double ggElXsc = fGGXsc->GetElasticElementCrossSection(theParticleDefinition,kinEnergy,
67 Z,A);
68 G4double ggsdXsc = fGGXsc->GetDiffractionGlauberGribovXsc();
69
70 if( ggElXsc > 0.) ratio = ggsdXsc/ggElXsc;
71 else ratio = 0;
72 }
73 // G4cout<<theParticleDefinition->GetParticleName()<<"; "<<kinEnergy/CLHEP::GeV<<" GeV; r = "<<ratio<<G4endl;
74 return ratio;
75}
double G4double
Definition: G4Types.hh:83
G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A) final

◆ GetEnergyThreshold()

G4double G4DiffElasticRatio::GetEnergyThreshold ( )
inline

Definition at line 68 of file G4DiffElasticRatio.hh.

68{return fDDthreshold;};

◆ SetEnergyThreshold()

void G4DiffElasticRatio::SetEnergyThreshold ( G4double  e)
inline

Definition at line 67 of file G4DiffElasticRatio.hh.

67{fDDthreshold=e;};

The documentation for this class was generated from the following files: