94 G4bool isLimiting = fBiasingSharedData
102 return &fDummyParticleChange;
111 fPostStepTouchableHistory =
112 biasingLimiterProcess
113 ->GetNavigator( fParallelWorldIndex )
114 ->CreateTouchableHistoryHandle();
123 if ( fPreStepTouchableHistory ->GetVolume() !=
129 return &fDummyParticleChange;
144 G4int preImportance = (*fImportanceMap)[ preReplicaNumber];
145 G4int postImportance = (*fImportanceMap)[postReplicaNumber];
155 if ( postImportance > preImportance )
158 G4int splittingFactor = postImportance/preImportance;
161 G4double weightOfTrack = initialWeight/splittingFactor;
183 if ( random > survivingProbability )
196 return &fParticleChange;
virtual void Initialize(const G4Track &track)
G4VPhysicalVolume * GetVolume(G4int depth=0) const
void ProposeParentWeight(G4double finalWeight)
void SetWeight(G4double aValue)
void SetSecondaryWeightByProcess(G4bool)
const G4ParallelGeometriesLimiterProcess * GetParallelGeometriesLimiterProcess() const
G4int GetReplicaNumber(G4int depth=0) const
const std::vector< G4bool > & GetIsLimiting() const
virtual void Initialize(const G4Track &)
void AddSecondary(G4Track *aSecondary)
G4double GetWeight() const
void ProposeTrackStatus(G4TrackStatus status)