52 : fWorld(worldvolume),
53 fWorldName(worldvolume->GetName()),
54 fPlacer(particlename),
56 fDeleteIalg( ( ! ialg) ),
66: fWorldName(worldvolumeName),
67 fPlacer(particlename),
69 fDeleteIalg( ( ! ialg) ),
79 if (fImportanceProcess)
81 fPlacer.RemoveProcess(fImportanceProcess);
82 delete fImportanceProcess;
93 G4cout <<
"G4ImportanceConfigurator:: entering importance configure, paraflag " << paraflag <<
G4endl;
100#ifdef G4MULTITHREADED
106 terminator,
"ImportanceProcess",paraflag);
108 if (!fImportanceProcess)
110 G4Exception(
"G4ImportanceConfigurator::Configure()",
112 "Failed allocation of G4ImportanceProcess !");
115 if(paraflag) fImportanceProcess->SetParallelWorld(fWorld->GetName());
116#ifdef G4MULTITHREADED
119 fPlacer.AddProcessAsSecondDoIt(fImportanceProcess);
125 return fImportanceProcess;
130 G4cout <<
" G4ImportanceConfigurator:: setting world name: " << name <<
G4endl;
G4TemplateAutoLock< G4Mutex > G4AutoLock
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEX_INITIALIZER
G4GLOB_DLL std::ostream G4cout
G4ImportanceConfigurator(const G4VPhysicalVolume *worldvolume, const G4String &particlename, G4VIStore &istore, const G4VImportanceAlgorithm *ialg, G4bool paraflag)
void SetWorldName(const G4String &Name)
virtual void Configure(G4VSamplerConfigurator *preConf)
virtual const G4VTrackTerminator * GetTrackTerminator() const
virtual ~G4ImportanceConfigurator()
G4VPhysicalVolume * GetWorldVolume() const
G4VPhysicalVolume * GetParallelWorld(const G4String &worldName)
static G4TransportationManager * GetTransportationManager()
G4Navigator * GetNavigatorForTracking() const
virtual const G4VTrackTerminator * GetTrackTerminator() const =0