28 #include "G4VParticleChange.hh"    38     fOccurenceBiasingOperation                 (nullptr),
    39     fFinalStateBiasingOperation                (nullptr),
    40     fNonPhysicsBiasingOperation                (nullptr),
    41     fPreviousProposedOccurenceBiasingOperation (nullptr),
    42     fPreviousProposedFinalStateBiasingOperation(nullptr),
    43     fPreviousProposedNonPhysicsBiasingOperation(nullptr),
    44     fPreviousAppliedOccurenceBiasingOperation  (nullptr),
    45     fPreviousAppliedFinalStateBiasingOperation (nullptr),
    46     fPreviousAppliedNonPhysicsBiasingOperation (nullptr),
    47     fPreviousBiasingAppliedCase                (
BAC_None)
    64   else if ( (*it).second != 
this )
    67       ed << 
"Biasing operator `" << 
GetName() 
    68      << 
"' can not be attached to Logical volume `"    69      << logical->
GetName() << 
"' which is already used by an other operator !" << 
G4endl;
    83   else return (*it).second;
   107                          const G4VParticleChange*   particleChangeProduced )
   113   switch ( biasingCase )
   127       G4Exception(
"G4VBiasingOperator::ReportOperationApplied(...)",
   130           "Internal logic error, please report !");
   133       G4Exception(
"G4VBiasingOperator::ReportOperationApplied(...)",
   136           "Internal logic error, please report !");
   138   OperationApplied( callingProcess, biasingCase, operationApplied, particleChangeProduced );
   144                          G4double                        weightForOccurenceInteraction,
   146                          const G4VParticleChange*               particleChangeProduced )
   151   OperationApplied( callingProcess, biasingCase, occurenceOperationApplied, weightForOccurenceInteraction, finalStateOperationApplied, particleChangeProduced );
   206       for ( 
size_t i = 0 ; i < G4VBiasingOperator::fOperators.
Size() ; i++ ) G4VBiasingOperator::fOperators[i]->StartRun();
 static G4MapCache< const G4LogicalVolume *, G4VBiasingOperator *> fLogicalToSetupMap
 
void Put(const value_type &val) const
 
const G4VBiasingOperation * fPreviousProposedOccurenceBiasingOperation
 
G4VBiasingOperation * GetProposedFinalStateBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
virtual void OperationApplied(const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced)
 
G4ApplicationState fPreviousState
 
std::ostringstream G4ExceptionDescription
 
static G4VectorCache< G4VBiasingOperator *> fOperators
 
G4BiasingAppliedCase fPreviousBiasingAppliedCase
 
G4VBiasingOperation * GetProposedOccurenceBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
virtual G4VBiasingOperation * ProposeFinalStateBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)=0
 
virtual ~G4VBiasingOperator()
 
G4bool Notify(G4ApplicationState requestedState)
 
virtual void ExitBiasing(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
const G4VBiasingOperation * fPreviousAppliedOccurenceBiasingOperation
 
const G4String & GetName() const
 
G4BiasingOperatorStateNotifier()
 
virtual G4VBiasingOperation * ProposeOccurenceBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)=0
 
const G4VBiasingOperation * fPreviousAppliedNonPhysicsBiasingOperation
 
const G4VBiasingOperation * fPreviousProposedFinalStateBiasingOperation
 
void AttachTo(const G4LogicalVolume *)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
const G4VBiasingOperation * fPreviousAppliedFinalStateBiasingOperation
 
virtual G4VBiasingOperation * ProposeNonPhysicsBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)=0
 
static G4VBiasingOperator * GetBiasingOperator(const G4LogicalVolume *)
 
void Push_back(const value_type &val)
 
iterator Find(const key_type &k)
 
G4VBiasingOperator(G4String name)
 
map_type::iterator iterator
 
G4VBiasingOperation * fFinalStateBiasingOperation
 
~G4BiasingOperatorStateNotifier()
 
G4VBiasingOperation * fOccurenceBiasingOperation
 
static G4Cache< G4BiasingOperatorStateNotifier *> fStateNotifier
 
void ReportOperationApplied(const G4BiasingProcessInterface *callingProcess, G4BiasingAppliedCase biasingCase, G4VBiasingOperation *operationApplied, const G4VParticleChange *particleChangeProduced)
 
const G4VBiasingOperation * fPreviousProposedNonPhysicsBiasingOperation
 
G4VBiasingOperation * GetProposedNonPhysicsBiasingOperation(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
void ExitingBiasing(const G4Track *track, const G4BiasingProcessInterface *callingProcess)
 
G4VBiasingOperation * fNonPhysicsBiasingOperation
 
const G4String GetName() const