37 #include "G4StepPoint.hh"    48     fForceCollisionModelID(-1),
    49     fCurrentTrack(nullptr),
    50     fCurrentTrackData(nullptr),
    51     fInitialTrackWeight(-1.0),
    61       ed << 
" Particle `" << particleName << 
"' not found !" << 
G4endl;
    62       G4Exception(
" G4BOptrForceCollision::G4BOptrForceCollision(...)",
    86   for ( std::map< const G4BiasingProcessInterface*, G4BOptnForceFreeFlight* >::iterator it = 
fFreeFlightOperations.begin() ;
    88     it++ ) 
delete (*it).second;
   114       if ( interfaceProcessSharedData ) 
   184       G4bool isFirstPhysGPIL = callingProcess-> GetIsFirstPostStepGPILInterface();
   187       if ( isFirstPhysGPIL )
   222       if ( isFirstPhysGPIL )
   234           if ( interactionLength < 
DBL_MAX/10. )
   244       return operationToReturn;
   267   if ( track->GetStep()->GetPreStepPoint()->GetStepStatus() == fGeomBoundary ) 
   326           ed << 
"Current track deleted while under biasing by " << 
GetName() << 
". Will result in inconsistencies.";
   327           G4Exception(
" G4BOptrForceCollision::EndTracking()",
   340                           const G4VParticleChange*                          )
   348       ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   349       G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
   373       ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   374       G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
   384           ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   385           G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
   397       ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   398       G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
   417       ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   418       G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
   428       ed << 
" Internal inconsistency : please submit bug report. " << 
G4endl;
   429       G4Exception(
" G4BOptrForceCollision::OperationApplied(...)",
 G4ParticleDefinition * FindParticle(G4int PDGEncoding)
 
std::ostringstream G4ExceptionDescription
 
G4bool IsFreeFromBiasing() const
 
void UpdateForStep(const G4Step *)
 
void Initialize(const G4Track *)
 
G4double fInitialTrackWeight
 
void AddCrossSection(const G4VProcess *, G4double)
 
const G4BOptrForceCollision * fForceCollisionOperator
 
const std::vector< const G4BiasingProcessInterface *> & GetPhysicsBiasingProcessInterfaces() const
 
G4BOptrForceCollisionTrackData * fCurrentTrackData
 
virtual G4VBiasingOperation * ProposeNonPhysicsBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess) final
 
G4VBiasingOperation * GetCurrentOccurenceBiasingOperation() const
 
G4ProcessManager * GetProcessManager() const
 
virtual void EndTracking() final
 
G4BOptrForceCollision(G4String particleToForce, G4String name="ForceCollision")
 
void OperationApplied(const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced) final
 
const G4String & GetProcessName() const
 
const G4BiasingProcessSharedData * GetSharedData() const
 
ForceCollisionState fForceCollisionState
 
void ResetInitialTrackWeight(G4double w)
 
G4double GetCurrentInteractionLength() const
 
G4BOptnForceCommonTruncatedExp * fSharedForceInteractionOperation
 
virtual void StartRun() final
 
G4bool GetInteractionOccured() const
 
const G4Track * fCurrentTrack
 
virtual void StartTracking(const G4Track *track) final
 
G4BOptnCloning * fCloningOperation
 
virtual void Configure() final
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
std::map< const G4BiasingProcessInterface *, G4BOptnForceFreeFlight *> fFreeFlightOperations
 
void SetCloneWeights(G4double clone1Weight, G4double clone2Weight)
 
static G4ParticleTable * GetParticleTable()
 
static G4int Register(const G4String &)
 
virtual G4VBiasingOperation * ProposeFinalStateBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess) final
 
G4VProcess * GetWrappedProcess() const
 
const G4ThreeVector & GetInitialMomentum() const
 
G4Track * GetCloneTrack() const
 
G4double GetMaximumDistance() const
 
G4int fForceCollisionModelID
 
virtual G4VBiasingOperation * ProposeOccurenceBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess) final
 
virtual void ConfigureForWorker() final
 
const G4String GetName() const
 
size_t GetNumberOfSharing() const
 
const G4ParticleDefinition * fParticleToBias