Import Geant4 2.0.0 source tree
This commit is contained in:
@@ -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
@@ -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
@@ -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
@@ -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 \
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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) | */
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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) | */
|
||||
|
||||
@@ -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) | */
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) | */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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*/
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user