Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4XAqmElastic Class Reference

#include <G4XAqmElastic.hh>

Inheritance diagram for G4XAqmElastic:
Collaboration 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
G4CrossSectionVector
GetComponents () 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 ( )

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 ( )
virtual

Definition at line 64 of file G4XAqmElastic.cc.

65 { }

Member Function Documentation

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 }
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
G4double powA(G4double A, G4double y) const
Definition: G4Pow.hh:259
virtual G4double CrossSection(const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
Definition: G4XAqmTotal.cc:81
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements G4VCrossSectionSource.

Definition at line 64 of file G4XAqmElastic.hh.

64 { return 0; }
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:79
G4bool InLimits(G4double e, G4double eLow, G4double eHigh) const

Here is the call graph for this function:

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 XML_Char * name
Definition: expat.h:151
G4bool G4XAqmElastic::operator!= ( const G4XAqmElastic right) const

Definition at line 74 of file G4XAqmElastic.cc.

75 {
76  return (this != (G4XAqmElastic *) &right);
77 }
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: