8 #include "FairPrimaryGenerator.h"
12 fEvent(0), fRunId(0), fFileName(fileName), fPidDataFileName(pidDataFileName), fInputAsciiFile(0), fPx(0), fPy(0), fPz(0), fPdg(0)
14 std::cout <<
"Constructor Called!" << std::endl;
22 for (std::map<Int_t, PndGiBuuDecayerAbs*>::const_iterator iter =
fDecayerMap.begin(); iter !=
fDecayerMap.end(); iter++){
33 Fatal(
"PndGiBuuGenerator",
"Cannot open ASCII input file.");
49 Int_t GiBuuPid = 0, GiBuuCharge = 0;
61 std::cout <<
"ReadEvent: " <<
fEvent << std::endl;
73 *
fInputAsciiFile >> GiBuuPid >> GiBuuCharge >> motherId1 >> motherId2 >> dummyInt >> mass >> dummyInt >> energy >>
fPx >>
fPy >>
fPz >> dummyDouble >>
fEvent >>
fRunId >> dummyDouble;
90 for (
size_t i = 0;
i < tracks.size();
i++) {
91 std::cout <<
"Writing decayed particles: " << tracks[
i].GetPdgId() << std::endl;
92 primGen->AddTrack(tracks[
i].GetPdgId(),
93 tracks[
i].GetMomentum().
X(), tracks[
i].GetMomentum().
Y(), tracks[
i].GetMomentum().
Z(),
94 tracks[
i].GetVertex().
X(), tracks[
i].GetVertex().
Y(), tracks[
i].GetVertex().
Z());
97 std::cout <<
"Writing particle direct: " <<
fPdg << std::endl;
107 Fatal(
"PndGiBuuGenerator::FillPidMap",
"No pid file!");
115 while (!(PidFile->eof())){
116 *PidFile >> giPid >> giCharge >> pdgPid;
117 std::pair<Int_t, Int_t> GiBuuPid(giPid, giCharge);
128 std::pair<Int_t, Int_t> GiBuuPid(GiBuuId, charge);
TString fFileName
Run number in GiBuu.
std::map< std::pair< Int_t, Int_t >, Int_t > fMapGiBuuToPdg
void CloseInput()
PDG code of particle.
FairPrimaryGenerator * primGen
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
virtual ~PndGiBuuGenerator()
Int_t fPdg
Momentum of particle.
Int_t fRunId
Event number.
void WriteoutDecayParticle(Int_t oldEventNr, Int_t oldRunId, FairPrimaryGenerator *primGen)
Int_t GetPdgParticleId(Int_t GiBuuId, Int_t charge)
TString fPidDataFileName
Input file name.
std::map< Int_t, PndGiBuuDecayerAbs * > fDecayerMap
std::ifstream * fInputAsciiFile
Input Pid data file name.