88 Warning(
"SetForceDecay",
"Invalid decay mode: %d", type);
112 products[2] = 100443;
191 products[1] = 100443;
300 Warning(
"ReadDecayTable",
"No file set");
335 const char* antiName = (anti ? anti->
GetName() :
"");
338 case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
343 case 2101:
case 2103:
case 2203:
344 case 3101:
case 3103:
case 3201:
case 3203:
case 3303:
345 case 4101:
case 4103:
case 4201:
case 4203:
case 4301:
case 4303:
case 4403:
346 case 5101:
case 5103:
case 5201:
case 5203:
case 5301:
case 5303:
case 5401:
347 case 5403:
case 5503:
350 case 1000001:
case 1000002:
case 1000003:
case 1000004:
case 1000005:
355 case 2000001:
case 2000002:
case 2000003:
case 2000004:
case 2000005:
358 case 3000331:
case 3100021:
case 3200111:
case 3100113:
case 3200113:
359 case 3300113:
case 3400113:
362 case 4000001:
case 4000002:
364 case 9900443:
case 9900441:
case 9910441:
case 9900553:
case 9900551:
368 std::cout << std::right
369 <<
" " << std::setw(9) << pdg->
PdgCode()
370 <<
" " << std::left << std::setw(16) << pdg->
GetName()
371 <<
" " << std::setw(16) << antiName
374 << std::setw(3) << color
375 << std::setw(3) << (anti ? 1 : 0)
376 << std::fixed << std::setprecision(5)
377 << std::setw(12) << pdg->
Mass()
378 << std::setw(12) << pdg->
Width()
379 << std::setw(12) << 0
381 <<
" " << std::setw(13) << pdg->
Lifetime()
383 << std::setw(3) << pdg->
Stable()
394 while ((pdg = static_cast<TParticlePDG*>(nextPDG()))) {
400 TIter nextDecay(decays);
401 while ((decay = static_cast<TDecayChannel*>(nextDecay()))) {
476 Warning(
"ReadDecayTable",
"No file set");
492 for (
Int_t i = 1; i <= 5; i++)
502 const Int_t kNHadrons = 4;
504 Int_t hadron[kNHadrons] = {411, 421, 431, 4112};
508 Int_t iKstarbar0 = -313;
516 Int_t decayP1[kNHadrons][3] = {
519 {
kKPlus , iKstarbar0, 0 },
522 Int_t decayP2[kNHadrons][3] = {
530 for (
Int_t ihadron = 0; ihadron < kNHadrons; ihadron++) {
536 for (channel = ifirst; channel <= ilast; channel++) {
537 if ((pyth->
GetKFDP(channel,1) == decayP1[ihadron][0] &&
538 pyth->
GetKFDP(channel,2) == decayP1[ihadron][1] &&
539 pyth->
GetKFDP(channel,3) == decayP1[ihadron][2] &&
540 pyth->
GetKFDP(channel,4) == 0) ||
541 (pyth->
GetKFDP(channel,1) == decayP2[ihadron][0] &&
542 pyth->
GetKFDP(channel,2) == decayP2[ihadron][1] &&
543 pyth->
GetKFDP(channel,3) == decayP2[ihadron][2] &&
544 pyth->
GetKFDP(channel,4) == 0)) {
571 for (
Int_t channel= ifirst; channel <= ilast; channel++) {
597 for (
Int_t channel = ifirst; channel <= ilast; channel++) {
599 for (
Int_t i = 0; i < npart; i++)
621 for (
Int_t channel = ifirst; channel <= ilast; channel++) {
virtual const char * GetName() const
Returns name of object.
Description of the decay channel.
virtual void WriteDecayTable()
write particle data to an ASCII file.
void SetMDME(int i, int j, int m)
double GetPMAS(int ip, int i)
virtual void SetForceDecay(Int_t type)
Force a particular decay type.
TPythia is an interface class to F77 version of Pythia 6.2.
Int_t CountProducts(Int_t channel, Int_t particle)
Count number of decay products.
virtual Float_t GetLifetime(Int_t kf)
Get the life-time of a particle of type KF (a PDG code).
int GetKFDP(int i, int j)
Particle database manager class.
virtual Float_t GetPartialBranchingRatio(Int_t ipart)
Get the partial branching ratio for a particle of type IPART (a PDG code).
Double_t Lifetime() const
static TDatabasePDG * Instance()
static function
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
TParticlePDG * AntiParticle()
int GetMDCY(int i, int j)
void CloseFortranFile(int lun)
interface with fortran i/o
virtual void Decay(Int_t idpart, TLorentzVector *p)
Decay a particle of type IDPART (PDG code) and momentum P.
void ForceHadronicD()
Force golden D decay modes.
virtual TObjArray * GetPrimaries(Option_t *option="")
This class implements the TVirtualMCDecayer interface.
void SetMDCY(int i, int j, int m)
TLorentzVector is a general four-vector class, which can be used either for the description of positi...
void OpenFortranFile(int lun, char *name)
interface with fortran i/o
virtual Int_t ImportParticles(TClonesArray *particles)
Get the decay products into the passed PARTICLES TClonesArray of TParticles.
Description of the static properties of a particle.
void ForceOmega()
Force Omega -> Lambda K- Decay.
static TPythia6Decayer * Instance()
Get the singleton object.
virtual void ReadDecayTable()
Read in particle data from an ASCII file.
void SetMSTJ(int i, int m)
virtual void ReadPDGTable(const char *filename="")
read list of particles from a file if the particle list does not exist, it is created, otherwise particles are added to the existing list See $ROOTSYS/etc/pdg_table.txt to see the file format
const THashList * ParticleList() const
static TPythia6Decayer * fgInstance
Branching ratios.
virtual void ForceDecay()
Force a particle decay mode.
virtual void Init()
Initialize the decayer.
An array of clone (identical) objects.
void ForceParticleDecay(Int_t particle, Int_t *products, Int_t *mult, Int_t npart)
Force decay of particle into products with multiplicity mult.
static TPythia6 * Instance()
model of automatic memory cleanup suggested by Jim Kowalkovski: destructor for local static variable ...
TPythia6Decayer()
Constructor.
Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Default primary creation method.
void Py1ent(Int_t line, Int_t kf, Double_t pe, Double_t theta, Double_t phi)
Add one entry to the event record, i.e.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
void Pyupda(int mupda, int lun)
const char * Data() const