Import Geant4 0.0.0 source tree
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
$Id: README,v 1.3 1998/11/12 11:15:42 morita Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
Example E02
|
||||
-----------
|
||||
|
||||
This program demonstrates how user can use object database using
|
||||
HepODBMS interface. Please contact your local system manager for
|
||||
the avaiability of HepODBMS and Objectivity/DB.
|
||||
|
||||
To use HepODBMS and underlying Objectivity/DB package, user needs
|
||||
a deep knowledge of the object database and environmental set
|
||||
procedures, which is lacking in this release. The code is provided
|
||||
here to give just a brief idea of the persistency in using Geant4.
|
||||
|
||||
How to build:
|
||||
|
||||
- Setup:
|
||||
|
||||
In addition to Geant4 standard setup, HepODBMS, Objectivity/DB and
|
||||
federated database variables should be defined.
|
||||
|
||||
For CERN AFS users, an example setup script "g4odbms_setup.csh" is
|
||||
provided in this directory. Put a line such as
|
||||
|
||||
source ${G4INSTALL}/tests/exampleE02/g4odbms_setup.csh
|
||||
|
||||
in your .cshrc file, where ${G4INSTALL} is the actual location of
|
||||
the Geant4 package.
|
||||
|
||||
- Objectivity/DB boot file and lock server
|
||||
|
||||
Boot file contains a database schema information of some basic
|
||||
HepODBMS and Objectivity/DB classes. Each time you compile your
|
||||
own persistent-capable class, a schema is compiled into your
|
||||
local copy of boot file. User must compile the Geant4 persistent
|
||||
capable schema into your local copy of the boot file.
|
||||
Default location is $HOME/G4EXAMPLE. If you want to have it
|
||||
to other location, define the following variables in your .cshrc.
|
||||
|
||||
example:
|
||||
setenv G4EXAMPLE_BOOT_DIR ${HOME}/tmp/G4EXAMPLE
|
||||
setenv G4EXAMPLE_BOOT ${G4EXAMPLE_BOOT_DIR}/G4EXAMPLE
|
||||
|
||||
For each boot file, user must have unique federated database ID (FDID).
|
||||
This number can be obtained from your local manager of Objectivity
|
||||
lock server. Define G4EXAMPLE_FDID in your .cshrc.
|
||||
|
||||
example:
|
||||
setenv G4EXAMPLE_FDID 501
|
||||
|
||||
The system also have Objectivity/DB lock server running. For the
|
||||
CERN AFS users, see the notes below, for other systems, contact your
|
||||
local system manager for the lock server configuration.
|
||||
|
||||
Then type,
|
||||
|
||||
gmake cleandb
|
||||
|
||||
to create your own boot file.
|
||||
___________________________________________________________________________
|
||||
Note: On CERN AFS, user must run his/her own lock server process
|
||||
due to a technical limitation on AFS and Objectivity.
|
||||
|
||||
oocheckls -notitle `hostname` || \
|
||||
oolockserver -notitle -noauto `hostname`::${G4EXAMPLE_BOOT}
|
||||
|
||||
Then check the process with
|
||||
|
||||
ps -ef | grep ools
|
||||
....
|
||||
<user> 60156 1 0 06:36:40 pts/15 0:00 ools -OO_NO_AUTOREC
|
||||
....
|
||||
|
||||
When you finish running this example, don't forget to kill
|
||||
the lock server process by yourself.
|
||||
|
||||
ookillls
|
||||
or
|
||||
kill -9 <pid_of_ools>
|
||||
|
||||
User must have AFS ACL access enabled to HepODBMS and
|
||||
Objectivity/DB directories.
|
||||
___________________________________________________________________________
|
||||
|
||||
- libG4persistency.a
|
||||
|
||||
Persistency in Geant4 is provided as a separate sub category.
|
||||
Geant4 installer must explictly go to ${G4INSTALL}/source/persistency
|
||||
directory and type
|
||||
|
||||
cd ...where Geant4 is installed...
|
||||
cd source/persistency
|
||||
gmake cleandb
|
||||
gmake
|
||||
gmake global
|
||||
|
||||
to create libG4persistency.a. This process will also produce a base
|
||||
schema file in the directory $(G4INSTALL)/schema/.
|
||||
|
||||
- exampleE02 executable
|
||||
|
||||
exampleE02 executable can be made by simply typing "gmake" in this directory.
|
||||
|
||||
Current example of Geant4 persistency requires the executable to be
|
||||
run as the same directory as your local federated database.
|
||||
Use exampleE02run csh-script for simple test.
|
||||
|
||||
example:
|
||||
gmake cleandb # see above
|
||||
gmake # creates exampleE02 executable
|
||||
exampleE02run # run exampleE02
|
||||
|
||||
- Persistent output
|
||||
|
||||
When exampleE02 is run correctly, following database files will be created
|
||||
in your federated database directory.
|
||||
|
||||
Events.G4EXAMPLE.DB G4EXAMPLE.FDDB System.G4EXAMPLE.DB
|
||||
G4EXAMPLE Geometry.G4EXAMPLE.DB
|
||||
|
||||
To browse the contents, use "ootoolmgr".
|
||||
|
||||
cd ...your federated database directory...
|
||||
setenv DISPLAY <your_x_terminal>:0.0
|
||||
ootoolmgr -notitle G4EXAMPLE &
|
||||
|
||||
Make sure to terminate ootoolmgr when you finish browsing.
|
||||
Otherwise lockserver will remember the browsing as a transaction,
|
||||
and the further updates to the database will be blocked.
|
||||
|
||||
--
|
||||
Reference in New Issue
Block a user