| [807] | 1 | The files in this directory are the files that were used to build
|
|---|
| 2 | ../include/Marshaled*.hh . The files ../include/Marshaled*.hh contain
|
|---|
| 3 | marshaling (serialization) routines that are used by Parallel Geantr4.
|
|---|
| 4 |
|
|---|
| 5 | Marshalgen is a package that allows one to add a small number of annotations
|
|---|
| 6 | to the original sequential code, in order to create marshalling or
|
|---|
| 7 | serialization routines. Those marshalling routines are then used
|
|---|
| 8 | by ParGeant4 to pass data between slave processes and the master process.
|
|---|
| 9 |
|
|---|
| 10 | INPUT FILES:
|
|---|
| 11 | 1. G4*.hh : The files *.hh are taken from Geant4. They include annotations
|
|---|
| 12 | (comments) that describe how to marshal individual fields of the
|
|---|
| 13 | given classes. These files have additional annotations that describe
|
|---|
| 14 | how to marshal individual fields of the given classes. For a new
|
|---|
| 15 | application, you have to change any references to Ex* to your
|
|---|
| 16 | own example/application include files. These files are then reused
|
|---|
| 17 | in the new Geant4 parallel application.
|
|---|
| 18 | 2. ../include/Ex*Hit.hh : These files are the original sequential Geant4
|
|---|
| 19 | application files that describe the application-defined hits.
|
|---|
| 20 | They remain in the application include directory because they may
|
|---|
| 21 | depend on other files in the include directory.
|
|---|
| 22 | For most new parallel Geant4 applications, these files are sufficiently
|
|---|
| 23 | simple, that one needs only to add Marshalgen begin and end comments
|
|---|
| 24 | bracketing the class that needs to be marshalled, and a small number
|
|---|
| 25 | of annotations specifying accessor functions to get and set fields
|
|---|
| 26 | in the class. It may also be necessary to include marshalling
|
|---|
| 27 | include files, if it is necessary to marshal other Geant4 data
|
|---|
| 28 | structures.
|
|---|
| 29 | Information on how to marshal the fields, etc., is in the Marshalgen
|
|---|
| 30 | manual, along with the Marshalgen package:
|
|---|
| 31 | http://www.ccs.neu.edu/home/gene/marshalgen
|
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 | Marshalgen was then called on the above input files. One calls:
|
|---|
| 35 | ./marshalgen *.hh
|
|---|
| 36 | ./marshalgen ../include/Ex*Hit.hh
|
|---|
| 37 |
|
|---|
| 38 | OUTPUT FILES:
|
|---|
| 39 | 3. *.msh : These files are intermediate files generated automatically
|
|---|
| 40 | by marshalgen ( http://www.ccs.neu.edu/home/gene/marshalgen )
|
|---|
| 41 | These files can be deleted if desired.
|
|---|
| 42 | 4. Marshaled*.h : These files are generated by Marshalgen. They
|
|---|
| 43 | include of type both MarshaledEx*.h and MarshaledG4*.h .
|
|---|
| 44 | (In addition, the file MarshaledObj.h is copied directly from
|
|---|
| 45 | the Marshalgen distribution.) These files are all copied to
|
|---|
| 46 | the include directory of the Geant4 parallel application.
|
|---|
| 47 | They provide the marshalling functions that are then used by Geant4.
|
|---|