Geant4  10.02.p03
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 G4CrossSectionVectorGetComponents () 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
 

Private Member Functions

 G4XResonance (const G4XResonance &right)
 
G4XResonanceoperator= (const G4XResonance &right)
 

Private Attributes

G4int isoOut1
 
G4double iSpinOut1
 
G4double mOut1
 
G4int isoOut2
 
G4double iSpinOut2
 
G4double mOut2
 
G4PhysicsVectortable
 
G4String name
 

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() [1/2]

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 }
G4double mOut2
Definition: G4XResonance.hh:78
G4double mOut1
Definition: G4XResonance.hh:74
G4double iSpinOut1
Definition: G4XResonance.hh:73
G4String name
Definition: G4XResonance.hh:83
const G4String & GetParticleName() const
G4double iSpinOut2
Definition: G4XResonance.hh:77
G4PhysicsVector * table
Definition: G4XResonance.hh:81
virtual G4PhysicsVector * CrossSectionTable() const =0
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~G4XResonance()

G4XResonance::~G4XResonance ( )
virtual

Definition at line 54 of file G4XResonance.cc.

55 {
56  delete table;
57  table = 0;
58 }
G4PhysicsVector * table
Definition: G4XResonance.hh:81

◆ G4XResonance() [2/2]

G4XResonance::G4XResonance ( const G4XResonance right)
private

Member Function Documentation

◆ CrossSection()

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  {
96  }
97 
98  return sigma;
99 
100 }
const G4ParticleDefinition * GetDefinition() const
G4double mOut2
Definition: G4XResonance.hh:78
G4double mOut1
Definition: G4XResonance.hh:74
G4double iSpinOut1
Definition: G4XResonance.hh:73
G4double IsospinCorrection(const G4KineticTrack &trk1, const G4KineticTrack &trk2, G4int isoOut1, G4int isoOut2, 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
bool G4bool
Definition: G4Types.hh:79
G4double iSpinOut2
Definition: G4XResonance.hh:77
G4double GetValue(G4double theEnergy, G4bool &isOutRange) const
G4PhysicsVector * table
Definition: G4XResonance.hh:81
double G4double
Definition: G4Types.hh:76
const G4LorentzVector & Get4Momentum() const
Here is the call graph for this function:

◆ GetComponents()

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

Implements G4VCrossSectionSource.

Definition at line 59 of file G4XResonance.hh.

59 { return 0; }
Here is the call graph for this function:

◆ Name()

G4String G4XResonance::Name ( ) const
virtual

Implements G4VCrossSectionSource.

Definition at line 73 of file G4XResonance.cc.

74 {
75  return name;
76 }
G4String name
Definition: G4XResonance.hh:83
Here is the caller graph for this function:

◆ operator!=()

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

Definition at line 67 of file G4XResonance.cc.

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

◆ operator=()

G4XResonance& G4XResonance::operator= ( const G4XResonance right)
private
Here is the caller graph for this function:

◆ operator==()

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

Definition at line 61 of file G4XResonance.cc.

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

Member Data Documentation

◆ isoOut1

G4int G4XResonance::isoOut1
private

Definition at line 72 of file G4XResonance.hh.

◆ isoOut2

G4int G4XResonance::isoOut2
private

Definition at line 76 of file G4XResonance.hh.

◆ iSpinOut1

G4double G4XResonance::iSpinOut1
private

Definition at line 73 of file G4XResonance.hh.

◆ iSpinOut2

G4double G4XResonance::iSpinOut2
private

Definition at line 77 of file G4XResonance.hh.

◆ mOut1

G4double G4XResonance::mOut1
private

Definition at line 74 of file G4XResonance.hh.

◆ mOut2

G4double G4XResonance::mOut2
private

Definition at line 78 of file G4XResonance.hh.

◆ name

G4String G4XResonance::name
private

Definition at line 83 of file G4XResonance.hh.

◆ table

G4PhysicsVector* G4XResonance::table
private

Definition at line 81 of file G4XResonance.hh.


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