97 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
103 fPythia =
new Pythia8::Pythia(
"../share/Pythia8/xmldoc", printBanner);
112 fNumberOfParticles(0)
115 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
120 fPythia =
new Pythia8::Pythia(xmlDir, printBanner);
152 fPythia->settings.mode(
"Beams:idA", idAin);
153 fPythia->settings.mode(
"Beams:idB", idBin);
154 fPythia->settings.mode(
"Beams:frameType", 1);
155 fPythia->settings.parm(
"Beams:eCM", ecms);
170 fPythia->settings.mode(
"Beams:idA", idAin);
171 fPythia->settings.mode(
"Beams:idB", idBin);
172 fPythia->settings.mode(
"Beams:frameType", 2);
173 fPythia->settings.parm(
"Beams:eA", eAin);
174 fPythia->settings.parm(
"Beams:eB", eBin);
196 if (particles == 0)
return 0;
198 clonesParticles.
Clear();
203 if (
fPythia->event[0].id() == 90) {
207 if (!strcmp(option,
"") || !strcmp(option,
"Final")) {
209 if (
fPythia->event[i].id() == 90)
continue;
210 if (
fPythia->event[i].isFinal()) {
214 fPythia->event[i].mother1() + ioff,
215 fPythia->event[i].mother2() + ioff,
216 fPythia->event[i].daughter1() + ioff,
217 fPythia->event[i].daughter2() + ioff,
229 }
else if (!strcmp(option,
"All")) {
231 if (
fPythia->event[i].id() == 90)
continue;
235 fPythia->event[i].mother1() + ioff,
236 fPythia->event[i].mother2() + ioff,
237 fPythia->event[i].daughter1() + ioff,
238 fPythia->event[i].daughter2() + ioff,
262 if (
fPythia->event[0].id() == 90) {
269 for (
Int_t i = 1; i <= numpart; i++) {
273 fPythia->event[i].mother1() + ioff,
274 fPythia->event[i].mother2() + ioff,
275 fPythia->event[i].daughter1() + ioff,
276 fPythia->event[i].daughter2() + ioff,
294 return (
fPythia->event.size() - 1);
326 fPythia->settings.listChanged();
334 fPythia->particleData.list(
id);
342 fPythia->particleData.listAll();
350 fPythia->particleData.listChanged();
376 0, 0,
"QCD string", 90);
378 0, 0,
"QCD diffr. state", 9900110);
380 0, 1,
"QCD diffr. state", 9900210);
382 0, 0,
"QCD diffr. state", 9900220);
384 0, 0,
"QCD diffr. state", 9900330);
386 0, 0,
"QCD diffr. state", 9900440);
388 0, 0,
"QCD diffr. state", 9902110);
390 0, 1,
"QCD diffr. state", 9902210);
An array of clone (identical) objects.
virtual void Clear(Option_t *option="")
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.
The interface to various event generators.
TObjArray * fParticles
display neutrons if true
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.
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.
virtual ~TPythia8()
Destructor.
void PlistChanged() const
Event listing.
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 ListChanged() const
Event listing.
Int_t fNumberOfParticles
The pythia8 instance.
void PrintStatistics() const
Print end of run statistics.
Int_t GetN() const
Initialization.
void PlistAll() const
Event listing.
virtual void GenerateEvent()
Generate the next event.
static TPythia8 * Instance()
Return an instance of TPythia8.
TPythia8(bool printBanner=true)
Number of particles.
static TPythia8 * fgInstance
void ReadConfigFile(const char *string) const
Configuration.
void AddParticlesToPdgDataBase()
Add some pythia specific particle code to the data base.
Pythia8::Pythia * fPythia
singleton instance
virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Import particles from Pythia stack.