source: trunk/examples/extended/eventgenerator/HepMC/README @ 1317

Last change on this file since 1317 was 807, checked in by garnier, 16 years ago

update

File size: 2.9 KB
Line 
1
2                Examples for HepMC-Geant4 interface
3                -----------------------------------
4
5This directory contains examples for using HepMC as an interface with
6various Monte Carlo event generators, such as PYTHIA.
7It also include an example for demonstrating MC truth handling with HepMC.
8
9Requirements for external software packages
10-------------------------------------------
11HepMC:
12  tested version : 1.27.02
13  http://lcgapp.cern.ch/project/spi/extsoft/packages.php?pkg=HepMC
14  http://cern.ch/mdobbs/HepMC/
15
16  Note: examples were tested only on Linux with gcc.
17
18PYTHIA
19  Tested version 6.205 (CERNLIB 2005)
20  URL: http://www.thep.lu.se/~torbjorn/Pythia.html
21
22
23Examples HepMCEx01 and HepMCEx02
24================================
25
26class HepMCG4Interface
27  This class is derived from G4VPrimaryGenerator, and is a base class
28  for primary generation via HepMC object.
29
30  protected members
31  + virtual HepMC::GenEvent* GenerateHepMCEvent()
32    Implement this method in his/her own concrete class.
33    An empty event will be created in default.
34
35  + void HepMC2G4(const HepMC::GenEvent* hepmcevt, G4Event* g4event)
36    service method for conversion from HepMC::GenEvent to G4Event
37
38  + virtual G4bool CheckVertexInsideWorld(const G4ThreeVector& pos) const
39    We have to take care for the position of primaries because
40    primary vertices outside the world volume give rise to G4Exception.
41    If the default implementation is not adequate, an alternative
42    can be implemented in your own class.
43
44  public members
45  + virtual void GeneratePrimaryVertex(G4Event* anEvent)
46    The default behavior is that a single HepMC event generated by
47    GenerateHepMCEvent() will be converted to G4Event through HepMC2G4().
48
49class HepMCG4AsciiReader / HepMCG4AsciiReaderMessenger
50  (derived from HepMCG4Interface)
51  This derived class is for reading primary information from
52  an Ascii file generated by HepMC.
53
54class HepMCG4PythiaInterface / HepMCG4AsciiReaderMessenger
55  (derived from HepMCG4Interface)
56  This derived class is for directly calling PYTHIA functions.
57  Users can set parameters, initialize, generate, and terminate
58  by command line operation.
59
60  Macros in examples
61  -----------------
62  hepmc_pygen.in
63    process PYTHIA events(H->4mu) generated at every event.
64
65  hepmc_ascii.in
66    read pregenerated events from HepMC Ascii file (data/example_MyPhyia.dat).
67
68  How to compile
69  --------------
70  To build HepMCEx01 and HepMCEx02 examples, the directory path where the
71  HepMC package is installed must be provided through the variable HEPMC_DIR.
72  PYTHIA 6.205 must be installed through CERNLIB 2005 and the bin path
73  correctly added in PATH.
74
75  Notes
76  -----
77  We attached a sample HepMC Ascii data file, "data/example_MyPhyia.dat",
78  which contains 10 PYTHIA events created by "data/example_MyPythia.cxx(cc)".
79
80Example MCTruth
81===============
82
83Application demonstrating handling of Monte-Carlo truth information through
84the HepMC package.
Note: See TracBrowser for help on using the repository browser.