48 lines
2.4 KiB
Plaintext
48 lines
2.4 KiB
Plaintext
The files in this directory are the files that were used to build
|
|
../include/Marshaled*.hh . The files ../include/Marshaled*.hh contain
|
|
marshaling (serialization) routines that are used by Parallel Geantr4.
|
|
|
|
Marshalgen is a package that allows one to add a small number of annotations
|
|
to the original sequential code, in order to create marshalling or
|
|
serialization routines. Those marshalling routines are then used
|
|
by ParGeant4 to pass data between slave processes and the master process.
|
|
|
|
INPUT FILES:
|
|
1. G4*.hh : The files *.hh are taken from Geant4. They include annotations
|
|
(comments) that describe how to marshal individual fields of the
|
|
given classes. These files have additional annotations that describe
|
|
how to marshal individual fields of the given classes. For a new
|
|
application, you have to change any references to Ex* to your
|
|
own example/application include files. These files are then reused
|
|
in the new Geant4 parallel application.
|
|
2. ../include/Ex*Hit.hh : These files are the original sequential Geant4
|
|
application files that describe the application-defined hits.
|
|
They remain in the application include directory because they may
|
|
depend on other files in the include directory.
|
|
For most new parallel Geant4 applications, these files are sufficiently
|
|
simple, that one needs only to add Marshalgen begin and end comments
|
|
bracketing the class that needs to be marshalled, and a small number
|
|
of annotations specifying accessor functions to get and set fields
|
|
in the class. It may also be necessary to include marshalling
|
|
include files, if it is necessary to marshal other Geant4 data
|
|
structures.
|
|
Information on how to marshal the fields, etc., is in the Marshalgen
|
|
manual, along with the Marshalgen package:
|
|
http://www.ccs.neu.edu/home/gene/marshalgen
|
|
|
|
|
|
Marshalgen was then called on the above input files. One calls:
|
|
./marshalgen *.hh
|
|
./marshalgen ../include/Ex*Hit.hh
|
|
|
|
OUTPUT FILES:
|
|
3. *.msh : These files are intermediate files generated automatically
|
|
by marshalgen ( http://www.ccs.neu.edu/home/gene/marshalgen )
|
|
These files can be deleted if desired.
|
|
4. Marshaled*.h : These files are generated by Marshalgen. They
|
|
include of type both MarshaledEx*.h and MarshaledG4*.h .
|
|
(In addition, the file MarshaledObj.h is copied directly from
|
|
the Marshalgen distribution.) These files are all copied to
|
|
the include directory of the Geant4 parallel application.
|
|
They provide the marshalling functions that are then used by Geant4.
|