Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -0,0 +1,649 @@
|
||||
|
||||
Geant4 4.0 Release Notes
|
||||
------------------------
|
||||
|
||||
14th December 2001
|
||||
|
||||
These are the main new features/fixes included in this release since the
|
||||
last public release (for the detailed list of fixes/additions, please refer
|
||||
to the related History files):
|
||||
|
||||
o Analysis:
|
||||
--------
|
||||
- Removed analysis module. AIDA 2.2 or higher should now be adopted.
|
||||
|
||||
o Configuration:
|
||||
-------------
|
||||
- New version of the 'Configure' script for installation.
|
||||
- architecture.gmk:
|
||||
o made Linux-g++ architecture the default G4SYSTEM.
|
||||
o removed references to STLInterface.
|
||||
- Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
|
||||
- Made Linux-g++ specific to gcc-2.95.2 compiler or higher.
|
||||
- Made SUN-CC specific to CC-5.2 compiler, the default compiler on SUN
|
||||
systems. CC-4.2 is no longer supported.
|
||||
- Introduced environment variable G4VIS_NONE that, if set, no visualization
|
||||
drivers are built and no vis libraries are built.
|
||||
- Introduced environment variable G4UI_NONE that, if set, no UI
|
||||
sessions nor any UI libraries are built.
|
||||
- Re-engineered G4VIS variables: removed the need to specify environment
|
||||
variables for visualization drivers which do not need external packages
|
||||
or libraries, namely :
|
||||
G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
G4VIS_BUILD_GAGTREE_DRIVER
|
||||
with associated G4VIS_USE environment variables:
|
||||
G4VIS_USE_DAWNFILE
|
||||
G4VIS_USE_RAYTRACER
|
||||
G4VIS_USE_VRMLFILE
|
||||
G4VIS_USE_ASCIITREE
|
||||
G4VIS_USE_GAGTREE
|
||||
- Re-engineered G4UI variables: removed the need to specify environment
|
||||
variables for UI sessions which do not need external packages or
|
||||
libraries, namely :
|
||||
G4UI_BUILD_GAG_SESSION, G4UI_BUILD_TERMINAL_SESSION
|
||||
with associated G4UI_USE environment variables:
|
||||
G4UI_USE_GAG, G4UI_USE_TCSH, G4UI_USE_TERMINAL
|
||||
- Removed references to STLInterface module in architecture.gmk
|
||||
and architecture setups.
|
||||
- analysis.gmk: added flags to use an AIDA 2.2 compliant analysis system.
|
||||
|
||||
o Event:
|
||||
-----
|
||||
- Added a new feature for the user to increase the number of waiting stacks.
|
||||
- Added Beam option for generating accelerator beams.
|
||||
- Added check whether the primary vertex is inside of the world volume.
|
||||
- G4PrimaryParticle now stores the proper trackID.
|
||||
- G4PrimaryTransformer: now considering case where a primary is
|
||||
placed on the boundary of the world volume.
|
||||
- G4GeneralParticleSource (GPS): implemented co-ordinates rotation for
|
||||
angular distribution.
|
||||
- Bug fix in G4EventManager in case G4_STORETRAJECTORY is off.
|
||||
- Moved set method of position and time from G4ParticleGun to
|
||||
G4VPrimaryGenerator so that G4HEPEvtInterface can accept the primary
|
||||
vertex position
|
||||
- Cleared compilation warnings on gcc-2.95.2.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Electromagnetic Processes (Low-energy):
|
||||
--------------------------------------
|
||||
- Major revision of G4LowEnergyCompton, G4LowEnergyRayleigh and
|
||||
G4LowEnergyGammaConversion: re-implementation according to the design
|
||||
iteration in the data domain.
|
||||
- New version of data G4EMLOW0.5 required.
|
||||
- New classes for shell cross sections for proton-induced fluorescence.
|
||||
- First implementation of fluorescence process.
|
||||
- Introduced PIXE in G4hLowEnergyIonisation.
|
||||
- Significant physics an performance improvement in electron processes.
|
||||
- Added method to deactivate fluorescence in ionisation if needed.
|
||||
- Added protection in G4LowEnergyPhotoElectric to avoid generation of
|
||||
photons causing negative energy balance.
|
||||
- Fixed a problem of continuity of ion effective charge.
|
||||
- Fixed energy conservation problems for small range cuts in
|
||||
G4LowEnergyIonisation.
|
||||
- Introduced changes to allow multiple cuts per material (temporary).
|
||||
- Removed static inline methods to non inline.
|
||||
- Cleared compilation warnings on gcc-2.95.2.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Electromagnetic Processes (Standard):
|
||||
------------------------------------
|
||||
- Implemented mechanism for storing and retrieving Physics Tables.
|
||||
- Implemented new function ComputeRestrictedMeandEdx() for ionisation
|
||||
processes.
|
||||
- Implemented subcutoff delta-rays mechanism in G4VMuEnergyLoss.
|
||||
- Suppression of the production threshold in phot, compt, conv, annih
|
||||
processes.
|
||||
- Removed obsolete "integral" module.
|
||||
- Fixed old outstanding bug in G4EnergyLossTables, responsible for
|
||||
causing negative energy deposit in some occasions.
|
||||
- Introduced changes for reference-counted touchables.
|
||||
- Introduced changes to allow multiple cuts per material (temporary).
|
||||
- Removed static inline methods to non inline.
|
||||
- Cleared compilation warnings on gcc-2.95.2.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o General Processes, Parameterisation, Decay, Optical:
|
||||
---------------------------------------------------
|
||||
- management:
|
||||
o Added Set/GetProcessManager() to G4VProcess and modified
|
||||
G4ProcessManager::AddProcess() to invoke SetProcessManager().
|
||||
o Fixed bug in copy constructor of G4ProcessManager.
|
||||
- parameterisation(s):
|
||||
o Added new classes describing X-ray transition radiation generation
|
||||
inside radiators (i.e. just along incident particle track):
|
||||
G4FoamXTRdEdx, G4GamDistrXTRdEdx, G4IrregularXTRdEdx,
|
||||
G4PlateIrrGasXTRdEdx, G4RegularXTRdEdx, G4VXTRdEdx, G4VXrayTRadModel.
|
||||
o Introduced changes in G4VClusterModel for reference-counted
|
||||
touchables.
|
||||
- optical:
|
||||
o Changed process name for G4OpRayleigh, G4OpBoundary and G4OpAbsorption.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Geometry:
|
||||
--------
|
||||
- Introduced geometry/verification module for checking geometry for
|
||||
volumes overlaps.
|
||||
- Magnetic field:
|
||||
o Handling Electric Field and time-dependent fields.
|
||||
o Introduced ability to set field per volume.
|
||||
o New extended examples for field in examples/extended.
|
||||
o Added method in G4ChordFinder to erase/reset the state of the
|
||||
StepEstimate. This is unwanted internal state that was carried
|
||||
between tracks and events as a side effect.
|
||||
Calling this at the start of each track, it is now possible to
|
||||
eliminate a reported problem of non-repeatability.
|
||||
o Reduced maximum number of steps in G4MagIntegratorDriver.
|
||||
o Protected verbose warnings with G4DEBUG_FIELD flag in G4ChordFinder
|
||||
and G4MagIntegratorDriver.
|
||||
o G4FieldManager: added fFieldChangesEnergy data member and get/set
|
||||
methods.
|
||||
o Fixed interface to virtual functions in the inheritance chain of
|
||||
G4Field and subclasses.
|
||||
- Management:
|
||||
o Added definition of G4TouchableHandle.
|
||||
o Added class G4SmartVoxelStat for statistics on geometry optimisation
|
||||
of volumes through voxelisation.
|
||||
o Modified G4GeometryManager to make use of G4SmartVoxelStat when run
|
||||
in verbose mode:
|
||||
- added argument to CloseGeometry() method for verbosity
|
||||
- added ReportVoxelStats() method for reporting optimisation statistics.
|
||||
o Initialise noNodes to 1 in G4SmartVoxelHeader::BuildNodes() in case
|
||||
computed nodes for smartless happen to be zero.
|
||||
- Volumes:
|
||||
o Introduced G4GeometryMessenger associated to G4TransportationManager
|
||||
with following commands defined:
|
||||
- geometry/test/run - to start verification of geometry for overlapping
|
||||
regions based on standard grid setup.
|
||||
- geometry/test/line_test - to activate test along a specified
|
||||
direction and position user defined.
|
||||
- geometry/test/position - to specify position for the line_test.
|
||||
- geometry/test/direction - to specify direction for the line_test.
|
||||
- geometry/test/tolerance - to customise test precision.
|
||||
- geometry/navigator/reset - for resetting navigation history
|
||||
and position.
|
||||
o Added handles for reference counting: G4GRSSolidHandle,
|
||||
G4GRSVolumeHandle, G4TouchableHistoryHandle.
|
||||
o Modified G4Navigator for reference counted touchables.
|
||||
Introduced new methods CreateTouchableHistoryHandle() and
|
||||
LocateGlobalPointAndUpdateTouchableHandle(...).
|
||||
o G4PropagatorInField:
|
||||
- Added thresholds for number of steps with get/Set methods.
|
||||
- Modified choice of subsequent step size in case of zero steps.
|
||||
- Added GetCurrentFieldManager() method.
|
||||
- Added 'maximum' epsilon value.
|
||||
o G4Navigator:
|
||||
- Fixed mirroring of the input argument for global direction into
|
||||
local variable in LocateGlobalPointAndSetup().
|
||||
- Added ResetState() method (that only reset state - not stack).
|
||||
- Added optional argument for direction to LocateGlobalPointAndSetup().
|
||||
- State is now resetted when touchable history is used to
|
||||
re-initialise it.
|
||||
- Direction in LocateGlobalPointAndSetup() methods is now used.
|
||||
- solids/Boolean:
|
||||
o Introduced first implementation of classes G4ReflectedSolid and
|
||||
G4ReflectionFactory for reflections of positioned volumes based
|
||||
on simple CSG solids.
|
||||
o Introduced G4BOOLDEBUG flag and relaxed G4Exception calls with
|
||||
warnings to G4cerr for rare occurences of anomalous conditions.
|
||||
- solids/BREPS:
|
||||
o Fix in G4BSplineCurve::Init() for initialisation of point vector.
|
||||
o G4BREPSolidPolyhedra.cc: fixed situation when phi1 = 0 dphi1 = 2*pi
|
||||
and all RMINs = 0.0. In this case the inner planes are not created.
|
||||
- solids/CSG:
|
||||
o G4Sphere: bug fix in SurfaceNormal() for the case kNETheta.
|
||||
- solids/STEP & STEPinterface:
|
||||
o SdaiCONFIG_CONTROL_DESIGN.cc: cleaned up warnings issued on SUN-CC.
|
||||
o dirobj.cc: restored usage of strdup() and forced non-ANSI setup.
|
||||
o Fixes for compilation on gcc-2.96.98 and gcc-3.0.2 compilers.
|
||||
o G4Axis2Placement3dCreator::CreateG4Geometry(): added check to
|
||||
attribute validity for 'direction'.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Global:
|
||||
------
|
||||
- Introduced G4ReferenceCountedHandle templated class.
|
||||
- Modified G4Exception behavior, now setting G4StateManager to
|
||||
"abort" state instead of aborting the application.
|
||||
- Removed STLinterface module:
|
||||
o renamed cstring[.h.icc] to G4String[.hh.icc].
|
||||
o renamed ctoken.h to G4Tokenizer.hh.
|
||||
|
||||
o Graphics Representations:
|
||||
------------------------
|
||||
- Added G4Scale class.
|
||||
- Added G4Polyline::transform.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
|
||||
o Hadronic Processes:
|
||||
------------------
|
||||
- Doppler broadening of low energy neutron cross-sections on the fly,
|
||||
enabling to simulate setups with mixed temperatures from 0K data files.
|
||||
- First release of chiral invariant phase-cpace decay.
|
||||
Usable now for electron and gamma nuclear reactions, and for pi-
|
||||
and anti-proton absorption. Also a cascade back-end replacement for
|
||||
string models.
|
||||
- First release of specialized models for neutron and proton scattering
|
||||
off Hydrogene, with particular focus on recoils.
|
||||
- First release of the evaporation and utilities parts of the HETC
|
||||
re-write.
|
||||
- Optimized memory usage of the neutron_hp transport code (gained an
|
||||
integer factor)
|
||||
- Maximized robustness: system tests now at O(5000) LHC event of hadronic
|
||||
energy flow; large-N tests with about a factor 100 more statistics.
|
||||
- Addition of gamma nuclar and electro nuclear reaction cross-sections.
|
||||
- Checking for tracking consistancy.
|
||||
- Added possibility to activate models for single elements/materials in
|
||||
one call
|
||||
- Now calling ResetNumberOfInteractionLengthLeft() rather than
|
||||
ClearNumberOfInteractionLengthLeft().
|
||||
- Enabled logging in various places.
|
||||
- Fix for final state rotation from z; this can be done in general in
|
||||
the hadronic process framework layer.
|
||||
- Added G4PhotoNuclearProcess, G4PositronNuclearProcess, and
|
||||
G4ElectronNuclearProcess.
|
||||
- Optimised sampling of gaussian distributions.
|
||||
- Fixed a missing initialization of strangeness in the high energy
|
||||
models.
|
||||
- Fixed the particle production for low energy light ion reactions.
|
||||
- Bug fix for beta+ decay in radioactive decay (corrected Q-value).
|
||||
- Bug-fix in neutron induced isotope production code to allow for mixtures.
|
||||
- Bug-fix in the vector hash to allow for re-use of the hash tables.
|
||||
- Getting rid of the strstream portability problem between SUN and Linux.
|
||||
- Some conservative programming in the sampling vector, to allow for
|
||||
binary re-use of the hash.
|
||||
- Minor bug fix on gamma distributions in very special cases (yields and
|
||||
integral energy was correct, but distribution had a slight bias before).
|
||||
- Fix on elastic scattering final states: getting rid of a bias that was
|
||||
there for a particular data representation. Affects Xenon.
|
||||
- Fix for inelastic n->b+m*gamma channel; for the case of 4 gammas in the
|
||||
final state, the mass of the recoil was of by one under certain condition.
|
||||
(Mildly relevant for activation when simulating earth.)
|
||||
- Fix in Names finding for scattering off Hydrogen.
|
||||
- New calculation for compound radius in coulomb barrier calculation.
|
||||
- Reduced default vector size.
|
||||
- Added delete structs to the vectors.
|
||||
- Getting rid of the E-11ev gamma problem, and a few memory leaks
|
||||
introduced in the STL transition.
|
||||
- Templated qgs models with the type of participants to enable heavy ion
|
||||
collision simulation; heavy ion participants still to be fixed for
|
||||
impact of fermi momentum.
|
||||
- qgs model now also for kaons.
|
||||
- Enabled 'meson' splitting for incident gammas in quark gluon string
|
||||
model.
|
||||
- First tuning of pomeron trajectory and vertex parameters for incident
|
||||
gammas, assuming vector meson dominance; based on total reaction
|
||||
cross-section only; further improvement scheduled.
|
||||
- Fixed minimum mass constraint on string fragmentation in the
|
||||
presence of zeitgleiche multiple and multi pomoron exchange, and
|
||||
diffractive collisions.
|
||||
- Design iteration on string fragmentation.
|
||||
- Traced an elusing charge non-conservation to isotopic composition of
|
||||
Hydrogene, which is taken care of internally.
|
||||
- Bug-fix for splitting Omega- into partons.
|
||||
- Added transformation in pre-equilibrium decay.
|
||||
- Enabled tracing of colour, spin and iso-spin in the parton.
|
||||
- Some improvement on folding two resonance collision cross-section.
|
||||
- Cleared most compilation warnings and minor fixes for gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Materials:
|
||||
---------
|
||||
- G4Isotope, G4Element, G4Material: IndexInTable is now obtained
|
||||
dynamically via GetIndex().
|
||||
- Added new function G4Materials::SetChemicalFormula().
|
||||
- Fixed problems erasing when deleting Isotope, Element or Material objects.
|
||||
- Fixed memory leak in G4SandiaTable::ComputeMatSandiaMatrix(),
|
||||
for deletion of temporary vectors Z, tmp1, tmp2.
|
||||
- Moved definitions of G4IsotopeVector and G4ElementVector
|
||||
G4ElementTable and G4MaterialTable to the appropriate headers.
|
||||
- Removed static inline methods to non-inline.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Particles:
|
||||
---------
|
||||
- Introduced G4NeutronBetaDecayChannel and added to G4Neutron.
|
||||
- Allow MassDifference in case of nucleon decay.
|
||||
- Fixed bug in copy constructor of G4DecayProduct.
|
||||
- Introduced changes to allow multiple cuts per material (temporary).
|
||||
- Removed static inline methods to non-inlined.
|
||||
- Cleared compilation warnings and minor fixed for gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Persistency:
|
||||
-----------
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
- Fixed porting problems on gcc-2.95.2.
|
||||
|
||||
o Run, Intercoms and Interfaces
|
||||
-----------------------------
|
||||
- run:
|
||||
o Added new feature allowing to increase the number of waiting stacks.
|
||||
o Added Set/GetApplyCuts methods in G4VUserPhysicsList.
|
||||
o Added /run/particle/applyCuts command in G4UserPhysicsListMessenger.
|
||||
o Added GetVersionString() method to G4RunManager.
|
||||
o Added rndmSaveThisRun() and rndmSaveThisEvent() methods to G4RunManager.
|
||||
o Added /random/ commands to G4RunMessenger.
|
||||
o Fixed bugs in G4VUserPhysicsList.
|
||||
- intercoms:
|
||||
o Introduced feature for suppressing the program abortion due to
|
||||
G4Exception.
|
||||
o Introduced "Shell variables" for UI command handling. Added
|
||||
class G4UIaliasList.
|
||||
o Introduced loop execution of a macro file, recursive expansion of
|
||||
aliased variables, and some other new features in G4UImanager and
|
||||
related classes.
|
||||
New commands: /control/shell, /control/foreach, /control/loop,
|
||||
/control/createHTML.
|
||||
o Added G4VGraphicsScene::AddPrimitive(const G4Scale&).
|
||||
o Added G4VisManager::Draw(const G4Scale&,...).
|
||||
o Modified G4UIbatch to display (G4cerr) the error message.
|
||||
Comment lines are now displayed only for verbose level=2.
|
||||
o Included correction for string parameter starting with a space.
|
||||
o Fixed parsing of quoted (") tokens.
|
||||
o Fixed a problem for commands with doubled slash.
|
||||
- interfaces:
|
||||
o Re-engineered G4UI variables:
|
||||
changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
|
||||
Nothing built if G4UI_NONE is set.
|
||||
o G4VInteractorManager::RemoveDispatcher : change the remove logic in
|
||||
order to fix a disfunctionning with vis/OpenInventor driver.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Tracking & Track:
|
||||
----------------
|
||||
- track:
|
||||
o Fixed bug for velocity in method G4Step::UpdateTrack().
|
||||
o Implemented assignment operator for G4ParticleChangeForRadDecay.
|
||||
o Fixed bug in assignment operator of G4Track.
|
||||
o Removed static inline methods to non inline.
|
||||
- tracking:
|
||||
o Added protection for tracks placed outside the world volume
|
||||
at the initial point.
|
||||
o Correction to the use the touchable Handle for secondary tracks,
|
||||
when it is available. Now the direction is used in locating a particle
|
||||
(primary or secondary) in SetInitialStep(). This is in order to assist
|
||||
in starting particles that are on/near-to boundaries in the correct
|
||||
volume.
|
||||
- Introduced changes for reference-counted touchables mechanism.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Transportation:
|
||||
--------------
|
||||
- Motivated by the use case of an Electric Field, in order to achieve
|
||||
reasonable accuracy in time integration, and to enable fields that
|
||||
vary with the global time:
|
||||
o G4Transportation now try obtaining the delta_time from G4FieldTrack.
|
||||
- Introduced changes to G4Transportation for reference-counted touchables.
|
||||
Added methods GetFreeTouchable() and SetTheOtherTouchableFree().
|
||||
- Added protection in G4Transportation::AlongStepGPIL for messaging
|
||||
"ResestStepEstimate" of G4ChordFinder for the case there is no global
|
||||
field.
|
||||
|
||||
o Visualization:
|
||||
-------------
|
||||
- Introduced new HepRep graphics driver.
|
||||
- Removed the need to specify environment variables for visualization
|
||||
drivers which do not need external packages or libraries.
|
||||
- Removed old-style commands.
|
||||
- Added commands:
|
||||
o /vis/scene/add/scale
|
||||
o /vis/viewer/flush = refresh + update.
|
||||
o /vis/viewer/set/upThetaPhi and upVector.
|
||||
o refresh|flush option to /vis/scene/notifyHandlers.
|
||||
- Moved /vis/viewer/lights and viewpoint to /vis/viewer/set.
|
||||
- Added G4ScaleModel.
|
||||
- Added G4VModel::SetExtent(const G4VisExtent&).
|
||||
- Added G4VisManager::Draw(const G4Scale&,...).
|
||||
- Added template graphics system XXX.
|
||||
- Re-implemented verbosity control. Output statements wherever possible
|
||||
are controlled by the verbosity in a simple graded message scheme.
|
||||
- Improved auto-refreshing.
|
||||
- Force rebuild of graphics "stores" (graphical databases) and,
|
||||
if auto-refresh is true, refresh of all views
|
||||
(/vis/scene/notifyHandlers) after an addition to scene.
|
||||
- Eliminated view parameters from G4VisManager.
|
||||
Paramenters can be copied from one view to another with:
|
||||
/vis/viewer/set/all
|
||||
- Updated G4RTJpegMaker for porting Windows systems.
|
||||
- OpenInventor : move HEPVis/SoWindow under vis/OpenInventor/G4SoWindow
|
||||
to prepare HEPVis/6.0. (HEPVis/SoWindow will disappear from HEPVis/6.0).
|
||||
- Fixed crash in optimised mode: added Initialise() to viewers so
|
||||
that windows are opened after viewers are fully constructed.
|
||||
- Corrected mistake which could cause crash if user specified a
|
||||
non-existent scene handler in /vis/sceneHandler/remove.
|
||||
- Fix for replica rotation matrix. It Fixes observed crashes in replica
|
||||
tracking with visualisation.
|
||||
- Fixed bug in G4VSceneHandler::AddPrimitive(const G4Scale&).
|
||||
- Fixed bug in G4VisManager::EndOfEvent.
|
||||
- Added README.quick, a quick installation guide.
|
||||
- Improved verbosity guidance and READMEs.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o G4toG4 Tool:
|
||||
-----------
|
||||
- Implemented reflection of CSG solids through G4ReflectionFactory
|
||||
class and G4ReflectedSolid. Added G3G4_NO_REFLECTION flag to exclude
|
||||
it if needed for cases not yet covered.
|
||||
- Added limited support for MANY volumes through adoption of boolean solids.
|
||||
- Changed G3Division::CreatePVReplica() to return a G4PhysicalVolumesPair.
|
||||
- Cleared compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
|
||||
o Examples:
|
||||
--------
|
||||
- Novice:
|
||||
o updated visualization macros.
|
||||
o updated vis-managers.
|
||||
- Extended:
|
||||
o new electromagnetic example "TestEm10" for exercising
|
||||
specific parameterisation models.
|
||||
o new examples for electro-magnetic field: field01, field02, field03.
|
||||
o updated vis-managers.
|
||||
- Advanced:
|
||||
o underground_physics: new example for simulation of an underground
|
||||
dark matter experiment.
|
||||
o xray_fluorescence: new simulation setup for the study the elemental
|
||||
composition of a planet through the measurement of the X-rays emitted.
|
||||
o new improved versions of existing advanced applications.
|
||||
- Cleared most compilation warnings on gcc-2.95.2 compiler.
|
||||
- Fixes to comply with removal of STLInterface.
|
||||
- Updated reference outputs.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Technical Notes
|
||||
---------------
|
||||
|
||||
o Geant4 4.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.
|
||||
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
1. Supported and Tested Platforms
|
||||
2. ANAPHE and CLHEP
|
||||
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.7, C++ 5.2 Patch 109508-03.
|
||||
o Linux, gcc 2.95.2, 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 more recent
|
||||
RedHat, Debian and Suse distributions.
|
||||
o NT 4.0 (Service Pack 4) or Windows-2000 and Cygnus Tools b20 with:
|
||||
Visual C++ 6.0 Service Pack 5
|
||||
|
||||
Platforms also tested but giving rise to some problems - see below:
|
||||
|
||||
o DEC V4.0, cxx C++ V6.1-027.
|
||||
|
||||
Platforms configured but not tested and not supported:
|
||||
o HP 10.20, aCC C++ B3910B A.01.23
|
||||
o SGI V6.5.5, CC 7.2.1 with ObjectSpace
|
||||
o AIX 4.3.2, xlC compiler with ObjectSpace
|
||||
|
||||
|
||||
2. ANAPHE and CLHEP
|
||||
-------------------
|
||||
|
||||
Geant4 4.0 requires the installation of CLHEP.
|
||||
|
||||
See <A href="http://wwwinfo.cern.ch/asd/lhc++/INSTALLATION/clhep.html">
|
||||
CLHEP</A>. Tests have been performed with CLHEP 1.7.0.0.
|
||||
|
||||
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 specific compilers.
|
||||
|
||||
Geant4 4.0 coworks with ANAPHE 3.6.5 and components included therein:
|
||||
Objectivity 6.1.3
|
||||
HepODBMS 0.3.3.1
|
||||
CLHEP 1.7.0.0
|
||||
|
||||
For more information about ANAPHE 3.6.5, see:
|
||||
<A href="http://cern.ch/anaphe">ANAPHE</A>
|
||||
|
||||
|
||||
3. The Standard Template Library
|
||||
--------------------------------
|
||||
|
||||
Native versions of STL have been tested on the following platforms:
|
||||
|
||||
Windows/2000, Linux, DEC and SUN.
|
||||
|
||||
NOTES:
|
||||
|
||||
- Platform specific setup:
|
||||
o DEC: Native STL is required for ISO/ANSI setup.
|
||||
o SUN: Native STL is required for ISO/ANSI setup (CC 5.2 only).
|
||||
o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only).
|
||||
o W2000: Native STL and ISO/ANSI setup required (VC++ 6.0).
|
||||
|
||||
|
||||
4. Persistency
|
||||
--------------
|
||||
|
||||
Platform
|
||||
--------
|
||||
|
||||
Persistency in Geant4 4.0 release is tested on the following
|
||||
platforms:
|
||||
|
||||
G4SYSTEM OS C++ compiler HepODBMS Objectivity
|
||||
--------- ----------- ------------ --------- -----------
|
||||
SUN-CC SunOS 5.7 CC 5.2 0.3.3.1 6.1.3 (*)
|
||||
Linux-g++ RedHat 6.1 gcc-2.95.2 0.3.3.1 6.1.3 (#)
|
||||
|
||||
(*) HepODBMS header files must be prepared with "ooddlx -noline"
|
||||
option. See below.
|
||||
(#) See g4odbms_setup[.sh.csh] in example PersistentEx01 in
|
||||
'geant4/examples/extended/persistency' for example setup scripts.
|
||||
|
||||
Known Problems
|
||||
--------------
|
||||
|
||||
- There are several 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.
|
||||
|
||||
- If you are using Solaris7 CC compiler 5.2 (SUN-CC) with the original
|
||||
release version, persistent header files has to be generated by
|
||||
ooddlx with "-noline" option due to a bug in C++ compiler.
|
||||
This workaround applies not only to Geant4 Persistency category but
|
||||
also to HepODBMS, and the user defined ddl files as well.
|
||||
This is the default for SUN-CC configuration for Geant4 GNUmakefiles.
|
||||
When this option is turned on, it removes the "#line" directive of
|
||||
the file name and the line number of the original .ddl file. As a
|
||||
consequences, C++ compiler no longer "tells" the correct file name
|
||||
and the line number of the .ddl file if compiler error occurs. When
|
||||
you design a persistent object with Geant4 GNUmakefiles and get the
|
||||
compiler errors, try to identify the problem by first looking into
|
||||
the header file generated by ooddlx, and then locate the source of
|
||||
the problem by looking into the .ddl file.
|
||||
A patch to the compiler is released from SUN, and you may remove this
|
||||
option by commenting out the line:
|
||||
|
||||
G4DDLX_FLAGS += -noline
|
||||
|
||||
in the file $G4INSTALL/config/sys/SUN-CC.gmk.
|
||||
|
||||
You can check the SUN-CC patch by the following command:
|
||||
|
||||
% what `which CC` | grep RELEASE
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
6. Known Run-Time Problems and Limitations
|
||||
------------------------------------------
|
||||
|
||||
For a complete list of outstanding run-time problems and to submit any
|
||||
problem you may find running this version of Geant4, please refer to the
|
||||
Geant4 Problem Reporting System, available on the Web at this address:
|
||||
|
||||
http://wwwinfo.cern.ch/asd/cgi-bin/geant4/problemreport
|
||||
|
||||
|
||||
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.
|
||||
+9
-24
@@ -1,21 +1,18 @@
|
||||
# $Id: G4UI_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $
|
||||
# $Id: G4UI_BUILD.gmk,v 1.2 2001/08/11 22:36:47 johna Exp $
|
||||
# -------------------------------------------------------------
|
||||
# Interfaces-specific CPPFLAGS for BUILD phase.
|
||||
# John Allison, 6th July 1998.
|
||||
# Include this *after* architecture.gmk
|
||||
# Include this *before* interactivity.gmk
|
||||
|
||||
########################### interfaces/basic #######################
|
||||
|
||||
ifndef G4UI_BUILD_TERMINAL_SESSION
|
||||
G4UI_BUILD_TERMINAL_SESSION = 1
|
||||
endif
|
||||
|
||||
ifdef G4UI_BUILD_TERMINAL_SESSION
|
||||
ifndef G4UI_NONE
|
||||
G4UI_BUILD = 1
|
||||
G4UI_BUILD_BASIC_SESSION = 1
|
||||
CPPFLAGS += -DG4UI_BUILD_TERMINAL_SESSION
|
||||
endif
|
||||
CPPFLAGS += -DG4UI_BUILD
|
||||
|
||||
# The following sessions are built by default (no environment
|
||||
# variables needed)...
|
||||
# GAG_SESSION
|
||||
# TERMINAL_SESSION
|
||||
|
||||
ifdef G4UI_BUILD_XM_SESSION
|
||||
G4UI_BUILD = 1
|
||||
@@ -40,13 +37,6 @@ ifdef G4UI_BUILD_WIN32_SESSION
|
||||
CPPFLAGS += -DG4UI_BUILD_WIN32_SESSION
|
||||
endif
|
||||
|
||||
########################### interfaces/GAG #######################
|
||||
|
||||
ifdef G4UI_BUILD_GAG_SESSION
|
||||
G4UI_BUILD = 1
|
||||
CPPFLAGS += -DG4UI_BUILD_GAG_SESSION
|
||||
endif
|
||||
|
||||
########################### interfaces/OPACS #######################
|
||||
|
||||
ifdef G4UI_BUILD_WO_SESSION
|
||||
@@ -60,10 +50,5 @@ endif
|
||||
|
||||
############################################################################
|
||||
|
||||
ifdef G4UI_BUILD
|
||||
CPPFLAGS += -DG4UI_BUILD
|
||||
endif
|
||||
|
||||
|
||||
|
||||
endif #G4UI_NONE
|
||||
|
||||
|
||||
+40
-32
@@ -1,31 +1,53 @@
|
||||
# $Id: G4UI_USE.gmk,v 1.2 2000/11/21 10:15:22 maire Exp $
|
||||
# $Id: G4UI_USE.gmk,v 1.5 2001/11/13 16:00:44 johna Exp $
|
||||
# -------------------------------------------------------------
|
||||
# GNUmakefile for CPPFLAGS for interfaces USE phase.
|
||||
# John Allison, 6th July 1998.
|
||||
|
||||
########################### interfaces/basic #######################
|
||||
|
||||
ifndef G4UI_NONE
|
||||
|
||||
UILIBS :=
|
||||
|
||||
ifndef G4UI_USE_TERMINAL
|
||||
G4UI_USE_TERMINAL = 1
|
||||
endif
|
||||
# Sessions not needing external packages or libraries. These
|
||||
# libraries are always built (see G4UI_BUILD.gmk) and linked so the
|
||||
# user can instantiate one of these sessions without rebuilding the
|
||||
# libraries. For backwards compatibility with user code, as typified
|
||||
# by geant4/examples main programs, the C-pre-processor variables
|
||||
# corresponding to the original environment variables are set, but
|
||||
# there is no dependency in the Geant4 kernel; a user may instantiate
|
||||
# a session from this list without setting any environment variables.
|
||||
# However, if he/she sets no environment variables, then the
|
||||
# C-pre-processor variable G4UI_USE_TERMINAL is set by default, although
|
||||
# there is no need to use it.
|
||||
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/basic/include
|
||||
UILIBS += -lG4UIbasic
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/common/include
|
||||
UILIBS += -lG4UIcommon
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/GAG/include
|
||||
UILIBS += -lG4UIGAG
|
||||
|
||||
ifdef G4UI_USE_TERMINAL
|
||||
G4UI_USE = 1
|
||||
G4UI_USE_BASIC = 1
|
||||
G4UI_USE = 1
|
||||
CPPFLAGS += -DG4UI_USE_TERMINAL
|
||||
endif
|
||||
|
||||
ifdef G4UI_USE_TCSH
|
||||
G4UI_USE = 1
|
||||
G4UI_USE_BASIC = 1
|
||||
G4UI_USE = 1
|
||||
CPPFLAGS += -DG4UI_USE_TCSH
|
||||
endif
|
||||
|
||||
ifdef G4UI_USE_GAG
|
||||
G4UI_USE = 1
|
||||
CPPFLAGS += -DG4UI_USE_GAG
|
||||
endif
|
||||
|
||||
# Other sessions: environment variables *must* be used to control the build
|
||||
# and the usage, becuase they need external packages or libraries.
|
||||
|
||||
ifdef G4UI_USE_XM
|
||||
G4UI_USE = 1
|
||||
G4UI_USE_BASIC = 1
|
||||
G4INTY_USE_XT = 1
|
||||
INC_XM = 1
|
||||
LOAD_XM = 1
|
||||
@@ -34,7 +56,6 @@ endif
|
||||
|
||||
ifdef G4UI_USE_XAW
|
||||
G4UI_USE = 1
|
||||
G4UI_USE_BASIC = 1
|
||||
G4INTY_USE_XT = 1
|
||||
INC_XAW = 1
|
||||
LOAD_XAW = 1
|
||||
@@ -42,30 +63,15 @@ ifdef G4UI_USE_XAW
|
||||
endif
|
||||
|
||||
ifdef G4UI_USE_WIN32
|
||||
G4UI_USE = 1
|
||||
G4UI_USE_BASIC = 1
|
||||
G4UI_USE = 1
|
||||
G4INTY_USE_WIN32 = 1
|
||||
CPPFLAGS += -DG4UI_USE_WIN32
|
||||
endif
|
||||
|
||||
ifdef G4UI_USE_BASIC
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/basic/include
|
||||
UILIBS += -lG4UIbasic
|
||||
endif
|
||||
|
||||
########################### interfaces/GAG #######################
|
||||
|
||||
ifdef G4UI_USE_GAG
|
||||
G4UI_USE = 1
|
||||
CPPFLAGS += -DG4UI_USE_GAG
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/GAG/include
|
||||
UILIBS += -lG4UIGAG
|
||||
endif
|
||||
|
||||
########################### interfaces/OPACS #######################
|
||||
|
||||
ifdef G4UI_USE_WO
|
||||
G4UI_USE = 1
|
||||
G4UI_USE = 1
|
||||
G4INTY_USE_XT = 1
|
||||
CPPFLAGS += -DG4UI_USE_WO
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/OPACS/include
|
||||
@@ -76,10 +82,12 @@ endif
|
||||
|
||||
########################### interfaces/XVT - not currently implemented #####
|
||||
|
||||
########################### and finally... #######################
|
||||
##################### Default to TERMINAL if no environment variables set ##
|
||||
##################### (No need actually to use it - see above.) ############
|
||||
|
||||
ifdef G4UI_USE
|
||||
CPPFLAGS += -DG4UI_USE
|
||||
CPPFLAGS += -I$(G4BASE)/interfaces/common/include
|
||||
UILIBS += -lG4UIcommon
|
||||
ifndef G4UI_USE
|
||||
G4UI_USE = 1
|
||||
CPPFLAGS += -DG4UI_USE_TERMINAL
|
||||
endif
|
||||
|
||||
endif #G4UI_NONE
|
||||
|
||||
+14
-36
@@ -1,29 +1,28 @@
|
||||
# $Id: G4VIS_BUILD.gmk,v 1.5 2001/06/19 20:38:12 johna Exp $
|
||||
# $Id: G4VIS_BUILD.gmk,v 1.11 2001/11/06 13:16:39 johna Exp $
|
||||
# -------------------------------------------------------------
|
||||
# Visualization-specific CPPFLAGS for BUILD phase.
|
||||
# John Allison, 24th January 1998.
|
||||
# Include this *after* architecture.gmk
|
||||
# Include this *before* interactivity.gmk
|
||||
|
||||
ifndef G4VIS_NONE
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD
|
||||
|
||||
# The following drivers are built by default (no environment
|
||||
# variables needed)...
|
||||
# G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
# G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
# G4VIS_BUILD_GAGTREE_DRIVER
|
||||
# G4VIS_BUILD_HEPREPFILE_DRIVER
|
||||
# G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
# G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
|
||||
# For DAWN and DAWNFILE drivers
|
||||
ifdef G4VIS_BUILD_DAWN_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_DAWN_DRIVER
|
||||
endif
|
||||
ifdef G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_DAWNFILE_DRIVER
|
||||
endif
|
||||
# End of DAWN and DAWNFILE drivers
|
||||
|
||||
ifdef G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_RAYTRACER_DRIVER
|
||||
endif
|
||||
|
||||
ifdef G4VIS_BUILD_OPACS_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
G4INTY_BUILD_XT = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_OPACS_DRIVER
|
||||
INC_OPACS = 1
|
||||
@@ -46,7 +45,6 @@ ifdef G4VIS_BUILD_OPENGLXM_DRIVER
|
||||
CPPFLAGS += -DG4VIS_BUILD_OPENGLXM_DRIVER
|
||||
endif
|
||||
ifdef G4VIS_BUILD_OPENGL_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
INC_GL = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_OPENGL_DRIVER
|
||||
endif
|
||||
@@ -62,32 +60,12 @@ ifdef G4VIS_BUILD_OIWIN32_DRIVER
|
||||
CPPFLAGS += -DG4VIS_BUILD_OIWIN32_DRIVER
|
||||
endif
|
||||
ifdef G4VIS_BUILD_OI_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
INC_IV = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_OI_DRIVER
|
||||
endif
|
||||
|
||||
# For VRML and VRMLFILE drivers
|
||||
ifdef G4VIS_BUILD_VRML_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_VRML_DRIVER
|
||||
endif
|
||||
ifdef G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_VRMLFILE_DRIVER
|
||||
endif
|
||||
# End of VRML and VRMLFILE drivers
|
||||
|
||||
ifdef G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_ASCIITREE_DRIVER
|
||||
endif
|
||||
|
||||
ifdef G4VIS_BUILD_GAGTREE_DRIVER
|
||||
G4VIS_BUILD = 1
|
||||
CPPFLAGS += -DG4VIS_BUILD_GAGTREE_DRIVER
|
||||
endif
|
||||
|
||||
ifdef G4VIS_BUILD
|
||||
CPPFLAGS += -DG4VIS_BUILD
|
||||
endif
|
||||
endif #G4VIS_NONE
|
||||
|
||||
+46
-60
@@ -1,35 +1,44 @@
|
||||
# $Id: G4VIS_USE.gmk,v 1.5 2001/06/19 20:38:31 johna Exp $
|
||||
# $Id: G4VIS_USE.gmk,v 1.12 2001/12/03 08:09:48 barrand Exp $
|
||||
# -------------------------------------------------------------
|
||||
# GNUmakefile for CPPFLAGS for visualization USE phase.
|
||||
# John Allison, 24th January 1998.
|
||||
|
||||
ifndef G4VIS_NONE
|
||||
|
||||
ifndef VISLIBS
|
||||
VISLIBS :=
|
||||
endif
|
||||
|
||||
ifdef G4VIS_USE_DAWN
|
||||
G4VIS_USE_DAWN_OR_DAWNFILE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_DAWN
|
||||
endif
|
||||
ifdef G4VIS_USE_DAWNFILE
|
||||
G4VIS_USE_DAWN_OR_DAWNFILE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_DAWNFILE
|
||||
endif
|
||||
ifdef G4VIS_USE_DAWN_OR_DAWNFILE
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/FukuiRenderer/include
|
||||
VISLIBS += -lG4FR
|
||||
endif
|
||||
# Not needing external packages or libraries...
|
||||
# Set old USE C-pre-processor flags for backwards compatibility of user code...
|
||||
|
||||
ifdef G4VIS_USE_RAYTRACER
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_RAYTRACER
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/RayTracer/include
|
||||
VISLIBS += -lG4RayTracer
|
||||
CPPFLAGS += -DG4VIS_USE_DAWNFILE
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/FukuiRenderer/include
|
||||
VISLIBS += -lG4FR
|
||||
|
||||
CPPFLAGS += -DG4VIS_USE_HEPREPFILE
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/HepRep/include
|
||||
VISLIBS += -lG4visHepRep
|
||||
|
||||
CPPFLAGS += -DG4VIS_USE_RAYTRACER
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/RayTracer/include
|
||||
VISLIBS += -lG4RayTracer
|
||||
|
||||
CPPFLAGS += -DG4VIS_USE_VRMLFILE
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/VRML/include
|
||||
VISLIBS += -lG4VRML
|
||||
|
||||
CPPFLAGS += -DG4VIS_USE_ASCIITREE
|
||||
CPPFLAGS += -DG4VIS_USE_GAGTREE
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/Tree/include
|
||||
VISLIBS += -lG4Tree
|
||||
|
||||
ifdef G4VIS_USE_DAWN
|
||||
CPPFLAGS += -DG4VIS_USE_DAWN
|
||||
# CPPFLAGS += -I... and VISLIBS += set above.
|
||||
endif
|
||||
|
||||
ifdef G4VIS_USE_OPACS
|
||||
G4VIS_USE = 1
|
||||
INC_OPACS = 1
|
||||
LOAD_OPACS = 1
|
||||
CPPFLAGS += -DG4VIS_USE_OPACS
|
||||
@@ -50,7 +59,6 @@ ifdef G4VIS_USE_OPENGLXM
|
||||
LOAD_XM = 1
|
||||
endif
|
||||
ifdef G4VIS_USE_OPENGL
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_OPENGL
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/OpenGL/include
|
||||
VISLIBS += -lG4OpenGL
|
||||
@@ -69,7 +77,6 @@ ifdef G4VIS_USE_OIWIN32
|
||||
CPPFLAGS += -DG4VIS_USE_OIWIN32
|
||||
endif
|
||||
ifdef G4VIS_USE_OI
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_OI
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/OpenInventor/include
|
||||
VISLIBS += -lG4OpenInventor
|
||||
@@ -78,47 +85,26 @@ ifdef G4VIS_USE_OI
|
||||
endif
|
||||
|
||||
ifdef G4VIS_USE_VRML
|
||||
G4VIS_USE_VRML_OR_VRMLFILE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_VRML
|
||||
endif
|
||||
ifdef G4VIS_USE_VRMLFILE
|
||||
G4VIS_USE_VRML_OR_VRMLFILE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_VRMLFILE
|
||||
endif
|
||||
ifdef G4VIS_USE_VRML_OR_VRMLFILE
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/VRML/include
|
||||
VISLIBS += -lG4VRML
|
||||
# CPPFLAGS += -I... and VISLIBS += set above.
|
||||
endif
|
||||
|
||||
ifdef G4VIS_USE_ASCIITREE
|
||||
G4VIS_USE_TREE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_ASCIITREE
|
||||
endif
|
||||
ifdef G4VIS_USE_GAGTREE
|
||||
G4VIS_USE_TREE = 1
|
||||
CPPFLAGS += -DG4VIS_USE_GAGTREE
|
||||
endif
|
||||
ifdef G4VIS_USE_TREE
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/Tree/include
|
||||
VISLIBS += -lG4Tree
|
||||
endif
|
||||
########################### and finally... #######################
|
||||
|
||||
ifdef G4VIS_USE
|
||||
ifdef G4_SOLVE_TEMPLATES
|
||||
G4_SOLVE_VIS_TEMPLATES = 1
|
||||
endif
|
||||
ifdef GNU_GCC
|
||||
G4_SOLVE_VIS_TEMPLATES = 1
|
||||
endif
|
||||
ifdef G4_SOLVE_VIS_TEMPLATES
|
||||
CPPFLAGS += -DG4_SOLVE_VIS_TEMPLATES
|
||||
endif
|
||||
CPPFLAGS += -DG4VIS_USE
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/management/include
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/modeling/include
|
||||
VISLIBS += -lG4vis_management
|
||||
VISLIBS += -lG4modeling
|
||||
G4VIS_USE = 1
|
||||
CPPFLAGS += -DG4VIS_USE
|
||||
ifdef G4_SOLVE_TEMPLATES
|
||||
G4_SOLVE_VIS_TEMPLATES = 1
|
||||
endif
|
||||
ifdef GNU_GCC
|
||||
G4_SOLVE_VIS_TEMPLATES = 1
|
||||
endif
|
||||
ifdef G4_SOLVE_VIS_TEMPLATES
|
||||
CPPFLAGS += -DG4_SOLVE_VIS_TEMPLATES
|
||||
endif
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/management/include
|
||||
CPPFLAGS += -I$(G4BASE)/visualization/modeling/include
|
||||
VISLIBS += -lG4vis_management
|
||||
VISLIBS += -lG4modeling
|
||||
|
||||
endif # G4VIS_NONE
|
||||
|
||||
+175
-2
@@ -1,5 +1,5 @@
|
||||
$Id: History,v 1.149 2001/06/29 12:49:25 gcosmo Exp $
|
||||
$Name: $
|
||||
$Id: History,v 1.177 2001/12/14 08:37:39 gcosmo Exp $
|
||||
$Name: geant4-04-00 $
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
@@ -18,6 +18,179 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
10th December 2001 Gabriele Cosmo (config-V03-02-15)
|
||||
- architecture.gmk:
|
||||
o updated list of supported compilers
|
||||
o removed obsolete setup for STL ObjectSpace and STLport for Win/VC++.
|
||||
- binmake.gmk: activated mechanism for using $G4INCLUDE effectively for
|
||||
building examples/applications. Currently activated only for global compound
|
||||
libraries; for granular libraries it requires re-engineering of liblist,
|
||||
feature which will be added in future.
|
||||
This mechanism allows to considerably reduce the compilation/linking command
|
||||
length and the number of -I options fed to the compiler.
|
||||
- Added G4PROFILE options to Linux-g++ and Linux-egcs setups.
|
||||
- Removed binmake.EXTRALIBS.README, now part of User's Guide.
|
||||
- Updated sources for Configure installation script.
|
||||
|
||||
3rd December 2001 Guy Barrand (config-V03-02-14)
|
||||
- G4VIS_USE.gmk : -lG4HepRep replaced by -lG4visHepRep.
|
||||
|
||||
29th November 2001 Gabriele Cosmo (config-V03-02-13)
|
||||
- Removed SUN-CC5.gmk configuration file. Now replaced by SUN-CC architecture
|
||||
|
||||
21st Novemver 2001 Gabriele Cosmo (config-V03-02-12)
|
||||
- On top of "config-V03-02-11", added paths in binmake.gmk including
|
||||
new hadronic models for cascade, CHIPS and coherent_elastic.
|
||||
Does not include changes to analysis.gmk.
|
||||
|
||||
19th November 2001 Guy Barrand
|
||||
- analysis.gmk : then remove all system specifc flags, have
|
||||
only the AIDA ones. Have G4ANALYSIS_USE to drive the insertion of
|
||||
CPP and libs in the Geant4 GNUmakefile system.
|
||||
|
||||
19th November 2001 John Allison (config-V03-02-11)
|
||||
- Does not include Guy's changes of 16rd November.
|
||||
- Re-instated creation of CPPFLAGS (see 6th November) but conditonal
|
||||
on existence of corresponding environment variable. If no environmet
|
||||
variable is set, CPPFLAGS += -DG4UI_USE_TERMINAL.
|
||||
|
||||
16rd November 2001 Guy Barrand
|
||||
- analysis.gmk : add flags to use an AIDA 2.2 compliant analysis system.
|
||||
|
||||
6th November 2001 John Allison (config-V03-02-10)
|
||||
- Removed CPPFLAGS += -DG4UI_USE_GAG -DG4UI_USE_TCSH -DG4UI_USE_TERMINAL.
|
||||
|
||||
6th November 2001 John Allison (config-V03-02-09)
|
||||
- Removed references to HepRep, added code for HepRepFile, thus
|
||||
needed by vis-V03-02-15.
|
||||
|
||||
23rd October 2001 Gabriele Cosmo (config-V03-02-08)
|
||||
- Merged changes in "config-V03-02-07" for removal of STLInterface.
|
||||
|
||||
22nd October 2001 Gabriele Cosmo (config-V03-02-06b)
|
||||
- binmake.gmk: added include path for geometry/verification
|
||||
according to tag "geometry-V03-02-01".
|
||||
|
||||
1st October 2001 Gabriele Cosmo (config-V03-02-06a)
|
||||
- binmake.gmk: removed include path for processes/electromagnetic/integral
|
||||
according to tag "em-V03-02-02".
|
||||
|
||||
30th September 2001 Gabriele Cosmo (config-V03-02-07)
|
||||
- Removed references to STLInterface module in architecture.gmk
|
||||
and architecture setups. Coworks with tag "global-V03-02-03" where
|
||||
STLInterface module has been removed.
|
||||
|
||||
29th August 2001 John Allison/Joseph Perl (config-V03-02-06)
|
||||
- Needed by vis-V03-02-14.
|
||||
- First developers release of HepRep graphics driver.
|
||||
|
||||
27th August 2001 John Allison
|
||||
- Tidied HepRep configuration in G4VIS*, moving stuff to interactivity.gmk.
|
||||
|
||||
24th August 2001 Joseph Perl (config-V03-02-05)
|
||||
- Introduced HepRep graphics driver
|
||||
|
||||
11th August 2001 John Allison (config-V03-02-04)
|
||||
- Re-engineered G4UI variables. Coworks with interfaces-V03-02-00.
|
||||
- Introduced environment variable G4UI_NONE that, if set, no UI
|
||||
sessions nor any UI libraries are built, not even libG4UIbasic.a nor
|
||||
libG4UIcommon.a. (This would only happen in a pure batch job or,
|
||||
perhaps, in a user framework having its own UI system.)
|
||||
- Removed the need to specify environment variables for UI sessions
|
||||
which do not need external packages or libraries, namely :
|
||||
G4UI_BUILD_GAG_SESSION
|
||||
G4UI_BUILD_TERMINAL_SESSION
|
||||
with associated G4UI_USE environment variables:
|
||||
G4UI_USE_GAG
|
||||
G4UI_USE_TCSH
|
||||
G4UI_USE_TERMINAL
|
||||
In other words, the above environment variables become redundant and are
|
||||
ignored.
|
||||
For backwards compatibility, unless G4UI_NONE is set, the corresponding
|
||||
G4UI_USE C-pre-processor variables are automatically set. Also, the
|
||||
C-pre-processor variables G4UI_BUILD and G4UI_USE are set.
|
||||
- As before, environment variables for other sessions still need positive
|
||||
setting of their G4UI_BUILD and G4UI_USE environment variables. In this
|
||||
category are:
|
||||
G4UI_BUILD_WIN32_SESSION
|
||||
G4UI_BUILD_WO_SESSION
|
||||
G4UI_BUILD_XAW_SESSION
|
||||
G4UI_BUILD_XM_SESSION
|
||||
with associated G4UI_USE environment variables:
|
||||
G4UI_USE_WIN32
|
||||
G4UI_USE_WO
|
||||
G4UI_USE_XAW
|
||||
G4UI_USE_XM
|
||||
- Note: The user must still instantiate and SessionStart only *one*
|
||||
session, but if it is to be one in the category needing external
|
||||
packages or libraries, the corresponding G4UI_USE must be set to
|
||||
trigger inclusion oflibraries. Otherwise the user need not set any
|
||||
environment variables.
|
||||
|
||||
3rd August 2001 Gabriele Cosmo (config-V03-02-03)
|
||||
- architecture.gmk:
|
||||
o updated list of supported systems/compilers.
|
||||
o made Linux-g++ architecture the default G4SYSTEM. Replaced SUN-CC.
|
||||
- Added SUN-CC4.gmk for old SUN architectures based on CC-4.2 compiler.
|
||||
- Added Linux-egcs for old Linux architectures based on egcs-1.1.2 compiler.
|
||||
- Made SUN-CC.gmk a copy of SUN-CC5.gmk (kept for backward compatibility,
|
||||
will be removed soon). CC-5.2 compiler is now the default on SUN systems.
|
||||
- Made Linux-g++.gmk specific to gcc-2.95.2 compiler, from now on the default
|
||||
compiler on Linux systems.
|
||||
|
||||
1st August 2001 Gabriele Cosmo (config-V03-02-02)
|
||||
- Included recent updates to scripts sources for 'Configure'.
|
||||
|
||||
27th July 2001 John Allison (config-V03-02-01)
|
||||
- Introduced environment variable G4VIS_NONE that, if set, no visualization
|
||||
drivers are built and no vis libraries are built, not even
|
||||
libG4vis_management. (libG4modeling is still built.) The C-pre-processor
|
||||
variables G4VIS_BUILD and G4VIS_USE are *not* set.
|
||||
- Removed the need to specify environment variables for visualization drivers
|
||||
which do not need external packages or libraries, namely :
|
||||
G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
G4VIS_BUILD_GAGTREE_DRIVER
|
||||
with associated G4VIS_USE environment variables:
|
||||
G4VIS_USE_DAWNFILE
|
||||
G4VIS_USE_RAYTRACER
|
||||
G4VIS_USE_VRMLFILE
|
||||
G4VIS_USE_ASCIITREE
|
||||
G4VIS_USE_GAGTREE
|
||||
In other words, the above environment variables become redundant and are
|
||||
ignored.
|
||||
For backwards compatibility, unless G4VIS_NONE is set, the corresponding
|
||||
G4VIS_USE C-pre-processor variables are automatically set. Also, the
|
||||
C-pre-processor variables G4VIS_BUILD and G4VIS_USE are set.
|
||||
- As before, environment variables for other drivers still need positive
|
||||
setting of their G4VIS_BUILD and G4VIS_USE environment variables. In this
|
||||
category are:
|
||||
G4VIS_BUILD_DAWN_DRIVER
|
||||
G4VIS_BUILD_OPACS_DRIVER
|
||||
G4VIS_BUILD_OPENGLX_DRIVER
|
||||
G4VIS_BUILD_OPENGLWIN32_DRIVER
|
||||
G4VIS_BUILD_OPENGLXM_DRIVER
|
||||
G4VIS_BUILD_OIX_DRIVER
|
||||
G4VIS_BUILD_OIWIN32_DRIVER
|
||||
G4VIS_BUILD_VRML_DRIVER
|
||||
with associated G4VIS_USE environment variables:
|
||||
G4VIS_USE_DAWN
|
||||
G4VIS_USE_OPACS
|
||||
G4VIS_USE_OPENGLX
|
||||
G4VIS_USE_OPENGLWIN32
|
||||
G4VIS_USE_OPENGLXM
|
||||
G4VIS_USE_OIX
|
||||
G4VIS_USE_OIWIN32
|
||||
G4VIS_USE_VRML
|
||||
In this case G4VIS_NONE must *not* be set.
|
||||
- Added binmake.EXTRALIBS.README.
|
||||
|
||||
5th July 2001 Youhei Morita (config-V03-02-00)
|
||||
- Linux-g++.gmk: Use -pedantic (G.Cosmo)
|
||||
- Linux-g++.gmk, SUN-CC.gmk, SUN-CC5.gmk: added -DG4std in G4DDLX_FLAGS
|
||||
|
||||
29th June 2001 Gabriele Cosmo (config-V03-01-10)
|
||||
- Updated source scripts for 'Configure'.
|
||||
|
||||
|
||||
+4
-141
@@ -3,150 +3,13 @@
|
||||
# Analysis variables...
|
||||
#
|
||||
|
||||
# -----------------------------------
|
||||
ANALYSISLIBS :=
|
||||
|
||||
ifdef G4ANALYSIS_USE
|
||||
CPPFLAGS += -DG4ANALYSIS_USE
|
||||
G4ANALYSIS_BUILD = 1
|
||||
endif
|
||||
|
||||
ifdef G4ANALYSIS_BUILD
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD
|
||||
INC_ANALYSIS = 1
|
||||
LIB_ANALYSIS = 1
|
||||
endif
|
||||
|
||||
# ------------- Lab -----------------
|
||||
ifdef G4ANALYSIS_USE_LAB
|
||||
CPPFLAGS += -DG4ANALYSIS_USE_LAB
|
||||
CPPFLAGS += -DG4ANALYSIS_USE
|
||||
G4ANALYSIS_BUILD_LAB = 1
|
||||
endif
|
||||
|
||||
ifdef G4ANALYSIS_BUILD_LAB
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD_LAB
|
||||
INC_ANALYSIS = 1
|
||||
LIB_ANALYSIS = 1
|
||||
INC_LAB = 1
|
||||
LIB_LAB = 1
|
||||
endif
|
||||
|
||||
# ------------- jas -----------------
|
||||
ifdef G4ANALYSIS_USE_JAS
|
||||
CPPFLAGS += -DG4ANALYSIS_USE_JAS
|
||||
CPPFLAGS += -DG4ANALYSIS_USE
|
||||
G4ANALYSIS_BUILD_JAS = 1
|
||||
endif
|
||||
|
||||
ifdef G4ANALYSIS_BUILD_JAS
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD_JAS
|
||||
INC_ANALYSIS = 1
|
||||
LIB_ANALYSIS = 1
|
||||
INC_JAS = 1
|
||||
LIB_JAS = 1
|
||||
endif
|
||||
|
||||
# ------------- Lizard -----------------
|
||||
ifdef G4ANALYSIS_USE_LIZARD
|
||||
CPPFLAGS += -DG4ANALYSIS_USE_LIZARD
|
||||
CPPFLAGS += -DG4ANALYSIS_USE
|
||||
G4ANALYSIS_BUILD_LIZARD = 1
|
||||
endif
|
||||
|
||||
ifdef G4ANALYSIS_BUILD_LIZARD
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD
|
||||
CPPFLAGS += -DG4ANALYSIS_BUILD_LIZARD
|
||||
INC_ANALYSIS = 1
|
||||
LIB_ANALYSIS = 1
|
||||
INC_LIZARD = 1
|
||||
LIB_LIZARD = 1
|
||||
endif
|
||||
|
||||
# ------------- Else ---------------
|
||||
|
||||
ifdef G4ANALYSIS_NON_AIDA
|
||||
CPPFLAGS += -DG4ANALYSIS_NON_AIDA
|
||||
endif
|
||||
|
||||
# ------------- Hook packages -----------------
|
||||
ANALYSISLIBS :=
|
||||
#
|
||||
ifdef INC_ANALYSIS
|
||||
CPPFLAGS += -I$(G4BASE)/analysis/management/include
|
||||
# AIDA interfaces :
|
||||
ifdef G4ANALYSIS_AIDA
|
||||
CPPFLAGS += -I$(G4ANALYSIS_AIDA)
|
||||
endif
|
||||
endif
|
||||
#
|
||||
ifdef LIB_LAB
|
||||
ANALYSISLIBS += -lG4Lab
|
||||
endif
|
||||
ifdef LIB_JAS
|
||||
ANALYSISLIBS += -lG4jas
|
||||
endif
|
||||
ifdef LIB_LIZARD
|
||||
ANALYSISLIBS += -lG4Lizard
|
||||
endif
|
||||
ifdef LIB_ANALYSIS
|
||||
ANALYSISLIBS += -lG4analysis_management
|
||||
endif
|
||||
#
|
||||
# ------------- Lab -----------------
|
||||
ifdef INC_LAB
|
||||
CPPFLAGS += -I$(G4BASE)/analysis/Lab/include
|
||||
CPPFLAGS += -I$(LIBROOT)/include -I$(HCLROOT)/include -I$(LABROOT)/include
|
||||
CPPFLAGS += -DHasRio
|
||||
ifdef G4ANALYSIS_LAB_VISUALIZATION
|
||||
CPPFLAGS += -DG4ANALYSIS_LAB_VISUALIZATION
|
||||
CPPFLAGS += -I$(ONXROOT)/include
|
||||
INC_XM = 1
|
||||
endif
|
||||
endif
|
||||
#
|
||||
ifdef LIB_LAB
|
||||
ifdef G4ANALYSIS_LAB_VISUALIZATION
|
||||
ANALYSISLIBS += $(ONXROOT)/$(ONXCONFIG)/XmUI.o
|
||||
ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnXInventorXt
|
||||
ANALYSISLIBS += -L$(HEPVISROOT)/$(HEPVISCONFIG) -lHEPVisXt
|
||||
ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnXInventor
|
||||
ANALYSISLIBS += -L$(ONXROOT)/$(ONXCONFIG) -lOnX
|
||||
ANALYSISLIBS += -L$(EXPATROOT)/$(EXPATCONFIG) -lexpat
|
||||
ANALYSISLIBS += -L$(SOFREEROOT)/$(SOFREECONFIG) -lSoFreeXt
|
||||
ANALYSISLIBS += -L$(HEPVISROOT)/$(HEPVISCONFIG) -lHEPVis
|
||||
ANALYSISLIBS += -L$(SOFREEROOT)/$(SOFREECONFIG) -lSoFree
|
||||
LIB_XM = 1
|
||||
LIB_GL = 1
|
||||
endif
|
||||
ANALYSISLIBS += -L$(LABROOT)/$(LABCONFIG) -lLab
|
||||
ANALYSISLIBS += -L$(RIOGRANDEROOT)/$(RIOGRANDECONFIG) -lRioTree -lRioBed
|
||||
ANALYSISLIBS += -L$(CINTROOT)/$(CINTCONFIG) -lcint
|
||||
ANALYSISLIBS += -L$(HCLROOT)/$(HCLCONFIG) -lHCL
|
||||
ANALYSISLIBS += -L$(MIDNIGHTROOT)/$(MIDNIGHTCONFIG) -lMidnight
|
||||
ANALYSISLIBS += -L$(LIBROOT)/$(LIBCONFIG) -lLib
|
||||
ANALYSISLIBS += $(DLDLIBS)
|
||||
endif
|
||||
#
|
||||
# ------------- jas -----------------
|
||||
ifdef INC_JAS
|
||||
CPPFLAGS += -I$(G4BASE)/analysis/jas/include
|
||||
CPPFLAGS += -I$(JDKHOME)/include -I$(JDKHOME)/include/linux
|
||||
endif
|
||||
#
|
||||
ifdef LIB_JAS
|
||||
ANALYSISLIBS += -L$(JDKHOME)/jre/lib/i386/classic -L$(JDKHOME)/jre/lib/i386/native_threads -ljvm -lhpi
|
||||
endif
|
||||
|
||||
# ------------- Lizard -----------------
|
||||
ifdef INC_LIZARD
|
||||
CPPFLAGS += -I$(G4BASE)/analysis/Lizard/include
|
||||
CPPFLAGS += -I$(LIZARDROOT)/include
|
||||
endif
|
||||
#
|
||||
ifdef LIB_LIZARD
|
||||
ANALYSISLIBS += -L$(LIZARDROOT)/lib -lAIDA_HTL -lT_Histoxx -lVector -lAIDA_Annotation -lAIDA_Plotter -lqp -lqpview -lqpqwt -lqt -lHepUtilities
|
||||
CPPFLAGS += $(G4ANALYSIS_AIDA_CONFIG_CFLAGS)
|
||||
ANALYSISLIBS += $(G4ANALYSIS_AIDA_CONFIG_LIBS)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
+14
-44
@@ -1,4 +1,4 @@
|
||||
# $Id: architecture.gmk,v 1.71 2001/05/30 15:04:13 gunter Exp $
|
||||
# $Id: architecture.gmk,v 1.77 2001/12/11 15:31:11 gcosmo Exp $
|
||||
# ------------------------------------------------------------------------
|
||||
# GEANT 4 - Architecture configuration script for GNU Make
|
||||
#
|
||||
@@ -13,18 +13,16 @@
|
||||
# List of the supported architectures/compilers and related flavors for
|
||||
# the environment variable G4SYSTEM:
|
||||
#
|
||||
# SUN-CC SunOS 5.6, CC 4.2 compiler (default)
|
||||
# Linux-g++ Linux (Red Hat 6.1), gcc-2.95.2 (default)
|
||||
#
|
||||
# HP-aCC HP-UX 10.20, aCC A.01.23 compiler
|
||||
# Linux-egcs Linux (Red Hat 6.1), egcs-1.1.2
|
||||
#
|
||||
# SUN-CC SunOS 5.7, CC 5.2
|
||||
#
|
||||
# DEC-cxx DEC-OSF/1 4.0, DEC C++ 6.1
|
||||
#
|
||||
# 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...)
|
||||
# Note: you will need to set your environment, see the
|
||||
# installation guide.
|
||||
# WIN32-VC Windows/2000 and Microsoft Visual C++ 6.0 - SP5
|
||||
# Adding CYGWIN32 tools
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# Definition of HEP_ODBMS_LIBS, OBJY_LIBS and OSPACE_LIBS by HepODBMS.
|
||||
@@ -39,13 +37,10 @@ endif
|
||||
|
||||
MAKEFLAGS= --no-print-directory
|
||||
|
||||
# If not specified, the default platform for G4SYSTEM is SUN-CC ...
|
||||
# If not specified, the default platform for G4SYSTEM is Linux-g++ ...
|
||||
#
|
||||
ifndef G4SYSTEM
|
||||
G4SYSTEM := SUN-CC
|
||||
endif
|
||||
ifeq ($(G4SYSTEM),WIN32-VC-NICE)
|
||||
G4SYSTEM := WIN32-VC
|
||||
G4SYSTEM := Linux-g++
|
||||
endif
|
||||
|
||||
# If not specified, the default path for G4 installation G4INSTALL is
|
||||
@@ -201,12 +196,11 @@ endif
|
||||
# Native STL is the default
|
||||
#
|
||||
CPPFLAGS += -DG4USE_STL
|
||||
G4STLINC := $(G4BASE)/global/STLInterface
|
||||
|
||||
# Path to ObjectSpace STL (or STLport <- only test for Win/NT)
|
||||
# Path to ObjectSpace STL (NOT supported. Kept for backward compatibility)
|
||||
#
|
||||
ifdef G4USE_OSPACE
|
||||
|
||||
#
|
||||
# ObjectSpace STL implementation
|
||||
#
|
||||
ifndef OSPACE_BASE_DIR
|
||||
@@ -214,31 +208,7 @@ ifdef G4USE_OSPACE
|
||||
endif
|
||||
OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl
|
||||
OSPACELIBS := -L$(OSPACE_BASE_DIR)/lib -lospace
|
||||
|
||||
ifeq ($(G4SYSTEM),WIN32-VC)
|
||||
OSPACE_BASE_DIR := $(OBJECT_SPACE_BASE)
|
||||
OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl -I$(OSPACE_BASE_DIR)
|
||||
OSPACELIBS := '-libpath':$(OSPACE_BASE_DIR)/lib std-2.1-vc5.0-mt.lib
|
||||
CPPFLAGS += -DG4USE_OLDSTL
|
||||
CPPFLAGS += -DOS_WIN_NT_4_0 -DOS_MULTI_THREADED -D_WIN32_WINNT $(OSPACEINC)
|
||||
endif
|
||||
|
||||
else
|
||||
ifdef G4USE_STLPORT
|
||||
|
||||
# STLport STL implementation
|
||||
# (derived from SGI implementation) - TEST on WIN32
|
||||
#
|
||||
ifeq ($(G4SYSTEM),WIN32-VC)
|
||||
STLPORT_BASE_DIR := $(STLPORT_BASE)
|
||||
OSPACEINC := -I$(STLPORT_BASE_DIR)/stl
|
||||
CPPFLAGS += -DG4USE_OLDSTL
|
||||
CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES
|
||||
CPPFLAGS += -D__STL_NO_NEW_STYLE_HEADERS
|
||||
endif
|
||||
|
||||
endif #STLport
|
||||
endif #OPSPACE
|
||||
endif #OSPACE
|
||||
|
||||
# Paths for G4 data
|
||||
#
|
||||
@@ -284,7 +254,7 @@ endif
|
||||
|
||||
# Variables for implicit rules, etc., as suggested in GNU Make manual...
|
||||
#
|
||||
CPPFLAGS += -Iinclude -I$(G4STLINC)
|
||||
CPPFLAGS += -Iinclude
|
||||
CPPFLAGS += -I$(CLHEP_INCLUDE_DIR)
|
||||
|
||||
# Positional qualifiers in action...
|
||||
@@ -345,7 +315,7 @@ endif
|
||||
# coherent we set in Geant4 the default toolkit to lesstif
|
||||
# on Linux in order to link with -lXaw, etc...
|
||||
ifndef G4_OPACS_WIDGET_SET
|
||||
ifeq ($(G4SYSTEM),Linux-g++)
|
||||
ifeq ($(findstring Linux,$(G4SYSTEM)),Linux)
|
||||
G4_OPACS_WIDGET_SET := lesstif
|
||||
else
|
||||
G4_OPACS_WIDGET_SET := Xm
|
||||
|
||||
+41
-28
@@ -1,4 +1,4 @@
|
||||
# $Id: binmake.gmk,v 1.63 2001/06/22 16:11:21 gcosmo Exp $
|
||||
# $Id: binmake.gmk,v 1.74 2001/12/13 11:36:05 gcosmo Exp $
|
||||
# ----------------------------------------------------------
|
||||
# Script defining rules and paths for making binaries.
|
||||
# First implementation: Gabriele Cosmo, 25/06/1998.
|
||||
@@ -10,20 +10,39 @@ endif
|
||||
|
||||
G4LIBDIR := $(G4LIB)/$(G4SYSTEM)
|
||||
|
||||
# Define variable checking for existence of centrally installed headers.
|
||||
# If check will be true, avoid explicit definition of paths to INCFLAGS.
|
||||
#
|
||||
# G4INCLUDE_EXEC := $(shell [ -r $(G4INCLUDE)/globals.hh ] && echo 1)
|
||||
|
||||
include $(G4INSTALL)/config/G4UI_USE.gmk
|
||||
include $(G4INSTALL)/config/G4VIS_USE.gmk
|
||||
include $(G4INSTALL)/config/interactivity.gmk
|
||||
include $(G4INSTALL)/config/analysis.gmk
|
||||
|
||||
ifndef G4LIB_USE_GRANULAR
|
||||
GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.a && echo yes)
|
||||
ifndef GLOBALLIBS
|
||||
GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes)
|
||||
SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef SHAREDLIBS
|
||||
SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4globman.$(SHEXT) && echo yes)
|
||||
endif
|
||||
|
||||
# Define variable checking for existence of centrally installed headers,
|
||||
# and global compound libraries installed (in future, the mechanism will
|
||||
# be extended to the granular libraries as well. The liblist application
|
||||
# must be re-engineered for that).
|
||||
# If check will be true, avoid explicit definition of paths to INCFLAGS.
|
||||
#
|
||||
ifndef GLOBALLIBS
|
||||
G4INCLUDE_EXEC := 0
|
||||
else
|
||||
G4INCLUDE_EXEC := $(shell [ -r $(G4INCLUDE)/globals.hh ] && echo 1)
|
||||
endif
|
||||
|
||||
ifndef INCFLAGS
|
||||
# ifeq ($(G4INCLUDE_EXEC),1)
|
||||
# INCFLAGS := -I$(G4INCLUDE)
|
||||
# else
|
||||
ifeq ($(G4INCLUDE_EXEC),1)
|
||||
INCFLAGS := -I$(G4INCLUDE)
|
||||
else
|
||||
INCFLAGS := \
|
||||
-I$(G4BASE)/global/management/include \
|
||||
-I$(G4BASE)/global/HEPRandom/include \
|
||||
@@ -47,7 +66,6 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/processes/parameterisation/include \
|
||||
-I$(G4BASE)/processes/photolepton_hadron/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/standard/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/integral/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/muons/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/utils/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/xrays/include \
|
||||
@@ -56,6 +74,11 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/processes/hadronic/processes/include \
|
||||
-I$(G4BASE)/processes/hadronic/util/include \
|
||||
-I$(G4BASE)/processes/hadronic/cross_sections/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/cascade/utils/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/body/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/interface/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/generator/de_excitation/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/generator/diffractive_string/include \
|
||||
-I$(G4BASE)/processes/hadronic/models/generator/high_energy/include \
|
||||
@@ -80,6 +103,7 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/geometry/solids/STEP/include \
|
||||
-I$(G4BASE)/geometry/solids/STEPinterface/include \
|
||||
-I$(G4BASE)/geometry/volumes/include \
|
||||
-I$(G4BASE)/geometry/verification/include \
|
||||
-I$(G4BASE)/geometry/magneticfield/include \
|
||||
-I$(G4BASE)/track/include \
|
||||
-I$(G4BASE)/tracking/include \
|
||||
@@ -91,11 +115,11 @@ ifndef INCFLAGS
|
||||
-I$(G4BASE)/graphics_reps/include \
|
||||
-I$(G4BASE)/intercoms/include \
|
||||
-I$(G4BASE)/g3tog4/include
|
||||
# endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef G4ODBMS
|
||||
# ifneq ($(G4INCLUDE_EXEC),1)
|
||||
ifneq ($(G4INCLUDE_EXEC),1)
|
||||
INCFLAGS += \
|
||||
-I$(G4BASE)/persistency/global/include \
|
||||
-I$(G4BASE)/persistency/digits+hits/hits/include \
|
||||
@@ -104,27 +128,16 @@ ifdef G4ODBMS
|
||||
-I$(G4BASE)/persistency/geometry/global/include \
|
||||
-I$(G4BASE)/persistency/geometry/solids/CSG/include \
|
||||
-I$(G4BASE)/persistency/geometry/solids/Boolean/include \
|
||||
-I$(G4BASE)/persistency/geometry/solids/specific/include \
|
||||
-I$(G4BASE)/persistency/geometry/management/include \
|
||||
-I$(G4BASE)/persistency/management/include
|
||||
# endif
|
||||
INCFLAGS += -I$(G4SCHEMA_INCLUDE) \
|
||||
-I$(OBJY_DIR)/include \
|
||||
-I$(G4BASE)/persistency/management/include \
|
||||
-I$(G4SCHEMA_INCLUDE)
|
||||
endif
|
||||
INCFLAGS += -I$(OBJY_DIR)/include \
|
||||
-I$(HEP_ODBMS_DIR)/include \
|
||||
-DHep_HAS_BUILDIN_BOOL_CONSTANTS
|
||||
endif
|
||||
|
||||
ifndef G4LIB_USE_GRANULAR
|
||||
GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.a && echo yes)
|
||||
ifndef GLOBALLIBS
|
||||
GLOBALLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes)
|
||||
SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4global.$(SHEXT) && echo yes)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef SHAREDLIBS
|
||||
SHAREDLIBS := $(shell test -f $(G4LIB)/$(G4SYSTEM)/libG4globman.$(SHEXT) && echo yes)
|
||||
endif
|
||||
|
||||
CPPFLAGS += $(INCFLAGS)
|
||||
LDFLAGS += -L$(G4LIBDIR)
|
||||
|
||||
|
||||
+211
-404
@@ -26,502 +26,309 @@ $spitshell >env.csh <<!GROK!THIS!
|
||||
#
|
||||
# g4system.U
|
||||
#
|
||||
set G4SYSTEM="$g4system"
|
||||
#+
|
||||
setenv G4SYSTEM "$g4system"
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
#
|
||||
# g4dirs.U
|
||||
#
|
||||
set G4INSTALL="$g4install"
|
||||
set G4INCLUDE="$g4include"
|
||||
set G4BASE="$g4base"
|
||||
set G4WORKDIR="$g4workdir"
|
||||
set G4TMP="$g4tmp"
|
||||
set G4LIB="$g4lib"
|
||||
set G4BIN="$g4bin"
|
||||
set G4DATA="$g4data"
|
||||
set G4LEVELGAMMADATA="$g4levelgammadata"
|
||||
#+
|
||||
set G4RADIOACTIVEDATA="$g4radioactivedata"
|
||||
setenv G4INSTALL "$g4install"
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
|
||||
#+
|
||||
set G4LEDATA="$g4ledata"
|
||||
if ( X$g4include != X ) then
|
||||
setenv G4INCLUDE "$g4include"
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
endif
|
||||
|
||||
#+
|
||||
set NeutronHPCrossSections="$g4neutronhpcrosssections"
|
||||
if ( X$g4lib != X ) then
|
||||
setenv G4LIB "$g4lib"
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4levelgammadata != X ) then
|
||||
setenv G4LEVELGAMMADATA "$g4levelgammadata"
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4radioactivedata != X ) then
|
||||
setenv G4RADIOACTIVEDATA "$g4radioactivedata"
|
||||
echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ledata != X ) then
|
||||
setenv G4LEDATA "$g4ledata"
|
||||
echo "On this machine the G4LEDATA=\$G4LEDATA"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4neutronhpcrosssections != X ) then
|
||||
setenv NeutronHPCrossSections "$g4neutronhpcrosssections"
|
||||
echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections"
|
||||
endif
|
||||
|
||||
#
|
||||
# g4clhep.U
|
||||
#
|
||||
set CLHEP_BASE_DIR="$g4clhep_base_dir"
|
||||
set CLHEP_INCLUDE_DIR="$g4clhep_include_dir"
|
||||
set set CLHEP_LIB_DIR="$g4clhep_lib_dir"
|
||||
set CLHEP_LIB="$g4clhep_lib"
|
||||
|
||||
#
|
||||
# g4ospace
|
||||
#
|
||||
if ( X$g4use_ospace == Xy ) then
|
||||
set G4USE_OSPACE=1
|
||||
else
|
||||
set G4USE_OSPACE=""
|
||||
if ( X$g4clhep_base_dir != X ) then
|
||||
setenv CLHEP_BASE_DIR "$g4clhep_base_dir"
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
endif
|
||||
|
||||
set G4OSPACE_BASE_DIR="$g4ospace_base_dir"
|
||||
#+
|
||||
if ( X$g4clhep_include_dir != X ) then
|
||||
setenv CLHEP_INCLUDE_DIR "$g4clhep_include_dir"
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4clhep_lib_dir != X ) then
|
||||
setenv CLHEP_LIB_DIR "$g4clhep_lib_dir"
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4clhep_lib != X ) then
|
||||
setenv CLHEP_LIB "$g4clhep_lib"
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
endif
|
||||
|
||||
#+
|
||||
#
|
||||
# g4debug
|
||||
#
|
||||
set G4DEBUG="$g4debug"
|
||||
if ( X$g4debug != X ) then
|
||||
setenv G4DEBUG "$g4debug"
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
endif
|
||||
|
||||
#
|
||||
# g4analysis
|
||||
#
|
||||
if ( X$g4wanalysis_build == Xy ) then
|
||||
set G4ANALYSIS_BUILD=1
|
||||
else
|
||||
set G4ANALYSIS_BUILD=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_build_lab == Xy ) then
|
||||
set G4ANALYSIS_BUILD_LAB=1
|
||||
else
|
||||
set G4ANALYSIS_BUILD_LAB=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_build_jas == Xy ) then
|
||||
set G4ANALYSIS_BUILD_JAS=1
|
||||
else
|
||||
set G4ANALYSIS_BUILD_JAS=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_build_lizard == Xy ) then
|
||||
set G4ANALYSIS_BUILD_LIZARD=1
|
||||
else
|
||||
set G4ANALYSIS_BUILD_LIZARD=""
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4wanalysis_use == Xy ) then
|
||||
set G4ANALYSIS_USE=1
|
||||
else
|
||||
set G4ANALYSIS_USE=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_use_lab == Xy ) then
|
||||
set G4ANALYSIS_USE_LAB=1
|
||||
else
|
||||
set G4ANALYSIS_USE_LAB=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_use_jas == Xy ) then
|
||||
set G4ANALYSIS_USE_JAS=1
|
||||
else
|
||||
set G4ANALYSIS_USE_JAS=""
|
||||
endif
|
||||
|
||||
if ( X$g4wanalysis_use_lizard == Xy ) then
|
||||
set G4ANALYSIS_USE_LIZARD=1
|
||||
else
|
||||
set G4ANALYSIS_USE_LIZARD=""
|
||||
endif
|
||||
setenv G4ANALYSIS_USE 1
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
endif
|
||||
|
||||
#+
|
||||
#
|
||||
# g4persistency
|
||||
#
|
||||
if ( X$g4use_hepodbms == Xy ) then
|
||||
set G4USE_HEPODBMS=1
|
||||
setenv G4USE_HEPODBMS 1
|
||||
source \$G4INSTALL/examples/extended/persistency/PersistentEx01/g4odbms_setup.csh
|
||||
else
|
||||
set G4USE_HEPODBMS=""
|
||||
endif
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
endif
|
||||
|
||||
#
|
||||
# g4ui
|
||||
#
|
||||
if ( X$g4ui_build_terminal_session == Xy ) then
|
||||
set G4UI_BUILD_TERMINAL_SESSION=1
|
||||
else
|
||||
set G4UI_BUILD_TERMINAL_SESSION=""
|
||||
endif
|
||||
|
||||
if ( X$g4ui_use_terminal == Xy ) then
|
||||
set G4UI_USE_TERMINAL=1
|
||||
else
|
||||
set G4UI_USE_TERMINAL=""
|
||||
endif
|
||||
|
||||
if ( X$g4ui_build_gag_session == Xy ) then
|
||||
set G4UI_BUILD_GAG_SESSION=1
|
||||
else
|
||||
set G4UI_BUILD_GAG_SESSION=""
|
||||
endif
|
||||
|
||||
if ( X$g4ui_use_gag == Xy ) then
|
||||
set G4UI_USE_GAG=1
|
||||
else
|
||||
set G4UI_USE_GAG=""
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_build_xaw_session == Xy ) then
|
||||
set G4UI_BUILD_XAW_SESSION=1
|
||||
else
|
||||
set G4UI_BUILD_XAW_SESSION=""
|
||||
endif
|
||||
setenv G4UI_BUILD_XAW_SESSION 1
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_use_xaw == Xy ) then
|
||||
set G4UI_USE_XAW=1
|
||||
else
|
||||
set G4UI_USE_XAW=""
|
||||
endif
|
||||
setenv G4UI_USE_XAW 1
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_build_xm_session == Xy ) then
|
||||
set G4UI_BUILD_XM_SESSION=1
|
||||
else
|
||||
set G4UI_BUILD_XM_SESSION=""
|
||||
endif
|
||||
setenv G4UI_BUILD_XM_SESSION 1
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_use_xm == Xy ) then
|
||||
set G4UI_USE_XM=1
|
||||
else
|
||||
set G4UI_USE_XM=""
|
||||
endif
|
||||
setenv G4UI_USE_XM 1
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_build_win32_session == Xy ) then
|
||||
set G4UI_BUILD_WIN32_SESSION=1
|
||||
else
|
||||
set G4UI_BUILD_WIN32_session=""
|
||||
endif
|
||||
setenv G4UI_BUILD_WIN32_SESSION 1
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_use_win32 == Xy ) then
|
||||
set G4UI_USE_WIN32=1
|
||||
else
|
||||
set G4UI_USE_WIN32=""
|
||||
endif
|
||||
setenv G4UI_USE_WIN32 1
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
endif
|
||||
|
||||
if ( X$g4ui_use_tcsh == Xy ) then
|
||||
set G4UI_USE_TCSH=1
|
||||
else
|
||||
set G4UI_USE_TCSH=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4ui_build_wo_session == Xy ) then
|
||||
setenv G4UI_BUILD_WO_SESSION 1
|
||||
echo "On this machine the G4UI_BUILD_WO_SESSION=\$G4UI_BUILD_WO_SESSION"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4ui_use_wo == Xy ) then
|
||||
setenv G4UI_USE_WO 1
|
||||
echo "On this machine the G4UI_USE_WO=\$G4UI_USE_WO"
|
||||
endif
|
||||
|
||||
#
|
||||
# g4vis
|
||||
#
|
||||
#+
|
||||
if ( X$g4vis_build_dawn_driver == Xy ) then
|
||||
set G4VIS_BUILD_DAWN_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_DAWN_DRIVER=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_dawnfile_driver == Xy ) then
|
||||
set G4VIS_BUILD_DAWNFILE_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_DAWN_DRIVER=""
|
||||
endif
|
||||
setenv G4VIS_BUILD_DAWN_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_build_opacs_driver == Xy ) then
|
||||
set G4VIS_BUILD_OPACS_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_OPACS_DRIVER=""
|
||||
endif
|
||||
setenv G4VIS_BUILD_OPACS_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_opengl_driver == Xy ) then
|
||||
set G4VIS_BUILD_OPENGL_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_OPENGL_DRIVER=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4vis_build_openglx_driver == Xy ) then
|
||||
setenv G4VIS_BUILD_OPENGLX_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_OPENGLX_driver == Xy ) then
|
||||
set G4VIS_BUILD_OPENGLX_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_OPENGLX_DRIVER=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4vis_build_openglxm_driver == Xy ) then
|
||||
setenv G4VIS_BUILD_OPENGLXM_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_build_openglwin32_driver == Xy ) then
|
||||
setenv G4VIS_BUILD_OPENGLWIN32_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_build_oix_driver == Xy ) then
|
||||
set G4VIS_BUILD_OIX_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_OIX_DRIVER=""
|
||||
endif
|
||||
setenv G4VIS_BUILD_OIX_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_raytracer_driver == Xy ) then
|
||||
set G4VIS_BUILD_RAYTRACER_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_RAYTRACER_DRIVER=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4vis_build_oiwin32_driver == Xy ) then
|
||||
setenv G4VIS_BUILD_OIWIN32_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_build_vrml_driver == Xy ) then
|
||||
set G4VIS_BUILD_VRML_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_VRML_DRIVER=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_vrmlfile_driver == Xy ) then
|
||||
set G4VIS_BUILD_VRMLFILE_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_VRMLFILE_DRIVER=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_build_asciitree_driver == Xy ) then
|
||||
set G4VIS_BUILD_ASCIITREE_DRIVER=1
|
||||
else
|
||||
set G4VIS_BUILD_ASCIITREE_DRIVER=""
|
||||
endif
|
||||
setenv G4VIS_BUILD_VRML_DRIVER 1
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_dawn == Xy ) then
|
||||
set G4VIS_USE_DAWN=1
|
||||
else
|
||||
set G4VIS_USE_DAWN=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_dawnfile == Xy ) then
|
||||
set G4VIS_USE_DAWNFILE=1
|
||||
else
|
||||
set G4VIS_USE_DAWN=""
|
||||
endif
|
||||
setenv G4VIS_USE_DAWN 1
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_opacs == Xy ) then
|
||||
set G4VIS_USE_OPACS=1
|
||||
else
|
||||
set G4VIS_USE_OPACS=""
|
||||
setenv G4VIS_USE_OPACS 1
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_opengl == Xy ) then
|
||||
set G4VIS_USE_OPENGL=1
|
||||
else
|
||||
set G4VIS_USE_OPENGL=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4vis_use_openglx == Xy ) then
|
||||
setenv G4VIS_USE_OPENGLX 1
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_OPENGLX == Xy ) then
|
||||
set G4VIS_USE_OPENGLX=1
|
||||
else
|
||||
set G4VIS_USE_OPENGLX=""
|
||||
endif
|
||||
#+
|
||||
if ( X$g4vis_use_openglxm == Xy ) then
|
||||
setenv G4VIS_USE_OPENGLXM 1
|
||||
echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_openglwin32 == Xy ) then
|
||||
setenv G4VIS_USE_OPENGLWIN32 1
|
||||
echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_oix == Xy ) then
|
||||
set G4VIS_USE_OIX=1
|
||||
else
|
||||
set G4VIS_USE_OIX=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_raytracer == Xy ) then
|
||||
set G4VIS_USE_RAYTRACER=1
|
||||
else
|
||||
set G4VIS_USE_RAYTRACER=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_vrml == Xy ) then
|
||||
set G4VIS_USE_VRML=1
|
||||
else
|
||||
set G4VIS_USE_VRML=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_vrmlfile == Xy ) then
|
||||
set G4VIS_USE_VRMLFILE=1
|
||||
else
|
||||
set G4VIS_USE_VRMLFILE=""
|
||||
endif
|
||||
|
||||
if ( X$g4vis_use_asciitree == Xy ) then
|
||||
set G4VIS_USE_ASCIITREE=1
|
||||
else
|
||||
set G4VIS_USE_ASCIITREE=""
|
||||
setenv G4VIS_USE_OIX 1
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_oiwin32 == Xy ) then
|
||||
setenv G4VIS_USE_OIWIN32 1
|
||||
echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32"
|
||||
endif
|
||||
|
||||
#+
|
||||
if ( X$g4vis_use_vrml == Xy ) then
|
||||
setenv G4VIS_USE_VRML 1
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
endif
|
||||
|
||||
#+
|
||||
#
|
||||
# g4shared
|
||||
#
|
||||
set G4LIB_BUILD_SHARED="$g4lib_build_shared"
|
||||
set G4LIB_BUILD_STATIC="$g4lib_build_static"
|
||||
set G4LIB_USE_SHARED="$g4lib_use_shared"
|
||||
set G4LIB_USE_STATIC="$g4lib_use_static"
|
||||
|
||||
if ( X$g4lib_build_shared == Xy ) then
|
||||
set G4LIB_BUILD_SHARED=1
|
||||
else
|
||||
set G4LIB_BUILD_SHARED=""
|
||||
endif
|
||||
setenv G4LIB_BUILD_SHARED 1
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
endif
|
||||
|
||||
if ( X$g4lib_build_static == Xy ) then
|
||||
set G4LIB_BUILD_STATIC=1
|
||||
else
|
||||
set G4LIB_BUILD_STATIC=""
|
||||
endif
|
||||
setenv G4LIB_BUILD_STATIC 1
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
endif
|
||||
|
||||
if ( X$g4lib_use_shared == Xy ) then
|
||||
set G4LIB_USE_SHARED=1
|
||||
else
|
||||
set G4LIB_USE_SHARED=""
|
||||
endif
|
||||
setenv G4LIB_USE_SHARED 1
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
endif
|
||||
|
||||
if ( X$g4lib_use_static == Xy ) then
|
||||
set G4LIB_USE_STATIC=1
|
||||
else
|
||||
set G4LIB_USE_STATIC=""
|
||||
endif
|
||||
setenv G4LIB_USE_STATIC 1
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
endif
|
||||
|
||||
#+
|
||||
#
|
||||
# g4granular
|
||||
#
|
||||
if ( X$g4lib_use_granular == Xy ) then
|
||||
set G4LIB_USE_GRANULAR=1
|
||||
else
|
||||
set G4LIB_USE_GRANULAR=""
|
||||
endif
|
||||
|
||||
#####################################################################
|
||||
setenv G4SYSTEM $G4SYSTEM
|
||||
|
||||
setenv G4INSTALL $G4INSTALL
|
||||
setenv G4INCLUDE $G4INCLUDE
|
||||
setenv G4BASE $G4BASE
|
||||
setenv G4WORKDIR $G4WORKDIR
|
||||
setenv G4TMP $G4TMP
|
||||
setenv G4LIB $G4LIB
|
||||
setenv G4BIN $G4BIN
|
||||
setenv G4DATA $G4DATA
|
||||
setenv G4LEVELGAMMADATA $G4LEVELGAMMADATA
|
||||
|
||||
setenv CLHEP_BASE_DIR $CLHEP_BASE_DIR
|
||||
setenv CLHEP_INCLUDE_DIR $CLHEP_INCLUDE_DIR
|
||||
setenv CLHEP_LIB_DIR $CLHEP_LIB_DIR
|
||||
setenv CLHEP_LIB $CLHEP_LIB
|
||||
|
||||
setenv G4USE_OSPACE $G4USE_OSPACE
|
||||
setenv G4OSPACE_BASE_DIR $G4OSPACE_BASE_DIR
|
||||
|
||||
setenv G4LIB_USE_GRANULAR $G4LIB_USE_GRANULAR
|
||||
|
||||
setenv G4DEBUG $G4DEBUG
|
||||
|
||||
setenv G4ANALYSIS_BUILD $G4ANALYSIS_BUILD
|
||||
setenv G4ANALYSIS_BUILD_LAB $G4ANALYSIS_BUILD_LAB
|
||||
setenv G4ANALYSIS_BUILD_JAS $G4ANALYSIS_BUILD_JAS
|
||||
setenv G4ANALYSIS_BUILD_LIZARD $G4ANALYSIS_BUILD_LIZARD
|
||||
setenv G4ANALYSIS_USE $G4ANALYSIS_USE
|
||||
setenv G4ANALYSIS_USE_LAB $G4ANALYSIS_USE_LAB
|
||||
setenv G4ANALYSIS_USE_JAS $G4ANALYSIS_USE_JAS
|
||||
setenv G4ANALYSIS_USE_LIZARD $G4ANALYSIS_USE_LIZARD
|
||||
|
||||
setenv G4USE_HEPODBMS $G4USE_HEPODBMS
|
||||
|
||||
setenv G4UI_BUILD_TERMINAL_SESSION $G4UI_BUILD_TERMINAL_SESSION
|
||||
setenv G4UI_USE_TERMINAL $G4UI_USE_TERMINAL
|
||||
setenv G4UI_BUILD_GAG_SESSION $G4UI_BUILD_GAG_SESSION
|
||||
setenv G4UI_USE_GAG $G4UI_USE_GAG
|
||||
setenv G4UI_BUILD_XAW_SESSION $G4UI_BUILD_XAW_SESSION
|
||||
setenv G4UI_USE_XAW $G4UI_USE_XAW
|
||||
setenv G4UI_BUILD_XM_SESSION $G4UI_BUILD_XM_SESSION
|
||||
setenv G4UI_USE_XM $G4UI_USE_XM
|
||||
setenv G4UI_BUILD_WIN32_SESSION $G4UI_BUILD_WIN32_SESSION
|
||||
setenv G4UI_USE_WIN32 $G4UI_USE_WIN32
|
||||
setenv G4UI_USE_TCSH $G4UI_USE_TCSH
|
||||
|
||||
setenv G4VIS_BUILD_DAWN_DRIVER $G4VIS_BUILD_DAWN_DRIVER
|
||||
setenv G4VIS_USE_DAWN $G4VIS_USE_DAWN
|
||||
setenv G4VIS_BUILD_DAWNFILE_DRIVER $G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
setenv G4VIS_USE_DAWNFILE $G4VIS_USE_DAWNFILE
|
||||
setenv G4VIS_BUILD_OPACS_DRIVER $G4VIS_BUILD_OPACS_DRIVER
|
||||
setenv G4VIS_USE_OPACS $G4VIS_USE_OPACS
|
||||
setenv G4VIS_BUILD_OPENGL_DRIVER $G4VIS_BUILD_OPENGL_DRIVER
|
||||
setenv G4VIS_USE_OPENGL $G4VIS_USE_OPENGL
|
||||
setenv G4VIS_BUILD_OPENGLX_DRIVER $G4VIS_BUILD_OPENGLX_DRIVER
|
||||
setenv G4VIS_USE_OPENGLX $G4VIS_USE_OPENGLX
|
||||
setenv G4VIS_BUILD_OIX_DRIVER $G4VIS_BUILD_OIX_DRIVER
|
||||
setenv G4VIS_USE_OIX $G4VIS_USE_OIX
|
||||
setenv G4VIS_BUILD_RAYTRACER_DRIVER $G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
setenv G4VIS_USE_RAYTRACER $G4VIS_USE_RAYTRACER
|
||||
setenv G4VIS_BUILD_VRML_DRIVER $G4VIS_BUILD_VRML_DRIVER
|
||||
setenv G4VIS_USE_VRML $G4VIS_USE_VRML
|
||||
setenv G4VIS_BUILD_VRMLFILE_DRIVER $G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
setenv G4VIS_USE_VRMLFILE $G4VIS_USE_VRMLFILE
|
||||
setenv G4VIS_BUILD_ASCIITREE_DRIVER $G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
setenv G4VIS_USE_ASCIITREE $G4VIS_USE_ASCIITREE
|
||||
|
||||
setenv G4LIB_BUILD_SHARED $G4LIB_BUILD_SHARED
|
||||
setenv G4LIB_BUILD_STATIC $G4LIB_BUILD_STATIC
|
||||
setenv G4LIB_USE_SHARED $G4LIB_USE_SHARED
|
||||
setenv G4LIB_USE_STATIC $G4LIB_USE_STATIC
|
||||
|
||||
###############################################
|
||||
|
||||
|
||||
#####################################################################
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
echo "On this machine the G4BASE=\$G4BASE"
|
||||
echo "On this machine the G4WORKDIR=\$G4WORKDIR"
|
||||
echo "On this machine the G4TMP=\$G4TMP"
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
echo "On this machine the G4BIN=\$G4BIN"
|
||||
echo "On this machine the G4DATA=\$G4DATA"
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
|
||||
echo "On this machine the G4USE_OSPACE=\$G4USE_OSPACE"
|
||||
echo "On this machine the G4OSPACE_BASE_DIR=\$G4OSPACE_BASE_DIR"
|
||||
|
||||
setenv G4LIB_USE_GRANULAR 1
|
||||
echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR"
|
||||
endif
|
||||
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
#####################################################################
|
||||
|
||||
echo "On this machine the G4UI_BUILD_TERMINAL_SESSION=\$G4UI_BUILD_TERMINAL_SESSION"
|
||||
echo "On this machine the G4UI_USE_TERMINAL=\$G4UI_USE_TERMINAL"
|
||||
echo "On this machine the G4UI_BUILD_GAG_SESSION=\$G4UI_BUILD_GAG_SESSION"
|
||||
echo "On this machine the G4UI_USE_GAG=\$G4UI_USE_GAG"
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH"
|
||||
|
||||
echo "On this machine the G4ANALYSIS_BUILD=\$G4ANALYSIS_BUILD"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LAB=\$G4ANALYSIS_BUILD_LAB"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_JAS=\$G4ANALYSIS_BUILD_JAS"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LIZARD=\$G4ANALYSIS_BUILD_LIZARD"
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
echo "On this machine the G4ANALYSIS_USE_LAB=\$G4ANALYSIS_USE_LAB"
|
||||
echo "On this machine the G4ANALYSIS_USE_JAS=\$G4ANALYSIS_USE_JAS"
|
||||
echo "On this machine the G4ANALYSIS_USE_LIZARD=\$G4ANALYSIS_USE_LIZARD"
|
||||
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
echo "On this machine the G4VIS_BUILD_DAWNFILE_DRIVER=\$G4VIS_BUILD_DAWNFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWNFILE=\$G4VIS_USE_DAWNFILE"
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGL_DRIVER=\$G4VIS_BUILD_OPENGL_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGL=\$G4VIS_USE_OPENGL"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
echo "On this machine the G4VIS_BUILD_RAYTRACER_DRIVER=\$G4VIS_BUILD_RAYTRACER_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_RAYTRACER=\$G4VIS_USE_RAYTRACER"
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
echo "On this machine the G4VIS_BUILD_VRMLFILE_DRIVER=\$G4VIS_BUILD_VRMLFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRMLFILE=\$G4VIS_USE_VRMLFILE"
|
||||
echo "On this machine the G4VIS_BUILD_ASCIITREE_DRIVER=\$G4VIS_BUILD_ASCIITREE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_ASCIITREE=\$G4VIS_USE_ASCIITREE"
|
||||
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
|
||||
###############################################################
|
||||
!GROK!THIS!
|
||||
|
||||
: In the following dollars and backticks do not need the extra backslash.
|
||||
$spitshell >>env.csh <<'!NO!SUBS!'
|
||||
|
||||
#+
|
||||
#
|
||||
# G4WORKDIR
|
||||
#
|
||||
if ( ${?G4WORKDIR} ) then
|
||||
echo "In your environment you have the G4WORKDIR=$G4WORKDIR"
|
||||
else
|
||||
echo "G4WORKDIR will be set to HOME=$HOME."
|
||||
setenv G4WORKDIR $HOME
|
||||
endif
|
||||
|
||||
|
||||
!NO!SUBS!
|
||||
chmod 755 env.csh
|
||||
$eunicefix env.csh
|
||||
|
||||
+196
-346
@@ -26,100 +26,109 @@ $spitshell >env.sh <<!GROK!THIS!
|
||||
#
|
||||
# g4system.U
|
||||
#
|
||||
#+
|
||||
G4SYSTEM="$g4system"
|
||||
export G4SYSTEM
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
#
|
||||
# g4dirs.U
|
||||
#
|
||||
#+
|
||||
G4INSTALL="$g4install"
|
||||
export G4INSTALL
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
|
||||
#+
|
||||
if [ X$g4include != X ] ; then
|
||||
G4INCLUDE="$g4include"
|
||||
G4BASE="$g4base"
|
||||
G4WORKDIR="$g4workdir"
|
||||
G4TMP="$g4tmp"
|
||||
export G4INCLUDE
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4lib != X ] ; then
|
||||
G4LIB="$g4lib"
|
||||
G4BIN="$g4bin"
|
||||
G4DATA="$g4data"
|
||||
export G4LIB
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4levelgammadata != X ] ; then
|
||||
G4LEVELGAMMADATA="$g4levelgammadata"
|
||||
export G4LEVELGAMMADATA
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4radioactivedata != X ] ; then
|
||||
G4RADIOACTIVEDATA="$g4radioactivedata"
|
||||
export G4RADIOACTIVEDATA
|
||||
echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ledata != X ] ; then
|
||||
G4LEDATA="$g4ledata"
|
||||
export G4LEDATA
|
||||
echo "On this machine the G4LEDATA=\$G4LEDATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4neutronhpcrosssections != X ] ; then
|
||||
NeutronHPCrossSections="$g4neutronhpcrosssections"
|
||||
export NeutronHPCrossSections
|
||||
echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4clhep.U
|
||||
#
|
||||
if [ X$g4clhep_base_dir != X ] ; then
|
||||
CLHEP_BASE_DIR="$g4clhep_base_dir"
|
||||
CLHEP_INCLUDE_DIR="$g4clhep_include_dir"
|
||||
CLHEP_LIB_DIR="$g4clhep_lib_dir"
|
||||
CLHEP_LIB="$g4clhep_lib"
|
||||
|
||||
#
|
||||
# g4ospace
|
||||
#
|
||||
if [ X$g4use_ospace = Xy ] ; then
|
||||
G4USE_OSPACE=1
|
||||
else
|
||||
G4USE_OSPACE=""
|
||||
export CLHEP_BASE_DIR
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
fi
|
||||
|
||||
G4OSPACE_BASE_DIR="$g4ospace_base_dir"
|
||||
#+
|
||||
if [ X$g4clhep_include_dir != X ] ; then
|
||||
CLHEP_INCLUDE_DIR="$g4clhep_include_dir"
|
||||
export CLHEP_INCLUDE_DIR
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4clhep_lib_dir != X ] ; then
|
||||
CLHEP_LIB_DIR="$g4clhep_lib_dir"
|
||||
export CLHEP_LIB_DIR
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4clhep_lib != X ] ; then
|
||||
CLHEP_LIB="$g4clhep_lib"
|
||||
export CLHEP_LIB
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
fi
|
||||
|
||||
#+
|
||||
#
|
||||
# g4debug
|
||||
#
|
||||
if [ X$g4debug != X ] ; then
|
||||
G4DEBUG="$g4debug"
|
||||
export G4DEBUG
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4analysis
|
||||
#
|
||||
if [ X$g4wanalysis_build = Xy ] ; then
|
||||
G4ANALYSIS_BUILD=1
|
||||
else
|
||||
G4ANALYSIS_BUILD=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_build_lab = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_LAB=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_LAB=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_build_jas = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_JAS=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_JAS=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_build_lizard = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_LIZARD=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_LIZARD=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_use = Xy ] ; then
|
||||
G4ANALYSIS_USE=1
|
||||
else
|
||||
G4ANALYSIS_USE=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_use_lab = Xy ] ; then
|
||||
G4ANALYSIS_USE_LAB=1
|
||||
else
|
||||
G4ANALYSIS_USE_LAB=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_use_jas = Xy ] ; then
|
||||
G4ANALYSIS_USE_JAS=1
|
||||
else
|
||||
G4ANALYSIS_USE_JAS=""
|
||||
fi
|
||||
|
||||
if [ X$g4wanalysis_use_lizard = Xy ] ; then
|
||||
G4ANALYSIS_USE_LIZARD=1
|
||||
else
|
||||
G4ANALYSIS_USE_LIZARD=""
|
||||
export G4ANALYSIS_USE
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
fi
|
||||
|
||||
#+
|
||||
@@ -128,400 +137,241 @@ fi
|
||||
#
|
||||
if [ X$g4use_hepodbms = Xy ] ; then
|
||||
G4USE_HEPODBMS=1
|
||||
export G4USE_HEPODBMS
|
||||
. \$G4INSTALL/examples/extended/persistency/PersistentEx01/g4odbms_setup.sh
|
||||
else
|
||||
G4USE_HEPODBMS=""
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4ui
|
||||
#
|
||||
if [ X$g4ui_build_terminal_session = Xy ] ; then
|
||||
G4UI_BUILD_TERMINAL_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_TERMINAL_SESSION=""
|
||||
fi
|
||||
|
||||
if [ X$g4ui_use_terminal = Xy ] ; then
|
||||
G4UI_USE_TERMINAL=1
|
||||
else
|
||||
G4UI_USE_TERMINAL=""
|
||||
fi
|
||||
|
||||
if [ X$g4ui_build_gag_session = Xy ] ; then
|
||||
G4UI_BUILD_GAG_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_GAG_SESSION=""
|
||||
fi
|
||||
|
||||
if [ X$g4ui_use_gag = Xy ] ; then
|
||||
G4UI_USE_GAG=1
|
||||
else
|
||||
G4UI_USE_GAG=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_xaw_session = Xy ] ; then
|
||||
G4UI_BUILD_XAW_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_XAW_SESSION=""
|
||||
export G4UI_BUILD_XAW_SESSION
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_xaw = Xy ] ; then
|
||||
G4UI_USE_XAW=1
|
||||
else
|
||||
G4UI_USE_XAW=""
|
||||
export G4UI_USE_XAW
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_xm_session = Xy ] ; then
|
||||
G4UI_BUILD_XM_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_XM_SESSION=""
|
||||
export G4UI_BUILD_XM_SESSION
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_xm = Xy ] ; then
|
||||
G4UI_USE_XM=1
|
||||
else
|
||||
G4UI_USE_XM=""
|
||||
export G4UI_USE_XM
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_win32_session = Xy ] ; then
|
||||
G4UI_BUILD_WIN32_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_WIN32_session=""
|
||||
export G4UI_BUILD_WIN32_SESSION
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_win32 = Xy ] ; then
|
||||
G4UI_USE_WIN32=1
|
||||
else
|
||||
G4UI_USE_WIN32=""
|
||||
export G4UI_USE_WIN32
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
fi
|
||||
|
||||
if [ X$g4ui_use_tcsh = Xy ] ; then
|
||||
G4UI_USE_TCSH=1
|
||||
else
|
||||
G4UI_USE_TCSH=""
|
||||
#+
|
||||
if [ X$g4ui_build_wo_session = Xy ] ; then
|
||||
G4UI_BUILD_WO_SESSION=1
|
||||
export G4UI_BUILD_WO_SESSION
|
||||
echo "On this machine the G4UI_BUILD_WO_SESSION=\$G4UI_BUILD_WO_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_wo = Xy ] ; then
|
||||
G4UI_USE_WO=1
|
||||
export G4UI_USE_WO
|
||||
echo "On this machine the G4UI_USE_WO=\$G4UI_USE_WO"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4vis
|
||||
#
|
||||
#+
|
||||
if [ X$g4vis_build_dawn_driver = Xy ] ; then
|
||||
G4VIS_BUILD_DAWN_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_DAWN_DRIVER=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_dawnfile_driver = Xy ] ; then
|
||||
G4VIS_BUILD_DAWNFILE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_DAWN_DRIVER=""
|
||||
export G4VIS_BUILD_DAWN_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_opacs_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPACS_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPACS_DRIVER=""
|
||||
export G4VIS_BUILD_OPACS_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_opengl_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGL_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPENGL_DRIVER=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_OPENGLX_driver = Xy ] ; then
|
||||
#+
|
||||
if [ X$g4vis_build_openglx_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLX_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPENGLX_DRIVER=""
|
||||
export G4VIS_BUILD_OPENGLX_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_openglxm_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLXM_DRIVER=1
|
||||
export G4VIS_BUILD_OPENGLXM_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_openglwin32_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLWIN32_DRIVER=1
|
||||
export G4VIS_BUILD_OPENGLWIN32_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_oix_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OIX_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OIX_DRIVER=""
|
||||
export G4VIS_BUILD_OIX_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_raytracer_driver = Xy ] ; then
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER=""
|
||||
#+
|
||||
if [ X$g4vis_build_oiwin32_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OIWIN32_DRIVER=1
|
||||
export G4VIS_BUILD_OIWIN32_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_vrml_driver = Xy ] ; then
|
||||
G4VIS_BUILD_VRML_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_VRML_DRIVER=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_vrmlfile_driver = Xy ] ; then
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_build_asciitree_driver = Xy ] ; then
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER=""
|
||||
export G4VIS_BUILD_VRML_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_dawn = Xy ] ; then
|
||||
G4VIS_USE_DAWN=1
|
||||
else
|
||||
G4VIS_USE_DAWN=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_dawnfile = Xy ] ; then
|
||||
G4VIS_USE_DAWNFILE=1
|
||||
else
|
||||
G4VIS_USE_DAWN=""
|
||||
export G4VIS_USE_DAWN
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_opacs = Xy ] ; then
|
||||
G4VIS_USE_OPACS=1
|
||||
else
|
||||
G4VIS_USE_OPACS=""
|
||||
export G4VIS_USE_OPACS
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_opengl = Xy ] ; then
|
||||
G4VIS_USE_OPENGL=1
|
||||
else
|
||||
G4VIS_USE_OPENGL=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_OPENGLX = Xy ] ; then
|
||||
#+
|
||||
if [ X$g4vis_use_openglx = Xy ] ; then
|
||||
G4VIS_USE_OPENGLX=1
|
||||
else
|
||||
G4VIS_USE_OPENGLX=""
|
||||
export G4VIS_USE_OPENGLX
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_openglxm = Xy ] ; then
|
||||
G4VIS_USE_OPENGLXM=1
|
||||
export G4VIS_USE_OPENGLXM
|
||||
echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_openglwin32 = Xy ] ; then
|
||||
G4VIS_USE_OPENGLWIN32=1
|
||||
export G4VIS_USE_OPENGLWIN32
|
||||
echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_oix = Xy ] ; then
|
||||
G4VIS_USE_OIX=1
|
||||
else
|
||||
G4VIS_USE_OIX=""
|
||||
export G4VIS_USE_OIX
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_raytracer = Xy ] ; then
|
||||
G4VIS_USE_RAYTRACER=1
|
||||
else
|
||||
G4VIS_USE_RAYTRACER=""
|
||||
#+
|
||||
if [ X$g4vis_use_oiwin32 = Xy ] ; then
|
||||
G4VIS_USE_OIWIN32=1
|
||||
export G4VIS_USE_OIWIN32
|
||||
echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_vrml = Xy ] ; then
|
||||
G4VIS_USE_VRML=1
|
||||
else
|
||||
G4VIS_USE_VRML=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_vrmlfile = Xy ] ; then
|
||||
G4VIS_USE_VRMLFILE=1
|
||||
else
|
||||
G4VIS_USE_VRMLFILE=""
|
||||
fi
|
||||
|
||||
if [ X$g4vis_use_asciitree = Xy ] ; then
|
||||
G4VIS_USE_ASCIITREE=1
|
||||
else
|
||||
G4VIS_USE_ASCIITREE=""
|
||||
export G4VIS_USE_VRML
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
fi
|
||||
|
||||
#+
|
||||
#
|
||||
# g4shared
|
||||
#
|
||||
G4LIB_BUILD_SHARED="$g4lib_build_shared"
|
||||
G4LIB_BUILD_STATIC="$g4lib_build_static"
|
||||
G4LIB_USE_SHARED="$g4lib_use_shared"
|
||||
G4LIB_USE_STATIC="$g4lib_use_static"
|
||||
|
||||
if [ X$g4lib_build_shared = Xy ] ; then
|
||||
G4LIB_BUILD_SHARED=1
|
||||
else
|
||||
G4LIB_BUILD_SHARED=""
|
||||
export G4LIB_BUILD_SHARED
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_build_static = Xy ] ; then
|
||||
G4LIB_BUILD_STATIC=1
|
||||
else
|
||||
G4LIB_BUILD_STATIC=""
|
||||
export G4LIB_BUILD_STATIC
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_use_shared = Xy ] ; then
|
||||
G4LIB_USE_SHARED=1
|
||||
else
|
||||
G4LIB_USE_SHARED=""
|
||||
export G4LIB_USE_SHARED
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_use_static = Xy ] ; then
|
||||
G4LIB_USE_STATIC=1
|
||||
else
|
||||
G4LIB_USE_STATIC=""
|
||||
export G4LIB_USE_STATIC
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
fi
|
||||
|
||||
#+
|
||||
#
|
||||
# g4granular
|
||||
#
|
||||
if [ X$g4lib_use_granular = Xy ] ; then
|
||||
G4LIB_USE_GRANULAR=1
|
||||
else
|
||||
G4LIB_USE_GRANULAR=""
|
||||
export G4LIB_USE_GRANULAR
|
||||
echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR"
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
export G4SYSTEM
|
||||
|
||||
export G4INSTALL
|
||||
export G4INCLUDE
|
||||
export G4BASE
|
||||
export G4WORKDIR
|
||||
export G4TMP
|
||||
export G4LIB
|
||||
export G4BIN
|
||||
export G4DATA
|
||||
export G4LEVELGAMMADATA
|
||||
|
||||
export CLHEP_BASE_DIR
|
||||
export CLHEP_INCLUDE_DIR
|
||||
export CLHEP_LIB_DIR
|
||||
export CLHEP_LIB
|
||||
|
||||
export G4USE_OSPACE
|
||||
export G4OSPACE_BASE_DIR
|
||||
|
||||
export G4LIB_USE_GRANULAR
|
||||
|
||||
export G4DEBUG
|
||||
|
||||
export G4ANALYSIS_BUILD
|
||||
export G4ANALYSIS_BUILD_LAB
|
||||
export G4ANALYSIS_BUILD_JAS
|
||||
export G4ANALYSIS_BUILD_LIZARD
|
||||
export G4ANALYSIS_USE
|
||||
export G4ANALYSIS_USE_LAB
|
||||
export G4ANALYSIS_USE_JAS
|
||||
export G4ANALYSIS_USE_LIZARD
|
||||
|
||||
export G4USE_HEPODBMS
|
||||
|
||||
export G4UI_BUILD_TERMINAL_SESSION
|
||||
export G4UI_USE_TERMINAL
|
||||
export G4UI_BUILD_GAG_SESSION
|
||||
export G4UI_USE_GAG
|
||||
export G4UI_BUILD_XAW_SESSION
|
||||
export G4UI_USE_XAW
|
||||
export G4UI_BUILD_XM_SESSION
|
||||
export G4UI_USE_XM
|
||||
export G4UI_BUILD_WIN32_SESSION
|
||||
export G4UI_USE_WIN32
|
||||
export G4UI_USE_TCSH
|
||||
|
||||
export G4VIS_BUILD_DAWN_DRIVER
|
||||
export G4VIS_USE_DAWN
|
||||
export G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
export G4VIS_USE_DAWNFILE
|
||||
export G4VIS_BUILD_OPACS_DRIVER
|
||||
export G4VIS_USE_OPACS
|
||||
export G4VIS_BUILD_OPENGL_DRIVER
|
||||
export G4VIS_USE_OPENGL
|
||||
export G4VIS_BUILD_OPENGLX_DRIVER
|
||||
export G4VIS_USE_OPENGLX
|
||||
export G4VIS_BUILD_OIX_DRIVER
|
||||
export G4VIS_USE_OIX
|
||||
export G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
export G4VIS_USE_RAYTRACER
|
||||
export G4VIS_BUILD_VRML_DRIVER
|
||||
export G4VIS_USE_VRML
|
||||
export G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
export G4VIS_USE_VRMLFILE
|
||||
export G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
export G4VIS_USE_ASCIITREE
|
||||
|
||||
export G4LIB_BUILD_SHARED
|
||||
export G4LIB_BUILD_STATIC
|
||||
export G4LIB_USE_SHARED
|
||||
export G4LIB_USE_STATIC
|
||||
|
||||
###############################################
|
||||
|
||||
|
||||
#####################################################################
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
echo "On this machine the G4BASE=\$G4BASE"
|
||||
echo "On this machine the G4WORKDIR=\$G4WORKDIR"
|
||||
echo "On this machine the G4TMP=\$G4TMP"
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
echo "On this machine the G4BIN=\$G4BIN"
|
||||
echo "On this machine the G4DATA=\$G4DATA"
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
|
||||
echo "On this machine the G4USE_OSPACE=\$G4USE_OSPACE"
|
||||
echo "On this machine the G4OSPACE_BASE_DIR=\$G4OSPACE_BASE_DIR"
|
||||
|
||||
echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR"
|
||||
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
|
||||
echo "On this machine the G4UI_BUILD_TERMINAL_SESSION=\$G4UI_BUILD_TERMINAL_SESSION"
|
||||
echo "On this machine the G4UI_USE_TERMINAL=\$G4UI_USE_TERMINAL"
|
||||
echo "On this machine the G4UI_BUILD_GAG_SESSION=\$G4UI_BUILD_GAG_SESSION"
|
||||
echo "On this machine the G4UI_USE_GAG=\$G4UI_USE_GAG"
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH"
|
||||
|
||||
echo "On this machine the G4ANALYSIS_BUILD=\$G4ANALYSIS_BUILD"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LAB=\$G4ANALYSIS_BUILD_LAB"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_JAS=\$G4ANALYSIS_BUILD_JAS"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LIZARD=\$G4ANALYSIS_BUILD_LIZARD"
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
echo "On this machine the G4ANALYSIS_USE_LAB=\$G4ANALYSIS_USE_LAB"
|
||||
echo "On this machine the G4ANALYSIS_USE_JAS=\$G4ANALYSIS_USE_JAS"
|
||||
echo "On this machine the G4ANALYSIS_USE_LIZARD=\$G4ANALYSIS_USE_LIZARD"
|
||||
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
echo "On this machine the G4VIS_BUILD_DAWNFILE_DRIVER=\$G4VIS_BUILD_DAWNFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWNFILE=\$G4VIS_USE_DAWNFILE"
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGL_DRIVER=\$G4VIS_BUILD_OPENGL_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGL=\$G4VIS_USE_OPENGL"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
echo "On this machine the G4VIS_BUILD_RAYTRACER_DRIVER=\$G4VIS_BUILD_RAYTRACER_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_RAYTRACER=\$G4VIS_USE_RAYTRACER"
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
echo "On this machine the G4VIS_BUILD_VRMLFILE_DRIVER=\$G4VIS_BUILD_VRMLFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRMLFILE=\$G4VIS_USE_VRMLFILE"
|
||||
echo "On this machine the G4VIS_BUILD_ASCIITREE_DRIVER=\$G4VIS_BUILD_ASCIITREE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_ASCIITREE=\$G4VIS_USE_ASCIITREE"
|
||||
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
|
||||
###############################################################
|
||||
!GROK!THIS!
|
||||
|
||||
: In the following dollars and backticks do not need the extra backslash.
|
||||
$spitshell >>env.sh <<'!NO!SUBS!'
|
||||
|
||||
#+
|
||||
#
|
||||
# G4WORKDIR
|
||||
#
|
||||
if [ $G4WORKDIR ] ; then
|
||||
echo "In your environment you have the G4WORKDIR=$G4WORKDIR"
|
||||
else
|
||||
echo "G4WORKDIR will be set to HOME=$HOME."
|
||||
export G4WORKDIR=$HOME
|
||||
fi
|
||||
|
||||
!NO!SUBS!
|
||||
chmod 755 env.sh
|
||||
$eunicefix env.sh
|
||||
|
||||
+172
-373
@@ -28,119 +28,114 @@ $spitshell >install.sh <<!GROK!THIS!
|
||||
#
|
||||
#+
|
||||
G4SYSTEM="$g4system"
|
||||
export G4SYSTEM
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
#
|
||||
# g4dirs.U
|
||||
#
|
||||
#+
|
||||
G4INSTALL="$g4install"
|
||||
export G4INSTALL
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
|
||||
#+
|
||||
if [ X$g4include != X ] ; then
|
||||
G4INCLUDE="$g4include"
|
||||
G4BASE="$g4base"
|
||||
G4WORKDIR="$g4workdir"
|
||||
export G4INCLUDE
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4tmp != X ] ; then
|
||||
G4TMP="$g4tmp"
|
||||
export G4TMP
|
||||
echo "On this machine the G4TMP=\$G4TMP"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4lib != X ] ; then
|
||||
G4LIB="$g4lib"
|
||||
export G4LIB
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
fi
|
||||
|
||||
#+
|
||||
G4BIN="$g4bin"
|
||||
G4DATA="$g4data"
|
||||
#+
|
||||
if [ X$g4levelgammadata != X ] ; then
|
||||
G4LEVELGAMMADATA="$g4levelgammadata"
|
||||
export G4LEVELGAMMADATA
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4radioactivedata != X ] ; then
|
||||
G4RADIOACTIVEDATA="$g4radioactivedata"
|
||||
export G4RADIOACTIVEDATA
|
||||
echo "On this machine the G4RADIOACTIVEDATA=\$G4RADIOACTIVEDATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ledata != X ] ; then
|
||||
G4LEDATA="$g4ledata"
|
||||
export G4LEDATA
|
||||
echo "On this machine the G4LEDATA=\$G4LEDATA"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4neutronhpcrosssections != X ] ; then
|
||||
NeutronHPCrossSections="$g4neutronhpcrosssections"
|
||||
export NeutronHPCrossSections
|
||||
echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4clhep.U
|
||||
#
|
||||
if [ X$g4clhep_base_dir != X ] ; then
|
||||
CLHEP_BASE_DIR="$g4clhep_base_dir"
|
||||
#+
|
||||
CLHEP_INCLUDE_DIR="$g4clhep_include_dir"
|
||||
#+
|
||||
CLHEP_LIB_DIR="$g4clhep_lib_dir"
|
||||
#+
|
||||
CLHEP_LIB="$g4clhep_lib"
|
||||
|
||||
|
||||
#+
|
||||
#
|
||||
# g4ospace
|
||||
#
|
||||
if [ X$g4use_ospace = Xy ] ; then
|
||||
G4USE_OSPACE=1
|
||||
else
|
||||
G4USE_OSPACE=""
|
||||
export CLHEP_BASE_DIR
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
fi
|
||||
|
||||
G4OSPACE_BASE_DIR="$g4ospace_base_dir"
|
||||
#+
|
||||
if [ X$g4clhep_include_dir != X ] ; then
|
||||
CLHEP_INCLUDE_DIR="$g4clhep_include_dir"
|
||||
export CLHEP_INCLUDE_DIR
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4clhep_lib_dir != X ] ; then
|
||||
CLHEP_LIB_DIR="$g4clhep_lib_dir"
|
||||
export CLHEP_LIB_DIR
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4clhep_lib != X ] ; then
|
||||
CLHEP_LIB="$g4clhep_lib"
|
||||
export CLHEP_LIB
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
fi
|
||||
|
||||
#+
|
||||
#
|
||||
# g4debug
|
||||
#
|
||||
if [ X$g4debug != X ] ; then
|
||||
G4DEBUG="$g4debug"
|
||||
export G4DEBUG
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4analysis
|
||||
#
|
||||
#+
|
||||
if [ X$g4wanalysis_build = Xy ] ; then
|
||||
G4ANALYSIS_BUILD=1
|
||||
else
|
||||
G4ANALYSIS_BUILD=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_build_lab = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_LAB=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_LAB=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_build_jas = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_JAS=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_JAS=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_build_lizard = Xy ] ; then
|
||||
G4ANALYSIS_BUILD_LIZARD=1
|
||||
else
|
||||
G4ANALYSIS_BUILD_LIZARD=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_use = Xy ] ; then
|
||||
G4ANALYSIS_USE=1
|
||||
else
|
||||
G4ANALYSIS_USE=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_use_lab = Xy ] ; then
|
||||
G4ANALYSIS_USE_LAB=1
|
||||
else
|
||||
G4ANALYSIS_USE_LAB=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_use_jas = Xy ] ; then
|
||||
G4ANALYSIS_USE_JAS=1
|
||||
else
|
||||
G4ANALYSIS_USE_JAS=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4wanalysis_use_lizard = Xy ] ; then
|
||||
G4ANALYSIS_USE_LIZARD=1
|
||||
else
|
||||
G4ANALYSIS_USE_LIZARD=""
|
||||
export G4ANALYSIS_USE
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
fi
|
||||
|
||||
#+
|
||||
@@ -149,89 +144,68 @@ fi
|
||||
#
|
||||
if [ X$g4use_hepodbms = Xy ] ; then
|
||||
G4USE_HEPODBMS=1
|
||||
export G4USE_HEPODBMS
|
||||
. \$G4INSTALL/examples/extended/persistency/PersistentEx01/g4odbms_setup.sh
|
||||
else
|
||||
G4USE_HEPODBMS=""
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
fi
|
||||
|
||||
#
|
||||
# g4ui
|
||||
#
|
||||
#+
|
||||
if [ X$g4ui_build_terminal_session = Xy ] ; then
|
||||
G4UI_BUILD_TERMINAL_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_TERMINAL_SESSION=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_terminal = Xy ] ; then
|
||||
G4UI_USE_TERMINAL=1
|
||||
else
|
||||
G4UI_USE_TERMINAL=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_gag_session = Xy ] ; then
|
||||
G4UI_BUILD_GAG_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_GAG_SESSION=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_gag = Xy ] ; then
|
||||
G4UI_USE_GAG=1
|
||||
else
|
||||
G4UI_USE_GAG=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_xaw_session = Xy ] ; then
|
||||
G4UI_BUILD_XAW_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_XAW_SESSION=""
|
||||
export G4UI_BUILD_XAW_SESSION
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_xaw = Xy ] ; then
|
||||
G4UI_USE_XAW=1
|
||||
else
|
||||
G4UI_USE_XAW=""
|
||||
export G4UI_USE_XAW
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_xm_session = Xy ] ; then
|
||||
G4UI_BUILD_XM_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_XM_SESSION=""
|
||||
export G4UI_BUILD_XM_SESSION
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_xm = Xy ] ; then
|
||||
G4UI_USE_XM=1
|
||||
else
|
||||
G4UI_USE_XM=""
|
||||
export G4UI_USE_XM
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_build_win32_session = Xy ] ; then
|
||||
G4UI_BUILD_WIN32_SESSION=1
|
||||
else
|
||||
G4UI_BUILD_WIN32_session=""
|
||||
export G4UI_BUILD_WIN32_SESSION
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_win32 = Xy ] ; then
|
||||
G4UI_USE_WIN32=1
|
||||
else
|
||||
G4UI_USE_WIN32=""
|
||||
export G4UI_USE_WIN32
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_tcsh = Xy ] ; then
|
||||
G4UI_USE_TCSH=1
|
||||
else
|
||||
G4UI_USE_TCSH=""
|
||||
if [ X$g4ui_build_wo_session = Xy ] ; then
|
||||
G4UI_BUILD_WO_SESSION=1
|
||||
export G4UI_BUILD_WO_SESSION
|
||||
echo "On this machine the G4UI_BUILD_WO_SESSION=\$G4UI_BUILD_WO_SESSION"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4ui_use_wo = Xy ] ; then
|
||||
G4UI_USE_WO=1
|
||||
export G4UI_USE_WO
|
||||
echo "On this machine the G4UI_USE_WO=\$G4UI_USE_WO"
|
||||
fi
|
||||
|
||||
#
|
||||
@@ -240,174 +214,141 @@ fi
|
||||
#+
|
||||
if [ X$g4vis_build_dawn_driver = Xy ] ; then
|
||||
G4VIS_BUILD_DAWN_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_DAWN_DRIVER=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_dawnfile_driver = Xy ] ; then
|
||||
G4VIS_BUILD_DAWNFILE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_DAWN_DRIVER=""
|
||||
export G4VIS_BUILD_DAWN_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_opacs_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPACS_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPACS_DRIVER=""
|
||||
fi
|
||||
|
||||
#?
|
||||
if [ X$g4vis_build_opengl_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGL_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPENGL_DRIVER=""
|
||||
export G4VIS_BUILD_OPACS_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_OPENGLX_driver = Xy ] ; then
|
||||
if [ X$g4vis_build_openglx_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLX_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OPENGLX_DRIVER=""
|
||||
export G4VIS_BUILD_OPENGLX_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_openglxm_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLXM_DRIVER=1
|
||||
export G4VIS_BUILD_OPENGLXM_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLXM_DRIVER=\$G4VIS_BUILD_OPENGLXM_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_openglwin32_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OPENGLWIN32_DRIVER=1
|
||||
export G4VIS_BUILD_OPENGLWIN32_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLWIN32_DRIVER=\$G4VIS_BUILD_OPENGLWIN32_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_oix_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OIX_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_OIX_DRIVER=""
|
||||
export G4VIS_BUILD_OIX_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_raytracer_driver = Xy ] ; then
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_RAYTRACER_DRIVER=""
|
||||
if [ X$g4vis_build_oiwin32_driver = Xy ] ; then
|
||||
G4VIS_BUILD_OIWIN32_DRIVER=1
|
||||
export G4VIS_BUILD_OIWIN32_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_OIWIN32_DRIVER=\$G4VIS_BUILD_OIWIN32_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_vrml_driver = Xy ] ; then
|
||||
G4VIS_BUILD_VRML_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_VRML_DRIVER=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_build_vrmlfile_driver = Xy ] ; then
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_VRMLFILE_DRIVER=""
|
||||
fi
|
||||
|
||||
#?
|
||||
if [ X$g4vis_build_asciitree_driver = Xy ] ; then
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER=1
|
||||
else
|
||||
G4VIS_BUILD_ASCIITREE_DRIVER=""
|
||||
export G4VIS_BUILD_VRML_DRIVER
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_dawn = Xy ] ; then
|
||||
G4VIS_USE_DAWN=1
|
||||
else
|
||||
G4VIS_USE_DAWN=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_dawnfile = Xy ] ; then
|
||||
G4VIS_USE_DAWNFILE=1
|
||||
else
|
||||
G4VIS_USE_DAWN=""
|
||||
export G4VIS_USE_DAWN
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_opacs = Xy ] ; then
|
||||
G4VIS_USE_OPACS=1
|
||||
else
|
||||
G4VIS_USE_OPACS=""
|
||||
fi
|
||||
|
||||
#?
|
||||
if [ X$g4vis_use_opengl = Xy ] ; then
|
||||
G4VIS_USE_OPENGL=1
|
||||
else
|
||||
G4VIS_USE_OPENGL=""
|
||||
export G4VIS_USE_OPACS
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_OPENGLX = Xy ] ; then
|
||||
if [ X$g4vis_use_openglx = Xy ] ; then
|
||||
G4VIS_USE_OPENGLX=1
|
||||
else
|
||||
G4VIS_USE_OPENGLX=""
|
||||
export G4VIS_USE_OPENGLX
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_openglxm = Xy ] ; then
|
||||
G4VIS_USE_OPENGLXM=1
|
||||
export G4VIS_USE_OPENGLXM
|
||||
echo "On this machine the G4VIS_USE_OPENGLXM=\$G4VIS_USE_OPENGLXM"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_openglwin32 = Xy ] ; then
|
||||
G4VIS_USE_OPENGLWIN32=1
|
||||
export G4VIS_USE_OPENGLWIN32
|
||||
echo "On this machine the G4VIS_USE_OPENGLWIN32=\$G4VIS_USE_OPENGLWIN32"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_oix = Xy ] ; then
|
||||
G4VIS_USE_OIX=1
|
||||
else
|
||||
G4VIS_USE_OIX=""
|
||||
export G4VIS_USE_OIX
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_raytracer = Xy ] ; then
|
||||
G4VIS_USE_RAYTRACER=1
|
||||
else
|
||||
G4VIS_USE_RAYTRACER=""
|
||||
if [ X$g4vis_use_oiwin32 = Xy ] ; then
|
||||
G4VIS_USE_OIWIN32=1
|
||||
export G4VIS_USE_OIWIN32
|
||||
echo "On this machine the G4VIS_USE_OIWIN32=\$G4VIS_USE_OIWIN32"
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_vrml = Xy ] ; then
|
||||
G4VIS_USE_VRML=1
|
||||
else
|
||||
G4VIS_USE_VRML=""
|
||||
fi
|
||||
|
||||
#+
|
||||
if [ X$g4vis_use_vrmlfile = Xy ] ; then
|
||||
G4VIS_USE_VRMLFILE=1
|
||||
else
|
||||
G4VIS_USE_VRMLFILE=""
|
||||
fi
|
||||
|
||||
#?
|
||||
if [ X$g4vis_use_asciitree = Xy ] ; then
|
||||
G4VIS_USE_ASCIITREE=1
|
||||
else
|
||||
G4VIS_USE_ASCIITREE=""
|
||||
export G4VIS_USE_VRML
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
fi
|
||||
|
||||
#+
|
||||
#
|
||||
# g4shared
|
||||
#
|
||||
G4LIB_BUILD_SHARED="$g4lib_build_shared"
|
||||
G4LIB_BUILD_STATIC="$g4lib_build_static"
|
||||
G4LIB_USE_SHARED="$g4lib_use_shared"
|
||||
G4LIB_USE_STATIC="$g4lib_use_static"
|
||||
|
||||
if [ X$g4lib_build_shared = Xy ] ; then
|
||||
G4LIB_BUILD_SHARED=1
|
||||
else
|
||||
G4LIB_BUILD_SHARED=""
|
||||
export G4LIB_BUILD_SHARED
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_build_static = Xy ] ; then
|
||||
G4LIB_BUILD_STATIC=1
|
||||
else
|
||||
G4LIB_BUILD_STATIC=""
|
||||
export G4LIB_BUILD_STATIC
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_use_shared = Xy ] ; then
|
||||
G4LIB_USE_SHARED=1
|
||||
else
|
||||
G4LIB_USE_SHARED=""
|
||||
export G4LIB_USE_SHARED
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
fi
|
||||
|
||||
if [ X$g4lib_use_static = Xy ] ; then
|
||||
G4LIB_USE_STATIC=1
|
||||
else
|
||||
G4LIB_USE_STATIC=""
|
||||
export G4LIB_USE_STATIC
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
fi
|
||||
|
||||
#+
|
||||
@@ -416,178 +357,35 @@ fi
|
||||
#
|
||||
if [ X$g4lib_use_granular = Xy ] ; then
|
||||
G4LIB_USE_GRANULAR=1
|
||||
else
|
||||
G4LIB_USE_GRANULAR=""
|
||||
export G4LIB_USE_GRANULAR
|
||||
echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR"
|
||||
fi
|
||||
|
||||
#####################################################################
|
||||
export G4SYSTEM
|
||||
|
||||
export G4INSTALL
|
||||
export G4INCLUDE
|
||||
export G4BASE
|
||||
export G4WORKDIR
|
||||
export G4TMP
|
||||
export G4LIB
|
||||
export G4BIN
|
||||
export G4DATA
|
||||
export G4LEVELGAMMADATA
|
||||
|
||||
export CLHEP_BASE_DIR
|
||||
export CLHEP_INCLUDE_DIR
|
||||
export CLHEP_LIB_DIR
|
||||
export CLHEP_LIB
|
||||
|
||||
export G4USE_OSPACE
|
||||
export G4OSPACE_BASE_DIR
|
||||
|
||||
export G4LIB_USE_GRANULAR
|
||||
|
||||
export G4DEBUG
|
||||
|
||||
export G4ANALYSIS_BUILD
|
||||
export G4ANALYSIS_BUILD_LAB
|
||||
export G4ANALYSIS_BUILD_JAS
|
||||
export G4ANALYSIS_BUILD_LIZARD
|
||||
export G4ANALYSIS_USE
|
||||
export G4ANALYSIS_USE_LAB
|
||||
export G4ANALYSIS_USE_JAS
|
||||
export G4ANALYSIS_USE_LIZARD
|
||||
|
||||
export G4USE_HEPODBMS
|
||||
|
||||
export G4UI_BUILD_TERMINAL_SESSION
|
||||
export G4UI_USE_TERMINAL
|
||||
export G4UI_BUILD_GAG_SESSION
|
||||
export G4UI_USE_GAG
|
||||
export G4UI_BUILD_XAW_SESSION
|
||||
export G4UI_USE_XAW
|
||||
export G4UI_BUILD_XM_SESSION
|
||||
export G4UI_USE_XM
|
||||
export G4UI_BUILD_WIN32_SESSION
|
||||
export G4UI_USE_WIN32
|
||||
export G4UI_USE_TCSH
|
||||
|
||||
export G4VIS_BUILD_DAWN_DRIVER
|
||||
export G4VIS_USE_DAWN
|
||||
export G4VIS_BUILD_DAWNFILE_DRIVER
|
||||
export G4VIS_USE_DAWNFILE
|
||||
export G4VIS_BUILD_OPACS_DRIVER
|
||||
export G4VIS_USE_OPACS
|
||||
export G4VIS_BUILD_OPENGL_DRIVER
|
||||
export G4VIS_USE_OPENGL
|
||||
export G4VIS_BUILD_OPENGLX_DRIVER
|
||||
export G4VIS_USE_OPENGLX
|
||||
export G4VIS_BUILD_OIX_DRIVER
|
||||
export G4VIS_USE_OIX
|
||||
export G4VIS_BUILD_RAYTRACER_DRIVER
|
||||
export G4VIS_USE_RAYTRACER
|
||||
export G4VIS_BUILD_VRML_DRIVER
|
||||
export G4VIS_USE_VRML
|
||||
export G4VIS_BUILD_VRMLFILE_DRIVER
|
||||
export G4VIS_USE_VRMLFILE
|
||||
export G4VIS_BUILD_ASCIITREE_DRIVER
|
||||
export G4VIS_USE_ASCIITREE
|
||||
|
||||
export G4LIB_BUILD_SHARED
|
||||
export G4LIB_BUILD_STATIC
|
||||
export G4LIB_USE_SHARED
|
||||
export G4LIB_USE_STATIC
|
||||
|
||||
###############################################
|
||||
|
||||
|
||||
#####################################################################
|
||||
echo "On this machine the G4SYSTEM=\$G4SYSTEM"
|
||||
|
||||
echo "On this machine the G4INSTALL=\$G4INSTALL"
|
||||
echo "On this machine the G4INCLUDE=\$G4INCLUDE"
|
||||
echo "On this machine the G4BASE=\$G4BASE"
|
||||
echo "On this machine the G4WORKDIR=\$G4WORKDIR"
|
||||
echo "On this machine the G4TMP=\$G4TMP"
|
||||
echo "On this machine the G4LIB=\$G4LIB"
|
||||
echo "On this machine the G4BIN=\$G4BIN"
|
||||
echo "On this machine the G4DATA=\$G4DATA"
|
||||
echo "On this machine the G4LEVELGAMMADATA=\$G4LEVELGAMMADATA"
|
||||
|
||||
echo "On this machine the CLHEP_BASE_DIR=\$CLHEP_BASE_DIR"
|
||||
echo "On this machine the CLHEP_INCLUDE_DIR=\$CLHEP_INCLUDE_DIR"
|
||||
echo "On this machine the CLHEP_LIB_DIR=\$CLHEP_LIB_DIR"
|
||||
echo "On this machine the CLHEP_LIB=\$CLHEP_LIB"
|
||||
|
||||
echo "On this machine the G4USE_OSPACE=\$G4USE_OSPACE"
|
||||
echo "On this machine the G4OSPACE_BASE_DIR=\$G4OSPACE_BASE_DIR"
|
||||
|
||||
echo "On this machine the G4LIB_USE_GRANULAR=\$G4LIB_USE_GRANULAR"
|
||||
|
||||
echo "On this machine the G4DEBUG=\$G4DEBUG"
|
||||
|
||||
echo "On this machine the G4UI_BUILD_TERMINAL_SESSION=\$G4UI_BUILD_TERMINAL_SESSION"
|
||||
echo "On this machine the G4UI_USE_TERMINAL=\$G4UI_USE_TERMINAL"
|
||||
echo "On this machine the G4UI_BUILD_GAG_SESSION=\$G4UI_BUILD_GAG_SESSION"
|
||||
echo "On this machine the G4UI_USE_GAG=\$G4UI_USE_GAG"
|
||||
echo "On this machine the G4UI_BUILD_XAW_SESSION=\$G4UI_BUILD_XAW_SESSION"
|
||||
echo "On this machine the G4UI_USE_XAW=\$G4UI_USE_XAW"
|
||||
echo "On this machine the G4UI_BUILD_XM_SESSION=\$G4UI_BUILD_XM_SESSION"
|
||||
echo "On this machine the G4UI_USE_XM=\$G4UI_USE_XM"
|
||||
echo "On this machine the G4UI_BUILD_WIN32_SESSION=\$G4UI_BUILD_WIN32_SESSION"
|
||||
echo "On this machine the G4UI_USE_WIN32=\$G4UI_USE_WIN32"
|
||||
echo "On this machine the G4UI_USE_TCSH=\$G4UI_USE_TCSH"
|
||||
|
||||
echo "On this machine the G4ANALYSIS_BUILD=\$G4ANALYSIS_BUILD"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LAB=\$G4ANALYSIS_BUILD_LAB"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_JAS=\$G4ANALYSIS_BUILD_JAS"
|
||||
echo "On this machine the G4ANALYSIS_BUILD_LIZARD=\$G4ANALYSIS_BUILD_LIZARD"
|
||||
echo "On this machine the G4ANALYSIS_USE=\$G4ANALYSIS_USE"
|
||||
echo "On this machine the G4ANALYSIS_USE_LAB=\$G4ANALYSIS_USE_LAB"
|
||||
echo "On this machine the G4ANALYSIS_USE_JAS=\$G4ANALYSIS_USE_JAS"
|
||||
echo "On this machine the G4ANALYSIS_USE_LIZARD=\$G4ANALYSIS_USE_LIZARD"
|
||||
|
||||
echo "On this machine the G4USE_HEPODBMS=\$G4USE_HEPODBMS"
|
||||
|
||||
echo "On this machine the G4VIS_BUILD_DAWN_DRIVER=\$G4VIS_BUILD_DAWN_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWN=\$G4VIS_USE_DAWN"
|
||||
echo "On this machine the G4VIS_BUILD_DAWNFILE_DRIVER=\$G4VIS_BUILD_DAWNFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_DAWNFILE=\$G4VIS_USE_DAWNFILE"
|
||||
echo "On this machine the G4VIS_BUILD_OPACS_DRIVER=\$G4VIS_BUILD_OPACS_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPACS=\$G4VIS_USE_OPACS"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGL_DRIVER=\$G4VIS_BUILD_OPENGL_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGL=\$G4VIS_USE_OPENGL"
|
||||
echo "On this machine the G4VIS_BUILD_OPENGLX_DRIVER=\$G4VIS_BUILD_OPENGLX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OPENGLX=\$G4VIS_USE_OPENGLX"
|
||||
echo "On this machine the G4VIS_BUILD_OIX_DRIVER=\$G4VIS_BUILD_OIX_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_OIX=\$G4VIS_USE_OIX"
|
||||
echo "On this machine the G4VIS_BUILD_RAYTRACER_DRIVER=\$G4VIS_BUILD_RAYTRACER_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_RAYTRACER=\$G4VIS_USE_RAYTRACER"
|
||||
echo "On this machine the G4VIS_BUILD_VRML_DRIVER=\$G4VIS_BUILD_VRML_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRML=\$G4VIS_USE_VRML"
|
||||
echo "On this machine the G4VIS_BUILD_VRMLFILE_DRIVER=\$G4VIS_BUILD_VRMLFILE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_VRMLFILE=\$G4VIS_USE_VRMLFILE"
|
||||
echo "On this machine the G4VIS_BUILD_ASCIITREE_DRIVER=\$G4VIS_BUILD_ASCIITREE_DRIVER"
|
||||
echo "On this machine the G4VIS_USE_ASCIITREE=\$G4VIS_USE_ASCIITREE"
|
||||
|
||||
echo "On this machine the G4LIB_BUILD_SHARED=\$G4LIB_BUILD_SHARED"
|
||||
echo "On this machine the G4LIB_BUILD_STATIC=\$G4LIB_BUILD_STATIC"
|
||||
echo "On this machine the G4LIB_USE_SHARED=\$G4LIB_USE_SHARED"
|
||||
echo "On this machine the G4LIB_USE_STATIC=\$G4LIB_USE_STATIC"
|
||||
|
||||
###############################################################
|
||||
echo ""
|
||||
echo "Starting installation..."
|
||||
echo ""
|
||||
cd $g4install/source
|
||||
echo `pwd`
|
||||
|
||||
# THere is no env!
|
||||
if [ X$g4global = Xy ] ; then
|
||||
gmake global
|
||||
fi
|
||||
|
||||
# There is env for binaries - for User: should be set in env.[c]sh!
|
||||
if [ X$g4granular = Xy ] ; then
|
||||
G4LIB_USE_GRANULAR=1
|
||||
export G4LIB_USE_GRANULAR
|
||||
gmake
|
||||
fi
|
||||
else
|
||||
gmake
|
||||
fi
|
||||
|
||||
# There is no env!
|
||||
if [ X$g4includes_flag = Xy ] ; then
|
||||
gmake includes
|
||||
fi
|
||||
|
||||
!GROK!THIS!
|
||||
|
||||
: In the following dollars and backticks do not need the extra backslash.
|
||||
@@ -595,3 +393,4 @@ $spitshell >>install.sh <<'!NO!SUBS!'
|
||||
!NO!SUBS!
|
||||
chmod 755 install.sh
|
||||
$eunicefix install.sh
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ ifeq ($(G4SYSTEM),AIX-xlC)
|
||||
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
||||
endif
|
||||
CPPFLAGS += -DG4NOT_ISO_DELETES
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include/g4std/wrappers/$(G4SYSTEM)
|
||||
ifdef G4USE_OSPACE
|
||||
CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT
|
||||
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
||||
|
||||
@@ -27,7 +27,7 @@ ifeq ($(G4SYSTEM),DEC-cxx)
|
||||
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
||||
# OGLLIBS := -lMesaGLU -lMesaGL
|
||||
endif
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include/g4std/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
|
||||
|
||||
@@ -39,7 +39,7 @@ ifeq ($(G4SYSTEM),HP-aCC)
|
||||
OGLLIBS += -L/opt/graphics/common/lib -lXwindow -lhpgfx -lXhp11 -ldld
|
||||
endif
|
||||
CPPFLAGS += -DG4NOT_ISO_DELETES
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include/g4std/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
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
#
|
||||
# ------ GNU/LINUX ------
|
||||
#
|
||||
ifeq ($(G4SYSTEM),Linux-egcs)
|
||||
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 G4PROFILE
|
||||
CXXFLAGS += -pg
|
||||
FCFLAGS += -pg
|
||||
CCFLAGS += -pg
|
||||
endif
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -fPIC
|
||||
FCFLAGS += -fPIC
|
||||
CCFLAGS += -fPIC
|
||||
endif
|
||||
G4RUNPATHOPTION := -Wl,-rpath
|
||||
FC := g77
|
||||
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
|
||||
FCLIBS := -lg2c -lnsl
|
||||
ECHO := /bin/echo -e
|
||||
SHEXT := so
|
||||
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
|
||||
DLDLIBS := -ldl
|
||||
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
|
||||
G4DDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd="" -DG4std=""
|
||||
endif
|
||||
define build-granular-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMPDIR); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) *.o
|
||||
endef
|
||||
define build-global-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
|
||||
endif
|
||||
+11
-15
@@ -1,11 +1,11 @@
|
||||
#
|
||||
# ------ GNU/LINUX ------
|
||||
# ------ GNU/LINUX ------ gcc 2.95.2
|
||||
#
|
||||
ifeq ($(G4SYSTEM),Linux-g++)
|
||||
CXX := g++
|
||||
GNU_GCC = 1
|
||||
# CXXFLAGS := -Wall -ansi -pedantic -pipe -fno-for-scope -DGNU_GCC
|
||||
CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
|
||||
CXXFLAGS := -Wall -ansi -pedantic -pipe -fno-for-scope -DGNU_GCC
|
||||
# CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O
|
||||
FCFLAGS := -O
|
||||
@@ -17,6 +17,11 @@ ifeq ($(G4SYSTEM),Linux-g++)
|
||||
CCFLAGS := -g
|
||||
endif
|
||||
endif
|
||||
ifdef G4PROFILE
|
||||
CXXFLAGS += -pg
|
||||
FCFLAGS += -pg
|
||||
CCFLAGS += -pg
|
||||
endif
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -fPIC
|
||||
FCFLAGS += -fPIC
|
||||
@@ -40,19 +45,10 @@ ifeq ($(G4SYSTEM),Linux-g++)
|
||||
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)
|
||||
# else
|
||||
# G4USE_STD_NAMESPACE := yes
|
||||
# CPPFLAGS += -DG4USE_STD_NAMESPACE
|
||||
endif
|
||||
G4USE_STD_NAMESPACE := yes
|
||||
CPPFLAGS += -DG4USE_STD_NAMESPACE
|
||||
ifdef G4ODBMS
|
||||
GCCVERSION := $(shell g++ -v 2>&1 | grep version | grep egcs)
|
||||
ifeq ($(findstring 1.1,$(GCCVERSION)),1.1)
|
||||
G4DDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd=""
|
||||
endif
|
||||
G4DDLX_FLAGS += -DG4std=""
|
||||
endif
|
||||
define build-granular-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
|
||||
@@ -27,7 +27,7 @@ ifeq ($(G4SYSTEM),SGI-CC)
|
||||
OGLLIBS := -L/usr/lib -lGLU -lGL
|
||||
endif
|
||||
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include/g4std/wrappers/$(G4SYSTEM)
|
||||
ifdef G4USE_OSPACE
|
||||
CPPFLAGS += -DOS_IRIX_6_5 -DOS_NEW_CHECK -DOS_STL_ASSERT
|
||||
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
||||
|
||||
+19
-5
@@ -12,13 +12,15 @@ ifeq ($(G4SYSTEM),SUN-CC)
|
||||
CCFLAGS := -g
|
||||
endif
|
||||
endif
|
||||
CXXFLAGS += -features=no%anachronisms -mt -lpthread
|
||||
# CXXFLAGS += -fnonstd
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -KPIC
|
||||
FCFLAGS += -KPIC
|
||||
CCFLAGS += -KPIC
|
||||
endif
|
||||
G4RUNPATHOPTION = -R
|
||||
# CXXFLAGS += -fnonstd
|
||||
G4RUNPATHOPTION := -R
|
||||
G4_HAVE_BOOL := yes
|
||||
CFRONT_G4TEMPLATE_REPOSITORY := true
|
||||
FC := f77
|
||||
SHEXT := so
|
||||
@@ -44,11 +46,24 @@ ifeq ($(G4SYSTEM),SUN-CC)
|
||||
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
|
||||
LOADLIBS += -L/usr/lib -lsocket -lnsl
|
||||
CPPFLAGS += -DG4NOT_ISO_DELETES
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
ifdef G4ODBMS
|
||||
G4DDLX_FLAGS += -noline
|
||||
endif
|
||||
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
|
||||
ifdef G4ODBMS
|
||||
G4DDLX_FLAGS += -DG4std="std"
|
||||
endif
|
||||
else
|
||||
CXXFLAGS += -compat
|
||||
endif
|
||||
endif
|
||||
|
||||
define build-granular-shared-lib
|
||||
@@ -61,6 +76,5 @@ ifeq ($(G4SYSTEM),SUN-CC)
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
|
||||
endef
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# -------- SUN ---------
|
||||
#
|
||||
ifeq ($(G4SYSTEM),SUN-CC5)
|
||||
# -------- SUN --------- !!! not supported !!!
|
||||
# SUN CC-4.2
|
||||
ifeq ($(G4SYSTEM),SUN-CC4)
|
||||
CXX := CC
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS := -O
|
||||
@@ -12,15 +12,13 @@ ifeq ($(G4SYSTEM),SUN-CC5)
|
||||
CCFLAGS := -g
|
||||
endif
|
||||
endif
|
||||
CXXFLAGS += -features=no%anachronisms -mt -lpthread
|
||||
# CXXFLAGS += -fnonstd
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -KPIC
|
||||
FCFLAGS += -KPIC
|
||||
CCFLAGS += -KPIC
|
||||
endif
|
||||
G4RUNPATHOPTION := -R
|
||||
G4_HAVE_BOOL := yes
|
||||
G4RUNPATHOPTION = -R
|
||||
# CXXFLAGS += -fnonstd
|
||||
CFRONT_G4TEMPLATE_REPOSITORY := true
|
||||
FC := f77
|
||||
SHEXT := so
|
||||
@@ -46,22 +44,14 @@ ifeq ($(G4SYSTEM),SUN-CC5)
|
||||
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
|
||||
LOADLIBS += -L/usr/lib -lsocket -lnsl
|
||||
CPPFLAGS += -DG4NOT_ISO_DELETES
|
||||
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
|
||||
ifdef G4ODBMS
|
||||
G4DDLX_FLAGS += -noline
|
||||
endif
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include/g4std/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
|
||||
ifdef G4ODBMS
|
||||
G4DDLX_FLAGS += -DG4std=""
|
||||
endif
|
||||
|
||||
define build-granular-shared-lib
|
||||
@@ -74,5 +64,6 @@ ifeq ($(G4SYSTEM),SUN-CC5)
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -G $(CXXTEMPLATE_FLAGS) -o $$libdir/$(@F) -h $(@F) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
endef
|
||||
|
||||
endif
|
||||
@@ -47,7 +47,7 @@ ifeq ($(G4SYSTEM),WIN32-g++)
|
||||
CPPFLAGS += -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)
|
||||
endif
|
||||
ifdef G4ODBMS
|
||||
G4DDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd=""
|
||||
G4DDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd="" -DG4std=""
|
||||
endif
|
||||
|
||||
define build-granular-shared-lib
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: EXPO.cc,v 1.8.4.1 2001/06/28 19:06:29 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TEST.cc,v 1.3.4.1 2001/06/28 19:06:29 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: EXPO_Detector.icc,v 1.3.4.1 2001/06/28 19:06:31 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// See also G4/run/example/MyDetectorConstruction.cc.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: EXPO_PhysicsList.hh,v 1.4.4.1 2001/06/28 19:06:31 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: EXPO_PhysicsList.icc,v 1.4.4.1 2001/06/28 19:06:31 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: EXPO_Primary.icc,v 1.3.4.1 2001/06/28 19:06:31 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// See also G4/run/example/EXPO_PrimaryGeneratorAction.cc.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4o.h,v 1.3.4.1 2001/06/28 19:06:31 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oCommon.hh,v 1.3.4.1 2001/06/28 19:06:32 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/*
|
||||
Included by G4o.h.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oCommon.icc,v 1.3.4.1 2001/06/28 19:06:32 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/*
|
||||
Included by G4o.cc.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oDrawer.hh,v 1.3.4.1 2001/06/28 19:06:32 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oEXPO.h,v 1.3.4.1 2001/06/28 19:06:32 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oScene.hh,v 1.4.4.1 2001/06/28 19:06:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oState.hh,v 1.4.4.1 2001/06/28 19:06:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
#ifndef G4oState_h
|
||||
#define G4oState_h
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: WoG4o.h,v 1.3.4.1 2001/06/28 19:06:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4o.cc,v 1.7.4.1 2001/06/28 19:06:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/*
|
||||
#define DEBUG
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oDrawer.cc,v 1.6.4.1 2001/06/28 19:06:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/*
|
||||
From geant4/visualization/management/src/G4VisManager.cc.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oScene.cc,v 1.7.4.1 2001/06/28 19:06:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
/* +---------------------- Copyright notice -------------------------------+ */
|
||||
/* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4oState.cc,v 1.6.4.1 2001/06/28 19:06:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//#define DEBUG
|
||||
|
||||
|
||||
+13
-1
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.59 2001/01/25 11:58:05 stesting Exp $
|
||||
$Id: History,v 1.63 2001/12/13 17:49:48 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,18 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
13th December 2001 Gabriele Cosmo (examples-V03-02-05)
|
||||
- Updated reference outputs.
|
||||
|
||||
12th December 2001 John Allison (examples-V03-02-04)
|
||||
- Updated new VisManagers for new graphics systems and defaults.
|
||||
|
||||
19th November 2001 John Allison (examples-V03-02-02)
|
||||
- Updated VisManagers for new graphics systems and defaults.
|
||||
|
||||
23-Oct-2001 Gabriele Cosmo (examples-V03-02-01)
|
||||
- Synchronised with HEAD revision. Removal of all occurences of RW wrappers.
|
||||
|
||||
25-Jan-2001 Steve O'Neale (examples-V03-00-00)
|
||||
- Updated all "small_N" test outputs
|
||||
|
||||
|
||||
+28
-15
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.2 1999/05/31 08:14:43 asaim Exp $
|
||||
$Id: README,v 1.3 2001/10/23 15:24:08 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,16 +14,18 @@ in a correct way those user-classes which the user is supposed to
|
||||
customize in order to define his/her own simulation setup.
|
||||
One set of examples is oriented to "novice" users and covering all
|
||||
possible general use-cases typical of an "application"-oriented kind of
|
||||
development. An "Extended" set of examples require some additional
|
||||
libraries besides of Geant4. This set covers some realistic use cases
|
||||
for actual detector simulation for HEP. An "advanced" set of examples
|
||||
(not yet available at the current time), will cover the use-cases typical
|
||||
of a "toolkit"-oriented kind of development.
|
||||
development. An "extended" set of examples require some additional
|
||||
libraries besides of Geant4. This set covers some specific use cases
|
||||
for actual detector simulation. An "advanced" set of examples covers
|
||||
the use-cases typical of a "toolkit"-oriented kind of development,
|
||||
where real complete applications for different simulation studies are
|
||||
provided; may require additional third party products to be built.
|
||||
Most of the examples can be run both in interactive and batch mode, and
|
||||
input macro files (*.in) and reference output files (*.out) are provided.
|
||||
These examples are considered part of the validation procedure for the
|
||||
official releases of the GEANT4 toolkit, as "acceptance"-testing phase
|
||||
of the validation process.
|
||||
Novice and most of the extended examples are considered part of the
|
||||
system testing suite for validation of the official releases of the
|
||||
GEANT4 toolkit. Novice examples are used as "acceptance"-tests for the
|
||||
release process.
|
||||
|
||||
Novice level examples
|
||||
ExampleN01
|
||||
@@ -48,10 +50,21 @@ Novice level examples
|
||||
- Optical photon processes
|
||||
|
||||
Extended level examples
|
||||
ExampleE01
|
||||
- CLHEP histogramming
|
||||
ExampleE02
|
||||
- Persistency by HepODBMS (CERN RD45)
|
||||
ExampleE03
|
||||
- STEP geometry interface
|
||||
analysis
|
||||
- Histogramming through the AIDA interface
|
||||
electromagnetic
|
||||
- Specific EM physics simulation with histogramming
|
||||
field
|
||||
- Specific simulation setups in magnetic field
|
||||
g3tog3
|
||||
- Examples of usage of the g3tog4 converter tool
|
||||
persistency
|
||||
- Persistency through the HepODBMS interface
|
||||
|
||||
Advanced level examples
|
||||
brachytherapy
|
||||
- Setup for brachytherapy Ir-192 HDR source
|
||||
gammaray_telescope
|
||||
- Simulation of a typical telescope for gamma ray analysis
|
||||
xray_telescope
|
||||
- Realistic simulation of an X-ray Telescope
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:17 gunter Exp $
|
||||
# $Id: GNUmakefile,v 1.3 2001/12/04 13:38:55 gcosmo Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -9,7 +9,8 @@ endif
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
SUBDIRS = A01 A02 A03 A04 A05 A06
|
||||
SUBDIRS = brachytherapy gammaray_telescope underground_physics
|
||||
SUBDIRS += xray_fluorescence xray_telescope
|
||||
|
||||
.PHONY : all clean clean_libs
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.1 1999/01/07 16:05:17 gunter Exp $
|
||||
$Id: README,v 1.2 2001/10/23 15:09:27 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -8,3 +8,12 @@ $Id: README,v 1.1 1999/01/07 16:05:17 gunter Exp $
|
||||
Advanced Examples
|
||||
-----------------
|
||||
|
||||
In this directory one can find examples of real complete applications used
|
||||
for different simulation studies. The applications included here may require
|
||||
third party products for handling of the data produced (visualization,
|
||||
analysis or persistency tools). Refer to the README and documentation provided
|
||||
in each example for the details.
|
||||
These application are made part of the official GEANT4 distribution, however
|
||||
their maintenance and updates is under responsibility of the authors. These
|
||||
applications are not subject to regular system testing.
|
||||
|
||||
|
||||
@@ -19,10 +19,7 @@
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: Brachy.cc,v 1.4.4.1 2001/06/28 19:06:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// GEANT 4 - Brachytherapy example
|
||||
@@ -37,12 +34,13 @@
|
||||
//
|
||||
// Simplified gamma generation is used.
|
||||
// Source axis is oriented along Z axis.
|
||||
// Voxel data on the X-Z plane is output to ASCII file
|
||||
// Voxel data on the X-Z plan
|
||||
//e is output to ASCII file
|
||||
// "Brachy.out".
|
||||
//
|
||||
// For information related to this code contact the developers.
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
//
|
||||
// $Id: Brachy.cc,v 1.8 2001/12/13 13:44:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
|
||||
#include "BrachyEventAction.hh"
|
||||
#include "BrachyDetectorConstruction.hh"
|
||||
@@ -50,6 +48,7 @@
|
||||
#include "BrachyPrimaryGeneratorAction.hh"
|
||||
#include "BrachyWaterBoxSD.hh"
|
||||
|
||||
|
||||
#include "Randomize.hh"
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4SDManager.hh"
|
||||
@@ -58,7 +57,7 @@
|
||||
int main()
|
||||
{
|
||||
// Number of generated photons
|
||||
G4int NumberOfEvents = 10;
|
||||
G4int NumberOfEvents = 1000;
|
||||
|
||||
// Define number of voxels in X-Z plane
|
||||
G4int NumVoxelX = 101;
|
||||
@@ -103,8 +102,15 @@ int main()
|
||||
// Format = x coord [mm] <tab> z coord [mm] <tab> edep [MeV] <eol>
|
||||
ofs.open("Brachy.out");
|
||||
{
|
||||
G4double VoxelWidth_X = pDetectorConstruction->m_BoxDimX/NumVoxelX;
|
||||
G4double VoxelWidth_Z = pDetectorConstruction->m_BoxDimZ/NumVoxelZ;
|
||||
|
||||
ofs<<" x(mm)"<<'\t'<<"z(mm)"<<'\t'<<"released energy(Mev)"
|
||||
<<G4endl;
|
||||
|
||||
|
||||
|
||||
G4double VoxelWidth_X = pDetectorConstruction->GetBoxDim_X()/NumVoxelX;
|
||||
G4double VoxelWidth_Z = pDetectorConstruction->GetBoxDim_Z()/NumVoxelZ;
|
||||
|
||||
G4double x,z;
|
||||
|
||||
for(G4int k=0;k<NumVoxelZ;k++)
|
||||
@@ -118,8 +124,12 @@ int main()
|
||||
|
||||
// Do not consider near voxels
|
||||
if(fabs(x) > 3*mm || fabs(z) > 6*mm)
|
||||
ofs << x << '\t' << z << '\t' << pVoxel[j] << G4endl;
|
||||
}
|
||||
{ ofs << x << '\t' << z << '\t' << pVoxel[j] << G4endl;
|
||||
//check released energy
|
||||
// if(pVoxel[j]!=0)
|
||||
// G4cout<<x<<'\t'<<z<< '\t'<<pVoxel[j]<<G4endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
ofs.close();
|
||||
}
|
||||
@@ -132,3 +142,13 @@ int main()
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -42,17 +42,20 @@ class BrachyDetectorConstruction : public G4VUserDetectorConstruction
|
||||
~BrachyDetectorConstruction();
|
||||
|
||||
public:
|
||||
const G4double m_BoxDimX;
|
||||
const G4double m_BoxDimY;
|
||||
const G4double m_BoxDimZ;
|
||||
|
||||
const G4int m_NumVoxelX;
|
||||
const G4int m_NumVoxelZ;
|
||||
|
||||
G4String m_SDName;
|
||||
|
||||
G4double GetBoxDim_X() {return m_BoxDimX;};
|
||||
G4double GetBoxDim_Z() {return m_BoxDimZ;};
|
||||
|
||||
public:
|
||||
G4VPhysicalVolume* Construct();
|
||||
};
|
||||
|
||||
private:
|
||||
const G4int m_NumVoxelX;
|
||||
const G4int m_NumVoxelZ;
|
||||
G4double m_BoxDimX;
|
||||
G4double m_BoxDimY;
|
||||
G4double m_BoxDimZ;
|
||||
G4String m_SDName;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
@@ -42,13 +42,17 @@ class BrachyEventAction : public G4UserEventAction
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
|
||||
public:
|
||||
|
||||
|
||||
private:
|
||||
|
||||
const G4int m_NumVoxelX;
|
||||
const G4int m_NumVoxelZ;
|
||||
G4float *m_pVoxel;
|
||||
|
||||
private:
|
||||
G4int m_HitsCollectionID;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
|
||||
#ifndef BrachyWaterBoxROGeometry_h
|
||||
#define BrachyWaterBoxROGeometry_h 1
|
||||
#define BrachyWaterBoxROGeometry_h
|
||||
|
||||
#include "G4VReadOutGeometry.hh"
|
||||
|
||||
@@ -38,7 +38,7 @@ class BrachyWaterBoxROGeometry : public G4VReadOutGeometry
|
||||
BrachyWaterBoxROGeometry(G4String aString,G4double DetDimX,G4double DetDimZ,G4int NumVoxelX,G4int NumVoxelZ);
|
||||
~BrachyWaterBoxROGeometry();
|
||||
|
||||
public:
|
||||
private:
|
||||
const G4double m_DetDimX;
|
||||
const G4double m_DetDimZ;
|
||||
const G4int m_NumVoxelX;
|
||||
|
||||
@@ -89,3 +89,15 @@ void BrachyEventAction::EndOfEventAction(const G4Event* evt)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.3 2000/12/06 16:53:11 flongo Exp $
|
||||
# $Id: GNUmakefile,v 1.17 2001/12/10 08:52:09 gcosmo Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -11,13 +11,28 @@ ifndef G4INSTALL
|
||||
G4INSTALL = ../../..
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
all: lib bin
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
# Copy the GammaRayTelAnalysis files according to which version
|
||||
# is selected.
|
||||
# As the dependency is checked before "all" is reached, we need
|
||||
# to do some tricks here ...
|
||||
|
||||
ifdef G4ANALYSIS_AIDA_CONFIG_CFLAGS
|
||||
# AIDA (version 2.2 for now) selected
|
||||
FOO := $(shell cp -p include/GammaRayTelAnalysis.hh-AIDA include/GammaRayTelAnalysis.hh )
|
||||
FOO := $(shell cp -p src/GammaRayTelAnalysis.cc-AIDA src/GammaRayTelAnalysis.cc )
|
||||
else
|
||||
# Anaphe selected
|
||||
include anaphe.gmk
|
||||
FOO := $(shell cp -p include/GammaRayTelAnalysis.hh-Anaphe include/GammaRayTelAnalysis.hh )
|
||||
FOO := $(shell cp -p src/GammaRayTelAnalysis.cc-Anaphe src/GammaRayTelAnalysis.cc )
|
||||
endif
|
||||
|
||||
# End Analysis.
|
||||
|
||||
.PHONY: all
|
||||
all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTel.cc,v 1.3.4.2 2001/06/28 20:18:35 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTel.cc,v 1.8 2001/12/04 11:40:27 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -33,11 +33,14 @@
|
||||
// ------------ GammaRayTel example main program ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (29 nov 2000)
|
||||
// See README file for details on this example
|
||||
// 20.11.01 G.Santin: new analysis management, and some modification in the
|
||||
// construction of some Action's
|
||||
// ************************************************************
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4UIterminal.hh"
|
||||
#include "G4UItcsh.hh"
|
||||
|
||||
#ifdef G4UI_USE_XM
|
||||
#include "G4UIXm.hh"
|
||||
@@ -54,9 +57,11 @@
|
||||
#include "GammaRayTelEventAction.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
#endif
|
||||
|
||||
//using namespace Lizard;
|
||||
|
||||
|
||||
/* This global file is used to store relevant data for
|
||||
analysis with external tools */
|
||||
@@ -75,24 +80,17 @@ int main(int argc, char** argv)
|
||||
runManager->SetUserInitialization(new GammaRayTelPhysicsList);
|
||||
|
||||
// Set mandatory user action classes
|
||||
runManager->SetUserAction(new GammaRayTelPrimaryGeneratorAction(detector));
|
||||
runManager->SetUserAction(new GammaRayTelPrimaryGeneratorAction);
|
||||
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
// Creation of the analysis manager
|
||||
GammaRayTelAnalysisManager* analysisMgr = new GammaRayTelAnalysisManager(detector);
|
||||
GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance();
|
||||
#endif
|
||||
|
||||
// Set optional user action classes
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelEventAction* eventAction =
|
||||
new GammaRayTelEventAction(analysisMgr);
|
||||
GammaRayTelRunAction* runAction =
|
||||
new GammaRayTelRunAction(analysisMgr);
|
||||
#else
|
||||
GammaRayTelEventAction* eventAction = new GammaRayTelEventAction();
|
||||
GammaRayTelRunAction* runAction = new GammaRayTelRunAction();
|
||||
#endif
|
||||
runManager->SetUserAction(eventAction);
|
||||
runManager->SetUserAction(runAction);
|
||||
|
||||
@@ -102,10 +100,15 @@ int main(int argc, char** argv)
|
||||
#ifdef G4UI_USE_XM
|
||||
// Create a XMotif user interface
|
||||
session = new G4UIXm(argc,argv);
|
||||
#else
|
||||
#ifdef G4UI_USE_TCSH
|
||||
session = new G4UIterminal(new G4UItcsh);
|
||||
#else
|
||||
// Create the standard user interface
|
||||
session = new G4UIterminal;
|
||||
session = new G4UIterminal();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef G4VIS_USE
|
||||
// Visualization manager
|
||||
G4VisManager* visManager = new GammaRayTelVisManager;
|
||||
@@ -143,7 +146,7 @@ int main(int argc, char** argv)
|
||||
delete visManager;
|
||||
#endif
|
||||
#ifdef G4ANALYSIS_USE
|
||||
delete analysisMgr;
|
||||
delete analysis;
|
||||
#endif
|
||||
delete runManager;
|
||||
return 0;
|
||||
@@ -156,3 +159,5 @@ int main(int argc, char** argv)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.2 2000/12/06 16:53:12 flongo Exp $
|
||||
$Id: README,v 1.11 2001/12/07 12:57:30 pfeiffer Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -19,12 +19,14 @@ GammaRayTel is an example of application of Geant4 in a space
|
||||
envinronment. It simulates a typical telescope for gamma ray analysis;
|
||||
the detector setup is composed by a tracker made with silicon planes,
|
||||
subdivided in ladders and strips, a CsI calorimeter and an
|
||||
anticoincidence system. In this version, only the tracker is made
|
||||
sensitive; the hits on the tracker strips are registered and relevant
|
||||
anticoincidence system. In this version, the three detectors are made
|
||||
sensitive but only the hits on the tracker strips are registered and relevant
|
||||
information (energy deposition, position etc) are dumped to an external
|
||||
ASCII file for subsequent analysis. If Lizard is available on the user
|
||||
platform, than some histograms with relevant hits information are
|
||||
displayed and saved as PostScript files.
|
||||
ASCII file for subsequent analysis. If the user has set up the
|
||||
AIDA (version 2.2 or compatible) environment or Anaphe/Lizard is available,
|
||||
then some histograms with relevant hits information are displayed
|
||||
and saved as PostScript files, and histograms and ntuples with
|
||||
relevant information are stored on a HBOOK file.
|
||||
|
||||
The main features of this example are
|
||||
|
||||
@@ -39,11 +41,12 @@ The main features of this example are
|
||||
subdivisions of the planes of the tracker (strips) without
|
||||
affecting in a relevant way the simulation performances
|
||||
|
||||
d) Histogramming for Linux and Solaris platform via the
|
||||
Lizard system (tested on Linux platform); this is a preliminary
|
||||
feature of GEANT4, so expect some changes and/or improvements in
|
||||
future releases
|
||||
|
||||
d) Histograming facilities are presently provided for the Linux
|
||||
environment either by using the AIDA interfaces, or through
|
||||
the Anaphe/Lizard system. The AIDA compliant version has not
|
||||
been tested by the developers and is here as a example of
|
||||
"forward compatibility" on how to use analysis.
|
||||
|
||||
e) User interfaces via Xmotif or normal terminal provided
|
||||
|
||||
|
||||
@@ -67,36 +70,43 @@ The main features of this example are
|
||||
- Setup for Xmotif user interface
|
||||
|
||||
setenv G4UI_USE_XM 1
|
||||
(IMPORTANT: Do not set G4ANALYSIS_USE_NTUPLE when using XM!)
|
||||
|
||||
|
||||
|
||||
- Set up for analysis using Lizard
|
||||
|
||||
IMPORTANT: be sure that your G4 installation has been done properly;
|
||||
in particular be sure that the following environment variables are
|
||||
set prior to build the library (this is working only on Linux and
|
||||
Solaris platform)
|
||||
|
||||
setenv G4ANALYSIS_BUILD 1 # Build the analysis tools
|
||||
setenv G4ANALYSIS_BUILD_LIZARD 1 # Build the Lizard interface
|
||||
setenv LIZARDROOT /usr/local/freeLizard/3.2.0 #get correct path
|
||||
|
||||
For example at CERN the path is
|
||||
setenv LIZARDROOT /afs/cern.ch/project/asddat/lhcxx/3.2.0/freeLizard/3.2.0
|
||||
|
||||
- Set up for analysis using AIDA
|
||||
|
||||
To compile the GammaRayTel example with the analysis tools activated,
|
||||
set the following variables
|
||||
|
||||
setenv G4ANALYSIS_USE 1 # Use the analysis tools
|
||||
setenv G4ANALYSIS_USE_LIZARD 1 # Use the Lizard one
|
||||
|
||||
and be sure to have the right path to the Lizard library
|
||||
To be sure to have the right compilation and link flags, the
|
||||
'aida-config' command, provided by an AIDA compliant implementation
|
||||
must be up and running ; in particular 'aida-config --cflags' and
|
||||
'aida-config --libs' must be active.
|
||||
|
||||
#add to the LD_LIBRARY_PATH (get correct path)
|
||||
setenv LD_LIBRARY_PATH /usr/local/freeLizard/3.2.0/Linux/lib
|
||||
- Set up for analysis using Anaphe/Lizard
|
||||
|
||||
For example at CERN the path is
|
||||
setenv LD_LIBRARY_PATH /afs/cern.ch/project/asddat/lhcxx/3.2.0/freeLizard/3.2.0/Linux/lib
|
||||
To compile the GammaRayTel example with the analysis tools activated,
|
||||
set the following variables
|
||||
|
||||
setenv G4ANALYSIS_USE 1 # Use the analysis tools
|
||||
setenv G4ANALYSIS_USE_NTUPLE 1 # To store Ntuples
|
||||
|
||||
(IMPORTANT: Do not set G4UI_USE_XM when using Ntuples!)
|
||||
|
||||
and be sure to have the right path to the Lizard library, inserting this
|
||||
on the .tcshrc:
|
||||
|
||||
(on a CERN machine with the gcc-2.95 compiler)
|
||||
|
||||
setenv PATH ${PATH}:/afs/cern.ch/sw/lhcxx/specific/redhat61/gcc-2.95.2/3.6.5/bin
|
||||
source /afs/cern.ch/sw/lhcxx/share/LHCXX/3.6.5/install/sharedstart.csh
|
||||
|
||||
(on a CERN machine with the egcs-2.91.66 compiler (G4SYSTEM Linux-egcs)
|
||||
|
||||
setenv PATH ${PATH}:/afs/cern.ch/sw/lhcxx/specific/redhat61/egcs_1.1.2/3.6.5-sec/bin
|
||||
source /afs/cern.ch/sw/lhcxx/share/LHCXX/3.6.5-sec/install/sharedstart.csh
|
||||
|
||||
|
||||
2. Sample run
|
||||
@@ -120,6 +130,18 @@ The main features of this example are
|
||||
your local G4 installation (see geant4/source/visualization/README for
|
||||
more information).
|
||||
|
||||
|
||||
ATTENTION:
|
||||
If you use analysis with Lizard, you have to remove any hbook file in the
|
||||
example directory obtained in previous Geant4 sessions. This issues will be
|
||||
solved in future releases. Note also that the following error can be reported
|
||||
during run with analysis activated
|
||||
|
||||
***** ERROR in HLNEXT : Bad sequence for RZ : ID= 1
|
||||
|
||||
Ignore this message; histograms (and ntuples) are correctly saved in the hbook files.
|
||||
|
||||
|
||||
3. Detector description
|
||||
-----------------------
|
||||
|
||||
@@ -163,8 +185,9 @@ The main features of this example are
|
||||
7. Hit
|
||||
------
|
||||
|
||||
In this version only the hits from the TKR are recorded. Each hit
|
||||
contains the following information
|
||||
In this version the hits from the TKR the CAL and the ACD are generated.
|
||||
Only the hit from the TRK are saved. Each TKR hit contains the following
|
||||
information
|
||||
|
||||
a) ID of the event (this is important for multiple events run)
|
||||
b) Energy deposition of the particle in the strip (keV)
|
||||
@@ -176,7 +199,20 @@ The main features of this example are
|
||||
The hit information are saved on an ASCII file named Tracks_N.dat, where
|
||||
N is the progressive ID number associated to the run.
|
||||
|
||||
8. Histogramming
|
||||
8. Analysis
|
||||
----------------
|
||||
|
||||
At present there are two options for analysis packages: either
|
||||
explicitely the Anaphe 3.6.5 (or compatible) version is selected,
|
||||
or any AIDA-2.2 compliant analysis system is chosen. This dual
|
||||
approach will be removed in the next release when only the AIDA
|
||||
compliant version will be present. Presently, the OpenScientist
|
||||
package (version 8) provides an implementation of AIDA 2.2,
|
||||
other packages as Anaphe and JAS will follow soon. The AIDA
|
||||
compliant version has not been tested by the developers and is
|
||||
here as a example of "forward compatibility" on how to use analysis.
|
||||
|
||||
9. Histogramming
|
||||
----------------
|
||||
|
||||
Some hits information can be visualized runtime using Lizard (if it is
|
||||
@@ -207,7 +243,20 @@ The main features of this example are
|
||||
for next releases.
|
||||
|
||||
|
||||
9. Classes Overview
|
||||
10. Digi
|
||||
--------
|
||||
|
||||
For the TKR also the digits corresponding to the Hits are generated.
|
||||
A digi is generated when the hit energy deposit is greater than a threshold
|
||||
(in this example setted at 120 keV).
|
||||
The TKR digi information are stored on the same file Tracks_N.dat and contain:
|
||||
|
||||
a) ID of the event (this is important for multiple events run)
|
||||
b) Number of the strip
|
||||
c) Number of the plane
|
||||
d) Type of the plane (1=X 0=Y)
|
||||
|
||||
11. Classes Overview
|
||||
-------------------
|
||||
|
||||
This is the overview of the classes defined in this example
|
||||
@@ -233,7 +282,7 @@ The main features of this example are
|
||||
Messenger for interactive geometry parameters
|
||||
modification via the User Interface
|
||||
|
||||
GammaRayTelAnalysisManager
|
||||
GammaRayTelAnalysis
|
||||
Analysis manager class with Lizard tool (experimental)
|
||||
|
||||
GammaRayTelAnalysisMessenger
|
||||
@@ -246,14 +295,36 @@ The main features of this example are
|
||||
GammaRayTelEventAction
|
||||
User event action class
|
||||
|
||||
GammaRayTelPayloadHit
|
||||
GammaRayTelTrackerHit
|
||||
Description of the hits on the tracker
|
||||
|
||||
GammaRayTelPayloadROGeometry
|
||||
GammaRayTelDigi
|
||||
Description of the digi on the tracker
|
||||
|
||||
GammaRayTelDigitizer
|
||||
Description of the digitizer for the tracker
|
||||
|
||||
GammaRayTelTrackerROGeometry
|
||||
Description of the readout geometry for strips subdivision
|
||||
|
||||
GammaRayTelPayloadSD
|
||||
Description of the sensitive detector
|
||||
GammaRayTelTrackerSD
|
||||
Description of the TKR sensitive detector
|
||||
|
||||
GammaRayTelAnticoincidenceHit
|
||||
Description of the hits on the anticoincidence
|
||||
|
||||
GammaRayTelAnticoincidenceSD
|
||||
Description of the ACD sensitive detector
|
||||
|
||||
GammaRayTelCalorimeterHit
|
||||
Description of the hits on the calorimeter
|
||||
|
||||
GammaRayTelCalorimeterSD
|
||||
Description of the CAL sensitive detector
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
# Some pieces to include if Anaphe is selected as analysis environment
|
||||
# be aware that this will be obsolete as soon as Anaphe is implementing
|
||||
# the AIDA 2.2 interfaces.
|
||||
|
||||
#
|
||||
# This requires the env-var LHCXX_REL_DIR to be set up correctly,
|
||||
# see the first lines in G4ComptonTest.cc
|
||||
#
|
||||
|
||||
ifdef G4ANALYSIS_USE
|
||||
|
||||
CPPFLAGS += -I$(LHCXX_REL_DIR)/include
|
||||
|
||||
ifdef G4ANALYSIS_USE_NTUPLE
|
||||
CPPFLAGS += -DG4ANALYSIS_USE_NTUPLE
|
||||
endif
|
||||
|
||||
# C_FLAGS += -I$(LHCXX_REL_DIR)/include
|
||||
LDFLAGS += -L$(LHCXX_REL_DIR)/lib
|
||||
# general stuff:
|
||||
LOADLIBS += -lHepUtilities -lAIDA_Annotation
|
||||
# add for Histograms:
|
||||
LOADLIBS += -lAIDA_HBook
|
||||
# add for Vectors:
|
||||
LOADLIBS += -lVector
|
||||
# add for Plotter:
|
||||
LOADLIBS += -lAIDA_Plotter -lqp -lqpview -lqt-mt -lqutil -lqt
|
||||
# add for Ntuples:
|
||||
LOADLIBS += -lAIDA_Ntuple -lNtupleTag -lNtupleTag_HBook
|
||||
# ... and finally system stuff and to deal with the "Fortran legacy":
|
||||
LOADLIBS += -lCHBook -ldl -lg2c
|
||||
# Xm Xt
|
||||
LDFLAGS += -L$/usr/local/lib -lXm -L/usr/X11R6/lib -lXt
|
||||
|
||||
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,32 @@
|
||||
# tell HistoManager where to find the histograms:
|
||||
# change the name to access hbook files different from the first run
|
||||
hm.selectStore("gammaraytel0.hbook")
|
||||
|
||||
# ... and load them into memory:
|
||||
hE = hm.load1D(1)
|
||||
hPl = hm.load1D(2)
|
||||
hXZ = hm.load2D(3)
|
||||
hYZ = hm.load2D(4)
|
||||
|
||||
# set plotter to 3*2 zones
|
||||
pl.zone(2,2)
|
||||
# ... and plot the histograms
|
||||
hplot(hE)
|
||||
hplot(hPl)
|
||||
hplot(hXZ)
|
||||
hplot(hYZ)
|
||||
|
||||
# get the primary ntuple from the NtupleManager
|
||||
nt1 = ntm.findNtuple("gammaraytel0.hbook::1" )
|
||||
|
||||
# see which attributes there are:
|
||||
nt1.listAttributes()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+46
-37
@@ -21,23 +21,29 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisManager.hh,v 1.2.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnalysis.hh-AIDA,v 1.3 2001/12/07 13:20:20 pfeiffer Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelAnalysisManager ------
|
||||
// ------------ GammaRayTelAnalysis ------
|
||||
// by R.Giannitrapani, F. Longo & G.Santin (30 nov 2000)
|
||||
//
|
||||
// 07.12.2001 A.Pfeiffer
|
||||
// - integrated Guy's addition of the ntuple
|
||||
//
|
||||
// 06.12.2001 A.Pfeiffer
|
||||
// - updating to new design (singleton)
|
||||
//
|
||||
// 22.11.2001 G.Barrand
|
||||
// - Adaptation to AIDA
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#ifndef GammaRayTelAnalysisManager_h
|
||||
#define GammaRayTelAnalysisManager_h 1
|
||||
|
||||
#include "G4VAnalysisManager.hh"
|
||||
#ifndef GammaRayTelAnalysis_h
|
||||
#define GammaRayTelAnalysis_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4std/vector"
|
||||
@@ -45,33 +51,29 @@
|
||||
|
||||
class GammaRayTelAnalysisMessenger;
|
||||
class GammaRayTelDetectorConstruction;
|
||||
|
||||
class IAnalysisFactory;
|
||||
class IHistogramFactory;
|
||||
class ITree;
|
||||
class IHistogram1D;
|
||||
class IHistogram2D;
|
||||
class ITuple;
|
||||
class IPlotter;
|
||||
class IVectorFactory;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelAnalysisManager: public G4VAnalysisManager
|
||||
{
|
||||
class GammaRayTelAnalysis {
|
||||
public:
|
||||
GammaRayTelAnalysisManager(GammaRayTelDetectorConstruction*);
|
||||
virtual ~GammaRayTelAnalysisManager();
|
||||
virtual ~GammaRayTelAnalysis();
|
||||
|
||||
public:
|
||||
G4bool RegisterAnalysisSystem(G4VAnalysisSystem*);
|
||||
IHistogramFactory* GetHistogramFactory(const G4String&);
|
||||
void Store(IHistogram* = 0, const G4String& = "");
|
||||
void Plot(IHistogram* = 0);
|
||||
void InsertPositionXZ(double x, double z);
|
||||
void InsertPositionYZ(double y, double z);
|
||||
void InsertEnergy(double en);
|
||||
void InsertHits(int nplane);
|
||||
void BeginOfRun();
|
||||
void BeginOfRun(G4int n);
|
||||
void EndOfRun(G4int n);
|
||||
void EndOfEvent(G4int flag);
|
||||
|
||||
void Init();
|
||||
void Finish();
|
||||
|
||||
void SetHisto1DDraw(G4String str) {histo1DDraw = str;};
|
||||
void SetHisto1DSave(G4String str) {histo1DSave = str;};
|
||||
void SetHisto2DDraw(G4String str) {histo2DDraw = str;};
|
||||
@@ -80,19 +82,35 @@ public:
|
||||
|
||||
G4String GetHisto2DMode() {return histo2DMode;};
|
||||
|
||||
void InsertPositionXZ(double x, double z);
|
||||
void InsertPositionYZ(double y, double z);
|
||||
void InsertEnergy(double en);
|
||||
void InsertHits(int nplane);
|
||||
|
||||
void setNtuple(float E, float p, float x, float y, float z);
|
||||
|
||||
static GammaRayTelAnalysis* getInstance(int = 0, char** = 0);
|
||||
|
||||
private:
|
||||
G4VAnalysisSystem* analysisSystem;
|
||||
IPlotter* pl;
|
||||
IVectorFactory* fVectorFactory;
|
||||
IHistogramFactory* histoFactory;
|
||||
GammaRayTelAnalysis(int = 0, char** = 0);
|
||||
void plot1D(IHistogram1D* histo);
|
||||
void plot2D(IHistogram2D* histo);
|
||||
void Plot();
|
||||
private:
|
||||
static GammaRayTelAnalysis* instance;
|
||||
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
|
||||
IAnalysisFactory* analysisFactory;
|
||||
ITree* tree;
|
||||
IPlotter* plotter;
|
||||
ITuple* tuple;
|
||||
|
||||
IHistogram1D* energy;
|
||||
IHistogram1D* hits;
|
||||
IHistogram2D* posXZ;
|
||||
IHistogram2D* posYZ;
|
||||
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
|
||||
G4String histo1DDraw;
|
||||
G4String histo1DSave;
|
||||
G4String histo2DDraw;
|
||||
@@ -104,13 +122,4 @@ private:
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch)
|
||||
// (copy of his UserAnalyser class)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 7 Nov 2001 MGP Implemented according to A. Pfeiffer's instructions
|
||||
// 18 Nov 2001 G.Santin GammaRayTel analysis management modified
|
||||
// according to the new design
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// Class description:
|
||||
// Example of analysis in a simulation application (histograms, ntuples etc.)
|
||||
// This class follows the singleton design pattern;
|
||||
// it is responsible for the analysis management and algorithms
|
||||
// Histograms are compliant with AIDA, except for the usage of IHistoManager,
|
||||
// which is Anaphe/Lizard-specific
|
||||
// For ntuples, for which the AIDA interfaces and compliant implementations
|
||||
// are still in progress at the time of the current Geant4 release,
|
||||
// an implementation with Anaphe/Lizard is shown
|
||||
// Other implementations specific to an analysis system are possible too
|
||||
// (see, for instance, JAS and OpenScientist documentation from the links
|
||||
// in http://aida.freehep.org/)
|
||||
// The implementation of the usage of ntuples shown in this example
|
||||
// is expected to change in future Geant4 releases, when AIDA interfaces
|
||||
// and related implementations would be available
|
||||
// Further documentation is available from: http://www.ge.infn.it/geant4/lowE/
|
||||
// http://aida.freehep.org/
|
||||
// http://cern.ch/anaphe/
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
#ifdef G4ANALYSIS_USE
|
||||
|
||||
#ifndef GammaRayTelAnalysis_h
|
||||
#define GammaRayTelAnalysis_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
// Histogramming from AIDA
|
||||
#include "Interfaces/IHistogram1D.h"
|
||||
#include "Interfaces/IHistogram2D.h"
|
||||
|
||||
// Histogramming from Anaphe
|
||||
#include "Interfaces/IHistoManager.h"
|
||||
|
||||
// Vectors from ?
|
||||
#include "Interfaces/IVector.h"
|
||||
#include "Interfaces/IVectorFactory.h"
|
||||
|
||||
// Plotting from Anaphe?
|
||||
#include "Interfaces/IPlotter.h"
|
||||
//#include "AIDA_Plotter/AIDAPlotter.h"
|
||||
|
||||
// Ntuples from Anaphe
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
|
||||
#include "NtupleTag/LizardNTupleFactory.h"
|
||||
#include "NtupleTag/LizardQuantity.h"
|
||||
#include "NtupleTag/LizardNTuple.h"
|
||||
|
||||
//using namespace Lizard;
|
||||
|
||||
#endif
|
||||
|
||||
class G4Track;
|
||||
class GammaRayTelAnalysisMessenger;
|
||||
class GammaRayTelDetectorConstruction;
|
||||
|
||||
class GammaRayTelAnalysis
|
||||
{
|
||||
public:
|
||||
|
||||
~GammaRayTelAnalysis();
|
||||
|
||||
void BeginOfRun(G4int n);
|
||||
void EndOfRun(G4int n);
|
||||
void EndOfEvent(G4int flag);
|
||||
|
||||
void Init();
|
||||
void Finish();
|
||||
|
||||
void SetHisto1DDraw(G4String str) {histo1DDraw = str;};
|
||||
void SetHisto1DSave(G4String str) {histo1DSave = str;};
|
||||
void SetHisto2DDraw(G4String str) {histo2DDraw = str;};
|
||||
void SetHisto2DSave(G4String str) {histo2DSave = str;};
|
||||
void SetHisto2DMode(G4String str) {histo2DMode = str;};
|
||||
G4String GetHisto2DMode() {return histo2DMode;};
|
||||
|
||||
void InsertPositionXZ(double x, double z);
|
||||
void InsertPositionYZ(double y, double z);
|
||||
void InsertEnergy(double en);
|
||||
void InsertHits(int nplane);
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
void setNtuple(float E, float p, float x, float y, float z);
|
||||
#endif
|
||||
|
||||
static GammaRayTelAnalysis* getInstance();
|
||||
|
||||
private:
|
||||
|
||||
GammaRayTelAnalysis();
|
||||
|
||||
void plot1D(IHistogram1D* histo);
|
||||
void plot2D(IHistogram2D* histo);
|
||||
void Plot();
|
||||
|
||||
static GammaRayTelAnalysis* instance;
|
||||
|
||||
IHistoManager* histoManager;
|
||||
IVectorFactory* vectorFactory;
|
||||
IPlotter* plotter;
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
|
||||
// ---- NOTE ----
|
||||
// Histograms are compliant to AIDA interfaces, ntuples are Lizard specific
|
||||
|
||||
Lizard::NTuple* ntuple;
|
||||
Lizard::NTupleFactory* ntFactory;
|
||||
|
||||
// Quantities for the ntuple
|
||||
Lizard::Quantity<float> ntEnergy;
|
||||
Lizard::Quantity<float> ntPlane;
|
||||
Lizard::Quantity<float> ntX;
|
||||
Lizard::Quantity<float> ntY;
|
||||
Lizard::Quantity<float> ntZ;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
GammaRayTelDetectorConstruction* GammaRayTelDetector;
|
||||
|
||||
G4String histo1DDraw;
|
||||
G4String histo1DSave;
|
||||
G4String histo2DDraw;
|
||||
G4String histo2DSave;
|
||||
G4String histo2DMode;
|
||||
|
||||
GammaRayTelAnalysisMessenger* analysisMessenger;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisMessenger.hh,v 1.1.4.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnalysisMessenger.hh,v 1.3 2001/11/23 17:44:54 santin Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -31,6 +31,7 @@
|
||||
//
|
||||
// ------------ GammaRayTelAnalysysMessenger ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (03 dec 2000)
|
||||
// 20.11.01 G.Santin: new analysis management, modified according to GammaRayTelAnalysis
|
||||
//
|
||||
// ************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -42,7 +43,7 @@
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class GammaRayTelAnalysisManager;
|
||||
class GammaRayTelAnalysis;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
@@ -51,14 +52,14 @@ class G4UIcmdWithAString;
|
||||
class GammaRayTelAnalysisMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
GammaRayTelAnalysisMessenger(GammaRayTelAnalysisManager* );
|
||||
GammaRayTelAnalysisMessenger(GammaRayTelAnalysis* );
|
||||
~GammaRayTelAnalysisMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
GammaRayTelAnalysisManager* GammaRayTelAnalysis;
|
||||
G4UIdirectory* GammaRayTelAnalysisDir;
|
||||
GammaRayTelAnalysis* gammaRayTelAnalysis;
|
||||
G4UIdirectory* gammaRayTelAnalysisDir;
|
||||
|
||||
G4UIcmdWithAString* Histo1DDrawCmd;
|
||||
G4UIcmdWithAString* Histo2DDrawCmd;
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnticoincidenceHit.hh,v 1.1.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnticoincidenceHit.hh,v 1.2 2001/07/11 09:56:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnticoincidenceSD.hh,v 1.1.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnticoincidenceSD.hh,v 1.3 2001/11/29 11:19:17 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -50,7 +50,7 @@ class GammaRayTelAnticoincidenceSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelAnticoincidenceSD(G4String, GammaRayTelDetectorConstruction* );
|
||||
GammaRayTelAnticoincidenceSD(G4String);
|
||||
~GammaRayTelAnticoincidenceSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelCalorimeterHit.hh,v 1.1.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelCalorimeterHit.hh,v 1.2 2001/07/11 09:56:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelCalorimeterSD.hh,v 1.1.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelCalorimeterSD.hh,v 1.4 2001/11/29 11:19:17 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -50,7 +50,7 @@ class GammaRayTelCalorimeterSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelCalorimeterSD(G4String, GammaRayTelDetectorConstruction* );
|
||||
GammaRayTelCalorimeterSD(G4String);
|
||||
~GammaRayTelCalorimeterSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
@@ -64,10 +64,14 @@ private:
|
||||
|
||||
GammaRayTelCalorimeterHitsCollection* CalorimeterCollection;
|
||||
GammaRayTelDetectorConstruction* Detector;
|
||||
G4int (*ChitXID)[12];
|
||||
G4int (*ChitYID)[12];
|
||||
|
||||
G4int (*ChitXID);
|
||||
G4int (*ChitYID);
|
||||
|
||||
G4int NbOfCALLayers;
|
||||
G4int NbOfCALBars;
|
||||
G4int NbOfCALChannels;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDetectorConstruction.hh,v 1.5.2.2 2001/06/28 20:18:37 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDetectorConstruction.hh,v 1.6 2001/07/11 09:56:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDetectorMessenger.hh,v 1.2.4.2 2001/06/28 20:18:38 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDetectorMessenger.hh,v 1.3 2001/07/11 09:56:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDigi.hh,v 1.1 2001/10/24 13:11:54 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelDigi ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (24 oct 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
// This Class describe the digits
|
||||
|
||||
#ifndef GammaRayTelDigi_h
|
||||
#define GammaRayTelDigi_h 1
|
||||
|
||||
#include "G4VDigi.hh"
|
||||
#include "G4TDigiCollection.hh"
|
||||
#include "G4Allocator.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelDigi : public G4VDigi
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
GammaRayTelDigi();
|
||||
~GammaRayTelDigi();
|
||||
GammaRayTelDigi(const GammaRayTelDigi&);
|
||||
const GammaRayTelDigi& operator=(const GammaRayTelDigi&);
|
||||
int operator==(const GammaRayTelDigi&) const;
|
||||
|
||||
inline void* operator new(size_t);
|
||||
inline void operator delete(void*);
|
||||
|
||||
void Draw();
|
||||
void Print();
|
||||
|
||||
private:
|
||||
|
||||
G4int PlaneNumber; // (active detector)
|
||||
G4int PlaneType; // (0 or 1 for X or Y plane)
|
||||
G4int StripNumber; // strip number
|
||||
|
||||
public:
|
||||
|
||||
inline void SetPlaneNumber(G4int PlaneNum) {PlaneNumber = PlaneNum;};
|
||||
inline void SetPlaneType(G4int PlaneTyp) {PlaneType = PlaneTyp;};
|
||||
inline void SetStripNumber(G4int StripNum) {StripNumber = StripNum;};
|
||||
|
||||
inline G4int GetPlaneNumber() {return PlaneNumber;};
|
||||
inline G4int GetPlaneType() {return PlaneType;};
|
||||
inline G4int GetStripNumber() {return StripNumber;};
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
typedef G4TDigiCollection<GammaRayTelDigi> GammaRayTelDigitsCollection;
|
||||
|
||||
extern G4Allocator<GammaRayTelDigi> GammaRayTelDigiAllocator;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void* GammaRayTelDigi::operator new(size_t)
|
||||
{
|
||||
void* aDigi;
|
||||
aDigi = (void*) GammaRayTelDigiAllocator.MallocSingle();
|
||||
return aDigi;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline void GammaRayTelDigi::operator delete(void* aDigi)
|
||||
{
|
||||
GammaRayTelDigiAllocator.FreeSingle((GammaRayTelDigi*) aDigi);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+38
-32
@@ -21,49 +21,55 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4AnalysisManager.hh,v 1.8.4.1 2001/06/28 19:07:47 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDigitizer.hh,v 1.2 2001/11/29 09:34:17 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// Guy Barrand 20th Mai 2000
|
||||
//
|
||||
// Class description
|
||||
// ------------ GammaRayTelDigitizer ------
|
||||
//
|
||||
// Base class for the analysis manager proxy mechanism.
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (24 oct 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#ifndef G4ANALYSIS_HH
|
||||
#define G4ANALYSIS_HH
|
||||
|
||||
#if defined(G4ANALYSIS_BUILD) || defined(G4ANALYSIS_USE)
|
||||
#ifndef GammaRayTelDigitizer_h
|
||||
#define GammaRayTelDigitizer_h 1
|
||||
|
||||
#include "G4VDigitizerModule.hh"
|
||||
#include "GammaRayTelDigi.hh"
|
||||
#include "globals.hh"
|
||||
#include "g4std/vector"
|
||||
#include "G4VAnalysisManager.hh"
|
||||
//#include "g4std/vector"
|
||||
|
||||
class G4AnalysisManager : public G4VAnalysisManager {
|
||||
public: // I methods :
|
||||
G4bool RegisterAnalysisSystem(G4VAnalysisSystem*);
|
||||
IHistogramFactory* GetHistogramFactory(const G4String&);
|
||||
//
|
||||
virtual void Store(IHistogram* = 0,const G4String& = "");
|
||||
virtual void Plot(IHistogram*);
|
||||
class GammaRayTelDigitizerMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelDigitizer : public G4VDigitizerModule
|
||||
{
|
||||
public:
|
||||
G4AnalysisManager();
|
||||
virtual ~G4AnalysisManager();
|
||||
|
||||
GammaRayTelDigitizer(G4String name);
|
||||
~GammaRayTelDigitizer();
|
||||
|
||||
void Digitize();
|
||||
void SetThreshold(G4double val) { Energy_Threshold = val;}
|
||||
|
||||
private:
|
||||
G4VAnalysisSystem* FindSystem(const G4String&);
|
||||
G4std::vector<G4VAnalysisSystem*> fSystems;
|
||||
G4VAnalysisSystem* fCurrentSystem;
|
||||
//
|
||||
#ifdef G4ANALYSIS_NON_AIDA
|
||||
public:
|
||||
ICloudFactory* GetCloudFactory(const G4String&);
|
||||
virtual void Plot(ICloud*);
|
||||
ITuple* CreateTuple(const G4String&,const G4String&,const G4String&);
|
||||
#endif
|
||||
|
||||
GammaRayTelDigitsCollection* DigitsCollection;
|
||||
G4double Energy_Threshold;
|
||||
GammaRayTelDigitizerMessenger* digiMessenger;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDigitizerMessenger.hh,v 1.1 2001/11/29 09:34:17 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelDigitizerMessenger ------
|
||||
// by F.Longo, G.Santin & R.Giannitrapani (29 nov 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifndef GammaRayTelDigitizerMessenger_h
|
||||
#define GammaRayTelDigitizerMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class GammaRayTelDigitizer;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelDigitizerMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
GammaRayTelDigitizerMessenger(GammaRayTelDigitizer*);
|
||||
~GammaRayTelDigitizerMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
GammaRayTelDigitizer* GammaRayTelAction;
|
||||
G4UIcmdWithADoubleAndUnit* ThresholdCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
//
|
||||
|
||||
//
|
||||
// $Id: GammaRayTelDummySD.hh,v 1.1.4.2 2001/06/28 20:18:38 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDummySD.hh,v 1.4 2001/11/28 10:07:01 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -42,12 +42,14 @@
|
||||
#define GammaRayTelDummySD_h 1
|
||||
|
||||
#include "G4VSensitiveDetector.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Step;
|
||||
|
||||
class GammaRayTelDummySD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
GammaRayTelDummySD();
|
||||
GammaRayTelDummySD(G4String name):G4VSensitiveDetector(name){};
|
||||
~GammaRayTelDummySD() {};
|
||||
|
||||
void Initialize(G4HCofThisEvent*HCE) {};
|
||||
@@ -57,7 +59,5 @@ public:
|
||||
void DrawAll() {};
|
||||
void PrintAll() {};
|
||||
};
|
||||
GammaRayTelDummySD::GammaRayTelDummySD()
|
||||
: G4VSensitiveDetector("dummySD")
|
||||
{}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelEventAction.hh,v 1.4.2.2 2001/06/28 20:18:38 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelEventAction.hh,v 1.9 2001/12/04 11:40:28 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -31,6 +31,8 @@
|
||||
// ------------ GammaRayTelEventAction ------
|
||||
// by R.Giannitrapani, F. Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
//- inclusion of Digits by F.Longo & R.Giannitrapani (24 oct 2001)
|
||||
// 20.11.01 G.Santin: new analysis management, modified according to GammaRayTelAnalysis
|
||||
// ************************************************************
|
||||
|
||||
|
||||
@@ -43,21 +45,13 @@
|
||||
#include "G4UserEventAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class GammaRayTelEventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelEventAction(GammaRayTelAnalysisManager* analysisMgr);
|
||||
#else
|
||||
GammaRayTelEventAction();
|
||||
#endif
|
||||
virtual ~GammaRayTelEventAction();
|
||||
|
||||
public:
|
||||
@@ -67,13 +61,11 @@ public:
|
||||
void SetDrawFlag (G4String val) {drawFlag = val;};
|
||||
|
||||
private:
|
||||
|
||||
G4int trackerCollID;
|
||||
G4int calorimeterCollID;
|
||||
G4int anticoincidenceCollID;
|
||||
G4String drawFlag;
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelAnalysisManager* analysisManager;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -83,3 +75,4 @@ private:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPhysicsList.hh,v 1.2.4.2 2001/06/28 20:18:39 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPhysicsList.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorAction.hh,v 1.3.4.2 2001/06/28 20:18:39 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPrimaryGeneratorAction.hh,v 1.6 2001/11/29 11:19:17 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -55,7 +55,8 @@ class GammaRayTelPrimaryGeneratorMessenger;
|
||||
class GammaRayTelPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
GammaRayTelPrimaryGeneratorAction(GammaRayTelDetectorConstruction*);
|
||||
|
||||
GammaRayTelPrimaryGeneratorAction();
|
||||
~GammaRayTelPrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
|
||||
+2
-2
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.2.4.2 2001/06/28 20:18:39 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelRunAction.hh,v 1.3.4.2 2001/06/28 20:18:39 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelRunAction.hh,v 1.5 2001/11/23 17:44:54 santin Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -30,6 +30,7 @@
|
||||
//
|
||||
// ------------ GammaRayTelRunAction ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
// 18.11.2001 G.Santin - Modified the analysis management according to the new design
|
||||
//
|
||||
// ************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -41,10 +42,6 @@
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4Run;
|
||||
@@ -52,11 +49,7 @@ class G4Run;
|
||||
class GammaRayTelRunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelRunAction(GammaRayTelAnalysisManager* analysisMgr);
|
||||
#else
|
||||
GammaRayTelRunAction();
|
||||
#endif
|
||||
~GammaRayTelRunAction();
|
||||
|
||||
public:
|
||||
@@ -64,9 +57,6 @@ public:
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
private:
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelAnalysisManager* analysisManager;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelTrackerHit.hh,v 1.1.2.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelTrackerHit.hh,v 1.2 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelTrackerROGeometry.hh,v 1.1.2.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelTrackerROGeometry.hh,v 1.3 2001/11/29 11:19:17 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -45,7 +45,6 @@ class GammaRayTelTrackerROGeometry : public G4VReadOutGeometry
|
||||
public:
|
||||
GammaRayTelTrackerROGeometry();
|
||||
GammaRayTelTrackerROGeometry(G4String);
|
||||
GammaRayTelTrackerROGeometry(G4String, GammaRayTelDetectorConstruction*);
|
||||
~GammaRayTelTrackerROGeometry();
|
||||
|
||||
private:
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelTrackerSD.hh,v 1.1.2.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelTrackerSD.hh,v 1.4 2001/11/29 11:19:17 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -50,7 +50,7 @@ class GammaRayTelTrackerSD : public G4VSensitiveDetector
|
||||
{
|
||||
public:
|
||||
|
||||
GammaRayTelTrackerSD(G4String, GammaRayTelDetectorConstruction* );
|
||||
GammaRayTelTrackerSD(G4String);
|
||||
~GammaRayTelTrackerSD();
|
||||
|
||||
void Initialize(G4HCofThisEvent*);
|
||||
@@ -64,10 +64,14 @@ private:
|
||||
|
||||
GammaRayTelTrackerHitsCollection* TrackerCollection;
|
||||
GammaRayTelDetectorConstruction* Detector;
|
||||
G4int (*ThitXID)[30];
|
||||
G4int (*ThitYID)[30];
|
||||
|
||||
G4int (*ThitXID);
|
||||
G4int (*ThitYID);
|
||||
|
||||
G4int NbOfTKRLayers;
|
||||
G4int NbOfTKRStrips;
|
||||
G4int NbOfTKRChannels;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelVisManager.hh,v 1.2.4.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelVisManager.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -22,35 +22,24 @@
|
||||
#/payload/setNbOfTKRLayers 15
|
||||
#/payload/update
|
||||
|
||||
#
|
||||
# Create empty scene ("world" is default)
|
||||
/vis/scene/create
|
||||
|
||||
#
|
||||
# Add volume to scene
|
||||
/vis/scene/add/volume
|
||||
|
||||
#
|
||||
# Create a scene handler for a specific graphics system
|
||||
/vis/sceneHandler/create OGLSX
|
||||
/vis/open OGLSX
|
||||
|
||||
# Create a viewer
|
||||
/vis/viewer/create
|
||||
/vis/viewer/reset
|
||||
/vis/viewer/viewpointThetaPhi 90 0
|
||||
|
||||
# Positioning of the camera
|
||||
/vis/camera/viewpoint 30 30
|
||||
# Visualize of the whole detector geometry
|
||||
/vis/drawVolume
|
||||
|
||||
# for drawing the tracks
|
||||
# if too many tracks cause core dump => storeTrajectory 0
|
||||
/tracking/storeTrajectory 1
|
||||
#/vis/scene/include/trajectories
|
||||
|
||||
#
|
||||
# Flush visualization
|
||||
/vis/viewer/update
|
||||
|
||||
#
|
||||
# Draw scene
|
||||
/vis/scene/notifyHandlers
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,39 +22,21 @@
|
||||
/payload/setNbOfTKRLayers 10
|
||||
/payload/update
|
||||
|
||||
#
|
||||
# Create empty scene ("world" is default)
|
||||
/vis/scene/create
|
||||
|
||||
#
|
||||
# Add volume to scene
|
||||
/vis/scene/add/volume
|
||||
# Create a scene handler for a specific graphics system
|
||||
/vis/open VRML2FILE
|
||||
|
||||
#
|
||||
# Create a scene handler for a VRML file
|
||||
/vis/sceneHandler/create VRML2FILE
|
||||
|
||||
# Create a viewer
|
||||
/vis/viewer/create
|
||||
|
||||
# Positioning of the camera
|
||||
/vis/camera/viewpoint 30 30
|
||||
|
||||
|
||||
# Create a viewer
|
||||
/vis/viewer/create
|
||||
|
||||
# Positioning of the camera
|
||||
/vis/camera/viewpoint 90 0
|
||||
|
||||
# Draw scene
|
||||
/vis/scene/notifyHandlers
|
||||
/vis/viewer/reset
|
||||
/vis/viewer/viewpointThetaPhi 90 0
|
||||
|
||||
# Visualize of the whole detector geometry
|
||||
/vis/drawVolume
|
||||
|
||||
# for drawing the tracks
|
||||
# if too many tracks cause core dump => storeTrajectory 0
|
||||
/tracking/storeTrajectory 1
|
||||
#/vis/scene/include/trajectories
|
||||
|
||||
#
|
||||
# Flush visualization
|
||||
/vis/viewer/update
|
||||
@@ -65,4 +47,3 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#/payload/setNbOfTKRLayers 15
|
||||
#/payload/update
|
||||
|
||||
|
||||
#
|
||||
# Create empty scene ("world" is default)
|
||||
/vis/scene/create
|
||||
@@ -31,7 +32,7 @@
|
||||
/vis/scene/add/volume
|
||||
|
||||
#
|
||||
# Create a scene handler for a specific graphics system
|
||||
# Create a scene handler for a VRML file
|
||||
/vis/sceneHandler/create DAWNFILE
|
||||
|
||||
# Create a viewer
|
||||
@@ -40,6 +41,17 @@
|
||||
# Positioning of the camera
|
||||
/vis/camera/viewpoint 30 30
|
||||
|
||||
|
||||
# Create a viewer
|
||||
/vis/viewer/create
|
||||
|
||||
# Positioning of the camera
|
||||
/vis/camera/viewpoint 90 0
|
||||
|
||||
# Draw scene
|
||||
/vis/scene/notifyHandlers
|
||||
|
||||
|
||||
# for drawing the tracks
|
||||
# if too many tracks cause core dump => storeTrajectory 0
|
||||
/tracking/storeTrajectory 1
|
||||
@@ -48,9 +60,9 @@
|
||||
# Flush visualization
|
||||
/vis/viewer/update
|
||||
|
||||
#
|
||||
# Draw scene
|
||||
/vis/scene/notifyHandlers
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
#
|
||||
/control/verbose 2
|
||||
/control/saveHistory
|
||||
/run/verbose 2
|
||||
/run/verbose 1
|
||||
/gun/particle gamma
|
||||
/gun/energy 1 GeV
|
||||
/gun/vertexRadius 25. cm
|
||||
/gun/sourceType 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,344 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnalysis.cc-AIDA,v 1.3 2001/12/07 13:20:20 pfeiffer Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayAnalysisManager ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (03 dic 2000)
|
||||
//
|
||||
// 07.12.2001 A.Pfeiffer
|
||||
// - integrated Guy's addition of the ntuple
|
||||
//
|
||||
// 06.12.2001 A.Pfeiffer
|
||||
// - updating to new design (singleton)
|
||||
//
|
||||
// 22.11.2001 G.Barrand
|
||||
// - Adaptation to AIDA
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
#include "GammaRayTelAnalysisMessenger.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include <AIDA/IAnalysisFactory.h>
|
||||
#include <AIDA/ITreeFactory.h>
|
||||
#include <AIDA/ITree.h>
|
||||
#include <AIDA/IHistogramFactory.h>
|
||||
#include <AIDA/IHistogram1D.h>
|
||||
#include <AIDA/IHistogram2D.h>
|
||||
#include <AIDA/IPlotterFactory.h>
|
||||
#include <AIDA/IPlotter.h>
|
||||
#include <AIDA/ITupleFactory.h>
|
||||
#include <AIDA/ITuple.h>
|
||||
#endif
|
||||
|
||||
GammaRayTelAnalysis* GammaRayTelAnalysis::instance = 0;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnalysis::GammaRayTelAnalysis(int argc,char** argv)
|
||||
:GammaRayTelDetector(0)
|
||||
,analysisFactory(0), tree(0), plotter(0), tuple(0)
|
||||
,energy(0), hits(0), posXZ(0), posYZ(0)
|
||||
,histo1DDraw("enable"),histo1DSave("enable"),histo2DDraw("enable")
|
||||
,histo2DSave("enable"),histo2DMode("strip")
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
GammaRayTelDetector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
// Define the messenger and the analysis system
|
||||
analysisMessenger = new GammaRayTelAnalysisMessenger(this);
|
||||
|
||||
analysisFactory = AIDA_createAnalysisFactory();
|
||||
if(analysisFactory) {
|
||||
|
||||
ITreeFactory* treeFactory = analysisFactory->createTreeFactory();
|
||||
if(treeFactory) {
|
||||
// Tree in memory :
|
||||
//tree = treeFactory->create();
|
||||
// Create a "tree" associated to a ROOT "store" (in RECREATE mode).
|
||||
tree = treeFactory->create("GammaRayTel.root",false,false,"ROOT");
|
||||
if(tree) {
|
||||
IHistogramFactory* histoFactory =
|
||||
analysisFactory->createHistogramFactory(*tree);
|
||||
if(histoFactory) {
|
||||
// Create histos :
|
||||
int Nplane = GammaRayTelDetector->GetNbOfTKRLayers();
|
||||
int Nstrip = GammaRayTelDetector->GetNbOfTKRStrips();
|
||||
int Ntile = GammaRayTelDetector->GetNbOfTKRTiles();
|
||||
float sizexy = GammaRayTelDetector->GetTKRSizeXY();
|
||||
float sizez = GammaRayTelDetector->GetTKRSizeZ();
|
||||
int N = Nstrip*Ntile;
|
||||
|
||||
// 1D histogram that store the energy deposition of the
|
||||
// particle in the last (number 0) TKR X-plane
|
||||
energy = histoFactory->create1D("1","Energy deposition in the last X plane (keV)", 100, 50, 200);
|
||||
|
||||
// 1D histogram that store the hits distribution along the TKR X-planes
|
||||
hits = histoFactory->create1D("2","Hits distribution in the TKR X planes",Nplane, 0, Nplane-1);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (XZ projection)
|
||||
if (histo2DMode == "strip")
|
||||
posXZ = histoFactory->create2D("3","Tracker Hits XZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
posXZ = histoFactory->create2D("3","Tracker Hits XZ (x,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (YZ projection)
|
||||
if(histo2DMode=="strip")
|
||||
posYZ = histoFactory->create2D("4","Tracker Hits YZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
posYZ = histoFactory->create2D("4","Tracker Hits YZ (y,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
|
||||
delete histoFactory;
|
||||
}
|
||||
|
||||
|
||||
// Get a tuple factory :
|
||||
ITupleFactory* tupleFactory = analysisFactory->createTupleFactory(*tree);
|
||||
if(tupleFactory) {
|
||||
// Create a tuple :
|
||||
tuple = tupleFactory->create("tuple","tuple",
|
||||
"energy plane x y z");
|
||||
delete tupleFactory;
|
||||
}
|
||||
}
|
||||
delete treeFactory; // Will not delete the ITree.
|
||||
}
|
||||
|
||||
IPlotterFactory* plotterFactory =
|
||||
analysisFactory->createPlotterFactory(argc,argv);
|
||||
if(plotterFactory) {
|
||||
plotter = plotterFactory->create();
|
||||
if(plotter) {
|
||||
plotter->show();
|
||||
plotter->setParameter("pageTitle","Gamma Ray Tel");
|
||||
}
|
||||
delete plotterFactory;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnalysis::~GammaRayTelAnalysis() {
|
||||
Finish();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelAnalysis::Init()
|
||||
{
|
||||
}
|
||||
|
||||
void GammaRayTelAnalysis::Finish()
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
delete plotter;
|
||||
delete analysisFactory; // Will delete tree and histos.
|
||||
delete analysisMessenger;
|
||||
analysisMessenger = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
GammaRayTelAnalysis* GammaRayTelAnalysis::getInstance(int argc,char** argv)
|
||||
{
|
||||
if (instance == 0) instance = new GammaRayTelAnalysis(argc,argv);
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the XZ positions
|
||||
void GammaRayTelAnalysis::InsertPositionXZ(double x, double z)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(posXZ) posXZ->fill(x, z);
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the YZ positions
|
||||
void GammaRayTelAnalysis::InsertPositionYZ(double y, double z)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(posYZ) posYZ->fill(y, z);
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the energy released in the last Si plane
|
||||
void GammaRayTelAnalysis::InsertEnergy(double en)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(energy) energy->fill(en);
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the hits distribution along the TKR planes
|
||||
void GammaRayTelAnalysis::InsertHits(int nplane)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(hits) hits->fill(nplane);
|
||||
#endif
|
||||
}
|
||||
|
||||
void GammaRayTelAnalysis::setNtuple(float E, float p, float x, float y, float z)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(tuple) {
|
||||
tuple->fill(0,E);
|
||||
tuple->fill(1,p);
|
||||
tuple->fill(2,x);
|
||||
tuple->fill(3,y);
|
||||
tuple->fill(4,z);
|
||||
tuple->addRow();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
/*
|
||||
This member reset the histograms and it is called at the begin
|
||||
of each run; here we put the inizialization so that the histograms have
|
||||
always the right dimensions depending from the detector geometry
|
||||
*/
|
||||
void GammaRayTelAnalysis::BeginOfRun(G4int n)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
|
||||
if(energy) energy->reset();
|
||||
if(hits) hits->reset();
|
||||
if(posXZ) posXZ->reset();
|
||||
if(posYZ) posYZ->reset();
|
||||
|
||||
// Set the plotter ; set the number of regions and attach histograms
|
||||
// to plot for each region.
|
||||
// It is done here, since then EndOfRun set regions
|
||||
// for paper output.
|
||||
if(plotter) {
|
||||
if((histo2DDraw == "enable") && (histo1DDraw == "enable")) {
|
||||
plotter->createRegions(2,2);
|
||||
plotter->plot(*posXZ);
|
||||
plotter->next();
|
||||
plotter->plot(*posYZ);
|
||||
plotter->next();
|
||||
plotter->plot(*energy);
|
||||
plotter->next();
|
||||
plotter->plot(*hits);
|
||||
} else if((histo1DDraw == "enable") && (histo2DDraw != "enable")) {
|
||||
plotter->createRegions(1,2);
|
||||
plotter->plot(*energy);
|
||||
plotter->next();
|
||||
plotter->plot(*hits);
|
||||
} else if((histo1DDraw != "enable") && (histo2DDraw == "enable")) {
|
||||
plotter->createRegions(1,2);
|
||||
plotter->plot(*posXZ);
|
||||
plotter->next();
|
||||
plotter->plot(*posYZ);
|
||||
} else { // Nothing to plot.
|
||||
plotter->createRegions(1,1);
|
||||
}
|
||||
plotter->refresh();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/*
|
||||
This member is called at the end of each run
|
||||
*/
|
||||
void GammaRayTelAnalysis::EndOfRun(G4int n)
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(tree) tree->commit();
|
||||
|
||||
if(plotter) {
|
||||
// We set one single region for the plotter
|
||||
plotter->createRegions(1,1);
|
||||
|
||||
// We now print the histograms, each one in a separate file
|
||||
if(histo2DSave == "enable") {
|
||||
char name[15];
|
||||
sprintf(name,"posxz_%d.ps", n);
|
||||
plotter->plot(*posXZ);
|
||||
plotter->write(name,"PS");
|
||||
|
||||
sprintf(name,"posyz_%d.ps", n);
|
||||
plotter->clearRegion();
|
||||
plotter->plot(*posYZ);
|
||||
plotter->write(name,"PS");
|
||||
}
|
||||
|
||||
if(histo1DSave == "enable") {
|
||||
char name[15];
|
||||
sprintf(name,"energy_%d.ps", n);
|
||||
plotter->plot(*energy);
|
||||
plotter->write(name,"PS");
|
||||
|
||||
sprintf(name,"hits_%d.ps", n);
|
||||
plotter->clearRegion();
|
||||
plotter->plot(*hits);
|
||||
plotter->write(name,"PS");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/* This member is called at the end of every event */
|
||||
void GammaRayTelAnalysis::EndOfEvent(G4int flag)
|
||||
{
|
||||
// The plotter is updated only if there is some
|
||||
// hits in the event
|
||||
if(!flag) return;
|
||||
#ifdef G4ANALYSIS_USE
|
||||
if(plotter) plotter->refresh();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -0,0 +1,405 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch)
|
||||
// (copied from his UserAnalyser class)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 7 Nov 2001 MGP Implementation
|
||||
// 03 dic 2000 AnalysisManager by R.Giannitrapani, F.Longo & G.Santin
|
||||
// 18 Nov 2001 G.Santin GammaRayTel analysis management modified
|
||||
// according to the new design
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifdef G4ANALYSIS_USE
|
||||
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
#include "GammaRayTelAnalysisMessenger.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4Track.hh"
|
||||
#include "G4SteppingManager.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
|
||||
//using namespace Lizard;
|
||||
|
||||
GammaRayTelAnalysis* GammaRayTelAnalysis::instance = 0;
|
||||
|
||||
GammaRayTelAnalysis::GammaRayTelAnalysis() :
|
||||
histoManager(0), vectorFactory(0),plotter(0),
|
||||
histo1DDraw("enable"),histo1DSave("enable"),histo2DDraw("enable"),
|
||||
histo2DSave("enable"),histo2DMode("strip"),
|
||||
analysisMessenger(0)
|
||||
{
|
||||
}
|
||||
|
||||
GammaRayTelAnalysis::~GammaRayTelAnalysis()
|
||||
{
|
||||
Finish();
|
||||
}
|
||||
|
||||
|
||||
void GammaRayTelAnalysis::Init()
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
GammaRayTelDetector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
|
||||
analysisMessenger = new GammaRayTelAnalysisMessenger(this);
|
||||
histoManager = createIHistoManager();
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
ntFactory = Lizard::createNTupleFactory();
|
||||
#endif
|
||||
|
||||
vectorFactory = createIVectorFactory();
|
||||
|
||||
plotter = createIPlotter();
|
||||
}
|
||||
|
||||
void GammaRayTelAnalysis::Finish()
|
||||
{
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
delete ntFactory;
|
||||
ntFactory = 0;
|
||||
#endif
|
||||
|
||||
delete histoManager;
|
||||
histoManager = 0;
|
||||
|
||||
delete vectorFactory;
|
||||
vectorFactory = 0;
|
||||
|
||||
delete plotter;
|
||||
plotter = 0;
|
||||
|
||||
delete analysisMessenger;
|
||||
analysisMessenger = 0;
|
||||
}
|
||||
|
||||
GammaRayTelAnalysis* GammaRayTelAnalysis::getInstance()
|
||||
{
|
||||
if (instance == 0) instance = new GammaRayTelAnalysis;
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the XZ positions
|
||||
void GammaRayTelAnalysis::InsertPositionXZ(double x, double z)
|
||||
{
|
||||
IHistogram2D* posXZ = histoManager->retrieveHisto2D("3");
|
||||
posXZ->fill(x, z);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the YZ positions
|
||||
void GammaRayTelAnalysis::InsertPositionYZ(double y, double z)
|
||||
{
|
||||
IHistogram2D* posYZ = histoManager->retrieveHisto2D("4");
|
||||
posYZ->fill(y, z);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the energy released in the last Si plane
|
||||
void GammaRayTelAnalysis::InsertEnergy(double en)
|
||||
{
|
||||
IHistogram1D* energy = histoManager->retrieveHisto1D("1");
|
||||
energy->fill(en);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the hits distribution along the TKR planes
|
||||
void GammaRayTelAnalysis::InsertHits(int nplane)
|
||||
{
|
||||
IHistogram1D* hits = histoManager->retrieveHisto1D("2");
|
||||
hits->fill(nplane);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
/*
|
||||
This member reset the histograms and it is called at the begin
|
||||
of each run; here we put the inizialization so that the histograms have
|
||||
always the right dimensions depending from the detector geometry
|
||||
*/
|
||||
void GammaRayTelAnalysis::BeginOfRun(G4int n)
|
||||
{
|
||||
float sizexy, sizez;
|
||||
int Nstrip, Nplane, Ntile, N;
|
||||
char name[30];
|
||||
|
||||
Init();
|
||||
|
||||
// Relevant data from the detector to set the histograms dimensions
|
||||
Nplane = GammaRayTelDetector->GetNbOfTKRLayers();
|
||||
Nstrip = GammaRayTelDetector->GetNbOfTKRStrips();
|
||||
Ntile = GammaRayTelDetector->GetNbOfTKRTiles();
|
||||
sizexy = GammaRayTelDetector->GetTKRSizeXY();
|
||||
sizez = GammaRayTelDetector->GetTKRSizeZ();
|
||||
N = Nstrip*Ntile;
|
||||
|
||||
if (histoManager) {
|
||||
sprintf(name,"gammaraytel%d.hbook", n);
|
||||
histoManager->selectStore(name);
|
||||
|
||||
// Check if deleteHisto is enough, maybe we need to delete the object
|
||||
histoManager->deleteHisto("1");
|
||||
histoManager->create1D("1","Energy deposition in the last X plane (keV)", 100, 50., 200.);
|
||||
|
||||
// 1D histogram that store the hits distribution along the TKR X-planes
|
||||
histoManager->deleteHisto("2");
|
||||
histoManager->create1D("2","Hits distribution in the TKR X planes",
|
||||
Nplane, 0, Nplane-1);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (XZ projection)
|
||||
histoManager->deleteHisto("3");
|
||||
if (histo2DMode == "strip")
|
||||
histoManager->create2D("3","Tracker Hits XZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
histoManager->create2D("3","Tracker Hits XZ (x,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (YZ projection)
|
||||
histoManager->deleteHisto("4");
|
||||
if(histo2DMode=="strip")
|
||||
histoManager->create2D("4","Tracker Hits YZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
histoManager->create2D("4","Tracker Hits YZ (y,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
}
|
||||
|
||||
IHistogram2D* posXZ = histoManager->retrieveHisto2D("3");
|
||||
if (posXZ)
|
||||
posXZ->reset();
|
||||
IHistogram2D* posYZ = histoManager->retrieveHisto2D("4");
|
||||
if(posYZ)
|
||||
posYZ->reset();
|
||||
IHistogram1D* energy = histoManager->retrieveHisto1D("1");
|
||||
if(energy)
|
||||
energy->reset();
|
||||
IHistogram1D* hits = histoManager->retrieveHisto1D("2");
|
||||
if(hits)
|
||||
hits->reset();
|
||||
|
||||
// We divide the plotter in the right nuber of zone depending
|
||||
// on which histograms the user want to draw
|
||||
if((histo2DDraw == "enable") && (histo1DDraw == "enable"))
|
||||
plotter->zone(2,2,0,0);
|
||||
else if((histo1DDraw == "enable") || (histo2DDraw == "enable"))
|
||||
plotter->zone(1,2,0,0);
|
||||
else
|
||||
plotter->zone(1,1,0,0);
|
||||
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
|
||||
// Book ntuples
|
||||
sprintf(name,"gammaraytel%d.hbook::1", n);
|
||||
ntuple = ntFactory->createC(name);
|
||||
|
||||
// Add and bind the attributes to the ntuple
|
||||
if ( !( ntuple->addAndBind( "energy", ntEnergy) &&
|
||||
ntuple->addAndBind( "plane" , ntPlane) &&
|
||||
ntuple->addAndBind( "x" , ntX ) &&
|
||||
ntuple->addAndBind( "y" , ntY ) &&
|
||||
ntuple->addAndBind( "z" , ntZ ) ) ) {
|
||||
delete ntuple;
|
||||
G4Exception(" GammaRayTelAnalysis::BeginOfRun - Could not addAndBind ntuple");
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/*
|
||||
This member is called at the end of each run
|
||||
*/
|
||||
void GammaRayTelAnalysis::EndOfRun(G4int n)
|
||||
{
|
||||
// This variable contains the names of the PS files
|
||||
char name[15];
|
||||
// We define some vectors
|
||||
IVector* vxz = 0;
|
||||
IVector* vyz = 0;
|
||||
IVector* ve = 0;
|
||||
IVector* vhit = 0;
|
||||
|
||||
|
||||
// Temporary we set one single zone for the plotter
|
||||
plotter->zone(1,1,0,0);
|
||||
|
||||
// We now print the histograms, each one in a separate file
|
||||
if(histo2DSave == "enable") {
|
||||
IHistogram2D* posXZ = histoManager->retrieveHisto2D("3");
|
||||
IHistogram2D* posYZ = histoManager->retrieveHisto2D("4");
|
||||
plot2D(posXZ);
|
||||
sprintf(name,"posxz_%d.ps", n);
|
||||
plotter->psPrint(name);
|
||||
|
||||
plot2D(posYZ);
|
||||
sprintf(name,"posyz_%d.ps", n);
|
||||
plotter->psPrint(name);
|
||||
}
|
||||
|
||||
if(histo1DSave == "enable") {
|
||||
IHistogram1D* energy = histoManager->retrieveHisto1D("1");
|
||||
IHistogram1D* hits = histoManager->retrieveHisto1D("2");
|
||||
|
||||
plot1D(energy);
|
||||
sprintf(name,"energy_%d.ps", n);
|
||||
plotter->psPrint(name);
|
||||
|
||||
plot1D(hits);
|
||||
sprintf(name,"hits_%d.ps", n);
|
||||
plotter->psPrint(name);
|
||||
}
|
||||
|
||||
delete vxz;
|
||||
delete vyz;
|
||||
delete ve;
|
||||
delete vhit;
|
||||
|
||||
// Store histograms
|
||||
|
||||
// Because of a Lizard feature, ntuples must be deleted at this stage,
|
||||
// not in the destructor (otherwise the ntuples are not stored)
|
||||
|
||||
// In version 3.6.4 of Anaphe, no licence, storing other histograms after
|
||||
// having stored a 2D one generates an error message "ERROR in HLNEXT"
|
||||
// Histograms are stored correctly, in spite of the error message
|
||||
// The same error message is issued if attempting to store 1D or 2D
|
||||
// histograms after deleting a ntuple
|
||||
|
||||
histoManager->store("1");
|
||||
histoManager->store("3");
|
||||
histoManager->store("2");
|
||||
histoManager->store("4");
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
delete ntuple;
|
||||
ntuple = 0;
|
||||
G4cout << "Deleted ntuple" << G4endl;
|
||||
#endif
|
||||
// close files for this run
|
||||
if (histoManager != 0) Finish();
|
||||
|
||||
}
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/* This member is called at the end of every event */
|
||||
void GammaRayTelAnalysis::EndOfEvent(G4int flag)
|
||||
{
|
||||
// The histograms are updated only if there is some
|
||||
// hits in the event
|
||||
if(flag) Plot();
|
||||
}
|
||||
|
||||
|
||||
void GammaRayTelAnalysis::Plot()
|
||||
{
|
||||
// In a normal case we use the following line to use the standard plot
|
||||
// analysisSystem->Plot(histo);
|
||||
|
||||
// We define some vectors
|
||||
IVector* vxz = 0;
|
||||
IVector* vyz = 0;
|
||||
IVector* ve = 0;
|
||||
IVector* vhit= 0;
|
||||
|
||||
// We fill them with the histograms and
|
||||
// draw them
|
||||
if(histo2DDraw == "enable")
|
||||
{
|
||||
IHistogram2D* posXZ = histoManager->retrieveHisto2D("3");
|
||||
IHistogram2D* posYZ = histoManager->retrieveHisto2D("4");
|
||||
plot2D(posXZ);
|
||||
plot2D(posYZ);
|
||||
plotter->refresh();
|
||||
}
|
||||
|
||||
if(histo1DDraw == "enable")
|
||||
{
|
||||
IHistogram1D* energy = histoManager->retrieveHisto1D("1");
|
||||
IHistogram1D* hits = histoManager->retrieveHisto1D("2");
|
||||
plot1D(energy);
|
||||
plot1D(hits);
|
||||
plotter->refresh();
|
||||
}
|
||||
|
||||
delete vxz;
|
||||
delete vyz;
|
||||
delete ve;
|
||||
delete vhit;
|
||||
}
|
||||
|
||||
void GammaRayTelAnalysis::plot1D(IHistogram1D* histo)
|
||||
{
|
||||
IVector* v = vectorFactory->from1D(histo);
|
||||
plotter->plot(v,0);
|
||||
plotter->refresh();
|
||||
delete v;
|
||||
}
|
||||
|
||||
void GammaRayTelAnalysis::plot2D(IHistogram2D* histo)
|
||||
{
|
||||
IVector* v = vectorFactory->from2D(histo);
|
||||
plotter->plot(v,0);
|
||||
plotter->refresh();
|
||||
delete v;
|
||||
}
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
void GammaRayTelAnalysis::setNtuple(float E, float p, float x, float y, float z)
|
||||
{
|
||||
ntEnergy = E;
|
||||
ntPlane = p;
|
||||
ntX = x;
|
||||
ntY = y;
|
||||
ntZ = z;
|
||||
|
||||
ntuple->addRow();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,334 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisManager.cc,v 1.1.4.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayAnalysisManager ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (03 dic 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
#ifdef G4ANALYSIS_USE
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "g4std/fstream"
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#include "G4VAnalysisSystem.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
#include "GammaRayTelAnalysisMessenger.hh"
|
||||
#include <IHistogramFactory.h>
|
||||
#include <IHistogram1D.h>
|
||||
#include <IHistogram2D.h>
|
||||
#include <IPlotter.h>
|
||||
#include <IVector.h>
|
||||
#include <IVectorFactory.h>
|
||||
|
||||
#include "G4LizardSystem.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnalysisManager::GammaRayTelAnalysisManager(GammaRayTelDetectorConstruction* GammaRayTelDC):
|
||||
GammaRayTelDetector(GammaRayTelDC),
|
||||
posXZ(0), posYZ(0), energy(0), hits(0), histoFactory(0), pl(0),
|
||||
histo1DDraw("enable"),histo1DSave("enable"),histo2DDraw("enable"),
|
||||
histo2DSave("enable"),histo2DMode("strip")
|
||||
{
|
||||
// Define the messenger and the analysis system
|
||||
analysisMessenger = new GammaRayTelAnalysisMessenger(this);
|
||||
analysisSystem = new G4LizardSystem;
|
||||
|
||||
histoFactory = analysisSystem->GetHistogramFactory();
|
||||
|
||||
/*
|
||||
The following lines set the plotter and the vectorfactory that
|
||||
are needed in this example for a multiple histograms
|
||||
visualization. Please see the README for more information
|
||||
*/
|
||||
fVectorFactory = createIVectorFactory();
|
||||
pl = createIPlotter();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnalysisManager::~GammaRayTelAnalysisManager() {
|
||||
delete posXZ;
|
||||
delete posYZ;
|
||||
delete energy;
|
||||
delete hits;
|
||||
delete analysisSystem;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
G4bool GammaRayTelAnalysisManager::RegisterAnalysisSystem(G4VAnalysisSystem*)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
IHistogramFactory* GammaRayTelAnalysisManager::GetHistogramFactory(const G4String& aSystem)
|
||||
{
|
||||
return histoFactory;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelAnalysisManager::Store(IHistogram* histo, const G4String& ID)
|
||||
{
|
||||
analysisSystem->Store(histo, ID);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/*
|
||||
Since the Lizard interface and analysis classes in G4 are still
|
||||
experimental, they lack for now the possibility to show directly
|
||||
more than one histograms at the same time. In order to show 2 or 4 histo
|
||||
in a single view in our example, we decided to override this implementation
|
||||
and use directly the IPlotter interface for our needs. This will change
|
||||
in future releases.
|
||||
|
||||
Please note that for visualization purpouses the histograms result
|
||||
stretched along the x axis; when they are saved in a PostScript
|
||||
file the proportions are the right ones.
|
||||
*/
|
||||
void GammaRayTelAnalysisManager::Plot(IHistogram* histo = 0)
|
||||
{
|
||||
// In a normal case we use the following line to use the standard plot
|
||||
// analysisSystem->Plot(histo);
|
||||
|
||||
// We define some vectors
|
||||
IVector* vxz = 0;
|
||||
IVector* vyz = 0;
|
||||
IVector* ve = 0;
|
||||
IVector* vhit= 0;
|
||||
|
||||
// We fill them with the histograms and
|
||||
// draw them
|
||||
if(histo2DDraw == "enable")
|
||||
{
|
||||
vxz = fVectorFactory->from2D(dynamic_cast<IHistogram2D*>(posXZ));
|
||||
vyz = fVectorFactory->from2D(dynamic_cast<IHistogram2D*>(posYZ));
|
||||
pl->plot(vxz);
|
||||
pl->plot(vyz);
|
||||
pl->refresh();
|
||||
}
|
||||
|
||||
if(histo1DDraw == "enable")
|
||||
{
|
||||
ve = fVectorFactory->from1D(dynamic_cast<IHistogram1D*>(energy));
|
||||
vhit = fVectorFactory->from1D(dynamic_cast<IHistogram1D*>(hits));
|
||||
pl->plot(ve);
|
||||
pl->plot(vhit);
|
||||
pl->refresh();
|
||||
}
|
||||
|
||||
delete vxz;
|
||||
delete vyz;
|
||||
delete ve;
|
||||
delete vhit;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the XZ positions
|
||||
void GammaRayTelAnalysisManager::InsertPositionXZ(double x, double z)
|
||||
{
|
||||
posXZ->fill(x, z);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 2d histogram of the YZ positions
|
||||
void GammaRayTelAnalysisManager::InsertPositionYZ(double y, double z)
|
||||
{
|
||||
posYZ->fill(y, z);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the energy released in the last Si plane
|
||||
void GammaRayTelAnalysisManager::InsertEnergy(double en)
|
||||
{
|
||||
energy->fill(en);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
// This function fill the 1d histogram of the hits distribution along the TKR planes
|
||||
void GammaRayTelAnalysisManager::InsertHits(int nplane)
|
||||
{
|
||||
hits->fill(nplane);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
/*
|
||||
This member reset the histograms and it is called at the begin
|
||||
of each run; here we put the inizialization so that the histograms have
|
||||
always the right dimensions depending from the detector geometry
|
||||
*/
|
||||
void GammaRayTelAnalysisManager::BeginOfRun()
|
||||
{
|
||||
float sizexy, sizez;
|
||||
int nplane;
|
||||
int Nstrip, Nplane, Ntile, N;
|
||||
|
||||
// Relevant data from the detector to set the histograms dimensions
|
||||
Nplane = GammaRayTelDetector->GetNbOfTKRLayers();
|
||||
Nstrip = GammaRayTelDetector->GetNbOfTKRStrips();
|
||||
Ntile = GammaRayTelDetector->GetNbOfTKRTiles();
|
||||
sizexy = GammaRayTelDetector->GetTKRSizeXY();
|
||||
sizez = GammaRayTelDetector->GetTKRSizeZ();
|
||||
N = Nstrip*Ntile;
|
||||
|
||||
if (histoFactory)
|
||||
{
|
||||
// 1D histogram that store the energy deposition of the
|
||||
// particle in the last (number 0) TKR X-plane
|
||||
histoFactory->destroy(energy);
|
||||
energy = histoFactory->create1D("Energy deposition in the last X plane (keV)", 100, 50, 200);
|
||||
|
||||
// 1D histogram that store the hits distribution along the TKR X-planes
|
||||
histoFactory->destroy(hits);
|
||||
hits = histoFactory->create1D("Hits distribution in the TKR X planes",
|
||||
Nplane, 0, Nplane-1);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (XZ projection)
|
||||
histoFactory->destroy(posXZ);
|
||||
if (histo2DMode == "strip")
|
||||
posXZ = histoFactory->create2D("Tracker Hits XZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
posXZ = histoFactory->create2D("Tracker Hits XZ (x,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
|
||||
// 2D histogram that store the position (mm) of the hits (YZ projection)
|
||||
histoFactory->destroy(posYZ);
|
||||
if(histo2DMode=="strip")
|
||||
posYZ = histoFactory->create2D("Tracker Hits YZ (strip,plane)",
|
||||
N, 0, N-1,
|
||||
2*Nplane, 0, Nplane-1);
|
||||
else
|
||||
posYZ = histoFactory->create2D("Tracker Hits YZ (y,z) in mm",
|
||||
sizexy/5, -sizexy/2, sizexy/2,
|
||||
sizez/5, -sizez/2, sizez/2);
|
||||
}
|
||||
|
||||
if(posXZ)
|
||||
posXZ->reset();
|
||||
if(posYZ)
|
||||
posYZ->reset();
|
||||
if(energy)
|
||||
energy->reset();
|
||||
if(hits)
|
||||
hits->reset();
|
||||
|
||||
// We divide the plotter in the right nuber of zone depending
|
||||
// on which histograms the user want to draw
|
||||
if((histo2DDraw == "enable") && (histo1DDraw == "enable"))
|
||||
pl->zone(2,2);
|
||||
else if((histo1DDraw == "enable") || (histo2DDraw == "enable"))
|
||||
pl->zone(1,2);
|
||||
else
|
||||
pl->zone(1,1);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/*
|
||||
This member is called at the end of each run
|
||||
*/
|
||||
void GammaRayTelAnalysisManager::EndOfRun(G4int n)
|
||||
{
|
||||
// This variable contains the names of the PS files
|
||||
char name[15];
|
||||
// We define some vectors
|
||||
IVector* vxz = 0;
|
||||
IVector* vyz = 0;
|
||||
IVector* ve = 0;
|
||||
IVector* vhit = 0;
|
||||
|
||||
|
||||
// Temporary we set one single zone for the plotter
|
||||
pl->zone(1,1);
|
||||
|
||||
// We now print the histograms, each one in a separate file
|
||||
if(histo2DSave == "enable")
|
||||
{
|
||||
vxz = fVectorFactory->from2D(dynamic_cast<IHistogram2D*>(posXZ));
|
||||
vyz = fVectorFactory->from2D(dynamic_cast<IHistogram2D*>(posYZ));
|
||||
|
||||
sprintf(name,"posxz_%d.ps", n);
|
||||
pl->plot(vxz);
|
||||
pl->psPrint(name);
|
||||
|
||||
sprintf(name,"posyz_%d.ps", n);
|
||||
pl->plot(vyz);
|
||||
pl->psPrint(name);
|
||||
}
|
||||
|
||||
if(histo1DSave == "enable")
|
||||
{
|
||||
ve = fVectorFactory->from1D(dynamic_cast<IHistogram1D*>(energy));
|
||||
vhit = fVectorFactory->from1D(dynamic_cast<IHistogram1D*>(hits));
|
||||
|
||||
sprintf(name,"energy_%d.ps", n);
|
||||
pl->plot(ve);
|
||||
pl->psPrint(name);
|
||||
|
||||
sprintf(name,"hits_%d.ps", n);
|
||||
pl->plot(vhit);
|
||||
pl->psPrint(name);
|
||||
|
||||
}
|
||||
|
||||
delete vxz;
|
||||
delete vyz;
|
||||
delete ve;
|
||||
delete vhit;
|
||||
}
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
/* This member is called at the end of every event */
|
||||
void GammaRayTelAnalysisManager::EndOfEvent(G4int flag)
|
||||
{
|
||||
// The histograms are updated only if there is some
|
||||
// hits in the event
|
||||
if(flag) Plot();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnalysisMessenger.cc,v 1.1.4.2 2001/06/28 20:18:40 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnalysisMessenger.cc,v 1.5 2001/12/04 11:40:28 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
@@ -31,23 +31,24 @@
|
||||
//
|
||||
// ------------ GammaRayTelAnalysisMessenger ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (03 dic 2000)
|
||||
//
|
||||
// 20.11.01 G.Santin: modified according to the new GammaRayTelAnalysis.cc
|
||||
// ************************************************************
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisMessenger.hh"
|
||||
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
|
||||
#include "GammaRayTelAnalysisMessenger.hh"
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnalysisMessenger::GammaRayTelAnalysisMessenger(GammaRayTelAnalysisManager* analysisManager)
|
||||
:GammaRayTelAnalysis(analysisManager)
|
||||
GammaRayTelAnalysisMessenger::GammaRayTelAnalysisMessenger(GammaRayTelAnalysis* analysis)
|
||||
:gammaRayTelAnalysis(analysis)
|
||||
|
||||
{
|
||||
GammaRayTelAnalysisDir = new G4UIdirectory("/analysis/");
|
||||
GammaRayTelAnalysisDir->SetGuidance("GammaRayTel analysis control.");
|
||||
gammaRayTelAnalysisDir = new G4UIdirectory("/analysis/");
|
||||
gammaRayTelAnalysisDir->SetGuidance("GammaRayTel analysis control.");
|
||||
|
||||
/*
|
||||
Commands for the 1D histograms (energy deposition in the last
|
||||
@@ -139,21 +140,21 @@ void GammaRayTelAnalysisMessenger::SetNewValue(G4UIcommand* command,G4String new
|
||||
// 1D Histograms
|
||||
|
||||
if( command == Histo1DDrawCmd )
|
||||
{ GammaRayTelAnalysis->SetHisto1DDraw(newValue);}
|
||||
{ gammaRayTelAnalysis->SetHisto1DDraw(newValue);}
|
||||
|
||||
if( command == Histo1DSaveCmd )
|
||||
{ GammaRayTelAnalysis->SetHisto1DSave(newValue);}
|
||||
{ gammaRayTelAnalysis->SetHisto1DSave(newValue);}
|
||||
|
||||
// 2D Histograms
|
||||
|
||||
if( command == Histo2DDrawCmd )
|
||||
{ GammaRayTelAnalysis->SetHisto2DDraw(newValue);}
|
||||
{ gammaRayTelAnalysis->SetHisto2DDraw(newValue);}
|
||||
|
||||
if( command == Histo2DSaveCmd )
|
||||
{ GammaRayTelAnalysis->SetHisto2DSave(newValue);}
|
||||
{ gammaRayTelAnalysis->SetHisto2DSave(newValue);}
|
||||
|
||||
if( command == Histo2DModeCmd )
|
||||
{ GammaRayTelAnalysis->SetHisto2DMode(newValue);}
|
||||
{ gammaRayTelAnalysis->SetHisto2DMode(newValue);}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnticoincidenceHit.cc,v 1.1.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnticoincidenceHit.cc,v 1.2 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelAnticoincidenceSD.cc,v 1.1.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelAnticoincidenceSD.cc,v 1.4 2001/11/29 11:19:18 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -32,7 +32,7 @@
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "GammaRayTelAnticoincidenceSD.hh"
|
||||
#include "GammaRayTelAnticoincidenceHit.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
@@ -46,10 +46,13 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelAnticoincidenceSD::GammaRayTelAnticoincidenceSD(G4String name,
|
||||
GammaRayTelDetectorConstruction* det)
|
||||
:G4VSensitiveDetector(name),Detector(det)
|
||||
GammaRayTelAnticoincidenceSD::GammaRayTelAnticoincidenceSD(G4String name)
|
||||
:G4VSensitiveDetector(name)
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
Detector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
|
||||
NbOfACDLateralTiles = Detector->GetNbOfACDLateralTiles();
|
||||
NbOfACDTopTiles = Detector->GetNbOfACDTopTiles();
|
||||
|
||||
@@ -105,7 +108,7 @@ G4bool GammaRayTelAnticoincidenceSD::ProcessHits(G4Step* aStep,G4TouchableHistor
|
||||
G4int ACDTileNumber=acd_tile->GetCopyNo();
|
||||
G4String ACDTileName = acd_tile->GetName();
|
||||
|
||||
G4cout << ACDTileName << " " << edep/keV << G4endl;
|
||||
// G4cout << ACDTileName << " " << edep/keV << G4endl;
|
||||
|
||||
if (ACDTileName == "ACT" )
|
||||
// The hit is on an top ACD tile (ACDType 0)
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelCalorimeterHit.cc,v 1.1.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelCalorimeterHit.cc,v 1.2 2001/07/11 09:56:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelCalorimeterSD.cc,v 1.1.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelCalorimeterSD.cc,v 1.4 2001/11/29 11:19:18 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -32,7 +32,7 @@
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "GammaRayTelCalorimeterSD.hh"
|
||||
#include "GammaRayTelCalorimeterHit.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
@@ -46,17 +46,22 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelCalorimeterSD::GammaRayTelCalorimeterSD(G4String name,
|
||||
GammaRayTelDetectorConstruction* det)
|
||||
:G4VSensitiveDetector(name),Detector(det)
|
||||
GammaRayTelCalorimeterSD::GammaRayTelCalorimeterSD(G4String name):G4VSensitiveDetector(name)
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
Detector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
|
||||
NbOfCALBars = Detector->GetNbOfCALBars();
|
||||
NbOfCALLayers = Detector->GetNbOfCALLayers();
|
||||
G4cout << NbOfCALBars << " bars " << G4endl;
|
||||
G4cout << NbOfCALLayers << " layers " << G4endl;
|
||||
|
||||
//G4cout << NbOfCALBars << " bars " << G4endl;
|
||||
//G4cout << NbOfCALLayers << " layers " << G4endl;
|
||||
|
||||
ChitXID = new G4int[NbOfCALBars][12];
|
||||
ChitYID = new G4int[NbOfCALBars][12];
|
||||
NbOfCALChannels = NbOfCALBars*NbOfCALLayers;
|
||||
|
||||
ChitXID = new G4int[NbOfCALChannels];
|
||||
ChitYID = new G4int[NbOfCALChannels];
|
||||
collectionName.insert("CalorimeterCollection");
|
||||
}
|
||||
|
||||
@@ -74,11 +79,10 @@ void GammaRayTelCalorimeterSD::Initialize(G4HCofThisEvent*HCE)
|
||||
{
|
||||
CalorimeterCollection = new GammaRayTelCalorimeterHitsCollection
|
||||
(SensitiveDetectorName,collectionName[0]);
|
||||
for (G4int i=0;i<NbOfCALBars;i++)
|
||||
for (G4int j=0;j<NbOfCALLayers;j++)
|
||||
for (G4int i=0;i<NbOfCALChannels;i++)
|
||||
{
|
||||
ChitXID[i][j] = -1;
|
||||
ChitYID[i][j] = -1;
|
||||
ChitXID[i] = -1;
|
||||
ChitYID[i] = -1;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -105,13 +109,18 @@ G4bool GammaRayTelCalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* R
|
||||
PlaneNumber=cal_plane->GetCopyNo();
|
||||
G4String PlaneName = cal_plane->GetName();
|
||||
|
||||
if (PlaneName == "CALLayerX" )
|
||||
|
||||
G4int NChannel = 0;
|
||||
|
||||
NChannel = PlaneNumber * NbOfCALBars + CALBarNumber;
|
||||
|
||||
if (PlaneName == "CALLayerX" )
|
||||
|
||||
// The hit is on an X CsI plane
|
||||
|
||||
|
||||
{
|
||||
// This is a new hit
|
||||
if (ChitXID[CALBarNumber][PlaneNumber]==-1)
|
||||
if (ChitXID[NChannel]==-1)
|
||||
{
|
||||
GammaRayTelCalorimeterHit* CalorimeterHit = new GammaRayTelCalorimeterHit;
|
||||
CalorimeterHit->SetCALType(1);
|
||||
@@ -119,13 +128,13 @@ G4bool GammaRayTelCalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* R
|
||||
CalorimeterHit->SetPos(aStep->GetPreStepPoint()->GetPosition());
|
||||
CalorimeterHit->SetCALPlaneNumber(PlaneNumber);
|
||||
CalorimeterHit->SetCALBarNumber(CALBarNumber);
|
||||
ChitXID[CALBarNumber][PlaneNumber] =
|
||||
ChitXID[NChannel] =
|
||||
CalorimeterCollection->insert(CalorimeterHit) -1;
|
||||
}
|
||||
else // This is not new
|
||||
{
|
||||
(*CalorimeterCollection)
|
||||
[ChitXID[CALBarNumber][PlaneNumber]]->AddEnergy(edep);
|
||||
[ChitXID[NChannel]]->AddEnergy(edep);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,7 +142,7 @@ G4bool GammaRayTelCalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* R
|
||||
// The hit is on an Y CsI plane
|
||||
{
|
||||
// This is a new hit
|
||||
if (ChitYID[CALBarNumber][PlaneNumber]==-1)
|
||||
if (ChitYID[NChannel]==-1)
|
||||
{
|
||||
GammaRayTelCalorimeterHit* CalorimeterHit
|
||||
= new GammaRayTelCalorimeterHit;
|
||||
@@ -142,13 +151,13 @@ G4bool GammaRayTelCalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* R
|
||||
CalorimeterHit->SetPos(aStep->GetPreStepPoint()->GetPosition());
|
||||
CalorimeterHit->SetCALPlaneNumber(PlaneNumber);
|
||||
CalorimeterHit->SetCALBarNumber(CALBarNumber);
|
||||
ChitYID[CALBarNumber][PlaneNumber] =
|
||||
ChitYID[NChannel] =
|
||||
CalorimeterCollection->insert(CalorimeterHit)-1;
|
||||
}
|
||||
else // This is not new
|
||||
{
|
||||
(*CalorimeterCollection)
|
||||
[ChitYID[CALBarNumber][PlaneNumber]]->AddEnergy(edep);
|
||||
[ChitYID[NChannel]]->AddEnergy(edep);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,12 +176,11 @@ void GammaRayTelCalorimeterSD::EndOfEvent(G4HCofThisEvent* HCE)
|
||||
HCE->AddHitsCollection(HCID,CalorimeterCollection);
|
||||
|
||||
|
||||
for (G4int i=0;i<NbOfCALBars;i++)
|
||||
for (G4int j=0;j<NbOfCALLayers;j++)
|
||||
{
|
||||
ChitXID[i][j] = -1;
|
||||
ChitYID[i][j] = -1;
|
||||
};
|
||||
for (G4int i=0;i<NbOfCALChannels;i++)
|
||||
{
|
||||
ChitXID[i] = -1;
|
||||
ChitYID[i] = -1;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDetectorConstruction.cc,v 1.5.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDetectorConstruction.cc,v 1.9 2001/11/29 11:19:18 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -70,16 +70,14 @@ GammaRayTelDetectorConstruction::GammaRayTelDetectorConstruction()
|
||||
solidACT(0),logicACT(0),physiACT(0),
|
||||
solidACL1(0),logicACL1(0),physiACL1(0),
|
||||
solidACL2(0),logicACL2(0),physiACL2(0),
|
||||
solidConverter(0),logicConverter(0),physiConverter(0),
|
||||
solidTKRDetectorX(0),logicTKRDetectorX(0),
|
||||
solidTKRDetectorY(0),logicTKRDetectorY(0),
|
||||
physiTKRDetectorX(0),physiTKRDetectorY(0),
|
||||
solidCALDetectorX(0),logicCALDetectorX(0),physiCALDetectorX(0),
|
||||
solidCALDetectorY(0),logicCALDetectorY(0),physiCALDetectorY(0),
|
||||
solidTKRDetectorX(0),logicTKRDetectorX(0),physiTKRDetectorX(0),
|
||||
solidTKRDetectorY(0),logicTKRDetectorY(0),physiTKRDetectorY(0),
|
||||
solidCALLayerX(0),logicCALLayerX(0),physiCALLayerX(0),
|
||||
solidCALLayerY(0),logicCALLayerY(0),physiCALLayerY(0),
|
||||
solidPlane(0),logicPlane(0),physiPlane(0)
|
||||
|
||||
solidCALDetectorX(0),logicCALDetectorX(0),physiCALDetectorX(0),
|
||||
solidCALDetectorY(0),logicCALDetectorY(0),physiCALDetectorY(0),
|
||||
solidPlane(0),logicPlane(0),physiPlane(0),
|
||||
solidConverter(0),logicConverter(0),physiConverter(0)
|
||||
{
|
||||
// default parameter values of the payload
|
||||
|
||||
@@ -132,7 +130,7 @@ void GammaRayTelDetectorConstruction::DefineMaterials()
|
||||
G4double a, z, density;
|
||||
|
||||
G4int ncomponents, natoms;
|
||||
G4double abundance, fractionmass;
|
||||
G4double fractionmass;
|
||||
G4double temperature, pressure;
|
||||
|
||||
//
|
||||
@@ -151,36 +149,33 @@ void GammaRayTelDetectorConstruction::DefineMaterials()
|
||||
a = 15.99*g/mole;
|
||||
G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a);
|
||||
|
||||
a = 26.98*g/mole;
|
||||
G4Element* Alumin = new G4Element(name="Aluminum" ,symbol="Al" , z= 13., a);
|
||||
|
||||
a = 28.09*g/mole;
|
||||
G4Element* Silicon = new G4Element(name="Silicon", symbol="Si", z=14., a);
|
||||
|
||||
a= 55.845*g/mole;
|
||||
G4Element* Iron = new G4Element(name="Iron", symbol="Fe", z=26.,a);
|
||||
|
||||
a = 126.904*g/mole;
|
||||
G4Element* I = new G4Element(name="Iodine" ,symbol="I" , z= 53., a);
|
||||
|
||||
|
||||
a = 132.905*g/mole;
|
||||
G4Element* Cs = new G4Element(name="Cesium" ,symbol="Cs" , z= 55., a);
|
||||
|
||||
//
|
||||
// define simple materials
|
||||
//
|
||||
a = 207.19*g/mole;
|
||||
G4Element* Lead = new G4Element(name="Lead", symbol="Pb", z=82., a);
|
||||
|
||||
density = 2.700*g/cm3;
|
||||
a = 26.98*g/mole;
|
||||
G4Material* Al = new G4Material(name="Aluminium", z=13., a, density);
|
||||
//
|
||||
// define simple materials
|
||||
//
|
||||
|
||||
density = 2.333*g/cm3;
|
||||
a = 28.09*g/mole;
|
||||
G4Material* Si = new G4Material(name="Silicon",z=14., a,density);
|
||||
|
||||
density = 19.3*g/cm3;
|
||||
a = 183.84*g/mole;
|
||||
G4Material* W = new G4Material(name="Tungsten", z=74., a, density);
|
||||
|
||||
density = 11.35*g/cm3;
|
||||
a = 207.19*g/mole;
|
||||
G4Material* Pb = new G4Material(name="Lead", z=82., a, density);
|
||||
|
||||
density = 7.87*g/cm3;
|
||||
a= 55.845*g/mole;
|
||||
G4Material* Fe = new G4Material(name="Iron", z=26.,a,density);
|
||||
|
||||
|
||||
//
|
||||
// define a material from elements. case 1: chemical molecule
|
||||
//
|
||||
@@ -192,8 +187,8 @@ void GammaRayTelDetectorConstruction::DefineMaterials()
|
||||
|
||||
density = 4.53*g/cm3;
|
||||
G4Material* CsI = new G4Material(name="CesiumIodide", density, ncomponents=2);
|
||||
CsI->AddElement(C, natoms=5);
|
||||
CsI->AddElement(H, natoms=5);
|
||||
CsI->AddElement(Cs, natoms=5);
|
||||
CsI->AddElement(I, natoms=5);
|
||||
|
||||
//
|
||||
// define a material from elements. case 2: mixture by fractional mass
|
||||
@@ -203,11 +198,27 @@ void GammaRayTelDetectorConstruction::DefineMaterials()
|
||||
G4Material* Air = new G4Material(name="Air" , density, ncomponents=2);
|
||||
Air->AddElement(N, fractionmass=0.7);
|
||||
Air->AddElement(O, fractionmass=0.3);
|
||||
|
||||
//
|
||||
// examples of vacuum
|
||||
//
|
||||
|
||||
density = 2.700*g/cm3;
|
||||
G4Material* Al = new G4Material(name="Aluminum", density, ncomponents=1);
|
||||
Al->AddElement(Alumin, fractionmass=1.);
|
||||
|
||||
density = 2.333*g/cm3;
|
||||
G4Material* Si = new G4Material(name="Silicon", density, ncomponents=1);
|
||||
Si->AddElement(Silicon, fractionmass=1.);
|
||||
|
||||
density = 7.87*g/cm3;
|
||||
G4Material* Fe = new G4Material(name="Iron", density, ncomponents=1);
|
||||
Fe->AddElement(Iron, fractionmass=1.);
|
||||
|
||||
density = 11.35*g/cm3;
|
||||
G4Material* Pb = new G4Material(name="Lead", density, ncomponents=1);
|
||||
Pb->AddElement(Lead, fractionmass=1.);
|
||||
|
||||
//
|
||||
// examples of vacuum
|
||||
//
|
||||
|
||||
density = universe_mean_density; //from PhysicalConstants.h
|
||||
pressure = 3.e-18*pascal;
|
||||
temperature = 2.73*kelvin;
|
||||
@@ -224,7 +235,7 @@ void GammaRayTelDetectorConstruction::DefineMaterials()
|
||||
|
||||
//default materials of the payload
|
||||
|
||||
ConverterMaterial = Pb;
|
||||
ConverterMaterial = W;
|
||||
defaultMaterial = vacuum;
|
||||
ACDMaterial = Sci;
|
||||
CALMaterial = CsI;
|
||||
@@ -481,22 +492,23 @@ G4VPhysicalVolume* GammaRayTelDetectorConstruction::ConstructPayload()
|
||||
physiTKR,
|
||||
false,
|
||||
i);
|
||||
|
||||
|
||||
|
||||
|
||||
physiPlane =
|
||||
new G4PVPlacement(0,G4ThreeVector(0.,0.,
|
||||
-TKRSizeZ/2+
|
||||
2*TKRSiliconThickness +
|
||||
TKRViewsDistance+
|
||||
ConverterThickness+
|
||||
TKRSupportThickness/2),
|
||||
TKRSupportThickness/2+
|
||||
(i)*TKRLayerDistance),
|
||||
"Plane",
|
||||
logicPlane,
|
||||
physiTKR,
|
||||
false,
|
||||
i);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -676,17 +688,18 @@ G4VPhysicalVolume* GammaRayTelDetectorConstruction::ConstructPayload()
|
||||
|
||||
if(!trackerSD)
|
||||
{
|
||||
trackerSD = new GammaRayTelTrackerSD("TrackerSD",this);
|
||||
trackerSD = new GammaRayTelTrackerSD("TrackerSD");
|
||||
SDman->AddNewDetector( trackerSD );
|
||||
}
|
||||
|
||||
|
||||
G4String ROgeometryName = "TrackerROGeom";
|
||||
G4VReadOutGeometry* trackerRO =
|
||||
new GammaRayTelTrackerROGeometry(ROgeometryName, this);
|
||||
new GammaRayTelTrackerROGeometry(ROgeometryName);
|
||||
|
||||
trackerRO->BuildROGeometry();
|
||||
trackerSD->SetROgeometry(trackerRO);
|
||||
|
||||
|
||||
if (logicTKRActiveTileX)
|
||||
logicTKRActiveTileX->SetSensitiveDetector(trackerSD); // ActiveTileX
|
||||
if (logicTKRActiveTileY)
|
||||
@@ -700,7 +713,7 @@ G4VPhysicalVolume* GammaRayTelDetectorConstruction::ConstructPayload()
|
||||
|
||||
if(!calorimeterSD)
|
||||
{
|
||||
calorimeterSD = new GammaRayTelCalorimeterSD("CalorimeterSD",this);
|
||||
calorimeterSD = new GammaRayTelCalorimeterSD("CalorimeterSD");
|
||||
SDman->AddNewDetector( calorimeterSD );
|
||||
}
|
||||
|
||||
@@ -716,7 +729,7 @@ G4VPhysicalVolume* GammaRayTelDetectorConstruction::ConstructPayload()
|
||||
if(!anticoincidenceSD)
|
||||
{
|
||||
anticoincidenceSD = new GammaRayTelAnticoincidenceSD
|
||||
("AnticoincidenceSD",this);
|
||||
("AnticoincidenceSD");
|
||||
SDman->AddNewDetector( anticoincidenceSD );
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDetectorMessenger.cc,v 1.3.4.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelDetectorMessenger.cc,v 1.4 2001/07/11 09:56:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDigi.cc,v 1.2 2001/12/13 13:44:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelDigi ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (21 oct 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
#include "GammaRayTelDigi.hh"
|
||||
|
||||
G4Allocator<GammaRayTelDigi> GammaRayTelDigiAllocator;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigi::GammaRayTelDigi()
|
||||
{
|
||||
PlaneType = 0;
|
||||
PlaneNumber = 0;
|
||||
StripNumber=0;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigi::~GammaRayTelDigi()
|
||||
{;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigi::GammaRayTelDigi(const GammaRayTelDigi& right)
|
||||
{
|
||||
PlaneType = right.PlaneType;
|
||||
PlaneNumber = right.PlaneNumber;
|
||||
StripNumber = right.StripNumber;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
const GammaRayTelDigi& GammaRayTelDigi::operator=(const GammaRayTelDigi& right)
|
||||
{
|
||||
PlaneType = right.PlaneType;
|
||||
PlaneNumber = right.PlaneNumber;
|
||||
StripNumber = right.StripNumber;
|
||||
return *this;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
int GammaRayTelDigi::operator==(const GammaRayTelDigi& right) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelDigi::Draw()
|
||||
{;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelDigi::Print()
|
||||
{;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDigitizer.cc,v 1.3 2001/12/04 11:40:28 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelDigitizer ------
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#include "GammaRayTelDigitizer.hh"
|
||||
#include "GammaRayTelDigi.hh"
|
||||
#include "GammaRayTelDigitizerMessenger.hh"
|
||||
|
||||
#include "GammaRayTelTrackerHit.hh"
|
||||
#include "G4EventManager.hh"
|
||||
#include "G4Event.hh"
|
||||
#include "G4SDManager.hh"
|
||||
#include "G4DigiManager.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
//#include "G4CollectionNameVector.hh"
|
||||
#include "g4std/vector"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigitizer::GammaRayTelDigitizer(G4String name)
|
||||
:G4VDigitizerModule(name)
|
||||
{
|
||||
|
||||
|
||||
G4String colName = "DigitsCollection";
|
||||
collectionName.push_back(colName);
|
||||
Energy_Threshold = 120.*keV;
|
||||
|
||||
//create a messenger for this class
|
||||
digiMessenger = new GammaRayTelDigitizerMessenger(this);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigitizer::~GammaRayTelDigitizer()
|
||||
{
|
||||
delete digiMessenger;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelDigitizer::Digitize()
|
||||
{
|
||||
DigitsCollection = new GammaRayTelDigitsCollection
|
||||
("TrackerDigitizer","DigitsCollection"); // to create the Digi Collection
|
||||
|
||||
G4DigiManager* DigiMan = G4DigiManager::GetDMpointer();
|
||||
|
||||
G4int THCID;
|
||||
|
||||
|
||||
// hits collections IDs
|
||||
|
||||
THCID = DigiMan->GetHitsCollectionID("TrackerCollection");
|
||||
|
||||
// Hits collection
|
||||
|
||||
GammaRayTelTrackerHitsCollection* THC = 0;
|
||||
|
||||
|
||||
THC = (GammaRayTelTrackerHitsCollection*)
|
||||
(DigiMan->GetHitsCollection(THCID));
|
||||
|
||||
|
||||
if (THC)
|
||||
{
|
||||
G4int n_hit = THC->entries();
|
||||
|
||||
for (G4int i=0;i<n_hit;i++)
|
||||
{
|
||||
G4double ESil = (*THC)[i]->GetEdepSil();
|
||||
G4int NStrip = (*THC)[i]->GetNStrip();
|
||||
G4int NPlane = (*THC)[i]->GetNSilPlane();
|
||||
G4int IsX = (*THC)[i]->GetPlaneType();
|
||||
|
||||
// digi generation only if energy deposit greater than threshold
|
||||
|
||||
if (ESil>Energy_Threshold)
|
||||
{
|
||||
GammaRayTelDigi* Digi = new GammaRayTelDigi();
|
||||
Digi->SetPlaneNumber(NPlane);
|
||||
Digi->SetPlaneType(IsX);
|
||||
Digi->SetStripNumber(NStrip);
|
||||
DigitsCollection->insert(Digi);
|
||||
}
|
||||
}
|
||||
|
||||
G4cout << "Number of tracker digits in this event = "
|
||||
<< DigitsCollection->entries()
|
||||
// << " " << DigitsCollection->GetName()
|
||||
// << " " << DigitsCollection->GetDMname()
|
||||
<< G4endl;
|
||||
|
||||
|
||||
StoreDigiCollection(DigitsCollection);
|
||||
|
||||
G4int DCID = -1;
|
||||
if(DCID<0)
|
||||
{
|
||||
// DigiMan->List();
|
||||
DCID = DigiMan->GetDigiCollectionID("TrackerDigitizer/DigitsCollection");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelDigitizerMessenger.cc,v 1.1 2001/11/29 09:34:17 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
//
|
||||
//
|
||||
// ------------ GammaRayTelDigitizerMessenger ------
|
||||
// by F.Longo, G.Santin & R.Giannitrapani (27 nov 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#include "GammaRayTelDigitizerMessenger.hh"
|
||||
|
||||
#include "GammaRayTelDigitizer.hh"
|
||||
#include "G4UIcmdWithADoubleAndUnit.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigitizerMessenger::GammaRayTelDigitizerMessenger
|
||||
(GammaRayTelDigitizer* GammaRayTelDigit)
|
||||
:GammaRayTelAction(GammaRayTelDigit)
|
||||
{
|
||||
ThresholdCmd = new G4UIcmdWithADoubleAndUnit("/digitizer/Threshold",this);
|
||||
ThresholdCmd->SetGuidance("Energy deposition threshold for TKR digi generation");
|
||||
ThresholdCmd->SetParameterName("choice",true);
|
||||
ThresholdCmd->SetDefaultValue((G4double)20.*keV);
|
||||
ThresholdCmd->SetRange("Threshold >=0.");
|
||||
ThresholdCmd->SetUnitCategory("Energy");
|
||||
ThresholdCmd->AvailableForStates(PreInit,Idle);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelDigitizerMessenger::~GammaRayTelDigitizerMessenger()
|
||||
{
|
||||
delete ThresholdCmd;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void GammaRayTelDigitizerMessenger::SetNewValue(G4UIcommand * command,G4String newValue)
|
||||
{
|
||||
if( command == ThresholdCmd )
|
||||
{
|
||||
GammaRayTelAction->SetThreshold
|
||||
(ThresholdCmd->GetNewDoubleValue(newValue));
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelEventAction.cc,v 1.5.2.2 2001/06/28 20:18:41 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelEventAction.cc,v 1.13 2001/12/04 13:23:52 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -31,6 +31,10 @@
|
||||
// ------------ GammaRayTelEventAction ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
//
|
||||
// - inclusion of Digits by F.Longo & R.Giannitrapani (24 oct 2001)
|
||||
//
|
||||
// - Modification of analysis management by G.Santin (18 Nov 2001)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#include "GammaRayTelEventAction.hh"
|
||||
@@ -38,10 +42,8 @@
|
||||
#include "GammaRayTelAnticoincidenceHit.hh"
|
||||
#include "GammaRayTelCalorimeterHit.hh"
|
||||
|
||||
#include "g4rw/tvordvec.h"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysisManager.hh"
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
#endif
|
||||
|
||||
#include "G4Event.hh"
|
||||
@@ -57,25 +59,25 @@
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
#include "GammaRayTelDigi.hh"
|
||||
#include "GammaRayTelDigitizer.hh"
|
||||
#include "G4DigiManager.hh"
|
||||
|
||||
// This file is a global variable in which we store energy deposition per hit
|
||||
// and other relevant information
|
||||
|
||||
extern G4std::ofstream outFile;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelEventAction::GammaRayTelEventAction(GammaRayTelAnalysisManager* aMgr)
|
||||
:drawFlag("all"),trackerCollID(-1), calorimeterCollID(-1),
|
||||
anticoincidenceCollID(-1), analysisManager(aMgr)
|
||||
{
|
||||
}
|
||||
#else
|
||||
GammaRayTelEventAction::GammaRayTelEventAction()
|
||||
:drawFlag("all"), trackerCollID(-1),calorimeterCollID(-1),
|
||||
anticoincidenceCollID(-1)
|
||||
{
|
||||
:trackerCollID(-1),calorimeterCollID(-1),
|
||||
anticoincidenceCollID(-1), drawFlag("all")
|
||||
{
|
||||
G4DigiManager * fDM = G4DigiManager::GetDMpointer();
|
||||
GammaRayTelDigitizer * myDM = new GammaRayTelDigitizer( "TrackerDigitizer" );
|
||||
fDM->AddNewModule(myDM);
|
||||
}
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -90,22 +92,19 @@ void GammaRayTelEventAction::BeginOfEventAction(const G4Event* evt)
|
||||
|
||||
G4int evtNb = evt->GetEventID();
|
||||
G4cout << "Event: " << evtNb << G4endl;
|
||||
|
||||
G4SDManager * SDman = G4SDManager::GetSDMpointer();
|
||||
if (trackerCollID==-1)
|
||||
{
|
||||
trackerCollID = SDman->GetCollectionID("TrackerCollection");
|
||||
}
|
||||
if(anticoincidenceCollID==-1)
|
||||
{
|
||||
anticoincidenceCollID =
|
||||
SDman->GetCollectionID("AnticoincidenceCollection");
|
||||
}
|
||||
if(calorimeterCollID==-1)
|
||||
{
|
||||
calorimeterCollID =
|
||||
SDman->GetCollectionID("CalorimeterCollection");
|
||||
}
|
||||
|
||||
if (trackerCollID==-1) {
|
||||
trackerCollID = SDman->GetCollectionID("TrackerCollection");
|
||||
}
|
||||
if(anticoincidenceCollID==-1) {
|
||||
anticoincidenceCollID =
|
||||
SDman->GetCollectionID("AnticoincidenceCollection");
|
||||
}
|
||||
if(calorimeterCollID==-1) {
|
||||
calorimeterCollID =
|
||||
SDman->GetCollectionID("CalorimeterCollection");
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -125,6 +124,8 @@ void GammaRayTelEventAction::EndOfEventAction(const G4Event* evt)
|
||||
GammaRayTelAnticoincidenceHitsCollection* AHC = 0;
|
||||
|
||||
|
||||
G4DigiManager * fDM = G4DigiManager::GetDMpointer();
|
||||
|
||||
if (HCE)
|
||||
{
|
||||
THC = (GammaRayTelTrackerHitsCollection*)(HCE->GetHC(trackerCollID));
|
||||
@@ -142,8 +143,8 @@ void GammaRayTelEventAction::EndOfEventAction(const G4Event* evt)
|
||||
G4int NStrip, NPlane, IsX;
|
||||
|
||||
// This is a cycle on all the tracker hits of this event
|
||||
|
||||
for (int i=0;i<n_hit;i++)
|
||||
|
||||
for (int i=0;i<n_hit;i++)
|
||||
{
|
||||
// Here we put the hit data in a an ASCII file for
|
||||
// later analysis
|
||||
@@ -158,44 +159,83 @@ void GammaRayTelEventAction::EndOfEventAction(const G4Event* evt)
|
||||
(*THC)[i]->GetPos().x()/mm <<" "<<
|
||||
(*THC)[i]->GetPos().y()/mm <<" "<<
|
||||
(*THC)[i]->GetPos().z()/mm <<" "<<
|
||||
G4endl;
|
||||
G4endl;
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
// Here we fill the histograms of the Analysis manager
|
||||
if(IsX)
|
||||
{
|
||||
if (analysisManager->GetHisto2DMode()=="position")
|
||||
analysisManager->InsertPositionXZ((*CHC)[i]->GetPos().x()/mm,(*CHC)[i]->GetPos().z()/mm);
|
||||
else
|
||||
analysisManager->InsertPositionXZ(NStrip, NPlane);
|
||||
if (NPlane == 0) analysisManager->InsertEnergy(ESil/keV);
|
||||
analysisManager->InsertHits(NPlane);
|
||||
}
|
||||
else
|
||||
if (analysisManager->GetHisto2DMode()=="position")
|
||||
analysisManager->InsertPositionYZ((*CHC)[i]->GetPos().y()/mm,(*CHC)[i]->GetPos().z()/mm);
|
||||
else
|
||||
analysisManager->InsertPositionYZ(NStrip, NPlane);
|
||||
#endif
|
||||
}
|
||||
|
||||
// Here we fill the histograms of the Analysis manager
|
||||
GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance();
|
||||
|
||||
if(IsX)
|
||||
{
|
||||
if (analysis->GetHisto2DMode()=="position")
|
||||
analysis->InsertPositionXZ((*THC)[i]->GetPos().x()/mm,(*THC)[i]->GetPos().z()/mm);
|
||||
else
|
||||
analysis->InsertPositionXZ(NStrip, NPlane);
|
||||
if (NPlane == 0) analysis->InsertEnergy(ESil/keV);
|
||||
analysis->InsertHits(NPlane);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (analysis->GetHisto2DMode()=="position")
|
||||
analysis->InsertPositionYZ((*THC)[i]->GetPos().y()/mm,(*THC)[i]->GetPos().z()/mm);
|
||||
else
|
||||
analysis->InsertPositionYZ(NStrip, NPlane);
|
||||
if (NPlane == 0) analysis->InsertEnergy(ESil/keV);
|
||||
analysis->InsertHits(NPlane);
|
||||
}
|
||||
|
||||
#ifdef G4ANALYSIS_USE_NTUPLE
|
||||
|
||||
analysis->setNtuple( ESil/keV, NPlane, (*THC)[i]->GetPos().x()/mm,
|
||||
(*THC)[i]->GetPos().y()/mm,
|
||||
(*THC)[i]->GetPos().z()/mm);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
// Here we call the analysis manager function for visualization
|
||||
#ifdef G4ANALYSIS_USE
|
||||
analysisManager->EndOfEvent(n_hit);
|
||||
GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance();
|
||||
analysis->EndOfEvent(n_hit);
|
||||
#endif
|
||||
}
|
||||
|
||||
GammaRayTelDigitizer * myDM =
|
||||
(GammaRayTelDigitizer*)fDM->FindDigitizerModule( "TrackerDigitizer" );
|
||||
myDM->Digitize();
|
||||
|
||||
G4int myDigiCollID = fDM->GetDigiCollectionID("DigitsCollection");
|
||||
|
||||
// G4cout << "digi collecion" << myDigiCollID << G4endl;
|
||||
|
||||
if(G4VVisManager::GetConcreteInstance())
|
||||
{
|
||||
for(G4int i=0; i<n_trajectories; i++)
|
||||
{ G4Trajectory* trj = (G4Trajectory *)((*(evt->GetTrajectoryContainer()))[i]);
|
||||
if (drawFlag == "all") trj->DrawTrajectory(50);
|
||||
else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.))
|
||||
trj->DrawTrajectory(50);
|
||||
}
|
||||
GammaRayTelDigitsCollection * DC = (GammaRayTelDigitsCollection*)fDM->GetDigiCollection( myDigiCollID );
|
||||
|
||||
if(DC) {
|
||||
// G4cout << "Total Digits " << DC->entries() << G4endl;
|
||||
G4int n_digi = DC->entries();
|
||||
G4int NStrip, NPlane, IsX;
|
||||
for (G4int i=0;i<n_digi;i++) {
|
||||
// Here we put the digi data in a an ASCII file for
|
||||
// later analysis
|
||||
NStrip = (*DC)[i]->GetStripNumber();
|
||||
NPlane = (*DC)[i]->GetPlaneNumber();
|
||||
IsX = (*DC)[i]->GetPlaneType();
|
||||
|
||||
outFile << G4std::setw(7) << event_id << " " << NStrip <<
|
||||
" " << NPlane << " " << IsX << " " << G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
if(G4VVisManager::GetConcreteInstance()) {
|
||||
for(G4int i=0; i<n_trajectories; i++) {
|
||||
G4Trajectory* trj = (G4Trajectory *)((*(evt->GetTrajectoryContainer()))[i]);
|
||||
if (drawFlag == "all") trj->DrawTrajectory(50);
|
||||
else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.))
|
||||
trj->DrawTrajectory(50);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPhysicsList.cc,v 1.2.4.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPhysicsList.cc,v 1.3 2001/07/11 09:56:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorAction.cc,v 1.3.4.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPrimaryGeneratorAction.cc,v 1.6 2001/11/29 11:19:18 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -36,6 +36,7 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "GammaRayTelPrimaryGeneratorAction.hh"
|
||||
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
@@ -49,11 +50,13 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
GammaRayTelPrimaryGeneratorAction::GammaRayTelPrimaryGeneratorAction
|
||||
(GammaRayTelDetectorConstruction* GammaRayTelDC)
|
||||
:GammaRayTelDetector(GammaRayTelDC),rndmFlag("off"),
|
||||
nSourceType(0),nSpectrumType(0)
|
||||
GammaRayTelPrimaryGeneratorAction::GammaRayTelPrimaryGeneratorAction()
|
||||
:rndmFlag("off"),nSourceType(0),nSpectrumType(0)
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
GammaRayTelDetector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
|
||||
G4int n_particle = 1;
|
||||
particleGun = new G4ParticleGun(n_particle);
|
||||
|
||||
@@ -98,7 +101,8 @@ void GammaRayTelPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
dir0 = G4ThreeVector(0.,0.,-1.);
|
||||
|
||||
G4double theta, phi, y, f;
|
||||
G4double theta0,phi0;
|
||||
G4double theta0=0.;
|
||||
G4double phi0=0.;
|
||||
|
||||
switch(nSourceType) {
|
||||
case 0:
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelPrimaryGeneratorMessenger.cc,v 1.2.4.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelPrimaryGeneratorMessenger.cc,v 1.3 2001/07/11 09:56:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelRunAction.cc,v 1.3.4.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelRunAction.cc,v 1.7 2001/12/04 11:40:28 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
@@ -30,6 +30,8 @@
|
||||
//
|
||||
// ------------ GammaRayTelRunAction ------
|
||||
// by R.Giannitrapani, F.Longo & G.Santin (13 nov 2000)
|
||||
// 18.11.2001 G.Santin
|
||||
// - Modified the analysis management according to the new design
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
@@ -39,24 +41,21 @@
|
||||
|
||||
#include "GammaRayTelRunAction.hh"
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
#include "GammaRayTelAnalysis.hh"
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "G4Run.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4VVisManager.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
extern ofstream outFile;
|
||||
extern G4std::ofstream outFile;
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
GammaRayTelRunAction::GammaRayTelRunAction(GammaRayTelAnalysisManager* aMgr)
|
||||
:analysisManager(aMgr)
|
||||
{
|
||||
}
|
||||
#else
|
||||
GammaRayTelRunAction::GammaRayTelRunAction()
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -84,7 +83,8 @@ void GammaRayTelRunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
|
||||
// If analysis is used reset the histograms
|
||||
#ifdef G4ANALYSIS_USE
|
||||
analysisManager->BeginOfRun();
|
||||
GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance();
|
||||
analysis->BeginOfRun(aRun->GetRunID());
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -102,7 +102,8 @@ void GammaRayTelRunAction::EndOfRunAction(const G4Run* aRun)
|
||||
|
||||
// If analysis is used, print out the histograms
|
||||
#ifdef G4ANALYSIS_USE
|
||||
analysisManager->EndOfRun(aRun->GetRunID());
|
||||
GammaRayTelAnalysis* analysis = GammaRayTelAnalysis::getInstance();
|
||||
analysis->EndOfRun(aRun->GetRunID());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelTrackerHit.cc,v 1.1.2.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelTrackerHit.cc,v 1.2 2001/07/11 09:56:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
// CERN Geneva Switzerland
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: GammaRayTelTrackerROGeometry.cc,v 1.1.2.2 2001/06/28 20:18:42 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: GammaRayTelTrackerROGeometry.cc,v 1.5 2001/11/29 11:19:18 griccard Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -34,7 +34,7 @@
|
||||
// by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
|
||||
//
|
||||
// ************************************************************
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "GammaRayTelTrackerROGeometry.hh"
|
||||
#include "GammaRayTelDummySD.hh"
|
||||
#include "GammaRayTelDetectorConstruction.hh"
|
||||
@@ -53,14 +53,12 @@ GammaRayTelTrackerROGeometry::GammaRayTelTrackerROGeometry()
|
||||
: G4VReadOutGeometry()
|
||||
{
|
||||
}
|
||||
GammaRayTelTrackerROGeometry::GammaRayTelTrackerROGeometry(G4String aString,GammaRayTelDetectorConstruction* GammaRayTelDC)
|
||||
:GammaRayTelDetector(GammaRayTelDC), G4VReadOutGeometry(aString)
|
||||
{
|
||||
}
|
||||
|
||||
GammaRayTelTrackerROGeometry::GammaRayTelTrackerROGeometry(G4String aString)
|
||||
: G4VReadOutGeometry(aString)
|
||||
:G4VReadOutGeometry(aString)
|
||||
{
|
||||
G4RunManager* runManager = G4RunManager::GetRunManager();
|
||||
GammaRayTelDetector =
|
||||
(GammaRayTelDetectorConstruction*)(runManager->GetUserDetectorConstruction());
|
||||
}
|
||||
|
||||
GammaRayTelTrackerROGeometry::~GammaRayTelTrackerROGeometry()
|
||||
@@ -326,8 +324,7 @@ G4VPhysicalVolume* GammaRayTelTrackerROGeometry::Build()
|
||||
// as a flag only to check for sensitivity.
|
||||
// (Could we make it by a simple cast of a non-NULL value ?)
|
||||
|
||||
|
||||
GammaRayTelDummySD * dummySensi = new GammaRayTelDummySD;
|
||||
GammaRayTelDummySD * dummySensi = new GammaRayTelDummySD("Orpo");
|
||||
|
||||
logicTKRStripX->SetSensitiveDetector(dummySensi);
|
||||
logicTKRStripY->SetSensitiveDetector(dummySensi);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user