Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4XResonance Class Reference

#include <G4XResonance.hh>

Inheritance diagram for G4XResonance:
Collaboration diagram for G4XResonance:

Public Member Functions

 G4XResonance (const G4ParticleDefinition *in1, const G4ParticleDefinition *in2, G4int iIsospinOut1, G4double iSpinOut1, G4double massOut1, G4int iIsospinOut2, G4double iSpinOut2, G4double massOut2, G4String subType1, G4String subType2, const G4VXResonanceTable &sigmaTable)
 
virtual ~G4XResonance ()
 
G4bool operator== (const G4XResonance &right) const
 
G4bool operator!= (const G4XResonance &right) const
 
virtual G4double CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual const
G4CrossSectionVector
GetComponents () const
 
virtual G4String Name () const
 
- Public Member Functions inherited from G4VXResonance
 G4VXResonance ()
 
virtual ~G4VXResonance ()
 
G4bool operator== (const G4VXResonance &right) const
 
G4bool operator!= (const G4VXResonance &right) 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 G4bool IsValid (G4double e) const
 
virtual G4double HighLimit () const
 
virtual G4double LowLimit () const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VXResonance
 G4VXResonance (const G4VXResonance &right)
 
G4VXResonanceoperator= (const G4VXResonance &right)
 
G4double DegeneracyFactor (const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4double iSpinOut1, G4double iSpinOut2) const
 
G4double DetailedBalance (const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2, G4double mOut1, G4double mOut2) const
 
G4double IsospinCorrection (const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2) const
 
- 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 39 of file G4XResonance.hh.

Constructor & Destructor Documentation

G4XResonance::G4XResonance ( const G4ParticleDefinition in1,
const G4ParticleDefinition in2,
G4int  iIsospinOut1,
G4double  iSpinOut1,
G4double  massOut1,
G4int  iIsospinOut2,
G4double  iSpinOut2,
G4double  massOut2,
G4String  subType1,
G4String  subType2,
const G4VXResonanceTable sigmaTable 
)

Definition at line 35 of file G4XResonance.cc.

40  :
41  isoOut1(iIsospinOut1), iSpinOut1(spinOut1), mOut1(massOut1),
42  isoOut2(iIsospinOut2), iSpinOut2(spinOut2), mOut2(massOut2)
43 
44 {
45  table = sigmaTable.CrossSectionTable();
46  // Check if there is a valid cross section table for this channel
47  if (table == 0)
48  throw G4HadronicException(__FILE__, __LINE__, "G4XResonance::G4XResonance - no cross section table available");
49 
50  name = in1->GetParticleName() + in2->GetParticleName() + " -> " + subType1 + subType2;
51 }
const XML_Char * name
Definition: expat.h:151
const G4String & GetParticleName() const
virtual G4PhysicsVector * CrossSectionTable() const =0

Here is the call graph for this function:

G4XResonance::~G4XResonance ( )
virtual

Definition at line 54 of file G4XResonance.cc.

55 {
56  delete table;
57  table = 0;
58 }

Member Function Documentation

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

Implements G4VCrossSectionSource.

Definition at line 78 of file G4XResonance.cc.

79 {
80  G4bool dummy = false;
81  G4double sqrtS = (trk1.Get4Momentum() + trk2.Get4Momentum()).mag();
82 
83  // pp -> trk1 + trk2 cross section
84  G4double sigma = table->GetValue(sqrtS,dummy);
85 
86  // Isospin correction
87  // from G4VXResonance;
88 // G4cout << "SigmaCheck "<<sigma;
89  sigma *= IsospinCorrection(trk1,trk2,isoOut1,isoOut2,iSpinOut1,iSpinOut2); // from G4VXResonance
90 // G4cout << " "<<sigma<<G4endl;
91 
92  // Detailed balance
93  if (trk1.GetDefinition()->IsShortLived() || trk2.GetDefinition()->IsShortLived())
94  {
95  sigma *= DetailedBalance(trk1,trk2, isoOut1,isoOut2, iSpinOut1,iSpinOut2, mOut1,mOut2);
96  }
97 
98  return sigma;
99 
100 }
G4double GetValue(G4double theEnergy, G4bool &isOutRange) const
G4double DetailedBalance(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2, G4double mOut1, G4double mOut2) const
G4double IsospinCorrection(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, G4double iSpinOut1, G4double iSpinOut2) const
bool G4bool
Definition: G4Types.hh:79
double G4double
Definition: G4Types.hh:76
const G4LorentzVector & Get4Momentum() const
const G4ParticleDefinition * GetDefinition() const

Here is the call graph for this function:

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

Implements G4VCrossSectionSource.

Definition at line 59 of file G4XResonance.hh.

59 { return 0; }
G4String G4XResonance::Name ( ) const
virtual

Implements G4VCrossSectionSource.

Definition at line 73 of file G4XResonance.cc.

74 {
75  return name;
76 }
const XML_Char * name
Definition: expat.h:151
G4bool G4XResonance::operator!= ( const G4XResonance right) const

Definition at line 67 of file G4XResonance.cc.

68 {
69  return (this != (G4XResonance *) &right);
70 }
G4bool G4XResonance::operator== ( const G4XResonance right) const

Definition at line 61 of file G4XResonance.cc.

62 {
63  return (this == (G4XResonance *) &right);
64 }

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