Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/eventgenerator/HepMC/

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 HepMCEx01/       2024-12-05 15:16:16
Folder HepMCEx02/       2024-12-05 15:16:16
Folder MCTruth/       2024-12-05 15:16:16
File CMakeLists.txt 376 bytes       2024-12-05 15:16:16
File History 3702 bytes       2024-12-05 15:16:16
File README 4010 bytes       2024-12-05 15:16:16

  1 
  2                 Examples for HepMC-Geant4 interface
  3                 -----------------------------------
  4 
  5 This directory contains examples for using HepMC as an interface with 
  6 various Monte Carlo event generators, such as PYTHIA.
  7 It also include an example for demonstrating MC truth handling with HepMC.
  8 
  9 Requirements for external software packages
 10 -------------------------------------------
 11 HepMC:
 12   Tested version : 2.06.09
 13   http://lcgapp.cern.ch/project/simu/HepMC/
 14 
 15   Note: examples were tested only on Linux with gcc.
 16 
 17 PYTHIA
 18   Tested version 6.4.26
 19   URL: http://www.thep.lu.se/~torbjorn/Pythia.html
 20 
 21 
 22 Examples HepMCEx01 and HepMCEx02
 23 ================================
 24 
 25 class HepMCG4Interface
 26   This class is derived from G4VPrimaryGenerator, and is a base class 
 27   for primary generation via HepMC object.
 28 
 29   protected members
 30   + virtual HepMC::GenEvent* GenerateHepMCEvent()
 31     Implement this method in his/her own concrete class.
 32     An empty event will be created in default.
 33 
 34   + void HepMC2G4(const HepMC::GenEvent* hepmcevt, G4Event* g4event)
 35     service method for conversion from HepMC::GenEvent to G4Event
 36 
 37   + virtual G4bool CheckVertexInsideWorld(const G4ThreeVector& pos) const
 38     We have to take care for the position of primaries because
 39     primary vertices outside the world volume give rise to G4Exception.
 40     If the default implementation is not adequate, an alternative 
 41     can be implemented in your own class.
 42 
 43   public members
 44   + virtual void GeneratePrimaryVertex(G4Event* anEvent)
 45     The default behavior is that a single HepMC event generated by
 46     GenerateHepMCEvent() will be converted to G4Event through HepMC2G4().
 47 
 48 class HepMCG4AsciiReader / HepMCG4AsciiReaderMessenger
 49   (derived from HepMCG4Interface)
 50   This derived class is for reading primary information from 
 51   an Ascii file generated by HepMC.
 52 
 53 class HepMCG4PythiaInterface / HepMCG4AsciiReaderMessenger
 54   (derived from HepMCG4Interface)
 55   This derived class is for directly calling PYTHIA functions. 
 56   Users can set parameters, initialize, generate, and terminate
 57   by command line operation.
 58   
 59   Macros in examples
 60   -----------------
 61   hepmc_pygen.in
 62     process PYTHIA events(H->4mu) generated at every event.
 63 
 64   hepmc_ascii.in
 65     read pregenerated events from HepMC Ascii file (data/example_MyPythia.dat).
 66 
 67   Installation
 68   --------------
 69   1. Download and install HepMC from:
 70     http://lcgapp.cern.ch/project/simu/HepMC/
 71     (Last tested version : 2.06.09)
 72     
 73     and define the environment variable:
 74     HEPMC_DIR         the path to HepMC installation.
 75  
 76   2. Download the PYTHIA6 source file from the PYTHIA6 download site:
 77     http://www.hepforge.org/downloads/pythia6
 78     
 79     A) With CMake: Build pythia6 library
 80 
 81     For a convenience a CMake file for building Pythia6 library from 
 82     the source is provided in
 83     examples/extended/eventgenerator/CMakeLists.txt.pythia6.
 84     Build the pythia6 library following the insytructions in this file
 85     and then define the environment variables:
 86     PYTHIA6          the path where pythia6 library is installed
 87     PYTHIA6_VERSION  the pythia version 
 88 
 89     B) With GNUmake: Define the environment variables
 90     
 91     PYTHIA6           the path to pythia-versionX.f source code
 92     PYTHIA6_VERSION   the pythia version 
 93     
 94     e.g. If you download pythia-6.4.26.f.gz and unzip it in $HOME,
 95          then you have to set:
 96     export PYTHIA6=$HOME
 97     export PYTHIA6_VERSION="6.4.26"
 98     
 99     Pythia6 will be then compiled together with example code.
100 
101  3. Compilation:
102     Then the examples are compiled in a standard way, 
103     see examples/README_HowToRun.
104  
105   Examples
106   ----------
107   See more details in HepMCEx01/README and HepMCEx02/README. 
108 
109   Notes
110   -----
111   We attached a sample HepMC Ascii data file, "data/example_MyPythia.dat",
112   which contains 10 PYTHIA events created by "data/example_MyPythia.cxx".
113 
114 Example MCTruth
115 ===============
116 
117 Application demonstrating handling of Monte-Carlo truth information through
118 the HepMC package.