ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ElementaryParticleCollider Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/cascade/cascade/include/G4ElementaryParticleCollider.hh>

+ Inheritance diagram for G4ElementaryParticleCollider:
+ Collaboration diagram for G4ElementaryParticleCollider:

Public Member Functions

 G4ElementaryParticleCollider ()
 
virtual ~G4ElementaryParticleCollider ()
 
void collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
 
void setNucleusState (G4int a, G4int z)
 
- Public Member Functions inherited from G4CascadeColliderBase
 G4CascadeColliderBase (const G4String &name, G4int verbose=0)
 
virtual ~G4CascadeColliderBase ()
 
virtual void rescatter (G4InuclParticle *, G4KineticTrackVector *, G4V3DNucleus *, G4CollisionOutput &)
 
virtual void setVerboseLevel (G4int verbose=0)
 
- Public Member Functions inherited from G4VCascadeCollider
 G4VCascadeCollider (const G4String &name, G4int verbose=0)
 
virtual ~G4VCascadeCollider ()
 

Private Member Functions

G4int generateMultiplicity (G4int is, G4double ekin) const
 
void generateOutgoingPartTypes (G4int is, G4int mult, G4double ekin)
 
void generateSCMfinalState (G4double ekin, G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2)
 
void generateSCMpionAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2)
 
void generateSCMmuonAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2)
 
void generateSCMpionNAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2)
 
G4bool pionNucleonAbsorption (G4double ekin) const
 
void fillOutgoingMasses ()
 
 G4ElementaryParticleCollider (const G4ElementaryParticleCollider &)
 
G4ElementaryParticleCollideroperator= (const G4ElementaryParticleCollider &)
 

Private Attributes

G4CascadeFinalStateGenerator fsGenerator
 
std::vector
< G4InuclElementaryParticle
particles
 
std::vector< G4LorentzVectorscm_momentums
 
std::vector< G4doublemodules
 
std::vector< G4doublemasses
 
std::vector< G4doublemasses2
 
std::vector< G4intparticle_kinds
 
G4int nucleusA
 
G4int nucleusZ
 

Additional Inherited Members

- Protected Member Functions inherited from G4CascadeColliderBase
virtual G4bool useEPCollider (G4InuclParticle *bullet, G4InuclParticle *target) const
 
virtual G4bool inelasticInteractionPossible (G4InuclParticle *bullet, G4InuclParticle *target, G4double ekin) const
 
virtual G4bool validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
 
virtual G4bool validateOutput (const G4Fragment &fragment, G4CollisionOutput &output)
 
virtual G4bool validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, const std::vector< G4InuclElementaryParticle > &particles)
 
- Protected Attributes inherited from G4CascadeColliderBase
G4InteractionCase interCase
 
G4CascadeCheckBalancebalance
 

Detailed Description

Definition at line 73 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 73 of file G4ElementaryParticleCollider.hh

Constructor & Destructor Documentation

G4ElementaryParticleCollider::G4ElementaryParticleCollider ( )

Definition at line 137 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 137 of file G4ElementaryParticleCollider.cc

virtual G4ElementaryParticleCollider::~G4ElementaryParticleCollider ( )
inlinevirtual

Definition at line 76 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 76 of file G4ElementaryParticleCollider.hh

G4ElementaryParticleCollider::G4ElementaryParticleCollider ( const G4ElementaryParticleCollider )
private

Member Function Documentation

void G4ElementaryParticleCollider::collide ( G4InuclParticle bullet,
G4InuclParticle target,
G4CollisionOutput output 
)
virtual

Implements G4VCascadeCollider.

Definition at line 143 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 143 of file G4ElementaryParticleCollider.cc

References G4CollisionOutput::addOutgoingParticles(), G4LorentzConvertor::backToTheLab(), G4cerr, G4cout, G4endl, generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), generateSCMpionNAbsorption(), G4ParticleDefinition::GetAntiQuarkContent(), G4ParticleDefinition::GetBaryonNumber(), G4InuclParticle::getCharge(), G4InuclParticle::getDefinition(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4InuclParticle::getMomModule(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetQuarkContent(), G4CascadeChannelTables::GetTable(), G4LorentzConvertor::getTotalSCMEnergy(), G4InteractionCase::hadrons(), G4CascadeColliderBase::interCase, ipart, G4InuclElementaryParticle::isMuon(), G4InuclElementaryParticle::isNeutrino(), mom, G4InuclElementaryParticle::nucleon(), particles, pionNucleonAbsorption(), G4CascadeChannelTables::Print(), G4InuclElementaryParticle::quasi_deutron(), G4InteractionCase::set(), G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), G4LorentzConvertor::setVerbose(), G4LorentzConvertor::toTheCenterOfMass(), G4InuclElementaryParticle::type(), G4CascadeColliderBase::useEPCollider(), G4NucleiModel::useQuasiDeuteron(), G4CascadeColliderBase::validateOutput(), and G4VCascadeCollider::verboseLevel.

Referenced by G4LightTargetCollider::collide(), G4InuclCollider::collide(), and G4NucleiModel::generateParticleFate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::fillOutgoingMasses ( )
private

Definition at line 425 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 425 of file G4ElementaryParticleCollider.cc

References G4InuclElementaryParticle::getParticleMass(), masses, masses2, and particle_kinds.

Referenced by generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4ElementaryParticleCollider::generateMultiplicity ( G4int  is,
G4double  ekin 
) const
private

Definition at line 310 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 310 of file G4ElementaryParticleCollider.cc

References G4cerr, G4cout, G4endl, G4CascadeChannel::getMultiplicity(), G4CascadeChannelTables::GetTable(), and G4VCascadeCollider::verboseLevel.

Referenced by generateSCMfinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::generateOutgoingPartTypes ( G4int  is,
G4int  mult,
G4double  ekin 
)
private

Definition at line 333 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 333 of file G4ElementaryParticleCollider.cc

References G4cerr, G4endl, G4CascadeChannel::getOutgoingParticleTypes(), G4CascadeChannelTables::GetTable(), and particle_kinds.

Referenced by generateSCMfinalState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::generateSCMfinalState ( G4double  ekin,
G4double  etot_scm,
G4InuclElementaryParticle particle1,
G4InuclElementaryParticle particle2 
)
private

Definition at line 352 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 352 of file G4ElementaryParticleCollider.cc

References G4CascadeFinalStateGenerator::Configure(), G4InuclParticle::EPCollider, fillOutgoingMasses(), fsGenerator, G4cout, G4endl, G4INCL::PhaseSpaceGenerator::generate(), G4HadDecayGenerator::Generate(), generateMultiplicity(), generateOutgoingPartTypes(), masses, particle_kinds, particles, scm_momentums, G4HadDecayGenerator::SetVerboseLevel(), G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.

Referenced by collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::generateSCMmuonAbsorption ( G4double  etot_scm,
G4InuclElementaryParticle particle1,
G4InuclElementaryParticle particle2 
)
private

Definition at line 499 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 499 of file G4ElementaryParticleCollider.cc

References G4InuclParticleNames::diproton, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), G4GDecay3::GetThreeBodyMomenta(), masses, G4InuclParticleNames::mnu, G4InuclParticleNames::mum, G4InuclParticleNames::neu, particle_kinds, particles, G4InuclParticleNames::pro, scm_momentums, G4InuclElementaryParticle::type(), G4InuclParticleNames::unboundPN, and G4VCascadeCollider::verboseLevel.

Referenced by collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::generateSCMpionAbsorption ( G4double  etot_scm,
G4InuclElementaryParticle particle1,
G4InuclElementaryParticle particle2 
)
private

Definition at line 442 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 442 of file G4ElementaryParticleCollider.cc

References a, G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclParticleNames::gam, G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), masses, masses2, G4InuclParticleNames::neu, particle_kinds, particles, G4InuclParticleNames::pi0, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pro, CLHEP::HepLorentzVector::setVectM(), G4InuclElementaryParticle::type(), G4InuclParticleNames::unboundPN, CLHEP::HepLorentzVector::vect(), and G4VCascadeCollider::verboseLevel.

Referenced by collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::generateSCMpionNAbsorption ( G4double  etot_scm,
G4InuclElementaryParticle particle1,
G4InuclElementaryParticle particle2 
)
private
G4ElementaryParticleCollider& G4ElementaryParticleCollider::operator= ( const G4ElementaryParticleCollider )
private
G4bool G4ElementaryParticleCollider::pionNucleonAbsorption ( G4double  ekin) const
private

Definition at line 626 of file G4ElementaryParticleCollider.cc.

View newest version in sPHENIX GitHub at line 626 of file G4ElementaryParticleCollider.cc

References G4cout, G4endl, G4UniformRand, G4InteractionCase::hadrons(), G4CascadeColliderBase::interCase, G4InuclParticleNames::neu, G4InuclParticleNames::pim, G4CascadeParameters::piNAbsorption(), G4InuclParticleNames::pip, G4InuclParticleNames::pro, and G4VCascadeCollider::verboseLevel.

Referenced by collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElementaryParticleCollider::setNucleusState ( G4int  a,
G4int  z 
)
inline

Definition at line 81 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 81 of file G4ElementaryParticleCollider.hh

References a, nucleusA, nucleusZ, and z.

Referenced by G4NucleiModel::generateParticleFate().

+ Here is the caller graph for this function:

Member Data Documentation

G4CascadeFinalStateGenerator G4ElementaryParticleCollider::fsGenerator
private

Definition at line 114 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 114 of file G4ElementaryParticleCollider.hh

Referenced by generateSCMfinalState().

std::vector<G4double> G4ElementaryParticleCollider::masses
private
std::vector<G4double> G4ElementaryParticleCollider::masses2
private

Definition at line 121 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 121 of file G4ElementaryParticleCollider.hh

Referenced by fillOutgoingMasses(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().

std::vector<G4double> G4ElementaryParticleCollider::modules
private

Definition at line 119 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 119 of file G4ElementaryParticleCollider.hh

G4int G4ElementaryParticleCollider::nucleusA
private

Definition at line 125 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 125 of file G4ElementaryParticleCollider.hh

Referenced by generateSCMpionNAbsorption(), and setNucleusState().

G4int G4ElementaryParticleCollider::nucleusZ
private

Definition at line 125 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 125 of file G4ElementaryParticleCollider.hh

Referenced by generateSCMpionNAbsorption(), and setNucleusState().

std::vector<G4int> G4ElementaryParticleCollider::particle_kinds
private
std::vector<G4InuclElementaryParticle> G4ElementaryParticleCollider::particles
private
std::vector<G4LorentzVector> G4ElementaryParticleCollider::scm_momentums
private

Definition at line 118 of file G4ElementaryParticleCollider.hh.

View newest version in sPHENIX GitHub at line 118 of file G4ElementaryParticleCollider.hh

Referenced by generateSCMfinalState(), and generateSCMmuonAbsorption().


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