Warning, /geant4/examples/extended/biasing/GB02/README is written in an unsupported language. File is not indexed.
0001 Example GB02 : force collision biasing
0002 --------------------------------------
0003
0004 This example illustrates how to make a force collision biasing in a way
0005 that is essentially the same than the MCNP one.
0006
0007 Generally speaking, the scheme consists of a G4VBiasingOperator that takes
0008 decisions on what sort of biasing is to be applied. The operator makes these
0009 decision on requests of the G4BiasingProcessInterface process. This process
0010 wraps an actual physics process and asks to the operator about what sort of
0011 biasing it should apply. This operator selects G4VBiasingOperation objects that
0012 implement the actual biasing content.
0013
0014 In the present case, we make use of the biasing operator
0015
0016 G4BOptrForceCollision
0017
0018 that implements an "a la MCNP" force collision scheme for one particle type.
0019 This operator is defined in processes/biasing/generic. It is a non-trivial
0020 operator.
0021 It starts by "splitting" the track at the volume entrance. Then this
0022 track is forced to fly through the volume with no interaction. The
0023 G4OptnForceFreeFlight biasing operation is used for that.
0024 The second copy is then forced to interact within the volume, which is
0025 handled by the G4BOptnForceCommonTruncatedExp operation : it is common as it
0026 takes care of several processes by itself, and it applies a truncated
0027 exponential law : ie and exponential law limited to the [0,L] range, L being
0028 the volume width along the track flight.
0029
0030 To allow several particle types to undergo this force interaction scheme,
0031 an other operator is defined
0032
0033 GB02BOptrMultiParticleForceCollision
0034
0035 which holds one G4BOptrForceCollision per particle type, and which
0036 delegates then everything to it.
0037
0038 The geometry is simple : a single volume to which an instance of
0039 GB02BOptrMultiParticleForceCollision is attached to.
0040
0041 The wrapping of physics processes by G4BiasingProcessInterface processes
0042 is simply handled by the G4GenericBiasingPhysics physics constructor, as shown
0043 in the main program.
0044
0045
0046 Then, at whatever level (stepping action, or sensitive detector) the
0047 statistical weight of the track can be obtained as:
0048
0049 w = track->GetWeight() ;