Import Geant4 2.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:42:07 +02:00
parent 103bda00c8
commit e7d7193284
3106 changed files with 171117 additions and 90550 deletions
+392
View File
@@ -0,0 +1,392 @@
Geant4 2.0 Release Notes
------------------------
30th June 2000
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:
-------------------------
- internal reorganisation of the EnergyLoss classes.
Introduced one level of abstraction through the G4VEnergyLoss class
for muons, electrons and hadrons.
- introduced new functionalities for the energy loss fluctuation model,
and bug fixes.
- removed *Plus* process classes and merged to standard processes:
optimized generation of delta rays near the geometrical boudaries is
now performed as the default.
- bug fixed in the multiple scattering.
- bugs fixed in G4eIonisation and G4hIonisation.
- absolute min gamma energy fixed to 10 keV in G4eBremsstrahlung.
- bugs fixed in G4MuIonisation and G4MuPairProduction.
Updated Physics Reference Manual for muon processes.
- Added new models of Transition Radiation radiators
in processes/parametrisation.
o Electromagnetic Processes, Low-energy :
-------------------------------------
- fixes in G4LowEnergyBremsstrahlung for continuous energy loss.
- modifications for integration of cross sections, corrections of
fluorescence transition probabilities to take into account
non-radiative transitions.
o General Processes, Parameterisation, Decay :
------------------------------------------
- introduced new set of models for X-ray transition radiation
parameterisation.
- implemented full migration to STL for processes/parameterisation
and processes/management modules.
- added process registration into ProcessTable in copy constructor.
- fixed registration of "shortlived" particles for G4Decay.
o Geometry:
--------
- magneticfield:
o corrected helical steppers.
o fix in G4LineSection to prevent divisions by 0 and sqrt(<0).
o modified method for finding new trial step in G4ChordFinder.
- management:
o design change in G4VSolid for visualization utilities: changed pure
virtual method G4VSolid::GetExtent() to virtual. Added default
implementation based on CalculateExtent().
- BREPS solids:
o Decoupled BREPS module from the STEP Reader;
o Memory leak fixes and some code cleanup.
- CSG and specific solids:
o created new module solids/specific and moved therein all non-CSG
shapes previously placed in solids/CSG.
o Added new shape in solids/specific: G4EllipticalTube.
o Fixed bug in G4PolyhedraSide::Normal(...). This fixes a problem
observed in G4Polyhedra::SurfaceNormal. Fixes in G4Hype.
o Fixed typo in method name in G4Polyhedra.: changed GetNumSIde() to
GetNumSide().
o Added more diagnostics in G4Cons, G4Sphere and G4Torus in function
DistanceToOut(p,v,...).
o Fix in DistanceToIn(p,v) for G4Box and G4Trd to return zero
distance in case computed value is less than 0.5*kCarTolerance.
o Added safety against call from outside in DistanceToOut(p)
o Fix to G4Tubs::DistanceToOut(p,v,...) in computation of xi, yi
for (sphi>=-0.5*kCarTolerance).
o Added more diagnostics in case of invalid enum for DistanceToOut.
o Added new alternative functions SolveBiQuadratic/CubicNew in G4Torus.
- solids/Boolean:
o Implemented CreatePolyhedron method.
o G4DisplacedSolid: reversed implementation of GetFrameRotation and
GetObjectRotation, removing inappropriate invertion.
o G4DisplacedSolid::GetConstituentMovedSolid() made const.
o Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...).
validNorm flag was uncorrectly set to true.
- STEP:
o Upgraded NIST STEP Reader to SCL (STEP Class Library) 3.2;
o Implemented porting on supported platforms/compilers and
ISO-ANSI C++ compliance.
- STEP Interface module:
o Implemented porting to support the new NIST STEP Reader;
o Reduced inter-class dependencies by reorganising include
statements.
o Improved overall diagnostics and fixed internal memory-leaks;
o Added protections for NULL pointers generated by missing geometry
creators.
o Implemented temporary solution for association of placements
with manifolded solids for advanced BREP shape representations.
- volumes:
o introduced kCarTolerance for check over taken step length and
TruePathLength in G4PropagatorInField::ComputeStep().
o fixes in G4ReplicaNavigation::ComputeStep() for zero-step length
loops observed when point is on boundary.
o Globals and Config:
------------------
- Added class G4PhysicsLnVector implementing a physics vector with
natural logarithmic scale for energy/momentum bins.
- Added string identifier to G4UserLimits.
- Defined G4complex type as complex type of doubles.
- Fixes to STLInterface wrappers: fixed initialization of base STL
vector in default constructor of vector collections.
- Changed implementation of G4Integrator to a template class.
- Config: implemented modular setup. Now system specific configurations
are grouped in separated files $G4SYSTEM.gmk and placed in the new
directory config/sys.
o Graphics Representations:
------------------------
- Added HepPolyhedron class and re-implemented G4Polyhedron using this
new class (which will become part of CLHEP).
- Added boolean processor for boolean operations of HepPolyhedron
objects.
o Hadronic Processes:
------------------
- management: allowing ion interactions in G4HadronInelasticProcess.
- cross_sections: added new classes for ion-ion reactions, and for ion
reactions on Hydrogen.
- processes: added new process for ion induced reactions.
- models/isotope_production: added model for proton induced isotope
production, validity range is the proton spallation energy range
(to use this, an update of the G4NDL library is required).
- models/neutron_hp: enabled production of residual nuclei for some
inelastic final states.
- models/generator/de_excitation: design iteration to allow re-use of
root-finding algorithms.
- models/generator/quark_gluon_string: added gamma annihilation
cross-sections and anti-nucleaon-nucleon annihilation. Bug fixes
in AntiSigma SU(12) wafe-function. Extended G4SPBaryon.
- models/generator/string_fragmentation: extended
G4VLongitudinalStringDecay to allow string excitation dependent
parameters.
- models/generator/util: bug fixes and added functionality in
G4KineticTrack.
- models/radiative_decay: added model for simulating the decay of
radio-active nuclei and isomeric states. Validity range is the
range of materials available from ENSDF as of May 2000. To use
this model a data set is provided in geant4/data/RadiativeDecay
and the environment variable G4RADIOACTIVEDATA must be set.
- fixes for memory leaks observed at event loop.
NOTE: the consistent data sets for photon evaporation and radio-active
decay (derived from the same version of the ENSDF data) are
provided from Web in the source download area. A previous version
of photon evaporation data is also provided.
o Interfaces:
----------
- Introduced new G4UITerminal (G4UItcsh) with UNIX-like shell
(currently fully tested only on Linux-g++ and SUN-CC systems).
o Particles:
---------
- Full migration to STL performed.
- Removed G4RhoPlus, G4RhoZero, and G4RhoMinus classes.
Added "rho0" in G4ShortLivedConstructor.
- Fixes in G4IsotopeTable and G4NucleiProperties classes.
- Introduced ParticleSubType property in ParticleDefinition.
- Added GetAtomicNumber() and GetAtomicMass() methods to G4VIon,
G4Proton, and G4Neutron.
- Added G4VDecayChannel::GetAngularMomentum() method.
o Tracking & Track:
----------------
- Added thePolarizationChange in G4ParticleChangeForTransportation.
- Added cashing mechanism of pointer to material in G4StepPoint.
to extract material information from parametrized volumes.
- GetTouchable/SetTouchable methods have been changed to handle
"const" pointers.
- Introduced G4VUserTrackInformation class and associated to G4Track.
- Fixed problem in deleting touchable in G4SteppingManager.
o Visualization:
-------------
- Introduced first implementation of the G4RayTracer. With G4RayTracer
all solids types supported in Geant4 can be visualised.
- Added commands /vis/viewer/update, /vis/viewer/reset.
- Added "compound" commands: /vis/open, /vis/drawVolume.
- Added ability to visualise boolean solids through G4Polyhedron objects.
- Added G4LogicalVolumeModel::DescribeSolid(), which explicitly adds
components of composite solids as white forced-wireframe objects.
- OPACS:
o G4GoSceneHandler: correct polyhedron wire-frame in order to remove
some edges.
o G4WoViewer: changed camera name checking so that a viewer created
by the GUI (Wo) could be hooked.
o G4GoSceneHandler: changed circle rendering.
- Bug fix in G4PhysicalVolumeModel for replicas.
Notes:
o Geant4 2.0 is based on STL and can be installed with strict
ISO/ANSI C++ compliant setup or not. See notes below.
The code and some binary libraries are available through our "Source
Code" Web page:
- see our <A href="http://cern.ch/geant4">Geant4 Home Page</A>.
Please refer to <A
href="http://cern.ch/geant4/G4UsersDocuments/Overview/html/index.html">Geant4
User Documentation</A> for further information about using Geant4.
Updates to the documentation for Geant4 2.0 are expected to be published as
usual within three weeks from the release date.
Contents
--------
1. Supported and Tested Platforms
2. LHC++ and CLHEP 1.5
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.23
o Linux 2.2.12-20, gcc C++ egcs-2.91.66 (egcs 1.1.2).
This configuration was tested with the RedHat 6.1 distribution, but
versions of Geant4 have also been compiled successfully on 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 SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
Platforms configured but not yet tested (a patch will follow, if needed):
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. LHC++ and CLHEP 1.5
----------------------
Geant4 2.0 requires the installation of CLHEP 1.5.
See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
CLHEP 1.5</A>.
By default, the CLHEP installation scripts will activate ISO/ANSI C++ features
if the compiler is capable. You need to explicitly disable CLHEP settings in
case you wish non-ISO/ANSI setup on those compilers (for example, DEC).
Note that the installation of the "Hist" package in CLHEP for histogramming
is now disabled by default. If you wish to install CLHEP with the "Hist"
package, you need to edit the CLHEP installation scripts and add the
corresponding entry.
Geant4 2.0 coworks with LHC++ 2.0.0 and components included therein:
Objectivity 5.2.1
ObjectSpace 2.1
HepODBMS 0.3.1.3
CLHEP 1.5.0.0
For more information about LHC++ 2.0.0, see:
<A href="http://wwwinfo.cern.ch/asd/lhc++/may2000.html">LHC++ 2.0.0</A>
3. The Standard Template Library
--------------------------------
The following versions of STL have been tested:
ObjectSpace STL on
DEC, HP and SUN.
See <A href="http://www.objectspace.com/">ObjectSpace</A>.
"Native" STL on: Linux, HP, DEC and SUN.
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 in non ISO/ANSI setup.
Native STL is required for ISO/ANSI setup.
o HP: either ObjectSpace or native STL can be used (non ISO/ANSI setup).
o SUN: ObjectSpace is required in non ISO/ANSI setup (CC 4.2).
Native STL is required for ISO/ANSI setup (CC 5.0 only).
o Linux: native STL is required (non ISO/ANSI setup).
o NT: Native STL and ISO/ANSI setup required.
In the interest of stability, a significant part of the code in Geant4 2.0
still makes use of the "STL Interface" wrapper classes, used for allowing the
migration from Rogue Wave Tools.h++ container library. For these the emphasis
has remained on correct behaviour, rather than performance.
4. Persistency
--------------
- Platforms
Persistency in Geant4 2.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.4 5.2.1
Linux-g++ Linux RH6.1 egcs 1.1.2 0.3.1.1 5.2.1
- Known Problems
There are many warning messages on some platforms during the
installation of the libraries and the compilation of the examples.
Most of them can be safely ignored. It is annoying but hard to get
rid of them due to various reasons.
For the detail of the warning messages, please refer to the release
note of Geant4 1.0.
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.
- A bug in cin.getline() system function causes an anomalous
behavior when running in interactive-mode on DEC-cxx 6.1 in
ISO/ANSI mode. We tested the bug has been fixed in more recent
versions of the compiler.
o SUN Solaris 5.6, C++ 5.0 patches 107357-07, 107311-09.
Due to a compiler bug, some code in Geant4 cannot be compiled in
optimised mode, patches are available from SUN (107357-09, 107311-10)
which are claimed to fix this problem, we have not been able to test
them yet. Tests have been performed only by using the debuggable
version of the libraries.
6. Known Run-Time Problems and Limitations
------------------------------------------
- In the "high energy" hadronic model, a problem of energy non conservation
has been observed. A fix for it is currently under test and will be
available soon in a public patch.
- In multiple scattering, the nuclear size correction maybe not well adapted
for electrons. A fix will come soon.
- The parametrisation of the total cross section for electron bremsstrahlung
will be reviewed in order to allow generation of gamma below 10 keV.
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 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.
+38 -2
View File
@@ -1,5 +1,5 @@
$Id: History,v 1.97 2000/02/14 11:27:42 gcosmo Exp $
$Name: geant4-01-01 $
$Id: History,v 1.105 2000/05/23 06:48:25 gcosmo Exp $
$Name: geant4-02-00 $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,42 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
23rd May 2000 John Allison (config-V01-01-04)
- Added -I$(G4BASE)/processes/hadronic/models/radiative_decay/include to
binmake.gmk.
19th May 2000 Gabriele Cosmo (config-V01-01-03)
- architecture.gmk:
o changed -pic option to -KPIC for SUN architectures.
o fixed HP-aCC setup to cope with new CLHEP version 1.5.
o implemented modular setup. Now system specific configurations are
grouped in separated files $G4SYSTEM.gmk and placed in the new
directory config/sys.
7th April 2000 Gabriele Cosmo (config-V01-01-02)
- binmake.gmk: added include path to the new directory
geometry/solids/specific.
- Updated PERL script g4step_correct.pl for parsing STEP files.
30th March 2000 Gabriele Cosmo (config-V01-01-01)
- makeshlib.sh:
o added few corrections to the script in order to allow
creation of shared libraries without need of the static archive on
platforms which allow this.
o added section for SunOS systems.
(courtesy of I.G.Caballero)
- architecture.gmk:
o on SUN-CC and SUN-CC5, added -pic to CXXFLAGS for building shared
libraries.
21st March 2000 Gabriele Cosmo
- makeshlib.sh: corrected invokation of compiler for HP-aCC setup.
Changed CC to aCC (fixes bug-report #68).
13th March 2000 Gabriele Cosmo (config-V01-01-00)
- architecture.gmk: corrected FCLIBS for Linux-g++
o added -lg2c -lnsl and removed -lf2c.
14th February 2000 Gabriele Cosmo (config-V01-00-02)
- architecture.gmk: added option '+W823' to HP-aCC compilation setup to
discard warnings for macros parameter definition as used in the new
+5 -371
View File
@@ -1,4 +1,4 @@
# $Id: architecture.gmk,v 1.62 2000/02/14 11:27:26 gcosmo Exp $
# $Id: architecture.gmk,v 1.66 2000/05/19 07:29:06 gcosmo Exp $
# ------------------------------------------------------------------------
# GEANT 4 - Architecture configuration script for GNU Make
#
@@ -15,11 +15,11 @@
#
# SUN-CC SunOS 5.6, CC 4.2 compiler (default)
#
# HP-aCC HP-UX 10.20, aCC A.01.21 compiler
# HP-aCC HP-UX 10.20, aCC A.01.23 compiler
#
# DEC-cxx DEC-OSF/1 4.0, DEC C++ 6.1
#
# Linux-g++ Linux (Red Hat 5.1/6.1), egcs 1.1.2
# Linux-g++ Linux (Red Hat 6.1), egcs 1.1.2
#
# WIN32-VC Windows/NT and Microsoft Visual C++ 6.0
# Adding CYGWIN32 tools (make, g++ as "makedepend", sh...)
@@ -358,375 +358,9 @@ ECHO:= echo
#
GREP := grep
# Include architecture dependent setups...
#
# Architecture dependent setups...
#
# -------- SUN ---------
#
ifeq ($(G4SYSTEM),SUN-CC)
CXX := CC
ifdef G4OPTIMISE
CXXFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
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
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
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
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
endif
CXXFLAGS += +DAportable +W823
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
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
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
CXXFLAGS := -O3 -qtwolink -+
else
ifdef G4DEBUG
CXXFLAGS := -g -qdbxextra -qcheck=all -qfullpath -qtwolink -+
FCFLAGS := -g
CCFLAGS := -g
endif
endif
FC := xlf
FCFLAGS += -qextname
FCLIBS := -lxlf90 -lxlf
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
X11LIBS := -L/usr/lib -lXmu -lX11 -lXext
XMFLAGS := -I/usr/include/Motif1.2
XMLIBS := -L/usr/lib -lXm -lXt -lX11
XAWFLAGS := -I/usr/include/X11
XAWLIBS := -L/usr/lib -lXaw -lXmu -lXt -lX11 -lXext
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
endif
CPPFLAGS += -DG4NOT_ISO_DELETES
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
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
# -------- DEC ---------
#
ifeq ($(G4SYSTEM),DEC-cxx)
CXX := cxx
ifdef G4OPTIMISE
CXXFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS := -gall
FCFLAGS := -g
CCFLAGS := -g
endif
endif
G4_HAVE_BOOL := yes
CXXFLAGS += -ieee -timplicit_local
FC := f77
FCLIBS := -lUfor -lfor -lFutil -lots
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
# OGLFLAGS := -I/usr/include -I/usr/local/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
# OGLLIBS := -lMesaGLU -lMesaGL
endif
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
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
# ------ GNU/LINUX ------
#
ifeq ($(G4SYSTEM),Linux-g++)
CXX := g++
GNU_GCC = 1
CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
ifdef G4OPTIMISE
CXXFLAGS += -O
FCFLAGS := -O
CCFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS += -g
FCFLAGS := -g
CCFLAGS := -g
endif
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 -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
XMLIBS := -lXm -lXpm
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
endif
OIVFLAGS += -I$(OIHOME)/include
ifdef G4USE_OSPACE
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
# ------ WIN32/VC ------
#
ifeq ($(G4SYSTEM),WIN32-VC)
CXX := CL
G4_HAVE_BOOL := yes
G4_NO_CBRT := yes
ifdef G4OPTIMISE
CXXFLAGS += -Ox
else
ifdef G4DEBUG
CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name)
endif
endif
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)
else
# If native STL is selected, use ISO standard version.
G4USE_STD_NAMESPACE := yes
CPPFLAGS += -DG4USE_STD_NAMESPACE
endif
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'
AR := LIB
ECHO := echo -e
FC := f77
# FCLIBS := -lf2c
ifndef OGLFLAGS
OGLFLAGS :=
endif
ifndef OGLLIBS
OGLLIBS := -lGLU -lGL
endif
endif
include $(G4INSTALL)/config/sys/$(G4SYSTEM).gmk
# If compiler recognises implicit C++ type bool...
#
+3 -1
View File
@@ -1,4 +1,4 @@
# $Id: binmake.gmk,v 1.42 2000/02/14 11:24:45 gcosmo Exp $
# $Id: binmake.gmk,v 1.45 2000/05/23 05:32:14 stesting Exp $
# ----------------------------------------------------------
# Script defining rules and paths for making binaries.
# Gabriele Cosmo, 25/06/1998.
@@ -58,9 +58,11 @@ ifndef INCFLAGS
-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/models/radiative_decay/include \
-I$(G4BASE)/processes/hadronic/stopping/include \
-I$(G4BASE)/geometry/management/include \
-I$(G4BASE)/geometry/solids/CSG/include \
-I$(G4BASE)/geometry/solids/specific/include \
-I$(G4BASE)/geometry/solids/BREPS/include \
-I$(G4BASE)/geometry/solids/Boolean/include \
-I$(G4BASE)/geometry/solids/STEP/include \
+18 -6
View File
@@ -1,4 +1,4 @@
#!/usr/local/bin/perl
#!/usr/bin/perl
$filename = $ARGV[0];
open(INFILE, $filename) || die "\nSTEP file ".$filename." not found.";
@@ -13,23 +13,35 @@ print "\nModifying STEP file for NIST toolkit...";
foreach (@filebuf)
{
if(/.*VERTEX\_POINT.*/)
if(/.*VERTEX\_POINT.*/)
{
s/VERTEX\_POINT\(\'\'\,/VERTEX\_POINT\(\'\'\,\'\'\,/g ;
s/VERTEX\_POINT\s*\(\s*\'\s*\'\s*\,/VERTEX\_POINT\(\'\'\,\'\'\,/g ;
s/VERTEX\_POINT\s*\(\s*\'NONE\'\s*\,/VERTEX\_POINT\(\'NONE\'\,\'\'\,/g ;
}
elsif(/.*EDGE\_LOOP.*/)
{
s/EDGE\_LOOP\(\'\'\,/EDGE\_LOOP\(\'\'\,\'\'\,/g;
s/EDGE\_LOOP\s*\(\s*\'\s*\'\s*\,/EDGE\_LOOP\(\'\'\,\'\'\,/g;
s/EDGE\_LOOP\s*\(\s*\'NONE\'\s*\,/EDGE\_LOOP\(\'NONE\'\,\'\'\,/g;
}
elsif(/.*POLY\_LOOP.*/)
{
s/POLY\_LOOP\s*\(\s*\'\s*\'\s*\,/POLY\_LOOP\(\'\'\,\'\'\,/g;
s/POLY\_LOOP\s*\(\s*\'NONE\'\s*\,/POLY\_LOOP\(\'NONE\'\,\'\'\,/g;
}
elsif(/.*ADVANCED\_FACE.*/)
{
($a,$b,$c) = split('\)',$&);
s//$a\)\,\'\' $b\)$c\n/;
s//$a\)\,\'\'$b\)$c\n/;
}
elsif(/.*FACE\_SURFACE.*/)
{
($a,$b,$c) = split('\)',$&);
s//$a\)\,\'\'$b\)$c\n/;
}
elsif(/.*EDGE\_CURVE.*/)
{
($a,$b,$c,$d,$e) = split(",",$&);
s//$a\, $b\,$c\,\'\'\,$d\,$e\n/;
s//$a\,$b\,$c\,\'\'\,$d\,$e\n/;
}
print OUTFILE;
+128 -108
View File
@@ -4,120 +4,140 @@
############# G.Barrand ####################
############################################
if test $# -eq 2 ; then
g4system=$1
name=$2
liba=lib$name.a
#echo $g4system
#echo $name
############################################
##### build libs ###########################
############################################
if test -f $g4system/$liba ; then
g4system=$1
name=$2
liba=lib$name.a
#echo $g4system
#echo $name
############################################
##### build libs ###########################
############################################
if test `uname` = "OSF1" ; then
if test -f $g4system/$liba ; then
cd $g4system
# Need to specify a path, so that at run time loader
# is able to find the so lib. This path is put in the
# binaries at link time. In principle a relative
# path from the binary is ok, but we will have
# more than one binary at different places; so
# we have to specify an absolute path.
rpath=`pwd`
#echo $rpath
libso=lib$name.so
/bin/rm -f $libso
/bin/rm -f so_locations
ld -expect_unresolved '*' -shared -o $libso -all $liba -rpath $rpath
cd ..
echo "$libso built."
else
ArchiveError=1
fi
fi
if test `uname` = "OSF1" ; then
cd $g4system
# Need to specify a path, so that at run time loader
# is able to find the so lib. This path is put in the
# binaries at link time. In principle a relative
# path from the binary is ok, but we will have
# more than one binary at different places; so
# we have to specify an absolute path.
rpath=`pwd`
#echo $rpath
libso=lib$name.so
/bin/rm -f $libso
/bin/rm -f so_locations
ld -expect_unresolved '*' -shared -o $libso -all $liba -rpath $rpath
cd ..
echo "$libso built."
fi
if test `uname` = "HP-UX" ; then
cd $g4system
libso=lib$name.sl
/bin/rm -f $libso
# get .o files
objs=`ls *.o`
#ld -b -a shared -o $libso $objs
# CC does more than ld.
aCC -b -o $libso $objs
cd ..
echo "$libso built."
fi
if test `uname` = "HP-UX" ; then
cd $g4system
libso=lib$name.sl
/bin/rm -f $libso
# get .o files
objs=`ls *.o`
#ld -b -a shared -o $libso $objs
# CC does more than ld.
CC -b -o $libso $objs
cd ..
echo "$libso built."
fi
if test `uname` = "SunOS" ; then
cd $g4system
libso=lib$name.so
/bin/rm -f $libso
# get .o files
objs=`ls *.o`
CC -G -o $libso $objs
cd ..
echo "$libso built."
fi
if test `uname` = "IRIX" ; then
cd $g4system
# For path same remarks as for OSF1.
rpath=`pwd`
libso=lib$name.so
/bin/rm -f $libso
/bin/rm -f so_locations
#ld -shared -o $libso -all $liba -rpath $rpath
# CC does more than ld.
CC -Wl,-rpath,$rpath -shared -o $libso -all $liba
cd ..
echo "$libso built."
fi
if test `uname` = "IRIX" ; then
if test -f $g4system/$liba ; then
cd $g4system
# For path same remarks as for OSF1.
rpath=`pwd`
libso=lib$name.so
/bin/rm -f $libso
/bin/rm -f so_locations
#ld -shared -o $libso -all $liba -rpath $rpath
# CC does more than ld.
CC -Wl,-rpath,$rpath -shared -o $libso -all $liba
cd ..
echo "$libso built."
else
ArchivError=1
fi
fi
if test `uname` = "Linux" ; then
cd $g4system
# For path same remarks as for OSF1.
libso=lib$name.so
/bin/rm -f $libso
g++ -Wl,-soname,$libso -shared *.o -o $libso
echo "$libso built."
fi
if test `uname` = "Linux" ; then
cd $g4system
# For path same remarks as for OSF1.
libso=lib$name.so
/bin/rm -f $libso
g++ -Wl,-soname,$libso -shared *.o -o $libso
echo "$libso built."
fi
if test `uname` = "AIX" ; then
# Not yet ready.
exit
#set -x
cd $g4system
libso=lib$name'.so'
/bin/rm -f lib$name.o
/bin/rm -f $libso
/bin/rm -f lib$name.exp
# Get .o files
objs=`ls *.o`
# Determine how to invoke nm depending on AIX version
AIXVERSION=`uname -v`
case ${AIXVERSION} in
#{
3*)
NM=/usr/ucb/nm
;;
4*)
NM='/usr/bin/nm -B'
;;
*)
echo "Error in g4makeshlib.sh!"
exit 1
;;
#}
esac
# Build export file (from Mesa mklib.aix).
echo "#! lib$name.so " > lib$name.exp
echo "noentry" >> lib$name.exp
$NM $objs | awk '/ [BD] /{print $3}' | sort | uniq >> lib$name.exp
# Below command from Mesa mklib.aix.
#cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE -enoentry
# Unnecessary option -enoentry that produces
# noentry file that contains exported symbols
cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE
if test -f lib$name.o ; then
ar r $libso lib$name.o
/bin/rm -f lib$name.o
else
echo "Can't create lib$name.o."
fi
#cp $libso lib$name.a
cd ..
echo "$libso treated."
fi
if test `uname` = "AIX" ; then
# Not yet ready.
exit
#set -x
cd $g4system
libso=lib$name'.so'
/bin/rm -f lib$name.o
/bin/rm -f $libso
/bin/rm -f lib$name.exp
# Get .o files
objs=`ls *.o`
# Determine how to invoke nm depending on AIX version
AIXVERSION=`uname -v`
case ${AIXVERSION} in
#{
3*)
NM=/usr/ucb/nm
;;
4*)
NM='/usr/bin/nm -B'
;;
*)
echo "Error in g4makeshlib.sh!"
exit 1
;;
#}
esac
# Build export file (from Mesa mklib.aix).
echo "#! lib$name.so " > lib$name.exp
echo "noentry" >> lib$name.exp
$NM $objs | awk '/ [BD] /{print $3}' | sort | uniq >> lib$name.exp
# Below command from Mesa mklib.aix.
#cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE -enoentry
# Unnecessary option -enoentry that produces
# noentry file that contains exported symbols
cc -o lib$name.o $objs $3 -bE:lib$name.exp -bM:SRE
if test -f lib$name.o ; then
ar r $libso lib$name.o
/bin/rm -f lib$name.o
else
echo "Can't create lib$name.o."
fi
#cp $libso lib$name.a
cd ..
echo "$libso treated."
fi
if [ $ArchiveError ]; then
echo "ERROR: Archive libraries needed and not found."
echo " Compile first with G$MAKESHLIB unset."
fi
fi
############################################
else
echo 'Give name of binaray directory and library'
echo 'Give name of binary directory and library'
fi
+37
View File
@@ -0,0 +1,37 @@
#
# -------- AIX ---------- !!! not supported !!!
# AIX-4.3.2 xlC
ifeq ($(G4SYSTEM),AIX-xlC)
CXX := xlC
ifdef G4OPTIMISE
CXXFLAGS := -O3 -qtwolink -+
else
ifdef G4DEBUG
CXXFLAGS := -g -qdbxextra -qcheck=all -qfullpath -qtwolink -+
FCFLAGS := -g
CCFLAGS := -g
endif
endif
FC := xlf
FCFLAGS += -qextname
FCLIBS := -lxlf90 -lxlf
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
X11LIBS := -L/usr/lib -lXmu -lX11 -lXext
XMFLAGS := -I/usr/include/Motif1.2
XMLIBS := -L/usr/lib -lXm -lXt -lX11
XAWFLAGS := -I/usr/include/X11
XAWLIBS := -L/usr/lib -lXaw -lXmu -lXt -lX11 -lXext
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
endif
CPPFLAGS += -DG4NOT_ISO_DELETES
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
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
+41
View File
@@ -0,0 +1,41 @@
#
# -------- DEC ---------
#
ifeq ($(G4SYSTEM),DEC-cxx)
CXX := cxx
ifdef G4OPTIMISE
CXXFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS := -gall
FCFLAGS := -g
CCFLAGS := -g
endif
endif
G4_HAVE_BOOL := yes
CXXFLAGS += -ieee -timplicit_local
FC := f77
FCLIBS := -lUfor -lfor -lFutil -lots
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
# OGLFLAGS := -I/usr/include -I/usr/local/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
# OGLLIBS := -lMesaGLU -lMesaGL
endif
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
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
+45
View File
@@ -0,0 +1,45 @@
#
# -------- HP ---------
#
ifeq ($(G4SYSTEM),HP-aCC)
CXX := aCC
ifdef G4OPTIMISE
CXXFLAGS := +O2 +Onolimit
else
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
endif
CXXFLAGS += +DAportable +W823
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)
endif
endif
+47
View File
@@ -0,0 +1,47 @@
#
# ------ GNU/LINUX ------
#
ifeq ($(G4SYSTEM),Linux-g++)
CXX := g++
GNU_GCC = 1
CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
ifdef G4OPTIMISE
CXXFLAGS += -O
FCFLAGS := -O
CCFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS += -g
FCFLAGS := -g
CCFLAGS := -g
endif
endif
ifdef G4MAKESHLIB
CXXFLAGS += -fPIC
FCFLAGS += -fPIC
CCFLAGS += -fPIC
endif
FC := g77
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
FCLIBS := -lg2c -lnsl
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
XMLIBS := -lXm -lXpm
ifndef OGLFLAGS
OGLFLAGS := -I$(OGLHOME)/include
endif
ifndef OGLLIBS
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
endif
OIVFLAGS += -I$(OIHOME)/include
ifdef G4USE_OSPACE
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
+36
View File
@@ -0,0 +1,36 @@
#
# -------- 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
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
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
+50
View File
@@ -0,0 +1,50 @@
#
# -------- SUN ---------
#
ifeq ($(G4SYSTEM),SUN-CC)
CXX := CC
ifdef G4OPTIMISE
CXXFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
endif
ifdef G4MAKESHLIB
CXXFLAGS += -KPIC
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
+59
View File
@@ -0,0 +1,59 @@
#
# -------- SUN ---------
#
ifeq ($(G4SYSTEM),SUN-CC5)
CXX := CC
ifdef G4OPTIMISE
CXXFLAGS := -O
else
ifdef G4DEBUG
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
endif
# CXXFLAGS += -fnonstd
ifdef G4MAKESHLIB
CXXFLAGS += -KPIC
endif
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
+52
View File
@@ -0,0 +1,52 @@
#
# ------ WIN32/VC ------
#
ifeq ($(G4SYSTEM),WIN32-VC)
CXX := CL
G4_HAVE_BOOL := yes
G4_NO_CBRT := yes
ifdef G4OPTIMISE
CXXFLAGS += -Ox
else
ifdef G4DEBUG
CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name)
endif
endif
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)
else
# If native STL is selected, use ISO standard version.
G4USE_STD_NAMESPACE := yes
CPPFLAGS += -DG4USE_STD_NAMESPACE
endif
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'
AR := LIB
ECHO := echo -e
FC := f77
# FCLIBS := -lf2c
ifndef OGLFLAGS
OGLFLAGS :=
endif
ifndef OGLLIBS
OGLLIBS := -lGLU -lGL
endif
endif
+10 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.4 1999/11/10 16:27:22 johna Exp $
$Id: History,v 1.6 2000/06/09 10:09:21 barrand Exp $
-------------------------------------------------------------------
=========================================================
@@ -18,6 +18,15 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
envs-V01-01-01 09 June 2000 John Allison
- Only OPACS and History tagged.
09 June 2000 Guy Barrand
- Some correction to be able to compile
with 01-01-ref-04
envs-V01-01-00 7th June 2000 Guy Barrand
envs-V00-01-00 10th November 1999 John Allison
- Only OPACS and History tagged.
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.2 1999/09/15 12:28:18 barrand Exp $
$Id: History,v 1.3 2000/03/17 08:59:46 barrand Exp $
-------------------------------------------------------------------
=========================================================
@@ -18,6 +18,9 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
15 March 2000 Guy Barrand
- Modification to compile on Linux-g++ with STL.
15 Sep 1999 Guy Barrand
- Modification to compile on Linux-g++ with STL.
+2 -6
View File
@@ -5,15 +5,11 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: EXPO.cc,v 1.5.2.1.2.1 1999/12/07 20:46:48 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: EXPO.cc,v 1.8 2000/03/17 08:56:10 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
#include <stdlib.h>
// GB : put this include before the GL ones.
// It avoid a clash with STL includes on Linux.
#include "g4rw/tvhdict.h"
/*Geant4*/
#include <G4RunManager.hh>
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: TEST.cc,v 1.2.6.1 1999/12/07 20:46:49 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: TEST.cc,v 1.3 1999/12/15 14:48:40 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
#include <stdlib.h>
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: EXPO_Detector.icc,v 1.2.6.1 1999/12/07 20:46:49 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: EXPO_Detector.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// See also G4/run/example/MyDetectorConstruction.cc.
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: EXPO_PhysicsList.hh,v 1.3.6.1 1999/12/07 20:46:49 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: EXPO_PhysicsList.hh,v 1.4 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ------------------------------------------------------------
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: EXPO_PhysicsList.icc,v 1.3.6.1.2.3 1999/12/14 07:06:18 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: EXPO_PhysicsList.icc,v 1.4 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ------------------------------------------------------------
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: EXPO_Primary.icc,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: EXPO_Primary.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// See also G4/run/example/EXPO_PrimaryGeneratorAction.cc.
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4o.h,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4o.h,v 1.3 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oCommon.hh,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oCommon.hh,v 1.3 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/*
Included by G4o.h.
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oCommon.icc,v 1.2.6.1 1999/12/07 20:46:50 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oCommon.icc,v 1.3 1999/12/15 14:48:41 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/*
Included by G4o.cc.
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oDrawer.hh,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oDrawer.hh,v 1.3 1999/12/15 14:48:43 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oEXPO.h,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oEXPO.h,v 1.3 1999/12/15 14:48:43 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
+12 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oScene.hh,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oScene.hh,v 1.4 2000/03/17 08:58:32 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
@@ -44,6 +44,16 @@ public:
void AddThis (const G4Polyhedra&);
void AddThis (const G4VSolid& solid); // For solids not above.
void BeginPrimitives (const G4Transform3D&);
void EndPrimitives ();
void AddPrimitive (const G4Polyline&);
void AddPrimitive (const G4Text&);
void AddPrimitive (const G4Circle&);
void AddPrimitive (const G4Square&);
void AddPrimitive (const G4Polymarker&);
void AddPrimitive (const G4Polyhedron&);
void AddPrimitive (const G4NURBS&);
void PreAddThis (const G4Transform3D& objectTransformation,
const G4VisAttributes& visAttribs);
void PostAddThis ();
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oState.hh,v 1.3.4.1 1999/12/07 20:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oState.hh,v 1.4 1999/12/15 14:48:43 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
#ifndef G4oState_h
#define G4oState_h
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: WoG4o.h,v 1.2.6.1 1999/12/07 20:46:51 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: WoG4o.h,v 1.3 1999/12/15 14:48:43 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
+2 -2
View File
@@ -39,7 +39,7 @@ OSF1-cxx : This_needed
"CCLDFLAGS = -std1" \
"CCLDEND = -lots -lSM -lICE -ldnet_stub" \
"CXX = cxx" \
"CXXFLAGS = -ptr ${OREPOSITORY} -DG4_HAVE_BOOL -g" \
"CXXFLAGS = -std strict_ansi -ptr ${OREPOSITORY} -DG4_HAVE_BOOL -g" \
"CXXLD = cxx" \
"CXXLDFLAGS = -ptr ${OREPOSITORY} -non_shared" \
"CXXLDEND = -lots -lSM -lICE -ldnet_stub" \
@@ -131,7 +131,7 @@ Linux-gxx : This_needed
"libXt = -L/usr/X11R6/lib -lXt" \
"libXmu = -L/usr/X11R6/lib -lXmu" \
"libXaw = -L/usr/X11R6/lib -lXaw" \
"libXm = -L/usr/X11R6/lib -lXm" \
"libXm = -L/usr/X11R6/lib -lXm -lXaw" \
$(This_macros)
SunOS-CC : This_needed
+2 -2
View File
@@ -37,8 +37,8 @@ This_macros = \
"libGo = -L${GOROOT}/${OCONFIG} -lGo" \
"libwww = -L${W3OROOT}/${OCONFIG} -lW3o" \
"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"
"G4_CPPFLAGS = -DG4USE_STL -DG4USE_NAMESPACE -DG4USE_STD_NAMESPACE -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/specific/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 -lG4baryons -lG4run -lG4event -lG4bosons -lG4tracking -lG4transportation -lG4detector -lG4emutils -lG4hits -lG4procman -lG4digits -lG4track -lG4UIcommon -lG4partman -lG4volumes -lG4magneticfield -lG4geomBoolean -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"
+13 -8
View File
@@ -19,18 +19,23 @@ setenv CLHEPROOT /lal/CLHEP/1.4/HP-UX-aCC
setenv RWLIBS "-lrwtool"
endif
if ( `uname -n` == "asc" ) then
setenv G4WORKDIR /geant4/geant4-01-01
setenv G4INSTALL $G4WORKDIR
setenv G4LIB $G4WORKDIR/lib
setenv G4SYSTEM DEC-cxx
setenv CLHEPROOT /lal/CLHEP/1.4/OSF1-cxx
setenv RWROOT /lal/rogue/6.1/OSF1-cxx
setenv RWFLAGS "-I${RWROOT}"
setenv RWLIBS "-L${RWROOT}/lib -lrwtool"
setenv RWFLAGS "-I$G4INSTALL/source/global/STLInterface"
setenv RWLIBS ""
# To be able to link :
limit datasize 500000
endif
if ( `uname -n` == "lx1.lal.in2p3.fr" ) then
setenv G4WORKDIR /geant4/geant4-01-01
setenv G4INSTALL $G4WORKDIR
setenv G4LIB $G4WORKDIR/lib
setenv G4SYSTEM Linux-g++
setenv CLHEPROOT /lal/CLHEP/1.4/Linux-gxx
# With RogueWave :
#setenv RWROOT /lal/rogue/6.1/Linux-gxx
#setenv RWFLAGS "-I${RWROOT}"
#setenv RWLIBS "-L${RWROOT}/lib -lrwtool"
# With STL :
# With STL, hook the dummy rw things :
setenv RWFLAGS "-I$G4INSTALL/source/global/STLInterface"
setenv RWLIBS ""
endif
+2 -6
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4o.cc,v 1.4.2.1.2.1 1999/12/07 20:46:52 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4o.cc,v 1.7 2000/03/17 08:57:45 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/*
#define DEBUG
@@ -15,10 +15,6 @@
#include <stdio.h>
#include <string.h>
// GB : put this include before the GL ones.
// It avoid a clash with STL includes on Linux.
#include "g4rw/tvhdict.h"
// Geant4 :
#include <G4VPhysicalVolume.hh>
#include <G4LogicalVolume.hh>
+2 -6
View File
@@ -5,18 +5,14 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oDrawer.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oDrawer.cc,v 1.6 2000/03/17 08:57:46 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/*
From geant4/visualization/management/src/G4VisManager.cc.
*/
#include <stddef.h>
// GB : put this include before the GL ones.
// It avoid a clash with STL includes on Linux.
#include "g4rw/tvhdict.h"
#include <G4oDrawer.hh>
/*G4*/
+97 -6
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oScene.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oScene.cc,v 1.7 2000/06/09 10:00:58 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
/* +---------------------- Copyright notice -------------------------------+ */
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
@@ -25,10 +25,6 @@
#include <stdio.h>
#endif
// GB : put this include before the GL ones.
// It avoid a clash with STL includes on Linux.
#include "g4rw/tvhdict.h"
/*Co*/
#include <CPrinter.h>
#include <CString.h>
@@ -52,6 +48,7 @@
#include <G4Polyline.hh>
#include <G4Transform3D.hh>
#include <G4PhysicalVolumeModel.hh>
#include <G4Normal3D.hh>
#include <G4oScene.hh>
@@ -251,6 +248,100 @@ void G4oScene::AddThis (
AddPolyhedron (solid.CreatePolyhedron());
}
/***************************************************************************/
void G4oScene::BeginPrimitives(
const G4Transform3D& objectTransformation
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
//G4VSceneHandler::BeginPrimitives (objectTransformation);
}
/***************************************************************************/
void G4oScene::EndPrimitives(
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
//G4VSceneHandler::EndPrimitives ();
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Polyline&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : polyline.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Text&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : text.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Circle&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : circle.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Square&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : square.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Polymarker&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : polymarker.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4Polyhedron&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : polyhedron.\n");
#endif
}
/***************************************************************************/
void G4oScene::AddPrimitive(
const G4NURBS&
)
/***************************************************************************/
/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
#ifdef DEBUG
printf ("debug : AddPrimitive : NURBS.\n");
#endif
}
/***************************************************************************/
void G4oScene::SetNodeName (
char* a_name
)
+2 -6
View File
@@ -5,15 +5,11 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4oState.cc,v 1.3.2.1.2.1 1999/12/07 20:46:52 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4oState.cc,v 1.6 2000/03/17 08:57:48 barrand Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//#define DEBUG
// GB : put this include before the GL ones.
// It avoid a clash with STL includes on Linux.
#include "g4rw/tvhdict.h"
//G4
#include <globals.hh>
#include <G4UImanager.hh>
+42 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.42 2000/02/18 13:23:04 stesting Exp $
$Id: History,v 1.55 2000/06/17 12:56:56 stesting Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,47 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17th June 2000 John Allison (examples-V01-01-07)
- Updated all .out files for geant4-01-01-ref-06.
8th June 2000 John Allison (examples-V01-01-06)
- geant4-01-01-ref-05 + exampleN03-V01-01-00 + exampleN03-V01-01-01 +
exampleN04-V01-01-00 + PersistentEx01-V01-00-00 + PersistentEx01-V01-00-00.
5th June 2000 Steve O'Neale (examples-V01-01-05)
- Updated N02 and N04.out for geant4-01-01-ref-05
26th May 2000 John Allison (examples-V01-01-04)
- Updated N02 and N06.out relative to examples-V01-01-00. Note:
examples-V01-01-02 should be abandoned since em-V01-01-01 was rejected.
14th May 2000 John Allison (examples-V01-01-03)
- TestEm6 compatible with em-V01-01-01 (testem6-V01-01-00).
- Comments in examples/novice/N03/exN03VisX.mac 's are
updated for DAWN Version 3.85a
3rd May 2000 John Allison (examples-V01-01-02)
- Updated many .out files for em-V01-01-01.
20th April 2000 John Allison (examples-V01-01-00)
- Updated exampleN04[.EMtest].out for field-V01-01-00.
9th March 2000 John Allison (examples-V01-00-05)
- Updated all .out files - novice and extended - for Sun debug NONISO.
- Included minor fix for NT in TestEm4.cc.
6th March 2000 John Allison (examples-V01-00-04)
- testem-V01-00-02 for TestEm1-5.
- testem-V01-00-03 for TestEm6.
- geant4-01-00-ref-07 for TestEm8.
- changes to TestEm1/2/3 physics lists for ref-07 (Hisaya).
2nd March 2000 John Allison (examples-V01-00-03)
- Updated exampleN04.out geant4-01-00-ref-07.
25th February 2000 Hisaya Kurisige (examples-V01-00-02)
- New Physics Lists for particles-V01-00-00.
14th February 2000 Michel Maire (tag examples-V01-00-01a by John Allison)
- Changed cout to G4cout in extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.2 2000/01/21 12:29:24 maire Exp $
# $Id: GNUmakefile,v 1.3 2000/05/17 10:55:09 maire Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -19,7 +19,7 @@ include $(G4INSTALL)/config/architecture.gmk
ifdef G4NOHIST
CPPFLAGS += -DG4NOHIST
else
LDFLAGS += -L/cern/pro/lib
LDFLAGS += -L$(CERN)/pro/lib
LOADLIBS += -lpacklib $(FCLIBS)
endif
@@ -1,4 +1,4 @@
$Id: History,v 1.3 2000/01/21 12:29:24 maire Exp $
$Id: History,v 1.4 2000/06/17 12:44:26 stesting Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
June 17, 2000 John Allison (testem1-V01-00-00)
- Updated TestEm1.out for geant4-01-01-ref-06.
21-01-00 cppflag G4NOHIST to protect hbook histograms.
11-10-99 moved from: source/processes/electromagnetic/test
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: TestEm1.cc,v 1.3 1999/12/15 14:48:48 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// --------------------------------------------------------------
@@ -1,11 +1,8 @@
**********************************************
Geant4 version $Name: geant4-01-01 $
(07-Dec-99)
Geant4 version $Name: geant4-02-00 $
(10-Mar-2000)
Copyright : Geant4 Collaboration
**********************************************
Constructing Visualization Manager....
Initialising Visualization Manager....
Registering graphics systems....
***** Table : Nb of materials = 8 *****
@@ -61,10 +58,23 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
eBrem: Total cross sections from a parametrisation. Good description from 1 KeV to 100 GeV.
eIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
H2liquid 28.677
Water 81.518
liquidArgon 78.381
Aluminium 125.07
Iron 224.12
Lead 229.66
Uranium 295.96
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
@@ -73,30 +83,43 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons)
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
hIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
H2liquid 28.677
Water 81.518
liquidArgon 78.381
Aluminium 125.07
Iron 224.12
Lead 229.66
Uranium 295.96
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 150 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+03 PeV in 100 bins.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuBrems: theoretical cross section
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 100 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 50 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm
@@ -110,7 +133,7 @@ Cut in energy
Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV
Uranium 110 keV 1.92 MeV 10.5 MeV 26.1 MeV 990 eV
===================================================
# $Id: TestEm1.out,v 1.1 2000/01/21 14:58:58 maire Exp $
# $Id: TestEm1.out,v 1.4 2000/06/17 12:44:26 stesting Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
@@ -130,25 +153,38 @@ phot: Total cross sections from a parametrisation. Good description from 10 KeV
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 10 keV to 1e+02 GeV in 100 bins.
PhysicsTables from 10 keV to 100 GeV in 100 bins.
conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z.
e+e- energies according Bethe-Heitler
PhysicsTables from 1 MeV to 1e+02 GeV in 100 bins.
PhysicsTables from 1.022 MeV to 100 GeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
eBrem: Total cross sections from a parametrisation. Good description from 1 KeV to 100 GeV.
eIoni Minimum Delta cut in range=0.000605 mm.
material min.delta energy(keV)
Air 0.99
H2liquid 0.99
Water 3.2733
liquidArgon 3.7298
Aluminium 6.301
Iron 10.426
Lead 8.9969
Uranium 11.567
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
@@ -157,30 +193,43 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons)
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
hIoni Minimum Delta cut in range=0.000605 mm.
material min.delta energy(keV)
Air 0.99
H2liquid 0.99
Water 3.2733
liquidArgon 3.7298
Aluminium 6.301
Iron 10.426
Lead 8.9969
Uranium 11.567
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 150 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+03 PeV in 100 bins.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuBrems: theoretical cross section
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 100 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 50 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 2.2 mm 6.05 mum 1 mm 1 mm 1 mm
@@ -214,21 +263,19 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=11s Real=13s Sys=1.6s
User=68.58s Real=73.99s Sys=4.55s
nb tracks/event neutral: 24.64 charged: 642.10
nb steps/event neutral: 135.32 charged: 1276.54
nb tracks/event neutral: 24.41 charged: 637.29
nb steps/event neutral: 132.32 charged: 1260.26
nb of process calls per event:
eIoni eBrem phot compt conv annihil
1253.39 21.62 23.11 110.68 1.53 1.53
1237.22 21.65 23.02 107.91 1.39 1.39
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1096809697, 1350310764
Current couple of seeds = 1386467388, 892794333
----------------------------------------
Graphics systems deleted.
VisManager deleting.
G4 kernel has come to Quit state.
Deletion of G4 kernel class start.
UserDetectorConstruction deleted.
@@ -1,5 +1,5 @@
testem1.cra is the geant3 equivalent of TestEm1
testem1/src is the geant3 equivalent of TestEm1
% cd geant3
% gmakeB to make an executable (Batch version)
@@ -16,7 +16,7 @@
run01.dat (runNN.dat is the equivalent of the G4 runNN.mac)
testem1 produces several histo saved as testem1.histo if ISWIT(2)=1
testem1 produces several histo saved as testem1.paw if ISWIT(2)=1
Content of these histo:
@@ -9,21 +9,10 @@ if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# Run patchy
#
cat > temp.cra << eocra
+USE,batch.
eocra
cat ../$name.cra >> temp.cra
#
ypatchy - $name temp $name - $name :go
rm temp.cra
#
# fortran compilation
#
fsplit $name.f
rm $name.f
hepf77 $extnam -c -g *.f
hepf77 $extnam -c -g -Dbatch -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
@@ -37,7 +26,7 @@ chmod +x $name.xb
#
# cleanup
#
rm *.lis *.lst *.f *.o
rm *.o
echo 'done'
exit
@@ -9,15 +9,9 @@ if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# Run patchy
#
ypatchy - $name ../$name $name - $name :go
#
# fortran compilation
#
fsplit $name.f
rm $name.f
hepf77 $extnam -c -g *.f
hepf77 $extnam -c -g -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
@@ -31,7 +25,7 @@ chmod +x $name.xt
#
# cleanup
#
rm *.lis *.lst *.f *.o
rm *.o
echo 'done'
exit
@@ -0,0 +1,7 @@
COMMON/CALOR/Imat,BoxSize,Field
*
* Imat = GEANT material number. (data card CALOR)
* BoxSize = total size of the box (cm) (data card CALOR)
* Field = magnetic field (tesla) (data card CALOR)
*
@@ -0,0 +1,4 @@
COMMON/CELOSS/ ETOT,NTRAK0,NTRAK1,NSTEP0,NSTEP1,NBCALL(12),
+ NSTRK0,NSTRK1
@@ -0,0 +1,267 @@
SUBROUTINE GTGAMA
C.
C. ******************************************************************
C. * *
C. * Photon track. Computes step size and propagates particle *
C. * through step. *
C. * *
C. * ==>Called by : GTRACK *
C. * Authors R.Brun, F.Bruyant L.Urban ******** *
C. * *
C. ******************************************************************
C.
#include "geant321/gcbank.inc"
#include "geant321/gccuts.inc"
#include "geant321/gcjloc.inc"
#include "geant321/gconsp.inc"
#include "geant321/gcphys.inc"
#include "geant321/gcstak.inc"
#include "geant321/gctmed.inc"
#include "geant321/gcmulo.inc"
#include "geant321/gctrak.inc"
#include "geant321/gcunit.inc"
PARAMETER (EPSMAC=1.E-6)
DOUBLE PRECISION ONE,XCOEF1,XCOEF2,XCOEF3,ZERO
PARAMETER (ONE=1,ZERO=0)
PARAMETER (EPCUT=1.022E-3)
C.
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
IABAN = NINT(DPHYS1)
*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C. ------------------------------------------------------------------
*
* *** Particle below energy threshold ? Short circuit
*
*
IF (GEKIN.LE.CUTGAM) GOTO 998
*
* *** Update local pointers if medium has changed
*
IF(IUPD.EQ.0)THEN
IUPD = 1
JPHOT = LQ(JMA-6)
JCOMP = LQ(JMA-8)
JPAIR = LQ(JMA-10)
JPFIS = LQ(JMA-12)
JRAYL = LQ(JMA-13)
ENDIF
*
* *** Compute current step size
*
IPROC = 103
STEP = STEMAX
GEKRT1 = 1 .-GEKRAT
*
* ** Step limitation due to pair production ?
*
IF (GETOT.GT.EPCUT) THEN
IF (IPAIR.GT.0) THEN
STEPPA = GEKRT1*Q(JPAIR+IEKBIN) +GEKRAT*Q(JPAIR+IEKBIN+1)
SPAIR = STEPPA*ZINTPA
IF (SPAIR.LT.STEP) THEN
STEP = SPAIR
IPROC = 6
ENDIF
ENDIF
ENDIF
*
* ** Step limitation due to Compton scattering ?
*
IF (ICOMP.GT.0) THEN
STEPCO = GEKRT1*Q(JCOMP+IEKBIN) +GEKRAT*Q(JCOMP+IEKBIN+1)
SCOMP = STEPCO*ZINTCO
IF (SCOMP.LT.STEP) THEN
STEP = SCOMP
IPROC = 7
ENDIF
ENDIF
*
* ** Step limitation due to photo-electric effect ?
*
IF (GEKIN.LT.0.4) THEN
IF (IPHOT.GT.0) THEN
STEPPH = GEKRT1*Q(JPHOT+IEKBIN) +GEKRAT*Q(JPHOT+IEKBIN+1)
SPHOT = STEPPH*ZINTPH
IF (SPHOT.LT.STEP) THEN
STEP = SPHOT
IPROC = 8
ENDIF
ENDIF
ENDIF
*
* ** Step limitation due to photo-fission ?
*
IF (JPFIS.GT.0) THEN
STEPPF = GEKRT1*Q(JPFIS+IEKBIN) +GEKRAT*Q(JPFIS+IEKBIN+1)
SPFIS = STEPPF*ZINTPF
IF (SPFIS.LT.STEP) THEN
STEP = SPFIS
IPROC = 23
ENDIF
ENDIF
*
* ** Step limitation due to Rayleigh scattering ?
*
IF (IRAYL.GT.0) THEN
IF (GEKIN.LT.0.01) THEN
STEPRA = GEKRT1*Q(JRAYL+IEKBIN) +GEKRAT*Q(JRAYL+IEKBIN+1)
SRAYL = STEPRA*ZINTRA
IF (SRAYL.LT.STEP) THEN
STEP = SRAYL
IPROC = 25
ENDIF
ENDIF
ENDIF
*
IF (STEP.LT.0.) STEP = 0.
*
* ** Step limitation due to geometry ?
*
IF (STEP.GE.SAFETY) THEN
CALL GTNEXT
IF (IGNEXT.NE.0) THEN
STEP = SNEXT + PREC
INWVOL= 2
IPROC = 0
NMEC = 1
LMEC(1)=1
ENDIF
*
* Update SAFETY in stack companions, if any
IF (IQ(JSTAK+3).NE.0) THEN
DO 10 IST = IQ(JSTAK+3),IQ(JSTAK+1)
JST = JSTAK +3 +(IST-1)*NWSTAK
Q(JST+11) = SAFETY
10 CONTINUE
IQ(JSTAK+3) = 0
ENDIF
*
ELSE
IQ(JSTAK+3) = 0
ENDIF
*
* *** Linear transport
*
IF (INWVOL.EQ.2) THEN
DO 20 I = 1,3
VECTMP = VECT(I) +STEP*VECT(I+3)
IF(VECTMP.EQ.VECT(I)) THEN
*
* *** Correct for machine precision
*
IF(VECT(I+3).NE.0.) THEN
VECTMP = VECT(I)+ABS(VECT(I))*SIGN(1.,VECT(I+3))*
+ EPSMAC
IF(NMEC.GT.0) THEN
IF(LMEC(NMEC).EQ.104) NMEC=NMEC-1
ENDIF
NMEC=NMEC+1
LMEC(NMEC)=104
#ifdef G3DEBUG
WRITE(CHMAIL, 10000)
CALL GMAIL(0,0)
WRITE(CHMAIL, 10100) GEKIN, NUMED, STEP, SNEXT
CALL GMAIL(0,0)
10000 FORMAT(' Boundary correction in GTGAMA: ',
+ ' GEKIN NUMED STEP SNEXT')
10100 FORMAT(31X,E10.3,1X,I10,1X,E10.3,1X,E10.3,1X)
#endif
ENDIF
ENDIF
VECT(I) = VECTMP
20 CONTINUE
ELSE
DO 30 I = 1,3
VECT(I) = VECT(I) +STEP*VECT(I+3)
30 CONTINUE
ENDIF
*
SLENG = SLENG +STEP
*
* *** Update time of flight
*
TOFG = TOFG +STEP/CLIGHT
*
* *** Update interaction probabilities
*
IF (GETOT.GT.EPCUT) THEN
IF (IPAIR.GT.0) ZINTPA = ZINTPA -STEP/STEPPA
ENDIF
IF (ICOMP.GT.0) ZINTCO = ZINTCO -STEP/STEPCO
IF (GEKIN.LT.0.4) THEN
IF (IPHOT.GT.0) ZINTPH = ZINTPH -STEP/STEPPH
ENDIF
IF (JPFIS.GT.0) ZINTPF = ZINTPF -STEP/STEPPF
IF (IRAYL.GT.0) THEN
IF (GEKIN.LT.0.01) ZINTRA = ZINTRA -STEP/STEPRA
ENDIF
*
IF (IPROC.EQ.0) GO TO 999
NMEC = 1
LMEC(1) = IPROC
*
* ** Pair production ?
*
IF (IPROC.EQ.6) THEN
CALL GPAIRG
*
* ** Compton scattering ?
*
ELSE IF (IPROC.EQ.7) THEN
CALL GCOMP
*
* ** Photo-electric effect ?
*
ELSE IF (IPROC.EQ.8) THEN
*
IF ((IABAN.NE.0).AND.(GEKIN.LE.0.001)) THEN
* Calculate range of the photoelectron ( with kin. energy Ephot)
JCOEF = LQ(JMA-17)
IF(GEKRAT.LT.0.7) THEN
I1 = MAX(IEKBIN-1,1)
ELSE
I1 = MIN(IEKBIN,NEKBIN-1)
ENDIF
I1 = 3*(I1-1)+1
XCOEF1 = Q(JCOEF+I1)
XCOEF2 = Q(JCOEF+I1+1)
XCOEF3 = Q(JCOEF+I1+2)
IF(XCOEF1.NE.0.) THEN
STOPMX = -XCOEF2+SIGN(ONE,XCOEF1)*SQRT(XCOEF2**2 - (XCOEF3-
+ GEKIN/XCOEF1))
ELSE
STOPMX = - (XCOEF3-GEKIN)/XCOEF2
ENDIF
*
* DO NOT call GPHOT if this (overestimated) range is smaller
* than SAFETY
*
IF (STOPMX.LE.SAFETY) GOTO 998
ENDIF
CALL GPHOT
*
* ** Rayleigh effect ?
*
ELSE IF (IPROC.EQ.25) THEN
CALL GRAYL
*
* ** Photo-fission ?
*
ELSE IF (IPROC.EQ.23) THEN
CALL GPFIS
*
ENDIF
*
GOTO 999
998 DESTEP = GEKIN
GEKIN = 0.
GETOT = 0.
VECT(7)= 0.
ISTOP = 2
NMEC = 1
LMEC(1)= 30
999 END
@@ -0,0 +1,30 @@
SUBROUTINE GUKINE
*
* Generates Kinematics for primary track
*
* Data card Kine : Itype Ekine
*
#include "geant321/gcbank.inc"
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
*
DIMENSION VERTEX(3),PLAB(3)
*
DATA VERTEX/3*0./
DATA PLAB /3*0./
*
*
CALL GSVERT(VERTEX,0,0,0,0,NVERT)
*
*
JPA = LQ(JPART-IKINE)
XMASS = Q(JPA+7)
PLAB(1) = SQRT(PKINE(1)*(PKINE(1)+2*XMASS))
*
CALL GSKINE(PLAB,IKINE,NVERT,0,0,NT)
*
* *** Kinematics debug
IF (IEVENT.EQ.1.OR.IDEBUG.NE.0) CALL GPRINT('KINE',0)
*
END
@@ -0,0 +1,28 @@
SUBROUTINE GUOUT
*
* User routine called at the end of each event
*
#include "geant321/gcflag.inc"
#include "celoss.inc"
*
CHARACTER*4 unit
*
* *** drawing
*
#ifndef batch
IF (ISWIT(1).NE.0) THEN
CALL GDHEAD (110110,'TestEm1',0.)
CALL GDSHOW (3)
CALL GDXYZ (0)
END IF
#endif
*
* energy deposited
*
CALL GEVKEV (ETOT,ETunit,unit)
IF (ISWIT(1).NE.0) PRINT 750,ETunit,unit
*
750 FORMAT(1X,'Energy deposit: ',F8.3,A4)
*
END
@@ -0,0 +1,44 @@
SUBROUTINE GUSTEP
*
* User routine called at the end of each tracking step
*
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
#include "geant321/gcking.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
*
* *** Debug event and store tracks for drawing
IF (IDEBUG.NE.0) CALL GPCXYZ
IF (IDEBUG.NE.0) CALL GPGKIN
IF ((ISWIT(1).EQ.1).AND.(CHARGE.NE.0.)) CALL GSXYZ
IF (ISWIT(1).EQ.2) CALL GSXYZ
*
* *** Something generated ?
IF(NGKINE.GT.0) CALL GSKING(0)
*
* *** Energy deposited
ETOT = ETOT + DESTEP
*
* *** count number of steps
IF (CHARGE.NE.0.) THEN
NSTEP1 = NSTEP1 + 1
NSTRK1 = NSTRK1 + 1
CALL HFILL (3,STEP*10,0.,1.)
ELSE
NSTEP0 = NSTEP0 + 1
NSTRK0 = NSTRK0 + 1
ENDIF
*
* *** count nb of invoked processes
IF (NMEC.GT.0) THEN
DO IM = 1,NMEC
IPROC = LMEC(IM)
IF (IPROC.EQ.21) IPROC = 12
IF (IPROC.LE.12) NBCALL(IPROC) = NBCALL(IPROC)+1
ENDDO
ENDIF
END
@@ -0,0 +1,29 @@
SUBROUTINE GUTRAK
*
* User routine to control tracking of one track
* Called by GTREVE
*
#include "geant321/gckine.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
*
* *** initialisation track per track
NSTRK0 = 0
NSTRK1 = 0
*
CALL GTRACK
*
* *** count nb of tracks
IF (CHARGE.NE.0.) THEN
NTRAK1 = NTRAK1 + 1
CALL HFILL (1,SLENG*10,0.,1.)
CALL HFILL (2,REAL(NSTRK1),0.,1.)
ELSE
NTRAK0 = NTRAK0 + 1
ENDIF
*
END
@@ -0,0 +1,13 @@
SUBROUTINE GUTREV
*
* User routine to control tracking of one event
* Called by GRUN
*
#include "celoss.inc"
*
ETOT = 0.
*
CALL GTREVE
*
END
@@ -0,0 +1,61 @@
#ifdef batch
PROGRAM main
*
*
PARAMETER (NGBANK=100000, NHBOOK=10000)
COMMON/GCBANK/Q(NGBANK)
COMMON/PAWC /H(NHBOOK)
*
CALL GZEBRA( NGBANK)
CALL HLIMIT(-NHBOOK)
*
* *** initialize HIGZ
CALL HPLINT(0)
*
* *** GEANT initialisation
CALL UGINIT
*
* *** Start events processing
CALL GRUN
*
* *** End of RUN
CALL UGLAST
*
STOP
END
#else
PROGRAM main
*
* GEANT main program. To link with the MOTIF user interface
* the routine GPAWPP(NWGEAN,NWPAW) should be called, whereas
* the routine GPAW(NWGEAN,NWPAW) gives access to the basic
* graphics version.
*
PARAMETER (NWGEAN=3000000, NWPAW=1000000)
COMMON/GCBANK/GEANT(NWGEAN)
COMMON/PAWC /PAW (NWPAW)
*
*
CALL GPAW (NWGEAN,NWPAW)
*
END
*
SUBROUTINE qnext
END
*
SUBROUTINE czopen
END
*
SUBROUTINE cztcp
END
*
SUBROUTINE czclos
END
*
SUBROUTINE czputa
END
#endif
@@ -0,0 +1,75 @@
SUBROUTINE UGEOM
*
* *** Define user geometry set up
*
*
#include "calor.inc"
*
DIMENSION PAR(3)
DIMENSION Aair(2),Zair(2),Wair(2)
DIMENSION AH2O(2),ZH2O(2),WH2O(2)
*
* *** Air compound parameters
DATA Aair/14.01, 16.00/
DATA Zair/ 7. , 8. /
DATA Wair/ 0.7 , 0.3 /
*
* *** Air compound parameters
DATA AH2O/ 1.01, 16.00/
DATA ZH2O/ 1. , 8. /
DATA WH2O/ 2. , 1. /
*
* *** Defines USER perticular materials
CALL GSMIXT( 1,'Air' , Aair ,Zair, 1.29E-3, 2 , Wair)
CALL GSMATE( 2,'H2 Liquid', 1.01, 1., 0.0708 , 865., 790., 0,0)
CALL GSMIXT( 3,'Water' , AH2O ,ZH2O, 1.0 ,-2 , WH2O)
CALL GSMATE( 4,'Liquid Ar', 39.95, 18., 1.39 , 14.0, 84.0, 0,0)
CALL GSMATE( 5,'Aluminium', 26.98, 13., 2.7 , 8.9, 37.2, 0,0)
CALL GSMATE( 6,'Iron' , 55.85, 26., 7.87 , 1.76, 17.1, 0,0)
CALL GSMATE( 7,'Tungsten' ,183.85, 74., 19.30 , 0.35, 18.5, 0,0)
CALL GSMATE( 8,'Lead' ,207.19, 82., 11.35 , 0.56, 18.5, 0,0)
CALL GSMATE( 9,'Uranium' ,238.03, 92., 18.95 , 0.32, 12. , 0,0)
*
*
* *** Defines USER tracking media parameters
IFIELD = 0
IF (Field.GT.0.) IFIELD = 3
FIELDM = 10*Field
TMAXFD = 10.0
STEMAX = 1000.
DEEMAX = 0.20
EPSIL = 0.001
STMIN = 0.010
*
CALL GSTMED( 1,'Container',Imat, 0 ,IFIELD,FIELDM,TMAXFD,
* STEMAX,DEEMAX,EPSIL,STMIN, 0 , 0 )
*
*
* *** Geometry
PAR(1) = BoxSize/2.
PAR(2) = BoxSize/2.
PAR(3) = BoxSize/2.
CALL GSVOLU('aBox','BOX ',1,PAR,3,IVOL)
*
* *** Close geometry banks. (obligatory system routine)
CALL GGCLOS
*
*
* *** dessin
CALL GSATT ('*','SEEN',1)
*
DO IX = 1,3
CALL GDOPEN (IX)
SCALE = 18./BoxSize
PAXIS = 0.
SAXIS = 0.1*BoxSize
CALL GDRAWC ('aBox',IX,0.,10.,9.3,SCALE,SCALE)
CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS)
CALL GDSCAL (10. , 0.3)
CALL GDCLOS
END DO
*
END
@@ -0,0 +1,53 @@
SUBROUTINE UGINIT
*
* To initialise GEANT/USER program and read data cards
*
#include "calor.inc"
#include "celoss.inc"
*
CHARACTER*20 filnam
*
* *** Define the GEANT parameters
CALL GINIT
* *** read data cards
PRINT *, 'G3 > gives the filename of the data cards to be read:'
READ (*,'(A)') filnam
IF (filnam.EQ.' ') filnam = 'run01.dat'
OPEN (unit=5,file=filnam,status='unknown',form='formatted')
*
* *** Calor definition
CALL FFKEY('CALOR',Imat,3,'MIXED')
*
* *** read data cards
CALL GFFGO
*
CALL GZINIT
CALL GPART
*
CALL GDINIT
*
* *** Geometry and materials description
CALL UGEOM
*
* *** Energy loss and cross-sections initialisations
CALL GPHYSI
*
CALL GPRINT('MATE',0)
CALL GPRINT('TMED',0)
CALL GPRINT('VOLU',0)
*
* *** Define user histograms
CALL UHINIT
*
* *** some initialisation
NTRAK0 = 0
NTRAK1 = 0
NSTEP0 = 0
NSTEP1 = 0
CALL VZERO (NBCALL,12)
*
END
@@ -0,0 +1,45 @@
SUBROUTINE UGLAST
*
* Termination routine to print histograms and statistics
*
#include "geant321/gcflag.inc"
#include "geant321/gctrak.inc"
#include "celoss.inc"
*
* *** nb of steps and tracks per event
TOTEVT = IEVENT
FNTRK0 = NTRAK0/TOTEVT
FNTRK1 = NTRAK1/TOTEVT
FNSTP0 = NSTEP0/TOTEVT
FNSTP1 = NSTEP1/TOTEVT
PRINT 750, FNTRK0,FNTRK1,FNSTP0,FNSTP1
*
* *** frequency of processes call
CALL UCTOH('MUNU',NAMEC(12),4,4)
PRINT 760,(NAMEC(I),I=1,12)
PRINT 761,(NBCALL(I)/TOTEVT,I=1,12)
*
* *** geant termination
CALL GLAST
*
* *** print selected histo
*
* *** close HIGZ file
CALL HPLEND
*
* *** Save selected histograms
IF (ISWIT(2).EQ.1) THEN
CALL HRPUT(0,'testem1.paw','N')
ENDIF
*
* *** formats
750 FORMAT(//,1X,'nb tracks/event neutral: ',F9.2,' charged: ',F9.2,
+ /,1X,'nb steps/event neutral: ',F9.2,' charged: ',F9.2)
760 FORMAT(//,1X,'nb of process calls per event: ',
+ /,3X,12A9)
761 FORMAT( 3X,12F9.2,//)
*
END
@@ -0,0 +1,13 @@
SUBROUTINE UHINIT
*
* To book the user's histograms
*
CALL HBOOK1(1,'track length (mm) of a charged particle',
+ 100,0.,500.,0.)
CALL HBOOK1(2,'Nb of steps per track (charged particle)',
+ 100,0.,100.,0.)
CALL HBOOK1(3,'step length (mm) charged particle',
+ 100,0.,10. ,0.)
*
END
@@ -1,423 +0,0 @@
+OPTION,MAPASM.
+ASM,23.
+USE,GCDES,TestEm1,T=EXE.
*
+EXE,CRA*.
*
+PAM,11,T=CARD,T=ATTACH. /cern/pro/src/car/geant321.car
+PATCH,TestEm1.
+DECK,BLANKDEK.
*
* TestEm1 1.00 /01 980918 13.00 GEANT EXAMPLES
*
* TEST PROGRAM FOR GEANT TEST
*
* Author M.Maire *********
*
*
* History
* -------
*
*
+KEEP,CALOR.
COMMON/CALOR/Imat,BoxSize,Field
*
* Imat = GEANT material number. (data card CALOR)
* BoxSize = total size of the box (cm) (data card CALOR)
* Field = magnetic field (tesla) (data card CALOR)
*
+KEEP,CELOSS.
COMMON/CELOSS/ ETOT,NTRAK0,NTRAK1,NSTEP0,NSTEP1,NBCALL(12),
+ NSTRK0,NSTRK1
+DECK,main,if=batch.
PROGRAM main
*
*
PARAMETER (NGBANK=100000, NHBOOK=10000)
COMMON/GCBANK/Q(NGBANK)
COMMON/PAWC /H(NHBOOK)
*
CALL GZEBRA( NGBANK)
CALL HLIMIT(-NHBOOK)
*
* *** initialize HIGZ
CALL HPLINT(0)
*
* *** GEANT initialisation
CALL UGINIT
*
* *** Start events processing
CALL GRUN
*
* *** End of RUN
CALL UGLAST
*
STOP
END
+DECK,main,IF=-batch.
PROGRAM main
*
* GEANT main program. To link with the MOTIF user interface
* the routine GPAWPP(NWGEAN,NWPAW) should be called, whereas
* the routine GPAW(NWGEAN,NWPAW) gives access to the basic
* graphics version.
*
PARAMETER (NWGEAN=3000000, NWPAW=1000000)
COMMON/GCBANK/GEANT(NWGEAN)
COMMON/PAWC /PAW (NWPAW)
*
*
CALL GPAW (NWGEAN,NWPAW)
*
END
*
SUBROUTINE qnext
END
*
SUBROUTINE czopen
END
*
SUBROUTINE cztcp
END
*
SUBROUTINE czclos
END
*
SUBROUTINE czputa
END
+DECK,UGINIT
SUBROUTINE UGINIT
*
* To initialise GEANT/USER program and read data cards
*
+SEQ,CALOR,CELOSS.
*
CHARACTER*20 filnam
*
* *** Define the GEANT parameters
CALL GINIT
* *** read data cards
PRINT *, 'G3 > gives the filename of the data cards to be read:'
READ (*,'(A)') filnam
IF (filnam.EQ.' ') filnam = 'testem1.dat'
OPEN (unit=5,file=filnam,status='unknown',form='formatted')
*
* *** Calor definition
CALL FFKEY('CALOR',Imat,3,'MIXED')
*
* *** read data cards
CALL GFFGO
*
CALL GZINIT
CALL GPART
*
CALL GDINIT
*
* *** Geometry and materials description
CALL UGEOM
*
* *** Energy loss and cross-sections initialisations
CALL GPHYSI
*
CALL GPRINT('MATE',0)
CALL GPRINT('TMED',0)
CALL GPRINT('VOLU',0)
*
* *** Define user histograms
CALL UHINIT
*
* *** some initialisation
NTRAK0 = 0
NTRAK1 = 0
NSTEP0 = 0
NSTEP1 = 0
CALL VZERO (NBCALL,12)
*
END
+DECK,UGEOM.
SUBROUTINE UGEOM
*
* *** Define user geometry set up
*
*
+SEQ,CALOR.
*
DIMENSION PAR(3)
DIMENSION Aair(2),Zair(2),Wair(2)
DIMENSION AH2O(2),ZH2O(2),WH2O(2)
*
* *** Air compound parameters
DATA Aair/14.01, 16.00/
DATA Zair/ 7. , 8. /
DATA Wair/ 0.7 , 0.3 /
*
* *** Air compound parameters
DATA AH2O/ 1.01, 16.00/
DATA ZH2O/ 1. , 8. /
DATA WH2O/ 2. , 1. /
*
* *** Defines USER perticular materials
CALL GSMIXT( 1,'Air' , Aair ,Zair, 1.29E-3, 2 , Wair)
CALL GSMATE( 2,'H2 Liquid', 1.01, 1., 0.0708 , 865., 790., 0,0)
CALL GSMIXT( 3,'Water' , AH2O ,ZH2O, 1.0 ,-2 , WH2O)
CALL GSMATE( 4,'Liquid Ar', 39.95, 18., 1.39 , 14.0, 84.0, 0,0)
CALL GSMATE( 5,'Aluminium', 26.98, 13., 2.7 , 8.9, 37.2, 0,0)
CALL GSMATE( 6,'Iron ', 55.85, 26., 7.87 , 1.76, 17.1, 0,0)
CALL GSMATE( 7,'Lead ',207.19, 82., 11.35 , 0.56, 18.5, 0,0)
CALL GSMATE( 8,'Uranium ',238.03, 92., 18.95 , 0.32, 12. , 0,0)
*
*
* *** Defines USER tracking media parameters
IFIELD = 0
IF (Field.GT.0.) IFIELD = 3
FIELDM = 10*Field
TMAXFD = 10.0
STEMAX = 1000.
DEEMAX = 0.20
EPSIL = 0.001
STMIN = 0.010
*
CALL GSTMED( 1,'Container',Imat, 0 ,IFIELD,FIELDM,TMAXFD,
* STEMAX,DEEMAX,EPSIL,STMIN, 0 , 0 )
*
*
* *** Geometry
PAR(1) = BoxSize/2.
PAR(2) = BoxSize/2.
PAR(3) = BoxSize/2.
CALL GSVOLU('aBox','BOX ',1,PAR,3,IVOL)
*
* *** Close geometry banks. (obligatory system routine)
CALL GGCLOS
*
*
* *** dessin
CALL GSATT ('*','SEEN',1)
*
DO IX = 1,3
CALL GDOPEN (IX)
SCALE = 18./BoxSize
PAXIS = 0.
SAXIS = 1.
CALL GDRAWC ('aBox',IX,0.,10.,9.3,SCALE,SCALE)
CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS)
CALL GDSCAL (10. , 0.3)
CALL GDCLOS
END DO
*
END
+DECK,UHINIT.
SUBROUTINE UHINIT
*
* To book the user's histograms
*
CALL HBOOK1(1,'track length (mm) of a charged particle',
+ 100,0.,500.,0.)
CALL HBOOK1(2,'Nb of steps per track (charged particle)',
+ 100,0.,100.,0.)
CALL HBOOK1(3,'step length (mm) charged particle',
+ 100,0.,10. ,0.)
*
END
+DECK,GUKINE
SUBROUTINE GUKINE
*
* Generates Kinematics for primary track
*
* Data card Kine : Itype Ekine
*
+SEQ,GCBANK,GCFLAG,GCKINE.
*
DIMENSION VERTEX(3),PLAB(3)
*
DATA VERTEX/3*0./
DATA PLAB /3*0./
*
*
CALL GSVERT(VERTEX,0,0,0,0,NVERT)
*
*
JPA = LQ(JPART-IKINE)
XMASS = Q(JPA+7)
PLAB(1) = SQRT(PKINE(1)*(PKINE(1)+2*XMASS))
*
CALL GSKINE(PLAB,IKINE,NVERT,0,0,NT)
*
* *** Kinematics debug
IF (IEVENT.EQ.1.OR.IDEBUG.NE.0) CALL GPRINT('KINE',0)
*
END
+DECK,GUTREV
SUBROUTINE GUTREV
*
* User routine to control tracking of one event
* Called by GRUN
*
+SEQ,CELOSS
*
ETOT = 0.
*
CALL GTREVE
*
END
+DECK,GUTRAK
SUBROUTINE GUTRAK
*
* User routine to control tracking of one track
* Called by GTREVE
*
+SEQ,GCKINE.
+SEQ,GCTRAK.
+SEQ,CELOSS.
*
*
* *** initialisation track per track
NSTRK0 = 0
NSTRK1 = 0
*
CALL GTRACK
*
* *** count nb of tracks
IF (CHARGE.NE.0.) THEN
NTRAK1 = NTRAK1 + 1
CALL HFILL (1,SLENG*10,0.,1.)
CALL HFILL (2,REAL(NSTRK1),0.,1.)
ELSE
NTRAK0 = NTRAK0 + 1
ENDIF
*
END
+DECK,GUSTEP
SUBROUTINE GUSTEP
*
* User routine called at the end of each tracking step
*
+SEQ,GCFLAG.
+SEQ,GCKINE,GCKING,GCTRAK.
+SEQ,CELOSS.
*
*
* *** Debug event and store tracks for drawing
IF (IDEBUG.NE.0) CALL GPCXYZ
IF ((ISWIT(1).EQ.1).AND.(CHARGE.NE.0.)) CALL GSXYZ
IF (ISWIT(1).EQ.2) CALL GSXYZ
*
* *** Something generated ?
IF(NGKINE.GT.0) CALL GSKING(0)
*
* *** Energy deposited
ETOT = ETOT + DESTEP
*
* *** count number of steps
IF (CHARGE.NE.0.) THEN
NSTEP1 = NSTEP1 + 1
NSTRK1 = NSTRK1 + 1
CALL HFILL (3,STEP*10,0.,1.)
ELSE
NSTEP0 = NSTEP0 + 1
NSTRK0 = NSTRK0 + 1
ENDIF
*
* *** count nb of invoked processes
IF (NMEC.GT.0) THEN
DO IM = 1,NMEC
IPROC = LMEC(IM)
IF (IPROC.EQ.21) IPROC = 12
IF (IPROC.LE.12) NBCALL(IPROC) = NBCALL(IPROC)+1
ENDDO
ENDIF
END
+DECK,GUOUT
SUBROUTINE GUOUT
*
* User routine called at the end of each event
*
+SEQ,GCFLAG.
+SEQ,CELOSS.
*
CHARACTER*4 unit
*
* *** drawing
*
+self,if=-batch.
IF (ISWIT(1).NE.0) THEN
CALL GDHEAD (110110,'TestEm1',0.)
CALL GDSHOW (3)
CALL GDXYZ (0)
END IF
+self.
*
* energy deposited
*
CALL GEVKEV (ETOT,ETunit,unit)
IF (ISWIT(1).NE.0) PRINT 750,ETunit,unit
*
750 FORMAT(1X,'Energy deposit: ',F8.3,A4)
*
END
+DECK,UGLAST
SUBROUTINE UGLAST
*
* Termination routine to print histograms and statistics
*
+SEQ,GCFLAG.
+SEQ,GCTRAK.
+SEQ,CELOSS.
*
* *** nb of steps and tracks per event
TOTEVT = IEVENT
FNTRK0 = NTRAK0/TOTEVT
FNTRK1 = NTRAK1/TOTEVT
FNSTP0 = NSTEP0/TOTEVT
FNSTP1 = NSTEP1/TOTEVT
PRINT 750, FNTRK0,FNTRK1,FNSTP0,FNSTP1
*
* *** frequency of processes call
CALL UCTOH('MUNU',NAMEC(12),4,4)
PRINT 760,(NAMEC(I),I=1,12)
PRINT 761,(NBCALL(I)/TOTEVT,I=1,12)
*
* *** geant termination
CALL GLAST
*
* *** print selected histo
*
* *** close HIGZ file
CALL HPLEND
*
* *** Save selected histograms
IF (ISWIT(2).EQ.1) THEN
CALL HRPUT(0,'testem1.histo','N')
ENDIF
*
* *** formats
750 FORMAT(//,1X,'nb tracks/event neutral: ',F9.2,' charged: ',F9.2,
+ /,1X,'nb steps/event neutral: ',F9.2,' charged: ',F9.2)
760 FORMAT(//,1X,'nb of process calls per event: ',
+ /,3X,12A9)
761 FORMAT( 3X,12F9.2,//)
*
END
+DECK,ffread,T=data.
LIST
CALOR 5 (Imat) 2000. (size) 0. (field)
TRIG 100
KINE 3 (Itype) 0.100 (Ekine)
DEBUG 10 5 1000
SWIT 0 (draw) 0 (save)
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
ABAN 0
LOSS 1
TIME 2=1.
+QUIT.
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1DetectorConstruction.hh,v 1.2 1999/12/15 14:48:52 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1DetectorMessenger.hh,v 1.2 1999/12/15 14:48:53 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1EventAction.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1EventActionMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1PhysicsList.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1PhysicsListMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1RunAction.hh,v 1.3 2000/01/21 12:29:25 maire Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1RunActionMessenger.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1SteppingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Em1SteppingVerbose.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: Em1SteppingVerbose.hh,v 1.3 2000/02/29 12:13:24 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
//---------------------------------------------------------------
@@ -14,13 +14,7 @@
// Em1SteppingVerbose.hh
//
// Description:
// This class manages the vervose outputs in G4SteppingManager.
//
//
// Contact:
// Questions and comments to this code should be sent to
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
// This class manages the verbose outputs in G4SteppingManager.
//
//---------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1TrackingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1VisManager.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -7,7 +7,7 @@
// and all its terms.
//
// $Id: ProcessesCount.hh,v 1.3 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// -----------------------------------------------------------------
@@ -7,7 +7,7 @@
// and all its terms.
//
// $Id: Em1DetectorConstruction.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1DetectorMessenger.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1EventAction.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1EventActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Em1PhysicsList.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: Em1PhysicsList.cc,v 1.3 2000/03/05 03:31:39 kurasige Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -106,7 +106,6 @@ void Em1PhysicsList::ConstructMesons()
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4EtaPrime::EtaPrimeDefinition();
G4RhoZero::RhoZeroDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1PhysicsListMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1RunAction.cc,v 1.4 2000/01/21 12:29:26 maire Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1RunActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1SteppingAction.cc,v 1.3 2000/01/21 12:29:26 maire Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Em1SteppingVerbose.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: Em1SteppingVerbose.cc,v 1.3 2000/02/29 12:13:24 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
//---------------------------------------------------------------
@@ -15,10 +15,6 @@
//
// Description:
// Implementation of the Em1SteppingVerbose class
// Contact:
// Questions and comments to this code should be sent to
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
//
//---------------------------------------------------------------
@@ -7,7 +7,7 @@
// and all its terms.
//
// $Id: Em1TrackingAction.cc,v 1.3 2000/01/21 12:29:26 maire Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em1VisManager.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// John Allison 24th January 1998.
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.2 2000/01/21 10:56:13 maire Exp $
# $Id: GNUmakefile,v 1.3 2000/05/17 10:55:39 maire Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -19,7 +19,7 @@ include $(G4INSTALL)/config/architecture.gmk
ifdef G4NOHIST
CPPFLAGS += -DG4NOHIST
else
LDFLAGS += -L/cern/pro/lib
LDFLAGS += -L$(CERN)/pro/lib
LOADLIBS += -lpacklib $(FCLIBS)
endif
@@ -0,0 +1,25 @@
$Id: History,v 1.4 2000/06/24 08:01:20 stesting Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
TestEm2 History file
--------------------
This file should be used by the G4 example coordinator to briefly
summarize all major modifications introduced in the code and keep
track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
June 24, 2000 John Allison (testem2-V01-01-02)
- Updated TestEm2.out for stand-V01-01-05 and utils-V01-01-03.
June 20, 2000 mma (testem2-V01-01-01)
- Updated TestEm2.in : /gun/particle e-
June 17, 2000 John Allison (testem2-V01-00-00)
- Updated TestEm2.out for geant4-01-01-ref-06.
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: TestEm2.cc,v 1.3 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// GEANT4 tag $Name: geant4-02-00 $
//
// Comments
//
@@ -1,4 +1,4 @@
# $Id: TestEm2.in,v 1.1 2000/01/21 14:40:57 maire Exp $
# $Id: TestEm2.in,v 1.2 2000/06/20 12:58:06 maire Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -22,7 +22,7 @@
/event/drawTracks none
/event/printModulo 20
#
/gun/particle electron
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
@@ -1,13 +1,10 @@
**********************************************
Geant4 version $Name: geant4-01-01 $
(07-Dec-99)
Geant4 version $Name: geant4-02-00 $
(10-Mar-2000)
Copyright : Geant4 Collaboration
**********************************************
Constructing Visualization Manager....
Initialising Visualization Manager....
Registering graphics systems....
***** Table : Nb of materials = 8 *****
***** Table : Nb of materials = 9 *****
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
@@ -36,12 +33,15 @@ Registering graphics systems....
---> Element: Lead Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 45.53 % Abundance 16.67 %
---> Element: Tungsten W Z = 74.0 N = 183.8 A = 183.84 g/mole fractionMass: 40.40 % Abundance 16.67 %
Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm
---> Element: Tungsten W Z = 74.0 N = 183.8 A = 183.84 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
---> Element: Lead Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Absorber is 17.848 cm of PbWO4
Em2PhysicsList::SetCuts:CutLength : 1 (mm)
Absorber is 18 cm of PbWO4
Em2PhysicsList::SetCuts:CutLength : 1 mm
phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z
Sandia crossSection below 50 KeV
@@ -64,10 +64,24 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
eBrem: Total cross sections from a parametrisation. Good description from 1 KeV to 100 GeV.
eIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
Water 81.518
lAr 78.381
Al 125.07
Fe 224.12
BGO 187.02
PbWO4 200.98
Tungsten 337
Lead 229.66
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
@@ -76,30 +90,44 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons)
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
hIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
Water 81.518
lAr 78.381
Al 125.07
Fe 224.12
BGO 187.02
PbWO4 200.98
Tungsten 337
Lead 229.66
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 150 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+03 PeV in 100 bins.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuBrems: theoretical cross section
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 100 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 50 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm
@@ -111,9 +139,10 @@ Cut in energy
Fe 20.8 keV 1.28 MeV 8.52 MeV 22 MeV 990 eV
BGO 77.7 keV 1.03 MeV 7.17 MeV 18.1 MeV 990 eV
PbWO4 84.8 keV 1.13 MeV 7.63 MeV 19.2 MeV 990 eV
Tungsten 105 keV 2.31 MeV 11.7 MeV 29.5 MeV 990 eV
Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV
===================================================
# $Id: TestEm2.out,v 1.1 2000/01/21 14:40:57 maire Exp $
# $Id: TestEm2.out,v 1.5 2000/06/24 08:01:20 stesting Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -128,11 +157,11 @@ Cut in energy
/calor/setLbin 9 1.11
/calor/setRbin 6 0.111
/calor/update
Absorber is 3.60564 m of Water
Absorber is 3.6056 m of Water
#
/run/particle/setCut 5.0 mm
/run/initialize
Em2PhysicsList::SetCuts:CutLength : 5 (mm)
Em2PhysicsList::SetCuts:CutLength : 5 mm
phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z
Sandia crossSection below 50 KeV
@@ -140,25 +169,39 @@ phot: Total cross sections from a parametrisation. Good description from 10 KeV
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 10 keV to 1e+02 GeV in 100 bins.
PhysicsTables from 10 keV to 100 GeV in 100 bins.
conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z.
e+e- energies according Bethe-Heitler
PhysicsTables from 1 MeV to 1e+02 GeV in 100 bins.
PhysicsTables from 1.022 MeV to 100 GeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
eBrem: Total cross sections from a parametrisation. Good description from 1 KeV to 100 GeV.
eIoni Minimum Delta cut in range=0.5 mm.
material min.delta energy(keV)
Air 3.2397
Water 215.05
lAr 209.6
Al 349.54
Fe 697.76
BGO 570.46
PbWO4 624.12
Tungsten 1195.6
Lead 745.94
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 1e+02 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
@@ -167,30 +210,44 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons)
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
hIoni Minimum Delta cut in range=0.5 mm.
material min.delta energy(keV)
Air 3.2397
Water 215.05
lAr 209.6
Al 349.54
Fe 697.76
BGO 570.46
PbWO4 624.12
Tungsten 1195.6
Lead 745.94
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+02 TeV in 150 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1e+03 PeV in 100 bins.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuBrems: theoretical cross section
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 100 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 PeV in 50 bins.
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 5 mm 5 mm 5 mm 5 mm 5 mm
@@ -202,6 +259,7 @@ Cut in energy
Fe 46.4 keV 6.11 MeV 21.5 MeV 54.7 MeV 990 eV
BGO 126 keV 4.72 MeV 18.1 MeV 45.7 MeV 990 eV
PbWO4 137 keV 5.34 MeV 19.4 MeV 48.3 MeV 990 eV
Tungsten 241 keV 13 MeV 30.7 MeV 75.3 MeV 990 eV
Lead 204 keV 6.83 MeV 22 MeV 54 MeV 990 eV
===================================================
#
@@ -209,7 +267,7 @@ Cut in energy
/event/drawTracks none
/event/printModulo 20
#
/gun/particle electron
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
### Run 0 start.
@@ -228,74 +286,25 @@ Start Run processing.
---> Begin Of Event: 40
---> Begin Of Event: 60
G4ParticleChangeForMSC::CheckIt : the Momentum Change is not unit vector !!
Difference: 1.5e-09
G4ParticleChangeForMSC::CheckIt
pointer : 0x140618e58
-----------------------------------------------
G4ParticleChange Information
-----------------------------------------------
# of 2ndaries : 0
-----------------------------------------------
Energy Deposit (MeV): 0
Track Status : Alive
True Path Length (mm) : 6.91
Stepping Control : 0
Event Biasing : not used
Position - x (mm) : 59.8
Position - y (mm) : -38.6
Position - z (mm) : 877
Momentum Direction - x : 0.414
Momentum Direction - y : 0.0309
Momentum Direction - z : 0.91
G4ParticleChange::CheckIt : the Momentum Change is not unit vector !!
Difference: 1.51e-09
G4ParticleChange::CheckIt
pointer : 0x1405d2cc0
-----------------------------------------------
G4ParticleChange Information
-----------------------------------------------
# of 2ndaries : 0
-----------------------------------------------
Energy Deposit (MeV): 0
Track Status : Alive
True Path Length (mm) : 0
Stepping Control : 0
Event Biasing : not used
Mass (GeV) : 0
Charge (eplus) : 0
Position - x (mm) : 62.1
Position - y (mm) : -38.4
Position - z (mm) : 882
Time (ns) : 9.01
Proper Time (ns) : 0.00338
Momentum Direct - x : 0.414
Momentum Direct - y : 0.0309
Momentum Direct - z : 0.91
Kinetic Energy (MeV): 5.15
Polarization - x : 0
Polarization - y : 0
Polarization - z : 0
Touchable (pointer) : 0x1402b2bc0
---> Begin Of Event: 80
Run terminated.
Run Summary
Number of events processed : 100
User=19.2s Real=22.9s Sys=3.42s
User=135.06s Real=147.92s Sys=11.58s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 13.46% 6.25% 0-> 1.11 radl: 13.46% 6.25%
1.11-> 2.22 radl: 24.71% 10.53% 0-> 2.22 radl: 38.17% 14.12%
2.22-> 3.33 radl: 23.98% 10.63% 0-> 3.33 radl: 62.15% 18.49%
3.33-> 4.44 radl: 13.68% 8.06% 0-> 4.44 radl: 75.83% 17.78%
4.44-> 5.55 radl: 8.09% 7.22% 0-> 5.55 radl: 83.93% 16.08%
5.55-> 6.66 radl: 5.50% 6.39% 0-> 6.66 radl: 89.43% 11.95%
6.66-> 7.77 radl: 3.04% 6.08% 0-> 7.77 radl: 92.46% 7.12%
7.77-> 8.88 radl: 1.87% 3.88% 0-> 8.88 radl: 94.33% 4.60%
8.88-> 9.99 radl: 0.90% 2.07% 0-> 9.99 radl: 95.23% 3.78%
0.00-> 1.11 radl: 12.83% 4.80% 0-> 1.11 radl: 12.83% 4.80%
1.11-> 2.22 radl: 22.99% 10.59% 0-> 2.22 radl: 35.82% 13.46%
2.22-> 3.33 radl: 23.35% 11.11% 0-> 3.33 radl: 59.17% 18.23%
3.33-> 4.44 radl: 14.66% 7.64% 0-> 4.44 radl: 73.83% 17.47%
4.44-> 5.55 radl: 10.04% 7.93% 0-> 5.55 radl: 83.88% 14.03%
5.55-> 6.66 radl: 5.77% 5.99% 0-> 6.66 radl: 89.65% 11.25%
6.66-> 7.77 radl: 2.68% 3.89% 0-> 7.77 radl: 92.33% 9.04%
7.77-> 8.88 radl: 1.65% 3.99% 0-> 8.88 radl: 93.97% 5.64%
8.88-> 9.99 radl: 1.02% 3.35% 0-> 9.99 radl: 94.99% 3.52%
@@ -303,26 +312,24 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 69.28% 9.17% 0-> 0.11 radl: 69.28% 9.17%
0.11-> 0.22 radl: 15.05% 6.43% 0-> 0.22 radl: 84.33% 5.88%
0.22-> 0.33 radl: 5.41% 3.14% 0-> 0.33 radl: 89.74% 4.73%
0.33-> 0.44 radl: 2.67% 1.88% 0-> 0.44 radl: 92.41% 4.14%
0.44-> 0.56 radl: 1.66% 1.53% 0-> 0.56 radl: 94.07% 3.85%
0.56-> 0.67 radl: 1.16% 1.18% 0-> 0.67 radl: 95.23% 3.78%
0.00-> 0.11 radl: 66.01% 9.70% 0-> 0.11 radl: 66.01% 9.70%
0.11-> 0.22 radl: 16.95% 6.97% 0-> 0.22 radl: 82.95% 7.09%
0.22-> 0.33 radl: 5.91% 4.08% 0-> 0.33 radl: 88.86% 5.43%
0.33-> 0.44 radl: 2.97% 2.51% 0-> 0.44 radl: 91.83% 4.45%
0.44-> 0.56 radl: 1.85% 1.52% 0-> 0.56 radl: 93.68% 3.99%
0.56-> 0.67 radl: 1.31% 1.50% 0-> 0.67 radl: 94.99% 3.52%
SUMMARY
energy deposit : 95.23 % E0 +- 3.78 % E0
charged traklen: 13.61 radl +- 0.55 radl
neutral traklen: 192.88 radl +- 17.42 radl
energy deposit : 94.99 % E0 +- 3.52 % E0
charged traklen: 13.64 radl +- 0.52 radl
neutral traklen: 192.15 radl +- 20.63 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 2146177415, 212514321
Current couple of seeds = 2001046935, 58619762
----------------------------------------
Graphics systems deleted.
VisManager deleting.
G4 kernel has come to Quit state.
Deletion of G4 kernel class start.
UserDetectorConstruction deleted.
@@ -16,7 +16,7 @@
run01.dat (runNN.dat is the equivalent of the G4 runNN.mac)
testem2 produces several histo saved as testem2.histo if ISWIT(2)=1
testem2 produces several histo saved as testem2.paw if ISWIT(2)=1
Content of these histo:
@@ -4,26 +4,15 @@
set name=testem2
set extnam=" "
if ($G4SYSTEM == AIX-xlC) set extnam=-qextname
if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
#
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# Run patchy
#
cat > temp.cra << eocra
+USE,batch.
eocra
cat ../$name.cra >> temp.cra
#
ypatchy - $name temp $name - $name :go
rm temp.cra
#
# fortran compilation
#
fsplit $name.f
rm $name.f
hepf77 $extnam -c -g *.f
hepf77 $extnam -c -g -Dbatch -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
@@ -37,7 +26,7 @@ chmod +x $name.xb
#
# cleanup
#
rm *.lis *.lst *.f *.o
rm *.o
echo 'done'
exit
@@ -4,20 +4,14 @@
set name=testem2
set extnam=" "
if ($G4SYSTEM == AIX-xlC) set extnam=-qextname
if ($G4SYSTEM == AIX-AFS) set extnam=-qextname
#
mkdir $G4SYSTEM
cd $G4SYSTEM
#
# Run patchy
#
ypatchy - $name ../$name $name - $name :go
#
# fortran compilation
#
fsplit $name.f
rm $name.f
hepf77 $extnam -c -g *.f
hepf77 $extnam -c -g -I/cern/pro/include -I../include ../src/*.F
#
# Link
#
@@ -31,7 +25,7 @@ chmod +x $name.xt
#
# cleanup
#
rm *.lis *.lst *.f *.o
rm *.o
echo 'done'
exit
@@ -0,0 +1,6 @@
PARAMETER (NBIN= 50)
COMMON/CELOSS/ SEL1(NBIN), SEL1C(NBIN), SER1(NBIN), SER1C(NBIN),
+ SEL2(NBIN), SEL2C(NBIN), SER2(NBIN), SER2C(NBIN),
+ DEDL(NBIN), DEDR(NBIN) , FNPAT(NBIN,3),
+ STRCH,STRCH1,STRCH2,STRNE,STRNE1,STRNE2
@@ -0,0 +1,30 @@
*
* TEST PROGRAM FOR GEANT/SHOWER STUDIES
*
* Authors R.Brun, M.Maire *********
*
* This program generates showers within a cylinder made of an
* homogeneous material.The statistics of shower profiles and
* particle's flux are computed and plotted.
* It has been used to do the GEANT/EGS comparison.(CERN/DD/85/1)
*
* The present release has been modified :
*
* - to increase the flexibility of the volume definition from
* data cards.(see description of the common /PVOLUM/ )
*
* - to permit to define all kinds of primary particles,i.e electrons
* as well pions ( ===> hadronic showers ).
* see data card KINE.
*
*
* History
* -------
*
* 08-02-99 : adapted for Geant4 comparison: electromagnetic/test/TestEm2
* 17-02-98 : adapted to Unix + interactive + graphic
* 21-01-90 : Simplified version (i.e. near gexam1)
* 06-04-89 : Add Hydrogen in the material library (imate=2)
* 10-02-89 : new histgrams for the resolution of the energy profile
*
@@ -0,0 +1,9 @@
COMMON/PVOLUM/ IMAT,NLTOT,NRTOT,DLX0,DRX0,X0,Z1,R1
*
* IMAT = GEANT material number. (data card MATE)
* NLTOT = total number of longitudinal bins. (data card BINS)
* NRTOT = total number of radial bins. (data card BINS)
* DLX0 = longitudinal bin length , in radiation length unit. (data card BINS)
* DRX0 = radial bin length , in radiation length unit. (data card BINS)
*
@@ -0,0 +1,31 @@
SUBROUTINE GUKINE
*
* Generates Kinematics for primary track
*
* Data card Kine : Itype Ekine
* (pkine(3) is used internaly to store Etot)
*
#include "geant321/gcbank.inc"
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
#include "pvolum.inc"
*
DIMENSION VERTEX(3),PLAB(3)
DATA VERTEX/3*0./
DATA PLAB /3*0./
*
VERTEX(3) = - Z1 + 0.0001
CALL GSVERT(VERTEX,0,0,0,0,NVERT)
*
JPA = LQ(JPART-IKINE)
XMASS = Q(JPA+7)
PKINE(3) = XMASS + PKINE(1)
PLAB(3) = SQRT(PKINE(1)*(PKINE(3)+XMASS))
*
CALL GSKINE(PLAB,IKINE,NVERT,0,0,NT)
*
* *** Kinematics debug
IF(IEVENT.EQ.1.OR.IDEBUG.NE.0) CALL GPRINT('KINE',0)
*
END
@@ -0,0 +1,77 @@
SUBROUTINE GUOUT
*
* User routine called at the end of each event
*
#include "geant321/gcflag.inc"
#include "geant321/gckine.inc"
#include "pvolum.inc"
#include "celoss.inc"
*
* *** drawing
*
#ifndef batch
IF (ISWIT(1).NE.0) THEN
CALL GDHEAD (110110,'testem2',0.)
CALL GDSHOW (1)
CALL GDXYZ (0)
END IF
#endif
*
*
* *** statistic
*
DLC = 0.
DRC = 0.
* longitudinal profile
*
DO 2 I = 1,NLTOT
SEL1 (I) = SEL1 (I) + DEDL(I)
SEL2 (I) = SEL2 (I) + DEDL(I)**2
DLC = DLC + DEDL(I)
SEL1C(I) = SEL1C(I) + DLC
SEL2C(I) = SEL2C(I) + DLC**2
BIN = (FLOAT(I)-0.5)*DLX0
CALL HFILL(4,BIN,100*DEDL(I)/(DLX0*PKINE(3)),1.)
BIN = FLOAT(I)*DLX0
CALL HFILL(5,BIN,100*DLC /PKINE(3),1.)
2 CONTINUE
* radial profile
*
DO 3 I = 1,NRTOT
SER1 (I) = SER1 (I) + DEDR(I)
SER2 (I) = SER2 (I) + DEDR(I)**2
DRC = DRC + DEDR(I)
SER1C(I) = SER1C(I) + DRC
SER2C(I) = SER2C(I) + DRC**2
BIN = (FLOAT(I)-0.5)*DRX0
CALL HFILL(10,BIN,100*DEDR(I)/(DRX0*PKINE(3)),1.)
BIN = FLOAT(I)*DRX0
CALL HFILL(11,BIN,100*DRC /PKINE(3),1.)
3 CONTINUE
* particle flux
*
DO 14 IPAT = 1,3
DO 14 NPL = 1,NLTOT
BIN = FLOAT(NPL)*DLX0
CALL HFILL(6+IPAT,BIN,FNPAT(NPL,IPAT),1.)
14 CONTINUE
* energy deposited and track length
*
ESEEN = 100.*DLC/PKINE(3)
CALL HFILL(1, ESEEN,0.,1.)
CALL HFILL(2,STRCH/X0,0.,1.)
CALL HFILL(3,STRNE/X0,0.,1.)
*
STRCH1 = STRCH1 + STRCH
STRCH2 = STRCH2 + STRCH**2
STRNE1 = STRNE1 + STRNE
STRNE2 = STRNE2 + STRNE**2
*
END
@@ -0,0 +1,50 @@
SUBROUTINE GUSTEP
*
* User routine called at the end of each tracking step
*
#include "geant321/gcflag.inc"
#include "geant321/gconst.inc"
#include "geant321/gckine.inc"
#include "geant321/gcking.inc"
#include "geant321/gctmed.inc"
#include "geant321/gctrak.inc"
#include "geant321/gcvolu.inc"
#include "pvolum.inc"
#include "celoss.inc"
*
SAVE NLOLD
*
* *** Debug event and strore track for drawing
IF (IDEBUG.NE.0) CALL GPCXYZ
IF (ISWIT(1).EQ.1.AND.(CHARGE.NE.0.)) CALL GSXYZ
IF (ISWIT(1).EQ.2) CALL GSXYZ
*
* *** Something generated ?
IF(NGKINE.GT.0) CALL GSKING(0)
*
* *** Energy deposited
IF (DESTEP.GT.0.)THEN
NR = NUMBER(NLEVEL-1)
NL = NUMBER(NLEVEL)
DEDR(NR) = DEDR(NR) + DESTEP
DEDL(NL) = DEDL(NL) + DESTEP
ENDIF
*
* *** track length
IF (CHARGE.NE.0.) THEN
STRCH = STRCH + STEP
ELSE
STRNE = STRNE + STEP
ENDIF
*
* *** Particle's flux
NL = NUMBER(NLEVEL)
IF(SLENG.LE.0.) NLOLD = NL
IF(NL.NE.NLOLD) THEN
NPL = (NL + NLOLD)/2
IF (IPART.LE.3) FNPAT(NPL,IPART) = FNPAT(NPL,IPART) + 1.
NLOLD = NL
ENDIF
*
END

Some files were not shown because too many files have changed in this diff Show More