#include <G4ImportanceConfigurator.hh>
Inheritance diagram for G4ImportanceConfigurator:
Public Member Functions | |
G4ImportanceConfigurator (G4VPhysicalVolume *worldvolume, const G4String &particlename, G4VIStore &istore, const G4VImportanceAlgorithm *ialg, G4bool paraflag) | |
virtual | ~G4ImportanceConfigurator () |
virtual void | Configure (G4VSamplerConfigurator *preConf) |
virtual const G4VTrackTerminator * | GetTrackTerminator () const |
Definition at line 52 of file G4ImportanceConfigurator.hh.
G4ImportanceConfigurator::G4ImportanceConfigurator | ( | G4VPhysicalVolume * | worldvolume, | |
const G4String & | particlename, | |||
G4VIStore & | istore, | |||
const G4VImportanceAlgorithm * | ialg, | |||
G4bool | paraflag | |||
) |
Definition at line 42 of file G4ImportanceConfigurator.cc.
00046 : fWorld(worldvolume), 00047 fPlacer(particlename), 00048 fIStore(istore), 00049 fDeleteIalg( ( ! ialg) ), 00050 fIalgorithm(( (fDeleteIalg) ? 00051 new G4ImportanceAlgorithm : ialg)), 00052 fImportanceProcess(0), 00053 paraflag(para) 00054 { 00055 }
G4ImportanceConfigurator::~G4ImportanceConfigurator | ( | ) | [virtual] |
Definition at line 57 of file G4ImportanceConfigurator.cc.
References G4ProcessPlacer::RemoveProcess().
00058 { 00059 if (fImportanceProcess) 00060 { 00061 fPlacer.RemoveProcess(fImportanceProcess); 00062 delete fImportanceProcess; 00063 } 00064 if (fDeleteIalg) 00065 { 00066 delete fIalgorithm; 00067 } 00068 }
void G4ImportanceConfigurator::Configure | ( | G4VSamplerConfigurator * | preConf | ) | [virtual] |
Implements G4VSamplerConfigurator.
Definition at line 71 of file G4ImportanceConfigurator.cc.
References G4ProcessPlacer::AddProcessAsSecondDoIt(), FatalException, G4cout, G4endl, G4Exception(), G4VSamplerConfigurator::GetTrackTerminator(), and G4ImportanceProcess::SetParallelWorld().
00072 { 00073 G4cout << " entering importance configure, paraflag " << paraflag << G4endl; 00074 const G4VTrackTerminator *terminator = 0; 00075 if (preConf) 00076 { 00077 terminator = preConf->GetTrackTerminator(); 00078 }; 00079 00080 G4cout << " creating importance process, paraflag is: " << paraflag << G4endl; 00081 fImportanceProcess = 00082 new G4ImportanceProcess(*fIalgorithm, 00083 fIStore, 00084 terminator,"ImportanceProcess",paraflag); 00085 if (!fImportanceProcess) 00086 { 00087 G4Exception("G4ImportanceConfigurator::Configure()", 00088 "FatalError", FatalException, 00089 "Failed allocation of G4ImportanceProcess !"); 00090 } 00091 00092 if(paraflag) fImportanceProcess->SetParallelWorld(fWorld); 00093 00094 fPlacer.AddProcessAsSecondDoIt(fImportanceProcess); 00095 }
const G4VTrackTerminator * G4ImportanceConfigurator::GetTrackTerminator | ( | ) | const [virtual] |