HomeHEPForge

Work around change of interface for setRndmEnginePtr in Pythia8 310

Description

Work around change of interface for setRndmEnginePtr in Pythia8 310

Summary:
As detailed in T228, the interface of setRndmEnginePtr has changed in Pythia8
version 310, which results in build failures for EvtGen.

This revision works around this change by modifying the internal storage of the
EvtPythiaRandom pointer from a std::unique_ptr to a std::shared_ptr and then
having a compile-time switch on the Pythia8 version to either pass directly the
shared_ptr (in versions 310 and later) or the underlying raw pointer (in
earlier versions).

Closes T228.

Test Plan:
Code compiles successfully with Pythia8 310 and also earlier versions.
Comparison of generated validation distributions before and after change look good.

Reviewers: jback, kreps, abudinen

Reviewed By: jback, abudinen

Subscribers: #evtgen_admins

Tags: #evtgen

Maniphest Tasks: T228

Differential Revision: https://phab.hepforge.org/D96

Details

Provenance
tlathamAuthored on Aug 21 2023, 11:57 AM
tlathamPushed on Aug 21 2023, 4:47 PM
Reviewer
jback
Differential Revision
D96: Work around change of interface for setRndmEnginePtr in Pythia8 310
Parents
rEVTGENd2fecc75bda8: Bugfix probmax issue for TENSOR daughter in EvtSSD_DirectCP model.
Branches
Unknown
Tags
Unknown
Tasks
T228: Build failure with Pythia8 version 310