Geant4  10.01
G4Pythia6Decayer Class Reference

Pythia6 decayer. More...

#include <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)
 
- Public Member Functions inherited from G4VExtDecayer
 G4VExtDecayer (const G4String &name="")
 
virtual ~G4VExtDecayer ()
 
const G4String & GetName () const
 

Private Member Functions

 G4Pythia6Decayer (const G4Pythia6Decayer &right)
 Not implemented. More...
 
G4Pythia6Decayer & operator= (const G4Pythia6Decayer &right)
 Not implemented. More...
 
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 More...
 
G4int fVerboseLevel
 verbose level More...
 
EDecayType fDecayType
 selected decay type More...
 
ParticleVector * fDecayProductsArray
 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: