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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4decayer/G4Pythia6Decayer.hh>

+ Inheritance diagram for G4Pythia6Decayer:
+ Collaboration diagram for G4Pythia6Decayer:

Public Member Functions

 G4Pythia6Decayer ()
 
virtual ~G4Pythia6Decayer ()
 
virtual G4DecayProducts * ImportDecayProducts (const G4Track &track)
 
void ForceDecayType (EDecayType decayType)
 
void SetVerboseLevel (G4int verboseLevel)
 

Private Member Functions

 G4Pythia6Decayer (const G4Pythia6Decayer &right)
 Not implemented.
 
G4Pythia6Decayeroperator= (const G4Pythia6Decayer &right)
 Not implemented.
 
G4ParticleDefinition * GetParticleDefinition (const Pythia6Particle *p, G4bool warn=true) const
 
G4DynamicParticle * CreateDynamicParticle (const Pythia6Particle *p) const
 
G4ThreeVector GetParticlePosition (const Pythia6Particle *particle) const
 
G4ThreeVector GetParticleMomentum (const Pythia6Particle *particle) const
 
G4int CountProducts (G4int channel, G4int particle)
 
void ForceParticleDecay (G4int particle, G4int product, G4int mult)
 
void ForceParticleDecay (G4int particle, G4int *products, G4int *mult, G4int npart)
 
void ForceHadronicD ()
 
void ForceOmega ()
 
void ForceDecay (EDecayType decayType)
 
void Decay (G4int pdg, const CLHEP::HepLorentzVector &p)
 
G4int ImportParticles (ParticleVector *particles)
 

Private Attributes

G4Pythia6DecayerMessenger fMessenger
 command messenger
 
G4int fVerboseLevel
 verbose level
 
EDecayType fDecayType
 selected decay type
 
ParticleVectorfDecayProductsArray
 array of decay products
 

Static Private Attributes

static const EDecayType fgkDefaultDecayType = kAll
 default decay type
 

Detailed Description

Pythia6 decayer

Implements the G4VExtDecayer abstract class using the Pythia6 interface. According to TPythia6Decayer class in Root: http://root.cern.ch/ see http://root.cern.ch/root/License.html

Definition at line 57 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 57 of file G4Pythia6Decayer.hh

Constructor & Destructor Documentation

G4Pythia6Decayer::G4Pythia6Decayer ( )

Standard constructor

Definition at line 59 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 59 of file G4Pythia6Decayer.cc

References fDecayProductsArray, fDecayType, and ForceDecay().

+ Here is the call graph for this function:

G4Pythia6Decayer::~G4Pythia6Decayer ( )
virtual

Destructor

Definition at line 75 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 75 of file G4Pythia6Decayer.cc

References fDecayProductsArray.

G4Pythia6Decayer::G4Pythia6Decayer ( const G4Pythia6Decayer right)
private

Not implemented.

Member Function Documentation

G4int G4Pythia6Decayer::CountProducts ( G4int  channel,
G4int  particle 
)
private

Count number of decay products

Definition at line 159 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 159 of file G4Pythia6Decayer.cc

References kdfinder::abs(), and Pythia6::Instance().

Referenced by ForceParticleDecay().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DynamicParticle * G4Pythia6Decayer::CreateDynamicParticle ( const Pythia6Particle p) const
private

Create G4DynamicParticle.

Definition at line 115 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 115 of file G4Pythia6Decayer.cc

References GetParticleDefinition(), GetParticleMomentum(), and momentum.

Referenced by ImportDecayProducts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::Decay ( G4int  pdg,
const CLHEP::HepLorentzVector &  p 
)
private

Decay a particle of type IDPART (PDG code) and momentum P.

Definition at line 527 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 527 of file G4Pythia6Decayer.cc

References Pythia6::Instance(), and Pythia6::Py1ent().

Referenced by ImportDecayProducts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceDecay ( EDecayType  decayType)
private

Force a particle decay mode

Definition at line 323 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 323 of file G4Pythia6Decayer.cc

References fDecayType, ForceHadronicD(), ForceOmega(), ForceParticleDecay(), Pythia6::Instance(), kAll, kBJpsi, kBJpsiDiElectron, kBJpsiDiMuon, kBPsiPrimeDiElectron, kBPsiPrimeDiMuon, kDiElectron, kDiMuon, kHadronicD, kHardMuons, kKaToMu, kMaxDecay, kNoDecay, kNoDecayHeavy, kOmega, kPhiKK, kPiToMu, kSemiElectronic, kSemiMuonic, kWToCharm, kWToCharmToMuon, kWToMuon, kZDiMuon, and Pythia6::SetMSTJ().

Referenced by ForceDecayType(), and G4Pythia6Decayer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceDecayType ( EDecayType  decayType)

Force a given decay type

Definition at line 632 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 632 of file G4Pythia6Decayer.cc

References G4P6DECAYER::decayType, fDecayType, and ForceDecay().

Referenced by P6DExtDecayerPhysics::ConstructProcess(), and G4Pythia6DecayerMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceHadronicD ( )
private

Force golden D decay modes

Definition at line 230 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 230 of file G4Pythia6Decayer.cc

References ForceParticleDecay(), Pythia6::GetKFDP(), Pythia6::GetMDCY(), Pythia6::Instance(), Pythia6::Pycomp(), Pythia6::SetMDCY(), and Pythia6::SetMDME().

Referenced by ForceDecay().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceOmega ( )
private

Force Omega -> Lambda K- Decay

Definition at line 295 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 295 of file G4Pythia6Decayer.cc

References Pythia6::GetKFDP(), Pythia6::GetMDCY(), Pythia6::Instance(), Pythia6::Pycomp(), Pythia6::SetMDCY(), and Pythia6::SetMDME().

Referenced by ForceDecay().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceParticleDecay ( G4int  particle,
G4int  product,
G4int  mult 
)
private

Force decay of particle into products with multiplicity mult

Definition at line 172 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 172 of file G4Pythia6Decayer.cc

References CountProducts(), Pythia6::GetMDCY(), Pythia6::Instance(), Pythia6::Pycomp(), Pythia6::SetMDCY(), and Pythia6::SetMDME().

Referenced by ForceDecay(), and ForceHadronicD().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Pythia6Decayer::ForceParticleDecay ( G4int  particle,
G4int *  products,
G4int *  mult,
G4int  npart 
)
private

Force decay of particle into products with multiplicity mult

Definition at line 201 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 201 of file G4Pythia6Decayer.cc

References CountProducts(), Pythia6::GetMDCY(), Pythia6::Instance(), npart(), Pythia6::Pycomp(), Pythia6::SetMDCY(), and Pythia6::SetMDME().

+ Here is the call graph for this function:

G4ParticleDefinition * G4Pythia6Decayer::GetParticleDefinition ( const Pythia6Particle p,
G4bool  warn = true 
) const
private

Return G4 particle definition for given TParticle

Definition at line 89 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 89 of file G4Pythia6Decayer.cc

References Pythia6Particle::fKF.

Referenced by CreateDynamicParticle().

+ Here is the caller graph for this function:

G4ThreeVector G4Pythia6Decayer::GetParticleMomentum ( const Pythia6Particle particle) const
private

Return particle momentum.

Definition at line 146 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 146 of file G4Pythia6Decayer.cc

References Pythia6Particle::fPx, Pythia6Particle::fPy, Pythia6Particle::fPz, Acts::UnitConstants::GeV, and momentum.

Referenced by CreateDynamicParticle().

+ Here is the caller graph for this function:

G4ThreeVector G4Pythia6Decayer::GetParticlePosition ( const Pythia6Particle particle) const
private

Return particle vertex position.

Definition at line 133 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 133 of file G4Pythia6Decayer.cc

References Acts::UnitConstants::cm, Pythia6Particle::fVx, Pythia6Particle::fVy, Pythia6Particle::fVz, and Acts::VectorHelpers::position().

+ Here is the call graph for this function:

G4DecayProducts * G4Pythia6Decayer::ImportDecayProducts ( const G4Track &  track)
virtual

Import decay products

Definition at line 549 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 549 of file G4Pythia6Decayer.cc

References kdfinder::abs(), CreateDynamicParticle(), Decay(), fDecayProductsArray, Pythia6Particle::fKF, Pythia6Particle::fKS, fVerboseLevel, Acts::UnitConstants::GeV, ImportParticles(), momentum, p, particle, and pdg.

+ Here is the call graph for this function:

G4int G4Pythia6Decayer::ImportParticles ( ParticleVector particles)
private

Get the decay products into the passed PARTICLES vector

Definition at line 536 of file G4Pythia6Decayer.cc.

View newest version in sPHENIX GitHub at line 536 of file G4Pythia6Decayer.cc

References Pythia6::ImportParticles(), and Pythia6::Instance().

Referenced by ImportDecayProducts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Pythia6Decayer& G4Pythia6Decayer::operator= ( const G4Pythia6Decayer right)
private

Not implemented.

void G4Pythia6Decayer::SetVerboseLevel ( G4int  verboseLevel)
inline

Definition at line 67 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 67 of file G4Pythia6Decayer.hh

References fVerboseLevel.

Referenced by P6DExtDecayerPhysics::ConstructProcess(), and G4Pythia6DecayerMessenger::SetNewValue().

+ Here is the caller graph for this function:

Member Data Documentation

ParticleVector* G4Pythia6Decayer::fDecayProductsArray
private

array of decay products

Definition at line 99 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 99 of file G4Pythia6Decayer.hh

Referenced by G4Pythia6Decayer(), ImportDecayProducts(), and ~G4Pythia6Decayer().

EDecayType G4Pythia6Decayer::fDecayType
private

selected decay type

Definition at line 98 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 98 of file G4Pythia6Decayer.hh

Referenced by ForceDecay(), ForceDecayType(), and G4Pythia6Decayer().

const EDecayType G4Pythia6Decayer::fgkDefaultDecayType = kAll
staticprivate

default decay type

Definition at line 94 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 94 of file G4Pythia6Decayer.hh

G4Pythia6DecayerMessenger G4Pythia6Decayer::fMessenger
private

command messenger

Definition at line 96 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 96 of file G4Pythia6Decayer.hh

G4int G4Pythia6Decayer::fVerboseLevel
private

verbose level

Definition at line 97 of file G4Pythia6Decayer.hh.

View newest version in sPHENIX GitHub at line 97 of file G4Pythia6Decayer.hh

Referenced by ImportDecayProducts(), and SetVerboseLevel().


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