7 #include "EvtGenBase/EvtParticle.hh"
8 #include "EvtGenBase/EvtParticleFactory.hh"
15 (pow(Mchi, 4) - 4 * pow(Mchi, 2) * pow(
PROTON_MASS, 2))
17 double e =
sqrt(pow(Mchi, 2) + p * p);
27 EvtParticle *chiMeson =
28 EvtParticleFactory::particleFactory(model.evtId, chiMomentum);
29 chiMeson->setSpinDensityForward(model.spinDensity);
35 chiMeson->makeStdHep(evtstdhep);
40 EvtVector4R vertexPoint, evtMomentum;
41 for (
int particleNumber = 0, size = evtstdhep.getNPart();
42 particleNumber < size; ++particleNumber) {
44 vertexPoint = evtstdhep.getX4(particleNumber);
45 evtMomentum = evtstdhep.getP4(particleNumber);
51 p.id(
id = evtstdhep.getStdHepID(particleNumber));
52 p.px(evtMomentum.get(1));
53 p.py(evtMomentum.get(2));
54 p.pz(evtMomentum.get(3));
55 p.e(evtMomentum.get(0));
56 p.daughter1(evtstdhep.getFirstDaughter(particleNumber) + 1);
57 p.daughter2(evtstdhep.getLastDaughter(particleNumber) + 1);
58 p.mother1(evtstdhep.getFirstMother(particleNumber) + 1);
59 p.mother2(evtstdhep.getLastMother(particleNumber) + 1);
68 if (evtstdhep.getFirstDaughter(particleNumber) != -1 ||
69 evtstdhep.getLastDaughter(particleNumber) != -1)
72 primGen->AddTrack(evtstdhep.getStdHepID(particleNumber),
73 evtMomentum.get(1), evtMomentum.get(2), evtMomentum.get(3),
74 vertexPoint.get(1), vertexPoint.get(2), vertexPoint.get(3),
75 -1,
true, evtMomentum.get(0));
void ensure_chigen_is_initialized()
virtual Bool_t ReadEvent(FairPrimaryGenerator *primGen)
virtual ~PndChiGenExclusive()
friend F32vec4 sqrt(const F32vec4 &a)
std::ostream * chigen_cout
FairPrimaryGenerator * primGen
PndChiGenExclusive(PartonicModel &model)