#include <G4VCollision.hh>
Inheritance diagram for G4VCollision:
Public Member Functions | |
G4VCollision () | |
virtual | ~G4VCollision () |
G4bool | operator== (const G4VCollision &right) const |
G4bool | operator!= (const G4VCollision &right) const |
virtual G4double | CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const |
virtual G4KineticTrackVector * | FinalState (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0 |
virtual G4bool | IsInCharge (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const =0 |
virtual G4String | GetName () const =0 |
virtual void | Print () const |
virtual void | Print (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const |
Protected Member Functions | |
G4int | GetNumberOfPartons (G4ParticleDefinition *aP) const |
virtual const G4CollisionVector * | GetComponents () const |
virtual const G4VCrossSectionSource * | GetCrossSectionSource () const =0 |
virtual const G4VAngularDistribution * | GetAngularDistribution () const =0 |
virtual const std::vector< G4String > & | GetListOfColliders (G4int whichOne) const =0 |
Definition at line 40 of file G4VCollision.hh.
G4VCollision::G4VCollision | ( | ) |
G4VCollision::~G4VCollision | ( | ) | [virtual] |
G4double G4VCollision::CrossSection | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [virtual] |
Reimplemented in G4CollisionComposite, and G4CollisionNN.
Definition at line 55 of file G4VCollision.cc.
References G4VCrossSectionSource::CrossSection(), and GetCrossSectionSource().
Referenced by G4Scatterer::GetCrossSection(), G4Scatterer::GetTimeToInteraction(), Print(), and G4Scatterer::Scatter().
00057 { 00058 G4double sigma = 0.; 00059 00060 const G4VCrossSectionSource* xSource = GetCrossSectionSource(); 00061 00062 if (xSource != 0) 00063 { 00064 // There is a cross section for this Collision 00065 sigma = xSource->CrossSection(aTrk1,aTrk2); 00066 } 00067 return sigma; 00068 }
virtual G4KineticTrackVector* G4VCollision::FinalState | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [pure virtual] |
Implemented in G4CollisionComposite, G4VAnnihilationCollision, G4VElasticCollision, and G4VScatteringCollision.
Referenced by G4Scatterer::Scatter().
virtual const G4VAngularDistribution* G4VCollision::GetAngularDistribution | ( | ) | const [protected, pure virtual] |
Implemented in G4CollisionComposite, G4CollisionMesonBaryonElastic, G4CollisionNN, G4CollisionNNElastic, G4CollisionnpElastic, G4CollisionPN, G4VAnnihilationCollision, and G4VScatteringCollision.
Referenced by G4VElasticCollision::FinalState().
virtual const G4CollisionVector* G4VCollision::GetComponents | ( | ) | const [inline, protected, virtual] |
Reimplemented in G4CollisionComposite, G4CollisionNN, G4CollisionNNToDeltaDelta1600, G4CollisionNNToDeltaDelta1620, G4CollisionNNToDeltaDelta1700, G4CollisionNNToDeltaDelta1900, G4CollisionNNToDeltaDelta1905, G4CollisionNNToDeltaDelta1910, G4CollisionNNToDeltaDelta1920, G4CollisionNNToDeltaDelta1930, G4CollisionNNToDeltaDelta1950, G4CollisionNNToNDelta, G4CollisionNNToNDelta1600, G4CollisionNNToNDelta1620, G4CollisionNNToNDelta1700, G4CollisionNNToNDelta1900, G4CollisionNNToNDelta1905, G4CollisionNNToNDelta1910, G4CollisionNNToNDelta1920, G4CollisionNNToNDelta1930, and G4CollisionNNToNDelta1950.
Definition at line 78 of file G4VCollision.hh.
Referenced by Print().
virtual const G4VCrossSectionSource* G4VCollision::GetCrossSectionSource | ( | ) | const [protected, pure virtual] |
Implemented in G4CollisionComposite, G4CollisionMesonBaryonElastic, G4CollisionNN, G4CollisionNNElastic, G4CollisionnpElastic, G4CollisionPN, G4ConcreteMesonBaryonToResonance, and G4ConcreteNNTwoBodyResonance.
Referenced by CrossSection(), and Print().
virtual const std::vector<G4String>& G4VCollision::GetListOfColliders | ( | G4int | whichOne | ) | const [protected, pure virtual] |
Implemented in G4CollisionMesonBaryon, G4CollisionMesonBaryonElastic, G4CollisionMesonBaryonToResonance, G4CollisionNN, G4CollisionNNElastic, G4CollisionNNToDeltaDelta, G4CollisionNNToDeltaDelta1600, G4CollisionNNToDeltaDelta1620, G4CollisionNNToDeltaDelta1700, G4CollisionNNToDeltaDelta1900, G4CollisionNNToDeltaDelta1905, G4CollisionNNToDeltaDelta1910, G4CollisionNNToDeltaDelta1920, G4CollisionNNToDeltaDelta1930, G4CollisionNNToDeltaDelta1950, G4CollisionNNToDeltaDeltastar, G4CollisionNNToDeltaNstar, G4CollisionNNToNDelta, G4CollisionNNToNDelta1600, G4CollisionNNToNDelta1620, G4CollisionNNToNDelta1700, G4CollisionNNToNDelta1900, G4CollisionNNToNDelta1905, G4CollisionNNToNDelta1910, G4CollisionNNToNDelta1920, G4CollisionNNToNDelta1930, G4CollisionNNToNDelta1950, G4CollisionNNToNDeltastar, G4CollisionNNToNNstar, G4CollisionnpElastic, G4CollisionNStarNToNN, G4CollisionPN, G4ConcreteMesonBaryonToResonance, and G4ConcreteNNTwoBodyResonance.
virtual G4String G4VCollision::GetName | ( | ) | const [pure virtual] |
Implemented in G4CollisionMesonBaryon, G4CollisionMesonBaryonElastic, G4CollisionNN, G4CollisionNNElastic, G4CollisionNNToDeltaDelta, G4CollisionNNToDeltaDelta1600, G4CollisionNNToDeltaDelta1620, G4CollisionNNToDeltaDelta1700, G4CollisionNNToDeltaDelta1900, G4CollisionNNToDeltaDelta1905, G4CollisionNNToDeltaDelta1910, G4CollisionNNToDeltaDelta1920, G4CollisionNNToDeltaDelta1930, G4CollisionNNToDeltaDelta1950, G4CollisionNNToDeltaDeltastar, G4CollisionNNToDeltaNstar, G4CollisionNNToNDelta, G4CollisionNNToNDelta1600, G4CollisionNNToNDelta1620, G4CollisionNNToNDelta1700, G4CollisionNNToNDelta1900, G4CollisionNNToNDelta1905, G4CollisionNNToNDelta1910, G4CollisionNNToNDelta1920, G4CollisionNNToNDelta1930, G4CollisionNNToNDelta1950, G4CollisionNNToNDeltastar, G4CollisionNNToNNstar, G4CollisionnpElastic, G4CollisionNStarNToNN, G4CollisionPN, G4ConcreteMesonBaryonToResonance, G4ConcreteNNToDeltaDelta, G4ConcreteNNToDeltaDeltastar, G4ConcreteNNToDeltaNstar, G4ConcreteNNToNDelta, G4ConcreteNNToNDeltaStar, G4ConcreteNNToNNStar, G4ConcreteNNTwoBodyResonance, and G4ConcreteNStarNToNN.
Referenced by Print().
G4int G4VCollision::GetNumberOfPartons | ( | G4ParticleDefinition * | aP | ) | const [inline, protected] |
Definition at line 67 of file G4VCollision.hh.
References G4ParticleDefinition::GetAntiQuarkContent(), and G4ParticleDefinition::GetQuarkContent().
Referenced by G4CollisionMesonBaryonElastic::IsInCharge().
00068 { 00069 G4int result = 0; 00070 for(G4int i=0; i<6; i++) 00071 { 00072 result += aP->GetQuarkContent(i+1); 00073 result += aP->GetAntiQuarkContent(i+1); 00074 } 00075 return result; 00076 }
virtual G4bool G4VCollision::IsInCharge | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [pure virtual] |
Implemented in G4CollisionComposite, G4CollisionMesonBaryonElastic, G4CollisionNNElastic, G4CollisionnpElastic, G4ConcreteMesonBaryonToResonance, G4ConcreteNNTwoBodyResonance, and G4GeneralNNCollision.
Referenced by Print().
G4bool G4VCollision::operator!= | ( | const G4VCollision & | right | ) | const |
Definition at line 49 of file G4VCollision.cc.
00050 { 00051 return (this != (G4VCollision *) &right); 00052 }
G4bool G4VCollision::operator== | ( | const G4VCollision & | right | ) | const |
Definition at line 43 of file G4VCollision.cc.
00044 { 00045 return (this == (G4VCollision *) &right); 00046 }
void G4VCollision::Print | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [virtual] |
Definition at line 102 of file G4VCollision.cc.
References CrossSection(), G4cout, G4endl, GetComponents(), GetCrossSectionSource(), GetName(), IsInCharge(), Print(), and G4VCrossSectionSource::Print().
00104 { 00105 G4String name = GetName(); 00106 00107 if (IsInCharge(trk1,trk2)) 00108 { 00109 G4cout << "---- " << name << "is in charge ---- " << G4endl; 00110 } 00111 else 00112 { 00113 G4cout << "---- " << name << "is not in charge ---- " << G4endl; 00114 } 00115 00116 G4cout << "---- " << name << "---- Cross section" << G4endl; 00117 00118 const G4VCrossSectionSource* xSource = GetCrossSectionSource(); 00119 if (xSource) xSource->Print(); 00120 G4cout << "Cross section = " << CrossSection(trk1,trk2) << G4endl; 00121 00122 G4int nComponents = 0; 00123 const G4CollisionVector* components = GetComponents(); 00124 if (components) 00125 { 00126 nComponents = components->size(); 00127 } 00128 G4cout << "---- " << name << "has " << nComponents << " components" <<G4endl; 00129 00130 G4int i = 0; 00131 G4CollisionVector::const_iterator iter; 00132 if (components) 00133 { 00134 for (iter = components->begin(); iter != components->end(); ++iter) 00135 { 00136 G4cout << "Component " << i << G4endl; 00137 ((*iter))->Print(); 00138 i++; 00139 } 00140 } 00141 }
void G4VCollision::Print | ( | ) | const [virtual] |
Definition at line 71 of file G4VCollision.cc.
References G4cout, G4endl, GetComponents(), GetCrossSectionSource(), GetName(), and G4VCrossSectionSource::Print().
Referenced by Print().
00072 { 00073 G4String name = GetName(); 00074 00075 G4cout << "---- " << name << "---- Cross section" << G4endl; 00076 00077 const G4VCrossSectionSource* xSource = GetCrossSectionSource(); 00078 if (xSource) xSource->Print(); 00079 00080 G4int nComponents = 0; 00081 const G4CollisionVector* components = GetComponents(); 00082 if (components) 00083 { 00084 nComponents = components->size(); 00085 } 00086 G4cout << "---- " << name << "---- has " << nComponents << " components" <<G4endl; 00087 G4int i = 0; 00088 G4CollisionVector::const_iterator iter; 00089 if (components) 00090 { 00091 for (iter = components->begin(); iter != components->end(); ++iter) 00092 { 00093 G4cout << "---- " << name << " ---- Component " << i << G4endl; 00094 ((*iter))->Print(); 00095 i++; 00096 } 00097 } 00098 00099 }