Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/biasing/GB02/

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Name Size       Last modified (GMT) Description
Back Parent directory       2024-12-05 15:16:16
Folder include/       2024-12-05 15:16:16
Folder src/       2024-12-05 15:16:16
File CMakeLists.txt 2349 bytes       2024-12-05 15:16:16
File GNUmakefile 366 bytes       2024-12-05 15:16:16
File History 1904 bytes       2024-12-05 15:16:16
File README 2217 bytes       2024-12-05 15:16:16
C++ file exampleGB02.cc 5365 bytes       2024-12-05 15:16:16
File exampleGB02.in 239 bytes       2024-12-05 15:16:16
File exampleGB02.out 342241 bytes       2024-12-05 15:16:16

  1                 Example GB02 : force collision biasing
  2                 --------------------------------------
  3 
  4     This example illustrates how to make a force collision biasing in a way
  5 that is essentially the same than the MCNP one.
  6 
  7     Generally speaking, the scheme consists of a G4VBiasingOperator that takes
  8 decisions on what sort of biasing is to be applied. The operator makes these
  9 decision on requests of the G4BiasingProcessInterface process. This process
 10 wraps an actual physics process and asks to the operator about what sort of
 11 biasing it should apply. This operator selects G4VBiasingOperation objects that
 12 implement the actual biasing content.
 13 
 14     In the present case, we make use of the biasing operator
 15 
 16                          G4BOptrForceCollision
 17 
 18 that implements an "a la MCNP" force collision scheme for one particle type.
 19 This operator is defined in processes/biasing/generic. It is a non-trivial
 20 operator.
 21     It starts by "splitting" the track at the volume entrance. Then this
 22 track is forced to fly through the volume with no interaction. The
 23 G4OptnForceFreeFlight biasing operation is used for that.
 24     The second copy is then forced to interact within the volume, which is
 25 handled by the G4BOptnForceCommonTruncatedExp operation : it is common as it
 26 takes care of several processes by itself, and it applies a truncated
 27 exponential law : ie and exponential law limited to the [0,L] range, L being
 28 the volume width along the track flight.
 29 
 30     To allow several particle types to undergo this force interaction scheme,
 31 an other operator is defined
 32 
 33                     GB02BOptrMultiParticleForceCollision
 34 
 35 which holds one G4BOptrForceCollision per particle type, and which
 36 delegates then everything to it.
 37 
 38     The geometry is simple : a single volume to which an instance of
 39 GB02BOptrMultiParticleForceCollision is attached to.
 40 
 41     The wrapping of physics processes by G4BiasingProcessInterface processes
 42 is simply handled by the G4GenericBiasingPhysics physics constructor, as shown
 43 in the main program.
 44 
 45 
 46     Then, at whatever level (stepping action, or sensitive detector) the
 47 statistical weight of the track can be obtained as:
 48 
 49                         w = track->GetWeight() ;