G4XAqmElastic Class Reference

#include <G4XAqmElastic.hh>

Inheritance diagram for G4XAqmElastic:

G4VCrossSectionSource

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

Detailed Description

Definition at line 50 of file G4XAqmElastic.hh.


Constructor & Destructor Documentation

G4XAqmElastic::G4XAqmElastic (  ) 

Definition at line 57 of file G4XAqmElastic.cc.

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

G4XAqmElastic::~G4XAqmElastic (  )  [virtual]

Definition at line 64 of file G4XAqmElastic.cc.

00065 { }


Member Function Documentation

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

Implements G4VCrossSectionSource.

Definition at line 80 of file G4XAqmElastic.cc.

References G4XAqmTotal::CrossSection().

Referenced by G4XMesonBaryonElastic::CrossSection().

00081 {
00082   G4double sigma = 0.;
00083 
00084   // Reference to be checked!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00085   const G4double coeff = 0.39;
00086   const G4double param = 1.5;
00087 
00088   G4XAqmTotal aqmTotal;
00089 
00090   G4double sigmaTot = aqmTotal.CrossSection(trk1,trk2);
00091   sigma = coeff * std::pow(sigmaTot,param);  
00092 
00093   // Verify that elastic cross section < total cross section
00094 
00095   if (sigma > sigmaTot) 
00096     throw G4HadronicException(__FILE__, __LINE__, "G4XAqmElastic::CrossSection - elastic cross section greater than total");
00097 
00098   return sigma;
00099 }

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

Implements G4VCrossSectionSource.

Definition at line 64 of file G4XAqmElastic.hh.

00064 { return 0; }

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

Reimplemented from G4VCrossSectionSource.

Definition at line 109 of file G4XAqmElastic.cc.

References G4VCrossSectionSource::InLimits().

00110 {
00111   G4bool answer = InLimits(e,_lowLimit,_highLimit);
00112 
00113   return answer;
00114 }

G4String G4XAqmElastic::Name (  )  const [virtual]

Implements G4VCrossSectionSource.

Definition at line 102 of file G4XAqmElastic.cc.

00103 {
00104   G4String name("AqmElasticCrossSection");
00105   return name;
00106 }

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

Definition at line 74 of file G4XAqmElastic.cc.

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

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

Definition at line 68 of file G4XAqmElastic.cc.

00069 {
00070   return (this == (G4XAqmElastic *) &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