97 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
102 fPythia =
new Pythia8::Pythia();
114 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
119 fPythia =
new Pythia8::Pythia(xmlDir);
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);
virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Import particles from Pythia stack.
Pythia8::Pythia * fPythia
singleton instance
TPythia8()
Number of particles.
static TPythia8 * Instance()
Return an instance of TPythia8.
virtual ~TPythia8()
Destructor.
virtual void Clear(Option_t *option="")
Remove all objects from the array.
virtual void Delete(Option_t *option="")
Remove all objects from the array AND delete all heap based objects.
The interface to various event generators.
static TPythia8 * fgInstance
Description of the dynamic properties of a particle.
Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms)
Initialization.
void PrintStatistics() const
Print end of run statistics.
void PlistChanged() const
Event listing.
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.
Particle database manager class.
friend class TClonesArray
static TDatabasePDG * Instance()
static function
void AddParticlesToPdgDataBase()
Add some pythia specific particle code to the data base.
void Plist(Int_t id) const
Event listing.
void ReadConfigFile(const char *string) const
Configuration.
virtual void Clear(Option_t *option="")
Clear the clones array.
void PlistAll() const
Event listing.
Int_t GetN() const
Initialization.
void EventListing() const
Event listing.
void ReadString(const char *string) const
Configuration.
TObjArray * fParticles
display neutrons if true
TPythia8 is an interface class to C++ version of Pythia 8.1 event generators, written by T...
Int_t fNumberOfParticles
The pythia8 instance.
void ListChanged() const
Event listing.
An array of clone (identical) objects.
virtual void GenerateEvent()
Generate the next event.
void ListAll() const
Event listing.
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.