96 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
102 fPythia =
new Pythia8::Pythia(
"../share/Pythia8/xmldoc", printBanner);
114 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
119 fPythia =
new Pythia8::Pythia(xmlDir, printBanner);
151 fPythia->settings.mode(
"Beams:idA", idAin);
152 fPythia->settings.mode(
"Beams:idB", idBin);
153 fPythia->settings.mode(
"Beams:frameType", 1);
154 fPythia->settings.parm(
"Beams:eCM", ecms);
169 fPythia->settings.mode(
"Beams:idA", idAin);
170 fPythia->settings.mode(
"Beams:idB", idBin);
171 fPythia->settings.mode(
"Beams:frameType", 2);
172 fPythia->settings.parm(
"Beams:eA", eAin);
173 fPythia->settings.parm(
"Beams:eB", eBin);
195 if (particles == 0)
return 0;
197 clonesParticles.
Clear();
202 if (
fPythia->event[0].id() == 90) {
206 if (!strcmp(option,
"") || !strcmp(option,
"Final")) {
208 if (
fPythia->event[i].id() == 90)
continue;
209 if (
fPythia->event[i].isFinal()) {
213 fPythia->event[i].mother1() + ioff,
214 fPythia->event[i].mother2() + ioff,
215 fPythia->event[i].daughter1() + ioff,
216 fPythia->event[i].daughter2() + ioff,
228 }
else if (!strcmp(option,
"All")) {
230 if (
fPythia->event[i].id() == 90)
continue;
234 fPythia->event[i].mother1() + ioff,
235 fPythia->event[i].mother2() + ioff,
236 fPythia->event[i].daughter1() + ioff,
237 fPythia->event[i].daughter2() + ioff,
261 if (
fPythia->event[0].id() == 90) {
268 for (
Int_t i = 1; i <= numpart; i++) {
272 fPythia->event[i].mother1() + ioff,
273 fPythia->event[i].mother2() + ioff,
274 fPythia->event[i].daughter1() + ioff,
275 fPythia->event[i].daughter2() + ioff,
293 return (
fPythia->event.size() - 1);
325 fPythia->settings.listChanged();
333 fPythia->particleData.list(
id);
341 fPythia->particleData.listAll();
349 fPythia->particleData.listChanged();
375 0, 0,
"QCD string", 90);
377 0, 0,
"QCD diffr. state", 9900110);
379 0, 1,
"QCD diffr. state", 9900210);
381 0, 0,
"QCD diffr. state", 9900220);
383 0, 0,
"QCD diffr. state", 9900330);
385 0, 0,
"QCD diffr. state", 9900440);
387 0, 0,
"QCD diffr. state", 9902110);
389 0, 1,
"QCD diffr. state", 9902210);
int Int_t
Signed integer 4 bytes (int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char).
void Clear(Option_t *option="") override
Clear the clones array.
Particle database manager class.
static TDatabasePDG * Instance()
static function
virtual TParticlePDG * AddParticle(const char *Name, const char *Title, Double_t Mass, Bool_t Stable, Double_t DecayWidth, Double_t Charge, const char *ParticleClass, Int_t PdgCode, Int_t Anti=-1, Int_t TrackingCode=0)
Particle definition normal constructor.
TGenerator(const TGenerator &tg)
friend class TClonesArray
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
Description of the dynamic properties of a particle.
TPythia8 is an interface class to C++ version of Pythia 8.1 event generators, written by T....
void Plist(Int_t id) const
Event listing.
void PlistChanged() const
Event listing.
Int_t ImportParticles(TClonesArray *particles, Option_t *option="") override
Import particles from Pythia stack.
void ListAll() const
Event listing.
void ReadString(const char *string) const
Configuration.
Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms)
Initialization.
void EventListing() const
Event listing.
void GenerateEvent() override
Generate the next event.
void ListChanged() const
Event listing.
Int_t fNumberOfParticles
! Number of particles
void PrintStatistics() const
Print end of run statistics.
Int_t GetN() const
Initialization.
void PlistAll() const
Event listing.
static TPythia8 * Instance()
Return an instance of TPythia8.
TPythia8(bool printBanner=true)
Constructor.
static TPythia8 * fgInstance
! singleton instance
void ReadConfigFile(const char *string) const
Configuration.
void AddParticlesToPdgDataBase()
Add some pythia specific particle code to the data base.
Pythia8::Pythia * fPythia
! The pythia8 instance
~TPythia8() override
Destructor.