Import Geant4 10.5.1 source tree
This commit is contained in:
@@ -47,7 +47,7 @@ enum G4BiasingAppliedCase
|
||||
BAC_None, // -- not under biasing
|
||||
BAC_NonPhysics, // -- splitting, killing (not a physics process biasing)
|
||||
BAC_FinalState, // -- physics process final state biasing only
|
||||
BAC_Occurence // -- physics process occurence biasing; may come together with a final state biasing
|
||||
BAC_Occurence // -- physics process occurrence biasing; may come together with a final state biasing
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
//
|
||||
// o The change of behavior of a physics process can be:
|
||||
// - a change of the PostStep interaction probabilty, so-called
|
||||
// occurence biasing
|
||||
// occurrence biasing
|
||||
// - a change in final state production
|
||||
// - both, provided above two are uncorrelated.
|
||||
// o The change of occurence is driven by providing a biasing interaction
|
||||
// o The change of occurrence is driven by providing a biasing interaction
|
||||
// law (G4VBiasingInteractionLaw) that is used in place of the analog
|
||||
// exponential law.
|
||||
// This change of occurence is controlled through many handles.
|
||||
// This change of occurrence is controlled through many handles.
|
||||
// o The change in final state production is made through one single
|
||||
// method the user is fully responsible of.
|
||||
//
|
||||
@@ -96,12 +96,12 @@ public:
|
||||
// ** Methods for physics-based biasing:
|
||||
// *************************************
|
||||
// --
|
||||
// ---- I. Biasing of the process occurence:
|
||||
// ---- I. Biasing of the process occurrence:
|
||||
// -----------------------------------------
|
||||
// ---- The biasing of the process occurence regards the occurence of the PostStepDoIt
|
||||
// ---- The biasing of the process occurrence regards the occurrence of the PostStepDoIt
|
||||
// ---- behavior. But the weight is manipulated by both AlongStep methods (weight for
|
||||
// ---- non-interaction) and PostStep methods (weight for interaction). For this
|
||||
// ---- reason, occurence biasing is handled by both AlongStep and PostStep methods.
|
||||
// ---- reason, occurrence biasing is handled by both AlongStep and PostStep methods.
|
||||
// ----
|
||||
// ---- If the operation is returned to the G4BiasingProcessInterface process by the
|
||||
// ---- ProposeOccurenceBiasingOperation(...)/GetProposedOccurenceBiasingOperation(...) method
|
||||
@@ -109,7 +109,7 @@ public:
|
||||
// ----
|
||||
// ---- I.1) Methods called in at the PostStepGetPhysicalInteractionLength(...) level :
|
||||
// ----
|
||||
// ------ o Main and mandatory method for biasing of the PostStep process biasing occurence :
|
||||
// ------ o Main and mandatory method for biasing of the PostStep process biasing occurrence :
|
||||
// ------ - propose an interaction law to be substituted to the process that is biased
|
||||
// ------ - the operation is told which is the G4BiasingProcessInterface calling it with
|
||||
// ------ callingProcess argument.
|
||||
@@ -148,13 +148,13 @@ public:
|
||||
// ------ User has full freedom for the particle change returned, and is reponsible for
|
||||
// ------ the correctness of weights set to tracks.
|
||||
// ------ The forcedBiasedFinalState should be left as is (ie false) in general. In this
|
||||
// ------ way, if an occurence biasing is also applied in the step, the weight correction
|
||||
// ------ way, if an occurrence biasing is also applied in the step, the weight correction
|
||||
// ------ for it will be applied. If returned forceBiasedFinalState is returned true, then
|
||||
// ------ the returned particle change will be returned as is to the stepping. Full
|
||||
// ------ responsibility of the weight correctness is taken by the biasing operation.
|
||||
// ------ The wrappedProcess can be accessed through the G4BiasingProcessInterface if needed.
|
||||
// ------ This can be used in conjonction with an occurence biasing, provided this final
|
||||
// ------ state biasing is uncorrelated with the occurence biasing (as single multiplication
|
||||
// ------ This can be used in conjunction with an occurrence biasing, provided this final
|
||||
// ------ state biasing is uncorrelated with the occurrence biasing (as single multiplication
|
||||
// ------ of weights occur between these two biasings).
|
||||
virtual G4VParticleChange* ApplyFinalStateBiasing( const G4BiasingProcessInterface* /* callingProcess */,
|
||||
const G4Track* /* track */,
|
||||
|
||||
@@ -76,10 +76,10 @@
|
||||
// 2) physics-based biasing:
|
||||
// -------------------------
|
||||
// Physics-based biasing operations are of two types:
|
||||
// - biasing of the physics process occurence interaction law
|
||||
// - biasing of the physics process occurrence interaction law
|
||||
// - biasing of the physics process final state production
|
||||
//
|
||||
// a) The biasing of the occurence interaction law is proposed by:
|
||||
// a) The biasing of the occurrence interaction law is proposed by:
|
||||
//
|
||||
// virtual G4VBiasingOperation* ProposeOccurenceBiasingOperation( const G4Track* track,
|
||||
// const G4BiasingProcessInterface* callingProcess ) = 0;
|
||||
@@ -131,7 +131,7 @@
|
||||
// - physics-based biasing:
|
||||
// - the operator requested no biasing operations, and did let the physics
|
||||
// process go : biasingCase == BAC_None;
|
||||
// - a single final state biasing was proposed, with no concomittant occurence:
|
||||
// - a single final state biasing was proposed, with no concomittant occurrence:
|
||||
// biasingCase == BAC_FinalState;
|
||||
// The operation applied and final state passed to the tracking (particleChangeProduced) are
|
||||
// passed as information to the operator.
|
||||
@@ -142,14 +142,14 @@
|
||||
// G4double weightForOccurenceInteraction,
|
||||
// G4VBiasingOperation* finalStateOperationApplied,
|
||||
// const G4VParticleChange* particleChangeProduced );
|
||||
// This method is called in case an occurence biasing operation has been applied during the step.
|
||||
// This method is called in case an occurrence biasing operation has been applied during the step.
|
||||
// The biasingCase value is then the one of the final state biasing, if any : depending on if the
|
||||
// occurence operation was applied alone and together with a final state operation, the
|
||||
// occurrence operation was applied alone and together with a final state operation, the
|
||||
// biasingCase will take values:
|
||||
// - occurence biasing alone : biasingCase == BAC_None ;
|
||||
// - occurrence biasing alone : biasingCase == BAC_None ;
|
||||
// in which case finalStateOperationApplied == 0;
|
||||
// - occurence biasing + final state biasing : biasingCase == BAC_FinalState;
|
||||
// The particleChangeProduced is the one *before* application of the weight for occurence : hence
|
||||
// - occurrence biasing + final state biasing : biasingCase == BAC_FinalState;
|
||||
// The particleChangeProduced is the one *before* application of the weight for occurrence : hence
|
||||
// either the particle change of the (analog) physics process, or the biased final state, resulting
|
||||
// from the biasing by the finalStateOperationApplied operation.
|
||||
//
|
||||
@@ -213,11 +213,11 @@ protected:
|
||||
virtual G4VBiasingOperation* ProposeNonPhysicsBiasingOperation( const G4Track* track, const G4BiasingProcessInterface* callingProcess ) = 0;
|
||||
// -- physics-based biasing:
|
||||
// -------------------------
|
||||
// -- Method to propose an occurence biasing operation : ie a change of the interaction length distribution. The proposed
|
||||
// -- Method to propose an occurrence biasing operation : ie a change of the interaction length distribution. The proposed
|
||||
// -- biasing operation will then be asked for its interaction law.
|
||||
// -- Note that *** all sanity checks regarding the operation and its interaction law will have to have been performed
|
||||
// -- before returning the biasing operation pointer *** as no corrective/aborting actions will be possible beyond this point.
|
||||
// -- The informations provided by the G4BiasingProcessInterface calling process (previous occurence operation, previous step length,
|
||||
// -- The informations provided by the G4BiasingProcessInterface calling process (previous occurrence operation, previous step length,
|
||||
// -- etc.) might be useful for doing this. They will be useful also to decide with continuing with a same operation proposed
|
||||
// -- in the previous step, updating the interaction law taking into account the new G4Track state and the previous step size.
|
||||
// -- [ Second operator method called, at the PostStepGetPhysicalInterationLenght(...) level. ]
|
||||
@@ -231,9 +231,9 @@ protected:
|
||||
// ---- report to operator about the operation applied, the biasingCase value provides the case of biasing applied:
|
||||
virtual void OperationApplied( const G4BiasingProcessInterface* callingProcess, G4BiasingAppliedCase biasingCase,
|
||||
G4VBiasingOperation* operationApplied, const G4VParticleChange* particleChangeProduced );
|
||||
// ---- same as above, report about the operation applied, for the case an occurence biasing was applied, together or not with a final state biasing.
|
||||
// ---- same as above, report about the operation applied, for the case an occurrence biasing was applied, together or not with a final state biasing.
|
||||
// ---- The variable biasingCase tells if the final state is a biased one or not. **But in all cases**, this call happens only
|
||||
// ---- for an occurence biaising : ie the occurence weight is applied on top of the particleChangeProduced, which is the particle
|
||||
// ---- for an occurrence biasing : ie the occurrence weight is applied on top of the particleChangeProduced, which is the particle
|
||||
// ---- *before* the weight application for occurence biasing.
|
||||
virtual void OperationApplied( const G4BiasingProcessInterface* callingProcess, G4BiasingAppliedCase biasingCase,
|
||||
G4VBiasingOperation* occurenceOperationApplied, G4double weightForOccurenceInteraction,
|
||||
|
||||
Reference in New Issue
Block a user