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

#include <G4XAqmTotal.hh>

+ Inheritance diagram for G4XAqmTotal:

Public Member Functions

 G4XAqmTotal ()
 
virtual ~G4XAqmTotal ()
 
G4bool operator== (const G4XAqmTotal &right) const
 
G4bool operator!= (const G4XAqmTotal &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
 
G4ParticleDefinitionFindKeyParticle (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
G4double GetTransversePionMass () const
 
G4double GetMinStringMass () const
 

Detailed Description

Definition at line 37 of file G4XAqmTotal.hh.

Constructor & Destructor Documentation

◆ G4XAqmTotal()

G4XAqmTotal::G4XAqmTotal ( )

Definition at line 57 of file G4XAqmTotal.cc.

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

◆ ~G4XAqmTotal()

G4XAqmTotal::~G4XAqmTotal ( )
virtual

Definition at line 64 of file G4XAqmTotal.cc.

65{ }

Member Function Documentation

◆ CrossSection()

G4double G4XAqmTotal::CrossSection ( const G4KineticTrack trk1,
const G4KineticTrack trk2 
) const
virtual

Implements G4VCrossSectionSource.

Definition at line 80 of file G4XAqmTotal.cc.

81{
82 G4double sigma = 0.;
83
84 // Get strangeness content
86 G4int sTrk1 = def1->GetQuarkContent(3) + def1->GetAntiQuarkContent(3);
88 G4int sTrk2 = def2->GetQuarkContent(3) + def2->GetAntiQuarkContent(3);
89
90 // Get non-strange quark content
91 G4int qTrk1 = def1->GetQuarkContent(1) + def1->GetAntiQuarkContent(1) +
92 def1->GetQuarkContent(2) + def1->GetAntiQuarkContent(2) +
93 def1->GetQuarkContent(4) + def1->GetAntiQuarkContent(4) +
94 def1->GetQuarkContent(5) + def1->GetAntiQuarkContent(5) +
95 def1->GetQuarkContent(6) + def1->GetAntiQuarkContent(6);
96
97 G4int qTrk2 = def2->GetQuarkContent(1) + def2->GetAntiQuarkContent(1) +
98 def2->GetQuarkContent(2) + def2->GetAntiQuarkContent(2) +
99 def2->GetQuarkContent(4) + def2->GetAntiQuarkContent(4) +
100 def2->GetQuarkContent(5) + def2->GetAntiQuarkContent(5) +
101 def2->GetQuarkContent(6) + def2->GetAntiQuarkContent(6);
102
103 G4double sRatio1 = 0.;
104 if (qTrk1 != 0) sRatio1 = sTrk1 / qTrk1;
105
106 G4double sRatio2 = 0.;
107 if (qTrk2 != 0) sRatio2 = sTrk2 / qTrk2;
108
109 // Calculate the number of colliding mesons
110 G4int nMesons = 0;
111 G4int nQ1 = sTrk1 + qTrk1;
112
113 if (nQ1 == 2) nMesons++;
114 G4int nQ2 = sTrk2 + qTrk2;
115 if (nQ2 == 2) nMesons++;
116
117 // Cross-section (units to be checked!)
118 sigma = 40. * std::pow((2.0/3.0),nMesons) * (1. - 0.4 * sRatio1) * (1. - 0.4 * sRatio2) * millibarn;
119
120 return sigma;
121}
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
G4ParticleDefinition * GetDefinition() const
G4int GetQuarkContent(G4int flavor) const
G4int GetAntiQuarkContent(G4int flavor) const

Referenced by G4XAqmElastic::CrossSection().

◆ GetComponents()

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

Implements G4VCrossSectionSource.

Definition at line 51 of file G4XAqmTotal.hh.

51{ return 0; }

◆ IsValid()

G4bool G4XAqmTotal::IsValid ( G4double  e) const
virtual

Reimplemented from G4VCrossSectionSource.

Definition at line 132 of file G4XAqmTotal.cc.

133{
134 G4bool answer = InLimits(e,_lowLimit,_highLimit);
135
136 return answer;
137}
bool G4bool
Definition: G4Types.hh:67
G4bool InLimits(G4double e, G4double eLow, G4double eHigh) const

◆ Name()

G4String G4XAqmTotal::Name ( ) const
virtual

Implements G4VCrossSectionSource.

Definition at line 124 of file G4XAqmTotal.cc.

125{
126 G4String name("AqmTotalCrossSection");
127 return name;
128}

◆ operator!=()

G4bool G4XAqmTotal::operator!= ( const G4XAqmTotal right) const

Definition at line 74 of file G4XAqmTotal.cc.

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

◆ operator==()

G4bool G4XAqmTotal::operator== ( const G4XAqmTotal right) const

Definition at line 68 of file G4XAqmTotal.cc.

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

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