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 ]
1
2 =====================================================================
3 Geant4 - Cexmc advanced example
4 =====================================================================
5
6 README
7 -----------------------
8
9 Author: A. Radkov (alexey.radkov@gmail.com)
10
11 ------> Introduction
12
13 Cexmc stands for Charge EXchange Monte Carlo. The program was used to simulate
14 real experiments in Petersburg Nuclear Physics Institute (PNPI, Russia).
15 Detailed User's Manual and explanatory images of the experimental setup can be
16 found in directory doc/ of this example.
17
18 ------> Compilation
19
20 Basic modules of Cexmc must compile with Geant4 version 9.4. Cexmc won't compile
21 with older versions of Geant4. Cexmc contains several optional modules which can
22 be enabled or disabled in the makefile by setting dedicated macros: most of them
23 are listed in the beginning of the makefile and well commented. Modules may
24 involve additional dependencies. In the following table the dependencies and
25 related modules are shown.
26
27 Dependency Requirement Makefile Macro / Module Comment
28 --------------------------------------------------------------------------------
29 boost::serialize Optional CEXMC_USE_PERSISTENCY / used when
30 Persistency (de)serialization of
31 events and run data
32
33 boost::split Optional CEXMC_USE_PERSISTENCY / used when parsing
34 Main command line
35 arguments related to
36 persistency module
37
38 boost::spirit Optional CEXMC_USE_CUSTOM_FILTER / used in custom
39 Custom filter filter engine
40
41 cernlib Optional CEXMC_USE_GENBOD / Main user can choose
42 native GENBOD() as
43 phase space
44 generator
45
46 CERN ROOT Optional CEXMC_USE_ROOT / used in histograming
47 Histograming
48
49 CERN ROOT / Qt Optional CEXMC_USE_ROOTQT / used for live
50 binding Histograming histograms in Qt
51 sessions
52 --------------------------------------------------------------------------------
53
54 The persistency module is compatible with a pretty old boost::serialize version
55 (compilation was tested under Scientific Linux 4.8 with gcc 3.4.6 and boost
56 version 1.32). Custom filter requires a newer boost as far as it uses modern
57 boost::spirit library which requires boost version 1.37 and higher.
58 Presence of CERN ROOT libraries is tested automatically in the makefile, but it
59 is possible to disable or enable the histograming framework manually using flag
60 CEXMC_USE_HISTOGRAMING in the makefile.
61 Compilation of visualization modules and interactive sessions depends on whether
62 standard Geant4 macros like G4VIS_USE, G4UI_USE, G4UI_USE_TCSH and G4UI_USE_QT
63 have been set.
64 If boost is installed in a special path in your system then you may need to
65 properly set environment variables BOOST_INCLUDE_PATH and BOOST_LIBRARY_PATH
66 which denote directories where boost include files and libraries are located.
67
68 ------> Run modes
69
70 Run modes are set from command-line options. To see available command-line
71 options type in terminal 'cexmc -h' or just 'cexmc'. Some run modes can be
72 unavailable if certain modules were not compiled.
73
74 Here is list of run modes categorized by type of interaction with user:
75
76 1. Batch mode. The simplest mode without any interaction with user.
77 No command line option is required.
78 2. Interactive mode. The program provides an interactive shell.
79 To run in the interactive mode command line option -i must be specified.
80 3. Graphical Qt mode. This mode is specified by command line option -g.
81
82 List of run modes categorized by task:
83
84 1. Straight mode (or Monte Carlo mode). The program will read preinit and
85 init macros, then calculate acceptances and (optionally) save data in
86 project files. Project files are saved in a directory defined by
87 environment variable CEXMC_PROJECTS_DIR (or in the current directory if it
88 is not defined), name of the project is specified by option -w. Preinit
89 and init macros are set by options -p and -m respectively. In the straight
90 mode preinit macro must be specified explicitly, as far as desired
91 production model can be instantiated only in preinit phase.
92 2. Replay mode (or Read project mode). In this mode the program will not use
93 common Geant4's event loop. Instead, it will sequentially read event data
94 from an existing project and pass them into
95 CexmcEventAction::EndOfEventAction(). The read project is specified by
96 option -r. This mode is useful when user wants to recalculate data from an
97 existing project with different conditions (for example with different
98 reconstruction parameters) or apply a custom filter. The results of run
99 can be written again into another project.
100 3. Show results mode (or Output mode). The program will output various data
101 from an existing project (specified by option -r). Type(s) of data are
102 specified in option -o. For example, to show results of a run user can
103 specify -orun in command line. To show events, geometry and run results
104 user can specify -oevents,geom,run.