89 Warning(
"SetForceDecay",
"Invalid decay mode: %d", type);
113 products[2] = 100443;
192 products[1] = 100443;
301 Warning(
"ReadDecayTable",
"No file set");
336 const char* antiName = (anti ? anti->
GetName() :
"");
339 case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
344 case 2101:
case 2103:
case 2203:
345 case 3101:
case 3103:
case 3201:
case 3203:
case 3303:
346 case 4101:
case 4103:
case 4201:
case 4203:
case 4301:
case 4303:
case 4403:
347 case 5101:
case 5103:
case 5201:
case 5203:
case 5301:
case 5303:
case 5401:
348 case 5403:
case 5503:
351 case 1000001:
case 1000002:
case 1000003:
case 1000004:
case 1000005:
356 case 2000001:
case 2000002:
case 2000003:
case 2000004:
case 2000005:
359 case 3000331:
case 3100021:
case 3200111:
case 3100113:
case 3200113:
360 case 3300113:
case 3400113:
363 case 4000001:
case 4000002:
365 case 9900443:
case 9900441:
case 9910441:
case 9900553:
case 9900551:
369 std::cout << std::right
370 <<
" " << std::setw(9) << pdg->
PdgCode()
371 <<
" " << std::left << std::setw(16) << pdg->
GetName()
372 <<
" " << std::setw(16) << antiName
375 << std::setw(3) << color
376 << std::setw(3) << (anti ? 1 : 0)
377 << std::fixed << std::setprecision(5)
378 << std::setw(12) << pdg->
Mass()
379 << std::setw(12) << pdg->
Width()
380 << std::setw(12) << 0
382 <<
" " << std::setw(13) << pdg->
Lifetime()
384 << std::setw(3) << pdg->
Stable()
395 while ((pdg = static_cast<TParticlePDG*>(nextPDG()))) {
401 TIter nextDecay(decays);
402 while ((decay = static_cast<TDecayChannel*>(nextDecay()))) {
477 Warning(
"ReadDecayTable",
"No file set");
493 for (
Int_t i = 1; i <= 5; i++)
503 const Int_t kNHadrons = 4;
505 Int_t hadron[kNHadrons] = {411, 421, 431, 4112};
509 Int_t iKstarbar0 = -313;
517 Int_t decayP1[kNHadrons][3] = {
520 {
kKPlus , iKstarbar0, 0 },
523 Int_t decayP2[kNHadrons][3] = {
531 for (
Int_t ihadron = 0; ihadron < kNHadrons; ihadron++) {
537 for (channel = ifirst; channel <= ilast; channel++) {
538 if ((pyth->
GetKFDP(channel,1) == decayP1[ihadron][0] &&
539 pyth->
GetKFDP(channel,2) == decayP1[ihadron][1] &&
540 pyth->
GetKFDP(channel,3) == decayP1[ihadron][2] &&
541 pyth->
GetKFDP(channel,4) == 0) ||
542 (pyth->
GetKFDP(channel,1) == decayP2[ihadron][0] &&
543 pyth->
GetKFDP(channel,2) == decayP2[ihadron][1] &&
544 pyth->
GetKFDP(channel,3) == decayP2[ihadron][2] &&
545 pyth->
GetKFDP(channel,4) == 0)) {
572 for (
Int_t channel= ifirst; channel <= ilast; channel++) {
598 for (
Int_t channel = ifirst; channel <= ilast; channel++) {
600 for (
Int_t i = 0; i < npart; i++)
622 for (
Int_t channel = ifirst; channel <= ilast; 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.
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).
const char * Data() const
int GetKFDP(int i, int j)
virtual Float_t GetPartialBranchingRatio(Int_t ipart)
Get the partial branching ratio for a particle of type IPART (a PDG code).
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="")
void SetMDCY(int i, int j, int m)
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.
virtual const char * GetName() const
Returns name of object.
void ForceOmega()
Force Omega -> Lambda K- Decay.
Double_t Lifetime() const
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
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.
const THashList * ParticleList() const
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.
void Pyupda(int mupda, int lun)
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.