Geant4  10.03
G4QGSMSplitableHadron Class Reference

#include <G4QGSMSplitableHadron.hh>

+ Inheritance diagram for G4QGSMSplitableHadron:
+ Collaboration diagram for G4QGSMSplitableHadron:

Public Member Functions

 G4QGSMSplitableHadron ()
 
 G4QGSMSplitableHadron (const G4ReactionProduct &aPrimary)
 
 G4QGSMSplitableHadron (const G4ReactionProduct &aPrimary, G4bool Direction)
 
 G4QGSMSplitableHadron (const G4Nucleon &aNucleon)
 
 G4QGSMSplitableHadron (const G4Nucleon &aNucleon, G4bool Direction)
 
virtual ~G4QGSMSplitableHadron ()
 
virtual void SplitUp ()
 
virtual void SetFirstParton (G4int PDGcode)
 
virtual void SetSecondParton (G4int PDGcode)
 
virtual G4PartonGetNextParton ()
 
virtual G4PartonGetNextAntiParton ()
 
- Public Member Functions inherited from G4VSplitableHadron
 G4VSplitableHadron ()
 
 G4VSplitableHadron (const G4ReactionProduct &aPrimary)
 
 G4VSplitableHadron (const G4Nucleon &aNucleon)
 
 G4VSplitableHadron (const G4VKineticNucleon *aNucleon)
 
virtual ~G4VSplitableHadron ()
 
int operator== (const G4VSplitableHadron &right) const
 
int operator!= (const G4VSplitableHadron &right) const
 
void Set4Momentum (const G4LorentzVector &a4Momentum)
 
const G4LorentzVectorGet4Momentum () const
 
void SetDefinition (const G4ParticleDefinition *aDefinition)
 
const G4ParticleDefinitionGetDefinition () const
 
void IncrementCollisionCount (G4int aCount)
 
void SetCollisionCount (G4int aCount)
 
void SetTimeOfCreation (G4double aTime)
 
G4double GetTimeOfCreation ()
 
void SetPosition (const G4ThreeVector &aPosition)
 
const G4ThreeVectorGetPosition () const
 
void SetStatus (const G4int aStatus)
 
G4int GetStatus ()
 
G4bool IsSplit ()
 
G4int GetSoftCollisionCount ()
 

Private Member Functions

const G4QGSMSplitableHadronoperator= (const G4QGSMSplitableHadron &right)
 
void InitParameters ()
 
void DiffractiveSplitUp ()
 
void SoftSplitUp ()
 
G4ThreeVector GaussianPt (G4double widthSquare, G4double maxPtSquare)
 
void GetValenceQuarkFlavors (const G4ParticleDefinition *aPart, G4Parton *&Parton1, G4Parton *&Parton2)
 
G4PartonBuildSeaQuark (G4bool isAntiQuark, G4int aPDGCode, G4int nSeaPair)
 
G4double SampleX (G4double anXmin, G4int nSea, G4int theTotalSea, G4double aBeta)
 

Private Attributes

G4bool Direction
 
std::deque< G4Parton * > Color
 
std::deque< G4Parton * > AntiColor
 
G4MesonSplitter theMesonSplitter
 
G4BaryonSplitter theBaryonSplitter
 
G4double alpha
 
G4double beta
 
G4double theMinPz
 
G4double StrangeSuppress
 
G4double sigmaPt
 
G4double widthOfPtSquare
 
G4double minTransverseMass
 

Additional Inherited Members

- Protected Member Functions inherited from G4VSplitableHadron
void Splitting ()
 

Detailed Description

Definition at line 41 of file G4QGSMSplitableHadron.hh.

Constructor & Destructor Documentation

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( )

Definition at line 75 of file G4QGSMSplitableHadron.cc.

References InitParameters().

+ Here is the call graph for this function:

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4ReactionProduct aPrimary)

Definition at line 88 of file G4QGSMSplitableHadron.cc.

References InitParameters().

+ Here is the call graph for this function:

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4ReactionProduct aPrimary,
G4bool  Direction 
)

Definition at line 80 of file G4QGSMSplitableHadron.cc.

References Direction, and InitParameters().

+ Here is the call graph for this function:

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4Nucleon aNucleon)

Definition at line 94 of file G4QGSMSplitableHadron.cc.

References InitParameters().

+ Here is the call graph for this function:

G4QGSMSplitableHadron::G4QGSMSplitableHadron ( const G4Nucleon aNucleon,
G4bool  Direction 
)

Definition at line 100 of file G4QGSMSplitableHadron.cc.

References Direction, and InitParameters().

+ Here is the call graph for this function:

G4QGSMSplitableHadron::~G4QGSMSplitableHadron ( )
virtual

Definition at line 107 of file G4QGSMSplitableHadron.cc.

Member Function Documentation

G4Parton * G4QGSMSplitableHadron::BuildSeaQuark ( G4bool  isAntiQuark,
G4int  aPDGCode,
G4int  nSeaPair 
)
private

Definition at line 389 of file G4QGSMSplitableHadron.cc.

References DBL_MAX, GaussianPt(), G4VSplitableHadron::GetPosition(), G4Parton::Set4Momentum(), G4Parton::SetPosition(), and sigmaPt.

Referenced by SoftSplitUp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4QGSMSplitableHadron::DiffractiveSplitUp ( )
private

Definition at line 124 of file G4QGSMSplitableHadron.cc.

References AntiColor, Direction, GaussianPt(), G4VSplitableHadron::Get4Momentum(), G4VSplitableHadron::GetDefinition(), G4VSplitableHadron::GetPosition(), GetValenceQuarkFlavors(), G4INCL::Math::max(), minTransverseMass, G4Parton::Set4Momentum(), G4Parton::SetPosition(), sqr(), and widthOfPtSquare.

Referenced by SplitUp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4QGSMSplitableHadron::GaussianPt ( G4double  widthSquare,
G4double  maxPtSquare 
)
private

Definition at line 375 of file G4QGSMSplitableHadron.cc.

References G4Log(), G4UniformRand, and twopi.

Referenced by BuildSeaQuark(), and DiffractiveSplitUp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Parton * G4QGSMSplitableHadron::GetNextAntiParton ( )
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 102 of file G4QGSMSplitableHadron.hh.

References AntiColor.

G4Parton * G4QGSMSplitableHadron::GetNextParton ( )
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 94 of file G4QGSMSplitableHadron.hh.

void G4QGSMSplitableHadron::GetValenceQuarkFlavors ( const G4ParticleDefinition aPart,
G4Parton *&  Parton1,
G4Parton *&  Parton2 
)
private

Definition at line 315 of file G4QGSMSplitableHadron.cc.

References G4ParticleDefinition::GetBaryonNumber(), G4Parton::GetColour(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGSpin(), G4VSplitableHadron::GetPosition(), G4Parton::GetSpinZ(), G4Parton::SetColour(), G4Parton::SetPosition(), G4Parton::SetSpinZ(), G4BaryonSplitter::SplitBarion(), G4MesonSplitter::SplitMeson(), theBaryonSplitter, and theMesonSplitter.

Referenced by DiffractiveSplitUp(), and SoftSplitUp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4QGSMSplitableHadron::InitParameters ( )
private

Definition at line 55 of file G4QGSMSplitableHadron.cc.

References alpha, beta, Direction, FALSE, G4ParticleDefinition::GetPDGMass(), GeV, keV, minTransverseMass, G4PionMinus::PionMinus(), sigmaPt, StrangeSuppress, theMinPz, and widthOfPtSquare.

Referenced by G4QGSMSplitableHadron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4QGSMSplitableHadron& G4QGSMSplitableHadron::operator= ( const G4QGSMSplitableHadron right)
private
G4double G4QGSMSplitableHadron::SampleX ( G4double  anXmin,
G4int  nSea,
G4int  theTotalSea,
G4double  aBeta 
)
private

Definition at line 401 of file G4QGSMSplitableHadron.cc.

References alpha, G4cout, G4endl, G4Exception(), G4UniformRand, G4Pow::GetInstance(), JustWarning, G4Pow::powA(), G4Pow::powN(), and G4INCL::DeJongSpin::shoot().

Referenced by SoftSplitUp().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4QGSMSplitableHadron::SetFirstParton ( G4int  PDGcode)
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 110 of file G4QGSMSplitableHadron.hh.

void G4QGSMSplitableHadron::SetSecondParton ( G4int  PDGcode)
inlinevirtual

Implements G4VSplitableHadron.

Definition at line 112 of file G4QGSMSplitableHadron.hh.

void G4QGSMSplitableHadron::SplitUp ( )
virtual

Implements G4VSplitableHadron.

Definition at line 111 of file G4QGSMSplitableHadron.cc.

References DiffractiveSplitUp(), G4VSplitableHadron::GetSoftCollisionCount(), G4VSplitableHadron::IsSplit(), SoftSplitUp(), and G4VSplitableHadron::Splitting().

+ Here is the call graph for this function:

Member Data Documentation

G4double G4QGSMSplitableHadron::alpha
private

Definition at line 85 of file G4QGSMSplitableHadron.hh.

Referenced by InitParameters(), and SampleX().

std::deque<G4Parton *> G4QGSMSplitableHadron::AntiColor
private

Definition at line 77 of file G4QGSMSplitableHadron.hh.

Referenced by DiffractiveSplitUp(), GetNextAntiParton(), and SoftSplitUp().

G4double G4QGSMSplitableHadron::beta
private

Definition at line 86 of file G4QGSMSplitableHadron.hh.

Referenced by InitParameters(), and SoftSplitUp().

std::deque<G4Parton *> G4QGSMSplitableHadron::Color
private

Definition at line 76 of file G4QGSMSplitableHadron.hh.

G4bool G4QGSMSplitableHadron::Direction
private
G4double G4QGSMSplitableHadron::minTransverseMass
private

Definition at line 91 of file G4QGSMSplitableHadron.hh.

Referenced by DiffractiveSplitUp(), and InitParameters().

G4double G4QGSMSplitableHadron::sigmaPt
private

Definition at line 89 of file G4QGSMSplitableHadron.hh.

Referenced by BuildSeaQuark(), InitParameters(), and SoftSplitUp().

G4double G4QGSMSplitableHadron::StrangeSuppress
private

Definition at line 88 of file G4QGSMSplitableHadron.hh.

Referenced by InitParameters(), and SoftSplitUp().

G4BaryonSplitter G4QGSMSplitableHadron::theBaryonSplitter
private

Definition at line 81 of file G4QGSMSplitableHadron.hh.

Referenced by GetValenceQuarkFlavors().

G4MesonSplitter G4QGSMSplitableHadron::theMesonSplitter
private

Definition at line 80 of file G4QGSMSplitableHadron.hh.

Referenced by GetValenceQuarkFlavors().

G4double G4QGSMSplitableHadron::theMinPz
private

Definition at line 87 of file G4QGSMSplitableHadron.hh.

Referenced by InitParameters(), and SoftSplitUp().

G4double G4QGSMSplitableHadron::widthOfPtSquare
private

Definition at line 90 of file G4QGSMSplitableHadron.hh.

Referenced by DiffractiveSplitUp(), and InitParameters().


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