Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4DiffElasticRatio Class Reference

#include <G4DiffElasticRatio.hh>

Inheritance diagram for G4DiffElasticRatio:
Collaboration 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 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 55 of file G4DiffElasticRatio.hh.

Constructor & Destructor Documentation

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

Definition at line 46 of file G4DiffElasticRatio.cc.

47  : G4VCrossSectionRatio( nam, verb)
48 {
49  fGGXsc = new G4ComponentGGHadronNucleusXsc();
50  fDDthreshold = 450.*CLHEP::MeV; // ~3 pi masses
51 }
static constexpr double MeV
G4VCrossSectionRatio(const G4String &nam="", G4int verb=0)
G4DiffElasticRatio::~G4DiffElasticRatio ( )
virtual

Definition at line 53 of file G4DiffElasticRatio.cc.

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

Member Function Documentation

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

Implements G4VCrossSectionRatio.

Definition at line 59 of file G4DiffElasticRatio.cc.

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

Here is the call graph for this function:

G4double G4DiffElasticRatio::GetEnergyThreshold ( )
inline

Definition at line 69 of file G4DiffElasticRatio.hh.

69 {return fDDthreshold;};
void G4DiffElasticRatio::SetEnergyThreshold ( G4double  e)
inline

Definition at line 68 of file G4DiffElasticRatio.hh.

68 {fDDthreshold=e;};

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