Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/advanced/ChargeExchangeMC/README is written in an unsupported language. File is not indexed.

0001 
0002      =====================================================================
0003                         Geant4 - Cexmc advanced example
0004      =====================================================================
0005 
0006                                     README
0007                              -----------------------
0008 
0009 Author: A. Radkov (alexey.radkov@gmail.com)
0010 
0011 ------> Introduction
0012 
0013 Cexmc stands for Charge EXchange Monte Carlo. The program was used to simulate
0014 real experiments in Petersburg Nuclear Physics Institute (PNPI, Russia).
0015 Detailed User's Manual and explanatory images of the experimental setup can be
0016 found in directory doc/ of this example.
0017 
0018 ------> Compilation
0019 
0020 Basic modules of Cexmc must compile with Geant4 version 9.4. Cexmc won't compile
0021 with older versions of Geant4. Cexmc contains several optional modules which can
0022 be enabled or disabled in the makefile by setting dedicated macros: most of them
0023 are listed in the beginning of the makefile and well commented. Modules may
0024 involve additional dependencies. In the following table the dependencies and
0025 related modules are shown.
0026 
0027 Dependency        Requirement  Makefile Macro / Module      Comment
0028 --------------------------------------------------------------------------------
0029 boost::serialize  Optional      CEXMC_USE_PERSISTENCY /     used when
0030                                 Persistency                 (de)serialization of
0031                                                             events and run data
0032 
0033 boost::split      Optional      CEXMC_USE_PERSISTENCY /     used when parsing
0034                                 Main                        command line
0035                                                             arguments related to
0036                                                             persistency module
0037 
0038 boost::spirit     Optional      CEXMC_USE_CUSTOM_FILTER /   used in custom
0039                                 Custom filter               filter engine
0040 
0041 cernlib           Optional      CEXMC_USE_GENBOD / Main     user can choose
0042                                                             native GENBOD() as
0043                                                             phase space
0044                                                             generator
0045 
0046 CERN ROOT         Optional      CEXMC_USE_ROOT /            used in histograming
0047                                 Histograming
0048 
0049 CERN ROOT / Qt    Optional      CEXMC_USE_ROOTQT /          used for live
0050 binding                         Histograming                histograms in Qt
0051                                                             sessions
0052 --------------------------------------------------------------------------------
0053 
0054 The persistency module is compatible with a pretty old boost::serialize version
0055 (compilation was tested under Scientific Linux 4.8 with gcc 3.4.6 and boost
0056 version 1.32). Custom filter requires a newer boost as far as it uses modern
0057 boost::spirit library which requires boost version 1.37 and higher.
0058 Presence of CERN ROOT libraries is tested automatically in the makefile, but it
0059 is possible to disable or enable the histograming framework manually using flag
0060 CEXMC_USE_HISTOGRAMING in the makefile.
0061 Compilation of visualization modules and interactive sessions depends on whether
0062 standard Geant4 macros like G4VIS_USE, G4UI_USE, G4UI_USE_TCSH and G4UI_USE_QT
0063 have been set.
0064 If boost is installed in a special path in your system then you may need to
0065 properly set environment variables BOOST_INCLUDE_PATH and BOOST_LIBRARY_PATH
0066 which denote directories where boost include files and libraries are located.
0067 
0068 ------> Run modes
0069 
0070 Run modes are set from command-line options. To see available command-line
0071 options type in terminal 'cexmc -h' or just 'cexmc'. Some run modes can be
0072 unavailable if certain modules were not compiled.
0073 
0074 Here is list of run modes categorized by type of interaction with user:
0075 
0076    1. Batch mode. The simplest mode without any interaction with user.
0077       No command line option is required.
0078    2. Interactive mode. The program provides an interactive shell.
0079       To run in the interactive mode command line option -i must be specified.
0080    3. Graphical Qt mode. This mode is specified by command line option -g.
0081 
0082 List of run modes categorized by task:
0083 
0084    1. Straight mode (or Monte Carlo mode). The program will read preinit and
0085       init macros, then calculate acceptances and (optionally) save data in
0086       project files. Project files are saved in a directory defined by
0087       environment variable CEXMC_PROJECTS_DIR (or in the current directory if it
0088       is not defined), name of the project is specified by option -w. Preinit
0089       and init macros are set by options -p and -m respectively. In the straight
0090       mode preinit macro must be specified explicitly, as far as desired
0091       production model can be instantiated only in preinit phase.
0092    2. Replay mode (or Read project mode). In this mode the program will not use
0093       common Geant4's event loop. Instead, it will sequentially read event data
0094       from an existing project and pass them into
0095       CexmcEventAction::EndOfEventAction(). The read project is specified by
0096       option -r. This mode is useful when user wants to recalculate data from an
0097       existing project with different conditions (for example with different
0098       reconstruction parameters) or apply a custom filter. The results of run
0099       can be written again into another project.
0100    3. Show results mode (or Output mode). The program will output various data
0101       from an existing project (specified by option -r). Type(s) of data are
0102       specified in option -o. For example, to show results of a run user can
0103       specify -orun in command line. To show events, geometry and run results
0104       user can specify -oevents,geom,run.