8
8
#ifndef FAIRRUNSIM_H
9
9
#define FAIRRUNSIM_H
10
10
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
15
16
16
17
#include < Rtypes.h> // for Bool_t, Double_t, Int_t, etc
17
18
#include < TMCtls.h> // for multi-threading
@@ -24,7 +25,6 @@ class FairMCEventHeader;
24
25
class FairMesh ;
25
26
class FairModule ;
26
27
class FairPrimaryGenerator ;
27
- class FairGenericVMCConfig ;
28
28
29
29
/* *
30
30
* Configure the Simulation session
@@ -178,8 +178,8 @@ class FairRunSim : public FairRun
178
178
fUseSimSetupPostInitFunction = true ;
179
179
}
180
180
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 () ; }
183
183
184
184
void SetIsMT (Bool_t isMT) { fIsMT = isMT; }
185
185
Bool_t IsMT () const { return fIsMT ; }
@@ -234,7 +234,7 @@ class FairRunSim : public FairRun
234
234
std::function<void ()> fSimSetupPostInit ; // ! /** A user provided function to do sim setup
235
235
// ! / instead of using macros **/
236
236
bool fUseSimSetupPostInitFunction = false ;
237
- FairGenericVMCConfig* fSimulationConfig ; // ! /** Simulation configuration */
237
+ std::unique_ptr< FairGenericVMCConfig> fSimulationConfig {} ; // ! /** Simulation configuration */
238
238
239
239
ClassDefOverride (FairRunSim, 2 );
240
240
};
0 commit comments