AliGenStarLight::AliGenStarLight()
: AliGenMC()
- , fTrials(0)
, fSLgenerator(NULL) {
}
//----------------------------------------------------------------------
AliGenStarLight::AliGenStarLight(Int_t npart)
: AliGenMC(npart)
- , fTrials(0)
, fSLgenerator(new TStarLight("TStarLight",
"StarLight UPC Event Generator",
"")) // no config file name
vpos[3] = fTime;
}
- Int_t nt(0); // number of tracks
- Float_t weight(1);
+ Int_t nt(0); // number of tracks
Bool_t genOK(kFALSE);
// generate events until all constraints are fulfilled
- for (fTrials=0; !genOK && fTrials < 100*1000; ++fTrials) {
+ for (Int_t trials=0; !genOK && trials < 100*1000; ++trials) {
fSLgenerator->GenerateEvent();
fSLgenerator->BoostEvent();
fSLgenerator->ImportParticles(&fParticles, "ALL");
AliFatal("NULL == part");
return;
}
- Int_t iparent(-1);
- Float_t polar[3] = { 0, 0, 0 };
+ const Int_t iparent(-1);
+ const Float_t polar[3] = { 0, 0, 0 };
+ const Float_t weight(trials+1);
PushTrack(fTrackIt, iparent, part->GetPdgCode(),
part->Px(), part->Py(), part->Pz(), part->Energy(),
vpos[0], vpos[1], vpos[2], vpos[3],
polar[0], polar[1], polar[2],
kPPrimary, nt, weight, part->GetStatusCode());
- AliInfo(Form("fTrials=%d nt=%d fTrackIt=%d statusCode=%d",
- fTrials, nt, fTrackIt, part->GetStatusCode()));
+ AliInfo(Form("weight=%.0f nt=%d fTrackIt=%d statusCode=%d",
+ weight, nt, fTrackIt, part->GetStatusCode()));
part->Print();
KeepTrack(nt);
++fNprimaries;
}
+ fParticles.Clear();
}
if (kFALSE == genOK)
AliFatal("Maximum number of trials reached");