G4VCollision Class Reference

#include <G4VCollision.hh>

Inheritance diagram for G4VCollision:

G4CollisionComposite G4VAnnihilationCollision G4VElasticCollision G4VScatteringCollision G4CollisionMesonBaryon G4CollisionMesonBaryonToResonance G4CollisionPN G4GeneralNNCollision G4ConcreteMesonBaryonToResonance G4CollisionMesonBaryonElastic G4CollisionNNElastic G4CollisionnpElastic G4ConcreteNNTwoBodyResonance

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 G4KineticTrackVectorFinalState (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 G4CollisionVectorGetComponents () const
virtual const G4VCrossSectionSourceGetCrossSectionSource () const =0
virtual const G4VAngularDistributionGetAngularDistribution () const =0
virtual const std::vector<
G4String > & 
GetListOfColliders (G4int whichOne) const =0

Detailed Description

Definition at line 40 of file G4VCollision.hh.


Constructor & Destructor Documentation

G4VCollision::G4VCollision (  ) 

Definition at line 35 of file G4VCollision.cc.

00036 { }

G4VCollision::~G4VCollision (  )  [virtual]

Definition at line 38 of file G4VCollision.cc.

00039 {
00040 }


Member Function Documentation

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

00078 { return 0;}

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:39 2013 for Geant4 by  doxygen 1.4.7