G4ImportanceConfigurator Class Reference

#include <G4ImportanceConfigurator.hh>

Inheritance diagram for G4ImportanceConfigurator:

G4VSamplerConfigurator

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 G4VTrackTerminatorGetTrackTerminator () const

Detailed Description

Definition at line 52 of file G4ImportanceConfigurator.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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]

Implements G4VSamplerConfigurator.

Definition at line 98 of file G4ImportanceConfigurator.cc.

00099 {
00100   return fImportanceProcess;
00101 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:15 2013 for Geant4 by  doxygen 1.4.7