#include <Pythia6Decays.h>
Public Member Functions | |
const DaughterParticleList & | particleDaughters (ParticlePropagator &particle) |
Pythia6Decays () | |
~Pythia6Decays () | |
Private Attributes | |
Pythia6jets * | pyjets |
gen::Pythia6Service * | pyservice |
DaughterParticleList | theList |
Definition at line 15 of file Pythia6Decays.h.
Pythia6Decays::Pythia6Decays | ( | ) |
Definition at line 18 of file Pythia6Decays.cc.
References pyjets, and pyservice.
{ // Create a new Pythia6jets pyjets = new Pythia6jets(); // Create a new Pythia6Service helper pyservice = new gen::Pythia6Service(); // The PYTHIA decay tables will be initialized later }
Pythia6Decays::~Pythia6Decays | ( | ) |
const DaughterParticleList & Pythia6Decays::particleDaughters | ( | ParticlePropagator & | particle | ) |
Definition at line 33 of file Pythia6Decays.cc.
References i, Pythia6jets::k(), RawParticle::mass(), max(), Pythia6jets::n(), Pythia6jets::p(), RawParticle::pid(), pyjets, pyservice, PYTHIA6PYDECY, RawParticle::T(), theList, Pythia6jets::v(), RawParticle::X(), RawParticle::Y(), and RawParticle::Z().
Referenced by TrajectoryManager::updateWithDaughters().
{ gen::Pythia6Service::InstanceWrapper guard(pyservice); // grab Py6 context // Pythia6jets pyjets; int ip; pyjets->k(1,1) = 1; pyjets->k(1,2) = particle.pid(); pyjets->p(1,1) = particle.Px(); pyjets->p(1,2) = particle.Py(); pyjets->p(1,3) = particle.Pz(); pyjets->p(1,4) = std::max(particle.mass(),particle.e()); pyjets->p(1,5) = particle.mass(); pyjets->v(1,1) = particle.X(); pyjets->v(1,2) = particle.Y(); pyjets->v(1,3) = particle.Z(); pyjets->v(1,4) = particle.T(); pyjets->n() = 1; ip = 1; PYTHIA6PYDECY(&ip); // Fill the list of daughters theList.clear(); if ( pyjets->n()==1 ) return theList; theList.resize(pyjets->n()-1,RawParticle()); for (int i=2;i<=pyjets->n();++i) { theList[i-2].SetXYZT(pyjets->p(i,1),pyjets->p(i,2), pyjets->p(i,3),pyjets->p(i,4)); theList[i-2].setVertex(pyjets->v(i,1),pyjets->v(i,2), pyjets->v(i,3),pyjets->v(i,4)); theList[i-2].setID(pyjets->k(i,2)); theList[i-2].setMass(pyjets->p(i,5)); } return theList; }
Pythia6jets* Pythia6Decays::pyjets [private] |
Definition at line 27 of file Pythia6Decays.h.
Referenced by particleDaughters(), Pythia6Decays(), and ~Pythia6Decays().
gen::Pythia6Service* Pythia6Decays::pyservice [private] |
Definition at line 26 of file Pythia6Decays.h.
Referenced by particleDaughters(), Pythia6Decays(), and ~Pythia6Decays().
DaughterParticleList Pythia6Decays::theList [private] |
Definition at line 28 of file Pythia6Decays.h.
Referenced by particleDaughters().