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

#include <G4XAqmElastic.hh>

Inheritance diagram for G4XAqmElastic:

Public Member Functions

 G4XAqmElastic ()
virtual ~G4XAqmElastic ()
G4bool operator== (const G4XAqmElastic &right) const
G4bool operator!= (const G4XAqmElastic &right) const
virtual G4double CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual const G4CrossSectionVectorGetComponents () const
virtual G4bool IsValid (G4double e) const
virtual G4String Name () const
Public Member Functions inherited from G4VCrossSectionSource
 G4VCrossSectionSource ()
virtual ~G4VCrossSectionSource ()
G4bool operator== (const G4VCrossSectionSource &right) const
G4bool operator!= (const G4VCrossSectionSource &right) const
virtual void Print () const
virtual void PrintAll (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
virtual G4double HighLimit () const
virtual G4double LowLimit () const

Additional Inherited Members

Protected Member Functions inherited from G4VCrossSectionSource
G4bool InLimits (G4double e, G4double eLow, G4double eHigh) const
const G4ParticleDefinitionFindLightParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
G4double FcrossX (G4double e, G4double e0, G4double sigma, G4double eParam, G4double power) const
const G4ParticleDefinitionFindKeyParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const

Detailed Description

Definition at line 50 of file G4XAqmElastic.hh.

Constructor & Destructor Documentation

◆ G4XAqmElastic()

G4XAqmElastic::G4XAqmElastic ( )

Definition at line 57 of file G4XAqmElastic.cc.

58{
59 // As a first approximation the model is assumed to be valid over
60 // the entire energy range
61}

Referenced by operator!=(), and operator==().

◆ ~G4XAqmElastic()

G4XAqmElastic::~G4XAqmElastic ( )
virtual

Definition at line 64 of file G4XAqmElastic.cc.

65{ }

Member Function Documentation

◆ CrossSection()

G4double G4XAqmElastic::CrossSection ( const G4KineticTrack & trk1,
const G4KineticTrack & trk2 ) const
virtual

Implements G4VCrossSectionSource.

Definition at line 80 of file G4XAqmElastic.cc.

81{
82 G4double sigma = 0.;
83
84 // Reference to be checked!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
85 static const G4double coeff = 0.39;
86 static const G4double param = 1.5;
87
88 G4XAqmTotal aqmTotal;
89
90 G4double sigmaTot = aqmTotal.CrossSection(trk1,trk2);
91 sigma = coeff * G4Pow::GetInstance()->powA(sigmaTot,param);
92
93 // Verify that elastic cross section < total cross section
94
95 if (sigma > sigmaTot)
96 throw G4HadronicException(__FILE__, __LINE__, "G4XAqmElastic::CrossSection - elastic cross section greater than total");
97
98 return sigma;
99}
double G4double
Definition G4Types.hh:83
static G4Pow * GetInstance()
Definition G4Pow.cc:41
G4double powA(G4double A, G4double y) const
Definition G4Pow.hh:230
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const

Referenced by G4XMesonBaryonElastic::CrossSection().

◆ GetComponents()

virtual const G4CrossSectionVector * G4XAqmElastic::GetComponents ( ) const
inlinevirtual

Implements G4VCrossSectionSource.

Definition at line 64 of file G4XAqmElastic.hh.

64{ return 0; }

◆ IsValid()

G4bool G4XAqmElastic::IsValid ( G4double e) const
virtual

Reimplemented from G4VCrossSectionSource.

Definition at line 109 of file G4XAqmElastic.cc.

110{
111 G4bool answer = InLimits(e,_lowLimit,_highLimit);
112
113 return answer;
114}
bool G4bool
Definition G4Types.hh:86
G4bool InLimits(G4double e, G4double eLow, G4double eHigh) const

◆ Name()

G4String G4XAqmElastic::Name ( ) const
virtual

Implements G4VCrossSectionSource.

Definition at line 102 of file G4XAqmElastic.cc.

103{
104 G4String name("AqmElasticCrossSection");
105 return name;
106}
const char * name(G4int ptype)

◆ operator!=()

G4bool G4XAqmElastic::operator!= ( const G4XAqmElastic & right) const

Definition at line 74 of file G4XAqmElastic.cc.

75{
76 return (this != (G4XAqmElastic *) &right);
77}

◆ operator==()

G4bool G4XAqmElastic::operator== ( const G4XAqmElastic & right) const

Definition at line 68 of file G4XAqmElastic.cc.

69{
70 return (this == (G4XAqmElastic *) &right);
71}

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