[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. |
---|