95 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
100 fPythia =
new Pythia8::Pythia();
109 fNumberOfParticles(0)
112 Fatal(
"TPythia8",
"There's already an instance of TPythia8");
117 fPythia =
new Pythia8::Pythia(xmlDir);
149 fPythia->settings.mode(
"Beams:idA", idAin);
150 fPythia->settings.mode(
"Beams:idB", idBin);
151 fPythia->settings.mode(
"Beams:frameType", 1);
152 fPythia->settings.parm(
"Beams:eCM", ecms);
167 fPythia->settings.mode(
"Beams:idA", idAin);
168 fPythia->settings.mode(
"Beams:idB", idBin);
169 fPythia->settings.mode(
"Beams:frameType", 2);
170 fPythia->settings.parm(
"Beams:eA", eAin);
171 fPythia->settings.parm(
"Beams:eB", eBin);
193 if (particles == 0)
return 0;
195 clonesParticles.
Clear();
200 if (
fPythia->event[0].id() == 90) {
204 if (!strcmp(option,
"") || !strcmp(option,
"Final")) {
206 if (
fPythia->event[i].id() == 90)
continue;
207 if (
fPythia->event[i].isFinal()) {
211 fPythia->event[i].mother1() + ioff,
212 fPythia->event[i].mother2() + ioff,
213 fPythia->event[i].daughter1() + ioff,
214 fPythia->event[i].daughter2() + ioff,
226 }
else if (!strcmp(option,
"All")) {
228 if (
fPythia->event[i].id() == 90)
continue;
232 fPythia->event[i].mother1() + ioff,
233 fPythia->event[i].mother2() + ioff,
234 fPythia->event[i].daughter1() + ioff,
235 fPythia->event[i].daughter2() + ioff,
259 if (
fPythia->event[0].id() == 90) {
266 for (
Int_t i = 1; i <= numpart; i++) {
270 fPythia->event[i].mother1() + ioff,
271 fPythia->event[i].mother2() + ioff,
272 fPythia->event[i].daughter1() + ioff,
273 fPythia->event[i].daughter2() + ioff,
291 return (
fPythia->event.size() - 1);
323 fPythia->settings.listChanged();
331 fPythia->particleData.list(
id);
339 fPythia->particleData.listAll();
347 fPythia->particleData.listChanged();
373 0, 0,
"QCD string", 90);
375 0, 0,
"QCD diffr. state", 9900110);
377 0, 1,
"QCD diffr. state", 9900210);
379 0, 0,
"QCD diffr. state", 9900220);
381 0, 0,
"QCD diffr. state", 9900330);
383 0, 0,
"QCD diffr. state", 9900440);
385 0, 0,
"QCD diffr. state", 9902110);
387 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.
void Fatal(const char *location, const char *msgfmt,...)
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.
static TPythia8 * fgInstance
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.
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
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.