Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GB06BOptrSplitAndKillByImportance Class Reference

#include <GB06BOptrSplitAndKillByImportance.hh>

Inheritance diagram for GB06BOptrSplitAndKillByImportance:
Collaboration diagram for GB06BOptrSplitAndKillByImportance:

Public Member Functions

 GB06BOptrSplitAndKillByImportance (G4String particleToBias, G4String name="SplitAndKillByImportance")
 
virtual ~GB06BOptrSplitAndKillByImportance ()
 
virtual void StartRun ()
 
void SetParallelWorld (G4VPhysicalVolume *parallelWorld)
 
std::map< G4int, G4int > & GetImportanceMap ()
 
- Public Member Functions inherited from G4VBiasingOperator
 G4VBiasingOperator (G4String name)
 
virtual ~G4VBiasingOperator ()
 
virtual void Configure ()
 
virtual void ConfigureForWorker ()
 
virtual void StartTracking (const G4Track *)
 
virtual void EndTracking ()
 
const G4String GetName () const
 
void AttachTo (const G4LogicalVolume *)
 
G4BiasingAppliedCase GetPreviousBiasingAppliedCase () const
 
G4VBiasingOperationGetProposedOccurenceBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
G4VBiasingOperationGetProposedFinalStateBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
G4VBiasingOperationGetProposedNonPhysicsBiasingOperation (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
void ExitingBiasing (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
void ReportOperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced)
 
void ReportOperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced)
 
const G4VBiasingOperationGetPreviousNonPhysicsAppliedOperation ()
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VBiasingOperator
static const std::vector
< G4VBiasingOperator * > & 
GetBiasingOperators ()
 
static G4VBiasingOperatorGetBiasingOperator (const G4LogicalVolume *)
 
- Protected Member Functions inherited from G4VBiasingOperator
virtual void OperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced)
 
virtual void OperationApplied (const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *occurenceOperationApplied, G4double weightForOccurenceInteraction, G4VBiasingOperation *finalStateOperationApplied, const G4VParticleChange *particleChangeProduced)
 
virtual void ExitBiasing (const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 

Detailed Description

Definition at line 61 of file GB06BOptrSplitAndKillByImportance.hh.

Constructor & Destructor Documentation

GB06BOptrSplitAndKillByImportance::GB06BOptrSplitAndKillByImportance ( G4String  particleToBias,
G4String  name = "SplitAndKillByImportance" 
)

Definition at line 47 of file GB06BOptrSplitAndKillByImportance.cc.

49  : G4VBiasingOperator(name),
50  fParallelWorld ( nullptr ),
51  fParallelWorldIndex ( -1 ),
52  fBiasingLimiterProcess ( nullptr )
53 {
54  fParticleToBias = G4ParticleTable::GetParticleTable()->FindParticle(particleName);
55 
56  if ( fParticleToBias == 0 )
57  {
59  ed << "Particle `" << particleName << "' not found !" << G4endl;
60  G4Exception("GB06BOptrSplitAndKillByImportance(...)",
61  "exGB06.01",
63  ed);
64  }
65 
66  fSplitAndKillByImportance =
67  new GB06BOptnSplitAndKillByImportance("splitterFor_"+particleName);
68 
69 }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
static G4ParticleTable * GetParticleTable()
G4VBiasingOperator(G4String name)
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

GB06BOptrSplitAndKillByImportance::~GB06BOptrSplitAndKillByImportance ( )
virtual

Definition at line 73 of file GB06BOptrSplitAndKillByImportance.cc.

74 {
75  delete fSplitAndKillByImportance;
76 }

Member Function Documentation

std::map< G4int, G4int >& GB06BOptrSplitAndKillByImportance::GetImportanceMap ( )
inline

Definition at line 104 of file GB06BOptrSplitAndKillByImportance.hh.

104 { return fImportanceMap; }
void GB06BOptrSplitAndKillByImportance::SetParallelWorld ( G4VPhysicalVolume parallelWorld)
inline

Definition at line 100 of file GB06BOptrSplitAndKillByImportance.hh.

101  { fParallelWorld = parallelWorld; }
void GB06BOptrSplitAndKillByImportance::StartRun ( )
virtual

Reimplemented from G4VBiasingOperator.

Definition at line 80 of file GB06BOptrSplitAndKillByImportance.cc.

81 {
82  // ---------------
83  // -- Setup stage:
84  // ---------------
85  // -- get the particle process manager...
86  const G4ProcessManager* processManager = fParticleToBias->GetProcessManager();
87  // -- ... to obtain the biasing information shared among this particle processes:
88  fBiasingSharedData = G4BiasingProcessInterface::GetSharedData( processManager );
89  // -- Remember the index of the parallel world:
90  fBiasingLimiterProcess = fBiasingSharedData->GetParallelGeometriesLimiterProcess();
91  fParallelWorldIndex = fBiasingLimiterProcess->GetParallelWorldIndex(fParallelWorld);
92 
93  // -- Setup the biasing operation:
94  fSplitAndKillByImportance-> SetBiasingSharedData( fBiasingSharedData );
95  fSplitAndKillByImportance->SetParallelWorldIndex( fParallelWorldIndex );
96  fSplitAndKillByImportance-> SetImportanceMap( &fImportanceMap );
97 
98 }
G4int GetParallelWorldIndex(const G4VPhysicalVolume *parallelWorld) const
void SetParallelWorldIndex(G4int parallelWorldIndex)
const G4ParallelGeometriesLimiterProcess * GetParallelGeometriesLimiterProcess() const
G4ProcessManager * GetProcessManager() const
const G4BiasingProcessSharedData * GetSharedData() const

Here is the call graph for this function:


The documentation for this class was generated from the following files: