88#ifndef FAIRRUNSIM_H
99#define FAIRRUNSIM_H
1010
11- #include " FairIon.h" // for FairIon
12- #include " FairMCApplication.h" // for FairMCApplication
13- #include " FairParticle.h" // for FairParticle
14- #include " FairRun.h" // for FairRun
11+ #include " FairGenericVMCConfig.h" // for FairGenericVMCConfig
12+ #include " FairIon.h" // for FairIon
13+ #include " FairMCApplication.h" // for FairMCApplication
14+ #include " FairParticle.h" // for FairParticle
15+ #include " FairRun.h" // for FairRun
1516
1617#include < Rtypes.h> // for Bool_t, Double_t, Int_t, etc
1718#include < TMCtls.h> // for multi-threading
@@ -24,7 +25,6 @@ class FairMCEventHeader;
2425class FairMesh ;
2526class FairModule ;
2627class FairPrimaryGenerator ;
27- class FairGenericVMCConfig ;
2828
2929/* *
3030 * Configure the Simulation session
@@ -178,8 +178,8 @@ class FairRunSim : public FairRun
178178 fUseSimSetupPostInitFunction = true ;
179179 }
180180
181- void SetSimulationConfig (FairGenericVMCConfig* tconf) { fSimulationConfig = tconf; }
182- FairGenericVMCConfig* GetSimulationConfig () { return fSimulationConfig ; }
181+ void SetSimulationConfig (std::unique_ptr< FairGenericVMCConfig>&& tconf) { fSimulationConfig = std::move ( tconf) ; }
182+ FairGenericVMCConfig* GetSimulationConfig () { return fSimulationConfig . get () ; }
183183
184184 void SetIsMT (Bool_t isMT) { fIsMT = isMT; }
185185 Bool_t IsMT () const { return fIsMT ; }
@@ -234,7 +234,7 @@ class FairRunSim : public FairRun
234234 std::function<void ()> fSimSetupPostInit ; // ! /** A user provided function to do sim setup
235235 // ! / instead of using macros **/
236236 bool fUseSimSetupPostInitFunction = false ;
237- FairGenericVMCConfig* fSimulationConfig ; // ! /** Simulation configuration */
237+ std::unique_ptr< FairGenericVMCConfig> fSimulationConfig {} ; // ! /** Simulation configuration */
238238
239239 ClassDefOverride (FairRunSim, 2 );
240240};
0 commit comments