Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/biasing/GB01/README.md is written in an unsupported language. File is not indexed.

0001 \page ExampleGB01 Example GB01 
0002 
0003 ## Cross-section biasing
0004 
0005 This example illustrates how to bias process cross-sections.
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, the G4VBiasingOperation objects are
0015 - G4BOptnChangeCrossSection
0016 instances. This class is defined in processes/biasing/generic.
0017 
0018 A first operator is defined to handle the case of one particle:
0019 - GB01BOptrChangeCrossSection .
0020 
0021 The change of cross-section is generally speaking a change of process occurence.
0022 G4BOptnChangeCrossSection objets are then selected in the method:
0023 ```cpp
0024 G4VBiasingOperation* GB01BOptrChangeCrossSection::ProposeOccurenceBiasingOperation(...)
0025 ```
0026 
0027 To allow this same cross-section change to be applied to several particle
0028 types, an other operator is defined
0029 - GB01BOptrMultiParticleChangeCrossSection
0030 which holds one GB01BOptrChangeCrossSection per particle type, and which
0031 delegates then everything to it.
0032 
0033 The geometry is simple : a single volume to which an instance of
0034 GB01BOptrMultiParticleChangeCrossSection is attached to.
0035 
0036 The wrapping of physics processes by G4BiasingProcessInterface processes
0037 is simply handled by the G4GenericBiasingPhysics physics constructor, as shown
0038 in the main() program.
0039 
0040 Then, at whatever level (stepping action, or sensitive detector) the
0041 statistical weight of the track can be obtained as:
0042 ```cpp
0043 w = track->GetWeight() ;
0044 ```