Back to home page

EIC code displayed by LXR

 
 

    


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() ;