10 #include "CLHEP/Random/RandomEngine.h"
12 #include <HepMC/GenCrossSection.h>
13 #include <HepMC/GenEvent.h>
14 #include <HepMC/GenVertex.h>
15 #include <HepMC/GenParticle.h>
16 #include <HepMC/HeavyIon.h>
17 #include <HepMC/PdfInfo.h>
18 #include <HepMC/Units.h>
61 m_BeamMomentum(
pset.getParameter<double>(
"beammomentum")),
62 m_TargetMomentum(
pset.getParameter<double>(
"targetmomentum")),
63 m_BeamID(
pset.getParameter<
int>(
"beamid")),
64 m_TargetID(
pset.getParameter<
int>(
"targetid")),
65 m_HEModel(
pset.getParameter<
int>(
"model")),
66 m_bMin(
pset.getParameter<double>(
"bmin")),
67 m_bMax(
pset.getParameter<double>(
"bmax")),
68 m_ParamFileName(
pset.getUntrackedParameter<
string>(
"paramFileName")),
69 m_SkipNuclFrag(
pset.getParameter<
bool>(
"skipNuclFrag")),
72 m_ImpactParameter(0.),
73 m_IsInitialized(
false) {
78 char dummyName[] =
"dummy";
109 int iout = 0, ievent = 0;
121 LogDebug(
"ReggeGribovPartonMCInterface") <<
"event generated" << endl;
134 switch (
int(
c2evt_.typevt))
163 LogDebug(
"ReggeGribovPartonMCInterface") <<
"Signal ID not recognised for setting HEPEVT" << endl;
165 evt->set_signal_process_id(sig_id);
167 #ifdef HEPMC_HAS_CROSS_SECTION
169 HepMC::GenCrossSection theCrossSection;
170 theCrossSection.set_cross_section(
double(
hadr5_.sigineaa) * 1e9);
171 evt->set_cross_section(theCrossSection);
176 HepMC::HeavyIon ion(
cevt_.kohevt,
189 evt->set_heavy_ion(ion);
225 string path_fnii(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/epos.initl").
fullPath());
226 string path_fnie(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/epos.iniev").
fullPath());
227 string path_fnrj(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/epos.inirj").
fullPath());
228 string path_fncs(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/epos.inics").
fullPath());
230 if (path_fnii.length() >= 500)
231 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
233 nfname_.nfnii = path_fnii.length();
234 if (path_fnie.length() >= 500)
235 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
237 nfname_.nfnie = path_fnie.length();
238 if (path_fnrj.length() >= 500)
239 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
241 nfname_.nfnrj = path_fnrj.length();
242 if (path_fncs.length() >= 500)
243 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
245 nfname_.nfncs = path_fncs.length();
247 strcpy(
fname_.fnii, path_fnii.c_str());
248 strcpy(
fname_.fnie, path_fnie.c_str());
249 strcpy(
fname_.fnrj, path_fnrj.c_str());
250 strcpy(
fname_.fncs, path_fncs.c_str());
253 string path_fndat(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/qgsjet.dat").
fullPath());
254 string path_fnncs(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/qgsjet.ncs").
fullPath());
256 if (path_fndat.length() >= 500)
257 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
260 if (path_fnncs.length() >= 500)
261 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
265 strcpy(
qgsfname_.fndat, path_fndat.c_str());
266 strcpy(
qgsfname_.fnncs, path_fnncs.c_str());
272 string path_fniidat(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/qgsdat-II-04.lzma").
fullPath());
273 string path_fniincs(
FileInPath(
"GeneratorInterface/ReggeGribovPartonMCInterface/data/sectnu-II-04").
fullPath());
275 if (path_fniidat.length() >= 500)
276 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;
279 if (path_fniincs.length() >= 500)
280 LogError(
"ReggeGribovPartonMCInterface") <<
"table path too long" << endl;