-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Example B4dScoreWriter
----------------------
This example demonstrates saving the Geant4 scorers hits in form of ntuples in a Root
file using Geant4 analysis tools.
The example is completely based on basic B4d example, the storing scorers hits is activated
in the main () function with instantiating G4ScoreNtupleWriter.
In difference from the B3aScoreWriter example, the G4AnalysisManager is explicitly used
in this example and the ntuples with scorers hits are saved in addition to the histograms
and ntuples created in B4RunAction.
The G4ScoreNtupleWriter and G4ScoreNtupleWriterMessenger classses are provided in
the 'scoreWriter' directory in this example. These classes are fully independent from
the example classes and they can be reused in any Geant4 application.
The Geant4 UI command defined in G4ScoreNtupleWriterMessenger can be used to choose
the output file type, the file name and the level of verbosity:
/score/writerType root
/score/fileName name
/score/writerVerbose 1
How to build
---------------
An additional step is needed when building the example with GNUmake
due to using the extra 'scoreWriter' directory:
% cd path_to_B4dScoreWriter/B4dScoreWriter
% gmake setup
% gmake
This will copy the files from scoreWriter in the example include and src;
to remove these files:
% gmake clean_setup
How to run
-------------
- Execute exampleB4dExt in the 'interactive mode' with visualization
% ./exampleB4dExt
and type in the commands from run1.mac line by line:
Idle> /run/initialize
Idle> /control/verbose 2
Idle> /tracking/verbose 2
Idle> /run/beamOn 1
Idle> ...
Idle> exit
or
Idle> /control/execute run1.mac
....
Idle> exit
- Execute exampleB4dExt in the 'batch' mode from macro files
(without visualization)
% ./exampleB4dExt -m run2.mac
% ./exampleB4dExt -m exampleB4dExt.in > exampleB3.out
See the B3 example README for the further documentation of the basic B3 example.