Skip to content

Commit d40b450

Browse files
authored
Merge pull request cms-sw#40820 from civanch/fix_generator_interface
Fix generator interface to Geant4
2 parents ee10aab + eb9c804 commit d40b450

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

SimG4Core/Generators/src/Generator.cc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -470,17 +470,20 @@ void Generator::particleAssignDaughters(G4PrimaryParticle *g4p, HepMC::GenPartic
470470
// value of the code compute inside TrackWithHistory
471471
setGenId(g4daught, (*vpdec)->barcode());
472472

473-
if (verbose > 2)
474-
LogDebug("SimG4CoreGenerator") << "Assigning a " << (*vpdec)->pdg_id() << " as daughter of a " << vp->pdg_id();
473+
int status = (*vpdec)->status();
474+
if (verbose > 1)
475+
LogDebug("SimG4CoreGenerator::::particleAssignDaughters")
476+
<< "Assigning a " << (*vpdec)->pdg_id() << " as daughter of a " << vp->pdg_id() << " status=" << status;
475477

476-
if (((*vpdec)->status() == 2 || (*vpdec)->status() > 3) && (*vpdec)->end_vertex() != nullptr) {
478+
if ((status == 2 || (status == 23 && std::abs(vp->pdg_id()) == 1000015) || (status > 50 && status < 100)) &&
479+
(*vpdec)->end_vertex() != nullptr) {
477480
double x2 = (*vpdec)->end_vertex()->position().x();
478481
double y2 = (*vpdec)->end_vertex()->position().y();
479482
double z2 = (*vpdec)->end_vertex()->position().z();
480483
double dd = std::sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) + (z1 - z2) * (z1 - z2));
481484
particleAssignDaughters(g4daught, *vpdec, dd);
482485
}
483-
(*vpdec)->set_status(1000 + (*vpdec)->status());
486+
(*vpdec)->set_status(1000 + status);
484487
g4p->SetDaughter(g4daught);
485488

486489
if (verbose > 1)

0 commit comments

Comments
 (0)