Geant4 10.7.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 G4double CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0
 
virtual const G4CrossSectionVectorGetComponents () const =0
 
virtual G4String Name () const =0
 
virtual void Print () const
 
virtual void PrintAll (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual G4bool IsValid (G4double e) 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}

◆ ~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
Definition: G4XAqmTotal.cc:81

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: