G4XAqmTotal Class Reference

#include <G4XAqmTotal.hh>

Inheritance diagram for G4XAqmTotal:

G4VCrossSectionSource

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

Detailed Description

Definition at line 37 of file G4XAqmTotal.hh.


Constructor & Destructor Documentation

G4XAqmTotal::G4XAqmTotal (  ) 

Definition at line 57 of file G4XAqmTotal.cc.

00058 { 
00059   // As a first approximation the model is assumed to be valid over 
00060   // the entire energy range
00061 }

G4XAqmTotal::~G4XAqmTotal (  )  [virtual]

Definition at line 64 of file G4XAqmTotal.cc.

00065 { }


Member Function Documentation

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

Implements G4VCrossSectionSource.

Definition at line 80 of file G4XAqmTotal.cc.

References G4ParticleDefinition::GetAntiQuarkContent(), G4KineticTrack::GetDefinition(), and G4ParticleDefinition::GetQuarkContent().

Referenced by G4XAqmElastic::CrossSection().

00081 {
00082   G4double sigma = 0.;
00083 
00084   // Get strangeness content
00085   G4ParticleDefinition* def1 = trk1.GetDefinition();
00086   G4int sTrk1 = def1->GetQuarkContent(3) + def1->GetAntiQuarkContent(3);
00087   G4ParticleDefinition* def2 = trk2.GetDefinition();
00088   G4int sTrk2 = def2->GetQuarkContent(3) + def2->GetAntiQuarkContent(3);
00089   
00090   // Get non-strange quark content
00091   G4int qTrk1 = def1->GetQuarkContent(1) + def1->GetAntiQuarkContent(1) +
00092                 def1->GetQuarkContent(2) + def1->GetAntiQuarkContent(2) +
00093                 def1->GetQuarkContent(4) + def1->GetAntiQuarkContent(4) +
00094                 def1->GetQuarkContent(5) + def1->GetAntiQuarkContent(5) +
00095                 def1->GetQuarkContent(6) + def1->GetAntiQuarkContent(6);
00096 
00097   G4int qTrk2 = def2->GetQuarkContent(1) + def2->GetAntiQuarkContent(1) +
00098                 def2->GetQuarkContent(2) + def2->GetAntiQuarkContent(2) +
00099                 def2->GetQuarkContent(4) + def2->GetAntiQuarkContent(4) +
00100                 def2->GetQuarkContent(5) + def2->GetAntiQuarkContent(5) +
00101                 def2->GetQuarkContent(6) + def2->GetAntiQuarkContent(6);
00102 
00103   G4double sRatio1 = 0.;
00104   if (qTrk1 != 0) sRatio1 = sTrk1 / qTrk1;
00105   
00106   G4double sRatio2 = 0.;
00107   if (qTrk2 != 0) sRatio2 = sTrk2 / qTrk2;
00108   
00109   // Calculate the number of colliding mesons
00110   G4int nMesons = 0;
00111   G4int nQ1 = sTrk1 + qTrk1;
00112 
00113   if (nQ1 == 2) nMesons++;
00114   G4int nQ2 = sTrk2 + qTrk2;
00115   if (nQ2 == 2) nMesons++;
00116 
00117   // Cross-section (units to be checked!)
00118   sigma = 40. * std::pow((2.0/3.0),nMesons) * (1. - 0.4 * sRatio1) * (1. - 0.4 * sRatio2) * millibarn;
00119 
00120   return sigma;
00121 }

virtual const G4CrossSectionVector* G4XAqmTotal::GetComponents (  )  const [inline, virtual]

Implements G4VCrossSectionSource.

Definition at line 51 of file G4XAqmTotal.hh.

00051 { return 0; }

G4bool G4XAqmTotal::IsValid ( G4double  e  )  const [virtual]

Reimplemented from G4VCrossSectionSource.

Definition at line 132 of file G4XAqmTotal.cc.

References G4VCrossSectionSource::InLimits().

00133 {
00134   G4bool answer = InLimits(e,_lowLimit,_highLimit);
00135 
00136   return answer;
00137 }

G4String G4XAqmTotal::Name (  )  const [virtual]

Implements G4VCrossSectionSource.

Definition at line 124 of file G4XAqmTotal.cc.

00125 {
00126   G4String name("AqmTotalCrossSection");
00127   return name;
00128 }

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

Definition at line 74 of file G4XAqmTotal.cc.

00075 {
00076   return (this != (G4XAqmTotal *) &right);
00077 }

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

Definition at line 68 of file G4XAqmTotal.cc.

00069 {
00070   return (this == (G4XAqmTotal *) &right);
00071 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:59 2013 for Geant4 by  doxygen 1.4.7