Geant4  10.02.p02
G4Pythia6Decayer Class Reference

Pythia6 decayer. More...

#include <G4Pythia6Decayer.hh>

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

Public Member Functions

 G4Pythia6Decayer ()
 
virtual ~G4Pythia6Decayer ()
 
virtual G4DecayProductsImportDecayProducts (const G4Track &track)
 
void ForceDecayType (EDecayType decayType)
 
void SetVerboseLevel (G4int verboseLevel)
 
- Public Member Functions inherited from G4VExtDecayer
 G4VExtDecayer (const G4String &name="")
 
virtual ~G4VExtDecayer ()
 
const G4StringGetName () const
 

Private Member Functions

 G4Pythia6Decayer (const G4Pythia6Decayer &right)
 Not implemented. More...
 
G4Pythia6Decayeroperator= (const G4Pythia6Decayer &right)
 Not implemented. More...
 
G4ParticleDefinitionGetParticleDefinition (const Pythia6Particle *p, G4bool warn=true) const
 
G4DynamicParticleCreateDynamicParticle (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 More...
 
G4int fVerboseLevel
 verbose level More...
 
EDecayType fDecayType
 selected decay type More...
 
ParticleVectorfDecayProductsArray
 array of decay products More...
 

Static Private Attributes

static const EDecayType fgkDefaultDecayType = kAll
 default decay type More...
 

Additional Inherited Members

- Protected Attributes inherited from G4VExtDecayer
G4String decayerName
 

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 53 of file G4Pythia6Decayer.hh.

Constructor & Destructor Documentation

G4Pythia6Decayer::G4Pythia6Decayer ( )

Standard constructor

Definition at line 55 of file G4Pythia6Decayer.cc.

References fDecayProductsArray, fDecayType, and ForceDecay().

+ Here is the call graph for this function:

G4Pythia6Decayer::~G4Pythia6Decayer ( )
virtual

Destructor

Definition at line 71 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 160 of file G4Pythia6Decayer.cc.

References 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 112 of file G4Pythia6Decayer.cc.

References GetParticleDefinition(), and GetParticleMomentum().

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 517 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 315 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 618 of file G4Pythia6Decayer.cc.

References fDecayType, and ForceDecay().

Referenced by 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 226 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 288 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 174 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 199 of file G4Pythia6Decayer.cc.

References CountProducts(), Pythia6::GetMDCY(), Pythia6::Instance(), 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 86 of file G4Pythia6Decayer.cc.

References G4ParticleTable::FindParticle(), Pythia6Particle::fKF, G4cerr, and G4ParticleTable::GetParticleTable().

Referenced by CreateDynamicParticle().

+ Here is the call graph for this function:

+ 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.

References Pythia6Particle::fPx, Pythia6Particle::fPy, Pythia6Particle::fPz, and GeV.

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 132 of file G4Pythia6Decayer.cc.

References cm, Pythia6Particle::fVx, Pythia6Particle::fVy, Pythia6Particle::fVz, and position.

G4DecayProducts * G4Pythia6Decayer::ImportDecayProducts ( const G4Track track)
virtual
G4int G4Pythia6Decayer::ImportParticles ( ParticleVector particles)
private

Get the decay products into the passed PARTICLES vector

Definition at line 526 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 63 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 95 of file G4Pythia6Decayer.hh.

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

EDecayType G4Pythia6Decayer::fDecayType
private

selected decay type

Definition at line 94 of file G4Pythia6Decayer.hh.

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

const EDecayType G4Pythia6Decayer::fgkDefaultDecayType = kAll
staticprivate

default decay type

Definition at line 90 of file G4Pythia6Decayer.hh.

G4Pythia6DecayerMessenger G4Pythia6Decayer::fMessenger
private

command messenger

Definition at line 92 of file G4Pythia6Decayer.hh.

G4int G4Pythia6Decayer::fVerboseLevel
private

verbose level

Definition at line 93 of file G4Pythia6Decayer.hh.

Referenced by ImportDecayProducts(), and SetVerboseLevel().


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