Skip to content

Commit 6eaf7c1

Browse files
committed
Pythia8Generator: use unique_ptr
1 parent 59d6c21 commit 6eaf7c1

2 files changed

Lines changed: 13 additions & 12 deletions

File tree

Generators/include/Generators/Pythia8Generator.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
#include "FairGenerator.h" // for FairGenerator
2727
#include "Rtypes.h" // for Double_t, Bool_t, Int_t, etc
28+
#include <memory>
2829

2930
class FairPrimaryGenerator;
3031
namespace Pythia8
@@ -62,8 +63,8 @@ class Pythia8Generator : public FairGenerator
6263
void GetPythiaInstance(int);
6364

6465
private:
65-
Pythia8::Pythia* mPythia; //!
66-
Pythia8::RndmEngine* mRandomEngine; //!
66+
std::unique_ptr<Pythia8::Pythia> mPythia; //!
67+
std::unique_ptr<Pythia8::RndmEngine> mRandomEngine; //!
6768

6869
protected:
6970

Generators/src/Pythia8Generator.cxx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,25 @@ namespace eventgen
4242
class PyTr1Rng : public RndmEngine
4343
{
4444
public:
45-
PyTr1Rng() { rng = new TRandom1(gRandom->GetSeed()); };
45+
PyTr1Rng() { mRng = std::make_unique<TRandom1>(gRandom->GetSeed()); };
4646
~PyTr1Rng() override = default;
4747

48-
Double_t flat() override { return rng->Rndm(); };
48+
Double_t flat() override { return mRng->TRandom1::Rndm(); };
4949

5050
private:
51-
TRandom1* rng; //!
51+
std::unique_ptr<TRandom1> mRng; //!
5252
};
5353

5454
class PyTr3Rng : public RndmEngine
5555
{
5656
public:
57-
PyTr3Rng() { rng = new TRandom3(gRandom->GetSeed()); };
57+
PyTr3Rng() { mRng = std::make_unique<TRandom3>(gRandom->GetSeed()); };
5858
~PyTr3Rng() override = default;
5959

60-
Double_t flat() override { return rng->Rndm(); };
60+
Double_t flat() override { return mRng->TRandom3::Rndm(); };
6161

6262
private:
63-
TRandom3* rng; //!
63+
std::unique_ptr<TRandom3> mRng; //!
6464
};
6565

6666
// ----- Default constructor -------------------------------------------
@@ -71,17 +71,17 @@ Pythia8Generator::Pythia8Generator()
7171
mId = 2212; // proton
7272
mMom = 400; // proton
7373
mHNL = 0; // HNL if set to !=0, for example 9900014, only track
74-
mPythia = new Pythia();
74+
mPythia = std::make_unique<Pythia>();
7575
}
7676
// -------------------------------------------------------------------------
7777

7878
// ----- Default constructor -------------------------------------------
7979
Bool_t Pythia8Generator::Init()
8080
{
81-
if (mUseRandom1) mRandomEngine = new PyTr1Rng();
82-
if (mUseRandom3) mRandomEngine = new PyTr3Rng();
81+
if (mUseRandom1) mRandomEngine = std::make_unique<PyTr1Rng>();
82+
if (mUseRandom3) mRandomEngine = std::make_unique<PyTr3Rng>();
8383

84-
mPythia->setRndmEnginePtr(mRandomEngine);
84+
mPythia->setRndmEnginePtr(mRandomEngine.get());
8585

8686
/** commenting these lines
8787
as they would override external settings **/

0 commit comments

Comments
 (0)