diff --git a/ReleaseNotes/ReleaseNotes4.1.0.txt b/ReleaseNotes/ReleaseNotes4.1.0.txt new file mode 100644 index 0000000000..e3bfbcd761 --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.1.0.txt @@ -0,0 +1,357 @@ + + Geant4 1.0 Release Notes + ------------------------ + + 7th December 1999 + +These are the main new features/fixes included in this release (for the +detailed list of fixes/additions, please refer to the related History files): + + o Electromagnetic Processes: + - Multiple scattering: fine tuning and fixes for low energy e-; + inclusion of nuclear size effect for high energy (e+,e- > 100 MeV, + hadrons > 1 GeV); + - IonisationPlus: improved code and testing, for electrons and hadrons. + - LowEnergy: implemented hadron and ion ionisation; minor fixes in + photo electric process. + - Xrays: fixes in Cerenkov process. + - Created new examples in examples/extended/electromagnetic. + + o Geometry: + - Field: minor fixes, more access to user parameters and clearer warnings; + - CSG/Booleans: fixes and more detailed unit tests; + - BREPS/STEP: fix to the NIST STEP reader for complex surfaces; + - Volumes: first implementation for visualization of voxels; + - Transportation: added protection for zero step in field. + + o Globals: + - STLInterface: + major modifications for removing all references to Rogue Wave classes; + removed wrappers for hash dictionaries; reorganised classes/files. + - management: + introduced 'g4std' wrappers and keywords for migration to the ISO/ANSI + C++ standard and usage of the std namespace; fixed minor bug in + G4PhysicsVector. + + o Hadronic Processes: + - new isotope-production models for neutron induced production and + corresponding design updates in hadronic/management; + - additional string model for proton induced reactions; + - design iteration on multi-fragmentation; + - memory usage optimization in the neutron transport. + NOTE: an updated set of neutron data files is now required. + + o Particles: + - introduced dynamical electric charge in G4DynamicParticle to allow + change of charge for ions; + - introduced new G4IsotopeTable to manage excitation energy, lifetime, + and decay modes for isotopes; + - corrected identifier for isotopes Promethium and Prasceodym; + - corrected spelling for file-names and keyword "barion" to "baryon". + + o Persistency: + - added association of HitsCollection and PrimaryVertex to G4PEvent; + added persistency of Boolean solid types; fixes for ODMG compliance; + added G4PPRimaryParticle; + - added new examples in examples/extended/persistency. + + o Visualization: + - introduced visualization of *components* of a boolean solid. + Visualisation of the *result* of the boolean operation will be + available in a future release; + - introduced new commands (use help for more information): + /vis/scene/add/logicalVolume + /vis/viewer/update + - improvements to FukuiRenderer (DAWN): + made destination directory of g4.prim and g4.eps customizable + with the environmental variable G4DAWNFILE_DEST_DIR; auto + incrementation of output file names is now supported; + - removed ray tracing, pending re-implementation. + +Notes: + + o Geant4 1.0 is based on STL. All direct references to Rogue Wave have + been removed from the code. See notes below. + + o The code released in Geant4 1.0 is not ISO/ANSI C++ compliant. + A future minor release or patch will be provided that + will include the ability to choose between using namespaces in + ISO/ANSI mode or using traditional style "includes". + +This code and some binary libraries are available through our "Source +Code" Web page: +- see our Geant4 + Home Page. + +Please refer to Geant4 +User Documentation for further information about using Geant4. +Updates to the documentation for Geant4 1.0 are still in preparation and are +expected to be published within three weeks. + + +Contents +-------- + + 1. Supported and Tested Platforms + 2. CLHEP 1.4 + 3. The Standard Template Library (STL) + 4. Persistency + 5. Compiler Specific Problems + 6. Known Run-Time Problems + 7. Compilation Warnings + 8. Known Run-Time Warnings + + +1. Supported and Tested Platforms +--------------------------------- + + o SUN Solaris 5.6, C++ 4.2 patch 104631-04. + o HP 10.20, aCC C++ B3910B A.01.18 or A.01.21 + o Linux 2.0.35, gcc C++ egcs-2.91.66 (egcs 1.1.2). + This configuration was tested in the RedHat 5.1 distribution, but + versions of Geant4 have also been compiled successfully on RedHat 6.1, + Debian and Suse distributions. + +Platforms also tested but giving rise to some problems - see below: + + o DEC V4.0, cxx C++ V6.1-027. + o NT 4.0 with Service Pack 4 and Cygnus Tools b20 with: + Visual C++ 6.0 Service Pack 2 + +Platforms configured but not tested and not supported: + o SGI V6.5.5, CC 7.2.1 with ObjectSpace + o AIX 4.3.2, xlC compiler with ObjectSpace + +2. CLHEP 1.4 +------------ + +Geant4 1.0 requires the installation of CLHEP 1.4. + +See +CLHEP 1.4. + +The following platform specific instructions apply: + + DEC: Do *not* use the compiler option "-std strict_ansi". + + NT: After configure, edit the file config/CLHEP-x86-cygnus-win32 + and comment out "#define HEP-USE-STD 1". + + + +3. The Standard Template Library +-------------------------------- + +The following versions of STL have been tested: + + ObjectSpace STL on + DEC, HP, NT and SUN. + + See ObjectSpace. + + "Native" STL on: Linux, HP. + +This is selected at installation/compile time by the environment variable +G4USE_OSPACE in the case of the former - see documentation. + +NOTES: +- Be aware that by default, the installation scripts will expect to use + the native STL implementation. You must set the G4USE_OSPACE variable + in the environment in order to select the ObjectSpace implementation. + +- Platform specific setup: + o DEC: ObjectSpace is required. + o HP: either ObjectSpace or native STL can be used. In order to use + native STL you must also set the environment variable + G4NO_STD_NAMESPACE. + o SUN: ObjectSpace is required. + o Linux: native STL is required. + o NT: ObjectSpace is required. + Support for native STL and ISO/ANSI installation will be added + soon (future patch or minor release). + +- A future minor release or patch will allow ISO/ANSI compliant installations. + Their characteristics will be: + o DEC: Native STL will be used + o HP: The setup for native STL will trigger by default the ISO/ANSI + installation (set G4NO_STD_NAMESPACE in the environment to avoid it.) + o SUN: Support for CC 5.0 compiler and native STL (ISO/ANSI installation) + o NT: Support for native STL and ISO/ANSI installation + The modifications to support these installations will be tested soon. + They will be made available in a patch or minor release. + +Geant4 1.0 is the first release requiring the Standard Template Library. +In the interest of stability, a significant part of the code still makes use +of the "STL Interface" wrapper classes. For these the emphasis has remained +on correct behaviour, rather than performance. The size of libraries and +executables can appear considerably larger than the previous Rogue-Wave based +versions. + +4. Persistency +-------------- + +- Platforms + + Persistency in Geant4 1.0 release has been tested on the following + platforms/software versions: + + G4SYSTEM OS C++ compiler HepODBMS Objectivity + --------- ----------- ------------ --------- ----------- + SUN-CC SunOS 5.6 CC 4.2 0.3.1.0 5.2 + HP-aCC HP-UX 10.20 aCC A.01.18 0.3.0.1 5.1.2 + Linux-g++ Linux RH5.1 egcs 1.1.2 0.3.0.1 5.1.2 + + A patch to run persistency examples on DEC-cxx will be released + later, pending a fix to HepODBMS library. + +- Known Problems + + 1) The following warning messages appear on some platforms during the + installation of the libraries and the compilation of the example + files. The message comes from the parser of the Objectivity + preprocessor. It can be ignored. + + ------------------------------------------------------------------------- + "/opt/SUNWspro/SC4.2/include/CC/generic.h", line 29: warning: omission of + explicit type is nonstandard ("int" assumed) + extern genericerror(int, char*); + ^ + "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 781: warning: integer + conversion resulted in a change of sign + unsafe_istream& wignore(int=1, wchar_t=WEOF); + ^ + "/opt/SUNWspro/SC4.2/include/CC/iostream.h", line 962: warning: integer + conversion resulted in a change of sign + istream& wignore(int=1, wchar_t=WEOF); + ------------------------------------------------------------------------- + + 2) The following warning messages appear during the installation of the + library. This is due to a design choice of the persitent object + and it can be safely ignored. + + ------------------------------------------------------------------------- + warning: persistent-capable class member type is a problem + The type of base class vector is a problem + The type of member vector::start_ is pointer + The type of member vector::finish_ is pointer + The type of member vector::end_of_storage_ + is pointer + The type of member vector::alloc_ is a + problem + The type of member allocator::impl_ is + pointer + G4VPhysVolRefVArray transPhysVolPtrs; + ^ + ------------------------------------------------------------------------- + + 3) The following warning messages appears during the installation of the + libraries and the compilation of the example files. Dependency + file is used to solve the GNUmake dependencies inside the Geant4 + categories and it can be safely ignored. + + ------------------------------------------------------------------------- + In file included from /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.3.1.0/ + include/HepODBMS/odbms/HepODBMS.h:75, + from include/G4PersistentTypes.hh:21, + from include/G4VPersistentSubMan.hh:34, + from src/G4VPersistentSubMan.cc:16: + /afs/cern.ch/sw/lhcxx/specific/sun/Objectivity/5.2/include/oo.h:57: + warning: No include path in which to find generic.h + ------------------------------------------------------------------------- + + 4) The following error messages appear at the end of the library + installation, and it can be safely ignored. + + ------------------------------------------------------------------------- + installing schema header files ... + cp: cannot access /afs/cern.ch/sw/geant4/stt/ref+/AIX-xlC/debug/persistency/ + STL/tmp/SUN-CC/G4pglobal/*.hh + schema header file does not exist, so ignore the error message... + ------------------------------------------------------------------------- + + 5) The following warning message appears at the runtime of the persistency + examples, which is generated by HepDbApplication in HepODBMS. + It can be ignored. + + ------------------------------------------------------------------------- + Opening federated database OO_FD_BOOT. + WARNING: g4example: Could not find naming root directory: + Naming will be disabled. + ------------------------------------------------------------------------- + + +5. Compiler Specific Problems +----------------------------- + + o DEC V4.0, cxx C++ V6.1-027. + + We have found cases of mis-compilation of min and max templates + on DEC. We have traced those which cause serious malfunction + but there is no guarantee that there are no other cases. + Detailed inspection of assembler output suggests that this + problem might not be confined to min and max. This has been + reported to DEC/Compaq. We understand a new version 6.2 of the + compiler is now available. However we cannot guarantee correct + execution of Geant4 on DEC with the current version of the + compiler. + + o NT + + - Due to limitations of the VC++ optimiser, testing was done using + the debuggable version only. + - g3tog4 has not been ported to NT. + - During the making of dependency files during compilation there + are repeated warnings ("Strstrea.h not found") - this is an + artifact of using g++ for this purpose. + - Ignore linker warnings: "conflicts with use of other libs". + - Ignore linker errors: "unresolved external symbol + __imp__MessageBoxA@16". + + +6. Known Run-Time Problems +-------------------------- + + o Reading STEP files on DEC with optimised libraries causes a Memory + fault - but see notes on DEC above. + o In rare cases heavy ions appear not to be properly stopped and killed + in tracking, therefore Geant4 sticks making many small steps. This + behaviour has been observed on SUN and is under investigation. + o On WindowsNT, a problem can occur reading the data files associated with + the environment variable G4LEVELGAMMADATA. (Usually the value + for this variable is $G4INSTALL/geant4/data/PhotonEvaporation .) + A correction that resolves this anomalous behaviour will be issued + soon, in a patch. + + +7. Compilation Warnings +----------------------- + +There are compilation warnings on some platforms. We do not believe +that any will lead to incorrect run-time behaviour, but we are working +on reducing them. + + +8. Known Run-Time Warnings +-------------------------- + +The following messages can be written to error output while tracking. We +believe none give rise to incorrect behaviour. + + o G4PropagatorInField::LocateIntersectionPoint: Warning: Integration + inaccuracy requires an adjustment in the step's endpoint Two + mid-points are further apart than their curve length difference: + Dist = xxx curve length = yyy + o Warning in G4Navigator::ComputeStep: The Step's starting point has + moved... + o G4PropagateInField: Warning: Particle is looping + - tracking in field will be stopped. + It has performed 10000 steps in Field while a maximum of 10000 + are allowed. + +For very high energy muons (ex. 1 TeV) warnings of this kind might be +generated: + + o G4ParticleChange::CheckIt : the Momentum Change is not unit vector !! + Difference: 1e-09 + G4ParticleChange::CheckIt diff --git a/config/G4ODBMS_BUILD.gmk b/config/G4ODBMS_BUILD.gmk index 44bf7fb042..b1d240e567 100644 --- a/config/G4ODBMS_BUILD.gmk +++ b/config/G4ODBMS_BUILD.gmk @@ -1,4 +1,4 @@ -# $Id: G4ODBMS_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $ +# $Id: G4ODBMS_BUILD.gmk,v 1.2 1999/09/17 13:15:29 morita Exp $ # ---------------------------------------------------------------- # GNUmakefile for CPPFLAGS for HepODBMS and Objectivity/DB. # Youhei Morita, 9th July 1998. @@ -11,6 +11,7 @@ endif ifdef HEP_ODBMS_DIR CPPFLAGS += -I$(HEP_ODBMS_DIR)/include \ + -DHEP_ODBMS_EXPORT="" \ -DHep_HAS_BUILDIN_BOOL_CONSTANTS endif #-------------------------------------------------------------------- diff --git a/config/History b/config/History index e98befc05e..8bca936119 100644 --- a/config/History +++ b/config/History @@ -1,5 +1,5 @@ -$Id: History,v 1.50 1999/07/06 17:54:47 johna Exp $ -$Name: geant4-00-01 $ +$Id: History,v 1.92 1999/12/07 08:51:38 gcosmo Exp $ +$Name: geant4-01-00 $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,170 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +7th December 1999 Gabriele Cosmo (config-V00-01-19) +- architecture.gmk: minor fix on OSPACELIBS path for Win/NT. + +5th December 1999 Youhei Morita (config-V00-01-18) +- architecture.gmk: defined G4OODDLX_FLAGS +- common.gmk: use G4OODDLX_FLAGS + +5th December 1999 Gabriele Cosmo (config-V00-01-17) +- architecture.gmk: fixes for Win/NT. + o fixed path for OSPACELIBS + o removed -DG4NOT_ISO_DELETES flag + +3rd December 1999 Gabriele Cosmo (config-V00-01-16) +- architecture.gmk: set G4_HAVE_BOOL for SUN-CC5. + +3rd December 1999 Youhei Morita +- common.gmk: fixed minor typo in G4OODDLX_SCHEMA_NAME + +1st December 1999 Gabriele Cosmo (config-V00-01-15) +- architecture.gmk: + o added new G4SYSTEM flavor SUN-CC5, used for testing on the new C++ + compiler v5.0 on SunOS. Requires ISO/ANSI-C++ installation and native + STL by default. Compatibility with old no ISO/ANSI code is assured + through the -compat compiler option and the usage of ObjectSpace STL + (i.e. G4USE_OSPACE set). + o added new flag G4NO_STD_NAMESPACE. + HP-aCC setup with native STL assumes the ISO-ANSI installation by default, + the new flag should be explicitly set in the environment to avoid this. + o upgraded SGI-CC setup to IRIX 6.5.5, CC 7.2.1 and ObjectSpace STL. + Tests on this configuration has NOT been tested though. + +1st December 1999 Youhei Morita +- architecture.gmk: added G4EXAMPLE_BOOT and G4EXAMPLE_FD +- common.gmk: copy only the .hh files +- binmake.gmk: added persistent include paths + added new targed cleandb, newboot, newfd + added G4SKIP_DEPEND for dependencies + +29th November 1999 Youhei Morita +- architecture.gmk: added G4SYSTEM to G4SCHEMA_DIR, G4TMPSCHEMA_DIR +- common.gmk: changed G4SCHEMA_HEADER_DIR from G4TMPSCHEMA_INCLUDE to G4TMPDIR + added target install_schema for schema copying +- globlib.gmk: create schema header files at G4TMPDIR, then install + +29th November 1999 John Allison +- Introduced LDLIBS2EXTRA so that granular libraries are not + expanded too soon. + +25th November 1999 Gabriele Cosmo (config-V00-01-14) +- architecture.gmk: redefined OSPACEDIR as OSPACE_BASE_DIR to conform to + an omogeneous format. Added existence check for OSPACE and CLHEP paths. + +23rd November 1999 Gabriele Cosmo (config-V00-01-13) +- architecture.gmk: added setup for ISO/ANSI installation on DEC-cxx. + If using native STL (i.e. G4USE_OSPACE not set), G4USE_STD_NAMESPACE is + implicitly defined and a strict-ANSI installation is assumed. Note that + in this case, also CLHEP must have been installed in strict-ANSI mode. + +20th November 1999 Youhei Morita (config-V00-01-12) +- common.gmk: added G4OODDLX_SCHEMA_NAME to use Geant4 named schema + +19th November 1999 Youhei Morita +- liblist.c: avoid coredumps when it was given non-existing directly. + +18th November 1999 Gabriele Cosmo (config-V00-01-11) +- architecture.gmk: added -e option to $ECHO for Linux-g++ setup. + +17th November 1999 John Allison (config-V00-01-10) +- binmake.gnk: added isotope_production/include to -I list (Hans-Peter). + +17th November 1999 Youhei Morita (config-V00-01-09) +- moved schema header files to G4INSTALL/schema/include + architecture.gmk: introduced G4SCHEMA_INCLUDE and G4TMPSCHEMA_INCLUDE + common.gmk: introduced G4SCHEMA_HEADER_DIR and G4SCHEMA_SRC_DIR + globlib.gmk: added tmp schema header copying + +15th November 1999 Gabriele Cosmo (config-V00-01-08) +- Tagged. + +14th November 1999 Youhei Morita +- globlib.gmk: moved contruction of libmap for G4ODBMS to + source/GNUmakefile + +12th November 1999 Youhei Morita +- common.gmk: introduced G4ODBMS_DEPEND and G4SKIP_DEPEND for + better handling of dependencies +- globlib.gmk: use G4ODBMS_DEPEND, automatic rebuilding of libmap + +11th November 1999 Gabriele Cosmo (config-V00-01-07) +- Migration RWT->G4RWT performed: + o Removed every occurence of Rogue-Wave from configuration, replaced + RWBASE with G4STLBASE. Modified scripts: architecture.gmk, common.gmk + and binmake.gmk. + o Made setup for Native-STL the default, removed test on conditional + flag G4USE_STL. + o Removed setup for Win/NT-g++, no longer supported. + +10th November 1999 Youhei Morita (config-V00-01-06) +- binmake.gmk: added path to persistency/global/include. +- common.gmk: Change G4ODBMS_DEPEND to G4ODBMS_NODDL +- globlib.gmk: removed G4ODBMS_DEPEND, modified target "global" + +10th November 1999 Gabriele Cosmo (config-V00-01-05) +- binmake.gmk: added path to HEPNumerics/include which was missing. + +29th October 1999 Guy Barrand +- architecture.gmk, interactivity.gmk: introduced + "G4_OPACS_WIDGET_SET lesstif" logic to handle the case + of using, on Linux, the bugged lesstif with the non bugged OPACS. + +29th October 1999 Gabriele Cosmo +- Introduced fixes for shared library setup (courtesy of F.Carminati). + Modified files: architecture.gmk, common.gmk, globlib.gmk, makeshlib.sh. + +28th October 1999 Gabriele Cosmo (config-V00-01-04) +- architecture.gmk: removed G4STREAM and G4STREAM_STREAMBUF_IMPLEMENTATION + flags, now no longer needed. Streambuf implementation is the default for + every platform. (by H.Yoshida) + +26th October 1999 John Allison +- Augmented liblist to look for dependencies on auto-generated + headers in $G4TMP. + +26th October 1999 Gabriele Cosmo (config-V00-01-03) +- Removed AIX-xlC as default platform for G4SYSTEM in architecture.gmk. + Configuration is still kept but no longer supported. + +26th October 1999 Youhei Morita +- architecture.gmk: include $(HEP_ODBMS_DIR)/etc/$(OS).mk instead of + defininig load module separately. Defined G4ODBMS_LIBS. +- binmake.gmk: Use G4ODBMS_LIBS. + +20th October 1999 Gabriele Cosmo (config-V00-01-02) +- architecture.gmk: removed option -DOS_NO_TYPEDEF_5 from HP-aCC + OSpace setup. Not anymore needed. + +20th October 1999 John Allison +- architecture.gmk: removed G4USE_EXPLICIT_TYPES_IN_TEMPLATES (was needed + only for HP aCC; now not needed at all). + +19th Octobre 1999 Youhei Morita +- common.gmk: Surpress verbose output for G4ODBMS if CPPVERBOSE + is not defined. + +7th October 1999 John Allison (config-V00-01-01) +- Removed WARNINGs about granular libraries. Now standard usage. Simple + using messages printed. + +17th Sep 1999 Youhei Morita +- architecture.gmk: Defined G4TMPSCHEMA_DIR, G4TMPSCHEMA_BOOT + Added OBJY_LDLIB definition for Objectivity 5.1 +- binmake.gmk: LDLIBS1 += -lG4persistency +- common.gmk: Changed ooddlx boot file option to G4OODDLX_BOOT +- globlib.gmk: Changed G4EXAMPLE_BOOT to G4TMPSCHEMA_BOOT +- G4ODBMS_BUILD.gmk: Defined HEP_ODBMS_EXPORT for HepODBMS 0.3.0.x + +27th July 1999 Gonzalo Gracia Abril +- Changed OSPACELIBS := '-libpath:c:\dev\ospace\lib std-2.1-vc5.0-mt.lib' + to OSPACELIBS := '-libpath:$(OSPACEDIR)\lib std-2.1-vc5.0-mt.lib' + in architecture.gmk for NT + +20th July 1999 John Allison (config-V00-01-00) +- Added EXTRA_LINK_DEPENDENCIES to binmake.gmk. + 6th July 1999 John Allison (config-01-00-10) - Changed -L/usr/X11/lib to -L/usr/X11R6/lib for Linux. diff --git a/config/architecture.gmk b/config/architecture.gmk index db6b726b64..f0bdc063e8 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 1.36 1999/07/06 17:54:49 johna Exp $ +# $Id: architecture.gmk,v 1.59 1999/12/07 08:37:13 gracia Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -13,44 +13,39 @@ # List of the supported architectures/compilers and related flavors for # the environment variable G4SYSTEM: # -# AIX-xlC AIX 4.3, (xlC) C Set ++ for AIX (default) +# SUN-CC SunOS 5.6, CC 4.2 compiler (default) # -# SUN-CC SunOS 5.6, CC 4.2 compiler -# -# HP-aCC HP-UX 10.20, aCC A.01.09 compiler -# -# SGI-CC SGI-IRIX 6.2, C++ 7.2 compiler +# HP-aCC HP-UX 10.20, aCC A.01.21 compiler # # DEC-cxx DEC-OSF/1 4.0, DEC C++ 6.1 # -# Linux-g++ Linux (Red Hat 5.1), egcs 1.1 +# Linux-g++ Linux (Red Hat 5.1/6.1), egcs 1.1.2 # -# WIN32-VC NT and Microsoft Visual C++ 5.0 or Microsoft Visual C++ 6.0 -# and using CYGWIN32 tools ( make, g++ as "makedepend", sh...) -# ( Note: you will need to set your environment, see installation -# guide.) -# -# WIN32-VC-NICE alias for the above, although NICE is not used anymore. -# -# WIN32-G++-NICE NiceNT and CYGWIN32 with g++ as base compiler -# ex. NiceNT at CERN (but CYGWIN32 and RogueWave -# for g++ installed locally, because not full -# installation on NICE) +# WIN32-VC Windows/NT and Microsoft Visual C++ 6.0 +# Adding CYGWIN32 tools (make, g++ as "makedepend", sh...) +# Note: you will need to set your environment, see the +# installation guide. +# ------------------------------------------------------------------------- + +# Definition of HEP_ODBMS_LIBS, OBJY_LIBS and OSPACE_LIBS by HepODBMS. +# Note: If G4ODBMS is defined, it calls for HEP_ODBMS setup files in +# $(HEP_ODBMS_DIR)/etc/. # +ifdef G4ODBMS + # variables LHCXXTOP and PLATF are used in HepODBMS setup + include $(HEP_ODBMS_DIR)/etc/$(OS).mk + G4ODBMS_LIBS := $(HEP_ODBMS_LIBS) $(OBJY_LIBS) $(OSPACE_LIBS) +endif MAKEFLAGS= --no-print-directory -# Specify G4USE_STL when using STL, even for using our "temporary" -# STLinterface to RogueWave. -# -ifdef G4USE_STL - CPPFLAGS += -DG4USE_STL -endif - -# If not specified, the default platform for G4SYSTEM is IBM-AIX ... +# If not specified, the default platform for G4SYSTEM is SUN-CC ... # ifndef G4SYSTEM - G4SYSTEM := AIX-xlC + G4SYSTEM := SUN-CC +endif +ifeq ($(G4SYSTEM),WIN32-VC-NICE) + G4SYSTEM := WIN32-VC endif # If not specified, the default path for G4 installation G4INSTALL is @@ -99,159 +94,144 @@ ifndef G4BIN endif G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4BIN) ] && mkdir -p $(G4BIN) ) +#################### schema directories & setup for G4ODBMS ################### +# +ifdef G4ODBMS # If not specified, the default path for G4 schema G4SCHEMA_DIR is -# set to $G4WORKDIR/schema ... +# set to $G4LIB/$G4SYSTEM/schema ... # ifndef G4SCHEMA_DIR - G4SCHEMA_DIR := $(G4WORKDIR)/schema + G4SCHEMA_DIR := $(G4LIB)/$(G4SYSTEM)/schema + G4SCHEMA_INCLUDE := $(G4SCHEMA_DIR)/include +endif +ifndef G4SCHEMA_FDID G4SCHEMA_FDID := 207 endif -ifdef G4ODBMS - G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_DIR) ] && mkdir -p $(G4SCHEMA_DIR) ) + +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_DIR) ] && mkdir -p $(G4SCHEMA_DIR) ) +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_INCLUDE) ] && mkdir -p $(G4SCHEMA_INCLUDE) ) + +# If not specified, the default path for G4 temporary schema G4TMPSCHEMA_DIR is +# set to $G4TMP/$G4SYSTEM/schema (for building persistency library)... +# +ifndef G4TMPSCHEMA_DIR + G4TMPSCHEMA_DIR := $(G4TMP)/$(G4SYSTEM)/schema + G4TMPSCHEMA_BOOT := $(G4TMPSCHEMA_DIR)/G4SCHEMA endif -# If not specified, the default path for G4 example federated database is -# set to $HOME/G4EXAMPLE ... +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TMPSCHEMA_DIR) ] && mkdir -p $(G4TMPSCHEMA_DIR) ) + +# If not specified, the default path for G4 example schema G4EXAMPLE_BOOT_DIR is +# set to $G4WORKDIR/exampleSchema (for persistency examples)... # ifndef G4EXAMPLE_BOOT_DIR - G4EXAMPLE_BOOT_DIR := $(HOME)/G4EXAMPLE - G4EXAMPLE_BOOT := $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE + G4EXAMPLE_BOOT_DIR := $(G4WORKDIR)/exampleSchema/$(G4SYSTEM) endif -ifdef G4ODBMS - G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_BOOT_DIR) ] && mkdir -p $(G4EXAMPLE_BOOT_DIR) ) + +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_BOOT_DIR) ] && mkdir -p $(G4EXAMPLE_BOOT_DIR) ) + +ifndef G4EXAMPLE_BOOT + G4EXAMPLE_BOOT = $(G4EXAMPLE_BOOT_DIR)/$(name) endif +# If not specified, the default path for G4 example runtime federated +# database directory G4EXAMPLE_FD_DIR is set to $G4WORKDIR/exampleFD +# (for persistency examples)... +# +ifndef G4EXAMPLE_FD_DIR + G4EXAMPLE_FD_DIR := $(G4WORKDIR)/exampleFD/$(G4SYSTEM) +endif + +G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_FD_DIR) ] && mkdir -p $(G4EXAMPLE_FD_DIR) ) +G4OODDLX_FLAGS := -DTEMPLATEP_HIDES_FNCD + +ifndef G4EXAMPLE_FD + G4EXAMPLE_FD = $(G4EXAMPLE_FD_DIR)/$(name) +endif + +endif +# +########################### end setup for G4ODBMS ############################# + # If G4DEBUG not specified, the default compilation is optimised ... # ifndef G4DEBUG G4OPTIMISE := 1 endif -# # CLHEP path, etc. # - ifndef CLHEP_BASE_DIR CLHEP_BASE_DIR := /afs/cern.ch/sw/geant4/dev/CLHEP/$(G4SYSTEM)/pro endif -CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include -CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib -ifndef CLHEP_LIB - CLHEP_LIB := CLHEP -endif - -ifeq ($(G4SYSTEM),WIN32-VC-NICE) -G4SYSTEM:=WIN32-VC -endif - -ifeq ($(G4SYSTEM),WIN32-VC) -# CLHEP_BASE_DIR must be defined in the environment +ifndef CLHEP_INCLUDE_DIR CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include +endif +ifndef CLHEP_LIB_DIR CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib - CLHEP_LIB := CLHEP.lib +endif +ifndef CLHEP_LIB + ifeq ($(G4SYSTEM),WIN32-VC) + CLHEP_LIB := CLHEP.lib + else + CLHEP_LIB := CLHEP + endif endif +# Native STL is the default # -# Rogue Wave Tools.h++ path & ObjectSpace STL -# +CPPFLAGS += -DG4USE_STL +G4STLINC := $(G4BASE)/global/STLInterface +# Path to ObjectSpace STL (or STLport <- only test for Win/NT) +# ifdef G4USE_OSPACE -#Object Space STL implementation - - RWINC := $(G4BASE)/global/STLInterface - OSPACEDIR := /afs/cern.ch/sw/geant4/dev/ObjectSpace/$(G4SYSTEM)/pro/ToolKit - OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl - OSPACELIBS := -L$(OSPACEDIR)/lib -lospace - CPPFLAGS += -DG4USE_STL + # ObjectSpace STL implementation + # + ifndef OSPACE_BASE_DIR + OSPACE_BASE_DIR := /afs/cern.ch/sw/geant4/dev/ObjectSpace/$(G4SYSTEM)/pro/ToolKit + endif + OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl + OSPACELIBS := -L$(OSPACE_BASE_DIR)/lib -lospace ifeq ($(G4SYSTEM),WIN32-VC) - OSPACEDIR := $(OBJECT_SPACE_BASE) - OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl -I$(OSPACEDIR) - OSPACELIBS := '-libpath:c:\dev\ospace\lib std-2.1-vc5.0-mt.lib' - CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL + OSPACE_BASE_DIR := $(OBJECT_SPACE_BASE) + OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl -I$(OSPACE_BASE_DIR) + OSPACELIBS := '-libpath':$(OSPACE_BASE_DIR)/lib std-2.1-vc5.0-mt.lib + CPPFLAGS += -DG4USE_OLDSTL CPPFLAGS += -DOS_WIN_NT_4_0 -DOS_MULTI_THREADED -D_WIN32_WINNT $(OSPACEINC) endif -else -ifdef G4USE_STL - -# Native STL implemetation - - RWINC := $(G4BASE)/global/STLInterface else ifdef G4USE_STLPORT -# STLport STL implementation (free) ( derived from SGI implementaion) - ifeq ($(G4SYSTEM),WIN32-VC) - - RWINC := $(G4BASE)/global/STLInterface - STLPORTDIR := $(STLPORT_BASE) - OSPACEINC := -I$(STLPORTDIR)/stl - CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL - CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES -D__STL_NO_NEW_STYLE_HEADERS - - endif + # STLport STL implementation + # (derived from SGI implementation) - TEST on WIN32 + # + ifeq ($(G4SYSTEM),WIN32-VC) + STLPORT_BASE_DIR := $(STLPORT_BASE) + OSPACEINC := -I$(STLPORT_BASE_DIR)/stl + CPPFLAGS += -DG4USE_OLDSTL + CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES + CPPFLAGS += -D__STL_NO_NEW_STYLE_HEADERS + endif endif #STLport -endif #STL endif #OPSPACE -# default to RW if RWINC is not set... -ifndef RWINC - ifndef RWBASE - RWBASE := /afs/cern.ch/sw/geant4/dev/rogue/$(G4SYSTEM) - endif - RWINC := $(RWBASE) - RWLIBDIR := $(RWBASE)/lib - RWLIB := rwtool - - ifeq ($(G4SYSTEM),HP-aCC) - RWBASE := /opt/aCC - RWINC := $(RWBASE)/include - RWLIBDIR := /usr/lib - endif - - ifeq ($(G4SYSTEM),WIN32-VC) -# RWBASE must be defined in the environment - - RWINC := $(RWBASE) - RWLIBDIR := $(RWBASE)"\lib" - RWLIB := mtlmt.lib - endif - - ifeq ($(G4SYSTEM),WIN32-G++-NICE) - # - # locally installed RogueWave for g++ (mount mapping) - # - RWBASE := /rogue - RWINC := $(RWBASE) - RWLIBDIR := $(RWBASE)/lib - RWLIB := rwtool - endif - - # - # Make dependencies files by g++ then need right RW include - # - ifdef RWINCGPP - RWINCGPP := -I$(RWINCGPP) - endif -endif # ifndef RWINC - -# # Paths for G4 data # - ifndef G4DATA G4DATA := $(G4INSTALL)/data endif # Photon evaporation data +# ifndef G4LEVELGAMMADATA G4LEVELGAMMADATA := $(G4DATA)/PhotonEvaporation endif -# # Toggle variables (positional qualifiers) between WIN32-VC and UNIX... # ifeq ($(G4SYSTEM),WIN32-VC) @@ -262,9 +242,9 @@ ifeq ($(G4SYSTEM),WIN32-VC) LIB_PATH := '-libpath:' CERNLIB_PATH := "z:\p32\cern\new\df\lib" PATH_DEL := \\ -# -# pattern for next substitution -# + # + # pattern for next substitution + # LIB_PATT := lib(LibName).a FLIB_PATT := (LibName).lib else @@ -275,47 +255,31 @@ else LIB_PATH := -L CERNLIB_PATH := /cern/pro/lib PATH_DEL := / -# -# pattern for next substitution -# + # + # pattern for next substitution + # LIB_PATT := -l(LibName) FLIB_PATT := $(LIB_PATT) endif -# # Variables for implicit rules, etc., as suggested in GNU Make manual... # - -CPPFLAGS += -Iinclude -I$(RWINC) +CPPFLAGS += -Iinclude -I$(G4STLINC) CPPFLAGS += -I$(CLHEP_INCLUDE_DIR) -# # Positional qualifiers in action... # ifeq ($(G4SYSTEM),WIN32-VC) LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR) - ifdef RWLIBDIR - LDFLAGS += $(LIB_PATH)$(RWLIBDIR) - endif LOADLIBS := $(CLHEP_LIB) - ifdef RWLIB - LOADLIBS += $(RWLIB) - endif else ## LDFLAGS := -L$(CLHEP_LIB_DIR) LDFLAGS := - ifdef RWLIBDIR - LDFLAGS += -L$(RWLIBDIR) - endif ## LOADLIBS := -l$(CLHEP_LIB) LOADLIBS := $(CLHEP_LIB_DIR)/lib$(CLHEP_LIB).a - ifdef RWLIB - LOADLIBS += -l$(RWLIB) - endif LOADLIBS += -lm endif -# # Graphic variables... # ifndef VISLIBS @@ -355,35 +319,225 @@ ifndef OIVLIBS OIVLIBS := -L${HEPVISLIB} -lHEPVis -lInventorXt -lInventor -lGLU -lGL endif # ----------------- OPACS -------------------- +# lesstiff is bugged for popups ; then OPACS/Xo uses +# the Xaw widgets for handling popups. The OPACS distrib +# for Linux assumes that lesstif is used by default. To be +# coherent we set in Geant4 the default toolkit to lesstif +# on Linux in order to link with -lXaw, etc... ifndef G4_OPACS_WIDGET_SET - G4_OPACS_WIDGET_SET := Xm + ifeq ($(G4SYSTEM),Linux-g++) + G4_OPACS_WIDGET_SET := lesstif + else + G4_OPACS_WIDGET_SET := Xm + endif endif -# # For cfront compilers the repository location is set to # $G4TMP/$G4SYSTEM/g4.ptrepository. # - G4TEMPLATE_REPOSITORY := $(G4SYSTEM)/g4.ptrepository G4TEMPEXEC_REPOSITORY := $(G4TEMPLATE_REPOSITORY)/exec G4TREP := $(G4TMP)/$(G4TEMPLATE_REPOSITORY) # Default archive call. Changed for: SUN-CC. +# AR := ar r # Default echo used with makedepend. Changed for SUN-CC, Linux-g++. +# ECHO:= echo # Default grep used with source/GNUmakfile. Changed for SUN-CC. +# GREP := grep - # -# Architecture dependent variables... +# Architecture dependent setups... # -# -------- AIX ---------- +# -------- SUN --------- # +ifeq ($(G4SYSTEM),SUN-CC) + CXX := CC + ifdef G4OPTIMISE + CXXFLAGS := -O + else + CXXFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g + endif +# CXXFLAGS += -fnonstd + CFRONT_G4TEMPLATE_REPOSITORY := true + FC := f77 + SHEXT := so + AR := $(CXX) -xar -ptr$(G4TREP) -o + ECHO := /bin/echo + GREP := /usr/xpg4/bin/grep + FCLIBS := -lM77 -lF77 -lsunmath + X11FLAGS := -I/usr/openwin/include/X11/extensions -I/usr/openwin/include/X11 + X11FLAGS += -I/usr/openwin/include + X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + X11LIBS += -R/usr/openwin/lib -lXmu -lX11 -lXext + XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + XMLIBS += -R/usr/openwin/lib -lXt -lXm -lX11 + XAWFLAGS := -I/usr/openwin/include/X11 + XAWLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + XAWLIBS += -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext + ifndef OGLFLAGS + OGLFLAGS := -I$(OGLHOME)/include + endif + ifndef OGLLIBS + OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL + endif + CPPFLAGS += -DSOCKET_IRIX_SOLARIS + LOADLIBS += -L/usr/lib -lsocket -lnsl + CPPFLAGS += -DG4NOT_ISO_DELETES + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) + endif +endif + +# -------- SUN/CC5 --------- !!! under testing !!! +# SunOS-2.6 CC-5.0 +ifeq ($(G4SYSTEM),SUN-CC5) + CXX := CC + ifdef G4OPTIMISE + CXXFLAGS := -O + else + CXXFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g + endif +# CXXFLAGS += -fnonstd + G4_HAVE_BOOL := yes + CFRONT_G4TEMPLATE_REPOSITORY := true + FC := f77 + SHEXT := so + AR := $(CXX) -xar -ptr$(G4TREP) -o + ECHO := /bin/echo + GREP := /usr/xpg4/bin/grep + FCLIBS := -lM77 -lF77 -lsunmath + X11FLAGS := -I/usr/openwin/include/X11/extensions -I/usr/openwin/include/X11 + X11FLAGS += -I/usr/openwin/include + X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + X11LIBS += -R/usr/openwin/lib -lXmu -lX11 -lXext + XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + XMLIBS += -R/usr/openwin/lib -lXt -lXm -lX11 + XAWFLAGS := -I/usr/openwin/include/X11 + XAWLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib + XAWLIBS += -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext + ifndef OGLFLAGS + OGLFLAGS := -I$(OGLHOME)/include + endif + ifndef OGLLIBS + OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL + endif + CPPFLAGS += -DSOCKET_IRIX_SOLARIS + LOADLIBS += -L/usr/lib -lsocket -lnsl + CPPFLAGS += -DG4NOT_ISO_DELETES + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) + CXXFLAGS += -compat + else + ifndef G4NO_STD_NAMESPACE + G4USE_STD_NAMESPACE := yes + CPPFLAGS += -DG4USE_STD_NAMESPACE + else + CXXFLAGS += -compat + endif + endif +endif + +# -------- HP --------- +# +ifeq ($(G4SYSTEM),HP-aCC) + CXX := aCC + ifdef G4OPTIMISE + CXXFLAGS := +O2 +Onolimit + else + CXXFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g + endif + CXXFLAGS += +DAportable + CPPFLAGS += -I/usr + ifdef G4MAKESHLIB + CXXFLAGS += +Z + endif + G4_HAVE_BOOL := yes + FC := f77 + FCFLAGS += +E6 +ppu + CCFLAGS += -Ae +DAportable + X11FLAGS := -I/usr/include/X11/extensions -I/usr/contrib/X11R6/include + X11FLAGS += -I/usr/contrib/X11R6/include/X11 + X11LIBS := -L/usr/contrib/X11R6/lib -lXmu -L/usr/lib -lXt -lXext -lX11 + XMFLAGS := -I/usr/include/Motif1.2 + XMLIBS := -L/usr/lib/Motif1.2_R6 -lXm + XAWFLAGS := -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11 + XAWLIBS := -L/usr/contrib/X11R6/lib -lXaw + ifndef OGLFLAGS + OGLFLAGS := -I$(OGLHOME)/include + endif + ifndef OGLLIBS + OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL + OGLLIBS += -L/opt/graphics/common/lib -lXwindow -lhpgfx -lXhp11 -ldld + endif + CPPFLAGS += -DG4NOT_ISO_DELETES + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_HPUX_10_20 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__HPACC_NOEH + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) + else + ifndef G4NO_STD_NAMESPACE + G4USE_STD_NAMESPACE := yes + CPPFLAGS += -DG4USE_STD_NAMESPACE + endif + endif +endif + +# -------- SGI --------- !!! not supported !!! +# Irix-6.5.5 CC-7.2.1 +ifeq ($(G4SYSTEM),SGI-CC) + CXX := CC + ifdef G4OPTIMISE + CXXFLAGS := -O -OPT:Olimit=5000 + else + CXXFLAGS := -g + FCFLAGS := -g + CCFLAGS := -g + endif + G4_HAVE_BOOL := yes + CXXFLAGS += -ptused + FC := f77 + FCLIBS := -lftn + SHEXT := so + X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 + X11LIBS := -L/usr/lib -lXmu -lXt -lXext -lX11 + XMLIBS := -L/usr/lib -lXm + ifndef OGLFLAGS + OGLFLAGS := + endif + ifndef OGLLIBS + OGLLIBS := -L/usr/lib -lGLU -lGL + endif + CPPFLAGS += -DSOCKET_IRIX_SOLARIS + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) + ifdef G4USE_OSPACE + CPPFLAGS += -DOS_IRIX_6_5 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) + endif +endif + +# -------- AIX ---------- !!! not supported !!! +# AIX-4.3.2 xlC ifeq ($(G4SYSTEM),AIX-xlC) CXX := xlC ifdef G4OPTIMISE @@ -408,145 +562,12 @@ ifeq ($(G4SYSTEM),AIX-xlC) ifndef OGLLIBS OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL endif - ifdef G4ODBMS - ifeq ($(OBJY_VERS),4.0.2) - OBJY_LDLIB := oo_shar.4.02 - endif - endif CPPFLAGS += -DG4NOT_ISO_DELETES - ifdef G4USE_STL - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) - endif + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) ifdef G4USE_OSPACE - CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) - endif -endif - -# -------- SUN --------- -# -ifeq ($(G4SYSTEM),SUN-CC) - CXX := CC - ifdef G4OPTIMISE - CXXFLAGS := -O - else - CXXFLAGS := -g - FCFLAGS := -g - CCFLAGS := -g - endif -# CXXFLAGS += -fnonstd - CFRONT_G4TEMPLATE_REPOSITORY := true - FC := f77 - SHEXT := so - AR := $(CXX) -xar -ptr$(G4TREP) -o - ECHO := /bin/echo - GREP := /usr/xpg4/bin/grep - FCLIBS := -lM77 -lF77 -lsunmath - X11FLAGS := -I/usr/openwin/include/X11/extensions -I/usr/openwin/include/X11 -I/usr/openwin/include - X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXmu -lX11 -lXext - XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lXm -lX11 - XAWFLAGS := -I/usr/openwin/include/X11 - XAWLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext - ifndef OGLFLAGS - OGLFLAGS := -I$(OGLHOME)/include - endif - ifndef OGLLIBS - OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL - endif - ifdef G4ODBMS - ifeq ($(OBJY_VERS),4.0.2) - OBJY_LDLIB := oo - endif - endif - CPPFLAGS += -DSOCKET_IRIX_SOLARIS - LOADLIBS += -L/usr/lib -lsocket -lnsl - CPPFLAGS += -DG4NOT_ISO_DELETES - ifdef G4USE_STL - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) - endif - ifdef G4USE_OSPACE - CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) - endif -endif - -# -------- HP --------- -# -ifeq ($(G4SYSTEM),HP-aCC) - CXX := aCC - ifdef G4OPTIMISE - CXXFLAGS := +O2 +Onolimit - else - CXXFLAGS := -g - FCFLAGS := -g - CCFLAGS := -g - endif - CXXFLAGS += +DAportable - CPPFLAGS += -I/usr - ifdef G4MAKESHLIB - CXXFLAGS += +Z - endif - G4_HAVE_BOOL := yes - FC := f77 - FCFLAGS += +E6 +ppu - CCFLAGS += -Ae +DAportable - X11FLAGS := -I/usr/include/X11/extensions -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11 - X11LIBS := -L/usr/contrib/X11R6/lib -lXmu -L/usr/lib -lXt -lXext -lX11 - XMFLAGS := -I/usr/include/Motif1.2 - XMLIBS := -L/usr/lib/Motif1.2_R6 -lXm - XAWFLAGS := -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11 - XAWLIBS := -L/usr/contrib/X11R6/lib -lXaw - ifndef OGLFLAGS - OGLFLAGS := -I$(OGLHOME)/include - endif - ifndef OGLLIBS - OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL - OGLLIBS += -L/opt/graphics/common/lib -lXwindow -lhpgfx -lXhp11 -ldld - endif - ifdef G4ODBMS - ifeq ($(OBJY_VERS),4.0.2) - OBJY_LDLIB := oo - endif - endif - CPPFLAGS += -DG4NOT_ISO_DELETES - ifdef G4USE_STL - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES - endif - ifdef G4USE_OSPACE - CPPFLAGS += -DOS_HPUX_10_20 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS - CPPFLAGS += -DOS_NO_TYPEDEF_5 -D__HPACC_NOEH -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) - endif -endif - -# -------- SGI --------- -# -ifeq ($(G4SYSTEM),SGI-CC) - CXX := CC - ifdef G4OPTIMISE - CXXFLAGS := -O -Olimit 5000 - else - CXXFLAGS := -g - FCFLAGS := -g - CCFLAGS := -g - endif - CXXFLAGS += -ptused - FC := f77 - FCLIBS := -lftn - SHEXT := so - X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 - X11LIBS := -L/usr/lib -lXmu -lXt -lXext -lX11 - XMLIBS := -L/usr/lib -lXm - ifndef OGLFLAGS - OGLFLAGS := - endif - ifndef OGLLIBS - OGLLIBS := -L/usr/lib -lGLU -lGL - endif - CPPFLAGS += -DSOCKET_IRIX_SOLARIS - ifdef G4USE_OSPACE - CPPFLAGS += -DOS_IRIX_6_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS - CPPFLAGS += $(OSPACEINC) -I$(OSPACEDIR) + CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) endif endif @@ -561,9 +582,7 @@ ifeq ($(G4SYSTEM),DEC-cxx) FCFLAGS := -g CCFLAGS := -g endif - CFRONT_G4TEMPLATE_REPOSITORY := true G4_HAVE_BOOL := yes - LDFLAGS += -taso CXXFLAGS += -ieee -timplicit_local FC := f77 FCLIBS := -lUfor -lfor -lFutil -lots @@ -576,14 +595,18 @@ ifeq ($(G4SYSTEM),DEC-cxx) OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL # OGLLIBS := -lMesaGLU -lMesaGL endif - ifdef G4USE_STL - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) - CXXFLAGS += -nostdnew - endif + CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM) ifdef G4USE_OSPACE - CPPFLAGS += -DOS_OSF1_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__NO_EDG_EXCEPTION_CLASSES - CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR) + CPPFLAGS += -DOS_OSF1_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING + CPPFLAGS += -DOS_NO_ALLOCATORS -D__NO_EDG_EXCEPTION_CLASSES + CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR) CXXFLAGS += -nostdnew + else + ifndef G4NO_STD_NAMESPACE + G4USE_STD_NAMESPACE := yes + CXXFLAGS += -std strict_ansi + CPPFLAGS += -DG4USE_STD_NAMESPACE + endif endif endif @@ -595,15 +618,22 @@ ifeq ($(G4SYSTEM),Linux-g++) CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC ifdef G4OPTIMISE CXXFLAGS += -O + FCFLAGS := -O + CCFLAGS := -O else CXXFLAGS += -g FCFLAGS := -g CCFLAGS := -g endif + ifdef G4MAKESHLIB + CXXFLAGS += -fPIC + FCFLAGS += -fPIC + CCFLAGS += -fPIC + endif FC := g77 FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore FCLIBS := -lf2c - ECHO := /bin/echo + ECHO := /bin/echo -e X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE XMFLAGS := -I/usr/X11R6/include @@ -616,8 +646,12 @@ ifeq ($(G4SYSTEM),Linux-g++) endif OIVFLAGS += -I$(OIHOME)/include ifdef G4USE_OSPACE - CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS - CPPFLAGS += -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR) + CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT + CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS + CPPFLAGS += -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR) + endif + ifdef G4ODBMS + G4OODDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd="" endif endif @@ -632,29 +666,29 @@ ifeq ($(G4SYSTEM),WIN32-VC) else CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name) endif - CXXFLAGS += -MD -GX -Zm200 -nologo -DWIN32 -D_CONSOLE - CXXFLAGS += -D_WIN32 -DOS -DG4NOT_ISO_DELETES - CPPFLAGS += -DWIN32 -DRW_NO_XMSG -# -# Should set $INCLUDE environment, if not set as below -# -ifdef G4USE_OSPACE - CXXFLAGS += $(OSPACEINC) -else -ifdef G4USE_STLPORT - CXXFLAGS += $(OSPACEINC) -endif #stlport -endif #ospace + CXXFLAGS += -MD -GX -Zm200 -nologo -DWIN32 -D_CONSOLE + CXXFLAGS += -D_WIN32 -DOS + CPPFLAGS += -DWIN32 + # + # Should set $INCLUDE environment, if not set as below + # + ifdef G4USE_OSPACE + CXXFLAGS += $(OSPACEINC) + else + ifdef G4USE_STLPORT + CXXFLAGS += $(OSPACEINC) + endif #stlport + endif #ospace LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll -# -# Should set $LIB environment to include VC++ Studio lib directories, e.g. -# -# $(LIB_PATH)"c:\ProgramFiles\DevStudio\vc\lib" \ -# $(LIB_PATH)'\\srv1_info\v2\vc50pro1\DEVSTUDIO\VC\LIB' \ -# $(LIB_PATH)'\\srv1_info\v2\DecFtn5\x86\df\lib' - + # + # Should set $LIB environment to include VC++ Studio lib directories, e.g. + # + # $(LIB_PATH)"c:\ProgramFiles\DevStudio\vc\lib" \ + # $(LIB_PATH)'\\srv1_info\v2\vc50pro1\DEVSTUDIO\VC\LIB' \ + # $(LIB_PATH)'\\srv1_info\v2\DecFtn5\x86\df\lib' + AR := LIB ECHO := echo -e FC := f77 @@ -667,87 +701,32 @@ endif #ospace endif endif -# ------ WIN32/G++/NICE ------ -# -ifeq ($(G4SYSTEM),WIN32-G++-NICE) - CXX := g++ - CXXFLAGS := -fno-for-scope - G4_HAVE_BOOL := yes - ifdef G4OPTIMISE - CXXFLAGS += -O - else - CXXFLAGS += -g - endif - CXXFLAGS += -DCYGWIN32 - ECHO := echo -e - FC := g77 - FCLIBS := -lf2c - ifndef OGLFLAGS - OGLFLAGS := - endif - ifndef OGLLIBS - OGLLIBS := -lGLU -lGL - endif -endif - # If compiler recognises implicit C++ type bool... +# ifdef G4_HAVE_BOOL CPPFLAGS += -DG4_HAVE_BOOL endif # If there is no cbrt() function... +# ifdef G4_NO_CBRT CPPFLAGS += -DG4_NO_CBRT endif -# Standard Template Library (STL) not installed -ifndef G4USE_STL - ifndef G4USE_OSPACE - CPPFLAGS += -DRW_NO_STL - endif -endif - # Verbosity code can be left out (for better performance) # by defining G4_NO_VERBOSE. - +# ifndef G4_NO_VERBOSE CPPFLAGS += -DG4VERBOSE endif # Trajectory related classes can be left out (for better performance) # by defining G4_NO_STORE_TRAJECTORY. - +# ifndef G4_NO_STORE_TRAJECTORY CPPFLAGS += -DG4_STORE_TRAJECTORY endif -# -# Enable/disable G4cout/G4cerr -# - -# Set G4STREAM for all platforms. - -G4STREAM = 1 - -# Set G4STREAM_STREAMBUF_IMPLEMENTATION for selected platforms. - -ifeq ($(findstring AIX,$(G4SYSTEM)),AIX) - G4STREAM_STREAMBUF_IMPLEMENTATION = 1 -endif - -ifeq ($(findstring WIN32,$(G4SYSTEM)),WIN32) - G4STREAM_STREAMBUF_IMPLEMENTATION = 1 -endif - -ifdef G4STREAM - CPPFLAGS += -DG4STREAM -endif - -ifdef G4STREAM_STREAMBUF_IMPLEMENTATION - CPPFLAGS += -DG4STREAM_STREAMBUF_IMPLEMENTATION -endif - -# # Template setup - repositories, special options etc # ifdef CFRONT_G4TEMPLATE_REPOSITORY diff --git a/config/binmake.gmk b/config/binmake.gmk index c88cb22b89..a9d5307dcd 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.29 1999/07/06 15:19:42 gunter Exp $ +# $Id: binmake.gmk,v 1.39 1999/12/01 14:40:43 morita Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # Gabriele Cosmo, 25/06/1998. @@ -19,6 +19,7 @@ ifndef INCFLAGS -I$(G4BASE)/global/management/include \ -I$(G4BASE)/global/HEPRandom/include \ -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/global/HEPNumerics/include \ -I$(G4BASE)/run/include \ -I$(G4BASE)/materials/include \ -I$(G4BASE)/particles/management/include \ @@ -56,6 +57,7 @@ ifndef INCFLAGS -I$(G4BASE)/processes/hadronic/models/high_energy/include \ -I$(G4BASE)/processes/hadronic/models/low_energy/include \ -I$(G4BASE)/processes/hadronic/models/neutron_hp/include \ + -I$(G4BASE)/processes/hadronic/models/isotope_production/include \ -I$(G4BASE)/processes/hadronic/stopping/include \ -I$(G4BASE)/geometry/management/include \ -I$(G4BASE)/geometry/solids/CSG/include \ @@ -78,18 +80,16 @@ endif ifdef G4ODBMS INCFLAGS += \ - -I$(G4BASE)/persistency/management/include \ - -I$(G4BASE)/persistency/events/include \ + -I$(G4BASE)/persistency/global/include \ -I$(G4BASE)/persistency/digits+hits/hits/include \ - -I$(G4BASE)/persistency/geometry/management/include \ - -I$(G4BASE)/persistency/geometry/volumes/include \ + -I$(G4BASE)/persistency/digits+hits/digits/include \ + -I$(G4BASE)/persistency/events/include \ + -I$(G4BASE)/persistency/geometry/global/include \ -I$(G4BASE)/persistency/geometry/solids/CSG/include \ - -I$(G4TMP)/$(G4SYSTEM)/G4pmanagement \ - -I$(G4TMP)/$(G4SYSTEM)/G4pevents \ - -I$(G4TMP)/$(G4SYSTEM)/G4phits \ - -I$(G4TMP)/$(G4SYSTEM)/G4pgeomn \ - -I$(G4TMP)/$(G4SYSTEM)/G4pvol \ - -I$(G4TMP)/$(G4SYSTEM)/G4pcsg \ + -I$(G4BASE)/persistency/geometry/solids/Boolean/include \ + -I$(G4BASE)/persistency/geometry/management/include \ + -I$(G4BASE)/persistency/management/include \ + -I$(G4SCHEMA_INCLUDE) \ -I$(OBJY_DIR)/include \ -I$(HEP_ODBMS_DIR)/include \ -DHep_HAS_BUILDIN_BOOL_CONSTANTS @@ -131,11 +131,12 @@ ifdef GLOBALLIBS LDLIBS1 += $(VISLIBS) $(UILIBS) endif -ifdef G4ODBMS - LDLIBS1 += -lG4persistency -endif - ifdef GLOBALLIBS + + ifdef G4ODBMS + LDLIBS1 += -lG4persistency + endif + LDLIBS2 := -lG4readout \ -lG4run \ -lG4event \ @@ -159,8 +160,10 @@ else $(G4LIB)/$(G4SYSTEM)/liblist \ -d $(G4TMPDIR) \ < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) +# Warning: do not add to LDLIBS2 with += becuase this causes it to be +# expanded too soon. Hence extra libraries must have a different name... # Extra libraries to resolve remaining circular dependencies... -# LDLIBS2 += +# LDLIBS2EXTRA = endif # LDLIBS3 contains the first set of low level libraries... @@ -176,10 +179,10 @@ ifdef G4ODBMS LDFLAGS += -L$(OBJY_DIR)/lib \ -L$(HEP_ODBMS_DIR)/lib -# Note: -l$(OBJY_LDLIB) and -lHepODBMS should be placed -# _before_ -l$(CLHEP_LIB) -l$(RWLIB) +# Note: $(G4ODBMS_LIBS) should be placed +# _before_ -l$(CLHEP_LIB) - LDLIBS4 += -l$(OBJY_LDLIB) -lHepODBMS + LDLIBS4 += $(G4ODBMS_LIBS) endif ifdef G4USE_OSPACE LDLIBS4 += $(OSPACELIBS) @@ -193,7 +196,8 @@ LDLIBS4 += $(LOADLIBS) ifdef USER_DEFINED_LDLIBS LDLIBS_PREFINAL := $(LDLIBS) else - LDLIBS_PREFINAL = $(LDLIBS1) $(LDLIBS2) $(LDLIBS3) +# Again, do not use := or +=. See note on LDLIBS2 above. + LDLIBS_PREFINAL = $(LDLIBS1) $(LDLIBS2) $(LDLIBS2EXTRA) $(LDLIBS3) endif LDLIBS_PREFINAL += $(LDLIBS4) @@ -210,9 +214,13 @@ sources := $(wildcard $(G4TARGET).cc) objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.o,$(sources)) dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources)) -LINK_DEPENDENCIES := $(G4TMPDIR)/exe/obj.last +LINK_DEPENDENCIES := $(G4TMPDIR)/exe/obj.last $(EXTRA_LINK_DEPENDENCIES) +ifndef G4ODBMS .PHONY: bin clean clean_bin debug +else +.PHONY: bin clean clean_bin debug cleandb newboot newfd +endif # Make $(G4TARGET) executable. bin: $(G4BINDIR)/$(G4TARGET) @@ -220,14 +228,7 @@ bin: $(G4BINDIR)/$(G4TARGET) $(G4BINDIR)/$(G4TARGET): $(LINK_DEPENDENCIES) ifndef USER_DEFINED_LDLIBS ifndef GLOBALLIBS - @echo "WARNING: This assumes you are using granular libraries!" - @echo "WARNING: It looked for your global library G4global and," - @echo " not finding it, assumes you are using granular" - @echo " libraries." - @echo "WARNING: If you did not intend this, interrupt now (CTRL-C)," - @echo " and go back and make global libraries, i.e.," - @echo ' cd $$G4INSTALL/source' - @echo " gmake global" + @echo "Using granular libraries." @if [ ! \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ echo "ERROR: No liblist program or library map file."; \ @@ -239,6 +240,8 @@ ifndef USER_DEFINED_LDLIBS echo " granular libraries:"; \ echo " gmake libmap"; \ exit 1; fi + else + @echo "Using global libraries." endif endif @if [ ! -d $(G4BINDIR) ] ; then mkdir $(G4BINDIR) ;fi @@ -273,14 +276,19 @@ else endif # Make the $(G4TARGET).d file and include it. +ifdef G4SKIP_DEPEND +$(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc + @echo Skip dependency file creation for file $< ... +else $(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc @if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi @if [ ! -d $(G4TMPDIR)/exe ] ; then mkdir $(G4TMPDIR)/exe ;fi @echo Making dependency for file $<... @($(ECHO) $(G4TMPDIR)/exe/\\c ; \ - g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ + g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@ -include $(dependencies) +endif clean: @echo Cleaning up ... @@ -296,3 +304,31 @@ clean_bin: @echo Removing application $(G4TARGET) ... @rm -f ./core @rm -f $(G4BINDIR)/$(G4TARGET) + +############################+ targets for G4ODBMS +############################ +ifdef G4ODBMS + +cleandb: clean newboot + +newboot: + @echo Copying schema file to $(G4EXAMPLE_BOOT) for FDID $(G4EXAMPLE_FDID) + @rm -f $(G4EXAMPLE_BOOT_DIR)/$(name) + @rm -f $(G4EXAMPLE_BOOT_DIR)/$(name).FDDB + @rm -f $(G4EXAMPLE_BOOT_DIR)/*.$(name).DB + @$(HEP_ODBMS_DIR)/etc/getdb $(G4SCHEMA_DIR)/G4SCHEMA \ + $(G4EXAMPLE_BOOT) $(G4SCHEMA_FDID) + +newfd: +ifndef G4EXAMPLE_FDID + @echo G4EXAMPLE_FDID is not defined. Stop. + exit 1 +endif + @echo Creating new runtime federated database $(G4EXAMPLE_BOOT) for FDID $(G4EXAMPLE_FDID) + @rm -f $(G4EXAMPLE_FD_DIR)/$(name) + @rm -f $(G4EXAMPLE_FD_DIR)/$(name).FDDB + @rm -f $(G4EXAMPLE_FD_DIR)/*.$(name).DB + @$(HEP_ODBMS_DIR)/etc/getdb $(G4EXAMPLE_BOOT) \ + $(G4EXAMPLE_FD) $(G4EXAMPLE_FDID) +endif +############################- targets for G4ODBMS -############################ + diff --git a/config/common.gmk b/config/common.gmk index b291703031..5def054826 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,32 +1,42 @@ -# $Id: common.gmk,v 1.1 1999/01/07 15:58:32 gunter Exp $ +# $Id: common.gmk,v 1.14 1999/12/05 22:41:38 morita Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- # Libraries are created according to G4SYSTEM. G.Cosmo, 11/6/96. # Introduced G4LIBDIR and G4TMPDIR. G.Cosmo, 23/6/98. +# Introduced G4SCHEMA_HEADER_DIR and G4SCHEMA_SRC_DIR. Y.Morita, 16/11/99. ifndef G4LIBDIR G4LIBDIR := $(G4LIB)/$(G4SYSTEM) endif G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(name) +ifdef G4ODBMS_INSTALLATION + G4OODDLX_SCHEMA_NAME := -schema Geant4 +else + G4OODDLX_SCHEMA_NAME := +endif +G4SCHEMA_HEADER_DIR := $(G4TMPDIR) +G4SCHEMA_SRC_DIR := $(G4TMPDIR) + sources := $(wildcard src/*.cc) schema_ddl := $(wildcard include/*.ddl) -schema_hh := $(patsubst include/%.ddl,$(G4TMPDIR)/%.hh,$(schema_ddl)) +schema_hh := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%.hh,$(schema_ddl)) +schema_ref_hh := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%_ref.hh,$(schema_ddl)) objects := $(patsubst src/%.cc,$(G4TMPDIR)/%.o,$(sources)) dependencies := $(patsubst src/%.cc,$(G4TMPDIR)/%.d,$(sources)) # output of ooddlx in G4TMPDIR (.hh, _ref.hh, _ddl.cc) # -temporaries := $(patsubst include/%.ddl,$(G4TMPDIR)/%.hh,$(schema_ddl)) +temporaries := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%.hh,$(schema_ddl)) # output of ooddlx in the current directory (if the process does not finish) # temporaries2 := $(patsubst include/%.ddl,%.hh,$(schema_ddl)) ifdef G4ODBMS - temporaries += $(patsubst include/%.ddl,$(G4TMPDIR)/%_ddl.cc,$(schema_ddl)) \ - $(patsubst include/%.ddl,$(G4TMPDIR)/%_ref.hh,$(schema_ddl)) + temporaries += $(patsubst include/%.ddl,$(G4SCHEMA_SRC_DIR)/%_ddl.cc,$(schema_ddl)) \ + $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%_ref.hh,$(schema_ddl)) temporaries2 += $(patsubst include/%.ddl,%_ddl.cc,$(schema_ddl)) \ $(patsubst include/%.ddl,%_ref.hh,$(schema_ddl)) objects += $(patsubst include/%.ddl,$(G4TMPDIR)/%_ddl.o,$(schema_ddl)) @@ -35,9 +45,13 @@ endif ifneq ($(G4MAKESHLIB),) # Make shared library. $(G4LIBDIR)/lib$(name).$(SHEXT): $(G4LIBDIR)/lib$(name).a - @cp $(objects) $(G4LIBDIR)/. - sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) - $(RM) $(G4LIBDIR)/*.o +ifneq ($(G4TMPDIR),$(G4LIBDIR)) + @cp $(G4TMPDIR)/*.o $(G4LIBDIR)/. + @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) + @$(RM) $(G4LIBDIR)/*.o +else + @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) +endif endif # Make library. @@ -65,54 +79,73 @@ else @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ)$(G4TMPDIR)/$(*F).o src/$*.cc endif ifdef G4ODBMS -$(G4TMPDIR)/%.o: $(G4TMPDIR)/%.cc - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4TMPDIR)/$*.cc +$(G4TMPDIR)/%.o: $(G4SCHEMA_SRC_DIR)/%.cc +ifdef CPPVERBOSE + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4SCHEMA_SRC_DIR)/$*.cc +else + @echo Compiling $*.cc ... + @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4SCHEMA_SRC_DIR)/$*.cc +endif endif # Make the temporary files. -.PRECIOUS: $(G4TMPDIR)/%_ddl.cc ddl/%.hh $(G4TMPDIR)/%_ref.hh +.PRECIOUS: $(G4SCHEMA_SRC_DIR)/%_ddl.cc $(G4SCHEMA_HEADER_DIR)/%.hh $(G4SCHEMA_HEADER_DIR)/%_ref.hh ifdef G4ODBMS -$(G4TMPDIR)/%_ddl.cc $(G4TMPDIR)/%.hh $(G4TMPDIR)/%_ref.hh: include/%.ddl +$(G4SCHEMA_SRC_DIR)/%_ddl.cc $(G4SCHEMA_HEADER_DIR)/%.hh $(G4SCHEMA_HEADER_DIR)/%_ref.hh: include/%.ddl +ifndef G4OODDLX_BOOT + @echo G4OODDLX_BOOT is not defined. Stop. + exit 1 +endif @if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi - ooddlx -notitle -header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \ - -DRW_NO_CONST_OVERLOAD -DRW_NO_STL -DTEMPLATEP_HIDES_FNCD \ - $(CPPFLAGS) $< $(G4EXAMPLE_BOOT) - mv -f $*.hh $(G4TMPDIR)/ - mv -f $*_ref.hh $(G4TMPDIR)/ - mv -f $*_ddl.cc $(G4TMPDIR)/ + @if [ ! -d $(G4SCHEMA_HEADER_DIR) ] ; then mkdir $(G4SCHEMA_HEADER_DIR) ;fi + @if [ ! -d $(G4SCHEMA_SRC_DIR) ] ; then mkdir $(G4SCHEMA_SRC_DIR) ;fi +ifdef CPPVERBOSE + ooddlx -notitle $(G4OODDLX_SCHEMA_NAME) \ + -header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \ + $(G4OODDLX_FLAGS) $(CPPFLAGS) $< $(G4OODDLX_BOOT) else -$(G4TMPDIR)/%.hh: include/%.ddl - @if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi - @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi - ln -s -f ../$< $(G4TMPDIR)/$*.hh + @echo Preprocessing $< ... + @ooddlx -notitle $(G4OODDLX_SCHEMA_NAME) \ + -header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \ + $(G4OODDLX_FLAGS) $(CPPFLAGS) $< $(G4OODDLX_BOOT) +endif + @mv -f $*.hh $(G4SCHEMA_HEADER_DIR)/ + @mv -f $*_ref.hh $(G4SCHEMA_HEADER_DIR)/ + @mv -f $*_ddl.cc $(G4SCHEMA_SRC_DIR)/ endif # Make the .d file(s) and include it(them). # g++ -MM is good at this, except it forgets the subdirectory # (hence the use of $G4TMP/). +# define G4SKIP_DEPEND for simplicity +ifndef G4ODBMS_DEPEND ifdef G4ODBMS -$(G4TMPDIR)/%.d: src/%.cc $(schema_hh) + G4SKIP_DEPEND := 1 +endif +endif + +ifdef G4SKIP_DEPEND +$(G4TMPDIR)/%.d: + @echo Skip dependency file creation for file $< ... else $(G4TMPDIR)/%.d: src/%.cc -endif @if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi @if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi @echo Making dependency for file $< ... @($(ECHO) $(G4TMPDIR)/\\c ; \ - g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@ -ifdef G4ODBMS -ifdef G4ODBMS_DEPEND --include $(dependencies) -endif -else + g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@ -include $(dependencies) endif # .PHONY targets are executed regardless of time-stamp of any file of # same name. +ifdef G4ODBMS_DEPEND +.PHONY: all obj lib clean clean_libs d_files install_schema +else .PHONY: all obj lib clean clean_libs +endif obj: $(G4TMPDIR)/obj.last @@ -122,6 +155,11 @@ headers: $(schema_hh) d_files: $(dependencies) $(schema_hh): $(schema_ddl) + +install_schema: + @echo installing schema header files ... + -@(cp -f $(G4TMPDIR)/*.hh $(G4SCHEMA_INCLUDE)/ || \ + echo " schema header file does not exist, so ignore the error message...") endif ifneq ($(G4MAKESHLIB),) @@ -134,6 +172,7 @@ ifndef G4EXLIB clean: @echo Cleaning up ... @rm -f $(G4LIBDIR)/lib$(name).a + @rm -f $(schema_hh) $(schema_ref_hh) @rm -rf $(G4TMPDIR) endif @@ -141,3 +180,4 @@ clean_libs: @if [ -f $(G4LIBDIR)/lib$(name).a ] ; then \ $(ECHO) Removing library lib$(name).a ... ; \ $(RM) -f $(G4LIBDIR)/lib$(name).a ; fi + diff --git a/config/globlib.gmk b/config/globlib.gmk index 2bd8055f84..d043326676 100644 --- a/config/globlib.gmk +++ b/config/globlib.gmk @@ -1,4 +1,4 @@ -# $Id: globlib.gmk,v 1.2 1999/07/06 15:19:44 gunter Exp $ +# $Id: globlib.gmk,v 1.10 1999/11/30 19:41:08 morita Exp $ # -------------------------------------------------------------- # Script for compound libraries. Gabriele Cosmo, 25/6/98. # -------------------------------------------------------------- @@ -18,14 +18,22 @@ ifndef G4ODBMS @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done else @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) headers); done - @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) d_files); done - @for dir in $(SUBDIRS); do (cd $$dir; G4ODBMS_DEPEND=1; export G4ODBMS_DEPEND; $(MAKE)); done + @for dir in $(SUBDIRS); do (cd $$dir; G4ODBMS_DEPEND=1; \ + export G4ODBMS_DEPEND; $(MAKE)); done + @echo Copying tmp schema header from G4TMPDIR to $(G4SCHEMA_INCLUDE) + @rm -f $(G4SCHEMA_INCLUDE)/*.hh + @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) install_schema); done + @echo Copying tmp schema to $(G4SCHEMA_DIR) for FDID $(G4SCHEMA_FDID) + @rm -f $(G4SCHEMA_DIR)/G4SCHEMA + @rm -f $(G4SCHEMA_DIR)/G4SCHEMA.FDDB + @$(HEP_ODBMS_DIR)/etc/getdb $(G4TMPSCHEMA_BOOT) \ + $(G4SCHEMA_DIR)/G4SCHEMA $(G4SCHEMA_FDID) endif ifndef G4ODBMS glob global: objs wipe_libs $(G4LIBDIR)/lib$(name).a else -glob global: all $(G4LIBDIR)/lib$(name).a $(G4SCHEMA_DIR)/G4SCHEMA.FDDB +glob global: headers d_files objs wipe_libs $(G4LIBDIR)/lib$(name).a $(G4SCHEMA_DIR)/G4SCHEMA.FDDB endif $(G4LIBDIR)/lib$(name).a: \ @@ -67,7 +75,7 @@ $(G4LIBDIR)/lib$(name).a: \ ifneq ($(G4MAKESHLIB),) @for lib in $(SUBLIBS); do (cp $(G4TMP)/$(G4SYSTEM)/$$lib/*.o $(G4LIBDIR)/.); done @sh $(G4MAKESHLIB) $(G4LIBDIR) $(name) - $(RM) $(G4LIBDIR)/*.o + @$(RM) $(G4LIBDIR)/*.o endif ifdef G4ODBMS @@ -77,15 +85,13 @@ headers: d_files: @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) d_files); done -$(G4SCHEMA_DIR)/G4SCHEMA.FDDB: $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE.FDDB -ifdef G4SCHEMA_DIR +$(G4SCHEMA_DIR)/G4SCHEMA.FDDB: $(G4TMPSCHEMA_DIR)/G4SCHEMA.FDDB @rm -f $(G4SCHEMA_DIR)/G4SCHEMA @rm -f $(G4SCHEMA_DIR)/G4SCHEMA.FDDB @echo Copying schema file to $(G4SCHEMA_DIR) for FDID $(G4SCHEMA_FDID) - @$(HEP_ODBMS_DIR)/etc/getdb $(G4EXAMPLE_BOOT) \ + @$(HEP_ODBMS_DIR)/etc/getdb $(G4TMPSCHEMA_BOOT) \ $(G4SCHEMA_DIR)/G4SCHEMA $(G4SCHEMA_FDID) endif -endif objs: @for dir in $(SUBDIRS); \ diff --git a/config/interactivity.gmk b/config/interactivity.gmk index 39fc6d38a5..9851b2c561 100644 --- a/config/interactivity.gmk +++ b/config/interactivity.gmk @@ -32,7 +32,12 @@ ifdef INC_OPACS ifeq ($(G4_OPACS_WIDGET_SET),Xm) INC_XM = 1 CPPFLAGS += -DHAS_XM - else + endif + ifeq ($(G4_OPACS_WIDGET_SET),lesstif) + INC_XM = 1 + CPPFLAGS += -DHAS_XM + endif + ifeq ($(G4_OPACS_WIDGET_SET),Xaw) INC_XAW = 1 CPPFLAGS += -DHAS_XAW endif @@ -44,7 +49,15 @@ ifeq ($(G4_OPACS_WIDGET_SET),Xm) INC_XM = 1 LOAD_XM = 1 INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXm -else +endif +ifeq ($(G4_OPACS_WIDGET_SET),lesstif) + INC_XM = 1 + LOAD_XM = 1 + INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXm +# lesstif is bugged on popup ; then OPACS/Xo uses Xaw for popup. + LOAD_XAW = 1 +endif +ifeq ($(G4_OPACS_WIDGET_SET),Xaw) INC_XAW = 1 LOAD_XAW = 1 INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXaw diff --git a/config/liblist.c b/config/liblist.c index d6591c115a..19b6cbe800 100644 --- a/config/liblist.c +++ b/config/liblist.c @@ -1,4 +1,4 @@ -/* $Id: liblist.c,v 1.7 1999/07/02 12:27:38 stesting Exp $ */ +/* $Id: liblist.c,v 1.9 1999/11/19 18:01:40 morita Exp $ */ /* Given a "libname.map" file on standard input and a list or directory @@ -53,6 +53,8 @@ char** parsedir(char *directory,int *argc) /*Open the actual directory*/ actualdir=opendir(directory); + if(!actualdir) return targv; + /*Loop over all entries */ for(entry=readdir(actualdir);entry!=NULL;entry=readdir(actualdir)) { @@ -126,10 +128,10 @@ int main (int argc, char** argv) { struct libmap_ { - char *lib; - char *trigger; - int used; - char **uses; + char *lib; /* Library name, e.g., G4run. */ + char *trigger; /* Source directory, e.g., source/run/. */ + int used; /* True if used by these dependency files. */ + char **uses; /* List of library names which this library uses. */ struct libmap_ *next; }; @@ -307,41 +309,71 @@ int main (int argc, char** argv) { { userLibmapPtr=0; } - + /* Look for a "used" library and add it to the "user" uses list... */ - do + bufferPtr=strtok(NULL,"\n"); /* Start *after* ":". */ + if (!bufferPtr) { - for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) - { - strcpy(workbuf,libmapPtr->trigger); - strcat(workbuf,"/include"); - ptr=strstr(buffer,workbuf); - if(ptr) - { - libmapPtr->used=1; - if(userLibmapPtr) - { - for(pp=userLibmapPtr->uses;*pp;pp++) - { - if(strcmp(*pp,libmapPtr->lib)==0)break; - } - if(!*pp)*pp=libmapPtr->lib; - } - } - } - fgets(buffer,BUFSIZE,fp); + fprintf(stderr," WARNING: It seems there is nothing after \':\' in dependency file %s.\n", rargv[i]); + } + else { + do + { + for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next) + { + /* Look for trigger string. */ + strcpy(workbuf,libmapPtr->trigger); + strcat(workbuf,"/include"); + ptr=strstr(bufferPtr,workbuf); + if(ptr && (userLibmapPtr != libmapPtr)) + { + libmapPtr->used=1; + if(userLibmapPtr) + { + for(pp=userLibmapPtr->uses;*pp;pp++) + { + if(strcmp(*pp,libmapPtr->lib)==0)break; + } + if(!*pp)*pp=libmapPtr->lib; + } + } + /* Also look for library name in case header files are + placed in temporary directories under a subdirectory + with the same name as the library name. This can + happen with Objectivity which makes header files + from .ddl files and places them in a temporary + directory. */ + strcpy(workbuf,libmapPtr->lib); + strcat(workbuf,"/"); + ptr=strstr(bufferPtr,workbuf); + if(ptr && (userLibmapPtr != libmapPtr)) + { + libmapPtr->used=1; + if(userLibmapPtr) + { + for(pp=userLibmapPtr->uses;*pp;pp++) + { + if(strcmp(*pp,libmapPtr->lib)==0)break; + } + if(!*pp)*pp=libmapPtr->lib; + } + } + } + fgets(buffer,BUFSIZE,fp); + bufferPtr=buffer; #ifdef _WIN32 - while ( ptr=strchr(buffer,'\\') ) *ptr='/'; + while ( ptr=strchr(buffer,'\\') ) *ptr='/'; - while (ntg4tmp1 && (ptr=strstr(buffer,ntg4tmp1)) ) - { - for(nti=0;nti lib$name.exp echo "noentry" >> lib$name.exp diff --git a/environments/History b/environments/History index a114858804..324f0e94c6 100644 --- a/environments/History +++ b/environments/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 1999/05/20 10:13:46 johna Exp $ +$Id: History,v 1.4 1999/11/10 16:27:22 johna Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,10 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +envs-V00-01-00 10th November 1999 John Allison +- Only OPACS and History tagged. + +01-00-02 20th May 1999 John Allison envs-01-00-02 20th May 1999 John Allison - Only OPACS and History tagged. - Archived Momo (cvs remove) which puts it in the Attic. Can be retrieved diff --git a/environments/OPACS/History b/environments/OPACS/History index 58f373aa3a..46de704308 100644 --- a/environments/OPACS/History +++ b/environments/OPACS/History @@ -1,4 +1,4 @@ -$Id: History,v 1.1 1999/01/07 16:04:49 gunter Exp $ +$Id: History,v 1.2 1999/09/15 12:28:18 barrand Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,10 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +15 Sep 1999 Guy Barrand +- Modification to compile on Linux-g++ with STL. + + envs-00-01-02 15th July 1998 John Allison - Removed ATLAS files. Retrieve with: cvs update -r pre-beta01-08 ./app/ATLAS.cc ./usr/ATLAS.odb \ diff --git a/environments/OPACS/app/EXPO.cc b/environments/OPACS/app/EXPO.cc index c3371b93e6..e6f0228853 100644 --- a/environments/OPACS/app/EXPO.cc +++ b/environments/OPACS/app/EXPO.cc @@ -1,15 +1,19 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: EXPO.cc,v 1.4 1999/05/18 13:27:23 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: EXPO.cc,v 1.5.2.1.2.1 1999/12/07 20:46:48 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // #include +// GB : put this include before the GL ones. +// It avoid a clash with STL includes on Linux. +#include "g4rw/tvhdict.h" + /*Geant4*/ #include @@ -17,10 +21,10 @@ #include "EXPO_Templates.hh" // This : /* -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValVector; -template class RWTValVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValVector; +template class G4RWTValVector; template class G4Allocator; template class G4Allocator; */ @@ -195,8 +199,8 @@ int main ( WoProcessEvents (); WoClearClass (); - delete runManager; delete state; + delete runManager; return EXIT_SUCCESS; } diff --git a/environments/OPACS/app/TEST.cc b/environments/OPACS/app/TEST.cc index a29d7d4b79..0d2a454adb 100644 --- a/environments/OPACS/app/TEST.cc +++ b/environments/OPACS/app/TEST.cc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: TEST.cc,v 1.2 1999/04/16 10:03:17 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: TEST.cc,v 1.2.6.1 1999/12/07 20:46:49 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // #include diff --git a/environments/OPACS/include/EXPO_Detector.icc b/environments/OPACS/include/EXPO_Detector.icc index f110e696d7..33bd22d744 100644 --- a/environments/OPACS/include/EXPO_Detector.icc +++ b/environments/OPACS/include/EXPO_Detector.icc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: EXPO_Detector.icc,v 1.2 1999/04/16 10:03:19 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: EXPO_Detector.icc,v 1.2.6.1 1999/12/07 20:46:49 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // // See also G4/run/example/MyDetectorConstruction.cc. diff --git a/environments/OPACS/include/EXPO_PhysicsList.hh b/environments/OPACS/include/EXPO_PhysicsList.hh index d5a9976f9c..0ff9a4b174 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.hh +++ b/environments/OPACS/include/EXPO_PhysicsList.hh @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: EXPO_PhysicsList.hh,v 1.3 1999/05/18 10:57:12 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: EXPO_PhysicsList.hh,v 1.3.6.1 1999/12/07 20:46:49 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_PhysicsList.icc b/environments/OPACS/include/EXPO_PhysicsList.icc index 0440a21a02..9ede675e20 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.icc +++ b/environments/OPACS/include/EXPO_PhysicsList.icc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: EXPO_PhysicsList.icc,v 1.3 1999/05/18 10:57:13 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: EXPO_PhysicsList.icc,v 1.3.6.1 1999/12/07 20:46:50 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_Primary.icc b/environments/OPACS/include/EXPO_Primary.icc index 6cde12563c..51641fb2e2 100644 --- a/environments/OPACS/include/EXPO_Primary.icc +++ b/environments/OPACS/include/EXPO_Primary.icc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: EXPO_Primary.icc,v 1.2 1999/04/16 10:03:21 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: EXPO_Primary.icc,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // // See also G4/run/example/EXPO_PrimaryGeneratorAction.cc. diff --git a/environments/OPACS/include/EXPO_Templates.hh b/environments/OPACS/include/EXPO_Templates.hh index f27f9f4da2..eb6a8454e8 100644 --- a/environments/OPACS/include/EXPO_Templates.hh +++ b/environments/OPACS/include/EXPO_Templates.hh @@ -39,83 +39,83 @@ #include "G4UItokenNum.hh" #include "G4Trajectory.hh" -template class RWTPtrSlistDictionary; -template class RWTPtrSlistDictionary; +template class RWTPtrSlistDictionary; +template class RWTPtrSlistDictionary; template class RWTPtrSlistDictionary; -template class RWTPtrSlistDictionaryIterator; -template class RWTPtrSlistDictionaryIterator; +template class RWTPtrSlistDictionaryIterator; +template class RWTPtrSlistDictionaryIterator; template class RWTPtrSlistDictionaryIterator; -template class RWTValSlistDictionary; +template class RWTValSlistDictionary; template class RWTValSlistDictionary; template class RWTValSlistDictionary; -template class RWTValVector; +template class G4RWTValVector; -template class RWTPtrHashDictionary; -template class RWTPtrHashDictionary; -template class RWTPtrHashDictionary; -template class RWTPtrHashDictionaryIterator; -template class RWTPtrHashDictionaryIterator; -template class RWTPtrHashDictionaryIterator; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrOrderedVector; -template class RWTPtrSortedVector; -template class RWTPtrSortedVector; -template class RWTValHashDictionary; -template class RWTValHashDictionary; -template class RWTValHashDictionary; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -//template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValOrderedVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -//template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTValVector; -template class RWTPtrOrderedVector; +template class G4RWTPtrHashDictionary; +template class G4RWTPtrHashDictionary; +template class G4RWTPtrHashDictionary; +template class G4RWTPtrHashDictionaryIterator; +template class G4RWTPtrHashDictionaryIterator; +template class G4RWTPtrHashDictionaryIterator; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrOrderedVector; +template class G4RWTPtrSortedVector; +template class G4RWTPtrSortedVector; +template class G4RWTValHashDictionary; +template class G4RWTValHashDictionary; +template class G4RWTValHashDictionary; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +//template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValOrderedVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +//template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTValVector; +template class G4RWTPtrOrderedVector; // // G4 : diff --git a/environments/OPACS/include/G4o.h b/environments/OPACS/include/G4o.h index ed1a90fda3..34fffeb5d3 100644 --- a/environments/OPACS/include/G4o.h +++ b/environments/OPACS/include/G4o.h @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4o.h,v 1.2 1999/04/16 10:03:22 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4o.h,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oCommon.hh b/environments/OPACS/include/G4oCommon.hh index 805fd892c3..06103cc6b2 100644 --- a/environments/OPACS/include/G4oCommon.hh +++ b/environments/OPACS/include/G4oCommon.hh @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oCommon.hh,v 1.2 1999/04/16 10:03:23 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oCommon.hh,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* Included by G4o.h. diff --git a/environments/OPACS/include/G4oCommon.icc b/environments/OPACS/include/G4oCommon.icc index 72a90fb8d0..2821351f6b 100644 --- a/environments/OPACS/include/G4oCommon.icc +++ b/environments/OPACS/include/G4oCommon.icc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oCommon.icc,v 1.2 1999/04/16 10:03:24 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oCommon.icc,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* Included by G4o.cc. diff --git a/environments/OPACS/include/G4oDrawer.hh b/environments/OPACS/include/G4oDrawer.hh index 0b5972aa73..a539c796cc 100644 --- a/environments/OPACS/include/G4oDrawer.hh +++ b/environments/OPACS/include/G4oDrawer.hh @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oDrawer.hh,v 1.2 1999/04/16 10:03:25 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oDrawer.hh,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oEXPO.h b/environments/OPACS/include/G4oEXPO.h index 2f26a5239e..594e15fb05 100644 --- a/environments/OPACS/include/G4oEXPO.h +++ b/environments/OPACS/include/G4oEXPO.h @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oEXPO.h,v 1.2 1999/04/16 10:03:26 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oEXPO.h,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oScene.hh b/environments/OPACS/include/G4oScene.hh index 4ca92e5ad2..b88d91930f 100644 --- a/environments/OPACS/include/G4oScene.hh +++ b/environments/OPACS/include/G4oScene.hh @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oScene.hh,v 1.2 1999/04/16 10:03:27 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oScene.hh,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oState.hh b/environments/OPACS/include/G4oState.hh index 9669c01515..372c4c22f8 100644 --- a/environments/OPACS/include/G4oState.hh +++ b/environments/OPACS/include/G4oState.hh @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oState.hh,v 1.2 1999/04/16 10:03:28 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oState.hh,v 1.3.4.1 1999/12/07 20:46:51 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // #ifndef G4oState_h #define G4oState_h @@ -16,9 +16,10 @@ class G4oState : public G4VStateDependent, public G4UIsession { public: - G4oState (G4String); - G4bool Notify (G4ApplicationState); - void PauseSessionStart (G4String); + G4oState(G4String); + ~G4oState(); + G4bool Notify(G4ApplicationState); + void PauseSessionStart(G4String); private: G4String name; }; diff --git a/environments/OPACS/include/WoG4o.h b/environments/OPACS/include/WoG4o.h index ea130abaff..2918f3f94c 100644 --- a/environments/OPACS/include/WoG4o.h +++ b/environments/OPACS/include/WoG4o.h @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: WoG4o.h,v 1.2 1999/04/16 10:03:29 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: WoG4o.h,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/mgr/Makefile b/environments/OPACS/mgr/Makefile index aa6ed835dd..350f2c1847 100644 --- a/environments/OPACS/mgr/Makefile +++ b/environments/OPACS/mgr/Makefile @@ -24,8 +24,6 @@ This_macros = \ "libGL = -L${GLOROOT}/${OCONFIG} -lGLo" \ "libGLU = -L${GLOROOT}/${OCONFIG} -lGLUo" \ "libGLX = -L${GLOROOT}/${OCONFIG} -lGLXo" \ -"G4_CPPFLAGS = -I${G4INSTALL}/source/global/management/include -I${G4INSTALL}/source/global/HEPRandom/include -I${G4INSTALL}/source/global/HEPGeometry/include -I${G4INSTALL}/source/run/include -I${G4INSTALL}/source/materials/include -I${G4INSTALL}/source/particles/management/include -I${G4INSTALL}/source/particles/bosons/include -I${G4INSTALL}/source/particles/leptons/include -I${G4INSTALL}/source/particles/hadrons/barions/include -I${G4INSTALL}/source/particles/hadrons/ions/include -I${G4INSTALL}/source/particles/hadrons/mesons/include -I${G4INSTALL}/source/processes/management/include -I${G4INSTALL}/source/processes/general/include -I${G4INSTALL}/source/processes/decay/include -I${G4INSTALL}/source/processes/optical/include -I${G4INSTALL}/source/processes/transportation/include -I${G4INSTALL}/source/processes/parameterisation/include -I${G4INSTALL}/source/processes/electromagnetic/standard/include -I${G4INSTALL}/source/processes/electromagnetic/muons/include -I${G4INSTALL}/source/processes/electromagnetic/utils/include -I${G4INSTALL}/source/processes/electromagnetic/xrays/include -I${G4INSTALL}/source/processes/hadronic/management/include -I${G4INSTALL}/source/processes/hadronic/processes/include -I${G4INSTALL}/source/processes/hadronic/util/include -I${G4INSTALL}/source/processes/hadronic/cross_sections/include -I${G4INSTALL}/source/processes/hadronic/models/generator/include -I${G4INSTALL}/source/processes/hadronic/models/high_energy/include -I${G4INSTALL}/source/processes/hadronic/models/low_energy/include -I${G4INSTALL}/source/processes/hadronic/stopping/include -I${G4INSTALL}/source/geometry/management/include -I${G4INSTALL}/source/geometry/solids/CSG/include -I${G4INSTALL}/source/geometry/solids/BREPS/include -I${G4INSTALL}/source/geometry/solids/STEP/include -I${G4INSTALL}/source/geometry/volumes/include -I${G4INSTALL}/source/geometry/magneticfield/include -I${G4INSTALL}/source/track/include -I${G4INSTALL}/source/tracking/include -I${G4INSTALL}/source/digits+hits/detector/include -I${G4INSTALL}/source/digits+hits/hits/include -I${G4INSTALL}/source/digits+hits/digits/include -I${G4INSTALL}/source/readout/include -I${G4INSTALL}/source/event/include -I${G4INSTALL}/source/graphics_reps/include -I${G4INSTALL}/source/persistency/include -I${G4INSTALL}/source/intercoms/include -I${G4INSTALL}/source/visualization/modeling/include" \ -"libg4 = -L${G4LIB}/$${G4SYSTEM} -lG4modeling -lG4run -lG4event -lG4tracking -lG4processes -lG4particles -lG4digits+hits -lG4track -lG4materials -lG4geometry -lG4graphics_reps -lG4intercoms -lG4global" \ "Wo_CPPFLAGS = -I${COROOT}/include -I${XXROOT}/include -I${WOROOT}/include" \ "libCo = -L${COROOT}/${OCONFIG} -lCo" \ "libXx = -L${XXROOT}/${OCONFIG} -lXx" \ @@ -38,11 +36,15 @@ This_macros = \ "libHo = -L${HOROOT}/${OCONFIG} -lHo" \ "libGo = -L${GOROOT}/${OCONFIG} -lGo" \ "libwww = -L${W3OROOT}/${OCONFIG} -lW3o" \ -"libhtmlw = -L${HTMLOROOT}/${OCONFIG} -lHTMLo" +"libhtmlw = -L${HTMLOROOT}/${OCONFIG} -lHTMLo" \ +"G4_CPPFLAGS = -I${G4INSTALL}/source/global/management/include -I${G4INSTALL}/source/global/HEPRandom/include -I${G4INSTALL}/source/global/HEPGeometry/include -I${G4INSTALL}/source/run/include -I${G4INSTALL}/source/materials/include -I${G4INSTALL}/source/particles/management/include -I${G4INSTALL}/source/particles/bosons/include -I${G4INSTALL}/source/particles/leptons/include -I${G4INSTALL}/source/particles/hadrons/barions/include -I${G4INSTALL}/source/particles/hadrons/ions/include -I${G4INSTALL}/source/particles/hadrons/mesons/include -I${G4INSTALL}/source/processes/management/include -I${G4INSTALL}/source/processes/general/include -I${G4INSTALL}/source/processes/decay/include -I${G4INSTALL}/source/processes/optical/include -I${G4INSTALL}/source/processes/transportation/include -I${G4INSTALL}/source/processes/parameterisation/include -I${G4INSTALL}/source/processes/electromagnetic/standard/include -I${G4INSTALL}/source/processes/electromagnetic/muons/include -I${G4INSTALL}/source/processes/electromagnetic/utils/include -I${G4INSTALL}/source/processes/electromagnetic/xrays/include -I${G4INSTALL}/source/processes/hadronic/management/include -I${G4INSTALL}/source/processes/hadronic/processes/include -I${G4INSTALL}/source/processes/hadronic/util/include -I${G4INSTALL}/source/processes/hadronic/cross_sections/include -I${G4INSTALL}/source/processes/hadronic/models/generator/include -I${G4INSTALL}/source/processes/hadronic/models/high_energy/include -I${G4INSTALL}/source/processes/hadronic/models/low_energy/include -I${G4INSTALL}/source/processes/hadronic/stopping/include -I${G4INSTALL}/source/geometry/management/include -I${G4INSTALL}/source/geometry/solids/CSG/include -I${G4INSTALL}/source/geometry/solids/BREPS/include -I${G4INSTALL}/source/geometry/solids/STEP/include -I${G4INSTALL}/source/geometry/volumes/include -I${G4INSTALL}/source/geometry/magneticfield/include -I${G4INSTALL}/source/track/include -I${G4INSTALL}/source/tracking/include -I${G4INSTALL}/source/digits+hits/detector/include -I${G4INSTALL}/source/digits+hits/hits/include -I${G4INSTALL}/source/digits+hits/digits/include -I${G4INSTALL}/source/readout/include -I${G4INSTALL}/source/event/include -I${G4INSTALL}/source/graphics_reps/include -I${G4INSTALL}/source/persistency/include -I${G4INSTALL}/source/intercoms/include -I${G4INSTALL}/source/visualization/modeling/include" \ +"libg4 = -L${G4LIB}/$${G4SYSTEM} -lG4modeling -lG4emstandard -lG4decay -lG4UIbasic -lG4muons -lG4ions -lG4mesons -lG4leptons -lG4barions -lG4run -lG4event -lG4bosons -lG4tracking -lG4transportation -lG4detector -lG4emutils -lG4hits -lG4procman -lG4digits -lG4track -lG4UIcommon -lG4partman -lG4volumes -lG4magneticfield -lG4csg -lG4geometrymng -lG4materials -lG4intercoms -lG4graphics_reps -lG4globman" + +# With Geant4 global libs use : +#"libg4 = -L${G4LIB}/$${G4SYSTEM} -lG4modeling -lG4run -lG4event -lG4tracking -lG4processes -lG4particles -lG4digits+hits -lG4track -lG4materials -lG4geometry -lG4graphics_reps -lG4intercoms -lG4global" include Config.mk - This_needed : @if test "${COROOT}" = "" ; then echo "COROOT not set" ; exit 1 ; else exit 0 ; fi @if test "${GOROOT}" = "" ; then echo "GOROOT not set"; exit 1 ; else exit 0 ; fi diff --git a/environments/OPACS/mgr/setup.csh b/environments/OPACS/mgr/setup.csh index f63da2f1bb..83a8095fc9 100644 --- a/environments/OPACS/mgr/setup.csh +++ b/environments/OPACS/mgr/setup.csh @@ -12,18 +12,6 @@ # -------------------------- source /lal/OPACS/v3/setup.csh # -# Geant4 global path : -# ------------------ -#setenv G4INSTALL /geant4/dev/geant4 -# -# If you have one, execute your Geant4 setup script : -# ------------------------------------------------- -# Mainly it should define G4INSTALL, G4SYSTEM, G4LIB, G4WORKDIR -# needed by the mgr/Makefile, Config.mk make files : -#source $G4INSTALL/mgr/setup.csh -#source $G4INSTALL/mgr/setsf.csh -#source $G4INSTALL/mgr/setiv.csh -# # CLHEP, Rogue Wave path : # ---------------------- if ( `uname -n` == "aleph" ) then @@ -38,9 +26,13 @@ setenv RWLIBS "-L${RWROOT}/lib -lrwtool" endif if ( `uname -n` == "lx1.lal.in2p3.fr" ) then setenv CLHEPROOT /lal/CLHEP/1.4/Linux-gxx -setenv RWROOT /lal/rogue/6.1/Linux-gxx -setenv RWFLAGS "-I${RWROOT}" -setenv RWLIBS "-L${RWROOT}/lib -lrwtool" +# With RogueWave : +#setenv RWROOT /lal/rogue/6.1/Linux-gxx +#setenv RWFLAGS "-I${RWROOT}" +#setenv RWLIBS "-L${RWROOT}/lib -lrwtool" +# With STL : +setenv RWFLAGS "-I$G4INSTALL/source/global/STLInterface" +setenv RWLIBS "" endif if ( `uname -n` == "papou1" ) then setenv G4WORKDIR /geant4/dev diff --git a/environments/OPACS/src/G4o.cc b/environments/OPACS/src/G4o.cc index 2029b4a528..3afb1834cb 100644 --- a/environments/OPACS/src/G4o.cc +++ b/environments/OPACS/src/G4o.cc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4o.cc,v 1.3 1999/05/18 10:56:53 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4o.cc,v 1.4.2.1.2.1 1999/12/07 20:46:52 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* #define DEBUG @@ -15,6 +15,10 @@ #include #include +// GB : put this include before the GL ones. +// It avoid a clash with STL includes on Linux. +#include "g4rw/tvhdict.h" + // Geant4 : #include #include diff --git a/environments/OPACS/src/G4oDrawer.cc b/environments/OPACS/src/G4oDrawer.cc index 733cc992a3..7695229ccc 100644 --- a/environments/OPACS/src/G4oDrawer.cc +++ b/environments/OPACS/src/G4oDrawer.cc @@ -1,18 +1,22 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oDrawer.cc,v 1.2 1999/04/16 10:03:36 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oDrawer.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* From geant4/visualization/management/src/G4VisManager.cc. */ #include +// GB : put this include before the GL ones. +// It avoid a clash with STL includes on Linux. +#include "g4rw/tvhdict.h" + #include /*G4*/ diff --git a/environments/OPACS/src/G4oScene.cc b/environments/OPACS/src/G4oScene.cc index e39b3da28c..2372989166 100644 --- a/environments/OPACS/src/G4oScene.cc +++ b/environments/OPACS/src/G4oScene.cc @@ -1,12 +1,12 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oScene.cc,v 1.2 1999/04/16 10:03:38 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oScene.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ @@ -25,6 +25,10 @@ #include #endif +// GB : put this include before the GL ones. +// It avoid a clash with STL includes on Linux. +#include "g4rw/tvhdict.h" + /*Co*/ #include #include diff --git a/environments/OPACS/src/G4oState.cc b/environments/OPACS/src/G4oState.cc index e6b2805e2b..70ceead330 100644 --- a/environments/OPACS/src/G4oState.cc +++ b/environments/OPACS/src/G4oState.cc @@ -1,16 +1,18 @@ // This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. +// the GEANT4 collaboration. // // By copying, distributing or modifying the Program (or any work // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4oState.cc,v 1.2 1999/04/16 10:03:39 barrand Exp $ -// GEANT4 tag $Name: geant4-00-01 $ +// $Id: G4oState.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $ +// GEANT4 tag $Name: geant4-01-00 $ // //#define DEBUG -//#include "G4ios.hh" +// GB : put this include before the GL ones. +// It avoid a clash with STL includes on Linux. +#include "g4rw/tvhdict.h" //G4 #include @@ -35,27 +37,42 @@ G4oState::G4oState( G4UImanager::GetUIpointer()->SetSession(this); //So that Pause works.. } /***************************************************************************/ +G4oState::~G4oState( +) +/***************************************************************************/ +/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ +{ +} +/***************************************************************************/ G4bool G4oState::Notify ( G4ApplicationState requestedState ) /***************************************************************************/ /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ { - G4StateManager* statM = G4StateManager::GetStateManager(); + G4StateManager* statM = G4StateManager::GetStateManager(); G4ApplicationState previousState = statM->GetPreviousState(); - if(previousState==Idle && requestedState==GeomClosed) { //beginOfRun - G4String string = "RunBegin.osh"; - OShellExecuteFile (G4oGetShell(),(char*)(name + string).data()); - } else if(previousState==GeomClosed && requestedState==Idle) { //endOfRun - G4String string = "RunEnd.osh"; - OShellExecuteFile (G4oGetShell(),(char*)(name + string).data()); - } else if(previousState==GeomClosed && requestedState==EventProc) { //beginOfEvent - G4String string = "EventBegin.osh"; - OShellExecuteFile (G4oGetShell(),(char*)(name + string).data()); - } else if(previousState==EventProc && requestedState==GeomClosed) { // EndOfEvent - G4String string = "EventEnd.osh"; - OShellExecuteFile (G4oGetShell(),(char*)(name + string).data()); + if(previousState==Idle && requestedState==GeomClosed) { + //beginOfRun + G4String string = name; + string += "RunBegin.osh"; + OShellExecuteFile (G4oGetShell(),(char*)string.data()); + } else if(previousState==GeomClosed && requestedState==Idle) { + //endOfRun + G4String string = name; + string += "RunEnd.osh"; + OShellExecuteFile (G4oGetShell(),(char*)string.data()); + } else if(previousState==GeomClosed && requestedState==EventProc) { + //beginOfEvent + G4String string = name; + string += "EventBegin.osh"; + OShellExecuteFile (G4oGetShell(),(char*)string.data()); + } else if(previousState==EventProc && requestedState==GeomClosed) { + // EndOfEvent + G4String string = name; + string += "EventEnd.osh"; + OShellExecuteFile (G4oGetShell(),(char*)string.data()); } return true; diff --git a/examples/History b/examples/History index afd5119eb7..f8db368b0a 100644 --- a/examples/History +++ b/examples/History @@ -1,4 +1,4 @@ -$Id: History,v 1.16 1999/07/06 18:15:39 johna Exp $ +$Id: History,v 1.37 1999/12/07 11:33:51 stesting Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,78 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +7th December 1999 John Allison (examples-V00-01-19) +- Updated novice .out files to geant4-01-00. + +6th December 1999 John Allison (examples-V00-01-18) +- Temporarily backed muon out of exampleN02. +- Included PersistentEx01-V00-01-05, PersistentEx02-V00-01-03. + +3rd December 1999 Gabriele Cosmo (examples-V00-01-17) +- Fixed definition of vacuum in exampleN02 and updated reference + output as for Linux-g++ (J.Apostolakis) +- Included PersistentEx01-V00-01-04, PersistentEx02-V00-01-02. + +1st December 1999 John Allison (examples-V00-01-16) +- Added 1 Tev muon to exampleN02 (J.Apostolakis). +- Included PersistentEx01-V00-01-03, PersistentEx02-V00-01-01. + +29th November 1999 John Allison (examples-V00-01-15) +- Delete VisManager before RunManager in exampleN05.cc + +17th November 1999 John Allison (examples-V00-01-14) +- Updated exampleN03.out and exampleN06.out for geant4-00-01-ref-09 and + Sun debug. + +10th November 1999 John Allison (examples-V00-01-13) +- Archived (cvs remove) E01, E02 and E03. +- Added extended/electromagnetic and extended/persistency. + +10th November 1999 Satoshi Tanaka (examples-V00-01-12) +- novice/N03 is updated +- Vis macros for N03 are updated for the latest updation of vis commands + (Introduction of /vis/viewer/update etc) + +09th November 1999 Satoshi Tanaka (examples-V00-01-11) +- novice/N03 is updated +- prerunN03.mac : /vis/viewer/update is appended +- src/ExN03RunAction.cc: /vis/scene/notifyHandlers is in BeginOfRunAction() + /vis/viewer/update is in EndOfRunAction() + +29th September 1999 John Allison (examples-V00-01-09) +- Updated .out files for geant4-00-01-ref-05, tags 11. + +29th September 1999 John Allison (examples-V00-01-08) +- Updated exampleN04 .out files for geant4-00-01-ref-05. + +26th October 1999 John Allison (examples-V00-01-07) +- Tagged Y.Morita's changes to extended/E02 - see extended/E02/History. + +20th October 1999 John Allison (examples-V00-01-06) +- Define G4OODDLX_BOOT in E02/GNUmakefile. +- Updated .out files for geant4-00-01-ref-04. + +29th September 1999 John Allison (examples-V00-01-05) +- Updated .out files for geant4-00-01-ref-03. + +3rd October 1999 Hisaya Kurashige (examples-V00-01-04) +- Updated all PhysicsList for renaming 'Barion' to 'Baryon' + +29th September 1999 John Allison (examples-V00-01-03) +- Updated .out files for geant4-00-01-ref-02. + +14th September 1999 Satoshi Tanaka (examples-V00-01-02) +- Included new macro files and other changes for visualization. + +5th August 1999 John Allison (examples-V00-01-01) +- Updated exampleN02.out for geant4-00-01-ref-01. + +5th August 1999 John Allison (examples-V00-01-00) +- Updated exampleN04.EMtest.out and exampleN04.out for geant4-00-01. + +4th August 1999 John Allison + - Eliminated references to G4Ray in ExN02VisManager.cc and N03. + 6th July 1999 John Allison (examples-01-00-13) - Relaxed non-optimised compiling for ExN04PhysicsList.cc for Linux. diff --git a/examples/extended/E01/GNUmakefile b/examples/extended/E01/GNUmakefile deleted file mode 100644 index 4edbffeb84..0000000000 --- a/examples/extended/E01/GNUmakefile +++ /dev/null @@ -1,35 +0,0 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:17 gunter Exp $ -# -------------------------------------------------------------- -# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98. -# -------------------------------------------------------------- - -name := exampleE01 -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -.PHONY: all -all: lib bin - -include $(G4INSTALL)/config/architecture.gmk - -# Override some variables for binmake.gmk. -# -# INCFLAGS := -# LDLIBS := - -CPPFLAGS += \ - -I$(OBJY_DIR)/include \ - -I$(HEP_ODBMS_DIR)/include \ - -I$(HISTOODIR)/code -LDFLAGS += \ - -L$(OBJY_DIR)/lib \ - -L$(HEP_ODBMS_DIR)/lib \ - -L$(HISTOODIR)/lib -LOADLIBS += -lHistoxx -lHepODBMS -loo -lm - -include $(G4INSTALL)/config/binmake.gmk - diff --git a/examples/extended/E01/History b/examples/extended/E01/History deleted file mode 100644 index 7289e55d01..0000000000 --- a/examples/extended/E01/History +++ /dev/null @@ -1,46 +0,0 @@ -$Id: History,v 1.2 1999/04/17 04:06:40 kurasige Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - an Object-Oriented Toolkit for Simulation in HEP - ========================================================= - - Novice Example 07 History file - ------------------------------ -This file should be used by the test developer to briefly -summarize all major modifications introduced in the code and keep -track of all tags. - - ---------------------------------------------------------- - * Reverse chronological order (last date on top), please * - ---------------------------------------------------------- -17 Apr., 1999 H.Kurashige -- Modify SetCuts() and ConstructParticle() in ExE0101PhysicsList -- Modify BeginOfRunAction() and EndOfRunAction() in ExE0101RunAction -- Modify UserSteppingAction() in ExE0101SteppingAction - -14th October 1998 John Allison -- Moved from N07. - -25th August 1998 Evgueni.Tcherniaev@cern.ch -- CPPFLAGS += ... -I$(HISTOODIR)/code - LDFLAGS += ... -L$(HISTOODIR)/lib - -- Changed p.Print(); to p.print(); - -21st August 1998 John Allison -- Changed file names from N07* to ExN07*. - -August 7th,1998 John Allison -- Moved from test03 to exampleN07. - -July 10, 1998, Evgueni.Tcherniaev@cern.ch -- in test03.cc added: - runManager->initialize(); - -- GNUmakefile now points to $(HISTOODIR)/../dev/code - should be changed to $(HISTOODIR) for official release - -June 27, 98 G. Cosmo -- Created. - diff --git a/examples/extended/E01/README b/examples/extended/E01/README deleted file mode 100644 index 6b7380e8d4..0000000000 --- a/examples/extended/E01/README +++ /dev/null @@ -1,47 +0,0 @@ -$Id: README,v 1.1 1999/01/07 16:05:17 gunter Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - an Object-Oriented Toolkit for Simulation in HEP - ========================================================= - - ExampleN07 - --------- - -This directory contains a GEANT4 example on how to create, fill, -print and save histograms in a OODBMS. - -The main program "exampleN07.cc" is a standard G4 main (no initialization -of OODBMS or histos). - -The run actions are overloaded: - -- in BeginOfRunAction the federated data base and the data bases sessions - are initialized and a transaction is opened; - 1d and 2d histograms are constructed; - The name of the base name is "ExN07DB". - -- in EndOfRunAction contents of the histograms are printed and - the transaction is closed; - -The stepping action is overloaded: - -- in SteppingAction two histograms are accessed and filled. - -The followings are the instruction to execute it for the case of HP-AFS. - -0) Setting up the environment - - http://wwwinfo.cern.ch/asdoc/lhcpp/SetUpUserEnvironment.html - -1) Compilation/linking - - % gmake - -2) Execution - - % ../../../bin/HP-AFS/exampleN07 > exampleN07.newout - % diff exampleN07.out exampleN07.newout - - Evgueni.Tcherniaev@cern.ch, 25.08.98 - diff --git a/examples/extended/E01/exampleE01.cc b/examples/extended/E01/exampleE01.cc deleted file mode 100644 index dd1d2adb66..0000000000 --- a/examples/extended/E01/exampleE01.cc +++ /dev/null @@ -1,31 +0,0 @@ -// $Id: exampleE01.cc,v 1.1 1999/01/07 16:05:17 gunter Exp $ - -#include "ExE01DetectorConstruction.hh" -#include "ExE01RunAction.hh" -#include "ExE01PrimaryGeneratorAction.hh" -#include "ExE01PhysicsList.hh" -#include "ExE01SteppingAction.hh" - -#include "G4RunManager.hh" - -int main(int ,char** ) { - // Run manager - G4RunManager * runManager = new G4RunManager; - - // UserInitialization classes - runManager->SetUserInitialization(new ExE01DetectorConstruction); - runManager->SetUserInitialization(new ExE01PhysicsList); - - // UserAction classes. - runManager->SetUserAction(new ExE01RunAction); - runManager->SetUserAction(new ExE01PrimaryGeneratorAction); - runManager->SetUserAction(new ExE01SteppingAction); - - // Event loop - G4int n_event = 1000; - runManager->Initialize(); - runManager->BeamOn(n_event); - - delete runManager; - return 0; -} diff --git a/examples/extended/E01/exampleE01.out b/examples/extended/E01/exampleE01.out deleted file mode 100644 index 7db6ad44c5..0000000000 --- a/examples/extended/E01/exampleE01.out +++ /dev/null @@ -1,175 +0,0 @@ -ExE01PhysicsList::setCuts:CutLength : 1 (mm) -TYPE : Histo1D -TITLE : HepJamesRandom1 -BIN NUMBER : 100 -BIN WIDTH : 0.01 - - 0.00e+00 3.88e+00 Y -X POSITION BIN VALUE|---------------------------------------------------> - 0.000e+00 0 6.000e-02| - 1.000e-02 1 4.000e-02| - 2.000e-02 2 1.800e-01|XX - 3.000e-02 3 9.000e-02|X - 4.000e-02 4 1.500e-01|X - 5.000e-02 5 2.600e-01|XXX - 6.000e-02 6 2.500e-01|XXX - 7.000e-02 7 3.600e-01|XXXX - 8.000e-02 8 3.000e-01|XXX - 9.000e-02 9 4.900e-01|XXXXXX - 1.000e-01 10 6.000e-01|XXXXXXX - 1.100e-01 11 5.600e-01|XXXXXXX - 1.200e-01 12 6.400e-01|XXXXXXXX - 1.300e-01 13 1.110e+00|XXXXXXXXXXXXXX - 1.400e-01 14 1.140e+00|XXXXXXXXXXXXXX - 1.500e-01 15 1.500e+00|XXXXXXXXXXXXXXXXXXX - 1.600e-01 16 1.520e+00|XXXXXXXXXXXXXXXXXXX - 1.700e-01 17 1.750e+00|XXXXXXXXXXXXXXXXXXXXXXX - 1.800e-01 18 1.700e+00|XXXXXXXXXXXXXXXXXXXXXX - 1.900e-01 19 1.860e+00|XXXXXXXXXXXXXXXXXXXXXXXX - 2.000e-01 20 2.360e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.100e-01 21 2.530e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.200e-01 22 2.580e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.300e-01 23 2.670e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.400e-01 24 2.900e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.500e-01 25 3.100e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.600e-01 26 3.250e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.700e-01 27 3.230e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.800e-01 28 3.530e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 2.900e-01 29 3.540e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.000e-01 30 3.470e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.100e-01 31 3.880e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.200e-01 32 3.340e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.300e-01 33 3.430e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.400e-01 34 3.070e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.500e-01 35 3.490e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.600e-01 36 2.950e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.700e-01 37 2.560e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.800e-01 38 2.740e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 3.900e-01 39 2.250e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX - 4.000e-01 40 2.110e+00|XXXXXXXXXXXXXXXXXXXXXXXXXXX - 4.100e-01 41 1.900e+00|XXXXXXXXXXXXXXXXXXXXXXXX - 4.200e-01 42 1.740e+00|XXXXXXXXXXXXXXXXXXXXXX - 4.300e-01 43 1.420e+00|XXXXXXXXXXXXXXXXXX - 4.400e-01 44 1.160e+00|XXXXXXXXXXXXXXX - 4.500e-01 45 1.040e+00|XXXXXXXXXXXXX - 4.600e-01 46 9.200e-01|XXXXXXXXXXXX - 4.700e-01 47 7.900e-01|XXXXXXXXXX - 4.800e-01 48 7.500e-01|XXXXXXXXX - 4.900e-01 49 6.200e-01|XXXXXXXX - 5.000e-01 50 5.400e-01|XXXXXXX - 5.100e-01 51 3.800e-01|XXXX - 5.200e-01 52 2.900e-01|XXX - 5.300e-01 53 2.000e-01|XX - 5.400e-01 54 2.000e-01|XX - 5.500e-01 55 1.200e-01|X - 5.600e-01 56 6.000e-02| - 5.700e-01 57 5.000e-02| - 5.800e-01 58 4.000e-02| - 5.900e-01 59 8.000e-02|X - 6.000e-01 60 2.000e-02| - 6.100e-01 61 0.000e+00| - 6.200e-01 62 1.000e-02| - 6.300e-01 63 1.000e-02| - 6.400e-01 64 0.000e+00| - 6.500e-01 65 0.000e+00| - 6.600e-01 66 0.000e+00| - 6.700e-01 67 0.000e+00| - 6.800e-01 68 0.000e+00| - 6.900e-01 69 0.000e+00| - 7.000e-01 70 0.000e+00| - 7.100e-01 71 0.000e+00| - 7.200e-01 72 0.000e+00| - 7.300e-01 73 0.000e+00| - 7.400e-01 74 0.000e+00| - 7.500e-01 75 0.000e+00| - 7.600e-01 76 0.000e+00| - 7.700e-01 77 0.000e+00| - 7.800e-01 78 0.000e+00| - 7.900e-01 79 0.000e+00| - 8.000e-01 80 0.000e+00| - 8.100e-01 81 0.000e+00| - 8.200e-01 82 0.000e+00| - 8.300e-01 83 0.000e+00| - 8.400e-01 84 0.000e+00| - 8.500e-01 85 0.000e+00| - 8.600e-01 86 0.000e+00| - 8.700e-01 87 0.000e+00| - 8.800e-01 88 0.000e+00| - 8.900e-01 89 0.000e+00| - 9.000e-01 90 0.000e+00| - 9.100e-01 91 0.000e+00| - 9.200e-01 92 0.000e+00| - 9.300e-01 93 0.000e+00| - 9.400e-01 94 0.000e+00| - 9.500e-01 95 0.000e+00| - 9.600e-01 96 0.000e+00| - 9.700e-01 97 0.000e+00| - 9.800e-01 98 0.000e+00| - 9.900e-01 99 0.000e+00| - X | - V - ENTRIES : 9000 TOTAL C. : 8.988e+01 NEQUIVAL : 8.988e+03 - MEAN F.T.: 3.003e-01 MEAN B.C.: 3.003e-01 UNDERFLOW: 1.200e-01 - RMS F.T. : 1.003e-01 RMS B.C. : 1.003e-01 OVERFLOW : 0.000e+00 -TYPE : Histo2D -TITLE : HepJamesVsDRand48 -X: BINS : 40 WIDTH : 2.500e-02 MIN : 0.000e+00 MAX : 1.000e+00 -Y: BINS : 40 WIDTH : 2.500e-02 MIN : 0.000e+00 MAX : 1.000e+00 - - - 0 1 2 3 - 0123456789012345678901234567890123456789 - ****************************************** - * * - 0 * ........................................ * - 1 * ........................................ * - 2 * ........................................ * - 3 * ........................................ * - 4 * ........................................ * - 5 * ........................................ * - 6 * ........................................ * - 7 * ........................................ * - 8 * ........................................ * - 9 * ........................................ * - 10 * ........................................ * - 11 * ........................................ * - 12 * ........................................ * - 13 * ........................................ * - 14 * ........................................ * - 15 * ........................................ * - 16 * ........................................ * - 17 * ........................................ * - 18 * ............++.......................... * - 19 * ..........++++.++....................... * - 20 * .......+22++22++++...................... * - 21 * ...++.2+2+233323+2...................... * - 22 * .....+224334444222..+................... * - 23 * ..+.+223447786642322.................... * - 24 * .....+3466997984633..................... * - 25 * ..++22457A9ACAA85332+................... * - 26 * ..+++45779DBFA778523+................... * - 27 * ....+37688DCBCA96422+................... * - 28 * ...+2467AAADE9DA6443++.................. * - 29 * ...+2454999ACB985332+................... * - 30 * ...++2445AAB9B9863+2+................... * - 31 * ...++2245568878553+++................... * - 32 * .....2235556765332+2.................... * - 33 * .....++23345343422+..................... * - 34 * .....++.+23322232++..................... * - 35 * .......+.2+2+2+++....................... * - 36 * .........++++.+..+...................... * - 37 * ...........++++......................... * - 38 * ........................................ * - 39 * ........................................ * - * * - ****************************************** - -ENTRIES : 9000 Z MIN : 0 -TOTAL C. : 89.8 Z STEP : 0.068 -NEQUIVAL : 8.98e+03 Z SCALE : .+23456789ABCDE - - 0 | 0.05 | 0 - -----------|------------|----------- - 0.12 | 89.7 | 0 - -----------|------------|----------- - 0 | 0 | 0 diff --git a/examples/extended/E01/include/ExE01DetectorConstruction.hh b/examples/extended/E01/include/ExE01DetectorConstruction.hh deleted file mode 100644 index 99609324f4..0000000000 --- a/examples/extended/E01/include/ExE01DetectorConstruction.hh +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef ExE01DetectorConstruction_h -#define ExE01DetectorConstruction_h 1 - -#include "G4VUserDetectorConstruction.hh" -#include "globals.hh" - -class ExE01DetectorConstruction : public G4VUserDetectorConstruction -{ - public: - ExE01DetectorConstruction(); - ~ExE01DetectorConstruction(); - - public: - G4VPhysicalVolume* Construct(); - - private: - G4double expHall_x; - G4double expHall_y; - G4double expHall_z; - - G4double calBox_x; - G4double calBox_y; - G4double calBox_z; - G4double rotAngle; - G4double calPos; - - G4double trackerRadius; - G4double trackerHight; - G4double trackerPos; -}; - -#endif - diff --git a/examples/extended/E01/include/ExE01PhysicsList.hh b/examples/extended/E01/include/ExE01PhysicsList.hh deleted file mode 100644 index 89727a39d8..0000000000 --- a/examples/extended/E01/include/ExE01PhysicsList.hh +++ /dev/null @@ -1,37 +0,0 @@ -// $Id: ExE01PhysicsList.hh,v 1.2 1999/04/17 04:06:41 kurasige Exp $ -// ------------------------------------------------------------ -#ifndef ExE01PhysicsList_h -#define ExE01PhysicsList_h 1 - -#include "G4VUserPhysicsList.hh" -#include "globals.hh" - -class ExE01PhysicsList: public G4VUserPhysicsList -{ - public: - ExE01PhysicsList(); - virtual ~ExE01PhysicsList(); - - protected: - // Construct particle and physics - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - // - virtual void SetCuts(); - - protected: - // these methods Construct particles - virtual void ConstructBosons(); - virtual void ConstructLeptons(); - - protected: - // these methods Construct physics processes and register them - virtual void ConstructEM(); - -}; - -#endif - - - diff --git a/examples/extended/E01/include/ExE01PrimaryGeneratorAction.hh b/examples/extended/E01/include/ExE01PrimaryGeneratorAction.hh deleted file mode 100644 index 86f5ec2fcb..0000000000 --- a/examples/extended/E01/include/ExE01PrimaryGeneratorAction.hh +++ /dev/null @@ -1,25 +0,0 @@ - -#ifndef ExE01PrimaryGeneratorAction_h -#define ExE01PrimaryGeneratorAction_h 1 - -#include "G4VUserPrimaryGeneratorAction.hh" - -class G4ParticleGun; -class G4Event; - -class ExE01PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction -{ - public: - ExE01PrimaryGeneratorAction(); - ~ExE01PrimaryGeneratorAction(); - - public: - void GeneratePrimaries(G4Event* anEvent); - - private: - G4ParticleGun* particleGun; -}; - -#endif - - diff --git a/examples/extended/E01/include/ExE01RunAction.hh b/examples/extended/E01/include/ExE01RunAction.hh deleted file mode 100644 index 92dcba7ce6..0000000000 --- a/examples/extended/E01/include/ExE01RunAction.hh +++ /dev/null @@ -1,33 +0,0 @@ -// $Id: ExE01RunAction.hh,v 1.3 1999/04/22 21:49:17 asaim Exp $ - -#ifndef ExE01RunAction_h -#define ExE01RunAction_h 1 - -#include "G4UserRunAction.hh" -#include "globals.hh" - -#include "HepODBMS/clustering/HepDbApplication.h" -#include "histograms.h" -class G4Run; - -class ExE01RunAction : public G4UserRunAction -{ - public: - ExE01RunAction() { } - virtual ~ExE01RunAction() {} - - virtual void BeginOfRunAction(const G4Run* aRun); - virtual void EndOfRunAction(const G4Run* aRun); - - static HepRef(Histo1D) get_1d() { return myHisto1D; } - static HepRef(Histo2D) Get2d() { return myHisto2D; } - - private: - static HepRef(Histo1D) myHisto1D; - static HepRef(Histo2D) myHisto2D; - - HepDbApplication dbApp; -}; - -#endif - diff --git a/examples/extended/E01/include/ExE01SteppingAction.hh b/examples/extended/E01/include/ExE01SteppingAction.hh deleted file mode 100644 index cc1f903d5d..0000000000 --- a/examples/extended/E01/include/ExE01SteppingAction.hh +++ /dev/null @@ -1,24 +0,0 @@ -// $Id: ExE01SteppingAction.hh,v 1.2 1999/04/17 04:06:43 kurasige Exp $ - -#ifndef ExE01SteppingAction_h -#define ExE01SteppingAction_h 1 - -#include "G4UserSteppingAction.hh" -#include "globals.hh" -#include "Randomize.hh" - -#include "histograms.h" - -class ExE01SteppingAction : public G4UserSteppingAction { - private: - HepJamesRandom theJamesEngine; - DRand48Engine theDRand48Engine; - - public: - ExE01SteppingAction(){}; - virtual ~ExE01SteppingAction(){}; - - virtual void UserSteppingAction(const G4Step*); -}; - -#endif diff --git a/examples/extended/E01/src/ExE01DetectorConstruction.cc b/examples/extended/E01/src/ExE01DetectorConstruction.cc deleted file mode 100644 index 93851c0b28..0000000000 --- a/examples/extended/E01/src/ExE01DetectorConstruction.cc +++ /dev/null @@ -1,102 +0,0 @@ - -#include "ExE01DetectorConstruction.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4Element.hh" -#include "G4ElementTable.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4RotationMatrix.hh" -#include "G4ThreeVector.hh" -#include "G4Transform3D.hh" -#include "G4PVPlacement.hh" - -ExE01DetectorConstruction::ExE01DetectorConstruction() -{ - expHall_x = 600.*cm; - expHall_y = 600.*cm; - expHall_z = 600.*cm; - - calBox_x = 50.*cm; - calBox_y = 50.*cm; - calBox_z = 50.*cm; - rotAngle = 30.*deg; - calPos = 200.*cm; - - trackerRadius = 50.*cm; - trackerHight = 100.*cm; - trackerPos = -200.*cm; -} - -ExE01DetectorConstruction::~ExE01DetectorConstruction() -{;} - -G4VPhysicalVolume* ExE01DetectorConstruction::Construct() -{ - - //------------------------------------------------------ materials - - G4double a, iz, z, density; - G4String name, symbol; - G4int nel; - - a = 14.01*g/mole; - G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a); - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen", symbol="O", iz=8., a); - - density = 1.29e-03*g/cm3; - G4Material* Air = new G4Material(name="Air", density, nel=2); - Air->AddElement(elN, .7); - Air->AddElement(elO, .3); - - a = 207.19*g/mole; - density = 11.35*g/cm3; - G4Material* Lead = new G4Material(name="Lead", z=82., a, density); - - a = 39.95*g/mole; - density = 1.782e-03*g/cm3; - G4Material* Ar = new G4Material(name="ArgonGas", z=18., a, density); - - //------------------------------------------------------ volumes - - //------------------------------ experimental hall - G4Box * experimantalHall_box - = new G4Box("expHall_b",expHall_x,expHall_y,expHall_z); - G4LogicalVolume * experimantalHall_log - = new G4LogicalVolume(experimantalHall_box,Air,"expHall_L",0,0,0); - G4VPhysicalVolume * experimantalHall_phys - = new G4PVPlacement(0,G4ThreeVector(),"expHall_P", - experimantalHall_log,0,false,0); - - //------------------------------ calorimeter boxes - G4Box * calorimeter_box - = new G4Box("calorimeter_b",calBox_x,calBox_y,calBox_z); - G4LogicalVolume * calorimeter_log - = new G4LogicalVolume(calorimeter_box,Lead,"calo_L",0,0,0); - for(G4int i=0;i<3;i++) - { - G4RotationMatrix rm; - rm.rotateZ(i*rotAngle); - new G4PVPlacement(G4Transform3D(rm,G4ThreeVector(0.*cm,i*calPos,0.*cm)), - "calo_phys",calorimeter_log,experimantalHall_phys, - false,i); - } - - //------------------------------ tracker tube - G4Tubs * tracker_tube - = new G4Tubs("tracker_tube",0.*cm,trackerRadius,trackerHight, - 0.*deg,360.*deg); - G4LogicalVolume * tracker_log - = new G4LogicalVolume(tracker_tube,Ar,"tracker_L",0,0,0); - new G4PVPlacement(0,G4ThreeVector(0.*cm,trackerPos,0.*cm), - "tracker_phys",tracker_log,experimantalHall_phys, - false,0); - - //------------------------------------------------------------------ - - return experimantalHall_phys; -} - diff --git a/examples/extended/E01/src/ExE01PhysicsList.cc b/examples/extended/E01/src/ExE01PhysicsList.cc deleted file mode 100644 index 69a9dacca0..0000000000 --- a/examples/extended/E01/src/ExE01PhysicsList.cc +++ /dev/null @@ -1,130 +0,0 @@ -// $Id: ExE01PhysicsList.cc,v 1.2 1999/04/17 04:06:46 kurasige Exp $ - -#include "globals.hh" -#include "ExE01PhysicsList.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - - -ExE01PhysicsList::ExE01PhysicsList(): G4VUserPhysicsList() -{ - SetVerboseLevel(1); -} - -ExE01PhysicsList::~ExE01PhysicsList() -{ -} - -void ExE01PhysicsList::ConstructParticle() -{ - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructBosons(); - ConstructLeptons(); - -} - -void ExE01PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -void ExE01PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); -} - -void ExE01PhysicsList::ConstructProcess() -{ - AddTransportation(); - ConstructEM(); -} - -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4MultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -void ExE01PhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - // Construct processes for gamma - pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - - } else if (particleName == "e-") { - //electron - // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - - } else if (particleName == "e+") { - //positron - // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4); - - } - } -} - -void ExE01PhysicsList::SetCuts() -{ - G4double cut = defaultCutValue; - if (verboseLevel >0){ - G4cout << "ExE01PhysicsList::SetCuts:"; - G4cout << "CutLength : " << cut/mm << " (mm)" << endl; - } - - // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma - SetCutValue(cut, "gamma"); - SetCutValue(cut, "e-"); - SetCutValue(cut, "e+"); - - SetCutValueForOthers(cut); - - if (verboseLevel>1) { - DumpCutValuesTable(); - } -} diff --git a/examples/extended/E01/src/ExE01PrimaryGeneratorAction.cc b/examples/extended/E01/src/ExE01PrimaryGeneratorAction.cc deleted file mode 100644 index 2fadb24c7a..0000000000 --- a/examples/extended/E01/src/ExE01PrimaryGeneratorAction.cc +++ /dev/null @@ -1,36 +0,0 @@ - -#include "ExE01PrimaryGeneratorAction.hh" - -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "globals.hh" - -ExE01PrimaryGeneratorAction::ExE01PrimaryGeneratorAction() -{ - G4int n_particle = 1; - particleGun = new G4ParticleGun(n_particle); -} - -ExE01PrimaryGeneratorAction::~ExE01PrimaryGeneratorAction() -{ - delete particleGun; -} - -void ExE01PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) -{ - G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="geantino"); - particleGun->SetParticleDefinition(particle); - - particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,1.,0.)); - particleGun->SetParticleEnergy(100.*GeV); - particleGun->SetParticlePosition(G4ThreeVector(0.*cm,-300.*cm,0.*cm)); - - particleGun->GeneratePrimaryVertex(anEvent); -} - - diff --git a/examples/extended/E01/src/ExE01RunAction.cc b/examples/extended/E01/src/ExE01RunAction.cc deleted file mode 100644 index 196a2f85a0..0000000000 --- a/examples/extended/E01/src/ExE01RunAction.cc +++ /dev/null @@ -1,49 +0,0 @@ -// $Id: ExE01RunAction.cc,v 1.3 1999/04/22 21:49:21 asaim Exp $ - -#include "ExE01RunAction.hh" -#include "G4Run.hh" -#include "G4UImanager.hh" -#include "G4ios.hh" - -HepRef(Histo1D) ExE01RunAction::myHisto1D; -HepRef(Histo2D) ExE01RunAction::myHisto2D; - -void ExE01RunAction::BeginOfRunAction(const G4Run* aRun) -{ - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/event/Verbose 0"); - UI->ApplyCommand("/tracking/Verbose 0"); - - dbApp.Init(); - dbApp.startUpdate(); - - HepDatabaseRef dbH = dbApp.db("ExE01DB"); - - // Number of histogram bins - int nBins1d = 100; - int nBins2d = 40; - - // Limits for values - double low = 0, high = 1; - double xlow = 0, xhigh = 1, ylow = 0, yhigh = 1; - - myHisto1D = new(dbH) - Histo1D("HepJamesRandom1", nBins1d, low, high); - - myHisto2D = new(dbH) - Histo2D("HepJamesVsDRand48", nBins2d, xlow, xhigh, nBins2d, ylow, yhigh); -} - -void ExE01RunAction::EndOfRunAction(const G4Run*) -{ - // Print histograms - HistPrintout p(G4cout); - - p.print(*myHisto1D); - p.print(*myHisto2D); - - // commit changes to Objectivty database - dbApp.commit(); -} - - diff --git a/examples/extended/E01/src/ExE01SteppingAction.cc b/examples/extended/E01/src/ExE01SteppingAction.cc deleted file mode 100644 index 47b189b1a1..0000000000 --- a/examples/extended/E01/src/ExE01SteppingAction.cc +++ /dev/null @@ -1,22 +0,0 @@ -// $Id: ExE01SteppingAction.cc,v 1.2 1999/04/17 04:06:49 kurasige Exp $ - -#include "ExE01SteppingAction.hh" -#include "ExE01RunAction.hh" - -void ExE01SteppingAction::UserSteppingAction(const G4Step*){ - - HepRef(Histo1D) h1 = ExE01RunAction::get_1d(); - HepRef(Histo2D) h2 = ExE01RunAction::Get2d(); - - HepRandom::setTheEngine(&theJamesEngine); - - double james = RandGauss::shoot(0.3,0.1); - h1->fill(james,0.01); - - HepRandom::setTheEngine(&theDRand48Engine); - - double d48 = RandGauss::shoot(0.7,0.1); - h2->fill(james,d48,0.01); -} - - diff --git a/examples/extended/E02/GNUmakefile b/examples/extended/E02/GNUmakefile deleted file mode 100644 index 6a771af278..0000000000 --- a/examples/extended/E02/GNUmakefile +++ /dev/null @@ -1,53 +0,0 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:20 gunter Exp $ -# -------------------------------------------------------------- -# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98. -# -------------------------------------------------------------- -# You must have unique G4EXAMPLE_FDID assigned by your local -# manager of Objectivity/DB lock server. -# -# G4EXAMPLE_BOOT is defined as $HOME/G4EXAMPLE by default. - -name := exampleE02 -G4ODBMS := true -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -.PHONY: all cleandb -all: lib bin - -include $(G4INSTALL)/config/architecture.gmk - -include $(G4INSTALL)/config/binmake.gmk - - CPPFLAGS += \ - -Iinclude \ - -I$(G4TMPDIR) - -test: - @echo $(CPPFLAGS) - -# -------------------------------------------------------------- - -# override the target all, and warn if G4ODBMS flag is not defined. -ifndef G4ODBMS -all: - @echo Error - Persistency requires G4ODBMS and related database setup. - exit 1 -endif - -cleandb: -ifndef G4EXAMPLE_FDID - @echo G4EXAMPLE_FDID is not defined. Stop. - exit 1 -endif - @rm -f $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE - @rm -f $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE.FDDB - @rm -f $(G4EXAMPLE_BOOT_DIR)/*.G4EXAMPLE.DB - @echo Copying schema file to $(G4EXAMPLE_BOOT) for FDID $(G4EXAMPLE_FDID) - @$(HEP_ODBMS_DIR)/etc/getdb $(G4SCHEMA_DIR)/G4SCHEMA \ - $(G4EXAMPLE_BOOT) $(G4EXAMPLE_FDID) - diff --git a/examples/extended/E02/README b/examples/extended/E02/README deleted file mode 100644 index d35b353b2f..0000000000 --- a/examples/extended/E02/README +++ /dev/null @@ -1,151 +0,0 @@ -$Id: README,v 1.2 1999/04/29 09:04:55 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. The code is provided here to give just a brief idea -of using the persistency in Geant4. - -How to build: - -- Setup: - -In addition to the standard Geant4 setup, additional setup for -HepODBMS, Objectivity/DB and federated database 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}/examples/extended/E02/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 is a set of configuration file and baseline federated database -file which contain 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 federeated database. - -When creating a persistency library of Geant4, Geant4-specific persistent -classes will be compiled into your local copy of the boot file. - -Default location of the Geant4 boot file is $HOME/G4EXAMPLE. -You may want to change the definition of this temporary boot -file in your .cshrc. - -example: - setenv G4EXAMPLE_BOOT_DIR ${HOME}/tmp/G4EXAMPLE - setenv G4EXAMPLE_BOOT ${G4EXAMPLE_BOOT_DIR}/G4EXAMPLE - -For each boot file, you 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 - -To compile the schema and to build the library, you also need an -access to Objectivity/DB lock server. 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 local copy of Geant4 boot file. -___________________________________________________________________________ -Note: On CERN AFS, contact your group system administrator to obtain access - to your group lock server. If you want to run this example on your - own, you must run your own lock server process on the same machine as - you run the executable program, due to a technical limitation on AFS - and Objectivity. - - To start your own lock server process, - - oocheckls -notitle `hostname` || \ - oolockserver -notitle -noauto `hostname`::${G4EXAMPLE_BOOT} - - Then check the process with - - ps -ef | grep ools - .... - 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 - - You must have AFS ACL access to HepODBMS and Objectivity/DB - directories. - - At CERN, the FDID allocation table is given in this URL: - - http://wwwinfo.cern.ch/asd/rd45/white-papers/9804/FDIDAllocation.html -___________________________________________________________________________ - -- 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 :0.0 - ootoolmgr -notitle G4EXAMPLE & - -Make sure to terminate ootoolmgr when you finish browsing. -Otherwise lockserver will remember the browsing by ootoolmgr as -a "transaction", and the further updates to the database will be blocked. - --- diff --git a/examples/extended/E02/exampleE02.cc b/examples/extended/E02/exampleE02.cc deleted file mode 100644 index 751acfba97..0000000000 --- a/examples/extended/E02/exampleE02.cc +++ /dev/null @@ -1,64 +0,0 @@ -// This code implementation is the intellectual property of -// the RD44 GEANT4 collaboration. -// -// By copying, distributing or modifying the Program (or any work -// based on the Program) you indicate your acceptance of this statement, -// and all its terms. -// -// $Id: exampleE02.cc,v 1.1 1999/01/07 16:05:21 gunter Exp $ -// GEANT4 tag $Name: geant4-00-01 $ -// -// -// -------------------------------------------------------------- -// GEANT4 - exampleE02 -// -// For information related to this code contact: -// CERN, IT Division, ASD Group -// -------------------------------------------------------------- -// Comments -// -// -// -------------------------------------------------------------- - - -#include "ExE02DetectorConstruction.hh" -#include "ExE02PhysicsList.hh" -#include "ExE02RunAction.hh" -#include "ExE02PrimaryGeneratorAction.hh" -#include "ExE02EventAction.hh" -#include "ExE02StackingAction.hh" - -#include "G4ios.hh" - -#include "G4RunManager.hh" -#include "G4PersistencyManager.hh" - -int main() -{ - // Persistency Manager - G4PersistencyManager * persistencyManager = - G4PersistencyManager::GetPersistencyManager(); - - // Run manager - G4RunManager * runManager = new G4RunManager; - - // Detector geometry - runManager->SetUserInitialization(new ExE02DetectorConstruction); - runManager->SetUserInitialization(new ExE02PhysicsList); - - // UserAction classes. - runManager->SetUserAction(new ExE02RunAction); - runManager->SetUserAction(new ExE02PrimaryGeneratorAction); - runManager->SetUserAction(new ExE02EventAction); - runManager->SetUserAction(new ExE02StackingAction); - - runManager->Initialize(); - - // Event loop - G4int n_event = 10; - runManager->BeamOn(n_event); - - delete runManager; - return 0; -} - diff --git a/examples/extended/E02/exampleE02.in b/examples/extended/E02/exampleE02.in deleted file mode 100644 index a9038b7447..0000000000 --- a/examples/extended/E02/exampleE02.in +++ /dev/null @@ -1,18 +0,0 @@ -# -# Macro file of "skeleton.cc" -# for tracking performance test -# -/control/verbose 2 -/run/verbose 2 -# -# SimpleBox geometry made by Pb -# Geantino 100 GeV to the direction (1.,0.,0.) -# 10 events -# -/mydet/switchDetector SimpleBox -/mydet/selectMaterial Pb -/gun/particle geantino -/gun/energy 100 GeV -/gun/direction 1 0 0 -/run/initialize -/run/beamOn 10 diff --git a/examples/extended/E02/exampleE02.out b/examples/extended/E02/exampleE02.out deleted file mode 100644 index b1f5eae613..0000000000 --- a/examples/extended/E02/exampleE02.out +++ /dev/null @@ -1,112 +0,0 @@ -Unit category