diff --git a/Configure b/Configure index 7c24dbae31..3b94f3036d 100755 --- a/Configure +++ b/Configure @@ -18,9 +18,9 @@ # you may fetch it yourself from your nearest archive site.) # -# $Id: Configure,v 1.31 2002/12/13 15:46:47 stesting Exp $ +# $Id: Configure,v 1.33 2003/02/21 16:04:59 stesting Exp $ # -# Generated on Fri Dec 13 16:43:52 CET 2002 [metaconfig 3.0 PL70] +# Generated on Fri Feb 21 17:04:19 CET 2003 [metaconfig 3.0 PL70] cat >/tmp/c1$$ <Geant4 Home Page. + +Please refer to Geant4 +User Documentation for further information about using Geant4. diff --git a/ReleaseNotes/ReleaseNotes4.5.1.txt b/ReleaseNotes/ReleaseNotes4.5.1.txt new file mode 100644 index 0000000000..bb4543fe5b --- /dev/null +++ b/ReleaseNotes/ReleaseNotes4.5.1.txt @@ -0,0 +1,465 @@ + + Geant4 5.1 Release Notes + ------------------------ + + 30 April 2003 + +The code and some binary libraries are available through our "Source Code" +Web page (http://cern.ch/geant4). + +Please refer to the Geant4 User Documentation +(http://cern.ch/geant4/G4UsersDocuments/Overview/html) +for further information about using Geant4. + + +Contents +-------- + + 1. Supported and Tested Platforms + 2. AIDA and CLHEP + 3. The Standard Template Library (STL) + 4. Compiler Specific Problems + 5. Known Run-Time Problems + 6. Compilation Warnings + 7. Known Run-Time Warnings + 8. Features at Run-Time + 9. Items for migration of user code + + +1. Supported and Tested Platforms +--------------------------------- + + o SUN Solaris 5.8, C++ 5.4 Patch 111715-02. + o Linux, gcc 2.95.2, gcc 3.2. + This configuration was tested with the RedHat 7.3 distribution, + versions of Geant4 have also been compiled successfully on other + Linux distributions, like Debian or Suse. + The default RedHat compiler gcc-2.96 ditributed in RedHat 7.X is NOT + supported. It has been verified that it produces incorrect binaries, + therefore is not reliable. See also note below. + o Windows-2000/XP and CygWin Tools with: Visual C++ 6.0 Service Pack 5 + +Platforms configured but not tested and not supported: + o DEC V4.0, cxx C++ V6.1-027 + o HP 10.20, aCC C++ B3910B A.01.23 + o SGI V6.5.5, CC 7.2.1 + o AIX 4.3.2, xlC 6.0 + o MacOS 10.2, gcc 2.95.2 / gcc-3.2 + + +2. AIDA and CLHEP +----------------- + +Geant4 5.1 requires the installation of CLHEP +(href="http://cern.ch/clhep/INSTALLATION/clhep.html). +Tests have been performed with CLHEP 1.8.0.0. + +Geant4 5.1 examples with histogramming cowork with AIDA 3.0 implementations. +These include: +- ANAPHE and components included therein + (see: ANAPHE - http://cern.ch/anaphe) +- JAS (Java Analysis Studio) + (see: JAS - http://jas.freehep.org) +- Open Scientist + (see: Open Scientist - http://www.lal.in2p3.fr/OpenScientist) + +AIDA headers can be downloaded from: + http://aida.freehep.org + + +3. The Standard Template Library +-------------------------------- + +Native versions of STL have been tested on the following platforms: + + Windows/2000, Linux, and SUN. + +NOTES: + +- Platform specific setup: + o SUN: Native STL is required for ISO/ANSI setup. + o Linux: Native STL is required (non ISO/ANSI setup for egcs compiler only). + o Windows: Native STL and ISO/ANSI setup required (VC++ 6.0). + + +4. Compiler Specific Problems +----------------------------- + + o Linux Red Hat 7.X, gcc-2.96. + + - The default compiler distributed by Red Hat since release 7.0 is + NOT supported and not considered reliable for running a Geant4-based + application. In more than one test case, binaries produced by gcc-2.96 + have shown incorrect behavior, either due to wrong order of + initialisation of static data in memory or to bugs in the system + iostream classes, problems which apparently have all been solved in + more recent versions of the compiler (3.X series). + For information, gcc-2.96 is a compiler that has never been + officially released, nor supported by the GNU team itself and is not + considered reliable by the authors (for more information, see also + http://gcc.gnu.org/gcc-2.96.html). + + +5. 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 + + +6. 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. + + +7. 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. + + +8. Features at Run-Time +----------------------- + + o In this release, the implementation of the G4RunManager has been + substantially modified. The calculation of the physics cross-section + tables takes place -after- the "BeamOn" command is issued. Thus, the + initialisation of the run-manager (either through the initialize() + method or the UI command "run/initialize") is noticeably faster + compared to the previous version. On the other hand, more time is + required to get the event loop starting, once issued the "BeamOn" + command. + o Production thresholds are now adopted only for gammas, electrons and + positrons. Other particles do not use the concept of production threshold; + setting cut values for particles rather than the cited three will have no + effect in the application, but will result in a warning message. + + +9. Items for migration of user code +----------------------------------- + +o User applications having user-defined production cuts will work with + no required transition to the new interface, as long as regions are + not used. The new interface for setting production cuts will be + required for using the 'cuts-by-region' feature (see the User's + Guide for Application Developers). + The old interface for setting/controlling production cuts (methods + and UI commands) will be made obsolete in the next public release and + later-on removed. + An example showing the utilisation of the 'cut-by-region' technique is + available in examples/novice/N07. +o The file format of storing physics tables has been changed. Thus all + the stored physics tables must be rebuilt. +o Advanced applications making use of a sub-classed run-manager will have + to migrate to the new initialization scheme and interface defined in + G4RunManager. Particularly, users must be aware of the change in the + sequence of building the physics tables. G4RunManager::BuildPhysicsTable() + must be invoked from G4RunManager::RunInitialization(). + G4VUserPhysicsList::SetCuts() does not trigger the construction of the + physics tables, it is just aimed to set the production thresholds (cuts). + All other user mandatory initialization classes are kept as before. +o Applications making use of the prototype STD EM processes and messenger + will have to migrate according to the design iteration implemented in + this new release, examples showing the usage of these processes can be + found in examples/extended/electromagnetic: TestEm2, TestEm3. +o The new data sets for low-energy EM processes G4EMLOW2.1 is required + for applications making use of such processes. + + + ---------------------------------------------------------------------------- + + List of changes and fixes + ------------------------- + +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 Digitization & Hits: + ------------------- + - Fixed G4VSensitiveDetector::GetCollectionID() for more than one + sensitive detector objects instantiated from one detector class. + + o Electromagnetic Processes (Low-energy): + -------------------------------------- + - Included development for 'cuts-by-region': + o Made relevant physics processes "region-aware". + - First implementation of Penelope processes for photons. + Minor design iteration on Bremsstrahlung, to accomodate variable + number of parameters compatible with Penelope processes. + Requires new data set G4EMLOW2.1. + - New Ziegler2000 parameterisation for G4hLowEnergyIonisation. + and fix in calculation of step-limit. + - Use particle SubType for ions. + - Bug fix to the Auger effect, in response to user report. + - Bug fix to G4LowEnergyGammaConversion for angular distribution. + + o Electromagnetic Processes (Standard): + ------------------------------------ + - Included development for 'cuts-by-region': + o Made relevant physics processes "region-aware". + o Made the set of model per region available. + o Made SubCutoff regime available per region. + o Fixes for store/restore physics tables for ions. + o Made step-limit calculation region aware + and added finalRangeRequested for region handling. + - First implementation of G4AnnihiToMuPair process. + - Important modifications in Multiple Scattering + (both in default classes and STD version): + o new algorithm to reduce the step dependence + o new sampling for the geometrical path-lengths. + o Introduced base class G4VMultipleScattering. + - MuPairProduction::PostStepDoIt(): removed 'tracking cut' of muon. + - Fixed problem in cut control in G4PAIonisation. + - Fixed problem of computation of mean-free-path for PAI process. + - STD processes: + o Fixed problem in fluctuations. + o Fixed problem of negative step limit. + o Fixed problems with lambda and range tables for hadrons/ions. + o Added Initialise() method to calculate PartialSumSigma. + o Added GetDEDXDispersion() method to loss tables. + o Removed UI messenger. + - Fix in setting of 'costeta' in ElecThetaDistribution() for + PhotoElectricEffect. + - Added warning and G4Exception in G4EnergyLossTable in case of using + the old interface when more than one region is defined. + - Made energy-loss messanger active at PreInit state. + - Use particle SubType for GenericIons. + + o General Processes, Parameterisation, Decay, Optical: + --------------------------------------------------- + - Management: + o Fixed PostStepGetPhysicalInteractionLength() for discrete processes + to avoid unrealistic step of length 0 in rare cases of precision + mismatch. Fixes bug report #465. + o Cleared few trivial strict pedantic warnings. + - Decay: + o Corrected initialisation of TouchableHandle for decay products. + - Optical: + o Modified logic for the assignment of the index of refraction + of the 2nd material. Most applications should not notice a change. + Fixes bug-report #444. + + o Geometry: + -------- + - Importance biasing + o G4ParallelNavigator: modified shift mechanism in method + ComputeStepLengthShifted(). + o Modified implementation of IsInWorld() in G4IStore using + G4LogicalVolume::IsAncestor(). + o Cleared strict pedantic warnings. + - Management + o Included development for 'cuts-by-region': + + Introduced new classes G4Region and G4RegionStore. + + Modified G4LogicalVolume to handle recursive propagation + of regions to daughters. + + Updated G4LogicalVolumeStore to handle de-registration of + root regions for volumes which are explicitely deleted. + o G4LogicalVolume: + + Added check for invalid geometry constructions. Issue an + exception if a placement is attempted in a volume already + containing a replicated daughter. + + Added method for scanning recursively the volume tree and + retrieve if the current LV is ancestor of a given PV: + G4bool IsAncestor(const G4VPhysicalVolume*) const + - Solids + o Boolean solids: + + Fixed trivial strict pedantic warnings in G4ReflectedSolid + and G4ReflectionFactory. + o BREPS solids: + + Fixed trivial strict pedantic warnings in compilation. + o Specific solids: + + Fixed initialisation of base class in copy contructor for: + G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide. + + Fixed trivial pedantic warnings on G4Polycone and G4Polyhedra. + o STEPinterface: + + Fixed trivial strict pedantic warnings in compilation. + - Volumes + o G4NavigationHistory: fix in methods Clear() and SetFirstEntry(). + Correctly initialise navigation levels. Resolves discrepancy in the + copy number assigned to the world volume, if retrieved through the + touchable or explicitely through the physical volume. + o G4GeometryMessenger: added UI command for setting navigator + verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]). + o G4ReplicaNavigation: fixed debug statement in VoxelLocate(). + o G4VoxelNavigation: fixed debug statement in destructor. + o G4Navigator: removed redundant calculation of localPoint in method + LocateGlobalPointWithinVolume() + o Fixed few trivial strict pedantic warnings in compilation. + + o Global: + ------ + - Removed copies of SystemOfUnits.h and PhysicalConstants.h, now using + directly headers from CLHEP: changed globals.hh and G4SIunits.hh. + - Fixed trivial strict pedantic warnings in copy constructor for + G4PhysicsTable and G4strstreambuf. Also for unused parameters in + a couple of methods in G4String. + - Removed unnecessary usage of GNU_GCC preprocessor flag in G4Allocator + and G4strstreambuf. + + o Graphical representations: + ------------------------- + - Fixed trivial strict pedantic warnings in compilation. + + o Hadronic Processes: + ------------------ + - cross_sections + o Introducing an upper limit in the alternative pion cross-section + class G4PiNuclearCrossSection. + - models/generator/scattering + o Fixed critical bug affecting binary-cascade model. + - models/low_energy + o Removed two un-physical exceptions in G4LENeutronInelastic. + No run-time change. + - stopping: + o Fixed bug in stopping muons (G4MuonMinusCaptureAtRest). + Fixes bug-report #457. + + o Magnetic Field: + -------------- + - Fixed definition of copy constructors in fields inheritance chain. + - Moved obsolete method StepWithEst() to private in G4RKG3_Stepper, + G4CashKarpRKF45 and G4ClassicalRK4. + - Cleared strict pedantic warnings. + + o Particles: + --------- + - Included development for 'cuts-by-region': + o Dismissed 'cuts-by-material' temporary implementation. + o Removed concrete implementation of method + 'CalcEnergyCuts( const G4Material* )' from affected particles. + o Removed ComputeLoss(), BuildRangeVector() from G4Electron and + G4Positron. + o Added classes G4MaterialCutsCouple, G4ProductionCuts, + G4ProductionCutsTable, G4RToEConvForAntiNeutron, + G4RToEConvForAntiProton, G4RToEConvForElectron, + G4RToEConvForGamma, G4RToEConvForNeutron, G4RToEConvForPositron, + G4RToEConvForProton, G4VRangeToEnergyConverter + in processes/management. + o Removed G4ParticleWithCuts class and changed to alias of + G4ParticleDefinition to handle new cuts scheme. + o Implemented Store/Retrieve Cut in G4ProductionCutsTable. + G4ProductionCuts contains cuts only for gamma and e+/-. + - Embed a string of file version to physics table file. + - Added particle SubType for nuclei to distinguish static or + dynamic objects. + - G4DynamicParticle: + o Fixed case of negative sqrt in Set4Momentum(), occasionally + resulting in computation of negative interaction length. + Fixes problem report #360. + o Fix to resolve a known problem in pi-0 decay. + + o Run, Intercoms and Interfaces + ----------------------------- + - Included development for 'cuts-by-region': + o In G4VUserPhysicsList, removed the following methods: + ReCalcCutValue(), SetCutValueForOthers(), SetCutValueForOtherThan(), + ReCalcCutValueForOthers(), StoreMaterialInfo(), StoreCutValues(), + RetrieveCutValues(), CheckForRetrievePhysicsTable(), + CheckMaterialInfo(). Added method BuildPhysicsTable(). + o Modified G4RunManger to properly handle new cuts scheme based + on regions. + o Added commands for setting cuts. + o Implemented store/retrieve physics list methods. + - Removed BuildPhysicsTable() from Initialize() and moved to BeamOn. + and invoke it for dynamically created ions. + - Added GenerateRun() method in G4UserRunAction. + - Cleared inline virtual method in G4Run. + + o Tracking & Track: + ---------------- + - Included development for 'cuts-by-region': + o Modified implementation of stepping to cope with new scheme for + cuts and regions. + o Updated G4Track, G4Step, G4StepPoint and G4ParticleChangeForTransport + to properly handle new G4MaterialCutsCouple. + - Fix in G4Step::InitializeStep(): added initialization of fCharge + in StepPoint. + - G4SteppingVerbose: fixed retrieval of phys-volume name, adding + check for NULL pointer for post-step physical volume returned. + - G4SteppingManager: + o recover ApplyCuts() for cuts-by-region. + o fixed initilization of fAtRestDoItProcTriggered. + + o Transportation: + -------------- + - Included development for 'cuts-by-region': + o Made G4Transportation and G4UserSpecialCuts "region-aware". + - Cleared pedantic warnings and some cosmetic cleanups. + + o g3tog4 tool: + ----------- + - Fixed trivial strict pedantic warnings in compilation. + + o data + ---- + - Updated data-set for low-energy EM processes: G4EMLOW2.1 + + o Examples: + -------- + o Updated reference outputs. + - advanced: + o composite_calorimeter + + Fixed G4cout/G4endl in CCalAnalysis and cleaned some + compilation warnings. + - extended: + o Updated PhysicsList for cut by region. + o analysis + + A01 + - Added 2 more histograms to the example + - Fixed NullPointerException by letting SDManager delete the + detectors created in DetectorConstruction. + - Added comment when quitting Geant4 that JAS window still + needs closing. + o biasing + + Changed the replica number of the world volume from -1 to 0. + + Initialize() of the G4RunManager is now called after all Materials + and volumes (also in the parallel geometry) are built. + o electromagnetic + + TestEm1 + - Fixed verbose problem. + - Removed old interfaces to cuts. + - Added definition of mean excitation energy for water. + + TestEm2 + - Use logical mother for G4PVPlacement and G4PVReplica. + - Completed migration to cuts by region. + - Update modular structure of PhysicsList. + + TestEm3 + - Change in all macros: /run/particle/setCut -> /testem/phys/setCuts. + - Material CsI and example of SetMeanExcitationEnergy(). + - Defined BGO material. + - Added example of static ion: IonC12 class and ionC12.mac. + - Use logical mother for G4PVPlacement. + + TestEm4 + - Use logical mother for G4PVPlacement. + + TestEm5 + - PhysicsList: removed cutForProton (old interface). + - Fixed problem of 'OutOfWorld' volume. + - Use logical mother for G4PVPlacement. + + TestEm6 + - Use logical mother for G4PVPlacement. + - novice: + o Updated PhysicsList for cut by region. + o Use pointer to logical mother for placements. + o Added new novice example N07 demonstrating cuts-by-region, + material parameterisation, run-time modification of part of the + geometry setup, sharing of a sensitive detector definition for + different sub-detectors, customization of the G4Run, store/retrieve + physics table. + o N04 + + Added capture and fission in HadronPhysicsList. + o N06 + + Corrected OpWaterSurface to be dieletric_dieletric. diff --git a/config/History b/config/History index 1c2d759158..2519b39662 100644 --- a/config/History +++ b/config/History @@ -1,5 +1,5 @@ -$Id: History,v 1.209 2002/12/10 14:05:59 gcosmo Exp $ -$Name: geant4-05-00 $ +$Id: History,v 1.210 2003/01/22 18:02:21 gcosmo Exp $ +$Name: geant4-05-01 $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +22nd January 2003 Gabriele Cosmo (config-V05-00-00) +- Added experimental setup WIN32-VC7.gmk for Windows .NET VC++ compiler. +- Generalised identification of WIN32 specific setups in core scripts. +- Forced silent generation of dependencies (added -w option to calls to g++). + 4th December 2002 Gabriele Cosmo (config-V04-01-08) - Removed obsolete setup for ObjectSpace-STL (G4USE_OSPACE and related variables). Removed obsolete variable G4USE_STL. diff --git a/config/architecture.gmk b/config/architecture.gmk index 7fb6bebbf3..655f4cd5e1 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 1.84 2002/12/04 14:44:23 gcosmo Exp $ +# $Id: architecture.gmk,v 1.85 2003/01/22 18:02:02 gcosmo Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -124,7 +124,7 @@ ifndef CLHEP_LIB_DIR CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib endif ifndef CLHEP_LIB - ifeq ($(G4SYSTEM),WIN32-VC) + ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) CLHEP_LIB := CLHEP.lib else CLHEP_LIB := CLHEP @@ -145,7 +145,7 @@ endif # Toggle variables (positional qualifiers) between WIN32-VC and UNIX... # -ifeq ($(G4SYSTEM),WIN32-VC) +ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) OUT_OBJ := -TP '-Fo' FOR_OBJ := '-Fo' OUT_LIB := '-out:' @@ -180,7 +180,7 @@ CPPFLAGS += -I$(CLHEP_INCLUDE_DIR) # Positional qualifiers in action... # -ifeq ($(G4SYSTEM),WIN32-VC) +ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR) LOADLIBS := $(CLHEP_LIB) else diff --git a/config/binmake.gmk b/config/binmake.gmk index 2b5adda66b..4a4a61828e 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.85 2002/12/04 14:44:23 gcosmo Exp $ +# $Id: binmake.gmk,v 1.86 2003/01/22 18:02:03 gcosmo Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # First implementation: Gabriele Cosmo, 25/06/1998. @@ -224,7 +224,7 @@ else endif LDLIBS_PREFINAL += $(LDLIBS4) -ifeq ($(G4SYSTEM),WIN32-VC) +ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) WIN32TMP := $(patsubst -L%,$(LIB_PATH)%,$(LDFLAGS)) LDFLAGS = $(patsubst /,$(PATH_DEL),$(WIN32TMP)) LDLIBS = $(patsubst -l%,lib%.a,$(LDLIBS_PREFINAL)) @@ -327,7 +327,7 @@ $(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc @if [ ! -d $(G4TMPDIR)/exe ] ; then mkdir $(G4TMPDIR)/exe ;fi @echo Making dependency for file $<... @set -e;\ - g++ $(GPPFLAGS) $(CPPFLAGS) $< |\ + g++ $(GPPFLAGS) $(CPPFLAGS) -w $< |\ sed 's!$(G4TARGET)\.o!$(G4TMPDIR)/exe/& $@!' >$@;\ [ -s $@ ] || rm -f $@ ifneq ($(dependencies),) diff --git a/config/common.gmk b/config/common.gmk index d73d80f2d2..59e94e7999 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,4 +1,4 @@ -# $Id: common.gmk,v 1.34 2002/12/04 08:36:14 gcosmo Exp $ +# $Id: common.gmk,v 1.35 2003/01/22 18:02:03 gcosmo Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- @@ -100,7 +100,7 @@ $(G4TMPDIR)/%.d: src/%.cc @echo Making dependency for file $< ... @if [ ! -d $(G4TMPDIR) ] ; then mkdir -p $(G4TMPDIR) ;fi @set -e;\ - g++ $(GPPFLAGS) $(CPPFLAGS) $< |\ + g++ $(GPPFLAGS) $(CPPFLAGS) -w $< |\ sed 's!$*\.o!$(G4TMPDIR)/& $@!' >$@;\ [ -s $@ ] || rm -f $@ ifneq ($(dependencies),) diff --git a/config/globlib.gmk b/config/globlib.gmk index fecb6f261f..adca1bbebd 100644 --- a/config/globlib.gmk +++ b/config/globlib.gmk @@ -1,4 +1,4 @@ -# $Id: globlib.gmk,v 1.19 2002/11/25 12:10:44 gcosmo Exp $ +# $Id: globlib.gmk,v 1.20 2003/01/22 18:02:04 gcosmo Exp $ # -------------------------------------------------------------- # Script for compound libraries. Gabriele Cosmo, 25/6/98. # -------------------------------------------------------------- @@ -45,8 +45,9 @@ $(G4LIBDIR)/lib$(name).a: \ # # # - @if [ X$(G4SYSTEM) = XWIN32-VC ] ; i=NO; \ + @if [ X$(G4SYSTEM) = XWIN32-VC -o X$(G4SYSTEM) = XWIN32-VC7 ] ; \ then \ + i=NO; \ (( for lib in $(SUBLIBS); \ do ( if [ $$i = NO ]; \ then \ diff --git a/config/scripts/GNUmakefile b/config/scripts/GNUmakefile index 50d818d32d..ec6f4f39e8 100644 --- a/config/scripts/GNUmakefile +++ b/config/scripts/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 2002/12/13 15:47:31 stesting Exp $ +# $Id: GNUmakefile,v 1.2 2003/02/21 15:23:26 stesting Exp $ # -------------------------------------------------------------- # GNUmakefile for tests module. Gabriele Cosmo, 27/06/98. # -------------------------------------------------------------- @@ -20,4 +20,6 @@ include $(G4INSTALL)/config/scripts/binmake.gmk CXXFLAGS_FINAL := $(CXXFLAGS) INCFLAGS_FINAL := $(INCFLAGS) LDLIBS_FINAL := $(LDLIBS) +LDLIB3_FINAL := $(LDLIBS3) +LDLIB4_FINAL := $(LDLIBS4) #LDFLAGS_FINAL := $(LDFLAGS) diff --git a/config/scripts/binmake.gmk b/config/scripts/binmake.gmk index 3fb8a80a78..754c5c0ee4 100644 --- a/config/scripts/binmake.gmk +++ b/config/scripts/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.1 2002/12/13 15:47:27 stesting Exp $ +# $Id: binmake.gmk,v 1.2 2003/02/21 15:23:26 stesting Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # First implementation: Gabriele Cosmo, 25/06/1998. diff --git a/config/scripts/install.sh.SH b/config/scripts/install.sh.SH index 208ef9758b..aeac7d2156 100755 --- a/config/scripts/install.sh.SH +++ b/config/scripts/install.sh.SH @@ -381,6 +381,10 @@ if test -f \$G4INSTALL/config/scripts/GNUmakefile.db ; then mv \$G4INSTALL/config/scripts/GNUmakefile.db \$G4LIB/\$G4SYSTEM/GNUmakefile.db.bac fi +# Be careful: first time there is no $G4LIB! + +mkdir -p \$G4LIB/\$G4SYSTEM + $g4make -n -p -f \$G4INSTALL/config/scripts/GNUmakefile > \$G4LIB/\$G4SYSTEM/GNUmakefile.db echo "" diff --git a/config/sys/WIN32-VC7.gmk b/config/sys/WIN32-VC7.gmk new file mode 100644 index 0000000000..fa585a35d7 --- /dev/null +++ b/config/sys/WIN32-VC7.gmk @@ -0,0 +1,43 @@ +# +# ------ WIN32/VC ------ Visual-C++ 7.0 .NET +# experimental setup +ifeq ($(G4SYSTEM),WIN32-VC7) + CXX := CL + G4_HAVE_BOOL := yes + ifdef G4OPTIMISE + CXXFLAGS += -Ox + else + ifdef G4DEBUG + CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name) + endif + endif + CXXFLAGS += -MD -GR -GX -Zm200 -nologo -DWIN32 -D_CONSOLE + CXXFLAGS += -D_WIN32 -DOS + CPPFLAGS += -DWIN32 -DXPNET + # + # Use ISO standard version. + # + G4USE_STD_NAMESPACE := yes + CPPFLAGS += -DG4USE_STD_NAMESPACE + + LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll + + AR := LIB + ECHO := echo -e + FC := g77 +# FCLIBS := -lf2c + ifndef OGLFLAGS + OGLFLAGS := + endif + ifndef OGLLIBS + OGLLIBS := -lGLU -lGL + endif + + define build-granular-shared-lib + @echo "Shared Libraries not supported on $(G4SYSTEM) + endef + define build-global-shared-lib + @echo "Shared Libraries not supported on $(G4SYSTEM) + endef + +endif diff --git a/environments/OPACS/app/EXPO.cc b/environments/OPACS/app/EXPO.cc index c54faf4649..bafe15bdfe 100644 --- a/environments/OPACS/app/EXPO.cc +++ b/environments/OPACS/app/EXPO.cc @@ -22,7 +22,7 @@ // // // $Id: EXPO.cc,v 1.9 2001/07/11 09:56:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include diff --git a/environments/OPACS/app/TEST.cc b/environments/OPACS/app/TEST.cc index 4817b4d8b6..4d7673da10 100644 --- a/environments/OPACS/app/TEST.cc +++ b/environments/OPACS/app/TEST.cc @@ -22,7 +22,7 @@ // // // $Id: TEST.cc,v 1.4 2001/07/11 09:56:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include diff --git a/environments/OPACS/include/EXPO_Detector.icc b/environments/OPACS/include/EXPO_Detector.icc index 0c961924ba..105e83c68f 100644 --- a/environments/OPACS/include/EXPO_Detector.icc +++ b/environments/OPACS/include/EXPO_Detector.icc @@ -22,7 +22,7 @@ // // // $Id: EXPO_Detector.icc,v 1.4 2001/07/11 09:56:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // See also G4/run/example/MyDetectorConstruction.cc. diff --git a/environments/OPACS/include/EXPO_PhysicsList.hh b/environments/OPACS/include/EXPO_PhysicsList.hh index e97117ce44..f7852731cf 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.hh +++ b/environments/OPACS/include/EXPO_PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: EXPO_PhysicsList.hh,v 1.5 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_PhysicsList.icc b/environments/OPACS/include/EXPO_PhysicsList.icc index 630dfd23a0..582db02a57 100644 --- a/environments/OPACS/include/EXPO_PhysicsList.icc +++ b/environments/OPACS/include/EXPO_PhysicsList.icc @@ -22,7 +22,7 @@ // // // $Id: EXPO_PhysicsList.icc,v 1.5 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/environments/OPACS/include/EXPO_Primary.icc b/environments/OPACS/include/EXPO_Primary.icc index 7f87476301..fb4709b4b2 100644 --- a/environments/OPACS/include/EXPO_Primary.icc +++ b/environments/OPACS/include/EXPO_Primary.icc @@ -22,7 +22,7 @@ // // // $Id: EXPO_Primary.icc,v 1.4 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // See also G4/run/example/EXPO_PrimaryGeneratorAction.cc. diff --git a/environments/OPACS/include/G4o.h b/environments/OPACS/include/G4o.h index fcc88718ad..7f97c83f39 100644 --- a/environments/OPACS/include/G4o.h +++ b/environments/OPACS/include/G4o.h @@ -22,7 +22,7 @@ // // // $Id: G4o.h,v 1.4 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oCommon.hh b/environments/OPACS/include/G4oCommon.hh index 20d2437561..f3415e5d93 100644 --- a/environments/OPACS/include/G4oCommon.hh +++ b/environments/OPACS/include/G4oCommon.hh @@ -22,7 +22,7 @@ // // // $Id: G4oCommon.hh,v 1.4 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* Included by G4o.h. diff --git a/environments/OPACS/include/G4oCommon.icc b/environments/OPACS/include/G4oCommon.icc index 532265b12d..43d1e16f68 100644 --- a/environments/OPACS/include/G4oCommon.icc +++ b/environments/OPACS/include/G4oCommon.icc @@ -22,7 +22,7 @@ // // // $Id: G4oCommon.icc,v 1.4 2001/07/11 09:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* Included by G4o.cc. diff --git a/environments/OPACS/include/G4oDrawer.hh b/environments/OPACS/include/G4oDrawer.hh index 5f65144f9b..34104523bc 100644 --- a/environments/OPACS/include/G4oDrawer.hh +++ b/environments/OPACS/include/G4oDrawer.hh @@ -22,7 +22,7 @@ // // // $Id: G4oDrawer.hh,v 1.4 2001/07/11 09:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oEXPO.h b/environments/OPACS/include/G4oEXPO.h index a9337f6155..cf6e8152f6 100644 --- a/environments/OPACS/include/G4oEXPO.h +++ b/environments/OPACS/include/G4oEXPO.h @@ -22,7 +22,7 @@ // // // $Id: G4oEXPO.h,v 1.4 2001/07/11 09:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oScene.hh b/environments/OPACS/include/G4oScene.hh index 44a224aba4..386db4fe8c 100644 --- a/environments/OPACS/include/G4oScene.hh +++ b/environments/OPACS/include/G4oScene.hh @@ -22,7 +22,7 @@ // // // $Id: G4oScene.hh,v 1.5 2001/07/11 09:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/include/G4oState.hh b/environments/OPACS/include/G4oState.hh index b6e3daeff6..223706d7a6 100644 --- a/environments/OPACS/include/G4oState.hh +++ b/environments/OPACS/include/G4oState.hh @@ -22,7 +22,7 @@ // // // $Id: G4oState.hh,v 1.5 2001/07/11 09:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4oState_h #define G4oState_h diff --git a/environments/OPACS/include/WoG4o.h b/environments/OPACS/include/WoG4o.h index 950c26b8e5..9b99e6631b 100644 --- a/environments/OPACS/include/WoG4o.h +++ b/environments/OPACS/include/WoG4o.h @@ -22,7 +22,7 @@ // // // $Id: WoG4o.h,v 1.4 2001/07/11 09:56:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/src/G4o.cc b/environments/OPACS/src/G4o.cc index e665f89617..29ef3107dc 100644 --- a/environments/OPACS/src/G4o.cc +++ b/environments/OPACS/src/G4o.cc @@ -22,7 +22,7 @@ // // // $Id: G4o.cc,v 1.8 2001/07/11 09:56:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* #define DEBUG diff --git a/environments/OPACS/src/G4oDrawer.cc b/environments/OPACS/src/G4oDrawer.cc index e89b2b00e0..12b07aad90 100644 --- a/environments/OPACS/src/G4oDrawer.cc +++ b/environments/OPACS/src/G4oDrawer.cc @@ -22,7 +22,7 @@ // // // $Id: G4oDrawer.cc,v 1.7 2001/07/11 09:56:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* From geant4/visualization/management/src/G4VisManager.cc. diff --git a/environments/OPACS/src/G4oScene.cc b/environments/OPACS/src/G4oScene.cc index 447cc9edb4..a99891b4df 100644 --- a/environments/OPACS/src/G4oScene.cc +++ b/environments/OPACS/src/G4oScene.cc @@ -22,7 +22,7 @@ // // // $Id: G4oScene.cc,v 1.8 2001/07/11 09:56:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* +---------------------- Copyright notice -------------------------------+ */ /* | Copyright (C) 1995, Guy Barrand, LAL Orsay, (barrand@lal.in2p3.fr) | */ diff --git a/environments/OPACS/src/G4oState.cc b/environments/OPACS/src/G4oState.cc index f6fdfe65a9..595afa09ac 100644 --- a/environments/OPACS/src/G4oState.cc +++ b/environments/OPACS/src/G4oState.cc @@ -22,7 +22,7 @@ // // // $Id: G4oState.cc,v 1.8 2002/12/06 16:19:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //#define DEBUG diff --git a/examples/History b/examples/History index 87d8b7c39d..b8f696406f 100644 --- a/examples/History +++ b/examples/History @@ -1,4 +1,4 @@ -$Id: History,v 1.65 2002/12/06 19:02:55 gcosmo Exp $ +$Id: History,v 1.68 2003/04/30 13:57:45 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,18 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +30th April 2003 Gabriele Cosmo (examples-V05-00-02) +- Includes fixes/improvements part of release 5.1. +- Updated reference outputs. + +28th March 2003 Gabriele Cosmo (examples-V05-00-01) +- Improvements/fixes, see release notes for ref-03 for details +- Updated reference outputs + +27th February 2003 Gabriele Cosmo (examples-V05-00-00) +- Updated reference outputs +- Updated README + 6th December 2002 Gabriele Cosmo (examples-V04-01-04) - Merged with recent development diff --git a/examples/README b/examples/README index 35bfb92de7..a93688fee4 100644 --- a/examples/README +++ b/examples/README @@ -1,4 +1,4 @@ -$Id: README,v 1.3 2001/10/23 15:24:08 gcosmo Exp $ +$Id: README,v 1.4 2003/02/27 19:30:05 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -52,19 +52,44 @@ Novice level examples Extended level examples analysis - Histogramming through the AIDA interface + biasing + - Examples of event biasing and scoring electromagnetic - Specific EM physics simulation with histogramming + eventgenerator + - Applications using interface to primary event generators + like HepMC field - Specific simulation setups in magnetic field g3tog3 - Examples of usage of the g3tog4 converter tool + gdml + - Example of detector persistency through the Geometry + Description Markup Language (GDML) + geometry + - Specific geometry examples and tools: binding to CAD systems, + OLAP tool for detection of overlapping geometries + parallel + - Examples of event-level parallelism in Geant4 using the + TOP-C distribution persistency - - Persistency through the HepODBMS interface + - Persistency through generic interface Advanced level examples brachytherapy - Setup for brachytherapy Ir-192 HDR source + composite_calorimeter + - Test-beam simulation used in CMS against real data taken + in 1996 in a CMS Hadron calorimeter test-beam at LHC. gammaray_telescope - Simulation of a typical telescope for gamma ray analysis + lAr_calorimeter + - Simulation of the Liquid Argon Calorimeter of the ATLAS + Detector at LHC. + underground_physics + - Setup of an underground dark matter experiment. + xray_fluorescence + - Test beam to characterize the response function of an + HPGe detector used to measure fluorescence emissions. xray_telescope - Realistic simulation of an X-ray Telescope diff --git a/examples/advanced/brachytherapy/Brachy.cc b/examples/advanced/brachytherapy/Brachy.cc index 22bf6a0b99..46a162a0a4 100644 --- a/examples/advanced/brachytherapy/Brachy.cc +++ b/examples/advanced/brachytherapy/Brachy.cc @@ -22,7 +22,7 @@ // ******************************************************************** // // $Id: Brachy.cc -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 - Brachytherapy example diff --git a/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh b/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh index 1eef7e7072..0e8b468812 100644 --- a/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh +++ b/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh @@ -26,7 +26,7 @@ // // // $Id: BrachyAnalysisManager.hh,v 1.6 2002/11/27 11:11:22 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh index cf1f5dfb66..e81deb935e 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyDetectorConstruction.hh,v 1.13 2002/11/18 15:18:35 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh index 99e0728391..0ee76e3d0a 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyDetectorConstructionI.hh,v 1.2 2002/11/18 15:18:35 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh index c837526691..494c3b75a8 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyDetectorConstructionIr.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh index 720e5b2c63..a7f158fad2 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ************************************************ diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh b/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh index 664a226ad8..2e15685202 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh @@ -28,7 +28,7 @@ // ***************************************** // // $Id: BrachyDetectorMessenger.hh,v 1.4 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/brachytherapy/include/BrachyEventAction.hh b/examples/advanced/brachytherapy/include/BrachyEventAction.hh index 428a0a5e40..ab3860a473 100644 --- a/examples/advanced/brachytherapy/include/BrachyEventAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyEventAction.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyEventAction.hh,v 1.11 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Code developed by: // S.Guatelli diff --git a/examples/advanced/brachytherapy/include/BrachyFactory.hh b/examples/advanced/brachytherapy/include/BrachyFactory.hh index 6d3411a438..8a7bc75dbb 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactory.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactory.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyFactory.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryI.hh b/examples/advanced/brachytherapy/include/BrachyFactoryI.hh index 92d2466d51..7c1bbf3acc 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryI.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryI.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: BrachyFactoryI.hh,v 1.3 2002/12/13 09:25:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh b/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh index 39e1a39c20..ef0cee17d5 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyFactoryIr.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh b/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh index 7d9860833f..1c94efef54 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyFactoryLeipzig.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyMaterial.hh b/examples/advanced/brachytherapy/include/BrachyMaterial.hh index dd7bec0288..d630d14b99 100644 --- a/examples/advanced/brachytherapy/include/BrachyMaterial.hh +++ b/examples/advanced/brachytherapy/include/BrachyMaterial.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyMaterial.hh,v 1.2 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhantomHit.hh b/examples/advanced/brachytherapy/include/BrachyPhantomHit.hh index 9b3cd4cd68..3c0b77016d 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhantomHit.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhantomHit.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPhantomHit.hh,v 1.4 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ******************************** diff --git a/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh b/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh index dc824319f0..759204cfa8 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPhantomROGeometry.hh,v 1.3 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ************************************ // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh b/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh index 699e421bb6..a011d23cc6 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPhantomSD.hh,v 1.3 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ******************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh index 477459a82c..961acafc60 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPhysicsList.hh,v 1.6 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh index 145179c7fa..c491f541c5 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPrimaryGeneratorAction.hh,v 1.8 2002/11/18 15:18:36 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ******************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh index 555dbc7afa..f24349d40a 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPrimaryGeneratorActionI.hh,v 1.2 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh index 5e8e766523..c9055c30c7 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.2 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ************************************************* // * * diff --git a/examples/advanced/brachytherapy/include/BrachyRunAction.hh b/examples/advanced/brachytherapy/include/BrachyRunAction.hh index 21af86fe46..abda24faf4 100644 --- a/examples/advanced/brachytherapy/include/BrachyRunAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyRunAction.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyRunAction.hh,v 1.6 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/advanced/brachytherapy/include/BrachyRunMessenger.hh b/examples/advanced/brachytherapy/include/BrachyRunMessenger.hh index 5fadf116d3..5f9ce2e5e0 100644 --- a/examples/advanced/brachytherapy/include/BrachyRunMessenger.hh +++ b/examples/advanced/brachytherapy/include/BrachyRunMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyRunMessenger.hh,v 1.2 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/advanced/brachytherapy/include/BrachyVisManager.hh b/examples/advanced/brachytherapy/include/BrachyVisManager.hh index eca0090747..dd8d6caaae 100644 --- a/examples/advanced/brachytherapy/include/BrachyVisManager.hh +++ b/examples/advanced/brachytherapy/include/BrachyVisManager.hh @@ -22,7 +22,7 @@ // // // $Id: BrachyVisManager.hh,v 1.4 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc index 966bd4f175..2e3fa5dcec 100644 --- a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc +++ b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyAnalysisManager.cc,v 1.9 2002/12/12 19:16:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifdef G4ANALYSIS_USE #include diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc index 3a599b5669..89b7814eb8 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc @@ -37,7 +37,7 @@ // **************************************** // // $Id: BrachyDetectorConstruction.cc,v 1.13 2002/12/12 19:16:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPhantomROGeometry.hh" #include "BrachyPhantomSD.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc index cc1819b8c6..84b0c9102f 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc @@ -34,7 +34,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionI.cc,v 1.2 2002/11/18 15:18:37 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyDetectorConstructionI.hh" #include "G4CSGSolid.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc index e323bdb3a6..e1de2b32fb 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc @@ -36,7 +36,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionIr.cc,v 1.3 2002/12/12 19:16:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyDetectorConstructionIr.hh" #include "G4CSGSolid.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc index 549bbf0f26..f2be29f479 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc @@ -37,7 +37,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.cc,v 1.3 2002/12/12 19:16:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyDetectorConstructionLeipzig.hh" #include "G4CSGSolid.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc b/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc index 9b81b4a07b..fd8c452185 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc @@ -32,7 +32,7 @@ // // // $Id: BrachyDetectorMessenger.cc,v 1.5 2002/12/06 16:32:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/brachytherapy/src/BrachyEventAction.cc b/examples/advanced/brachytherapy/src/BrachyEventAction.cc index 4d1e41747e..f22a07e1b0 100644 --- a/examples/advanced/brachytherapy/src/BrachyEventAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyEventAction.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyEventAction.cc,v 1.13 2002/11/27 11:11:22 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPrimaryGeneratorActionI.hh" #include "BrachyEventAction.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactory.cc b/examples/advanced/brachytherapy/src/BrachyFactory.cc index 79baf7242a..4bba345c97 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactory.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactory.cc @@ -32,7 +32,7 @@ // ******************************* // // $Id: BrachyFactory.cc,v 1.3 2002/12/12 19:16:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include"BrachyFactory.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryI.cc b/examples/advanced/brachytherapy/src/BrachyFactoryI.cc index 9a105d835b..c09fa72e3e 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryI.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryI.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyFactoryI.cc,v 1.2 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyFactoryI.hh" #include"BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc b/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc index 1a840dbac1..9b19c32c4e 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyFactoryIr.cc,v 1.2 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyFactoryIr.hh" #include"BrachyPrimaryGeneratorActionIr.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc b/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc index 1eef970b18..0f9dc5db32 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyFactoryLeipzig.cc,v 1.2 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // diff --git a/examples/advanced/brachytherapy/src/BrachyMaterial.cc b/examples/advanced/brachytherapy/src/BrachyMaterial.cc index 3926f6b35c..38f4263612 100644 --- a/examples/advanced/brachytherapy/src/BrachyMaterial.cc +++ b/examples/advanced/brachytherapy/src/BrachyMaterial.cc @@ -30,7 +30,7 @@ // ******************************* // // $Id: BrachyMaterial.cc,v 1.2 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4MaterialPropertiesTable.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomHit.cc b/examples/advanced/brachytherapy/src/BrachyPhantomHit.cc index 15d695f93c..af709fde63 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomHit.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomHit.cc @@ -31,7 +31,7 @@ // ******************************** // // $Id: BrachyPhantomHit.cc,v 1.3 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPhantomHit.hh" #include "G4ios.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc b/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc index a6fe57f0e9..3a017e83ec 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc @@ -31,7 +31,7 @@ // ************************************ // // $Id: BrachyPhantomROGeometry.cc,v 1.3 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPhantomROGeometry.hh" #include "BrachyDummySD.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc index 8e6be76f3a..7885026693 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc @@ -31,7 +31,7 @@ // ******************************** // // $Id: BrachyPhantomSD.cc,v 1.3 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPhantomSD.hh" #include "BrachyPhantomHit.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc index 80a8352832..6a3be56c0c 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc @@ -31,7 +31,7 @@ // ********************************** // // $Id: BrachyPhysicsList.cc,v 1.6 2002/11/18 15:18:38 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPhysicsList.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc index 3f5f7dc36c..2e68dba70d 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc @@ -36,7 +36,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorAction.cc,v 1.12 2002/12/12 19:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPrimaryGeneratorAction.hh" #include "BrachyAnalysisManager.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc index 60a0b7a9aa..72d35fc24b 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc @@ -36,7 +36,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionI.cc,v 1.4 2002/12/12 19:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc index a20fe6c860..c2300ed554 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc @@ -36,7 +36,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.4 2002/12/12 19:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyPrimaryGeneratorActionIr.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyRunAction.cc b/examples/advanced/brachytherapy/src/BrachyRunAction.cc index 51d5d7c7b7..2b22fe7f8c 100644 --- a/examples/advanced/brachytherapy/src/BrachyRunAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyRunAction.cc @@ -37,7 +37,7 @@ // ******************************* // // $Id: BrachyRunAction.cc,v 1.10 2002/12/12 19:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "BrachyRunAction.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyRunMessenger.cc b/examples/advanced/brachytherapy/src/BrachyRunMessenger.cc index 4a367e04ca..ac7e3ea25d 100644 --- a/examples/advanced/brachytherapy/src/BrachyRunMessenger.cc +++ b/examples/advanced/brachytherapy/src/BrachyRunMessenger.cc @@ -24,7 +24,7 @@ // S.Guatelli // // $Id: BrachyRunMessenger.cc,v 1.3 2002/12/08 22:40:55 stesting Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/advanced/brachytherapy/src/BrachyVisManager.cc b/examples/advanced/brachytherapy/src/BrachyVisManager.cc index 9fc8402c48..f8edc96980 100644 --- a/examples/advanced/brachytherapy/src/BrachyVisManager.cc +++ b/examples/advanced/brachytherapy/src/BrachyVisManager.cc @@ -29,7 +29,7 @@ // ******************************* // // $Id: BrachyVisManager.cc,v 1.5 2002/11/18 15:18:39 guatelli Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // diff --git a/examples/advanced/composite_calorimeter/History b/examples/advanced/composite_calorimeter/History index e96601cf8c..be3de06c4f 100644 --- a/examples/advanced/composite_calorimeter/History +++ b/examples/advanced/composite_calorimeter/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.8 2002/12/11 14:32:29 ribon Exp $ +$Id: History,v 1.10 2003/04/25 11:43:59 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,14 @@ $Id: History,v 1.8 2002/12/11 14:32:29 ribon Exp $ Example History file --------------------- +25.04.2003 - A.Ribon (ccal-V05-01-00) +- Replaced cout with G4cout and endl with G4endl, and removed some + compilation warning about unused variables. + +19.02.2003 - G.Cosmo (ccal-V05-00-00) +- Removed redundant inclusion of PhysicalConstants.h and SystemOfUnits.h. + Now using CLHEP headers. + 11.12.2002 - A.Ribon (ccal-V04-01-04) - Some clean up and fixes, but unfortunately not yet fixed the problem of reading the material in the Sun platform diff --git a/examples/advanced/composite_calorimeter/README b/examples/advanced/composite_calorimeter/README index 0508c67523..f8fdecc0e4 100644 --- a/examples/advanced/composite_calorimeter/README +++ b/examples/advanced/composite_calorimeter/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: README,v 1.6 2002/12/05 18:09:07 ribon Exp $ +$Id: README,v 1.7 2003/04/25 11:43:59 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -35,7 +35,7 @@ $Id: README,v 1.6 2002/12/05 18:09:07 ribon Exp $ Although the details of how this is done vary from experiment to experiment (it is worth, for instance, to compare with the Atlas-based advanced example lAr_calorimeter), the main driving needs and goals - are quite general: to have consistency, but avoiding duplication + are quite general: to have consistency, but avoiding duplications and couplings as much as possibile, between Simulation, Reconstruction, and Visualization. Notice that the solution offered in this example by CMS could appear "overdone" for the sake of simulating only a @@ -57,7 +57,7 @@ $Id: README,v 1.6 2002/12/05 18:09:07 ribon Exp $ > . envExample.sh in the case of bash-shell The analysis part is based on: - *** AIDA version 3.0 & Anaphe version 5.0.1 *** + *** AIDA version 3.0 & Anaphe version 5.0.2 *** NB) Be careful that if you want to have this analysis part, you have not only to set the variable G4ANALYSIS_USE but @@ -358,7 +358,7 @@ No Noise and Digitization The analysis part of CompositeCalorimeter is kept in class CCalAnalysis, and is based on the AIDA interfaces and their implementation in Anaphe: - *** AIDA version 3.0 & Anaphe version 5.0.1 *** + *** AIDA version 3.0 & Anaphe version 5.0.2 *** please look at their documentation for more details: http://anaphe.web.cern.ch/anaphe Both the histograms and the ntuple are saved at the end of the run in the diff --git a/examples/advanced/composite_calorimeter/envExample.csh b/examples/advanced/composite_calorimeter/envExample.csh index 56e23290c8..73ab39a657 100755 --- a/examples/advanced/composite_calorimeter/envExample.csh +++ b/examples/advanced/composite_calorimeter/envExample.csh @@ -14,9 +14,9 @@ ### setenv PLATF redhat72/gcc-2.95.2/ ### source $LHCXXTOP/share/LHCXX/$LHCXXVERS/install/sharedstart.csh # -# --- Aida 3.0 , Anaphe 5.0.1 --- -#source /afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.1/scripts/setupAnaphe.csh -#setenv PATH ${PATH}:/afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.1/scripts/ +# --- Aida 3.0 , Anaphe 5.0.2 --- +#source /afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.2/scripts/setupAnaphe.csh +#setenv PATH ${PATH}:/afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.2/scripts/ # # --- Specific setup for this test-beam example --- setenv CCAL_CONFPATH ./dataconf diff --git a/examples/advanced/composite_calorimeter/envExample.sh b/examples/advanced/composite_calorimeter/envExample.sh index bf102dfea9..f9c1197f36 100755 --- a/examples/advanced/composite_calorimeter/envExample.sh +++ b/examples/advanced/composite_calorimeter/envExample.sh @@ -14,9 +14,9 @@ ### export PLATF=redhat72/gcc-2.95.2/ ### . $LHCXXTOP/share/LHCXX/$LHCXXVERS/install/sharedstart.sh # -# --- Aida 3.0 , Anaphe 5.0.1 --- -#. /afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.1/scripts/setupAnaphe -#export PATH=$PATH:/afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.1/scripts/ +# --- Aida 3.0 , Anaphe 5.0.2 --- +#. /afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.2/scripts/setupAnaphe +#export PATH=$PATH:/afs/cern.ch/sw/lhcxx/share/LHCXX/5.0.2/scripts/ # # --- Specific setup for this test-beam example --- export CCAL_CONFPATH=./dataconf diff --git a/examples/advanced/composite_calorimeter/src/CCalAnalysis.cc b/examples/advanced/composite_calorimeter/src/CCalAnalysis.cc index 5276b5a77b..55210c1512 100644 --- a/examples/advanced/composite_calorimeter/src/CCalAnalysis.cc +++ b/examples/advanced/composite_calorimeter/src/CCalAnalysis.cc @@ -60,9 +60,9 @@ CCalAnalysis::CCalAnalysis() :analysisFactory(0), tree(0), tuple(0), energy(0) { const char* opFileptr = getenv("CCAL_FILENAME"); G4String opFilestr = "ccal.his"; if (opFileptr) opFilestr = opFileptr; - cout << "********************************************" << endl - << "* o/p file on " << opFilestr << endl - << "********************************************" << endl << endl; + G4cout << "********************************************" << G4endl + << "* o/p file on " << opFilestr << G4endl + << "********************************************" << G4endl << G4endl; bool readOnly = false; // we want to write. bool createNew = true; // create file if it doesn't exist. tree = treeFactory->create(opFilestr, "hbook", readOnly,createNew); @@ -165,57 +165,63 @@ CCalAnalysis* CCalAnalysis::getInstance() { // This function fill the 1d histogram of the energies in HCal layers void CCalAnalysis::InsertEnergyHcal(float* v) { +#ifdef debug double totalFilledEnergyHcal = 0.0; +#endif for (int i=0; i<28; i++) { if (hcalE[i]) { double x = v[i]; hcalE[i]->fill(x); #ifdef debug - cout << "Fill Hcal histo " << i << " with " << x << endl; + G4cout << "Fill Hcal histo " << i << " with " << x << G4endl; totalFilledEnergyHcal += x; #endif } } #ifdef debug - cout << "\t total filled Energy Hcal histo " << totalFilledEnergyHcal << endl; + G4cout << "\t total filled Energy Hcal histo " << totalFilledEnergyHcal << G4endl; #endif } // This function fill the 1d histogram of the energies in ECal layers void CCalAnalysis::InsertEnergyEcal(float* v) { +#ifdef debug double totalFilledEnergyEcal = 0.0; +#endif for (int i=0; i<49; i++) { if (ecalE[i]) { double x = v[i]; ecalE[i]->fill(x); #ifdef debug - cout << "Fill Ecal histo " << i << " with " << x << endl; + G4cout << "Fill Ecal histo " << i << " with " << x << G4endl; totalFilledEnergyEcal += x; #endif } } #ifdef debug - cout << "\t total filled Energy Ecal histo " << totalFilledEnergyEcal << endl; + G4cout << "\t total filled Energy Ecal histo " << totalFilledEnergyEcal << G4endl; #endif } // This function fill the 1d histogram of the lateral profile void CCalAnalysis::InsertLateralProfile(float* v) { +#ifdef debug double totalFilledProfileHcal = 0.0; +#endif for (int i=0; i<70; i++) { if (lateralProfile[i]) { double x = v[i]; lateralProfile[i]->fill(x); #ifdef debug - cout << "Fill Profile Hcal histo " << i << " with " << x << endl; + G4cout << "Fill Profile Hcal histo " << i << " with " << x << G4endl; totalFilledProfileHcal += x; #endif } } #ifdef debug - cout << "\t total filled Profile Hcal histo " << totalFilledProfileHcal << endl; + G4cout << "\t total filled Profile Hcal histo " << totalFilledProfileHcal << G4endl; #endif } @@ -226,7 +232,7 @@ void CCalAnalysis::InsertEnergy(float v) { double x = v; energy->fill(x); #ifdef debug - cout << "Fill Total energy Hcal histo with " << x << endl; + G4cout << "Fill Total energy Hcal histo with " << x << G4endl; #endif } } @@ -234,19 +240,21 @@ void CCalAnalysis::InsertEnergy(float v) { // This function fill the 1d histograms of time profiles void CCalAnalysis::InsertTime(float* v) { +#ifdef debug double totalFilledTimeProfile = 0.0; +#endif for (int j=0; jfill(x); #ifdef debug - cout << "Fill Time profile histo " << j << " with " << x << endl; + G4cout << "Fill Time profile histo " << j << " with " << x << G4endl; totalFilledTimeProfile += x; #endif } } #ifdef debug - cout << "\t total filled Time profile histo " << totalFilledTimeProfile << endl; + G4cout << "\t total filled Time profile histo " << totalFilledTimeProfile << G4endl; #endif } @@ -321,60 +329,60 @@ void CCalAnalysis::EndOfRun(G4int n) { void CCalAnalysis::EndOfEvent(G4int flag) { #ifdef debug - cout << " Check if empty histograms " << endl; + G4cout << " Check if empty histograms " << G4endl; int i=0; if ( energy ) { if ( energy->allEntries() == 0 ) { - cout << "EMPTY HISTO energy " << endl; + G4cout << "EMPTY HISTO energy " << G4endl; } else if ( energy->allEntries() == energy->extraEntries() ) { - cout << "EXTRA entries only HISTO energy " << endl; + G4cout << "EXTRA entries only HISTO energy " << G4endl; } } else { - cout << "UNDEFINED HISTO energy " << endl; + G4cout << "UNDEFINED HISTO energy " << G4endl; } for (i=0; i<28; i++) { if ( hcalE[i] ) { if ( hcalE[i]->allEntries() == 0 ) { - cout << "EMPTY HISTO hcal " << i << endl; + G4cout << "EMPTY HISTO hcal " << i << G4endl; } else if ( hcalE[i]->allEntries() == hcalE[i]->extraEntries() ) { - cout << "EXTRA entries only HISTO hcal " << i << endl; + G4cout << "EXTRA entries only HISTO hcal " << i << G4endl; } } else { - cout << "UNDEFINED HISTO hcal " << i << endl; + G4cout << "UNDEFINED HISTO hcal " << i << G4endl; } } for (i=0; i<70; i++) { if ( lateralProfile[i] ) { if ( lateralProfile[i]->allEntries() == 0 ) { - cout << "EMPTY HISTO lateralProfile " << i << endl; + G4cout << "EMPTY HISTO lateralProfile " << i << G4endl; } else if ( lateralProfile[i]->allEntries() == lateralProfile[i]->extraEntries() ) { - cout << "EXTRA entries only HISTO lateralProfile " << i << endl; + G4cout << "EXTRA entries only HISTO lateralProfile " << i << G4endl; } } else { - cout << "UNDEFINED HISTO lateralProfile " << i << endl; + G4cout << "UNDEFINED HISTO lateralProfile " << i << G4endl; } } for (i=0; i<49; i++) { if ( ecalE[i] ) { if ( ecalE[i]->allEntries() == 0 ) { - cout << "EMPTY HISTO ecalE " << i << endl; + G4cout << "EMPTY HISTO ecalE " << i << G4endl; } else if ( ecalE[i]->allEntries() == ecalE[i]->extraEntries() ) { - cout << "EXTRA entries only HISTO ecal " << i << endl; + G4cout << "EXTRA entries only HISTO ecal " << i << G4endl; } } else { - cout << "UNDEFINED HISTO hcal " << i << endl; + G4cout << "UNDEFINED HISTO hcal " << i << G4endl; } } for (i=0; iallEntries() == 0 ) { - cout << "EMPTY HISTO timeHist " << i << endl; + G4cout << "EMPTY HISTO timeHist " << i << G4endl; } else if ( timeHist[i]->allEntries() == timeHist[i]->extraEntries() ) { - cout << "EXTRA entries only HISTO timeHist " << i << endl; + G4cout << "EXTRA entries only HISTO timeHist " << i << G4endl; } } else { - cout << "UNDEFINED HISTO timeHist " << i << endl; + G4cout << "UNDEFINED HISTO timeHist " << i << G4endl; } } #endif diff --git a/examples/advanced/composite_calorimeter/src/CCalEcalOrganization.cc b/examples/advanced/composite_calorimeter/src/CCalEcalOrganization.cc index 79af7b9e33..e436e741bc 100644 --- a/examples/advanced/composite_calorimeter/src/CCalEcalOrganization.cc +++ b/examples/advanced/composite_calorimeter/src/CCalEcalOrganization.cc @@ -28,7 +28,6 @@ #include "G4VPhysicalVolume.hh" #include "G4Step.hh" #include "G4StepPoint.hh" -#include "SystemOfUnits.h" CCalEcalOrganization::~CCalEcalOrganization(){ G4cout << " Deleting CCalEcalOrganization" << G4endl; diff --git a/examples/advanced/composite_calorimeter/src/CCalHcalOrganization.cc b/examples/advanced/composite_calorimeter/src/CCalHcalOrganization.cc index 739af5ae55..02801aeeac 100644 --- a/examples/advanced/composite_calorimeter/src/CCalHcalOrganization.cc +++ b/examples/advanced/composite_calorimeter/src/CCalHcalOrganization.cc @@ -29,7 +29,6 @@ #include "G4VPhysicalVolume.hh" #include "G4Step.hh" #include "G4StepPoint.hh" -#include "SystemOfUnits.h" CCalHcalOrganization::~CCalHcalOrganization() { G4cout << " Deleting CCalHcalOrganization" << G4endl; diff --git a/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorAction.cc b/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorAction.cc index f8a44b9e42..2820b5c00b 100644 --- a/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorAction.cc +++ b/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorAction.cc @@ -36,7 +36,6 @@ #include "CLHEP/Random/RandFlat.h" #include "G4HEPEvtInterface.hh" #include "G4RunManager.hh" -#include "SystemOfUnits.h" #define debug diff --git a/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorMessenger.cc b/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorMessenger.cc index 4d77a0c4cb..236b04e6b5 100644 --- a/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorMessenger.cc +++ b/examples/advanced/composite_calorimeter/src/CCalPrimaryGeneratorMessenger.cc @@ -36,8 +36,6 @@ #include "G4UIcmdWithAnInteger.hh" #include "globals.hh" -#include "PhysicalConstants.h" - CCalPrimaryGeneratorMessenger::CCalPrimaryGeneratorMessenger(CCalPrimaryGeneratorAction* myGun) : myAction(myGun) { verboseCmd = new G4UIcmdWithAnInteger("/CCal/generator/verbose",this); diff --git a/examples/advanced/gammaray_telescope/GammaRayTel.cc b/examples/advanced/gammaray_telescope/GammaRayTel.cc index 0a012c8fa7..4340cb2b7e 100644 --- a/examples/advanced/gammaray_telescope/GammaRayTel.cc +++ b/examples/advanced/gammaray_telescope/GammaRayTel.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTel.cc,v 1.9 2002/06/18 18:45:39 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/gammaraytel.out b/examples/advanced/gammaray_telescope/gammaraytel.out index efb1f24d71..693b52323d 100644 --- a/examples/advanced/gammaray_telescope/gammaraytel.out +++ b/examples/advanced/gammaray_telescope/gammaraytel.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (28-Feb-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh index 579ac11c6e..f322b04367 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnalysis.hh,v 1.12 2002/11/08 14:18:52 pfeiffer Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh index 846f34b1ea..560cbcf98b 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnalysisMessenger.hh,v 1.3 2001/11/23 17:44:54 santin Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh index 64610263ff..fc5fbe9b8b 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnticoincidenceHit.hh,v 1.2 2001/07/11 09:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh index 0c369cad7e..4634fab8df 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnticoincidenceSD.hh,v 1.3 2001/11/29 11:19:17 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh index b07ff7b407..381117014c 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelCalorimeterHit.hh,v 1.2 2001/07/11 09:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh index fc3de0d9f0..1de8013ec6 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelCalorimeterSD.hh,v 1.4 2001/11/29 11:19:17 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh index b2519aa6c6..76d0d571af 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDetectorConstruction.hh,v 1.6 2001/07/11 09:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh index 5045fcfb60..cb90eb63c2 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDetectorMessenger.hh,v 1.3 2001/07/11 09:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh index a8611653e4..403102d112 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigi.hh,v 1.1 2001/10/24 13:11:54 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh index b22b618b2a..f02950dde3 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigitizer.hh,v 1.2 2001/11/29 09:34:17 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh index 19f9d34ba4..64a0f99407 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigitizerMessenger.hh,v 1.1 2001/11/29 09:34:17 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh index 74e5d7d5f3..75705b1063 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh @@ -23,7 +23,7 @@ // // $Id: GammaRayTelDummySD.hh,v 1.4 2001/11/28 10:07:01 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh index d4780f3a6c..21fc627666 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelEventAction.hh,v 1.9 2001/12/04 11:40:28 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh index a93c367986..8d625248e8 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPhysicsList.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh index aa8229aba4..02f323f5b8 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorAction.hh,v 1.6 2001/11/29 11:19:17 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh index 17739a075e..7b903bb7e9 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh index b001ffb58a..6769fd5a8f 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelRunAction.hh,v 1.5 2001/11/23 17:44:54 santin Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh index 1a2c6f0384..9fb616258e 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerHit.hh,v 1.2 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh index a5e8b3a677..be53f7df85 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerROGeometry.hh,v 1.3 2001/11/29 11:19:17 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh index f64c826681..b6d861b7c1 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerSD.hh,v 1.4 2001/11/29 11:19:17 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh index b41f65c2a6..9de685910e 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelVisManager.hh @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelVisManager.hh,v 1.3 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc index 18903a14d4..286c0a35e6 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnalysis.cc,v 1.15 2002/11/08 14:18:53 pfeiffer Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc index b539b176a9..b38b59faf1 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnalysisMessenger.cc,v 1.8 2002/12/11 17:13:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc index 62e413820a..a84a6e5fa1 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnticoincidenceHit.cc,v 1.2 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc index 4b24acd6b8..bc8d9f63ea 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelAnticoincidenceSD.cc,v 1.4 2001/11/29 11:19:18 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc index 96f2f05d87..ae6ceb0b41 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelCalorimeterHit.cc,v 1.2 2001/07/11 09:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc index 0cf0d284fd..7bb8409ef3 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelCalorimeterSD.cc,v 1.4 2001/11/29 11:19:18 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc index bf03978d5a..8511261bc5 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDetectorConstruction.cc,v 1.9 2001/11/29 11:19:18 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc index 893d9497a8..790a7b8ae3 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDetectorMessenger.cc,v 1.7 2002/12/11 17:13:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc index cd5f7508db..8971dcd606 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigi.cc,v 1.2 2001/12/13 13:44:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc index e244d972ef..b516cb9737 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigitizer.cc,v 1.3 2001/12/04 11:40:28 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc index 145333488f..9256a1a606 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelDigitizerMessenger.cc,v 1.4 2002/12/11 17:13:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc index 09f986f769..1fdb367a29 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelEventAction.cc,v 1.15 2002/11/14 10:55:28 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc index 2b67c82ac3..80bce4f50f 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPhysicsList.cc,v 1.3 2001/07/11 09:56:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc index 907cdfd9d5..d1f59ac294 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorAction.cc,v 1.6 2001/11/29 11:19:18 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc index aed93e1c0b..b5b95ec4ee 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorMessenger.cc,v 1.6 2002/12/11 17:13:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc index 3968db028e..16b05597cc 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelRunAction.cc,v 1.8 2002/11/14 10:55:17 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc index 6b3be0949a..5ba4b291ac 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerHit.cc,v 1.2 2001/07/11 09:56:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc index 2937047365..a97a916f4b 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerROGeometry.cc,v 1.5 2001/11/29 11:19:18 griccard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc index 4c4bae7682..61be44e2db 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc @@ -22,7 +22,7 @@ // // // $Id: GammaRayTelTrackerSD.cc,v 1.6 2001/12/04 11:40:28 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc index ab5585b474..aefe52a8d2 100755 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelVisManager.cc @@ -23,7 +23,7 @@ // // $Id: GammaRayTelVisManager.cc,v 1.7 2002/11/13 19:17:13 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/lAr_calorimeter/Beam_802_1mm.dat b/examples/advanced/lAr_calorimeter/Beam_802_1mm.dat new file mode 100644 index 0000000000..06e46c0279 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/Beam_802_1mm.dat @@ -0,0 +1,20 @@ +0 0 0 +0 +0 +0 0 0 0 0 0 0 +0 0 0 0 0 0 +0 0 0 +0 +0 +0 0 0 0 0 0 0 +0 0 0 0 0 0 +0 0 0 +0 +0 +0 0 0 0 0 0 0 +0 0 0 0 0 0 +0 0 0 +0 +0 +0 0 0 0 0 0 0 +0 0 0 0 0 0 diff --git a/examples/advanced/lAr_calorimeter/EdepFCAL_802_1mm.dat b/examples/advanced/lAr_calorimeter/EdepFCAL_802_1mm.dat new file mode 100644 index 0000000000..c58f6232c3 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/EdepFCAL_802_1mm.dat @@ -0,0 +1,99 @@ +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 47.403 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 1.022 +0 19.477 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 45.0896 +0 44.4336 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 19.477 +0 45.0896 +0 44.4336 +0 47.403 diff --git a/examples/advanced/lAr_calorimeter/EmModule_802_1mm.dat b/examples/advanced/lAr_calorimeter/EmModule_802_1mm.dat new file mode 100644 index 0000000000..44e0be8e35 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/EmModule_802_1mm.dat @@ -0,0 +1,4 @@ +0 +0 +0 +0 diff --git a/examples/advanced/lAr_calorimeter/GNUmakefile b/examples/advanced/lAr_calorimeter/GNUmakefile index b3c41488fa..2664a1ea4e 100644 --- a/examples/advanced/lAr_calorimeter/GNUmakefile +++ b/examples/advanced/lAr_calorimeter/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2002/11/08 13:32:16 ahoward Exp $ +# $Id: GNUmakefile,v 1.4 2002/12/17 11:44:40 pmendez Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -32,3 +32,14 @@ visclean: rm -f g4*.prim g4*.eps g4*.wrl rm -f .DAWN_* + + + + + + + + + + + diff --git a/examples/advanced/lAr_calorimeter/HadModule_802_1mm.dat b/examples/advanced/lAr_calorimeter/HadModule_802_1mm.dat new file mode 100644 index 0000000000..44e0be8e35 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/HadModule_802_1mm.dat @@ -0,0 +1,4 @@ +0 +0 +0 +0 diff --git a/examples/advanced/lAr_calorimeter/History b/examples/advanced/lAr_calorimeter/History deleted file mode 100644 index 55416921fc..0000000000 --- a/examples/advanced/lAr_calorimeter/History +++ /dev/null @@ -1,17 +0,0 @@ -------------------------------------------------------------------- -$Id: History,v 1.2 2002/12/06 18:32:24 gcosmo Exp $ -------------------------------------------------------------------- - - ========================================================= - Geant4 - Liquid Argon calorimeter example - ========================================================= - - Example History file - --------------------- - -06.12.2002 - G.Cosmo (lAr_calorimeter-V04-01-03) -- Migrated messenger to new G4ApplicationState. - -30.09.2002 - MGP -- Created directory - diff --git a/examples/advanced/lAr_calorimeter/OutTracks_802_1mm.dat b/examples/advanced/lAr_calorimeter/OutTracks_802_1mm.dat new file mode 100644 index 0000000000..4687273365 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/OutTracks_802_1mm.dat @@ -0,0 +1,361 @@ +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 -16.1177 -0.183665 39.5476 42.7063 42.7063 42.7063 +-14 0 0 0 -6.56266 14.6145 -1.1295 16.0601 16.0601 16.0601 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +0 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +2 +2 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +2 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 6.90619 22.4542 -29.4563 37.6771 37.6771 37.6771 +-14 0 0 0 -1.42999 -40.5062 27.5628 49.0154 49.0154 49.0154 +2 +12 0 0 0 21.5063 41.3837 -8.48105 47.4031 47.4031 47.4031 +-14 0 0 0 -13.1581 0.684438 -3.667 13.6766 13.6766 13.6766 +2 +12 0 0 0 -4.11807 -12.2603 3.85918 13.4969 13.4969 13.4969 +-14 0 0 0 25.6021 2.21301 -40.8243 48.2389 48.2389 48.2389 +2 +12 0 0 0 -16.1177 -0.183665 39.5476 42.7063 42.7063 42.7063 +-14 0 0 0 -6.56266 14.6145 -1.1295 16.0601 16.0601 16.0601 diff --git a/examples/advanced/lAr_calorimeter/SecndTracks_802_1mm.dat b/examples/advanced/lAr_calorimeter/SecndTracks_802_1mm.dat new file mode 100644 index 0000000000..dd13d13a4c --- /dev/null +++ b/examples/advanced/lAr_calorimeter/SecndTracks_802_1mm.dat @@ -0,0 +1,99 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/examples/advanced/lAr_calorimeter/include/FCALAnalysisManager.hh b/examples/advanced/lAr_calorimeter/include/FCALAnalysisManager.hh index c5a90eb242..9755901ed0 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALAnalysisManager.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALAnalysisManager.hh @@ -1,72 +1,35 @@ -// -// ******************************************************************** -// * 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: FCALAnalysisManager.hh -// GEANT4 tag $Name: +// GEANT4 tag $Name: xray_fluo-V04-01-03 // -// Author: Alex Howard (a.s.howard@ic.ac.uk) +// Author: Patricia Mendez (patricia.mendez@cern.ch) // // History: // ----------- -// 16 Jan 2002 Alex Howard Created -// +// 12 Feb 2003 Patricia Mendez created based on XrayFluoAnalysisManager. // ------------------------------------------------------------------- +#ifndef G4PROCESSTESTANALYSIS_HH +#define G4PROCESSTESTANALYSIS_HH -#ifdef G4ANALYSIS_USE -#ifndef FCALAnalysisManager_h -#define FCALAnalysisManager_h 1 - #include "globals.hh" +#include "g4std/vector" +#include "G4ThreeVector.hh" +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" +#endif +#include "FCALAnalysisMessenger.hh" -// Histogramming from AIDA - -#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/IHistogram3D.h" - -#include "AIDA/IPlotterFactory.h" -#include "AIDA/IPlotter.h" - -#include "AIDA/ITupleFactory.h" -#include "AIDA/ITuple.h" - -#include "AIDA/IManagedObject.h" - - +class G4Step; +#ifdef G4ANALYSIS_USE +namespace AIDA { class IAnalysisFactory; -class ITree; class IHistogramFactory; +class ITree; class ITupleFactory; class ITuple; - +}; +#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class FCALAnalysisManager @@ -75,48 +38,57 @@ public: virtual ~FCALAnalysisManager(); - // void book(); +#ifdef G4ANALYSIS_USE + void book(); void finish(); - //fill histograms with OutOfWorld - void NumOutOfWorld(G4double, G4int, G4int); - - //fill histograms with Number of Secondaries - void Secondaries(G4double, G4int, G4int); - //fill histograms with Energy Deposit - void Edep(G4double, G4double); + //fill histograms with data from FCALTBEventAction + void analyseEnergyDep(G4double eDep); //method to call to create an instance of this class static FCALAnalysisManager* getInstance(); + + //method intended to chenge the name of the hbook output file + void SetOutputFileName(G4String); +#endif + +private: + //private constructor in order to create a singleton -private: - - //private constructor in order to create a singleton FCALAnalysisManager(); + G4String outputFileName; + + G4double OutOfWorld, Secondary, EmEdep, HadEdep; + static FCALAnalysisManager* instance; - - // Quantities for the ntuple - G4double OutOfWorld; G4int i; G4int j; +#ifdef G4ANALYSIS_USE + //pointer to the analysis messenger + FCALAnalysisMessenger* analisysMessenger; - G4double Secondary; - - G4double EmEdep; G4double HadEdep; + AIDA::IAnalysisFactory* analysisFactory; + AIDA::ITree* tree; - AIDA::IAnalysisFactory *af; - AIDA::ITree *tree; - AIDA::IHistogramFactory *hf; - AIDA::ITupleFactory *tpf; - AIDA::IPlotterFactory *pf; - AIDA::IPlotter *plotter; + AIDA::IHistogramFactory *histogramFactory; + AIDA:: ITupleFactory* tupleFactory; + AIDA::ITuple* ntuple_1; + AIDA::ITuple* ntuple_2; + AIDA::ITuple* ntuple_3; + + AIDA::IHistogram1D* histo_1; + AIDA::IHistogram1D* histo_2; + AIDA::IHistogram1D* histo_3; + AIDA::IHistogram1D* histo_4; + +#endif }; -#endif + #endif diff --git a/examples/advanced/lAr_calorimeter/include/FCALAnalysisMessenger.hh b/examples/advanced/lAr_calorimeter/include/FCALAnalysisMessenger.hh new file mode 100644 index 0000000000..46115dde4f --- /dev/null +++ b/examples/advanced/lAr_calorimeter/include/FCALAnalysisMessenger.hh @@ -0,0 +1,50 @@ +// Author: Patricia Mendez (patricia.mendez@cern.ch) +// +// History: +// ----------- +// 14 Feb 2003 Patricia Mendez Created +// +// ------------------------------------------------------------------- + + + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#ifdef G4ANALYSIS_USE +#ifndef FCALAnalysisMessenger_h +#define FCALAnalysisMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + + +class FCALAnalysisManager; +class G4UIdirectory; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +class G4UIcmdWithAString; +class FCALAnalysisMessenger: public G4UImessenger + +{ +public: + FCALAnalysisMessenger(FCALAnalysisManager* ); + ~FCALAnalysisMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + +private: + + //pointer to FCALAnalysisManager + FCALAnalysisManager* xrayFluoAnalysis; + G4UIdirectory* FCALAnalysisDir; + G4UIcmdWithAString* ouputFileCommand; + +}; +#endif +#endif + + diff --git a/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh b/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh index 970281d668..8b413f64bc 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALCalorHit.hh,v 1.3 2002/12/12 19:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALCryostatVolumes.hh b/examples/advanced/lAr_calorimeter/include/FCALCryostatVolumes.hh index afdb7a5652..a38203f8bb 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALCryostatVolumes.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALCryostatVolumes.hh @@ -51,12 +51,12 @@ public: private: - G4double CryostatRMin, CryostatRMax, CryostatLength, StartingPhi, DPhi; + G4double CryostatRMin, CryostatRMax, CryostatLenght, StartingPhi, DPhi; - G4double InsulationRMin, InsulationRMax, InsulationLength; + G4double InsulationRMin, InsulationRMax, InsulationLenght; G4double InsulationPosX, InsulationPosY, InsulationPosZ; - G4double LArgRMin, LArgRMax, LArgLength; + G4double LArgRMin, LArgRMax, LArgLenght; G4double LArgPosX, LArgPosY, LArgPosZ; G4double FrontExcluderSizeX, FrontExcluderSizeY, FrontExcluderSizeZ; @@ -68,7 +68,7 @@ private: G4double BackExcluderPosX, BackExcluderPosY, BackExcluderPosZ, BackExcluderRotX; - G4double FCALEnvelopeRMin, FCALEnvelopeRMax, FCALEnvelopeLength, + G4double FCALEnvelopeRMin, FCALEnvelopeRMax, FCALEnvelopeLenght, FCALEnvelopeStartPhi, FCALEnvelopeDPhi; G4double FCALEnvelopePosX, FCALEnvelopePosY, FCALEnvelopePosZ, FCALEnvelopeRotX, FCALEnvelopeRotY; diff --git a/examples/advanced/lAr_calorimeter/include/FCALEMModule.hh b/examples/advanced/lAr_calorimeter/include/FCALEMModule.hh index 23ca8493e2..668bb682fe 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALEMModule.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALEMModule.hh @@ -64,16 +64,16 @@ private: private: - G4double EmModuleRMin, EmModuleRMax, EmModuleLength, CableTroffLength, + G4double EmModuleRMin, EmModuleRMax, EmModuleLenght, CableTroffLenght, EmModuleStartPhi, EmModuleDPhi; G4double FCALEmSmart; G4int NCableTroff; - G4double F1CableTroffRMin, F1CableTroffRMax, F1CableTroffLength, F1CableTroffStartPhi, + G4double F1CableTroffRMin, F1CableTroffRMax, F1CableTroffLenght, F1CableTroffStartPhi, F1CableTroffDPhi; G4double F1CableTroffRotZ; - G4double F1LArGapRmin, F1LArGapRmax, F1LArGapLength, F1LArGapStartPhi, F1LArGapDPhi; + G4double F1LArGapRmin, F1LArGapRmax, F1LArGapLenght, F1LArGapStartPhi, F1LArGapDPhi; FCALEMModuleSD* FcalEmModuleSD; diff --git a/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh b/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh index e3fca0e266..1e69b21afc 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALEMModuleSD.hh,v 1.4 2002/12/12 19:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALEMModuleSD.hh,v 1.5 2002/12/17 15:53:21 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -37,12 +37,13 @@ #include "G4VSensitiveDetector.hh" #include "globals.hh" #include "G4Event.hh" +#include "FCALCalorHit.hh" class FCALTestbeamSetup; class FCALEMModule; class G4HCofThisEvent; class G4Step; -#include "FCALCalorHit.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/lAr_calorimeter/include/FCALHadModule.hh b/examples/advanced/lAr_calorimeter/include/FCALHadModule.hh index 2ddfbd436f..feba79b4ae 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALHadModule.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALHadModule.hh @@ -63,23 +63,23 @@ private: private: - G4double HadModuleRMin, HadModuleRMax, HadModuleLength; + G4double HadModuleRMin, HadModuleRMax, HadModuleLenght; G4double HadModuleStartPhi, HadModuleDPhi; G4double FCAL2HadSmart; - G4double WAbsorberRMin, WAbsorberRMax, WAbsorberLength; + G4double WAbsorberRMin, WAbsorberRMax, WAbsorberLenght; G4double WAbsorberStartPhi, WAbsorberDPhi; - G4double CuPlateLength, CuPlateAPosZ, CuPlateBPosZ; + G4double CuPlateLenght, CuPlateAPosZ, CuPlateBPosZ; G4int NCableTroff; - G4double F2TroffRmin, F2TroffRmax, F2TroffMainLength; - G4double F2TroffABLength, F2TroffStartPhi, F2TroffDphi; + G4double F2TroffRmin, F2TroffRmax, F2TroffMainLenght; + G4double F2TroffABLenght, F2TroffStartPhi, F2TroffDphi; G4double F2TroffRotZ, F2TroffABPosZ; - G4double F2LArGapRmin, F2LArGapRmax, F2LArGapLength; + G4double F2LArGapRmin, F2LArGapRmax, F2LArGapLenght; G4double F2LArGapStartPhi, F2LArGapDphi; - G4double F2RodRmin, F2RodRmax, F2RodLength, F2RodStartPhi, F2RodDphi; + G4double F2RodRmin, F2RodRmax, F2RodLenght, F2RodStartPhi, F2RodDphi; FCALHadModuleSD* FcalHadModuleSD; diff --git a/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh b/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh index fa75526449..46279d3eb7 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALHadModuleSD.hh,v 1.4 2002/12/12 19:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALHadModuleSD.hh,v 1.5 2002/12/17 15:53:21 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -36,12 +36,12 @@ #include "G4VSensitiveDetector.hh" #include "globals.hh" - +#include "FCALCalorHit.hh" class FCALTestbeamSetup; class FCALHadModule; class G4HCofThisEvent; class G4Step; -#include "FCALCalorHit.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/lAr_calorimeter/include/FCALPhysicsList.hh b/examples/advanced/lAr_calorimeter/include/FCALPhysicsList.hh index 819d90d0e3..058888f2fe 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALPhysicsList.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALPhysicsList.hh @@ -24,11 +24,11 @@ // and all its terms. // // $Id: FCALPhysicsList.hh,v 1.5 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // $Id: FCALPhysicsList.hh,v 1.5 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh b/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh index a3ca205637..520c3cde39 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALPrimaryGeneratorAction.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh b/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh index fbef596a2e..9fa2f7cc92 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALRunAction.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALRunAction.hh,v 1.6 2003/02/17 18:02:07 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -49,9 +49,9 @@ class FCALRunAction : public G4UserRunAction public: void BeginOfRunAction(const G4Run*); - void EndOfRunAction(const G4Run*); }; -#endif + +#endif diff --git a/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh b/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh index 9fa929a3a8..106b0cfb8f 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALSteppingAction.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALSteppingAction.hh,v 1.4 2002/12/17 15:53:22 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -50,7 +50,7 @@ class FCALSteppingAction : public G4UserSteppingAction private: G4int EventNo; - G4int IDnow, IDout, IDold; + G4int IDnow, IDold, IDout; G4int NTracks, NSecondaries; G4double OutOfWorldTracksData[6000][11], Secondaries[6000][11]; G4double EdepFCALEm, EdepFCALHad; diff --git a/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh b/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh index 70c5132a7a..aa88fdaa35 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALSteppingVerbose.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh b/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh index ba59950fc7..50f0f9fd16 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh @@ -23,14 +23,16 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALTBEventAction.hh,v 1.5 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALTBEventAction.hh,v 1.7 2003/02/14 15:54:43 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#ifdef G4ANALYSIS_USE + #ifndef FCALTBEventAction_h #define FCALTBEventAction_h 1 @@ -39,14 +41,15 @@ #include "globals.hh" #include "G4ThreeVector.hh" -class FCALAnalysisManager; +class FCALRunAction; +class FCALTBEventActionMessenger; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class FCALTBEventAction : public G4UserEventAction { public: - FCALTBEventAction(FCALSteppingAction* ); + FCALTBEventAction(FCALSteppingAction*); virtual ~FCALTBEventAction(); public: @@ -62,13 +65,13 @@ class FCALTBEventAction : public G4UserEventAction G4int printModulo; FCALSteppingAction* StepAction; + FCALTBEventActionMessenger* eventMessenger; + FCALRunAction* runManager; private: - G4int NTracksOutOfWorld, NSecondaries, Init1, Init2, Init3; - // G4double OutOfWorldTracks[1000][11], Secondaries[1000][11]; - -}; + G4double NTracksOutOfWorld, NSecondaries, Init1, Init2, Init3; + }; #endif - +#endif diff --git a/examples/advanced/lAr_calorimeter/include/FCALTBEventActionMessenger.hh b/examples/advanced/lAr_calorimeter/include/FCALTBEventActionMessenger.hh index 910ff88957..95653f3101 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTBEventActionMessenger.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTBEventActionMessenger.hh @@ -23,9 +23,14 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Author: Patricia Mendez (patricia.mendez@cern.ch) + + #ifndef FCALTBEventActionMessenger_h #define FCALTBEventActionMessenger_h 1 + + #include "globals.hh" #include "G4UImessenger.hh" @@ -33,6 +38,8 @@ class FCALTBEventAction; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class FCALTBEventActionMessenger: public G4UImessenger @@ -44,7 +51,7 @@ class FCALTBEventActionMessenger: public G4UImessenger void SetNewValue(G4UIcommand*, G4String); private: - FCALTBEventAction* fcaltbeventAction; + FCALTBEventAction* eventAction; G4UIcmdWithAString* DrawCmd; G4UIcmdWithAnInteger* PrintCmd; }; diff --git a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetup.hh b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetup.hh index 248daf10a2..289ad9fb54 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetup.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetup.hh @@ -72,8 +72,8 @@ private: G4double HoleCntrScintPosX, HoleCntrScintPosY, HoleCntrScintPosZ; G4double HoleCntrPbPosX, HoleCntrPbPosY, HoleCntrPbPosZ; G4double HoleCntrAlPosX, HoleCntrAlPosY, HoleCntrAlPosZ; - G4double ScintHoleRmin, ScintHoleRmax, ScintHoleLength; - G4double AbsrbHoleRmin, AbsrbHoleRmax, AbsrbHoleLength; + G4double ScintHoleRmin, ScintHoleRmax, ScintHoleLenght; + G4double AbsrbHoleRmin, AbsrbHoleRmax, AbsrbHoleLenght; G4double HoleStartPhi, HoleDPhi; G4double HolePosX, HolePosY, HolePosZ; diff --git a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh index a464f29225..bc935a4fe4 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALTestbeamSetupSD.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALTestbeamSetupSD.hh,v 1.4 2002/12/17 15:53:22 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -36,11 +36,11 @@ #include "G4VSensitiveDetector.hh" #include "globals.hh" - +#include "FCALCalorHit.hh" class FCALTestbeamSetup; class G4HCofThisEvent; class G4Step; -#include "FCALCalorHit.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/lAr_calorimeter/include/FCALVisManager.hh b/examples/advanced/lAr_calorimeter/include/FCALVisManager.hh index cc47c8280c..b0649c9dc0 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALVisManager.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALVisManager.hh @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALVisManager.hh,v 1.3 2002/12/12 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/lAr_calorimeter.mdl b/examples/advanced/lAr_calorimeter/include/lAr_calorimeter.mdl new file mode 100644 index 0000000000..d6e56ad35f --- /dev/null +++ b/examples/advanced/lAr_calorimeter/include/lAr_calorimeter.mdl @@ -0,0 +1,5873 @@ + +(object Petal + version 44 + _written "Rational Rose 7.1.9701" + charSet 0) + +(object Design "Logical View" + is_unit TRUE + is_loaded TRUE + quid "3E50FB1900FD" + defaults (object defaults + rightMargin 0.250000 + leftMargin 0.250000 + topMargin 0.250000 + bottomMargin 0.500000 + pageOverlap 0.250000 + clipIconLabels TRUE + autoResize TRUE + snapToGrid TRUE + gridX 16 + gridY 16 + defaultFont (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + showMessageNum 1 + showClassOfObject TRUE + notation "Unified") + root_usecase_package (object Class_Category "Use Case View" + quid "3E4D1E8B0076" + exportControl "Public" + global TRUE + logical_models (list unit_reference_list) + logical_presentations (list unit_reference_list + (object UseCaseDiagram "Main" + quid "3E4D1E9D0398" + title "Main" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + root_category (object Class_Category "Logical View" + quid "3E4D1E8B0075" + exportControl "Public" + global TRUE + subsystem "Component View" + quidu "3E4D1E8B0077" + logical_models (list unit_reference_list + (object Association "$UNNAMED$0" + quid "3E50BBE60158" + roles (list role_list + (object Role "$UNNAMED$1" + quid "3E50BBE702A7" + supplier "Logical View::lAr_calorimeter::FCALCalorHitsCollection" + quidu "3E4D1FDC0056" + is_navigable TRUE) + (object Role "$UNNAMED$2" + quid "3E50BBE702B2" + supplier "Logical View::lAr_calorimeter::FCALCalorHit" + quidu "3E4D1FDC004F" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$3" + quid "3E50BBFD00D9" + roles (list role_list + (object Role "$UNNAMED$4" + quid "3E50BBFD03D7" + supplier "Logical View::lAr_calorimeter::FCALCalorHitsCollection" + quidu "3E4D1FDC0056" + is_navigable TRUE) + (object Role "$UNNAMED$5" + quid "3E50BBFD03E2" + supplier "Logical View::lAr_calorimeter::FCALCalorHit" + quidu "3E4D1FDC004F" + is_aggregate TRUE))) + (object Association "$UNNAMED$6" + quid "3E50BC150037" + roles (list role_list + (object Role "$UNNAMED$7" + quid "3E50BC1600AB" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083" + is_navigable TRUE) + (object Role "$UNNAMED$8" + quid "3E50BC1600B6" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$9" + quid "3E50BC1F026E" + roles (list role_list + (object Role "$UNNAMED$10" + quid "3E50BC210196" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C" + is_navigable TRUE) + (object Role "$UNNAMED$11" + quid "3E50BC2101A2" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$12" + quid "3E50BC5300E6" + roles (list role_list + (object Role "$UNNAMED$13" + quid "3E50BC53034C" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" + quidu "3E4D1FDC00F5" + is_navigable TRUE) + (object Role "$UNNAMED$14" + quid "3E50BC530357" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetup" + quidu "3E4D1FDC00EB" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$15" + quid "3E50BC59021F" + roles (list role_list + (object Role "$UNNAMED$16" + quid "3E50BC5C004D" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetup" + quidu "3E4D1FDC00EB" + is_navigable TRUE) + (object Role "$UNNAMED$17" + quid "3E50BC5C0057" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" + quidu "3E4D1FDC00F5" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$18" + quid "3E50BC7400AA" + roles (list role_list + (object Role "$UNNAMED$19" + quid "3E50BC750029" + supplier "Logical View::lAr_calorimeter::FCALAnalysisMessenger" + quidu "3E4D1FDC0044" + is_navigable TRUE) + (object Role "$UNNAMED$20" + quid "3E50BC750033" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$21" + quid "3E50BC7903E5" + roles (list role_list + (object Role "$UNNAMED$22" + quid "3E50BC7B0106" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037" + is_navigable TRUE) + (object Role "$UNNAMED$23" + quid "3E50BC7B0112" + supplier "Logical View::lAr_calorimeter::FCALAnalysisMessenger" + quidu "3E4D1FDC0044" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$24" + quid "3E50BCA10177" + roles (list role_list + (object Role "$UNNAMED$25" + quid "3E50BCA2000B" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083" + is_navigable TRUE) + (object Role "$UNNAMED$26" + quid "3E50BCA20017" + supplier "Logical View::lAr_calorimeter::FCALCryostatVolumes" + quidu "3E4D1FDC0064" + is_aggregate TRUE))) + (object Association "$UNNAMED$27" + quid "3E50BCAA031C" + roles (list role_list + (object Role "$UNNAMED$28" + quid "3E50BCAB020C" + supplier "Logical View::lAr_calorimeter::FCALEMModule" + quidu "3E4D1FDC006F" + is_navigable TRUE) + (object Role "$UNNAMED$29" + quid "3E50BCAB0216" + supplier "Logical View::lAr_calorimeter::FCALCryostatVolumes" + quidu "3E4D1FDC0064"))) + (object Association "$UNNAMED$30" + quid "3E50BCB300AB" + roles (list role_list + (object Role "$UNNAMED$31" + quid "3E50BCB30306" + supplier "Logical View::lAr_calorimeter::FCALEMModule" + quidu "3E4D1FDC006F" + is_navigable TRUE) + (object Role "$UNNAMED$32" + quid "3E50BCB30311" + supplier "Logical View::lAr_calorimeter::FCALCryostatVolumes" + quidu "3E4D1FDC0064" + is_aggregate TRUE))) + (object Association "$UNNAMED$33" + quid "3E50BCBF0282" + roles (list role_list + (object Role "$UNNAMED$34" + quid "3E50BCC00198" + supplier "Logical View::lAr_calorimeter::FCALTBEventActionMessenger" + quidu "3E4D1FDC00D9" + is_navigable TRUE) + (object Role "$UNNAMED$35" + quid "3E50BCC001A1" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$36" + quid "3E50BCC500F8" + roles (list role_list + (object Role "$UNNAMED$37" + quid "3E50BCC6019D" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0" + is_navigable TRUE) + (object Role "$UNNAMED$38" + quid "3E50BCC601A9" + supplier "Logical View::lAr_calorimeter::FCALTBEventActionMessenger" + quidu "3E4D1FDC00D9" + is_navigable TRUE + is_aggregate TRUE))) + (object Association "$UNNAMED$39" + quid "3E50BCD10280" + roles (list role_list + (object Role "$UNNAMED$40" + quid "3E50BCD402C4" + supplier "Logical View::lAr_calorimeter::FCALRunAction" + quidu "3E4D1FDC00B3" + is_navigable TRUE) + (object Role "$UNNAMED$41" + quid "3E50BCD402CD" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0" + is_aggregate TRUE))) + (object Association "$UNNAMED$42" + quid "3E50BCDD0210" + roles (list role_list + (object Role "$UNNAMED$43" + quid "3E50BCDE0115" + supplier "Logical View::lAr_calorimeter::FCALSteppingAction" + quidu "3E4D1FDC00BE" + is_navigable TRUE) + (object Role "$UNNAMED$44" + quid "3E50BCDE011F" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0" + is_aggregate TRUE))) + (object Class_Category "lAr_calorimeter" + quid "3E4D1FDC0033" + exportControl "Public" + logical_models (list unit_reference_list + (object Class "FCALAnalysisManager" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALAnalysisManager.hh")) + quid "3E4D1FDC0037" + operations (list Operations + (object Operation "~FCALAnalysisManager" + quid "3E4D1FDC0157" + stereotype "virtual" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "book" + quid "3E4D1FDC015A" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "finish" + quid "3E4D1FDC015B" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "analyseEnergyDep" + quid "3E4D1FDC015D" + parameters (list Parameters + (object Parameter "eDep" + quid "3E4D1FDC015E" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "getInstance" + quid "3E4D1FDC0166" + stereotype "static" + result "FCALAnalysisManager*" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetOutputFileName" + quid "3E4D1FDC0169" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC016A" + type "G4String")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "FCALAnalysisManager" + quid "3E4D1FDC0171" + concurrency "Sequential" + opExportControl "Private" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALAnalysisMessenger" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALAnalysisMessenger.hh")) + quid "3E4D1FDC0044" + operations (list Operations + (object Operation "FCALAnalysisMessenger" + quid "3E4D1FDC018D" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC018F" + type "FCALAnalysisManager*")) + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALAnalysisMessenger" + quid "3E4D1FDC0194" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetNewValue" + quid "3E4D1FDC0196" + parameters (list Parameters + (object Parameter "G4String" + quid "3E4D1FDC0197" + type "G4UIcommand*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALCalorHit" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALCalorHit.hh")) + quid "3E4D1FDC004F" + operations (list Operations + (object Operation "FCALCalorHit" + quid "3E4D1FDC01B1" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALCalorHit" + quid "3E4D1FDC01B2" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "FCALCalorHit" + quid "3E4D1FDC01B4" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC01B5" + type "const FCALCalorHit&")) + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "operator=" + quid "3E4D1FDC01B6" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC01B8" + type "const FCALCalorHit&")) + result "const FCALCalorHit&" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "operator==" + quid "3E4D1FDC01B9" + stereotype "const" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC01BB" + type "const FCALCalorHit&")) + result "int" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "operator new" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01BD" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC01BE" + type "size_t")) + result "void*" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "operator delete" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01BF" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC01C1" + type "void*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Draw" + quid "3E4D1FDC01C2" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Print" + quid "3E4D1FDC01C4" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "AddAbs" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01C5" + parameters (list Parameters + (object Parameter "de" + quid "3E4D1FDC01C7" + type "G4double") + (object Parameter "dl" + quid "3E4D1FDC01C8" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "AddGap" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01C9" + parameters (list Parameters + (object Parameter "de" + quid "3E4D1FDC01CA" + type "G4double") + (object Parameter "dl" + quid "3E4D1FDC01CB" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetEdepAbs" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01CC" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetTrakAbs" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01CD" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetEdepGap" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01CF" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetTrakGap" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDC01D0" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALCalorHitsCollection" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALCalorHit.hh") + (object Attribute + tool "Cplusplus" + name "ImplementationType" + value "G4THitsCollection")) + quid "3E4D1FDC0056" + stereotype "typedef" + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALCryostatVolumes" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALCryostatVolumes.hh")) + quid "3E4D1FDC0064" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BC90008C" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098")) + operations (list Operations + (object Operation "FCALCryostatVolumes" + quid "3E4D1FDC0248" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALCryostatVolumes" + quid "3E4D1FDC0249" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Construct" + quid "3E4D1FDC024B" + result "G4LogicalVolume *" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALEMModule" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALEMModule.hh")) + quid "3E4D1FDC006F" + operations (list Operations + (object Operation "FCALEMModule" + quid "3E4D1FDC028D" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALEMModule" + quid "3E4D1FDC028E" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Construct" + quid "3E4D1FDC0290" + result "G4LogicalVolume *" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "InitializeGeometry" + quid "3E4D1FDC0291" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetF1TileID" + quid "3E4D1FDC0293" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC0294" + type "G4int")) + result "G4int" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetF1LArGapPosX" + quid "3E4D1FDC029A" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC029B" + type "G4int")) + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALEMModuleSD" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALEMModuleSD.hh")) + quid "3E4D1FDC0078" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BC8A0224" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098")) + operations (list Operations + (object Operation "~FCALEMModuleSD" + quid "3E4D1FDC02D0" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Initialize" + quid "3E4D1FDC02D2" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC02D3" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "ProcessHits" + quid "3E4D1FDC02DB" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC02DD" + type "G4Step*") + (object Parameter "" + quid "3E4D1FDC02E5" + type "G4TouchableHistory*")) + result "G4bool" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "EndOfEvent" + quid "3E4D1FDC02EB" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC02ED" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "clear" + quid "3E4D1FDC02F5" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "DrawAll" + quid "3E4D1FDC02F7" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "PrintAll" + quid "3E4D1FDC02F8" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALHadModule" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALHadModule.hh")) + quid "3E4D1FDC0083" + operations (list Operations + (object Operation "FCALHadModule" + quid "3E4D1FDC034F" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALHadModule" + quid "3E4D1FDC0351" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Construct" + quid "3E4D1FDC0352" + result "G4LogicalVolume *" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "InitializeGeometry" + quid "3E4D1FDC0354" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetF2TileID" + quid "3E4D1FDC0355" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC0357" + type "G4int")) + result "G4int" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALHadModuleSD" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALHadModuleSD.hh")) + quid "3E4D1FDC008C" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BC870159" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098")) + operations (list Operations + (object Operation "~FCALHadModuleSD" + quid "3E4D1FDC038C" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Initialize" + quid "3E4D1FDC038E" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC038F" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "ProcessHits" + quid "3E4D1FDC0397" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC0399" + type "G4Step*") + (object Parameter "" + quid "3E4D1FDC03A0" + type "G4TouchableHistory*")) + result "G4bool" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "EndOfEvent" + quid "3E4D1FDC03A7" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDC03A8" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "clear" + quid "3E4D1FDC03B0" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "DrawAll" + quid "3E4D1FDC03B2" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "PrintAll" + quid "3E4D1FDC03B4" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALMaterialConsultant" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALMaterialConsultant.hh")) + quid "3E4D1FDC0098" + stereotype "singleton" + operations (list Operations + (object Operation "FCALMaterialConsultant" + quid "3E4D1FDD0027" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALMaterialConsultant" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDD0029" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "construct" + quid "3E4D1FDD002A" + stereotype "static" + result "FCALMaterialConsultant *" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Material" + quid "3E4D1FDD002D" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD002E" + type "G4String")) + result "G4Material *" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALPhysicsList" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALPhysicsList.hh")) + quid "3E4D1FDC00A2" + operations (list Operations + (object Operation "FCALPhysicsList" + quid "3E4D1FDD0046" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALPhysicsList" + quid "3E4D1FDD0047" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "ConstructParticle" + quid "3E4D1FDD0049" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructProcess" + quid "3E4D1FDD004A" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "SetCuts" + quid "3E4D1FDD004C" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "SetCutForGamma" + quid "3E4D1FDD004D" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD004F" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetCutForElectron" + quid "3E4D1FDD0050" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0051" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetCutForProton" + quid "3E4D1FDD0053" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0054" + type "G4double")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetCutForGamma" + quid "3E4D1FDD0055" + stereotype "const" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetCutForElectron" + quid "3E4D1FDD0058" + stereotype "const" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetCutForProton" + quid "3E4D1FDD005A" + stereotype "const" + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "ConstructBosons" + quid "3E4D1FDD005D" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructLeptons" + quid "3E4D1FDD005F" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructMesons" + quid "3E4D1FDD0060" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructBaryons" + quid "3E4D1FDD0062" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructGeneral" + quid "3E4D1FDD0063" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0) + (object Operation "ConstructEM" + quid "3E4D1FDD0065" + result "void" + concurrency "Sequential" + opExportControl "Protected" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALPrimaryGeneratorAction" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALPrimaryGeneratorAction.hh")) + quid "3E4D1FDC00AB" + operations (list Operations + (object Operation "FCALPrimaryGeneratorAction" + quid "3E4D1FDD007E" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALPrimaryGeneratorAction" + quid "3E4D1FDD007F" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GeneratePrimaries" + quid "3E4D1FDD0081" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0082" + type "G4Event*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALRunAction" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALRunAction.hh")) + quid "3E4D1FDC00B3" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BCF70242" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037")) + operations (list Operations + (object Operation "FCALRunAction" + quid "3E4D1FDD008A" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALRunAction" + quid "3E4D1FDD008C" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "BeginOfRunAction" + quid "3E4D1FDD008D" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD008F" + type "const G4Run*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALSteppingAction" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALSteppingAction.hh")) + quid "3E4D1FDC00BE" + operations (list Operations + (object Operation "FCALSteppingAction" + quid "3E4D1FDD00B7" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALSteppingAction" + quid "3E4D1FDD00B9" + stereotype "virtual" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "UserSteppingAction" + quid "3E4D1FDD00BB" + stereotype "virtual" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD00BE" + type "const G4Step*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "initialize" + quid "3E4D1FDD00BF" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD00C0" + type "G4int")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetOutOfWorldTracks" + quid "3E4D1FDD00C1" + parameters (list Parameters + (object Parameter "G4int" + quid "3E4D1FDD00C3" + type "G4int")) + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetSecondaries" + quid "3E4D1FDD00C4" + parameters (list Parameters + (object Parameter "G4int" + quid "3E4D1FDD00C5" + type "G4int")) + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "GetEdepFCAL" + quid "3E4D1FDD00C6" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD00C8" + type "G4String")) + result "G4double" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALSteppingVerbose" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALSteppingVerbose.hh")) + quid "3E4D1FDC00C6" + operations (list Operations + (object Operation "FCALSteppingVerbose" + quid "3E4D1FDD00D0" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALSteppingVerbose" + quid "3E4D1FDD00D2" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "StepInfo" + quid "3E4D1FDD00D3" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "TrackingStarted" + quid "3E4D1FDD00D4" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALTBEventAction" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALTBEventAction.hh")) + quid "3E4D1FDC00D0" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BD040083" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037")) + operations (list Operations + (object Operation "FCALTBEventAction" + quid "3E4D1FDD011C" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD011D" + type "FCALSteppingAction*")) + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALTBEventAction" + quid "3E4D1FDD0125" + stereotype "virtual" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "BeginOfEventAction" + quid "3E4D1FDD0127" + stereotype "virtual" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0129" + type "const G4Event*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "EndOfEventAction" + quid "3E4D1FDD0131" + stereotype "virtual" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0133" + type "const G4Event*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetDrawFlag" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDD013A" + parameters (list Parameters + (object Parameter "val" + quid "3E4D1FDD013C" + type "G4String")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetPrintModulo" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Inline" + value TRUE)) + quid "3E4D1FDD0145" + parameters (list Parameters + (object Parameter "val" + quid "3E4D1FDD0146" + type "G4int")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALTBEventActionMessenger" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALTBEventActionMessenger.hh")) + quid "3E4D1FDC00D9" + operations (list Operations + (object Operation "FCALTBEventActionMessenger" + quid "3E4D1FDD016A" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD016B" + type "FCALTBEventAction*")) + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALTBEventActionMessenger" + quid "3E4D1FDD0171" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "SetNewValue" + quid "3E4D1FDD0173" + parameters (list Parameters + (object Parameter "G4String" + quid "3E4D1FDD0174" + type "G4UIcommand*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALTestbeamSetup" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALTestbeamSetup.hh")) + quid "3E4D1FDC00EB" + operations (list Operations + (object Operation "FCALTestbeamSetup" + quid "3E4D1FDD0242" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "~FCALTestbeamSetup" + quid "3E4D1FDD0243" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Construct" + quid "3E4D1FDD0245" + result "G4VPhysicalVolume*" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALTestbeamSetupSD" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALTestbeamSetupSD.hh")) + quid "3E4D1FDC00F5" + used_nodes (list uses_relationship_list + (object Uses_Relationship + quid "3E50BC42009F" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098")) + operations (list Operations + (object Operation "~FCALTestbeamSetupSD" + quid "3E4D1FDD0276" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "Initialize" + quid "3E4D1FDD0277" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0278" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "ProcessHits" + quid "3E4D1FDD0280" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD0281" + type "G4Step*") + (object Parameter "" + quid "3E4D1FDD0288" + type "G4TouchableHistory*")) + result "G4bool" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "EndOfEvent" + quid "3E4D1FDD028D" + parameters (list Parameters + (object Parameter "" + quid "3E4D1FDD028F" + type "G4HCofThisEvent*")) + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "clear" + quid "3E4D1FDD0296" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "DrawAll" + quid "3E4D1FDD0298" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "PrintAll" + quid "3E4D1FDD0299" + result "void" + concurrency "Sequential" + opExportControl "Public" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Class "FCALVisManager" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "FCALVisManager.hh")) + quid "3E4D1FDC00FE" + operations (list Operations + (object Operation "FCALVisManager" + quid "3E4D1FDD02A1" + concurrency "Sequential" + opExportControl "Public" + uid 0) + (object Operation "RegisterGraphicsSystems" + quid "3E4D1FDD02A3" + result "void" + concurrency "Sequential" + opExportControl "Private" + uid 0)) + module "Component View::FML" + quidu "3E4D1EB50309" + language "ANSI C++") + (object Association "$UNNAMED$45" + quid "3E4D1FDC0133" + roles (list role_list + (object Role "$UNNAMED$46" + quid "3E4D1FDC0134" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037") + (object Role "$UNNAMED$47" + quid "3E4D1FDC0138" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037" + exportControl "Private" + is_navigable TRUE))) + (object Association "$UNNAMED$48" + quid "3E4D1FDC0147" + roles (list role_list + (object Role "$UNNAMED$49" + quid "3E4D1FDC0148" + supplier "Logical View::lAr_calorimeter::FCALAnalysisMessenger" + quidu "3E4D1FDC0044" + is_navigable TRUE) + (object Role "$UNNAMED$50" + quid "3E4D1FDC014B" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037"))) + (object Association "$UNNAMED$51" + quid "3E4D1FDC017F" + roles (list role_list + (object Role "$UNNAMED$52" + quid "3E4D1FDC0180" + supplier "Logical View::lAr_calorimeter::FCALAnalysisManager" + quidu "3E4D1FDC0037" + is_navigable TRUE) + (object Role "$UNNAMED$53" + quid "3E4D1FDC0183" + supplier "Logical View::lAr_calorimeter::FCALAnalysisMessenger" + quidu "3E4D1FDC0044"))) + (object Association "$UNNAMED$54" + quid "3E4D1FDC022C" + roles (list role_list + (object Role "$UNNAMED$55" + quid "3E4D1FDC022D" + supplier "Logical View::lAr_calorimeter::FCALEMModule" + quidu "3E4D1FDC006F" + is_navigable TRUE) + (object Role "$UNNAMED$56" + quid "3E4D1FDC0230" + supplier "Logical View::lAr_calorimeter::FCALCryostatVolumes" + quidu "3E4D1FDC0064"))) + (object Association "$UNNAMED$57" + quid "3E4D1FDC023A" + roles (list role_list + (object Role "$UNNAMED$58" + quid "3E4D1FDC023B" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083" + is_navigable TRUE) + (object Role "$UNNAMED$59" + quid "3E4D1FDC023E" + supplier "Logical View::lAr_calorimeter::FCALCryostatVolumes" + quidu "3E4D1FDC0064"))) + (object Association "$UNNAMED$60" + quid "3E4D1FDC027F" + roles (list role_list + (object Role "$UNNAMED$61" + quid "3E4D1FDC0280" + supplier "Logical View::lAr_calorimeter::FCALEMModuleSD" + quidu "3E4D1FDC0078" + is_navigable TRUE) + (object Role "$UNNAMED$62" + quid "3E4D1FDC0283" + supplier "Logical View::lAr_calorimeter::FCALEMModule" + quidu "3E4D1FDC006F"))) + (object Association "$UNNAMED$63" + quid "3E4D1FDC02AD" + roles (list role_list + (object Role "$UNNAMED$64" + quid "3E4D1FDC02AE" + supplier "Logical View::lAr_calorimeter::FCALEMModuleSD" + quidu "3E4D1FDC0078" + is_aggregate TRUE) + (object Role "$UNNAMED$65" + quid "3E4D1FDC02B1" + supplier "Logical View::lAr_calorimeter::FCALEMModuleSD" + quidu "3E4D1FDC0078" + is_navigable TRUE))) + (object Association "$UNNAMED$66" + quid "3E4D1FDC02C1" + roles (list role_list + (object Role "$UNNAMED$67" + quid "3E4D1FDC02C2" + supplier "Logical View::lAr_calorimeter::FCALEMModule" + quidu "3E4D1FDC006F" + is_navigable TRUE) + (object Role "$UNNAMED$68" + quid "3E4D1FDC02C5" + supplier "Logical View::lAr_calorimeter::FCALEMModuleSD" + quidu "3E4D1FDC0078"))) + (object Association "$UNNAMED$69" + quid "3E4D1FDC0341" + roles (list role_list + (object Role "$UNNAMED$70" + quid "3E4D1FDC0342" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C" + is_navigable TRUE) + (object Role "$UNNAMED$71" + quid "3E4D1FDC0346" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083"))) + (object Association "$UNNAMED$72" + quid "3E4D1FDC0369" + roles (list role_list + (object Role "$UNNAMED$73" + quid "3E4D1FDC036A" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C" + is_aggregate TRUE) + (object Role "$UNNAMED$74" + quid "3E4D1FDC036D" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C" + is_navigable TRUE))) + (object Association "$UNNAMED$75" + quid "3E4D1FDC037D" + roles (list role_list + (object Role "$UNNAMED$76" + quid "3E4D1FDC037E" + supplier "Logical View::lAr_calorimeter::FCALHadModule" + quidu "3E4D1FDC0083" + is_navigable TRUE) + (object Role "$UNNAMED$77" + quid "3E4D1FDC0381" + supplier "Logical View::lAr_calorimeter::FCALHadModuleSD" + quidu "3E4D1FDC008C"))) + (object Association "$UNNAMED$78" + quid "3E4D1FDD0015" + roles (list role_list + (object Role "$UNNAMED$79" + quid "3E4D1FDD0016" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098") + (object Role "$UNNAMED$80" + quid "3E4D1FDD0019" + supplier "Logical View::lAr_calorimeter::FCALMaterialConsultant" + quidu "3E4D1FDC0098" + is_navigable TRUE))) + (object Association "$UNNAMED$81" + quid "3E4D1FDD00EF" + roles (list role_list + (object Role "$UNNAMED$82" + quid "3E4D1FDD00F0" + supplier "Logical View::lAr_calorimeter::FCALSteppingAction" + quidu "3E4D1FDC00BE" + is_navigable TRUE) + (object Role "$UNNAMED$83" + quid "3E4D1FDD00F4" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0"))) + (object Association "$UNNAMED$84" + quid "3E4D1FDD00FD" + roles (list role_list + (object Role "$UNNAMED$85" + quid "3E4D1FDD00FE" + supplier "Logical View::lAr_calorimeter::FCALTBEventActionMessenger" + quidu "3E4D1FDC00D9" + is_navigable TRUE) + (object Role "$UNNAMED$86" + quid "3E4D1FDD0102" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0"))) + (object Association "$UNNAMED$87" + quid "3E4D1FDD010C" + roles (list role_list + (object Role "$UNNAMED$88" + quid "3E4D1FDD010D" + supplier "Logical View::lAr_calorimeter::FCALRunAction" + quidu "3E4D1FDC00B3" + is_navigable TRUE) + (object Role "$UNNAMED$89" + quid "3E4D1FDD0111" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0"))) + (object Association "$UNNAMED$90" + quid "3E4D1FDD015B" + roles (list role_list + (object Role "$UNNAMED$91" + quid "3E4D1FDD015C" + supplier "Logical View::lAr_calorimeter::FCALTBEventAction" + quidu "3E4D1FDC00D0" + is_navigable TRUE) + (object Role "$UNNAMED$92" + quid "3E4D1FDD015F" + supplier "Logical View::lAr_calorimeter::FCALTBEventActionMessenger" + quidu "3E4D1FDC00D9"))) + (object Association "$UNNAMED$93" + quid "3E4D1FDD0234" + roles (list role_list + (object Role "$UNNAMED$94" + quid "3E4D1FDD0235" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" + quidu "3E4D1FDC00F5" + is_navigable TRUE) + (object Role "$UNNAMED$95" + quid "3E4D1FDD0239" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetup" + quidu "3E4D1FDC00EB"))) + (object Association "$UNNAMED$96" + quid "3E4D1FDD0262" + roles (list role_list + (object Role "$UNNAMED$97" + quid "3E4D1FDD0263" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" + quidu "3E4D1FDC00F5" + is_aggregate TRUE) + (object Role "$UNNAMED$98" + quid "3E4D1FDD0267" + supplier "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" + quidu "3E4D1FDC00F5" + is_navigable TRUE)))) + logical_presentations (list unit_reference_list))) + logical_presentations (list unit_reference_list + (object ClassDiagram "Main" + quid "3E4D1E9D03CD" + title "Main" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALMaterialConsultant" @1 + ShowCompartmentStereotypes TRUE + location (1120, 2112) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @1 + location (890, 2084) + fill_color 13434879 + nlines 1 + max_width 460 + justify 0 + label "FCALMaterialConsultant") + stereotype (object ItemLabel + Parent_View @1 + location (890, 2037) + fill_color 13434879 + anchor 10 + nlines 1 + max_width 460 + justify 0 + label "<>") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0098" + width 478 + height 172 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALPhysicsList" @2 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1536, 784) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @2 + location (1368, 735) + fill_color 13434879 + nlines 1 + max_width 336 + justify 0 + label "FCALPhysicsList") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00A2" + width 354 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALPrimaryGeneratorAction" @3 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1808, 1536) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @3 + location (1530, 1487) + fill_color 13434879 + nlines 1 + max_width 556 + justify 0 + label "FCALPrimaryGeneratorAction") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00AB" + width 574 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALSteppingVerbose" @4 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (960, 416) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @4 + location (745, 367) + fill_color 13434879 + nlines 1 + max_width 430 + justify 0 + label "FCALSteppingVerbose") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00C6" + width 448 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALVisManager" @5 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1568, 400) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @5 + location (1391, 351) + fill_color 13434879 + nlines 1 + max_width 354 + justify 0 + label "FCALVisManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00FE" + width 372 + height 120 + autoResize TRUE) + (object Label @6 + location (1072, 416) + font (object Font + size 12 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + nlines 1 + max_width 653 + label +| +|lAr_calorimeter advanded +|example. +|Second repository (February 03) +| +| + ) + (object Label @7 + location (1680, 704) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + nlines 1 + max_width 1137 + label +| +| +| + ) + (object Label @8 + location (3728, 416) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + nlines 8 + max_width 1087 + label +| +| + ) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALCalorHitsCollection" @9 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + IncludeOperation TRUE + location (384, 800) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @9 + location (145, 772) + fill_color 13434879 + nlines 1 + max_width 478 + justify 0 + label "FCALCalorHitsCollection") + stereotype (object ItemLabel + Parent_View @9 + location (145, 725) + fill_color 13434879 + anchor 10 + nlines 1 + max_width 478 + justify 0 + label "<>") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0056" + width 496 + height 172 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALCalorHit" @10 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (384, 400) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @10 + location (241, 351) + fill_color 13434879 + nlines 1 + max_width 286 + justify 0 + label "FCALCalorHit") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC004F" + width 304 + height 120 + autoResize TRUE) + (object AssociationViewNew "$UNNAMED$3" @11 + location (384, 586) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BBFD00D9" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$4" @12 + Parent_View @11 + location (-16, 362) + stereotype TRUE + line_color 3342489 + quidu "3E50BBFD03D7" + client @11 + supplier @9 + line_style 0) + (object RoleView "$UNNAMED$5" @13 + Parent_View @11 + location (-16, 362) + stereotype TRUE + line_color 3342489 + quidu "3E50BBFD03E2" + client @11 + supplier @10 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALTestbeamSetup" @14 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (352, 1856) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @14 + location (154, 1807) + fill_color 13434879 + nlines 1 + max_width 396 + justify 0 + label "FCALTestbeamSetup") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00EB" + width 414 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALTestbeamSetupSD" @15 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1120, 1856) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @15 + location (895, 1807) + fill_color 13434879 + nlines 1 + max_width 450 + justify 0 + label "FCALTestbeamSetupSD") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00F5" + width 468 + height 120 + autoResize TRUE) + (object UsesView "" @16 + stereotype TRUE + line_color 3342489 + quidu "3E50BC42009F" + client @15 + supplier @1 + line_style 0) + (object AssociationViewNew "$UNNAMED$12" @17 + location (722, 1856) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC5300E6" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$13" @18 + Parent_View @17 + location (290, 752) + stereotype TRUE + line_color 3342489 + quidu "3E50BC53034C" + client @17 + supplier @15 + line_style 0) + (object RoleView "$UNNAMED$14" @19 + Parent_View @17 + location (290, 752) + stereotype TRUE + line_color 3342489 + quidu "3E50BC530357" + client @17 + supplier @14 + line_style 0))) + (object AssociationViewNew "$UNNAMED$15" @20 + location (722, 1856) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC59021F" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$16" @21 + Parent_View @20 + location (-558, 752) + stereotype TRUE + line_color 3342489 + quidu "3E50BC5C004D" + client @20 + supplier @14 + line_style 0) + (object RoleView "$UNNAMED$17" @22 + Parent_View @20 + location (-558, 752) + stereotype TRUE + line_color 3342489 + quidu "3E50BC5C0057" + client @20 + supplier @15 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALAnalysisManager" @23 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (368, 1184) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @23 + location (143, 1135) + fill_color 13434879 + nlines 1 + max_width 450 + justify 0 + label "FCALAnalysisManager") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0037" + width 468 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALAnalysisMessenger" @24 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (368, 1552) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @24 + location (125, 1503) + fill_color 13434879 + nlines 1 + max_width 486 + justify 0 + label "FCALAnalysisMessenger") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0044" + width 504 + height 120 + autoResize TRUE) + (object AssociationViewNew "$UNNAMED$18" @25 + location (368, 1367) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC7400AA" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$19" @26 + Parent_View @25 + location (-432, 519) + stereotype TRUE + line_color 3342489 + quidu "3E50BC750029" + client @25 + supplier @24 + line_style 0) + (object RoleView "$UNNAMED$20" @27 + Parent_View @25 + location (-432, 519) + stereotype TRUE + line_color 3342489 + quidu "3E50BC750033" + client @25 + supplier @23 + line_style 0))) + (object AssociationViewNew "$UNNAMED$21" @28 + location (368, 1367) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC7903E5" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$22" @29 + Parent_View @28 + location (-1504, 519) + stereotype TRUE + line_color 3342489 + quidu "3E50BC7B0106" + client @28 + supplier @23 + line_style 0) + (object RoleView "$UNNAMED$23" @30 + Parent_View @28 + location (-1504, 519) + stereotype TRUE + line_color 3342489 + quidu "3E50BC7B0112" + client @28 + supplier @24 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALHadModuleSD" @31 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (352, 2096) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @31 + location (157, 2047) + fill_color 13434879 + nlines 1 + max_width 390 + justify 0 + label "FCALHadModuleSD") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC008C" + width 408 + height 120 + autoResize TRUE) + (object UsesView "" @32 + stereotype TRUE + line_color 3342489 + quidu "3E50BC870159" + client @31 + supplier @1 + line_style 0) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALEMModuleSD" @33 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1824, 2112) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @33 + location (1634, 2063) + fill_color 13434879 + nlines 1 + max_width 380 + justify 0 + label "FCALEMModuleSD") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0078" + width 398 + height 120 + autoResize TRUE) + (object UsesView "" @34 + stereotype TRUE + line_color 3342489 + quidu "3E50BC8A0224" + client @33 + supplier @1 + line_style 0) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALHadModule" @35 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (352, 2448) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @35 + location (184, 2399) + fill_color 13434879 + nlines 1 + max_width 336 + justify 0 + label "FCALHadModule") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0083" + width 354 + height 120 + autoResize TRUE) + (object AssociationViewNew "$UNNAMED$6" @36 + location (352, 2271) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC150037" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$7" @37 + Parent_View @36 + location (-96, 735) + stereotype TRUE + line_color 3342489 + quidu "3E50BC1600AB" + client @36 + supplier @35 + line_style 0) + (object RoleView "$UNNAMED$8" @38 + Parent_View @36 + location (-96, 735) + stereotype TRUE + line_color 3342489 + quidu "3E50BC1600B6" + client @36 + supplier @31 + line_style 0))) + (object AssociationViewNew "$UNNAMED$9" @39 + location (352, 2271) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BC1F026E" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$10" @40 + Parent_View @39 + location (-96, 399) + stereotype TRUE + line_color 3342489 + quidu "3E50BC210196" + client @39 + supplier @31 + line_style 0) + (object RoleView "$UNNAMED$11" @41 + Parent_View @39 + location (-96, 399) + stereotype TRUE + line_color 3342489 + quidu "3E50BC2101A2" + client @39 + supplier @35 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALEMModule" @42 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1824, 2496) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @42 + location (1660, 2447) + fill_color 13434879 + nlines 1 + max_width 328 + justify 0 + label "FCALEMModule") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC006F" + width 346 + height 120 + autoResize TRUE) + (object AssociationViewNew "$UNNAMED$60" @43 + location (1824, 2303) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC027F" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$62" @44 + Parent_View @43 + location (-160, 719) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object SegLabel @45 + Parent_View @44 + location (1866, 2409) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + hidden TRUE + anchor 1 + anchor_loc 1 + nlines 1 + max_width 450 + justify 0 + label "" + pctDist 0.800000 + height 42 + orientation 0) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC0283" + client @43 + supplier @42 + line_style 0) + (object RoleView "$UNNAMED$61" @46 + Parent_View @43 + location (-160, 719) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object SegLabel @47 + Parent_View @46 + location (1153, 2132) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + hidden TRUE + anchor 1 + anchor_loc 1 + nlines 1 + max_width 60 + justify 0 + label "" + pctDist 1.316120 + height 672 + orientation 0) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC0280" + client @43 + supplier @33 + line_style 0))) + (object AssociationViewNew "$UNNAMED$66" @48 + location (1824, 2303) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC02C1" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$68" @49 + Parent_View @48 + location (-224, 1503) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object SegLabel @50 + Parent_View @49 + location (1866, 2198) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + hidden TRUE + anchor 1 + anchor_loc 1 + nlines 1 + max_width 450 + justify 0 + label "" + pctDist 0.800000 + height 42 + orientation 1) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC02C5" + client @48 + supplier @33 + line_style 0) + (object RoleView "$UNNAMED$67" @51 + Parent_View @48 + location (-224, 1503) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object SegLabel @52 + Parent_View @51 + location (988, 2299) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + hidden TRUE + anchor 1 + anchor_loc 1 + nlines 1 + max_width 60 + justify 0 + label "" + pctDist -0.032208 + height 837 + orientation 1) + stereotype TRUE + line_color 3342489 + quidu "3E4D1FDC02C2" + client @48 + supplier @42 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALCryostatVolumes" @53 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1120, 2496) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @53 + location (906, 2447) + fill_color 13434879 + nlines 1 + max_width 428 + justify 0 + label "FCALCryostatVolumes") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC0064" + width 446 + height 120 + autoResize TRUE) + (object UsesView "" @54 + stereotype TRUE + line_color 3342489 + quidu "3E50BC90008C" + client @53 + supplier @1 + line_style 0) + (object AssociationViewNew "$UNNAMED$24" @55 + location (712, 2469) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCA10177" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$25" @56 + Parent_View @55 + location (-568, 501) + stereotype TRUE + line_color 3342489 + quidu "3E50BCA2000B" + client @55 + supplier @35 + line_style 0) + (object RoleView "$UNNAMED$26" @57 + Parent_View @55 + location (-568, 501) + stereotype TRUE + line_color 3342489 + quidu "3E50BCA20017" + client @55 + supplier @53 + line_style 0))) + (object AssociationViewNew "$UNNAMED$30" @58 + location (1496, 2496) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCB300AB" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$31" @59 + Parent_View @58 + location (216, 528) + stereotype TRUE + line_color 3342489 + quidu "3E50BCB30306" + client @58 + supplier @42 + line_style 0) + (object RoleView "$UNNAMED$32" @60 + Parent_View @58 + location (216, 528) + stereotype TRUE + line_color 3342489 + quidu "3E50BCB30311" + client @58 + supplier @53 + line_style 0))) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALTBEventActionMessenger" @61 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1040, 1552) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @61 + location (742, 1503) + fill_color 13434879 + nlines 1 + max_width 596 + justify 0 + label "FCALTBEventActionMessenger") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00D9" + width 614 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALRunAction" @62 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1040, 784) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @62 + location (879, 735) + fill_color 13434879 + nlines 1 + max_width 322 + justify 0 + label "FCALRunAction") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00B3" + width 340 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALSteppingAction" @63 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1664, 1184) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @63 + location (1465, 1135) + fill_color 13434879 + nlines 1 + max_width 398 + justify 0 + label "FCALSteppingAction") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00BE" + width 416 + height 120 + autoResize TRUE) + (object ClassView "Class" "Logical View::lAr_calorimeter::FCALTBEventAction" @64 + ShowCompartmentStereotypes TRUE + IncludeAttribute TRUE + location (1040, 1200) + font (object Font + size 10 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + label (object ItemLabel + Parent_View @64 + location (845, 1151) + fill_color 13434879 + nlines 1 + max_width 390 + justify 0 + label "FCALTBEventAction") + icon_style "Icon" + line_color 3342489 + fill_color 13434879 + quidu "3E4D1FDC00D0" + width 408 + height 120 + autoResize TRUE) + (object AssociationViewNew "$UNNAMED$33" @65 + location (1040, 1375) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCBF0282" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$34" @66 + Parent_View @65 + location (-224, -865) + stereotype TRUE + line_color 3342489 + quidu "3E50BCC00198" + client @65 + supplier @61 + line_style 0) + (object RoleView "$UNNAMED$35" @67 + Parent_View @65 + location (-224, -865) + stereotype TRUE + line_color 3342489 + quidu "3E50BCC001A1" + client @65 + supplier @64 + line_style 0))) + (object AssociationViewNew "$UNNAMED$36" @68 + location (1040, 1375) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCC500F8" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$37" @69 + Parent_View @68 + location (-224, -1265) + stereotype TRUE + line_color 3342489 + quidu "3E50BCC6019D" + client @68 + supplier @64 + line_style 0) + (object RoleView "$UNNAMED$38" @70 + Parent_View @68 + location (-224, -1265) + stereotype TRUE + line_color 3342489 + quidu "3E50BCC601A9" + client @68 + supplier @61 + line_style 0))) + (object AssociationViewNew "$UNNAMED$39" @71 + location (1040, 991) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCD10280" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$40" @72 + Parent_View @71 + location (-224, -1249) + stereotype TRUE + line_color 3342489 + quidu "3E50BCD402C4" + client @71 + supplier @62 + line_style 0) + (object RoleView "$UNNAMED$41" @73 + Parent_View @71 + location (-224, -1249) + stereotype TRUE + line_color 3342489 + quidu "3E50BCD402CD" + client @71 + supplier @64 + line_style 0))) + (object AssociationViewNew "$UNNAMED$42" @74 + location (1349, 1191) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + stereotype TRUE + line_color 3342489 + quidu "3E50BCDD0210" + roleview_list (list RoleViews + (object RoleView "$UNNAMED$43" @75 + Parent_View @74 + location (85, -1049) + stereotype TRUE + line_color 3342489 + quidu "3E50BCDE0115" + client @74 + supplier @63 + line_style 0) + (object RoleView "$UNNAMED$44" @76 + Parent_View @74 + location (85, -1049) + stereotype TRUE + line_color 3342489 + quidu "3E50BCDE011F" + client @74 + supplier @64 + line_style 0))) + (object UsesView "" @77 + stereotype TRUE + line_color 3342489 + quidu "3E50BCF70242" + client @62 + supplier @23 + line_style 0) + (object UsesView "" @78 + stereotype TRUE + line_color 3342489 + quidu "3E50BD040083" + client @64 + supplier @23 + line_style 0) + (object Label @79 + location (3296, 128) + font (object Font + size 14 + face "helvetica" + charSet 1 + bold FALSE + italics FALSE + underline FALSE + strike FALSE + color 0 + default_color TRUE) + nlines 11 + max_width 938 + label +| +| + ))))) + root_subsystem (object SubSystem "Component View" + quid "3E4D1E8B0077" + physical_models (list unit_reference_list + (object module "FML" "NotAModuleType" "NotAModulePart" + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "RevEngRootDirectory" + value "/afs/cern.ch/user/p/pmendez/GEANT4/G4WORKDIR/test/include") + (object Attribute + tool "Cplusplus" + name "RootPackage" + value "lAr_calorimeter") + (object Attribute + tool "Cplusplus" + name "FilesEncoding" + value (value Text +|v1:WFCALAnalysisManager.hh,3e4d010a +|YFCALAnalysisMessenger.hh,3e4d010a +|PFCALCalorHit.hh,3e4d0109 +|WFCALCryostatVolumes.hh,3e4d0109 +|PFCALEMModule.hh,3e4d0109 +|RFCALEMModuleSD.hh,3e4d0109 +|QFCALHadModule.hh,3e4d0109 +|SFCALHadModuleSD.hh,3e4d0109 +|ZFCALMaterialConsultant.hh,3e4d0109 +|SFCALPhysicsList.hh,3e4d0109 +|dFCALPrimaryGeneratorAction.hh,3e4d0109 +|QFCALRunAction.hh,3e4d1a9a +|VFCALSteppingAction.hh,3e4d0109 +|WFCALSteppingVerbose.hh,3e4d0109 +|UFCALTBEventAction.hh,3e4d1143 +|dFCALTBEventActionMessenger.hh,3e4d010a +|UFCALTestbeamSetup.hh,3e4d010a +|WFCALTestbeamSetupSD.hh,3e4d010a +|RFCALVisManager.hh,3e4d010a +| + )) + (object Attribute + tool "Cplusplus" + name "StyleSheetEncoding" + value ";ut:0;tw:8;iw:4;pw:80;;pi:-2;nb:2;cb:2;fb:2;pl:0;is:1;mo:1;dr:1;mr:1;bf:0;") + (object Attribute + tool "Cplusplus" + name "CodeItemsEncoding" + value (value Text +|v3:FCALAnalysisManager,t,B,,A,308,778 +|FCALAnalysisMessenger,t,C,,A,25f,3bd +|FCALCalorHit,t,D,,A,816,ba6 +|FCALCalorHit::operator delete,f,D,,Gvoid*,,d9c,e0f +|FCALCalorHit::operator new,f,D,,Hsize_t,,cc3,d4a +|FCALCalorHitsCollection,t,D,,A,bf8,c38 +|FCALCryostatVolumes,t,E,,A,830,d0c +|FCALEMModule,t,F,,A,80b,b78 +|FCALEMModuleSD,t,G,,A,88c,af9 +|FCALHadModule,t,H,,A,829,c25 +|FCALHadModuleSD,t,I,,A,879,aeb +|FCALMaterialConsultant,t,J,,A,816,b31 +|FCALPhysicsList,t,K,,A,868,c2e +|FCALPrimaryGeneratorAction,t,L,,A,872,a73 +|FCALRunAction,t,M,,A,80d,8a7 +|FCALSteppingAction,t,N,,A,82f,b21 +|FCALSteppingVerbose,t,O,,A,84f,914 +|FCALTBEventAction,t,P,,A,899,b8d +|FCALTBEventActionMessenger,t,Q,,A,7a5,8f3 +|FCALTestbeamSetup,t,R,,A,8a9,1223 +|FCALTestbeamSetupSD,t,S,,A,870,b56 +|FCALVisManager,t,T,,A,aa4,b20 +| + ))) + quid "3E4D1EB50309" + stereotype "" + language "ANSI C++")) + physical_presentations (list unit_reference_list + (object Module_Diagram "Main" + quid "3E4D1E9D0397" + title "Main" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + process_structure (object Processes + quid "3E4D1E8B0078" + ProcsNDevs (list + (object Process_Diagram "Deployment View" + quid "3E4D1E8B0086" + title "Deployment View" + zoom 100 + max_height 28350 + max_width 21600 + origin_x 0 + origin_y 0 + items (list diagram_item_list)))) + properties (object Properties + attributes (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "propertyId" + value "809135966") + (object Attribute + tool "Cplusplus" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE) + (object Attribute + tool "Cplusplus" + name "CodeName" + value "") + (object Attribute + tool "Cplusplus" + name "Const" + value FALSE) + (object Attribute + tool "Cplusplus" + name "InitialValue" + value ""))) + (object Attribute + tool "Cplusplus" + name "default__Inherit" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE))) + (object Attribute + tool "Cplusplus" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE) + (object Attribute + tool "Cplusplus" + name "Copyright" + value (value Text "")) + (object Attribute + tool "Cplusplus" + name "RootPackage" + value "C++ Reverse Engineered") + (object Attribute + tool "Cplusplus" + name "InitialHeaderIncludes" + value (value Text "")) + (object Attribute + tool "Cplusplus" + name "InitialBodyIncludes" + value (value Text "")))) + (object Attribute + tool "Cplusplus" + name "default__Param" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "CodeName" + value ""))) + (object Attribute + tool "Cplusplus" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE) + (object Attribute + tool "Cplusplus" + name "CodeName" + value ""))) + (object Attribute + tool "Cplusplus" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE) + (object Attribute + tool "Cplusplus" + name "CodeName" + value "") + (object Attribute + tool "Cplusplus" + name "InitialCodeBody" + value "") + (object Attribute + tool "Cplusplus" + name "Inline" + value FALSE))) + (object Attribute + tool "Cplusplus" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "Synchronize" + value TRUE) + (object Attribute + tool "Cplusplus" + name "CodeName" + value "") + (object Attribute + tool "Cplusplus" + name "ImplementationType" + value "") + (object Attribute + tool "Cplusplus" + name "HeaderSourceFile" + value "") + (object Attribute + tool "Cplusplus" + name "BodySourceFile" + value ""))) + (object Attribute + tool "Cplusplus" + name "default__Category" + value (list Attribute_Set + (object Attribute + tool "Cplusplus" + name "CodeName" + value "") + (object Attribute + tool "Cplusplus" + name "IsNamespace" + value FALSE))) + (object Attribute + tool "Cplusplus" + name "HiddenTool" + value FALSE) + (object Attribute + tool "ANSI C++ Event Watcher" + name "HiddenTool" + value FALSE) + (object Attribute + tool "ANSIConvert" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Ada83" + name "propertyId" + value "838326200") + (object Attribute + tool "Ada83" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "SpecFileExtension" + value "1.ada") + (object Attribute + tool "Ada83" + name "SpecFileBackupExtension" + value "1.ad~") + (object Attribute + tool "Ada83" + name "SpecFileTemporaryExtension" + value "1.ad#") + (object Attribute + tool "Ada83" + name "BodyFileExtension" + value "2.ada") + (object Attribute + tool "Ada83" + name "BodyFileBackupExtension" + value "2.ad~") + (object Attribute + tool "Ada83" + name "BodyFileTemporaryExtension" + value "2.ad#") + (object Attribute + tool "Ada83" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "Ada83" + name "GenerateBodies" + value TRUE) + (object Attribute + tool "Ada83" + name "GenerateAccessorOperations" + value TRUE) + (object Attribute + tool "Ada83" + name "GenerateStandardOperations" + value TRUE) + (object Attribute + tool "Ada83" + name "ImplicitParameter" + value TRUE) + (object Attribute + tool "Ada83" + name "CommentWidth" + value 60) + (object Attribute + tool "Ada83" + name "StopOnError" + value FALSE) + (object Attribute + tool "Ada83" + name "ErrorLimit" + value 30) + (object Attribute + tool "Ada83" + name "UseFileName" + value FALSE) + (object Attribute + tool "Ada83" + name "Directory" + value "$ROSEADA83_SOURCE"))) + (object Attribute + tool "Ada83" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "CodeName" + value "") + (object Attribute + tool "Ada83" + name "ClassName" + value "Object") + (object Attribute + tool "Ada83" + name "ClassAccess" + value ("ImplementationSet" 43)) + (object Attribute + tool "Ada83" + name "ImplementationType" + value (value Text "")) + (object Attribute + tool "Ada83" + name "IsSubtype" + value FALSE) + (object Attribute + tool "Ada83" + name "PolymorphicUnit" + value FALSE) + (object Attribute + tool "Ada83" + name "HandleName" + value "Handle") + (object Attribute + tool "Ada83" + name "HandleAccess" + value ("ImplementationSet" 45)) + (object Attribute + tool "Ada83" + name "Discriminant" + value "") + (object Attribute + tool "Ada83" + name "Variant" + value "") + (object Attribute + tool "Ada83" + name "EnumerationLiteralPrefix" + value "A_") + (object Attribute + tool "Ada83" + name "RecordFieldPrefix" + value "The_") + (object Attribute + tool "Ada83" + name "GenerateAccessorOperations" + value TRUE) + (object Attribute + tool "Ada83" + name "GenerateStandardOperations" + value TRUE) + (object Attribute + tool "Ada83" + name "ImplicitParameter" + value TRUE) + (object Attribute + tool "Ada83" + name "ClassParameterName" + value "This") + (object Attribute + tool "Ada83" + name "DefaultConstructorKind" + value ("ConstructorKindSet" 199)) + (object Attribute + tool "Ada83" + name "DefaultConstructorName" + value "Create") + (object Attribute + tool "Ada83" + name "InlineDefaultConstructor" + value FALSE) + (object Attribute + tool "Ada83" + name "CopyConstructorKind" + value ("ConstructorKindSet" 199)) + (object Attribute + tool "Ada83" + name "CopyConstructorName" + value "Copy") + (object Attribute + tool "Ada83" + name "InlineCopyConstructor" + value FALSE) + (object Attribute + tool "Ada83" + name "DestructorName" + value "Free") + (object Attribute + tool "Ada83" + name "InlineDestructor" + value FALSE) + (object Attribute + tool "Ada83" + name "ClassEqualityOperation" + value "") + (object Attribute + tool "Ada83" + name "HandleEqualityOperation" + value "") + (object Attribute + tool "Ada83" + name "InlineEquality" + value FALSE) + (object Attribute + tool "Ada83" + name "IsTask" + value FALSE) + (object Attribute + tool "Ada83" + name "Representation" + value (value Text "")) + (object Attribute + tool "Ada83" + name "ImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Public" + value 45) + (object Attribute + tool "Ada83" + name "Private" + value 43) + (object Attribute + tool "Ada83" + name "LimitedPrivate" + value 200) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada83" + name "ConstructorKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Procedure" + value 202) + (object Attribute + tool "Ada83" + name "Function" + value 199) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada83" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Generate" + value TRUE) + (object Attribute + tool "Ada83" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "Ada83" + name "FileName" + value "") + (object Attribute + tool "Ada83" + name "ReturnType" + value "") + (object Attribute + tool "Ada83" + name "GenericFormalParameters" + value (value Text "")) + (object Attribute + tool "Ada83" + name "AdditionalWiths" + value (value Text "")))) + (object Attribute + tool "Ada83" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Generate" + value TRUE) + (object Attribute + tool "Ada83" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "Ada83" + name "FileName" + value "") + (object Attribute + tool "Ada83" + name "ReturnType" + value "") + (object Attribute + tool "Ada83" + name "AdditionalWiths" + value (value Text "")) + (object Attribute + tool "Ada83" + name "IsSubunit" + value FALSE))) + (object Attribute + tool "Ada83" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "CodeName" + value "") + (object Attribute + tool "Ada83" + name "SubprogramImplementation" + value ("SubprogramImplementationSet" 2)) + (object Attribute + tool "Ada83" + name "ClassParameterMode" + value ("ParameterModeSet" 203)) + (object Attribute + tool "Ada83" + name "Inline" + value FALSE) + (object Attribute + tool "Ada83" + name "EntryCode" + value (value Text "")) + (object Attribute + tool "Ada83" + name "ExitCode" + value (value Text "")) + (object Attribute + tool "Ada83" + name "Representation" + value (value Text "")) + (object Attribute + tool "Ada83" + name "SubprogramImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Body" + value 2) + (object Attribute + tool "Ada83" + name "Separate" + value 223) + (object Attribute + tool "Ada83" + name "Spec" + value 224))) + (object Attribute + tool "Ada83" + name "ParameterModeSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "In" + value 204) + (object Attribute + tool "Ada83" + name "Out" + value 205) + (object Attribute + tool "Ada83" + name "InOut" + value 203) + (object Attribute + tool "Ada83" + name "FunctionReturn" + value 206) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada83" + name "default__Has" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "CodeName" + value "") + (object Attribute + tool "Ada83" + name "NameIfUnlabeled" + value "The_${supplier}") + (object Attribute + tool "Ada83" + name "DataMemberName" + value "${relationship}") + (object Attribute + tool "Ada83" + name "GetName" + value "Get_${relationship}") + (object Attribute + tool "Ada83" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada83" + name "SetName" + value "Set_${relationship}") + (object Attribute + tool "Ada83" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada83" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada83" + name "InitialValue" + value "") + (object Attribute + tool "Ada83" + name "Variant" + value "") + (object Attribute + tool "Ada83" + name "ContainerGeneric" + value "List") + (object Attribute + tool "Ada83" + name "ContainerType" + value "") + (object Attribute + tool "Ada83" + name "ContainerDeclarations" + value (value Text "")) + (object Attribute + tool "Ada83" + name "SelectorName" + value "") + (object Attribute + tool "Ada83" + name "SelectorType" + value ""))) + (object Attribute + tool "Ada83" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "CodeName" + value "") + (object Attribute + tool "Ada83" + name "DataMemberName" + value "${attribute}") + (object Attribute + tool "Ada83" + name "GetName" + value "Get_${attribute}") + (object Attribute + tool "Ada83" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada83" + name "SetName" + value "Set_${attribute}") + (object Attribute + tool "Ada83" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada83" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada83" + name "InitialValue" + value "") + (object Attribute + tool "Ada83" + name "Variant" + value "") + (object Attribute + tool "Ada83" + name "Representation" + value (value Text "")))) + (object Attribute + tool "Ada83" + name "default__Association" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "NameIfUnlabeled" + value "The_${targetClass}") + (object Attribute + tool "Ada83" + name "GetName" + value "Get_${association}") + (object Attribute + tool "Ada83" + name "InlineGet" + value FALSE) + (object Attribute + tool "Ada83" + name "SetName" + value "Set_${association}") + (object Attribute + tool "Ada83" + name "InlineSet" + value FALSE) + (object Attribute + tool "Ada83" + name "GenerateAssociate" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada83" + name "AssociateName" + value "Associate") + (object Attribute + tool "Ada83" + name "InlineAssociate" + value FALSE) + (object Attribute + tool "Ada83" + name "GenerateDissociate" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada83" + name "DissociateName" + value "Dissociate") + (object Attribute + tool "Ada83" + name "InlineDissociate" + value FALSE) + (object Attribute + tool "Ada83" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Procedure" + value 202) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada83" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Function" + value 199) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada83" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "CodeName" + value "") + (object Attribute + tool "Ada83" + name "NameIfUnlabeled" + value "The_${targetClass}") + (object Attribute + tool "Ada83" + name "DataMemberName" + value "${target}") + (object Attribute + tool "Ada83" + name "GetName" + value "Get_${target}") + (object Attribute + tool "Ada83" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada83" + name "SetName" + value "Set_${target}") + (object Attribute + tool "Ada83" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada83" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada83" + name "InitialValue" + value "") + (object Attribute + tool "Ada83" + name "ContainerGeneric" + value "List") + (object Attribute + tool "Ada83" + name "ContainerType" + value "") + (object Attribute + tool "Ada83" + name "ContainerDeclarations" + value (value Text "")) + (object Attribute + tool "Ada83" + name "SelectorName" + value "") + (object Attribute + tool "Ada83" + name "SelectorType" + value "") + (object Attribute + tool "Ada83" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Procedure" + value 202) + (object Attribute + tool "Ada83" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada83" + name "default__Subsystem" + value (list Attribute_Set + (object Attribute + tool "Ada83" + name "Directory" + value "AUTO GENERATE"))) + (object Attribute + tool "Ada83" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Ada95" + name "propertyId" + value "838326200") + (object Attribute + tool "Ada95" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "SpecFileExtension" + value "1.ada") + (object Attribute + tool "Ada95" + name "SpecFileBackupExtension" + value "1.ad~") + (object Attribute + tool "Ada95" + name "SpecFileTemporaryExtension" + value "1.ad#") + (object Attribute + tool "Ada95" + name "BodyFileExtension" + value "2.ada") + (object Attribute + tool "Ada95" + name "BodyFileBackupExtension" + value "2.ad~") + (object Attribute + tool "Ada95" + name "BodyFileTemporaryExtension" + value "2.ad#") + (object Attribute + tool "Ada95" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "Ada95" + name "UseColonNotation" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateBodies" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateAccessorOperations" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateStandardOperations" + value TRUE) + (object Attribute + tool "Ada95" + name "ImplicitParameter" + value TRUE) + (object Attribute + tool "Ada95" + name "CommentWidth" + value 60) + (object Attribute + tool "Ada95" + name "StopOnError" + value FALSE) + (object Attribute + tool "Ada95" + name "ErrorLimit" + value 30) + (object Attribute + tool "Ada95" + name "UseFileName" + value FALSE) + (object Attribute + tool "Ada95" + name "Directory" + value "$ROSEADA95_SOURCE"))) + (object Attribute + tool "Ada95" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "CodeName" + value "") + (object Attribute + tool "Ada95" + name "TypeName" + value "Object") + (object Attribute + tool "Ada95" + name "TypeVisibility" + value ("TypeVisibilitySet" 43)) + (object Attribute + tool "Ada95" + name "TypeImplementation" + value ("TypeImplementationSet" 208)) + (object Attribute + tool "Ada95" + name "TypeControl" + value ("TypeControlSet" 225)) + (object Attribute + tool "Ada95" + name "TypeControlName" + value "Controlled_${type}") + (object Attribute + tool "Ada95" + name "TypeDefinition" + value (value Text "")) + (object Attribute + tool "Ada95" + name "RecordImplementation" + value ("RecordImplementationSet" 209)) + (object Attribute + tool "Ada95" + name "RecordKindPackageName" + value "${class}_Record_Kinds") + (object Attribute + tool "Ada95" + name "IsLimited" + value FALSE) + (object Attribute + tool "Ada95" + name "IsSubtype" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateAccessType" + value ("GenerateAccessTypeSet" 230)) + (object Attribute + tool "Ada95" + name "AccessTypeName" + value "Handle") + (object Attribute + tool "Ada95" + name "AccessTypeVisibility" + value ("TypeVisibilitySet" 45)) + (object Attribute + tool "Ada95" + name "AccessTypeDefinition" + value (value Text "")) + (object Attribute + tool "Ada95" + name "AccessClassWide" + value TRUE) + (object Attribute + tool "Ada95" + name "MaybeAliased" + value FALSE) + (object Attribute + tool "Ada95" + name "ParameterizedImplementation" + value ("ParameterizedImplementationSet" 11)) + (object Attribute + tool "Ada95" + name "ParentClassName" + value "Superclass") + (object Attribute + tool "Ada95" + name "EnumerationLiteralPrefix" + value "A_") + (object Attribute + tool "Ada95" + name "RecordFieldPrefix" + value "The_") + (object Attribute + tool "Ada95" + name "ArrayOfTypeName" + value "Array_Of_${type}") + (object Attribute + tool "Ada95" + name "AccessArrayOfTypeName" + value "Access_Array_Of_${type}") + (object Attribute + tool "Ada95" + name "ArrayOfAccessTypeName" + value "Array_Of_${access_type}") + (object Attribute + tool "Ada95" + name "AccessArrayOfAccessTypeName" + value "Access_Array_Of_${access_type}") + (object Attribute + tool "Ada95" + name "ArrayIndexDefinition" + value "Positive range <>") + (object Attribute + tool "Ada95" + name "GenerateAccessorOperations" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateStandardOperations" + value TRUE) + (object Attribute + tool "Ada95" + name "ImplicitParameter" + value TRUE) + (object Attribute + tool "Ada95" + name "ImplicitParameterName" + value "This") + (object Attribute + tool "Ada95" + name "GenerateDefaultConstructor" + value ("SubprogramKindSet" 199)) + (object Attribute + tool "Ada95" + name "DefaultConstructorName" + value "Create") + (object Attribute + tool "Ada95" + name "InlineDefaultConstructor" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateCopyConstructor" + value ("SubprogramKindSet" 199)) + (object Attribute + tool "Ada95" + name "CopyConstructorName" + value "Copy") + (object Attribute + tool "Ada95" + name "InlineCopyConstructor" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateDestructor" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "DestructorName" + value "Free") + (object Attribute + tool "Ada95" + name "InlineDestructor" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateTypeEquality" + value ("FunctionKindSet" 201)) + (object Attribute + tool "Ada95" + name "TypeEqualityName" + value "${quote}=${quote}") + (object Attribute + tool "Ada95" + name "InlineEquality" + value FALSE) + (object Attribute + tool "Ada95" + name "Representation" + value (value Text "")) + (object Attribute + tool "Ada95" + name "TypeImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Tagged" + value 208) + (object Attribute + tool "Ada95" + name "Record" + value 210) + (object Attribute + tool "Ada95" + name "Mixin" + value 211) + (object Attribute + tool "Ada95" + name "Protected" + value 44) + (object Attribute + tool "Ada95" + name "Task" + value 212))) + (object Attribute + tool "Ada95" + name "RecordImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "SingleType" + value 209) + (object Attribute + tool "Ada95" + name "MultipleTypes" + value 213))) + (object Attribute + tool "Ada95" + name "ParameterizedImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Generic" + value 11) + (object Attribute + tool "Ada95" + name "Unconstrained" + value 214))) + (object Attribute + tool "Ada95" + name "TypeVisibilitySet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Public" + value 45) + (object Attribute + tool "Ada95" + name "Private" + value 43))) + (object Attribute + tool "Ada95" + name "SubprogramKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "TypeControlSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "None" + value 225) + (object Attribute + tool "Ada95" + name "InitializationOnly" + value 226) + (object Attribute + tool "Ada95" + name "AssignmentFinalizationOnly" + value 227) + (object Attribute + tool "Ada95" + name "All" + value 228))) + (object Attribute + tool "Ada95" + name "GenerateAccessTypeSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Always" + value 229) + (object Attribute + tool "Ada95" + name "Auto" + value 230))))) + (object Attribute + tool "Ada95" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Generate" + value TRUE) + (object Attribute + tool "Ada95" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "Ada95" + name "FileName" + value "") + (object Attribute + tool "Ada95" + name "ReturnType" + value "") + (object Attribute + tool "Ada95" + name "GenericFormalParameters" + value (value Text "")) + (object Attribute + tool "Ada95" + name "AdditionalWiths" + value (value Text "")) + (object Attribute + tool "Ada95" + name "IsPrivate" + value FALSE))) + (object Attribute + tool "Ada95" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Generate" + value TRUE) + (object Attribute + tool "Ada95" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "Ada95" + name "FileName" + value "") + (object Attribute + tool "Ada95" + name "ReturnType" + value "") + (object Attribute + tool "Ada95" + name "AdditionalWiths" + value (value Text "")) + (object Attribute + tool "Ada95" + name "IsSubunit" + value FALSE))) + (object Attribute + tool "Ada95" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "CodeName" + value "") + (object Attribute + tool "Ada95" + name "SubprogramImplementation" + value ("SubprogramImplementationSet" 2)) + (object Attribute + tool "Ada95" + name "Renames" + value "") + (object Attribute + tool "Ada95" + name "GenerateOverriding" + value TRUE) + (object Attribute + tool "Ada95" + name "ImplicitParameterMode" + value ("ParameterModeSet" 203)) + (object Attribute + tool "Ada95" + name "ImplicitParameterClassWide" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateAccessOperation" + value FALSE) + (object Attribute + tool "Ada95" + name "Inline" + value FALSE) + (object Attribute + tool "Ada95" + name "EntryCode" + value (value Text "")) + (object Attribute + tool "Ada95" + name "ExitCode" + value (value Text "")) + (object Attribute + tool "Ada95" + name "EntryBarrierCondition" + value "True") + (object Attribute + tool "Ada95" + name "Representation" + value (value Text "")) + (object Attribute + tool "Ada95" + name "SubprogramImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Abstract" + value 221) + (object Attribute + tool "Ada95" + name "Body" + value 2) + (object Attribute + tool "Ada95" + name "Renaming" + value 222) + (object Attribute + tool "Ada95" + name "Separate" + value 223) + (object Attribute + tool "Ada95" + name "Spec" + value 224))) + (object Attribute + tool "Ada95" + name "ParameterModeSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "In" + value 204) + (object Attribute + tool "Ada95" + name "Out" + value 205) + (object Attribute + tool "Ada95" + name "InOut" + value 203) + (object Attribute + tool "Ada95" + name "Access" + value 220) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada95" + name "default__Has" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "CodeName" + value "") + (object Attribute + tool "Ada95" + name "NameIfUnlabeled" + value "The_${supplier}") + (object Attribute + tool "Ada95" + name "RecordFieldImplementation" + value ("RecordFieldImplementationSet" 216)) + (object Attribute + tool "Ada95" + name "RecordFieldName" + value "${relationship}") + (object Attribute + tool "Ada95" + name "GenerateGet" + value ("FunctionKindSet" 199)) + (object Attribute + tool "Ada95" + name "GenerateAccessGet" + value ("FunctionKindSet" 201)) + (object Attribute + tool "Ada95" + name "GetName" + value "Get_${relationship}") + (object Attribute + tool "Ada95" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateSet" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "GenerateAccessSet" + value ("ProcedureKindSet" 201)) + (object Attribute + tool "Ada95" + name "SetName" + value "Set_${relationship}") + (object Attribute + tool "Ada95" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada95" + name "IsAliased" + value FALSE) + (object Attribute + tool "Ada95" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada95" + name "InitialValue" + value "") + (object Attribute + tool "Ada95" + name "ContainerImplementation" + value ("ContainerImplementationSet" 217)) + (object Attribute + tool "Ada95" + name "ContainerGeneric" + value "List") + (object Attribute + tool "Ada95" + name "ContainerType" + value "") + (object Attribute + tool "Ada95" + name "ContainerDeclarations" + value (value Text "")) + (object Attribute + tool "Ada95" + name "SelectorName" + value "") + (object Attribute + tool "Ada95" + name "SelectorType" + value "") + (object Attribute + tool "Ada95" + name "RecordFieldImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Component" + value 216) + (object Attribute + tool "Ada95" + name "Discriminant" + value 218) + (object Attribute + tool "Ada95" + name "AccessDiscriminant" + value 219))) + (object Attribute + tool "Ada95" + name "ContainerImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Array" + value 217) + (object Attribute + tool "Ada95" + name "Generic" + value 11))) + (object Attribute + tool "Ada95" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada95" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "CodeName" + value "") + (object Attribute + tool "Ada95" + name "RecordFieldImplementation" + value ("RecordFieldImplementationSet" 216)) + (object Attribute + tool "Ada95" + name "RecordFieldName" + value "${attribute}") + (object Attribute + tool "Ada95" + name "GenerateGet" + value ("FunctionKindSet" 199)) + (object Attribute + tool "Ada95" + name "GenerateAccessGet" + value ("FunctionKindSet" 201)) + (object Attribute + tool "Ada95" + name "GetName" + value "Get_${attribute}") + (object Attribute + tool "Ada95" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateSet" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "GenerateAccessSet" + value ("ProcedureKindSet" 201)) + (object Attribute + tool "Ada95" + name "SetName" + value "Set_${attribute}") + (object Attribute + tool "Ada95" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada95" + name "IsAliased" + value FALSE) + (object Attribute + tool "Ada95" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada95" + name "InitialValue" + value "") + (object Attribute + tool "Ada95" + name "Representation" + value (value Text "")) + (object Attribute + tool "Ada95" + name "RecordFieldImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Component" + value 216) + (object Attribute + tool "Ada95" + name "Discriminant" + value 218) + (object Attribute + tool "Ada95" + name "AccessDiscriminant" + value 219))) + (object Attribute + tool "Ada95" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada95" + name "default__Association" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "NameIfUnlabeled" + value "The_${targetClass}") + (object Attribute + tool "Ada95" + name "GenerateGet" + value ("FunctionKindSet" 199)) + (object Attribute + tool "Ada95" + name "GetName" + value "Get_${association}") + (object Attribute + tool "Ada95" + name "InlineGet" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateSet" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "SetName" + value "Set_${association}") + (object Attribute + tool "Ada95" + name "InlineSet" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateAssociate" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "AssociateName" + value "Associate") + (object Attribute + tool "Ada95" + name "InlineAssociate" + value FALSE) + (object Attribute + tool "Ada95" + name "GenerateDissociate" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "DissociateName" + value "Dissociate") + (object Attribute + tool "Ada95" + name "InlineDissociate" + value FALSE) + (object Attribute + tool "Ada95" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada95" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "CodeName" + value "") + (object Attribute + tool "Ada95" + name "NameIfUnlabeled" + value "The_${targetClass}") + (object Attribute + tool "Ada95" + name "RecordFieldImplementation" + value ("RecordFieldImplementationSet" 216)) + (object Attribute + tool "Ada95" + name "RecordFieldName" + value "${target}") + (object Attribute + tool "Ada95" + name "GenerateGet" + value ("FunctionKindSet" 199)) + (object Attribute + tool "Ada95" + name "GenerateAccessGet" + value ("FunctionKindSet" 201)) + (object Attribute + tool "Ada95" + name "GetName" + value "Get_${target}") + (object Attribute + tool "Ada95" + name "InlineGet" + value TRUE) + (object Attribute + tool "Ada95" + name "GenerateSet" + value ("ProcedureKindSet" 202)) + (object Attribute + tool "Ada95" + name "GenerateAccessSet" + value ("ProcedureKindSet" 201)) + (object Attribute + tool "Ada95" + name "SetName" + value "Set_${target}") + (object Attribute + tool "Ada95" + name "InlineSet" + value TRUE) + (object Attribute + tool "Ada95" + name "IsAliased" + value FALSE) + (object Attribute + tool "Ada95" + name "IsConstant" + value FALSE) + (object Attribute + tool "Ada95" + name "InitialValue" + value "") + (object Attribute + tool "Ada95" + name "ContainerImplementation" + value ("ContainerImplementationSet" 217)) + (object Attribute + tool "Ada95" + name "ContainerGeneric" + value "List") + (object Attribute + tool "Ada95" + name "ContainerType" + value "") + (object Attribute + tool "Ada95" + name "ContainerDeclarations" + value (value Text "")) + (object Attribute + tool "Ada95" + name "SelectorName" + value "") + (object Attribute + tool "Ada95" + name "SelectorType" + value "") + (object Attribute + tool "Ada95" + name "ProcedureKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Procedure" + value 202) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))) + (object Attribute + tool "Ada95" + name "RecordFieldImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Component" + value 216) + (object Attribute + tool "Ada95" + name "Discriminant" + value 218) + (object Attribute + tool "Ada95" + name "AccessDiscriminant" + value 219))) + (object Attribute + tool "Ada95" + name "ContainerImplementationSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Array" + value 217) + (object Attribute + tool "Ada95" + name "Generic" + value 11))) + (object Attribute + tool "Ada95" + name "FunctionKindSet" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Function" + value 199) + (object Attribute + tool "Ada95" + name "DoNotCreate" + value 201))))) + (object Attribute + tool "Ada95" + name "default__Subsystem" + value (list Attribute_Set + (object Attribute + tool "Ada95" + name "Directory" + value "AUTO GENERATE"))) + (object Attribute + tool "Ada95" + name "HiddenTool" + value FALSE) + (object Attribute + tool "CORBA" + name "propertyId" + value "809135966") + (object Attribute + tool "CORBA" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "CORBA" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "CORBA" + name "IncludePath" + value "") + (object Attribute + tool "CORBA" + name "StopOnError" + value TRUE) + (object Attribute + tool "CORBA" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "BuiltIn" + value 100) + (object Attribute + tool "CORBA" + name "WindowsShell" + value 101))))) + (object Attribute + tool "CORBA" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "ConstValue" + value "") + (object Attribute + tool "CORBA" + name "ImplementationType" + value ""))) + (object Attribute + tool "CORBA" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "CORBA" + name "CmIdentification" + value (value Text " %X% %Q% %Z% %W%")) + (object Attribute + tool "CORBA" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "CORBA" + name "InclusionProtectionSymbol" + value "AUTO GENERATE"))) + (object Attribute + tool "CORBA" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "AdditionalIncludes" + value (value Text "")) + (object Attribute + tool "CORBA" + name "CmIdentification" + value (value Text " %X% %Q% %Z% %W%")) + (object Attribute + tool "CORBA" + name "CopyrightNotice" + value (value Text "")) + (object Attribute + tool "CORBA" + name "InclusionProtectionSymbol" + value "AUTO GENERATE"))) + (object Attribute + tool "CORBA" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "Context" + value "") + (object Attribute + tool "CORBA" + name "OperationIsOneWay" + value FALSE))) + (object Attribute + tool "CORBA" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "CaseSpecifier" + value "") + (object Attribute + tool "CORBA" + name "IsReadOnly" + value FALSE) + (object Attribute + tool "CORBA" + name "Order" + value ""))) + (object Attribute + tool "CORBA" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "ArrayDimensions" + value "") + (object Attribute + tool "CORBA" + name "CaseSpecifier" + value "") + (object Attribute + tool "CORBA" + name "GenerateForwardReference" + value FALSE) + (object Attribute + tool "CORBA" + name "IsReadOnly" + value FALSE) + (object Attribute + tool "CORBA" + name "Order" + value "") + (object Attribute + tool "CORBA" + name "BoundedRoleType" + value ("AssocTypeSet" 47)) + (object Attribute + tool "CORBA" + name "AssocTypeSet" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "Array" + value 24) + (object Attribute + tool "CORBA" + name "Sequence" + value 47))))) + (object Attribute + tool "CORBA" + name "default__Uses" + value (list Attribute_Set + (object Attribute + tool "CORBA" + name "GenerateForwardReference" + value FALSE))) + (object Attribute + tool "CORBA" + name "HiddenTool" + value FALSE) + (object Attribute + tool "DDL" + name "propertyId" + value "809135966") + (object Attribute + tool "DDL" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "Directory" + value "AUTO GENERATE") + (object Attribute + tool "DDL" + name "DataBase" + value ("DataBaseSet" 800)) + (object Attribute + tool "DDL" + name "DataBaseSet" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "ANSI" + value 800) + (object Attribute + tool "DDL" + name "Oracle" + value 801) + (object Attribute + tool "DDL" + name "SQLServer" + value 802) + (object Attribute + tool "DDL" + name "Sybase" + value 803) + (object Attribute + tool "DDL" + name "Watcom" + value 804))) + (object Attribute + tool "DDL" + name "PrimaryKeyColumnName" + value "Id") + (object Attribute + tool "DDL" + name "PrimaryKeyColumnType" + value "NUMBER(5)") + (object Attribute + tool "DDL" + name "ViewName" + value "V_") + (object Attribute + tool "DDL" + name "TableName" + value "T_") + (object Attribute + tool "DDL" + name "InheritSuffix" + value "_V") + (object Attribute + tool "DDL" + name "DropClause" + value FALSE) + (object Attribute + tool "DDL" + name "BaseViews" + value FALSE) + (object Attribute + tool "DDL" + name "DDLScriptFilename" + value "DDL1.SQL"))) + (object Attribute + tool "DDL" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "DDL" + name "ColumnType" + value "VARCHAR") + (object Attribute + tool "DDL" + name "Length" + value "") + (object Attribute + tool "DDL" + name "NullsOK" + value TRUE) + (object Attribute + tool "DDL" + name "PrimaryKey" + value FALSE) + (object Attribute + tool "DDL" + name "Unique" + value FALSE) + (object Attribute + tool "DDL" + name "CompositeUnique" + value FALSE) + (object Attribute + tool "DDL" + name "CheckConstraint" + value ""))) + (object Attribute + tool "DDL" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Java" + name "propertyId" + value "809135966") + (object Attribute + tool "Java" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "Java" + name "RootDir" + value "") + (object Attribute + tool "Java" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "Java" + name "StopOnError" + value FALSE) + (object Attribute + tool "Java" + name "UsePrefixes" + value FALSE) + (object Attribute + tool "Java" + name "AutoSync" + value FALSE) + (object Attribute + tool "Java" + name "ShowCodegenDlg" + value FALSE) + (object Attribute + tool "Java" + name "JavadocDefaultAuthor" + value "") + (object Attribute + tool "Java" + name "JavadocDefaultVersion" + value "") + (object Attribute + tool "Java" + name "JavadocDefaultSince" + value "") + (object Attribute + tool "Java" + name "JavadocNumAsterisks" + value 0) + (object Attribute + tool "Java" + name "MaxNumChars" + value 80) + (object Attribute + tool "Java" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "Java" + name "VM" + value ("VMType" 200)) + (object Attribute + tool "Java" + name "ClassPath" + value "") + (object Attribute + tool "Java" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "Java" + name "BuiltIn" + value 100) + (object Attribute + tool "Java" + name "WindowsShell" + value 101))) + (object Attribute + tool "Java" + name "VMType" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Sun" + value 200) + (object Attribute + tool "Java" + name "Microsoft" + value 201) + (object Attribute + tool "Java" + name "IBM" + value 202))) + (object Attribute + tool "Java" + name "InstanceVariablePrefix" + value "m_") + (object Attribute + tool "Java" + name "ClassVariablePrefix" + value "s_") + (object Attribute + tool "Java" + name "DefaultAttributeDataType" + value "int") + (object Attribute + tool "Java" + name "DefaultOperationReturnType" + value "void") + (object Attribute + tool "Java" + name "NoClassCustomDlg" + value FALSE) + (object Attribute + tool "Java" + name "GlobalImports" + value (value Text "")) + (object Attribute + tool "Java" + name "OpenBraceClassStyle" + value TRUE) + (object Attribute + tool "Java" + name "OpenBraceMethodStyle" + value TRUE) + (object Attribute + tool "Java" + name "UseTabs" + value FALSE) + (object Attribute + tool "Java" + name "UseSpaces" + value TRUE) + (object Attribute + tool "Java" + name "SpacingItems" + value 3) + (object Attribute + tool "Java" + name "RoseDefaultCommentStyle" + value TRUE) + (object Attribute + tool "Java" + name "AsteriskCommentStyle" + value FALSE) + (object Attribute + tool "Java" + name "JavaCommentStyle" + value FALSE) + (object Attribute + tool "Java" + name "JavadocAuthor" + value FALSE) + (object Attribute + tool "Java" + name "JavadocSince" + value FALSE) + (object Attribute + tool "Java" + name "JavadocVersion" + value FALSE))) + (object Attribute + tool "Java" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Static" + value FALSE) + (object Attribute + tool "Java" + name "GenerateDefaultConstructor" + value TRUE) + (object Attribute + tool "Java" + name "ConstructorIs" + value ("Ctor_Set" 62)) + (object Attribute + tool "Java" + name "Ctor_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "public" + value 62) + (object Attribute + tool "Java" + name "protected" + value 63) + (object Attribute + tool "Java" + name "private" + value 64) + (object Attribute + tool "Java" + name "package" + value 65))) + (object Attribute + tool "Java" + name "GenerateFinalizer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateStaticInitializer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateInstanceInitializer" + value FALSE) + (object Attribute + tool "Java" + name "GenerateCode" + value TRUE) + (object Attribute + tool "Java" + name "DisableAutoSync" + value FALSE))) + (object Attribute + tool "Java" + name "Default_Servlet__Class" + value (list Attribute_Set + (object Attribute + tool "Java" + name "ServletName" + value "") + (object Attribute + tool "Java" + name "ServletContextRef" + value FALSE) + (object Attribute + tool "Java" + name "IsSingleThread" + value FALSE) + (object Attribute + tool "Java" + name "ServletInitParameter" + value "") + (object Attribute + tool "Java" + name "ServletInitParameterNames" + value FALSE) + (object Attribute + tool "Java" + name "ServletIsSecure" + value FALSE) + (object Attribute + tool "Java" + name "ServletRequestDispatcher" + value FALSE) + (object Attribute + tool "Java" + name "ServletRequestDispatcherPath" + value "") + (object Attribute + tool "Java" + name "DispatcherInclude" + value FALSE) + (object Attribute + tool "Java" + name "DispatcherForward" + value FALSE) + (object Attribute + tool "Java" + name "ServletSecurityRoles" + value "") + (object Attribute + tool "Java" + name "ServletgetInfo" + value ""))) + (object Attribute + tool "Java" + name "Http_Servlet__Class" + value (list Attribute_Set + (object Attribute + tool "Java" + name "ServletRequestAttribute" + value "") + (object Attribute + tool "Java" + name "ServletRequestAttributesNames" + value FALSE) + (object Attribute + tool "Java" + name "MethodForRequestAttributes" + value "") + (object Attribute + tool "Java" + name "ServletRequestParameter" + value "") + (object Attribute + tool "Java" + name "ServletRequestParameterNames" + value FALSE) + (object Attribute + tool "Java" + name "MethodForRequestParameters" + value "") + (object Attribute + tool "Java" + name "ServletHeader" + value "") + (object Attribute + tool "Java" + name "ServletHeaderNames" + value FALSE) + (object Attribute + tool "Java" + name "MethodForHeaders" + value "") + (object Attribute + tool "Java" + name "ServletIntHeader" + value FALSE) + (object Attribute + tool "Java" + name "ServletDateHeader" + value FALSE) + (object Attribute + tool "Java" + name "ServletCookie" + value FALSE) + (object Attribute + tool "Java" + name "MethodForCookie" + value "") + (object Attribute + tool "Java" + name "ServletContentType" + value "") + (object Attribute + tool "Java" + name "GenerateHTML" + value FALSE))) + (object Attribute + tool "Java" + name "Default_EJB__Class" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Generate_XML_DD" + value TRUE) + (object Attribute + tool "Java" + name "EJBCmpField" + value "") + (object Attribute + tool "Java" + name "EJBEnvironmentProperties" + value "") + (object Attribute + tool "Java" + name "EJBCnxFactory" + value "") + (object Attribute + tool "Java" + name "EJBReferences" + value "") + (object Attribute + tool "Java" + name "EJBSecurityRoles" + value "") + (object Attribute + tool "Java" + name "EJBNameInJAR" + value "") + (object Attribute + tool "Java" + name "EJBSessionType" + value ("EJBSessionType_Set" 200)) + (object Attribute + tool "Java" + name "EJBSessionType_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "" + value 200) + (object Attribute + tool "Java" + name "Stateless" + value 201) + (object Attribute + tool "Java" + name "Stateful" + value 202))) + (object Attribute + tool "Java" + name "EJBTransactionType" + value ("EJBTransactionType_Set" 211)) + (object Attribute + tool "Java" + name "EJBTransactionType_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Container" + value 211) + (object Attribute + tool "Java" + name "Bean" + value 212))) + (object Attribute + tool "Java" + name "EJBPersistenceType" + value ("EJBPersistenceType_Set" 220)) + (object Attribute + tool "Java" + name "EJBPersistenceType_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "" + value 220) + (object Attribute + tool "Java" + name "Bean" + value 221) + (object Attribute + tool "Java" + name "Container" + value 222))) + (object Attribute + tool "Java" + name "EJBReentrant" + value FALSE) + (object Attribute + tool "Java" + name "BMP_Extend_CMP" + value FALSE))) + (object Attribute + tool "Java" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "Java" + name "CmIdentification" + value (value Text "")) + (object Attribute + tool "Java" + name "CopyrightNotice" + value (value Text "")))) + (object Attribute + tool "Java" + name "default__Module-Body" + value (list Attribute_Set + (object Attribute + tool "Java" + name "CmIdentification" + value (value Text "")) + (object Attribute + tool "Java" + name "CopyrightNotice" + value (value Text "")))) + (object Attribute + tool "Java" + name "default__Operation" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Abstract" + value FALSE) + (object Attribute + tool "Java" + name "Static" + value FALSE) + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Native" + value FALSE) + (object Attribute + tool "Java" + name "Synchronized" + value FALSE))) + (object Attribute + tool "Java" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Transient" + value FALSE) + (object Attribute + tool "Java" + name "Volatile" + value FALSE) + (object Attribute + tool "Java" + name "PropertyType" + value ("BeanProperty_Set" 71)) + (object Attribute + tool "Java" + name "BeanProperty_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Not A Property" + value 71) + (object Attribute + tool "Java" + name "Simple" + value 72) + (object Attribute + tool "Java" + name "Bound" + value 73) + (object Attribute + tool "Java" + name "Constrained" + value 74))) + (object Attribute + tool "Java" + name "IndividualChangeMgt" + value FALSE) + (object Attribute + tool "Java" + name "Read/Write" + value ("Read/Write_Set" 81)) + (object Attribute + tool "Java" + name "Read/Write_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Read & Write" + value 81) + (object Attribute + tool "Java" + name "Read Only" + value 82) + (object Attribute + tool "Java" + name "Write Only" + value 83))) + (object Attribute + tool "Java" + name "GenerateFullyQualifiedTypes" + value FALSE))) + (object Attribute + tool "Java" + name "default__Role" + value (list Attribute_Set + (object Attribute + tool "Java" + name "ContainerClass" + value "") + (object Attribute + tool "Java" + name "InitialValue" + value "") + (object Attribute + tool "Java" + name "Final" + value FALSE) + (object Attribute + tool "Java" + name "Transient" + value FALSE) + (object Attribute + tool "Java" + name "Volatile" + value FALSE) + (object Attribute + tool "Java" + name "PropertyType" + value ("BeanProperty_Set" 71)) + (object Attribute + tool "Java" + name "BeanProperty_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Not A Property" + value 71) + (object Attribute + tool "Java" + name "Simple" + value 72) + (object Attribute + tool "Java" + name "Bound" + value 73) + (object Attribute + tool "Java" + name "Constrained" + value 74))) + (object Attribute + tool "Java" + name "IndividualChangeMgt" + value FALSE) + (object Attribute + tool "Java" + name "Read/Write" + value ("Read/Write_Set" 81)) + (object Attribute + tool "Java" + name "Read/Write_Set" + value (list Attribute_Set + (object Attribute + tool "Java" + name "Read & Write" + value 81) + (object Attribute + tool "Java" + name "Read Only" + value 82) + (object Attribute + tool "Java" + name "Write Only" + value 83))) + (object Attribute + tool "Java" + name "GenerateFullyQualifiedTypes" + value FALSE) + (object Attribute + tool "Java" + name "IsNavigable" + value TRUE))) + (object Attribute + tool "Java" + name "HiddenTool" + value FALSE) + (object Attribute + tool "R2Editor" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Rose Model Integrator" + name "HiddenTool" + value FALSE) + (object Attribute + tool "Rose Web Publisher" + name "HiddenTool" + value FALSE) + (object Attribute + tool "XML_DTD" + name "propertyId" + value "809135966") + (object Attribute + tool "XML_DTD" + name "default__Project" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "CreateMissingDirectories" + value TRUE) + (object Attribute + tool "XML_DTD" + name "Editor" + value ("EditorType" 100)) + (object Attribute + tool "XML_DTD" + name "StopOnError" + value TRUE) + (object Attribute + tool "XML_DTD" + name "EditorType" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "BuiltIn" + value 100) + (object Attribute + tool "XML_DTD" + name "WindowsShell" + value 101))))) + (object Attribute + tool "XML_DTD" + name "default__Class" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "Entity_SystemID" + value "") + (object Attribute + tool "XML_DTD" + name "Entity_PublicID" + value "") + (object Attribute + tool "XML_DTD" + name "NotationValue" + value "") + (object Attribute + tool "XML_DTD" + name "InternalValue" + value "") + (object Attribute + tool "XML_DTD" + name "ParameterEntity" + value FALSE) + (object Attribute + tool "XML_DTD" + name "ExternalEntity" + value FALSE) + (object Attribute + tool "XML_DTD" + name "Notation_SystemID" + value "") + (object Attribute + tool "XML_DTD" + name "Notation_PublicID" + value ""))) + (object Attribute + tool "XML_DTD" + name "default__Attribute" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "DefaultDeclType" + value ""))) + (object Attribute + tool "XML_DTD" + name "default__Module-Spec" + value (list Attribute_Set + (object Attribute + tool "XML_DTD" + name "Assign All" + value FALSE) + (object Attribute + tool "XML_DTD" + name "ComponentPath" + value ""))) + (object Attribute + tool "XML_DTD" + name "HiddenTool" + value FALSE)) + quid "3E4D1E8B0079")) diff --git a/examples/advanced/lAr_calorimeter/lArCal.cc b/examples/advanced/lAr_calorimeter/lArCal.cc index 395aac3151..f36537b1c4 100644 --- a/examples/advanced/lAr_calorimeter/lArCal.cc +++ b/examples/advanced/lAr_calorimeter/lArCal.cc @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: lArCal.cc,v 1.3 2002/12/12 19:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: lArCal.cc,v 1.4 2002/12/17 15:53:08 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -53,11 +53,19 @@ #include "FCALTestbeamSetup.hh" #include "FCALPhysicsList.hh" +#include "FCALSteppingVerbose.hh" #include "FCALPrimaryGeneratorAction.hh" + + +#ifdef G4ANALYSIS_USE + + #include "FCALRunAction.hh" #include "FCALTBEventAction.hh" #include "FCALSteppingAction.hh" -#include "FCALSteppingVerbose.hh" + +#endif + int main(int argc,char** argv) { @@ -95,11 +103,22 @@ int main(int argc,char** argv) { // set user action classes runManager->SetUserAction(new FCALPrimaryGeneratorAction()); - runManager->SetUserAction(new FCALRunAction); + +#ifdef G4ANALYSIS_USE + + FCALRunAction* RunAction = new FCALRunAction; + runManager ->SetUserAction(RunAction); + FCALSteppingAction* StepAction = new FCALSteppingAction; - runManager->SetUserAction(new FCALTBEventAction(StepAction)); runManager->SetUserAction(StepAction); + + // runManager->SetUserAction(new FCALRunAction); + runManager->SetUserAction(new FCALTBEventAction(StepAction,RunAction)); + + +#endif + //Initialize G4 kernel runManager->Initialize(); diff --git a/examples/advanced/lAr_calorimeter/lAr_calorimeter.ps b/examples/advanced/lAr_calorimeter/lAr_calorimeter.ps deleted file mode 100644 index ac1b31f866..0000000000 --- a/examples/advanced/lAr_calorimeter/lAr_calorimeter.ps +++ /dev/null @@ -1,1688 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%BoundingBox: 16.0 40.0 577.0 757.0 -%%Creator: pmendez using rose_exe -%%CreationDate: Thu Dec 12 18:00:07 2002 -%%Title: lAr_calorimeter.ps -%%EndComments - -%%BeginProlog -200 dict begin -%%BeginResource: Units and resolution -/cm { 300 mul 2.54 div } def -/PageHeight 26.9 cm def - /PageWidth 20.6 cm def -/LineSpace 0.05 cm def -%%EndResource - -%%BeginResource: PenBrush -/TmpPenArray 5 array def -/PenArray 5 array def - /lpStyle 0 def - /lpWidth 1 def - /lpRed 2 def - /lpGreen 3 def - /lpBlue 4 def -/BrushArray 6 array def - /lbStyle 0 def - /lbRed 1 def - /lbGreen 2 def - /lbBlue 3 def - /lbHatchStyle 4 def - /lpPattern 5 def -/BkColorArray 5 array def - /bkRed 0 def - /bkGreen 1 def - /bkBlue 2 def -/TextColorArray 3 array def - /TextRed 0 def - /TextGreen 1 def - /TextBlue 2 def -/PenDashArray [ [] [0.2 cm 0.1 cm] [0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm] [0.3 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm 0.1 cm] [] [] ] def - -/HatchStyleArray [ {HS_HORIZ} {HS_VERT} {HS_BDIAG} {HS_FDIAG} {HS_CROSS} {HS_DIAGCROSS} ] def - -/UpdatePen - {/PenArray exch def /PenWidthMemo PenArray lpWidth get def } def -/UpdateBrush - {/BrushArray exch def} def - -/UpdateBkColor - {/BkColorArray exch def} def - -/UpdateBkMode - {/BkMode exch def} def - -/UpdateTextColor - {/TextColorArray exch def} def - -/HS_HORIZ - {0 LineSpace PageHeight { /i exch def 0 i MyMatrix itransform moveto PageWidth i MyMatrix idtransform lineto } for stroke } def -/HS_VERT - {0 LineSpace PageWidth { /i exch def i 0 MyMatrix itransform moveto i PageHeight MyMatrix idtransform lineto } for stroke } def -/HS_CROSS - { HS_HORIZ HS_VERT } def - -/HS_FDIAG - {0 PageHeight sub LineSpace 3.5 mul PageWidth - { /i exch def i 0 MyMatrix itransform moveto i PageHeight add PageHeight - MyMatrix idtransform lineto } for stroke } def -/HS_BDIAG - {0 LineSpace 3.5 mul PageWidth PageHeight add - { /i exch def i 0 MyMatrix itransform moveto i PageHeight sub - PageHeight MyMatrix idtransform lineto } for stroke } def -/HS_DIAGCROSS - { HS_FDIAG HS_BDIAG } def - -/StrokeWithPen -{/join exch def /Penwidth PenArray lpWidth get def - Penwidth setlinewidth - Penwidth 1 le - { 0 setlinecap } - { Penwidth 5 gt { 1 setlinecap } { 2 setlinecap } ifelse } ifelse - join { Penwidth 5 le {0 setlinejoin 3 setmiterlimit} - { Penwidth 8 gt { 1 setlinejoin } { 2 setlinejoin } ifelse } ifelse } if - join LineJoin -1 ne and {SetLineJoin setlinejoin} if - join MiterLimit -1 ne and {MiterLimit miterlimit} if - PenArray lpRed get 255 div PenArray lpGreen get 255 div PenArray lpBlue get 255 div setrgbcolor - /PenStyle PenArray lpStyle get def - PenStyle 5 lt { PenDashArray PenStyle get 0 setdash stroke } - { PenStyle 6 eq { [] 0 setdash stroke } {newpath} ifelse } ifelse - join {0 setlinejoin 10 setmiterlimit} if } def - -/FillWithBkColor - { gsave BkColorArray bkRed get 255 div -BkColorArray bkGreen get 255 div BkColorArray bkBlue get -255 div setrgbcolor fill grestore } def - -/FillWithBrush - {/BrushStyle BrushArray lbStyle get def - BrushStyle 2 eq dup BrushStyle 0 eq or - { BrushArray lbRed get 255 div BrushArray lbGreen get 255 div BrushArray lbBlue get 255 div setrgbcolor - { gsave BkMode 2 eq {FillWithBkColor} if clip -PenArray lpWidth get PenWidthMemo dup 0 ne {div} {pop} ifelse setlinewidth - HatchStyleArray BrushArray lbHatchStyle get get exec - grestore } - { fill } ifelse } - {BrushStyle 3 eq {BrushArray 5 get p SHR - gsave clip /Tmp save def pfill Tmp restore grestore} {pop}ifelse - } ifelse } def - -/Fill&Stroke - { gsave FillWithBrush grestore StrokeWithPen } def - /patfont 10 dict def patfont begin - /FontType 3 def - /FontMatrix [1 0 0 -1 0 0] def - /FontBBox [0 0 16 16] - def/Encoding StandardEncoding def - /BuildChar{pop pop 16 0 0 0 16 16 - setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bind def - end -/p{/pat 32 string def - {}forall 0 1 7{dup 2 mul pat exch 3 index put dup - 2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index - put 2 mul 17 add pat exch 2 index put pop}for}bind def - -/AU{1 add cvi 15 or}bind def -/AD{1 sub cvi -16 and}bind def -/SHR{pathbbox -AU/Y1 exch def AU/X1 exch def AD/Y0 exch def AD/X0 exch def}bind def - -/M /moveto load def - -/pfill{/PatFont patfont -definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch -show}for pop}for}bind def -%%EndResource - -%%BeginResource: LineTo -/LineTo - { /y exch def /x exch def - moveto x y lineto currentpoint false StrokeWithPen } def -%%EndResource - -%%BeginResource: RectanglePath -/RectanglePath -{ -3 index 3 index moveto 3 index 1 index lineto -1 index 1 index lineto 1 index 3 index lineto -3 index 3 index lineto pop pop pop pop closepath} def -/RectanglePathBackwards -{ -3 index 3 index moveto 1 index 3 index lineto -1 index 1 index lineto 3 index 1 index lineto -3 index 3 index lineto pop pop pop pop closepath} def -%%EndResource - -%%BeginResource: EllipticPath -/EllipticPath -{matrix currentmatrix dup 3 index 6 index sub 2 div -3 index 6 index sub 2 div -7 index 2 index add -7 index 2 index add -matrix translate 3 1 roll matrix scale -exch matrix concatmatrix exch matrix concatmatrix setmatrix -1 0 moveto 0 0 1 360 0 arcn closepath -setmatrix -pop pop pop pop -}def -/EllipticPathBackwards -{matrix currentmatrix dup 3 index 6 index sub 2 div -3 index 6 index sub 2 div -7 index 2 index add -7 index 2 index add -matrix translate 3 1 roll matrix scale -exch matrix concatmatrix exch matrix concatmatrix setmatrix -1 0 moveto 0 0 1 0 360 arc closepath -setmatrix -pop pop pop pop -}def -%%EndResource - -%%BeginResource: Rectangle -/RectangleOutLine -{/y2 exch def /x2 exch def /y1 exch def /x1 exch def - newpath - x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto - closepath - false StrokeWithPen } def - -/FillRectangle -{/y2 exch def /x2 exch def /y1 exch def /x1 exch def - /MyMatrix matrix def - newpath - x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto - closepath - FillWithBrush} def -/FrameRectangle -{/y2 exch def /x2 exch def /y1 exch def /x1 exch def - /MyMatrix matrix def - /x1 x1 0.5 sub def /x2 x2 0.5 add def /y2 y2 0.5 sub def /y1 y1 0.5 add def newpath - x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto x1 y1 lineto - /x1 x1 1 add def /x2 x2 1 sub def /y2 y2 1 add def /y1 y1 1 sub def - x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto - closepath - FillWithBrush} def -%%EndResource - -%%BeginResource: Polygon -/Polygon -{/MyMatrix matrix def - newpath PolylineArray PolylineMode 1 sub get exec closepath - true Fill&Stroke } def - -/FillPolygon -{/MyMatrix matrix def - newpath PolylineArray PolylineMode 1 sub get exec closepath - FillWithBrush } def -%%EndResource - -%%BeginResource: Polyline -/PolylineArray [ {DrawPolyline} {Bezier} ] def -/Polyline -{PolylineArray PolylineMode 1 sub get exec pop pop currentpoint true StrokeWithPen } def -/Bezier -{/nbPoint exch def /nbCurves nbPoint 1 sub 3 idiv def /nbLeft nbPoint 1 sub nbCurves 3 mul sub def - moveto 1 1 nbCurves { pop 4 2 roll 6 -2 roll curveto } for - nbLeft 1 eq { lineto } {nbLeft 2 eq { 4 2 roll 2 copy curveto } if } ifelse - } def -/DrawPolyline -{/nbPoint exch def moveto - 1 1 nbPoint 1 sub { pop lineto } for - } def - -%%EndResource - -%%BeginResource: Ellipse -/Ellipse -{gsave - /Dy exch def /Dx exch def /Cy exch def /Cx exch def - Cx Cy translate Dx Dy scale - /MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def - newpath 0 0 1 0 360 arc closepath - 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate - false Fill&Stroke - grestore } def - -/FillEllipse -{gsave - /Dy exch def /Dx exch def /Cy exch def /Cx exch def - Cx Cy translate Dx Dy scale - /MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def - newpath 0 0 1 0 360 arc closepath - FillWithBrush - grestore } def -%%EndResource - -%%BeginResource: Arc -/Arc -{ gsave - /ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def - Cx Cy translate Dx Dy - scale 1 -1 scale - newpath - ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse - 1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate - false StrokeWithPen - grestore } def -%%EndResource - -%%BeginResource: Pie -/Pie -{gsave - /ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def - Cx Cy translate Dx Dy scale - 1 -1 scale - /MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def - newpath 0 0 moveto ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath - 1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate - true Fill&Stroke - grestore } def -%%EndResource - -%%BeginResource: Chord -/Chord -{gsave - /ang1 exch def /ang2 exch def /Dy exch def /Dx exch def /Cy exch def /Cx exch def - Cx Cy translate Dx Dy scale - 1 -1 scale - /MyMatrix Dx Dy matrix scale Cx Cy matrix translate matrix concatmatrix def - newpath ClockWise {0 0 1 ang2 ang1 narc} {0 0 1 ang2 ang1 arc} ifelse closepath - 1 -1 scale 1 Dx div 1 Dy div scale 0 Cx sub 0 Cy sub translate - true Fill&Stroke - grestore } def -%%EndResource - -%%BeginResource: RoundRectangle - /min {1 index 1 index le { pop} {exch pop} ifelse } def -/RoundRectangle -{/r2 exch def /r1 exch def /y2 exch def /x2 exch def /y1 exch def /x1 exch def - y2 2 div r2 min cvi /r2 exch def - x2 2 div r1 min cvi /r1 exch def - /width x2 r1 idiv def /height y2 r2 idiv def - gsave - x1 y1 translate r1 r2 scale - 1 -1 scale - /MyMatrix r1 r2 matrix scale x1 y1 matrix translate matrix concatmatrix def - newpath - 1 1 1 180 270 arc - width 1 sub 0 lineto width 1 sub 1 1 270 0 arc - width height 1 sub lineto width 1 sub height 1 sub 1 0 90 arc - 1 height lineto 1 height 1 sub 1 90 180 arc - closepath - PenArray TmpPenArray copy pop - PenArray lpWidth PenArray lpWidth get r1 abs r2 abs add 2 div div put - false Fill&Stroke - TmpPenArray PenArray copy pop - grestore } def -%%EndResource - -%%BeginResource: TextOut -/TextOut -{TextColorArray 0 get 255 div TextColorArray 1 get 255 div TextColorArray 2 get 255 div setrgbcolor -gsave translate rotate -0 0 moveto /expwidth exch def dup stringwidth pop expwidth exch div -1 scale show pop pop currentpoint grestore} def -%%EndResource - -%%BeginResource: MwSetFont -/EncodingDict 256 dict def -EncodingDict begin -0 [/.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /.notdef /.notdef /.notdef /.notdef - /space /exclam /quotedbl /numbersign - /dollar /percent /ampersand /quotesingle - /parenleft /parenright /asterisk /plus - /comma /hyphen /period /slash /zero /one - /two /three /four /five /six /seven - /eight /nine /colon /semicolon /less - /equal /greater /question /at /A /B /C - /D /E /F /G /H /I /J /K /L /M /N /O /P - /Q /R /S /T /U /V /W /X /Y /Z - /bracketleft /backslash /bracketright - /asciicircum /underscore /grave /a - /b /c /d /e /f /g /h /i /j /k /l /m /n - /o /p /q /r /s /t /u /v /w /x /y /z - /braceleft /bar /braceright /asciitilde - /.notdef /.notdef /.notdef /quotesinglbase - /florin /quotedblbase /ellipsis /dagger - /daggerdbl /circumflex /perthousand /Scaron - /guilsinglleft /OE /.notdef /.notdef - /.notdef /.notdef /quoteleft /quoteright - /quotedblleft /quotedblright /bullet /endash - /emdash /tilde /trademark /scaron - /guilsinglright /oe /.notdef /.notdef - /Ydieresis /.notdef /exclamdown /cent - /sterling /currency /yen /brokenbar - /section /dieresis /copyright - /ordfeminine /guillemotleft /logicalnot - /hyphen /registered /macron /degree - /plusminus /twosuperior /threesuperior - /acute /mu /paragraph /periodcentered - /cedilla /onesuperior /ordmasculine - /guillemotright /onequarter /onehalf - /threequarters /questiondown /Agrave - /Aacute /Acircumflex /Atilde /Adieresis - /Aring /AE /Ccedilla /Egrave /Eacute - /Ecircumflex /Edieresis /Igrave /Iacute - /Icircumflex /Idieresis /Eth /Ntilde - /Ograve /Oacute /Ocircumflex /Otilde - /Odieresis /multiply /Oslash /Ugrave - /Uacute /Ucircumflex /Udieresis /Yacute - /Thorn /germandbls /agrave /aacute - /acircumflex /atilde /adieresis /aring - /ae /ccedilla /egrave /eacute - /ecircumflex /edieresis /igrave /iacute - /icircumflex /idieresis /eth /ntilde - /ograve /oacute /ocircumflex /otilde - /odieresis /divide /oslash /ugrave - /uacute /ucircumflex /udieresis /yacute - /thorn /ydieresis] def -end -/fntdict 100 dict def - -/MwScaleAndSetFont -{ - 2 index findfont dup length dict begin - {1 index /FID ne {def} {pop pop} ifelse} forall - dup EncodingDict exch known - {EncodingDict exch get /Encoding exch def} {pop} ifelse - currentdict end /font0 exch definefont - exch scalefont setfont pop -} def - -/MwSetFont -{ - % look in cache of scaled fonts - 1 index /askedsize exch def - 2 index /askedname exch def - fntdict askedname known - { % font name found in cache - what about the size - /fntszdict fntdict askedname get def - fntszdict askedsize known - { - % font size found in cache - fntszdict askedsize get setfont pop pop pop - } - { - MwScaleAndSetFont - fntszdict askedsize currentfont put - } - ifelse - } - { % not found in cache - MwScaleAndSetFont - /fntszdict 200 dict def - fntszdict askedsize currentfont put - fntdict askedname fntszdict put - } - ifelse -} def -%%EndResource - -%%BeginResource: DisplayBB -/DisplayBB {gsave initgraphics 72 300 div 72 300 div scale 0 3300 translate -1 -1 scale 1 setlinewidth 1 0 0 setrgbcolor -/y2 exch def /x2 exch def /y1 exch def /x1 exch def -newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath -stroke grestore } def -%%EndResource - -%%EndProlog - -%%BeginSetup -%%EndSetup - -%%Page: -%%BeginPageSetup -/ClockWise false def /LineJoin -1 def /MiterLimit -1 def /PolylineMode 1 def /LineCap 0 def -[0 0 0 0 0] UpdatePen -[0 255 255 255 0 <>] UpdateBrush -[0 0 0] UpdateTextColor -[255 255 255] UpdateBkColor -2 UpdateBkMode -0 0 - -% All the numbers (for positions, length or font size) given -% in this file are expressed in pixels, but interpreted by -% Postscript as points (1/72 inch)! -% -->so scale accordingly! -72 300 div 72 300 div scale - -% So that (0, 0) is at top-left corner of paper sheet (takes postscript scaling into account too) -0 3300 translate -1 -1 scale - -/Courier 38 0 MwSetFont -gstate /Mwgstate exch def -%%EndPageSetup: -Mwgstate setgstate newpath -16 16 2416 3054 RectanglePath -clip newpath -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -657 1098 1134 1269 FillRectangle -657 1098 1134 1269 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALMaterialConsultant) 443 -0.00 674 1194 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -657 1208 1134 1269 FillRectangle -657 1208 1134 1269 RectangleOutLine -657 1231 1134 1269 FillRectangle -657 1231 1134 1269 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(<>) 258 -0.00 767 1147 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1503 1460 1856 1579 FillRectangle -1503 1460 1856 1579 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALPhysicsList) 307 -0.00 1526 1509 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1503 1523 1856 1579 FillRectangle -1503 1523 1856 1579 RectangleOutLine -1503 1546 1856 1579 FillRectangle -1503 1546 1856 1579 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -576 148 1023 267 FillRectangle -576 148 1023 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALSteppingVerbose) 416 -0.00 592 197 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -576 211 1023 267 FillRectangle -576 211 1023 267 RectangleOutLine -576 234 1023 267 FillRectangle -576 234 1023 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1270 436 1641 555 FillRectangle -1270 436 1641 555 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALVisManager) 321 -0.00 1295 485 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1270 499 1641 555 FillRectangle -1270 499 1641 555 RectangleOutLine -1270 522 1641 555 FillRectangle -1270 522 1641 555 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -183 450 456 669 FillRectangle -183 450 456 669 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALCalorHit) 251 -0.00 194 546 TextOut -[255 255 255] UpdateBkColor -[255 255 255] UpdateBkColor -(sCollection) 199 -0.00 220 593 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -183 607 456 669 FillRectangle -183 607 456 669 RectangleOutLine -183 630 456 669 FillRectangle -183 630 456 669 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(<>) 228 -0.00 206 499 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -169 148 470 267 FillRectangle -169 148 470 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALCalorHit) 251 -0.00 194 197 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -169 211 470 267 FillRectangle -169 211 470 267 RectangleOutLine -169 234 470 267 FillRectangle -169 234 470 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 320 358 -320 449 LineTo -pop pop 320 449 -335 413 LineTo -pop pop 320 449 -305 413 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 320 358 -320 268 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 320 358 -320 449 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 320 358 -320 268 LineTo -[0 255 255 255 0 <>] UpdateBrush -320 268 305 295 320 322 335 295 320 268 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -68 740 475 859 FillRectangle -68 740 475 859 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALHadModuleSD) 368 -0.00 88 789 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -68 803 475 859 FillRectangle -68 803 475 859 RectangleOutLine -68 826 475 859 FillRectangle -68 826 475 859 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -95 1124 448 1243 FillRectangle -95 1124 448 1243 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALHadModule) 312 -0.00 116 1173 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -95 1187 448 1243 FillRectangle -95 1187 448 1243 RectangleOutLine -95 1210 448 1243 FillRectangle -95 1210 448 1243 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[1 0 153 0 51] UpdatePen -pop pop 449 1184 -656 1184 LineTo -[0 1 153 0 51] UpdatePen -pop pop 656 1184 -620 1199 LineTo -pop pop 656 1184 -620 1169 LineTo -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 272 991 -272 1123 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 272 991 -272 860 LineTo -[0 255 255 255 0 <>] UpdateBrush -272 860 257 887 272 914 287 887 272 860 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 272 991 -272 860 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 272 991 -272 1123 LineTo -[0 255 255 255 0 <>] UpdateBrush -272 1123 257 1096 272 1069 287 1096 272 1123 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -673 1540 1118 1659 FillRectangle -673 1540 1118 1659 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALCryostatVolumes) 413 -0.00 689 1589 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -673 1603 1118 1659 FillRectangle -673 1603 1118 1659 RectangleOutLine -673 1626 1118 1659 FillRectangle -673 1626 1118 1659 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[1 0 153 0 51] UpdatePen -pop pop 896 1539 -896 1270 LineTo -[0 1 153 0 51] UpdatePen -pop pop 896 1270 -911 1306 LineTo -pop pop 896 1270 -881 1306 LineTo -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 583 1391 -362 1244 LineTo -pop pop 362 1244 -400 1252 LineTo -pop pop 362 1244 -384 1276 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 583 1391 -805 1539 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 583 1391 -362 1244 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 583 1391 -805 1539 LineTo -[0 255 255 255 0 <>] UpdateBrush -805 1539 775 1536 760 1509 791 1512 805 1539 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1555 1108 1900 1227 FillRectangle -1555 1108 1900 1227 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALEMModule) 298 -0.00 1579 1157 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1555 1171 1900 1227 FillRectangle -1555 1171 1900 1227 RectangleOutLine -1555 1194 1900 1227 FillRectangle -1555 1194 1900 1227 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1310 1383 -1611 1228 LineTo -pop pop 1611 1228 -1586 1258 LineTo -pop pop 1611 1228 -1572 1232 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1310 1383 -1010 1539 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1310 1383 -1611 1228 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1310 1383 -1010 1539 LineTo -[0 255 255 255 0 <>] UpdateBrush -1010 1539 1027 1514 1058 1514 1041 1540 1010 1539 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[1 0 153 0 51] UpdatePen -pop pop 1554 1171 -1135 1179 LineTo -[0 1 153 0 51] UpdatePen -pop pop 1135 1179 -1171 1193 LineTo -pop pop 1135 1179 -1171 1163 LineTo -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1529 724 1926 843 FillRectangle -1529 724 1926 843 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALEMModuleSD) 355 -0.00 1550 773 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1529 787 1926 843 FillRectangle -1529 787 1926 843 RectangleOutLine -1529 810 1926 843 FillRectangle -1529 810 1926 843 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 844 LineTo -pop pop 1728 844 -1743 880 LineTo -pop pop 1728 844 -1713 880 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 1107 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 844 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 1107 LineTo -[0 255 255 255 0 <>] UpdateBrush -1728 1107 1713 1080 1728 1053 1743 1080 1728 1107 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 844 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 1107 LineTo -[0 255 255 255 0 <>] UpdateBrush -1728 1107 1713 1080 1728 1053 1743 1080 1728 1107 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 1107 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1728 975 -1728 844 LineTo -[0 255 255 255 0 <>] UpdateBrush -1728 844 1713 871 1728 898 1743 871 1728 844 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1169 148 1742 267 FillRectangle -1169 148 1742 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALPrimaryGeneratorAction) 540 -0.00 1186 197 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1169 211 1742 267 FillRectangle -1169 211 1742 267 RectangleOutLine -1169 234 1742 267 FillRectangle -1169 234 1742 267 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -689 852 1102 971 FillRectangle -689 852 1102 971 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALTestbeamSetup) 391 -0.00 700 901 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -689 915 1102 971 FillRectangle -689 915 1102 971 RectangleOutLine -689 938 1102 971 FillRectangle -689 938 1102 971 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[1 0 153 0 51] UpdatePen -pop pop 896 972 -896 1097 LineTo -[0 1 153 0 51] UpdatePen -pop pop 896 1097 -911 1061 LineTo -pop pop 896 1097 -881 1061 LineTo -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -662 532 1129 651 FillRectangle -662 532 1129 651 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALTestbeamSetupSD) 447 -0.00 672 581 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -662 595 1129 651 FillRectangle -662 595 1129 651 RectangleOutLine -662 618 1129 651 FillRectangle -662 618 1129 651 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 652 LineTo -pop pop 896 652 -911 688 LineTo -pop pop 896 652 -881 688 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 851 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 652 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 851 LineTo -[0 255 255 255 0 <>] UpdateBrush -896 851 881 824 896 797 911 824 896 851 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 851 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 896 751 -896 652 LineTo -[0 255 255 255 0 <>] UpdateBrush -896 652 881 679 896 706 911 679 896 652 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -637 2132 1250 2251 FillRectangle -637 2132 1250 2251 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALTBEventActionMessenger) 574 -0.00 657 2181 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -637 2195 1250 2251 FillRectangle -637 2195 1250 2251 RectangleOutLine -637 2218 1250 2251 FillRectangle -637 2218 1250 2251 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -1392 1780 1807 1899 FillRectangle -1392 1780 1807 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALSteppingAction) 377 -0.00 1411 1829 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -1392 1843 1807 1899 FillRectangle -1392 1843 1807 1899 RectangleOutLine -1392 1866 1807 1899 FillRectangle -1392 1866 1807 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -167 1780 504 1899 FillRectangle -167 1780 504 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALRunAction) 291 -0.00 190 1829 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -167 1843 504 1899 FillRectangle -167 1843 504 1899 RectangleOutLine -167 1866 504 1899 FillRectangle -167 1866 504 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -740 1780 1147 1899 FillRectangle -740 1780 1147 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -[0 1 0 0 0] UpdatePen -[0 0 0 0 0 <>] UpdateBrush -1 UpdateBkMode -[255 255 255] UpdateBkColor -(FCALTBEventAction) 373 -0.00 757 1829 TextOut -[255 255 255] UpdateBkColor -2 UpdateBkMode -[0 255 255 204 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[1 0 0 0 0 <>] UpdateBrush -740 1843 1147 1899 FillRectangle -740 1843 1147 1899 RectangleOutLine -740 1866 1147 1899 FillRectangle -740 1866 1147 1899 RectangleOutLine -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 40 0 MwSetFont -/Courier 38 0 MwSetFont -[0 255 255 204 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 944 2015 -944 2131 LineTo -pop pop 944 2131 -959 2095 LineTo -pop pop 944 2131 -929 2095 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 944 2015 -944 1900 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 944 2015 -944 2131 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 944 2015 -944 1900 LineTo -[0 255 255 255 0 <>] UpdateBrush -944 1900 929 1927 944 1954 959 1927 944 1900 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1269 1840 -1391 1840 LineTo -pop pop 1391 1840 -1355 1855 LineTo -pop pop 1391 1840 -1355 1825 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1269 1840 -1148 1840 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 1269 1840 -1391 1840 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 1269 1840 -1148 1840 LineTo -[0 255 255 255 0 <>] UpdateBrush -1148 1840 1175 1825 1202 1840 1175 1855 1148 1840 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -[1 0 0 0 0 <>] UpdateBrush -[0 1 153 0 51] UpdatePen -[0 153 0 51 0 <>] UpdateBrush -pop pop 622 1840 -505 1840 LineTo -pop pop 505 1840 -541 1855 LineTo -pop pop 505 1840 -541 1825 LineTo -[1 0 0 0 0 <>] UpdateBrush -[0 153 0 51 0 <>] UpdateBrush -pop pop 622 1840 -739 1840 LineTo -[0 255 255 255 0 <>] UpdateBrush -739 1840 712 1825 685 1840 712 1855 739 1840 5 Polygon -[0 153 0 51 0 <>] UpdateBrush -[1 0 0 0 0 <>] UpdateBrush -[0 255 255 255 0 <>] UpdateBrush -[0 0 0 0 0] UpdatePen -Mwgstate setgstate newpath -0 0 2432 3182 RectanglePath -clip newpath -/Courier 38 0 MwSetFont -pop pop 166 3054 -766 3054 LineTo -/Helvetica 32 0 MwSetFont -/Courier 38 0 MwSetFont -/Helvetica 32 0 MwSetFont -(File: /afs/cern.ch/user/p/pmendez/geant4/examples/advanced/lAr_calorimeter/include/lAr_calo.mdl Thu Dec 12 18:00:07 2002 Class Diagram: Logical ) 2240 -0.00 166 3092 TextOut -(View / Main Page 1) 292 -0.00 166 3130 TextOut -Mwgstate setgstate newpath -0 0 2432 3182 RectanglePath -clip newpath -/Courier 38 0 MwSetFont -/Courier 38 0 MwSetFont - pop pop % pop out coordinates for current pen position - showpage -end -% end of the MainWin EPS file diff --git a/examples/advanced/lAr_calorimeter/prerunN03.mac b/examples/advanced/lAr_calorimeter/prerunN03.mac deleted file mode 100644 index 098af7f381..0000000000 --- a/examples/advanced/lAr_calorimeter/prerunN03.mac +++ /dev/null @@ -1,51 +0,0 @@ -# -# Macro file for the initialization phase of "exampleN03.cc" -# -# Sets some default verbose -# and initializes the graphic. -# -/control/verbose 2 -/control/saveHistory -/run/verbose 2 -# -# 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 -# Edit the next line(s) to choose another graphic system -# -/vis/sceneHandler/create DAWNFILE -/vis/sceneHandler/create OGLIX -#/vis/sceneHandler/create RAYX - - -/vis/viewer/zoom 10. -# Create a viewer -/vis/viewer/create -# -# Draw scene -/vis/scene/notifyHandlers -# -# for drawing the tracks -# if too many tracks cause core dump => storeTrajectory 0 -/tracking/storeTrajectory 1 -/vis/scene/add/trajectories -# -# Flush visualization -/vis/viewer/update - -/vis/camera/reset -/vis/camera/viewpoint 90 0 -/vis/camera/zoom 1.5 - -/control/verbose 2 -/run/verbose 2 -/event/verbose 0 -/tracking/verbose 1 -/gun/particle mu+ -/gun/energy 300 MeV -/run/beamOn 3 -#/gun/particle geantino diff --git a/examples/advanced/lAr_calorimeter/run1.mac b/examples/advanced/lAr_calorimeter/run1.mac new file mode 100644 index 0000000000..8ee79fa7b4 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/run1.mac @@ -0,0 +1,20 @@ +# $Id: run1.mac,v 1.3 2002/12/17 15:53:08 pmendez Exp $ +# +# Macro file for "exampleN03.cc" +# +# (can be run in batch, without graphic) +# +/control/verbose 2 +/control/saveHistory +# +/run/verbose 2 +/event/verbose 0 +/tracking/verbose 1 +# +# muon 300 MeV to the direction (1.,0.,0.) +# 3 events +# +/gun/particle mu+ +/gun/energy 300 MeV +/run/beamOn 3 + diff --git a/examples/advanced/lAr_calorimeter/run2.mac b/examples/advanced/lAr_calorimeter/run2.mac new file mode 100644 index 0000000000..48c0204c81 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/run2.mac @@ -0,0 +1,29 @@ +# $Id: run2.mac,v 1.3 2002/12/17 15:53:08 pmendez Exp $ +# +# Macro file of "exampleN03.cc" +# +# (in iteractive it must be executed after initialization) +# (otherwise type: /control/execute prerunN03.mac) +# (graphic needed: OpenGL or Mesa) +# +/control/verbose 2 +# +# electron 30 MeV to the direction (1.,0.,0.) +# 1 event +# +/run/beamOn 1 +# +# shoot randomly 20 events +# +/event/printModulo 5 +/gun/random on +/run/beamOn 20 +# +# activate/inactivate physic processes +# +/process/list +/process/inactivate eBrem +# +/run/beamOn 20 +# + diff --git a/examples/advanced/lAr_calorimeter/src/FCALAnalysisManager.cc b/examples/advanced/lAr_calorimeter/src/FCALAnalysisManager.cc index 97925d91d9..a6a3cd9370 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALAnalysisManager.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALAnalysisManager.cc @@ -1,250 +1,160 @@ -// -// ******************************************************************** -// * 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: FCALAnalysisManager.cc -// GEANT4 tag $Name: -// -// Author: Alex Howard (a.s.howard@ic.ac.uk) +// Author: Patricia Mendez (patricia.mendez@cern.ch) // // History: // ----------- -// 3 Oct 2002 Alex Howard Created -// 5 Nov 2002 Alex Howard Successfully Modified to AIDA 3.x -// +// 12 Feb 2003 Patricia Mendez Created // ------------------------------------------------------------------- -#ifdef G4ANALYSIS_USE - +#include +#include "G4VProcess.hh" +#include "g4std/fstream" +#include "G4ios.hh" +#ifdef G4ANALYSIS_USE +#include "AIDA/AIDA.h" #include "FCALAnalysisManager.hh" +#include "FCALAnalysisMessenger.hh" -//#include "g4std/iomanip" + +#include "G4Step.hh" FCALAnalysisManager* FCALAnalysisManager::instance = 0; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -FCALAnalysisManager::FCALAnalysisManager() : - af(0), tree(0), hf(0), tpf(0), pf(0) +FCALAnalysisManager::FCALAnalysisManager() + :outputFileName("fcal.his"),analysisFactory(0), tree(0),histogramFactory(0), + OutOfWorld(0), Secondary(0), EmEdep(0), HadEdep(0) { - // tree is created and booked inside book() - ; + + analisysMessenger = new FCALAnalysisMessenger(this); + + // Hooking an AIDA compliant analysis system. + analysisFactory = AIDA_createAnalysisFactory(); + if(analysisFactory) { + + AIDA::ITreeFactory* treeFactory = analysisFactory->createTreeFactory(); + if(treeFactory) { + // tree = treeFactory->create(); // Tree in memory. + //porebbe essere qua il memory leak// + + tree = treeFactory->create(outputFileName,"hbook",false,true); + + delete treeFactory; // Will not delete the ITree. + histogramFactory = analysisFactory->createHistogramFactory(*tree); + tupleFactory = analysisFactory->createTupleFactory(*tree); + } + } + + G4cout << "FCALAnalysisManager created" << G4endl; + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALAnalysisManager::~FCALAnalysisManager() { + delete histogramFactory; + histogramFactory=0; - delete pf; - pf=0; + delete analysisFactory; + analysisFactory = 0; - delete tpf; - tpf=0; + delete tupleFactory; + tupleFactory=0; - delete hf; - hf=0; + delete instance; - delete tree; - tree=0; - - delete af; - af = 0; + G4cout << "FCALAnalysisManager delete" << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALAnalysisManager* FCALAnalysisManager::getInstance() + { - if (instance == 0) instance = new FCALAnalysisManager; + if (instance == 0) {instance = new FCALAnalysisManager;} return instance; } + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void FCALAnalysisManager::book() - { - // histoManager->selectStore("FCAL.his"); - G4String histogramfile = "FCAL.his"; + // Book histograms - G4cout << " Histogramfile: " << histogramfile << G4endl; + histo_1 = histogramFactory->createHistogram1D("1","Number of Out Of World", 100,0.,10.); + histo_2 = histogramFactory->createHistogram1D("2","Number of Secondaries", 100,0.,100.); + histo_3 = histogramFactory->createHistogram1D("3","Electromagnetic Energy/MeV", 100,0.,100.); + histo_4 = histogramFactory->createHistogram1D("4","hadronic Energy/MeV", 100,0.,100.); + + // Create a tuple + // tuple = tupleFactory->create("FCAL","FCAL","energy counts"); - //build up the factories - af = AIDA_createAnalysisFactory(); - - - //parameters for the TreeFactory - G4bool fileExists = false; - G4bool readOnly = false; - - AIDA::ITreeFactory * tf = af->createTreeFactory(); - - tree = tf->create(histogramfile, "hbook", readOnly, fileExists); - - G4cout << "Tree store : " << tree->storeName() << G4endl; - - G4cout << " Booked Hbook File " << G4endl; - - //HistoFactory and TupleFactory depend on theTree - hf = af->createHistogramFactory( *tree ); - tpf = af->createTupleFactory(*tree ); - - // ---- primary ntuple ------ - - AIDA::ITuple* ntuple1 = tpf->create( "1", "Number out of World", - "float OutOfWorld,i,j" ); - - assert(ntuple1); - - // ---- secondary ntuple ------ - - AIDA::ITuple* ntuple2 = tpf->create( "2", "Secondary Info", - "float Secondary,i,j"); - - assert(ntuple2); - - // ---- tertiary ntuple ------ - - AIDA::ITuple* ntuple3 = tpf->create( "3", "Energy Deposits", - "float EmEdep,HadEdep" ); - - assert(ntuple3); - - // Creating an 1-dimensional histogram in the root directory of the tree - - AIDA::IHistogram1D* hOutOfWorld; - hOutOfWorld = hf->createHistogram1D("10","Number Of OutOfWorld", 100,0.,100.); - - AIDA::IHistogram1D* hSecondary; - hSecondary = hf->createHistogram1D("20","Number Of Secondaries", 100,0.,100.); + ntuple_1 = tupleFactory->create("100","Number Out of World","float OutOfWorld, i, j"); + + ntuple_2 = tupleFactory->create("200","Secondary Info","float Secondary, i, j"); - AIDA::IHistogram1D* hEmEdep; - hEmEdep = hf->createHistogram1D("30","Electromagnetic Energy /MeV", 100,0.,100.); - - AIDA::IHistogram1D* hHadEdep; - hHadEdep = hf->createHistogram1D("30","Hadronic Energy /MeV", 100,0.,100.); - - delete tf; - -} - + ntuple_3 = tupleFactory->create("300","Energy Deposits","float EmEdep, HadEdep"); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void FCALAnalysisManager::finish() { - // Committing the transaction with the tree - G4std::cout << "Committing..." << G4std::endl; - // write all histograms to file - tree->commit(); - - G4std::cout << "Closing the tree..." << G4std::endl; - - // close (will again commit) - tree->close(); - - // extra delete as objects are created in book() method rather than during - // initialisation of class - delete pf; - delete tpf; - delete hf; - delete tree; - delete af; + if(tree) { + tree->commit(); // Write histos and tuple in file. + tree->close(); + } } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void FCALAnalysisManager::NumOutOfWorld(G4double OutOfWorld, G4int i, G4int j) - +////....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +// +void FCALAnalysisManager::analyseEnergyDep(G4double Edep) { - AIDA::IHistogram1D* h1 = dynamic_cast ( tree->find("10") ); - h1->fill(OutOfWorld); // fill(x,y,weight) - AIDA::ITuple * ntuple = dynamic_cast ( tree->find("1") ); + //histo_1 =dynamic_cast ( tree->find("1") ); - // Fill the ntuple - ntuple->fill( ntuple->findColumn( "OutOfWorld" ), (G4float) OutOfWorld ); - ntuple->fill( ntuple->findColumn( "i" ), (G4float) i ); - ntuple->fill( ntuple->findColumn( "j" ), (G4float) j ); -//ntuple->fill( ntuple->findColumn( "Event" ), static_cast(event_id) ); + // G4double OutOfWorld, Secondary, EmEdep, HadEdep; - //Values of attributes are prepared; store them to the nTuple: - ntuple->addRow(); + histo_1->fill(OutOfWorld); + histo_2->fill(Secondary); + histo_3->fill(EmEdep); + histo_4->fill(HadEdep); + + if(ntuple_1) { + ntuple_1->fill(0,OutOfWorld); + ntuple_1->fill(1,1); + ntuple_1->addRow(); + } + + if(ntuple_2) { + ntuple_2->fill(0,Secondary); + ntuple_2->fill(1,1); + ntuple_2->addRow(); + } + + if(ntuple_3) { + ntuple_3->fill(0,EmEdep); + ntuple_3->fill(1,1); + ntuple_3->addRow(); + } + + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void FCALAnalysisManager::Secondaries(G4double Secondary, G4int i, G4int j) - +void FCALAnalysisManager::SetOutputFileName(G4String newName) { - AIDA::IHistogram1D* h2 = dynamic_cast ( tree->find("20") ); - h2->fill(Secondary); // fill(x,y,weight) - AIDA::ITuple * ntuple = dynamic_cast ( tree->find("2") ); - // Fill the ntuple - ntuple->fill( ntuple->findColumn( "Secondary" ), (G4float) Secondary ); - ntuple->fill( ntuple->findColumn( "i" ), (G4float) i ); - ntuple->fill( ntuple->findColumn( "j" ), (G4float) j ); -//ntuple->fill( ntuple->findColumn( "Event" ), static_cast(event_id) ); - - //Values of attributes are prepared; store them to the nTuple: - ntuple->addRow(); + outputFileName = newName; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void FCALAnalysisManager::Edep(G4double EmEdep, G4double HadEdep) - -{ - //EM: - AIDA::IHistogram1D* h3 = dynamic_cast ( tree->find("30") ); - h3->fill(EmEdep); // fill(x,y,weight) - //Had: - AIDA::IHistogram1D* h4 = dynamic_cast ( tree->find("40") ); - h4->fill(HadEdep); // fill(x,y,weight) - AIDA::ITuple * ntuple = dynamic_cast ( tree->find("3") ); - - // Fill the ntuple - ntuple->fill( ntuple->findColumn( "EmEdep" ), (G4float) EmEdep ); - ntuple->fill( ntuple->findColumn( "HadEdep" ), (G4float) HadEdep ); -//ntuple->fill( ntuple->findColumn( "Event" ), static_cast(event_id) ); - - //Values of attributes are prepared; store them to the nTuple: - ntuple->addRow(); - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - #endif @@ -253,3 +163,6 @@ void FCALAnalysisManager::Edep(G4double EmEdep, G4double HadEdep) + + + diff --git a/examples/advanced/lAr_calorimeter/src/FCALAnalysisMessenger.cc b/examples/advanced/lAr_calorimeter/src/FCALAnalysisMessenger.cc new file mode 100644 index 0000000000..3e6897350e --- /dev/null +++ b/examples/advanced/lAr_calorimeter/src/FCALAnalysisMessenger.cc @@ -0,0 +1,67 @@ +// Author: Patricia Mendez (patricia.mendez@cern.ch) +// +// History: +// ----------- +// 14 Feb 2003 Patricia Mendez Created +//-------------------------------------------------------------------------- + +#ifdef G4ANALYSIS_USE +#include "FCALAnalysisMessenger.hh" + +#include "FCALAnalysisManager.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +FCALAnalysisMessenger::FCALAnalysisMessenger(FCALAnalysisManager* analysisManager) + :xrayFluoAnalysis(analysisManager) + +{ + FCALAnalysisDir = new G4UIdirectory("/analysis/"); + FCALAnalysisDir->SetGuidance("analysis control."); + + ouputFileCommand = new G4UIcmdWithAString("/analysis/outputFile",this); + ouputFileCommand->SetGuidance("specify the name of the output file (lowercase for Hbook)"); + ouputFileCommand->SetGuidance("default: xrayfluo.hbk"); + ouputFileCommand->SetParameterName("choice",true); + ouputFileCommand->SetDefaultValue("fcal.his"); + ouputFileCommand->AvailableForStates(G4State_Idle); + +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +FCALAnalysisMessenger::~FCALAnalysisMessenger() +{ + + delete FCALAnalysisDir; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void FCALAnalysisMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + +if(command == ouputFileCommand) + {xrayFluoAnalysis->SetOutputFileName(newValue);} + + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif + + + + + + + + + + + + + diff --git a/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc b/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc index a6c7f9c5ec..630f45fdeb 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALCalorHit.cc,v 1.2 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumes.cc b/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumes.cc index b457ac31f2..eec650899d 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumes.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumes.cc @@ -52,7 +52,7 @@ #include "G4Colour.hh" FCALCryostatVolumes::FCALCryostatVolumes() { -#include "FCALCryostatVolumesParameters.icc" +#include "FCALCryostatVolumesParameters.input" }; FCALCryostatVolumes::~FCALCryostatVolumes() {;}; @@ -80,7 +80,7 @@ G4LogicalVolume * FCALCryostatVolumes::Construct() // Cryostat //----------------------------- G4Tubs * SolidCryostat = - new G4Tubs("CryostatSolid", CryostatRMin, CryostatRMax, CryostatLength, + new G4Tubs("CryostatSolid", CryostatRMin, CryostatRMax, CryostatLenght, StartingPhi, DPhi); G4LogicalVolume * LogicalCryostat = new G4LogicalVolume(SolidCryostat,FCALMaterials->Material("Iron"), @@ -95,7 +95,7 @@ G4LogicalVolume * FCALCryostatVolumes::Construct() //------------------------------ G4Tubs * SolidInsulation = new G4Tubs("InsulationSolid", InsulationRMin, InsulationRMax, - InsulationLength, StartingPhi, DPhi); + InsulationLenght, StartingPhi, DPhi); G4LogicalVolume * LogicalInsulation = new G4LogicalVolume(SolidInsulation, FCALMaterials->Material("Air"), "InsulationLogical"); @@ -130,7 +130,7 @@ G4LogicalVolume * FCALCryostatVolumes::Construct() // Liquid Argon //-------------------- G4Tubs * SolidLArg = - new G4Tubs("LArgSolid", LArgRMin, LArgRMax, LArgLength,StartingPhi,DPhi); + new G4Tubs("LArgSolid", LArgRMin, LArgRMax, LArgLenght,StartingPhi,DPhi); G4LogicalVolume * LogicalLArg = new G4LogicalVolume(SolidLArg, FCALMaterials->Material("LiquidArgon"), "LArgLogical"); @@ -188,7 +188,7 @@ G4LogicalVolume * FCALCryostatVolumes::Construct() //------------------------ G4Tubs * SolidFCALEnvelope = new G4Tubs("FCALEnvelopeSolid", FCALEnvelopeRMin, FCALEnvelopeRMax, - FCALEnvelopeLength, FCALEnvelopeStartPhi, FCALEnvelopeDPhi); + FCALEnvelopeLenght, FCALEnvelopeStartPhi, FCALEnvelopeDPhi); G4LogicalVolume * LogicalFCALEnvelope = new G4LogicalVolume(SolidFCALEnvelope, FCALMaterials->Material("LiquidArgon"), diff --git a/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumesParameters.icc b/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumesParameters.icc deleted file mode 100644 index 541a83abad..0000000000 --- a/examples/advanced/lAr_calorimeter/src/FCALCryostatVolumesParameters.icc +++ /dev/null @@ -1,106 +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. * -// ******************************************************************** -CryostatRMin = 0.0*cm; -CryostatRMax = 135.0*cm; -CryostatLength = 147.5*cm; -StartingPhi = 0.; -DPhi = 2*pi; - - -//--------------------- -// Insulation -//--------------------- -InsulationRMin = 127.75*cm; -InsulationRMax = 134.75*cm; -InsulationLength = 147.5*cm; - - -//--------------------- -// Inactive LArg -//--------------------- -LArgRMin = 0.0; -LArgRMax = 127.45*cm; -LArgLength = 97.5*cm; - -LArgPosX = 0.0; -LArgPosY = 0.0; -LArgPosZ = -50.*cm; - -//---------------------- -// Front Excluder -//---------------------- -FrontExcluderSizeX = 31.926*cm; -FrontExcluderSizeY = 17.218*cm; -FrontExcluderSizeZ = 31.926*cm; - -FrontExcluderPosX = 0.; -FrontExcluderPosY = -106.168*cm; -FrontExcluderPosZ = 0.; - -//---------------------- -// Back Excluder -//---------------------- -BackExcluderSize1X = 39.53*cm; -BackExcluderSize2X = 52.29*cm; -BackExcluderSize1Y = 25.56*cm; -BackExcluderSize2Y = 51.84*cm; -BackExcluderSizeZ = 52.325*cm; - -BackExcluderPosX = 0.; -BackExcluderPosY = 63.904*cm; -BackExcluderPosZ = 0.; -BackExcluderRotX = 90.0*deg; - - -//------------------------ -// FCAL Enveloppe -//------------------------ -FCALEnvelopeRMin = 0.0*cm; -FCALEnvelopeRMax = 45.15*cm; -FCALEnvelopeLength = 45.975*cm; -FCALEnvelopeStartPhi = pi/4; -FCALEnvelopeDPhi = pi/2 + pi/180. ; - -FCALEnvelopePosX = 0.0*cm; -FCALEnvelopePosY = -38.156*cm; -FCALEnvelopePosZ = -25.341*cm; - -FCALEnvelopeRotX = 2.8291*deg-pi/2; -FCALEnvelopeRotY = 0.*deg; - - -//----------------------------- -// FCAL electromagnetic Module -//----------------------------- -FCALEmModulePosX = 0.0*cm; -FCALEmModulePosY = 0.0*cm; -FCALEmModulePosZ = 23.675*cm; - -ModuleRotZ = -45*deg; - -//----------------------------- -// FCAL Hadronic Module -//----------------------------- -FCALHadModulePosX = 0.; -FCALHadModulePosY = 0.; -FCALHadModulePosZ = -23.675*cm; - diff --git a/examples/advanced/lAr_calorimeter/src/FCALEMModule.cc b/examples/advanced/lAr_calorimeter/src/FCALEMModule.cc index 72554ddc23..305af33ba0 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALEMModule.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALEMModule.cc @@ -73,7 +73,7 @@ FCALEMModule::~FCALEMModule(){ void FCALEMModule::InitializeGeometry() { -#include "FCALEMModuleParameters.icc" +#include "FCALEMModuleParameters.input" ifstream File ("geom_data/FCal1Electrodes.dat"); @@ -86,7 +86,7 @@ void FCALEMModule::InitializeGeometry() { File >> F1LArGapID[NF1LarGap] >> F1LArGapPosX[NF1LarGap] >> F1LArGapPosY[NF1LarGap] >> F1LArIX[NF1LarGap] >> F1LArJY[NF1LarGap] >> F1LArITile[NF1LarGap]; }; - G4cout << "********" << " Number of Rods in FCAL1 : " << NF1LarGap-1 << endl;; + G4cout << "********" << " Number of Rods in FCAL1 : " << NF1LarGap-1 << G4endl;; }; @@ -111,7 +111,7 @@ G4LogicalVolume * FCALEMModule::Construct() // Logical to be returned (FCAL EM module) //----------------------------------------- G4Tubs * SolidEmModule = - new G4Tubs("EmModuleSold", EmModuleRMin, EmModuleRMax, EmModuleLength, + new G4Tubs("EmModuleSold", EmModuleRMin, EmModuleRMax, EmModuleLenght, EmModuleStartPhi,EmModuleDPhi); G4LogicalVolume * LogicalEmModule = new G4LogicalVolume(SolidEmModule, FCALMaterials->Material("Copper"), @@ -128,7 +128,7 @@ G4LogicalVolume * FCALEMModule::Construct() //--------------------- G4Tubs * SolidF1CableTroff = new G4Tubs("F1CableTroffSolid", F1CableTroffRMin, F1CableTroffRMax, - F1CableTroffLength, F1CableTroffStartPhi, F1CableTroffDPhi); + F1CableTroffLenght, F1CableTroffStartPhi, F1CableTroffDPhi); G4LogicalVolume * LogicalF1CableTroff = new G4LogicalVolume(SolidF1CableTroff, FCALMaterials->Material("FCAL1CuArKap"), "F1CableTroffLogical"); @@ -155,7 +155,7 @@ G4LogicalVolume * FCALEMModule::Construct() //---------------------- G4Tubs * SolidF1LArGap = - new G4Tubs("F1LArGapSolid",F1LArGapRmin, F1LArGapRmax, F1LArGapLength, + new G4Tubs("F1LArGapSolid",F1LArGapRmin, F1LArGapRmax, F1LArGapLenght, F1LArGapStartPhi,F1LArGapDPhi); G4LogicalVolume * LogicalF1LArGap = @@ -172,7 +172,7 @@ G4LogicalVolume * FCALEMModule::Construct() LogicalF1LArGap->SetVisAttributes(G4VisAttributes::Invisible); - // Sensitive Volumes + // Sensitive Volumes G4SDManager* SDman = G4SDManager::GetSDMpointer(); if(!FcalEmModuleSD) diff --git a/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc b/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc index 6575a045aa..f60e105c7e 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALEMModuleSD.cc,v 1.4 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALEMModuleSD.cc,v 1.5 2002/12/17 15:53:30 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -114,7 +114,7 @@ void FCALEMModuleSD::EndOfEvent(G4HCofThisEvent* HCE) EvisTileP[NF1Tile] = EvisF1Tile[i]; };}; - G4cout << "Number of F1 Tiles with Positive energy : " << NF1Tile << endl; + G4cout << "Number of F1 Tiles with Positive energy : " << NF1Tile << G4endl; // Write in File //-------------- diff --git a/examples/advanced/lAr_calorimeter/src/FCALHadModule.cc b/examples/advanced/lAr_calorimeter/src/FCALHadModule.cc index da02bc5152..a35c47c4b5 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALHadModule.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALHadModule.cc @@ -75,7 +75,7 @@ FCALHadModule::~FCALHadModule() { void FCALHadModule::InitializeGeometry() { -#include "FCALHadModuleParameters.icc" +#include "FCALHadModuleParameters.input" ifstream File ("geom_data/FCal2Electrodes.dat"); @@ -119,7 +119,7 @@ G4LogicalVolume * FCALHadModule::Construct() //----------------------------------------- G4Tubs * SolidHadModule = - new G4Tubs("HadModuleSolid", HadModuleRMin, HadModuleRMax, HadModuleLength, + new G4Tubs("HadModuleSolid", HadModuleRMin, HadModuleRMax, HadModuleLenght, HadModuleStartPhi,HadModuleDPhi); G4LogicalVolume * LogicalHadModule = new G4LogicalVolume(SolidHadModule, FCALMaterials->Material("Copper"), @@ -135,7 +135,7 @@ G4LogicalVolume * FCALHadModule::Construct() // Tungsten Absorber //----------------------------------------- G4Tubs * SolidWAbsorber = - new G4Tubs("WAbsorberSolid", WAbsorberRMin, WAbsorberRMax, WAbsorberLength, + new G4Tubs("WAbsorberSolid", WAbsorberRMin, WAbsorberRMax, WAbsorberLenght, WAbsorberStartPhi, WAbsorberDPhi); G4LogicalVolume * LogicalWAbsorber = new G4LogicalVolume(SolidWAbsorber, FCALMaterials->Material("FCAL2WFeNi"), @@ -152,7 +152,7 @@ G4LogicalVolume * FCALHadModule::Construct() // Copper Plates //------------------ G4Tubs * SolidCuPlate = - new G4Tubs("CuPlateSolid",HadModuleRMin, HadModuleRMax, CuPlateLength, + new G4Tubs("CuPlateSolid",HadModuleRMin, HadModuleRMax, CuPlateLenght, HadModuleStartPhi, HadModuleDPhi); G4LogicalVolume * LogicalCuPlate = new G4LogicalVolume(SolidCuPlate, FCALMaterials->Material("Copper"), "CuPlateLogical"); @@ -171,14 +171,14 @@ G4LogicalVolume * FCALHadModule::Construct() // Had Module (F2) Main and A/B Cable Troff //------------------------------------------ G4Tubs * SolidF2TroffMain = - new G4Tubs("F2TroffMainSolid", F2TroffRmin, F2TroffRmax, F2TroffMainLength, + new G4Tubs("F2TroffMainSolid", F2TroffRmin, F2TroffRmax, F2TroffMainLenght, F2TroffStartPhi, F2TroffDphi); G4LogicalVolume * LogicalF2TroffMain = new G4LogicalVolume(SolidF2TroffMain, FCALMaterials->Material("FCAL2CuArKap"), "F2TroffMainLogical"); G4Tubs * SolidF2TroffAB = - new G4Tubs("F2TroffABSolid", F2TroffRmin, F2TroffRmax, F2TroffABLength, + new G4Tubs("F2TroffABSolid", F2TroffRmin, F2TroffRmax, F2TroffABLenght, F2TroffStartPhi, F2TroffDphi); G4LogicalVolume * LogicalF2TroffAB = new G4LogicalVolume(SolidF2TroffAB, FCALMaterials->Material("FCAL2CuArKap"), @@ -210,7 +210,7 @@ G4LogicalVolume * FCALHadModule::Construct() // LArg Gaps + F2 Rod //---------------------- G4Tubs * SolidF2LArGap = - new G4Tubs("F2LArGapSolid", F2LArGapRmin, F2LArGapRmax, F2LArGapLength, + new G4Tubs("F2LArGapSolid", F2LArGapRmin, F2LArGapRmax, F2LArGapLenght, F2LArGapStartPhi, F2LArGapDphi); G4LogicalVolume * LogicalF2LArGap = new G4LogicalVolume(SolidF2LArGap, FCALMaterials->Material("LiquidArgon"), @@ -220,7 +220,7 @@ G4LogicalVolume * FCALHadModule::Construct() // LogicalF2LArGap->SetVisAttributes(G4VisAttributes::Invisible); G4Tubs * SolidF2Rod = - new G4Tubs("F2RodSolid", F2RodRmin, F2RodRmax, F2RodLength, F2RodStartPhi, F2RodDphi); + new G4Tubs("F2RodSolid", F2RodRmin, F2RodRmax, F2RodLenght, F2RodStartPhi, F2RodDphi); G4LogicalVolume * LogicalF2Rod = new G4LogicalVolume(SolidF2Rod, FCALMaterials->Material("Tungsten"),"F2RodLogical"); G4VPhysicalVolume * PhysicalF2Rod = diff --git a/examples/advanced/lAr_calorimeter/src/FCALHadModuleParameters.icc b/examples/advanced/lAr_calorimeter/src/FCALHadModuleParameters.icc deleted file mode 100644 index 2e8ce5a40a..0000000000 --- a/examples/advanced/lAr_calorimeter/src/FCALHadModuleParameters.icc +++ /dev/null @@ -1,95 +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. * -// ******************************************************************** -HadModuleRMin = 7.923*cm; -HadModuleRMax = 45.15*cm; -HadModuleLength = 22.3*cm; -HadModuleStartPhi = 0.; -HadModuleDPhi = 90.*deg; - -FCAL2HadSmart = 0.2; - - -//--------------------- -// Tungsten Absorber -//--------------------- -WAbsorberRMin = 7.923*cm; -WAbsorberRMax = 45.15*cm; -WAbsorberLength = 19.8*cm; -WAbsorberStartPhi = 0.; -WAbsorberDPhi = 90.*deg; - -//--------------------- -// Copper Plates -//--------------------- -CuPlateLength = 1.25*cm; -CuPlateAPosZ = 21.05*cm; -CuPlateBPosZ = -21.05*cm; - - -//------------------------------- -// Had Module (F2) Cable Troff -//------------------------------- -NCableTroff = 4; -F2TroffRmin = 44.16*cm; -F2TroffRmax = 45.15*cm; -F2TroffMainLength = 19.8*cm; // 22.3*cm; -F2TroffABLength = 1.25*cm; -F2TroffStartPhi = 8.438*deg; -F2TroffDphi = 5.624*deg; - -F2TroffRotZ = 22.5*deg; -F2TroffABPosZ = 21.05*cm; - -//---------------------- -// LArg Gaps + F2 Rod -//---------------------- -F2LArGapRmin = 0.0*cm; -F2LArGapRmax = 0.284*cm; -F2LArGapLength = 22.3*cm; -F2LArGapStartPhi = 0.0*deg; -F2LArGapDphi = 2*pi; - - -F2RodRmin = 0.0*cm; -F2RodRmax = 0.247*cm; -F2RodLength = 22.3*cm; -F2RodStartPhi = 0.0*deg; -F2RodDphi = 2*pi; - - - -/* - -LArgGapRMin = 2.375*mm; -LArgGapRMax = 2.625*mm; -LArgGapDZ = 223.*mm; -LArgGapSPhi = 0.; -LArgGapDPhi = 2*pi; - -CopperRodRMin = 0.; -CopperRodRMax = 2.375*mm; -CopperRodDZ = 223.*mm; -CopperRodSPhi = 0.; -CopperRodDPhi = 2*pi; -*/ - - diff --git a/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc b/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc index ef89c980c2..0719bdb49e 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALHadModuleSD.cc,v 1.3 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc b/examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc index 9435c9081e..dcc8b28166 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc @@ -48,7 +48,6 @@ //---------------------------------------------------------------------------------- #include "FCALMaterialConsultant.hh" -#include "PhysicalConstants.h" #include "globals.hh" diff --git a/examples/advanced/lAr_calorimeter/src/FCALPhysicsList.cc b/examples/advanced/lAr_calorimeter/src/FCALPhysicsList.cc index b62abaf661..2c3567d61c 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALPhysicsList.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALPhysicsList.cc @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALPhysicsList.cc,v 1.3 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc b/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc index de4c27e577..8ad3aaa349 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc @@ -22,8 +22,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALPrimaryGeneratorAction.cc,v 1.2 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALPrimaryGeneratorAction.cc,v 1.3 2002/12/17 15:53:30 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -111,10 +111,10 @@ void FCALPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) particleGun->GeneratePrimaryVertex(anEvent); - G4cout << "--------------------------------------------" << endl; + G4cout << "--------------------------------------------" << G4endl; G4cout << " Event, X,Y,Z Generated Vertex : " << endl; - G4cout << Nevent << " " << X[Nevent] << " " << Y[Nevent] << " " << Z[Nevent]<< endl; - G4cout << "--------------------------------------------" << endl; + G4cout << Nevent << " " << X[Nevent] << " " << Y[Nevent] << " " << Z[Nevent]<< G4endl; + G4cout << "--------------------------------------------" << G4endl; } diff --git a/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc b/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc index 6363f949e3..93173d14e7 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc @@ -23,21 +23,28 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALRunAction.cc,v 1.2 2002/12/12 19:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALRunAction.cc,v 1.4 2003/02/14 15:55:20 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//#ifndef G4ANALYSIS_USE + #include "FCALRunAction.hh" #include "G4Run.hh" +#include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4VVisManager.hh" #include "G4ios.hh" +#include "Randomize.hh" +#include "FCALAnalysisManager.hh" +//#include + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALRunAction::FCALRunAction() @@ -47,7 +54,66 @@ FCALRunAction::FCALRunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALRunAction::~FCALRunAction() -{} +{ + + // cleanHisto(); + +} + + +//void FCALRunAction::bookHisto(){ +// +// AIDA::IAnalysisFactory* af = AIDA_createAnalysisFactory(); +// +// // Creating the tree factory +// AIDA::ITreeFactory* tf = af->createTreeFactory(); +// +// // Creating a tree mapped to an hbook file. +// tree = tf->create("fcal.paw", "hbook", false, true); +// +// // Creating a histogram factory, whose histograms will be handled by the tree +// AIDA::IHistogramFactory* hf = af->createHistogramFactory(*tree); +// +// // Creating a ntuple factory. +// +// AIDA::ITupleFactory* nf = af->createTupleFactory(*tree); +// +// // Creating ntuples +// +// ntuple[1] = nf->create("100","Number Out of World","float OutOfWorld, i, j"); +// +// ntuple[2] = nf->create("200","Secondary Info","float Secondary, i, j"); +// +// ntuple[3] = nf->create("300","Energy Deposits","float EmEdep, HadEdep"); +// +// // Creating Histograms +// +// histo[1] = hf->createHistogram1D("1","Number of OutOfWorld",100, 0., 100.); +// histo[2] = hf->createHistogram1D("2","Number of Secondaries",100, 0., 100.); +// histo[3] = hf->createHistogram1D("3","Electromagnetic Energy / MeV",100, 0., 100.); +// histo[4] = hf->createHistogram1D("4","Hadronic Energy / MeV",100, 0., 100.); +// +// delete hf; +// delete tf; +// delete af; +// delete nf; +// +//} +// +////....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +//void FCALRunAction::cleanHisto() +//{ +// +// tree->commit(); // Writing the histograms to the file +// tree->close(); // and closing the tree (and the file) +// +// delete tree; +// +// +//} +// + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -56,20 +122,51 @@ void FCALRunAction::BeginOfRunAction(const G4Run* aRun) G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + // if (aRun->GetRunID() == 0) bookHisto(); + if (G4VVisManager::GetConcreteInstance()) { G4UImanager* UI = G4UImanager::GetUIpointer(); UI->ApplyCommand("/vis/scene/notifyHandlers"); - } + } + +#ifdef G4ANALYSIS_USE + + // book histograms and ntuples + + FCALAnalysisManager * analysis = FCALAnalysisManager::getInstance(); + analysis->book(); + +#endif + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void FCALRunAction::EndOfRunAction(const G4Run* ) { + +#ifdef G4ANALYSIS_USE + FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); +#endif + if (G4VVisManager::GetConcreteInstance()) { G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); } + +#ifdef G4ANALYSIS_USE + analysis->finish(); +#endif + } +//#endif + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + + + + + diff --git a/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc b/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc index 26379e233c..bbbf97a25a 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALSteppingAction.cc,v 1.2 2002/12/12 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALSteppingAction.cc,v 1.3 2002/12/17 15:53:30 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -53,7 +53,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -FCALSteppingAction::FCALSteppingAction() : IDold(-1), IDout(-1) +FCALSteppingAction::FCALSteppingAction():IDold(-1),IDout(-1) {;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -128,8 +128,8 @@ void FCALSteppingAction::UserSteppingAction(const G4Step* astep) Secondaries[NSecondaries][9] = aDynamicParticle->GetTotalEnergy(); Secondaries[NSecondaries][10] = aDynamicParticle->GetKineticEnergy(); - G4cout << " **** Primary : " << EventNo << endl; - G4cout << " Vertex : " << PrimaryVertex << endl; + G4cout << " **** Primary : " << EventNo << G4endl; + G4cout << " Vertex : " << PrimaryVertex << G4endl; } diff --git a/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc b/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc index 66831e2ad8..57d9006125 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc @@ -24,7 +24,7 @@ // and all its terms. // // $Id: FCALSteppingVerbose.cc,v 1.2 2002/12/12 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc index aaf0d5eba0..6a798d5903 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc @@ -23,23 +23,24 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALTBEventAction.cc,v 1.3 2002/12/12 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALTBEventAction.cc,v 1.5 2003/02/14 15:55:20 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#ifdef G4ANALYSIS_USE + #include "FCALTBEventAction.hh" +#include "FCALTBEventActionMessenger.hh" + +#include "FCALRunAction.hh" + #include "FCALCalorHit.hh" -#ifdef G4ANALYSIS_USE -#include "FCALAnalysisManager.hh" -#endif - -//#include "g4rw/tvordvec.h" #include "g4std/vector" #include "G4Event.hh" @@ -56,20 +57,33 @@ #include "Randomize.hh" #include "FCALSteppingAction.hh" +#include "FCALAnalysisManager.hh" + #include "G4ios.hh" #include "iostream.h" #include "fstream.h" +#include + + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALTBEventAction::FCALTBEventAction(FCALSteppingAction* SA) -:calorimeterCollID(-1),drawFlag("all"),printModulo(10), StepAction(SA) -{;} + :calorimeterCollID(-1),drawFlag("all"),printModulo(10), StepAction(SA), eventMessenger(0) +{ + eventMessenger = new FCALTBEventActionMessenger(this); + runManager = new FCALRunAction(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... FCALTBEventAction::~FCALTBEventAction() -{;} +{ + delete eventMessenger; + eventMessenger = 0; + delete runManager; + runManager = 0; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -92,8 +106,9 @@ void FCALTBEventAction::BeginOfEventAction(const G4Event* evt) void FCALTBEventAction::EndOfEventAction(const G4Event* evt) { + NTracksOutOfWorld = StepAction->GetOutOfWorldTracks(0, 0); - G4cout << "N Tracks out of world " << NTracksOutOfWorld << endl; + G4cout << "N Tracks out of world " << NTracksOutOfWorld << G4endl; // Write Leaving Particles in File //-------------------------------- @@ -107,26 +122,43 @@ void FCALTBEventAction::EndOfEventAction(const G4Event* evt) }; ofstream OutTracks(FileName1, iostemp1); - OutTracks << NTracksOutOfWorld << endl; + G4double OutOfWorld; + + OutTracks << NTracksOutOfWorld << G4endl; for(G4int i=1; i<= NTracksOutOfWorld ; i++){ for(G4int j=1; j<11 ; j++) { - G4double OutOfWorld = StepAction->GetOutOfWorldTracks(i,j); - OutTracks << OutOfWorld << " " ; } - OutTracks << endl; + // G4double OutOfWorld = StepAction->GetOutOfWorldTracks(i,j); + OutOfWorld = StepAction->GetOutOfWorldTracks(i,j); + OutTracks << OutOfWorld << " " ; + } + OutTracks << G4endl; + + G4double OutOfWorld2 = StepAction->GetOutOfWorldTracks(i,j); + + #ifdef G4ANALYSIS_USE - // pass first event for histogram record: - G4double OutOfWorld2 = StepAction->GetOutOfWorldTracks(i,j); - FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); - analysis->NumOutOfWorld(OutOfWorld2,i,j); + + FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); + analysis->analyseEnergyDep(OutOfWorld); + #endif - } + + // RunAction->GetHisto(1)->fill(OutOfWorld); + + +// RunAction->GetTuple(1)->fill(0,OutOfWorld); +// RunAction->GetTuple(1)->fill(1,i); +// RunAction->GetTuple(1)->fill(2,j); +// +// +// RunAction->GetTuple(1)->addRow(); + + } + OutTracks.close(); NSecondaries = StepAction->GetSecondaries(0,0); - G4cout << "N Scondaries " << NSecondaries << endl; - - - + G4cout << "N Scondaries " << NSecondaries << G4endl; // Write Secondary Particles in File //-------------------------------- @@ -138,24 +170,37 @@ void FCALTBEventAction::EndOfEventAction(const G4Event* evt) } else { iostemp2 = ios::out|ios::app; // ios::app; }; - + ofstream SecndTracks(FileName2, iostemp2); - - SecndTracks << NSecondaries << endl; + + G4double Secondary; + + SecndTracks << NSecondaries << G4endl; for(i=1; i<= NSecondaries ; i++){ for(G4int j=1; j<11 ; j++) { - G4double Secondary = StepAction->GetSecondaries(i,j); + Secondary = StepAction->GetSecondaries(i,j); SecndTracks << Secondary << " " ; } - SecndTracks << endl; + SecndTracks << G4endl; + G4double Secondary2 = StepAction->GetSecondaries(i,j); + #ifdef G4ANALYSIS_USE - // pass first event for histogram record: - G4double Secondary2 = StepAction->GetSecondaries(i,j); - FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); - analysis->Secondaries(Secondary2,i,j); + FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); + analysis->analyseEnergyDep(Secondary); #endif + +// RunAction->GetHisto(2)->fill(Secondary); +// +// RunAction->GetTuple(2)->fill(0,Secondary); +// RunAction->GetTuple(2)->fill(1,i); +// RunAction->GetTuple(2)->fill(2,j); +// +// +// RunAction->GetTuple(2)->addRow(); + + } SecndTracks.close(); - + // Write Edep in FCAL1 and FCAL2 G4String FileName3 = "EdepFCAL_802_1mm.dat"; @@ -166,29 +211,43 @@ void FCALTBEventAction::EndOfEventAction(const G4Event* evt) } else { iostemp3 = ios::out|ios::app; // ios::app; }; - + ofstream EdepFCAL(FileName3, iostemp3); G4double EmEdep = StepAction->GetEdepFCAL("FCALEm"); G4double HadEdep = StepAction->GetEdepFCAL("FCALHad"); + EdepFCAL << EmEdep << " "; EdepFCAL << HadEdep; - EdepFCAL << endl; + EdepFCAL << G4endl; EdepFCAL.close(); + #ifdef G4ANALYSIS_USE - // pass first event for histogram record: - FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); - analysis->Edep(EmEdep,HadEdep); + FCALAnalysisManager* analysis = FCALAnalysisManager::getInstance(); + analysis->analyseEnergyDep(EmEdep); + analysis->analyseEnergyDep(HadEdep); + #endif +// RunAction->GetHisto(3)->fill(EmEdep); +// RunAction->GetHisto(4)->fill(HadEdep); +// +// +// RunAction->GetTuple(3)->fill(0,EmEdep); +// RunAction->GetTuple(3)->fill(1,HadEdep); +// +// +// +// RunAction->GetTuple(3)->addRow(); + G4cout << "Edep in FCAL1 FCAl2 : " << StepAction->GetEdepFCAL("FCALEm") << " "; - G4cout << StepAction->GetEdepFCAL("FCALHad") << endl; + G4cout << StepAction->GetEdepFCAL("FCALHad") << G4endl; } - +#endif //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/lAr_calorimeter/src/FCALTBEventActionMessenger.cc b/examples/advanced/lAr_calorimeter/src/FCALTBEventActionMessenger.cc index 367b29e17f..de08a4d0ef 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTBEventActionMessenger.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTBEventActionMessenger.cc @@ -22,6 +22,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// Author: Patricia Mendez (patricia.mendez@cern.ch) + + + #include "FCALTBEventActionMessenger.hh" #include "FCALTBEventAction.hh" @@ -32,7 +36,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... FCALTBEventActionMessenger::FCALTBEventActionMessenger(FCALTBEventAction* EvAct) -:fcaltbeventAction(EvAct) +:eventAction(EvAct) { DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); DrawCmd->SetGuidance("Draw the tracks in the event"); @@ -63,10 +67,10 @@ void FCALTBEventActionMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { if(command == DrawCmd) - {fcaltbeventAction->SetDrawFlag(newValue);} - + {eventAction->SetDrawFlag(newValue);} + if(command == PrintCmd) - {fcaltbeventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} + {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} } diff --git a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetup.cc b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetup.cc index 4621244e95..6a65180b6a 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetup.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetup.cc @@ -60,7 +60,7 @@ FCALTestbeamSetup::FCALTestbeamSetup() { -#include "FCALTestbeamSetupParameters.icc" +#include "FCALTestbeamSetupParameters.input" }; FCALTestbeamSetup::~FCALTestbeamSetup() {}; @@ -142,7 +142,7 @@ G4VPhysicalVolume * FCALTestbeamSetup::Construct() "HoleCntrScintLogical"); // Hole in scintillator Counter G4Tubs * SolidHole = - new G4Tubs("HoleSolid", ScintHoleRmin, ScintHoleRmax, ScintHoleLength, + new G4Tubs("HoleSolid", ScintHoleRmin, ScintHoleRmax, ScintHoleLenght, HoleStartPhi, HoleDPhi); G4LogicalVolume * LogicalHole = new G4LogicalVolume(SolidHole, FCALMaterials->Material("Air"), "HoleLogical"); @@ -163,7 +163,7 @@ G4VPhysicalVolume * FCALTestbeamSetup::Construct() //hole in ABsorber, both Lead and Al. G4Tubs * SolidHoleAbs = - new G4Tubs("HoleSolidAbs", AbsrbHoleRmin, AbsrbHoleRmax, AbsrbHoleLength, + new G4Tubs("HoleSolidAbs", AbsrbHoleRmin, AbsrbHoleRmax, AbsrbHoleLenght, HoleStartPhi, HoleDPhi); G4LogicalVolume * LogicalHoleAbs = new G4LogicalVolume(SolidHoleAbs, FCALMaterials->Material("Air"),"HoleAbsLogical"); diff --git a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupParameters.icc b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupParameters.icc deleted file mode 100644 index bcf7370025..0000000000 --- a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupParameters.icc +++ /dev/null @@ -1,205 +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. * -// ******************************************************************** - -MotherSizeX = 500.*cm; -MotherSizeY = 500.*cm ; -MotherSizeZ = 3300.*cm; - -//--------------------------- -// Sciantillators S1, S2, S3 -//--------------------------- -ScintS1andS3SizeX = 3.5*cm; -ScintS1andS3SizeY = 3.5*cm; -ScintS1andS3SizeZ = 0.5*cm; - -ScintS2SizeX = 7.5*cm; -ScintS2SizeY = 15.*cm; -ScintS2SizeZ = 0.5*cm; - -ScintS1_S3PosX = 0.*cm; -ScintS1_S3PosY = 0.*cm; -ScintS1PosZ = 3221.5*cm; -ScintS2PosZ = 3107.5*cm; -ScintS3PosZ = 3104.5*cm; - - -//---------- -// MWPC's -//---------- -MWPCSizeX = 6.4*cm; -MWPCSizeY = 6.4*cm; -MWPCSizeZ = 2.*cm; -MWPCPosX = 0.; -MWPCPosY = 0.; -MWPCPosZ[0] = 2591.*cm; -MWPCPosZ[1] = 895.*cm; -MWPCPosZ[2] = 440.*cm; -MWPCPosZ[3] = 352.*cm; -MWPCPosZ[4] = 349.*cm; - - -//------------------- -// Hole Counter -//------------------- -HoleCntrSizeX = 10.0*cm; -HoleCntrSizeY = 40.0*cm; -HoleCntrScintSizeZ = 1.0*cm; -HoleCntrAbsrbSizeZ = 0.5*cm; // Absrb = Pb or Al - -HoleCntrScintPosX = 0.0*cm; -HoleCntrScintPosY = 18.75*cm; -HoleCntrScintPosZ = 289.0*cm; - -HoleCntrPbPosX = 0.0*cm; -HoleCntrPbPosY = 18.75*cm; -HoleCntrPbPosZ = 290.5*cm; - -HoleCntrAlPosX = 0.0*cm; -HoleCntrAlPosY = 18.75*cm; -HoleCntrAlPosZ = 291.5*cm; - -ScintHoleRmin = 0.0*cm; -ScintHoleRmax = 2.5*cm; -ScintHoleLength = 1.0*cm; -AbsrbHoleRmin = 0.0*cm; // Absrb = Pb or Al -AbsrbHoleRmax = 2.75*cm; -AbsrbHoleLength = 0.5*cm; -HoleStartPhi = 0.; -HoleDPhi = 2.*pi; - -HolePosX = 0.0*cm; -HolePosY = -18.75*cm; -HolePosZ = 0.0*cm; - -//------------------ -// Lead Wall -//------------------ -LeadWallSizeX = 100.0*cm; -LeadWallSizeY = 67.5*cm; -LeadWallSizeZ = 0.55*cm; - -LeadWallSlitSizeX = 2.5*cm; -LeadWallSlitSizeY = 10.0*cm; -LeadWallSlitSizeZ = 0.55*cm; - -LeadWallPosX = 0.0*cm; -LeadWallPosY = 0.0*cm; -LeadWallPosZ = 249.55*cm; - -//------------------ -// Iron Wall -//------------------ -IronWallSizeX = 130.0*cm; -IronWallSizeY = 75.0*cm; -IronWallSizeZ = 20.0*cm; - -IronWallSlitSizeX = 5.0*cm; -IronWallSlitSizeY = 30.0*cm; -IronWallSlitSizeZ = 20.0*cm; - -IronWallPosX = 0.0*cm; -IronWallPosY = 0.0*cm; -IronWallPosZ = 162.0*cm; - - -//---------------- -// Tail Catcher -//---------------- -NBigScint = 3; -BigScintSizeX = 60.0*cm; -BigScintSizeY = 60.0*cm; -NSmallScint = 4; -SmallScintSizeX = 20.0*cm; -SmallScintSizeY = 20.0*cm; -ScintSizeZ = 1.0*cm; -ScintPosX = 0.0*cm; -ScintPosY = 0.0*cm; -ScintPosZ[0] = -188.0*cm; // Big Scintillators -ScintPosZ[1] = -208.0*cm; -ScintPosZ[2] = -229.0*cm; -ScintPosZ[3] = -247.0*cm; // Small Scintillators -ScintPosZ[4] = -261.0*cm; -ScintPosZ[5] = -275.0*cm; -ScintPosZ[6] = -289.0*cm; - -NBigIron = 2; -BigIronSizeX = 60.0*cm; -BigIronSizeY = 60.0*cm; -NSmallIron = 4; -SmallIronSizeX = 20.0*cm; -SmallIronSizeY = 20.0*cm; -IronSizeZ = 5.0*cm; -IronPosX = 0.0*cm; -IronPosY = 0.0*cm; -IronPosZ[0] = -200.0*cm; // Big Iron Plates -IronPosZ[1] = -219.0*cm; -IronPosZ[2] = -240.0*cm; // Small Iron Plates -IronPosZ[3] = -254.0*cm; -IronPosZ[4] = -268.0*cm; -IronPosZ[5] = -282.0*cm; - -//------------------------- -// Concrete Walls A and B -//------------------------- -ConcWallSizeX = 130.0*cm; -ConcWallSizeY = 120.*cm; -ConcWallSizeZ = 80.*cm; -ConcWallPosX = 0.0*cm; -ConcWallPosY = 0.0*cm; -ConcWallAPosZ = -375.0*cm; -ConcWallBPosZ = -535.0*cm; - -ConcWallInsSizeX = 40.0*cm; -ConcWallInsSizeY = 40.0*cm; -ConcWallInsSizeZ = 80.0*cm; -ConcWallInsPosZ = 0.0*cm; - -//------------------ -// Muon Counter -//------------------ -MuCntrSIzeX = 20.0*cm; -MuCntrSIzeY = 20.0*cm; -MuCntrSIzeZ = 1.0*cm; -MuCntrPosX = 0.0*cm; -MuCntrPosY = 0.0*cm; -MuCntrPosZ = -681.0*cm; - - - -//------------------ -// Cryostat -//------------------ -CryostatPosX = 0.; -CryostatPosY = 50.*cm; -CryostatPosZ = 0.; - - - -/* -EMModulePosX = 0.; -EMModulePosY = 0.; -EMModulePosZ = -1.691*cm; - -HadModulePosX = 0.; -HadModulePosY = 0.; -HadModulePosZ = -48.991*cm; -*/ diff --git a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc index 4df8a0e606..4b1295af1f 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALTestbeamSetupSD.cc,v 1.4 2002/12/12 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALTestbeamSetupSD.cc,v 1.5 2002/12/17 15:53:30 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -127,20 +127,20 @@ G4bool FCALTestbeamSetupSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist void FCALTestbeamSetupSD::EndOfEvent(G4HCofThisEvent* HCE) { - G4cout << " Visisble Energy in S1 , S2 , S3 in (MeV)" << endl; - G4cout << EBeamS1/MeV << " " << EBeamS2/MeV << " " << EBeamS3/MeV << " " << endl; + G4cout << " Visisble Energy in S1 , S2 , S3 in (MeV)" << G4endl; + G4cout << EBeamS1/MeV << " " << EBeamS2/MeV << " " << EBeamS3/MeV << " " << G4endl; - G4cout << " Visible Energy in Hole Counter (MeV) " << endl; - G4cout << EHoleScint/MeV << " " << EBeamHole/MeV << endl; + G4cout << " Visible Energy in Hole Counter (MeV) " << G4endl; + G4cout << EHoleScint/MeV << " " << EBeamHole/MeV << G4endl; - G4cout << " Visible Energy in Upstream Dead Materials " << endl; - G4cout << EBeamDead/MeV << endl; + G4cout << " Visible Energy in Upstream Dead Materials " << G4endl; + G4cout << EBeamDead/MeV << G4endl; - G4cout << " Visible Energy in Tail Catcher Scintillator" << endl; - for (G4int j=1; j<8 ; j++) {G4cout << ETailVis[j]/MeV << " " ;}; G4cout << endl; + G4cout << " Visible Energy in Tail Catcher Scintillator" << G4endl; + for (G4int j=1; j<8 ; j++) {G4cout << ETailVis[j]/MeV << " " ;}; G4cout << G4endl; - G4cout << " Visible Energy in Tail Catcher Absorber" << endl; - for (j=1; j<7 ; j++) {G4cout << ETailDep[j]/MeV << " " ;}; G4cout << endl; + G4cout << " Visible Energy in Tail Catcher Absorber" << G4endl; + for (j=1; j<7 ; j++) {G4cout << ETailDep[j]/MeV << " " ;}; G4cout << G4endl; // Write data in File //------------------- @@ -156,11 +156,11 @@ void FCALTestbeamSetupSD::EndOfEvent(G4HCofThisEvent* HCE) ofstream BeamDatafile(FileName, iostemp); // BeamDatafile.precision(5); - BeamDatafile << EBeamS1/MeV << " " << EBeamS2/MeV << " " << EBeamS3/MeV << endl; - BeamDatafile << EBeamHole/MeV << endl; - BeamDatafile << EBeamDead/MeV << endl; - for (j=1; j<8 ; j++) { BeamDatafile << ETailVis[j]/MeV << " " ;} ; BeamDatafile << endl; - for (j=1; j<7 ; j++) { BeamDatafile << ETailDep[j]/MeV << " " ;} ; BeamDatafile << endl; + BeamDatafile << EBeamS1/MeV << " " << EBeamS2/MeV << " " << EBeamS3/MeV << G4endl; + BeamDatafile << EBeamHole/MeV << G4endl; + BeamDatafile << EBeamDead/MeV << G4endl; + for (j=1; j<8 ; j++) { BeamDatafile << ETailVis[j]/MeV << " " ;} ; BeamDatafile << G4endl; + for (j=1; j<7 ; j++) { BeamDatafile << ETailDep[j]/MeV << " " ;} ; BeamDatafile << G4endl; BeamDatafile.close(); diff --git a/examples/advanced/lAr_calorimeter/src/FCALVisManager.cc b/examples/advanced/lAr_calorimeter/src/FCALVisManager.cc index 4e7611f21d..f263646b8e 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALVisManager.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALVisManager.cc @@ -23,8 +23,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: FCALVisManager.cc,v 1.4 2002/12/12 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: FCALVisManager.cc,v 1.5 2002/12/17 15:53:30 pmendez Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. @@ -41,7 +41,7 @@ #include "G4DAWNFILE.hh" #include "G4GAGTree.hh" #include "G4HepRepFile.hh" -#include "G4HepRep.hh" +//#include "G4HepRep.hh" #include "G4RayTracer.hh" #include "G4VRML1File.hh" #include "G4VRML2File.hh" @@ -116,8 +116,8 @@ void FCALVisManager::RegisterGraphicsSystems () { RegisterGraphicsSystem (new G4ASCIITree); RegisterGraphicsSystem (new G4DAWNFILE); RegisterGraphicsSystem (new G4GAGTree); - RegisterGraphicsSystem (new G4HepRepFile); - RegisterGraphicsSystem (new G4HepRep); + // RegisterGraphicsSystem (new G4HepRepFile); + // RegisterGraphicsSystem (new G4HepRep); RegisterGraphicsSystem (new G4RayTracer); RegisterGraphicsSystem (new G4VRML1File); RegisterGraphicsSystem (new G4VRML2File); diff --git a/examples/advanced/lAr_calorimeter/vis.mac b/examples/advanced/lAr_calorimeter/vis.mac new file mode 100644 index 0000000000..8423bf0e68 --- /dev/null +++ b/examples/advanced/lAr_calorimeter/vis.mac @@ -0,0 +1,42 @@ +# +# Macro file for the initialization phase of +# +# Sets some default verbose +# and initializes the graphic. +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +# Create empty scene ("world" is default) +/vis/scene/create +# +# Create a scene handler for a specific graphics system +# Edit the next line(s) to choose another graphic system +# + +# +/vis/open DAWNFILE +/vis/open OGLIX +# +# Draw scene +/vis/viewer/zoom 1.4 +/vis/viewer/flush +# +# for drawing the tracks +# if too many tracks cause core dump => storeTrajectory 0 +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +# +/event/drawTracks all +# +# set magnetic field for visualization only, and limit +# the step for a proper visualization of the tracjectories +# +#/calor/setField 4 tesla +#/tracking/stepMax 1 m +#/tracking/stepMax 0.25 cm + + + diff --git a/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh b/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh index efec57ae4f..80d226f1a5 100644 --- a/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh +++ b/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh @@ -22,7 +22,7 @@ // // // $Id: DMXMinEkineCuts.hh,v 1.2 2002/06/18 10:17:30 ahoward Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc b/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc index 98caebe5cf..c832bd9c98 100644 --- a/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc +++ b/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc @@ -22,7 +22,7 @@ // // // $Id: DMXMinEkineCuts.cc,v 1.2 2002/06/18 10:17:30 ahoward Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/xray_telescope/History b/examples/advanced/xray_telescope/History index d0de0790c3..e8713fae7a 100644 --- a/examples/advanced/xray_telescope/History +++ b/examples/advanced/xray_telescope/History @@ -1,4 +1,4 @@ -$Id: History,v 1.14 2001/12/05 19:10:44 nartallo Exp $ +$Id: History,v 1.15 2003/02/19 09:08:36 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,8 +17,13 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19.02.2003 - G.Cosmo, tag xraytel-V05-00-00 + Removed redundant inclusion of SystemOfUnits.h. + Should use CLHEP headers instead. + 05.12.2001 - RN, tag xraytel-V03-02-01 Try again + 05.12.2001 - RN, tag xraytel-V03-02-00 Adopted new analysis design by AP as in LowEnTest Small design iteration by MGP implemented diff --git a/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh b/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh index 806608514f..d378d79621 100644 --- a/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh +++ b/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh @@ -22,7 +22,7 @@ // // // $Id: XrayTelAnalysis.hh,v 1.6 2002/11/19 18:03:14 santin Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch) // (copy of his UserAnalyser class) diff --git a/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc b/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc index 2806265413..a9fa5eabc9 100644 --- a/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc +++ b/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc @@ -22,7 +22,7 @@ // // // $Id: XrayTelAnalysis.cc,v 1.8 2002/11/19 18:02:42 santin Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch) // (copied from his UserAnalyser class) diff --git a/examples/advanced/xray_telescope/src/XrayTelRunAction.cc b/examples/advanced/xray_telescope/src/XrayTelRunAction.cc index 31ed39c5dc..5e9d8235cf 100644 --- a/examples/advanced/xray_telescope/src/XrayTelRunAction.cc +++ b/examples/advanced/xray_telescope/src/XrayTelRunAction.cc @@ -64,8 +64,6 @@ #include "G4VVisManager.hh" #include "XrayTelRunAction.hh" #include "XrayTelAnalysis.hh" -#include "SystemOfUnits.h" - XrayTelRunAction::XrayTelRunAction() :nEnteringTracks(0), totEnteringEnergy(0.) diff --git a/examples/extended/analysis/A01/A01.aida b/examples/extended/analysis/A01/A01.aida index 194695e9f2..eda0e960f0 100644 Binary files a/examples/extended/analysis/A01/A01.aida and b/examples/extended/analysis/A01/A01.aida differ diff --git a/examples/extended/analysis/A01/History b/examples/extended/analysis/A01/History index d826f77095..e6060596e8 100644 --- a/examples/extended/analysis/A01/History +++ b/examples/extended/analysis/A01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2002/11/26 19:43:24 duns Exp $ +$Id: History,v 1.5 2003/04/04 17:29:39 duns Exp $ ------------------------------------------------------------------- ========================================================= @@ -10,6 +10,12 @@ $Id: History,v 1.2 2002/11/26 19:43:24 duns Exp $ ---------------------------------------------------------- --------------------------------------------------------------------------- +3rd April 2003 Mark Donszelmann (examples-analysis-A01-V05-00-00) +- Added 2 more histograms to the example +- Fixed NullPointerException by letting SDManager delete the detectors created in + DetectorConstruction.cc +- Added comment when quitting Geant4 that JAS window still needs closing. + 26th November 2002 Mark Donszelmann - Fixed DrifChamberHit to have a reasonable screensize (2) rather than 0.1 - Fixed minimum value for EmCalHit color to be visible (0.4). diff --git a/examples/extended/analysis/A01/README b/examples/extended/analysis/A01/README new file mode 100644 index 0000000000..0b879bb554 --- /dev/null +++ b/examples/extended/analysis/A01/README @@ -0,0 +1,14 @@ +A01 Example +----------- +By default (without sourcing setup-analysis) the compilation +will link in a DummyAnalysisFactory which will not produce +anything for analysis. + +The default graphics drivers are always linked in and can be used +to generate event output. + +You can link this example with a specific AIDA compliant +analysis implementation. See other READMEs. + +README.JAIDA for linking JAS-AIDA to Geant4. +http://java.freehep.org/jaida/RelatedProjects.html diff --git a/examples/extended/analysis/A01/README.JAIDA b/examples/extended/analysis/A01/README.JAIDA new file mode 100644 index 0000000000..2c745ea40e --- /dev/null +++ b/examples/extended/analysis/A01/README.JAIDA @@ -0,0 +1,18 @@ +JAIDA-Geant4 +============ +http://java.freehep.org/lib/freehep/doc/aida/geant4.html +----------- + +Ported to: Linux-g++, WIN32-VC, SUN-CC, Darwin-g++, Darwin-g++ + +To link with JAIDA and JAS, make sure you have: + +1. JDK_HOME set to your Java Standard Development Kit (1.4.x or up). +2. the JAIDA-x.x.x-Geant4.x.x tar or zip file overlayed on geant4. +3. GEANT4_HOME set to your geant4 directory. + +now execute: + +source setup-analysis (.csh, .sh, .win32) +gmake + diff --git a/examples/extended/analysis/A01/heprep2.mac b/examples/extended/analysis/A01/heprep2.mac index 9c6400e360..9cae9c149a 100644 --- a/examples/extended/analysis/A01/heprep2.mac +++ b/examples/extended/analysis/A01/heprep2.mac @@ -5,12 +5,12 @@ # # Create empty scene ("world" is default) # -/vis/scene/create +/vis/scene/create G4Output # # Create a scene handler for a specific graphics system # Edit the next line(s) to choose another graphic system # -/vis/open HepRep +/vis/open HepRepXML /vis/viewer/set/culling global false #/vis/scene/endOfEventAction accumulate # diff --git a/examples/extended/analysis/A01/include/A01DetectorConstruction.hh b/examples/extended/analysis/A01/include/A01DetectorConstruction.hh index f7b954b7ee..26f0be449a 100644 --- a/examples/extended/analysis/A01/include/A01DetectorConstruction.hh +++ b/examples/extended/analysis/A01/include/A01DetectorConstruction.hh @@ -20,7 +20,7 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: A01DetectorConstruction.hh,v 1.3 2002/12/13 11:34:28 gunter Exp $ +// $Id: A01DetectorConstruction.hh,v 1.4 2002/12/20 21:40:29 duns Exp $ // -------------------------------------------------------------- // @@ -66,15 +66,6 @@ class A01DetectorConstruction : public G4VUserDetectorConstruction G4Material* lead; //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - G4VSensitiveDetector* hodoscope1; - G4VSensitiveDetector* hodoscope2; - G4VSensitiveDetector* chamber1; - G4VSensitiveDetector* chamber2; - G4VSensitiveDetector* EMcalorimeter; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - G4VSensitiveDetector* HadCalorimeter; -//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - G4VisAttributes* worldVisAtt; G4VisAttributes* magneticVisAtt; G4VisAttributes* armVisAtt; diff --git a/examples/extended/analysis/A01/setup-analysis.csh b/examples/extended/analysis/A01/setup-analysis.csh index 5bfb9fedc5..b5b857daba 100644 --- a/examples/extended/analysis/A01/setup-analysis.csh +++ b/examples/extended/analysis/A01/setup-analysis.csh @@ -1,36 +1,76 @@ -# -# Change this to point to your Java installation -# -setenv JDK_HOME /usr/java/jdk1.4.1 -if (! -e $JDK_HOME/bin/java) then - echo "You need to install Java and/or modify script to set JDK_HOME correctly" - goto end -endif -setenv G4ANALYSIS_USE 1 -setenv G4ANALYSIS_AIDA_CONFIG_LIBS "-lAIDAJNI -lFHJNI -L$JDK_HOME/jre/lib/i386/client -ljvm" -touch src/DummyAnalysisFactory.cc - -setenv JVM_ARGS "-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" -setenv LD_LIBRARY_PATH $JDK_HOME/jre/lib/i386/client:$JDK_HOME/jre/lib/i386 - -setenv JLIBPATH $G4INSTALL/lib/java -if (! -e $JLIBPATH/aida.jar) then - echo "The AIDA.jar files seem to be missing, make sure JAIDA-G4 patch has been applied" - echo "and that G4INSTALL is set correctly" - goto end -endif -setenv CLASSPATH "$JLIBPATH/JASAIDA.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/aida.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/aida-dev.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/freehep-hep.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/freehep-base.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/openide-lookup.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/jas.jar" -setenv CLASSPATH "$CLASSPATH:$JLIBPATH/jel.jar" - -echo "JDK_HOME set to $JDK_HOME" -echo "JVM_ARGS set to $JVM_ARGS" -echo "CLASSPATH set to $CLASSPATH" -echo "LD_LIBRARY_PATH set to $LD_LIBRARY_PATH" -echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" -end: +# +# Setup for Unix (Linux, Solaris, MacOS X) +# + +# +# Change this to point to your Java installation +# +#setenv JDK_HOME "/usr/java/jdk1.4.1" +# +# +# No User Configuration below. +# +if (! $?JDK_HOME) then + setenv JDK_HOME /usr/java/jdk1.4.1 +endif +if (! -e $JDK_HOME/bin/java) then + echo "You need to install Java and/or modify script to set JDK_HOME correctly" + goto end +endif + +if (! $?GEANT4_HOME ) then +if (! $?G4INSTALL ) then + setenv GEANT4_HOME "../../../.." +else + setenv GEANT4_HOME $G4INSTALL +endif +endif +setenv JLIBPATH "$GEANT4_HOME/extlib/java" +if (! -e $JLIBPATH/aida.jar) then + echo "The AIDA.jar files seem to be missing, make sure JAIDA-Geant4 patch has been applied" + echo "and that GEANT4_HOME is set correctly" + goto end +endif + +setenv G4ANALYSIS_USE 1 +setenv G4ANALYSIS_AIDA_CONFIG_LIBS "-L$GEANT4_HOME/extlib/$G4SYSTEM -lAIDAJNI -lFHJNI" +touch src/DummyAnalysisFactory.cc + +setenv JVM_ARGS "-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" +switch ($G4SYSTEM) + case "Linux*": + setenv LD_LIBRARY_PATH $JDK_HOME/jre/lib/i386:${LD_LIBRARY_PATH} + setenv LD_LIBRARY_PATH $JDK_HOME/jre/lib/i386/client:${LD_LIBRARY_PATH} + setenv LD_LIBRARY_PATH ${GEANT4_HOME}/extlib/${G4SYSTEM}:${LD_LIBRARY_PATH} + setenv G4ANALYSIS_AIDA_CONFIG_LIBS "$G4ANALYSIS_AIDA_CONFIG_LIBS -L$JDK_HOME/jre/lib/i386/client -ljvm" + breaksw + case "SUN*": + setenv LD_LIBRARY_PATH $JDK_HOME/jre/lib/sparc:${LD_LIBRARY_PATH} + setenv LD_LIBRARY_PATH $JDK_HOME/jre/lib/sparc/client:${LD_LIBRARY_PATH} + setenv LD_LIBRARY_PATH ${GEANT4_HOME}/extlib/${G4SYSTEM}:${LD_LIBRARY_PATH} + setenv G4ANALYSIS_AIDA_CONFIG_LIBS "$G4ANALYSIS_AIDA_CONFIG_LIBS -L$JDK_HOME/jre/lib/sparc -ljvm" + breaksw + case "Darwin*": + setenv G4ANALYSIS_AIDA_CONFIG_LIBS "$G4ANALYSIS_AIDA_CONFIG_LIBS -framework JavaVM" + breaksw + default: + breaksw +endsw + +setenv CLASSPATH "$JLIBPATH/JASAIDA.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/aida.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/aida-dev.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/freehep-hep.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/freehep-base.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/openide-lookup.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/jas.jar" +setenv CLASSPATH "${CLASSPATH}:$JLIBPATH/jel.jar" + +echo "JDK_HOME set to $JDK_HOME" +echo "JVM_ARGS set to $JVM_ARGS" +echo "CLASSPATH set to $CLASSPATH" +if ( $?LD_LIBRARY_PATH ) then + echo "LD_LIBRARY_PATH set to $LD_LIBRARY_PATH" +endif +echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" +end: diff --git a/examples/extended/analysis/A01/setup-analysis.sh b/examples/extended/analysis/A01/setup-analysis.sh index e313b63577..5313b95bf3 100644 --- a/examples/extended/analysis/A01/setup-analysis.sh +++ b/examples/extended/analysis/A01/setup-analysis.sh @@ -1,37 +1,83 @@ -# -# Change this to point to your Java installation -# -export JDK_HOME=/usr/java/jdk1.4.1 -if ! test -e $JDK_HOME/bin/java -then - echo "You need to install Java and/or modify script to set JDK_HOME correctly" - return -fi -export G4ANALYSIS_USE=1 -export G4ANALYSIS_AIDA_CONFIG_LIBS="-lFREEHEP -L$JDK_HOME/jre/lib/i386/client -ljvm" -touch src/DummyAnalysisFactory.cc - -export JVM_ARGS="-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" -export LD_LIBRARY_PATH=$JDK_HOME/jre/lib/i386/client:$JDK_HOME/jre/lib/i386 - -export JLIBPATH=$G4INSTALL/lib/java -if ! test -e $JLIBPATH/aida.jar -then - echo "The AIDA.jar files seem to be missing, make sure JAIDA-G4 patch has been applied" - echo "and that G4INSTALL is set correctly" - return -fi -export CLASSPATH="$JLIBPATH/JASAIDA.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/aida.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/aida-dev.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/freehep-hep.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/freehep-base.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/openide-lookup.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/jas.jar" -CLASSPATH="$CLASSPATH:$JLIBPATH/jel.jar" - -echo "JDK_HOME set to $JDK_HOME" -echo "JVM_ARGS set to $JVM_ARGS" -echo "CLASSPATH set to $CLASSPATH" -echo "LD_LIBRARY_PATH set to $LD_LIBRARY_PATH" -echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" +# +# Setup for Unix (Linux, Solaris, MacOS X) +# + +# +# Change this to point to your Java installation +# +#export JDK_HOME="/usr/java/jdk1.4.1" +# +# +# No User Configuration below. +# +if test ! "${JDK_HOME:+x}" +then + export JDK_HOME=/usr/java/jdk1.4.1 +fi +if ! test -e $JDK_HOME/bin/java +then + echo "You need to install Java and/or modify script to set JDK_HOME correctly" + return +fi + +if test ! "${GEANT4_HOME:+x}" +then +if test ! "${G4INSTALL:+x}" +then + GEANT4_HOME="../../../.." +else + GEANT4_HOME=$G4INSTALL +fi +fi +export JLIBPATH=$GEANT4_HOME/extlib/java +if ! test -e $JLIBPATH/aida.jar +then + echo "The AIDA.jar files seem to be missing, make sure JAIDA-Geant4 patch has been applied" + echo "and that GEANT4_HOME is set correctly" + return +fi + +export G4ANALYSIS_USE=1 +export G4ANALYSIS_AIDA_CONFIG_LIBS="-L$GEANT4_HOME/extlib/$G4SYSTEM -lAIDAJNI -lFHJNI" +touch src/DummyAnalysisFactory.cc + +export JVM_ARGS="-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" +case $G4SYSTEM in +Linux*) + LD_LIBRARY_PATH=$JDK_HOME/jre/lib/i386:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$JDK_HOME/jre/lib/i386/client:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$GEANT4_HOME/extlib/$G4SYSTEM:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + G4ANALYSIS_AIDA_CONFIG_LIBS="$G4ANALYSIS_AIDA_CONFIG_LIBS -L$JDK_HOME/jre/lib/i386/client -ljvm" + ;; +SUN*) + LD_LIBRARY_PATH=$JDK_HOME/jre/lib/sparc:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$JDK_HOME/jre/lib/sparc/client:$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$GEANT4_HOME/extlib/$G4SYSTEM:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH + G4ANALYSIS_AIDA_CONFIG_LIBS="$G4ANALYSIS_AIDA_CONFIG_LIBS -L$JDK_HOME/jre/lib/sparc -ljvm" + ;; +Darwin*) + G4ANALYSIS_AIDA_CONFIG_LIBS="$G4ANALYSIS_AIDA_CONFIG_LIBS -framework JavaVM" + ;; +*) + break +esac + +export CLASSPATH="$JLIBPATH/JASAIDA.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/aida.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/aida-dev.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/freehep-hep.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/freehep-base.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/openide-lookup.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/jas.jar" +CLASSPATH="$CLASSPATH:$JLIBPATH/jel.jar" + +echo "JDK_HOME set to $JDK_HOME" +echo "JVM_ARGS set to $JVM_ARGS" +echo "CLASSPATH set to $CLASSPATH" +if test "${GEANT4_HOME:+x}" +then + echo "LD_LIBRARY_PATH set to $LD_LIBRARY_PATH" +fi +echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" diff --git a/examples/extended/analysis/A01/setup-analysis.win32 b/examples/extended/analysis/A01/setup-analysis.win32 index c9b859d852..e70d4311b5 100644 --- a/examples/extended/analysis/A01/setup-analysis.win32 +++ b/examples/extended/analysis/A01/setup-analysis.win32 @@ -1,37 +1,61 @@ -# -# Change this to point to your Java installation -# -export JDK_HOME="/cygdrive/c/java/j2sdk1.4.1" -if ! test -e $JDK_HOME/bin/java -then - echo "You need to install Java and/or modify script to set JDK_HOME correctly" - return -fi -export G4ANALYSIS_USE=1 -export G4ANALYSIS_AIDA_CONFIG_LIBS="-lAIDAJNI -lFHJNI -ljvm" -touch src/DummyAnalysisFactory.cc - -export JVM_ARGS="-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" -export PATH=$PATH:$JDK_HOME/jre/bin/hotspot:$JDK_HOME/jre/bin/client - -export JLIBPATH=$G4INSTALL/lib/java -if ! test -e $JLIBPATH/aida.jar -then - echo "The AIDA.jar files seem to be missing, make sure JAIDA-G4 patch has been applied" - echo "and that G4INSTALL is set correctly" - return -fi -export CLASSPATH="$JLIBPATH/JASAIDA.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/aida.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/aida-dev.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/freehep-hep.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/freehep-base.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/openide-lookup.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/jas.jar" -CLASSPATH="$CLASSPATH;$JLIBPATH/jel.jar" - -echo "JDK_HOME set to $JDK_HOME" -echo "JVM_ARGS set to $JVM_ARGS" -echo "CLASSPATH set to $CLASSPATH" -echo "PATH set to $PATH" -echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" +# +# Setup for Windows +# + +# +# Change this to point to your Java installation +# +#export JDK_HOME="/cygdrive/c/java/j2sdk1.4.1" +# +# +# No User Configuration below. +# +if test ! "${JDK_HOME:+x}" +then + export JDK_HOME="/cygdrive/c/java/j2sdk1.4.1" +fi +if ! test -e $JDK_HOME/bin/java +then + echo "You need to install Java and/or modify script to set JDK_HOME correctly" + return +fi + +if test ! "${GEANT4_HOME:+x}" +then +if test ! "${G4INSTALL:+x}" +then + GEANT4_HOME="../../../.." +else + GEANT4_HOME=$G4INSTALL +fi +fi +export JLIBPATH=$GEANT4_HOME/extlib/java +if ! test -e $JLIBPATH/aida.jar +then + echo "The AIDA.jar files seem to be missing, make sure JAIDA-Geant4 patch has been applied" + echo "and that GEANT4_HOME is set correctly" + return +fi + +export G4ANALYSIS_USE=1 +cp $JDK_HOME/lib/jvm.lib $GEANT4_HOME/extlib/$G4SYSTEM +export G4ANALYSIS_AIDA_CONFIG_LIBS="'-libpath:'$GEANT4_HOME/extlib/$G4SYSTEM AIDAJNI.lib FHJNI.lib jvm.lib" +touch src/DummyAnalysisFactory.cc + +export JVM_ARGS="-Dhep.aida.IAnalysisFactory=jas.aida.gui.JASGUIAnalysisFactory" +export PATH=$PATH:$JDK_HOME/jre/bin/client + +export CLASSPATH="$JLIBPATH/JASAIDA.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/aida.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/aida-dev.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/freehep-hep.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/freehep-base.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/openide-lookup.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/jas.jar" +CLASSPATH="$CLASSPATH;$JLIBPATH/jel.jar" + +echo "JDK_HOME set to $JDK_HOME" +echo "JVM_ARGS set to $JVM_ARGS" +echo "CLASSPATH set to $CLASSPATH" +echo "PATH set to $PATH" +echo "G4ANALYSIS_AIDA_CONFIG_LIBS set to $G4ANALYSIS_AIDA_CONFIG_LIBS" diff --git a/examples/extended/analysis/A01/src/A01AnalysisManager.cc b/examples/extended/analysis/A01/src/A01AnalysisManager.cc index b75c80dab9..f6261a8e0b 100644 --- a/examples/extended/analysis/A01/src/A01AnalysisManager.cc +++ b/examples/extended/analysis/A01/src/A01AnalysisManager.cc @@ -104,6 +104,7 @@ A01AnalysisManager::~A01AnalysisManager() delete tree; delete tFactory; delete hFactory; + G4cout << "Warning: Geant4 will NOT exit unless you close the JAS-AIDA window." << G4endl; delete analysisFactory; } } diff --git a/examples/extended/analysis/A01/src/A01DetectorConstruction.cc b/examples/extended/analysis/A01/src/A01DetectorConstruction.cc index 652013a63a..af00022b2a 100644 --- a/examples/extended/analysis/A01/src/A01DetectorConstruction.cc +++ b/examples/extended/analysis/A01/src/A01DetectorConstruction.cc @@ -20,7 +20,7 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: A01DetectorConstruction.cc,v 1.4 2002/12/13 11:34:33 gunter Exp $ +// $Id: A01DetectorConstruction.cc,v 1.5 2002/12/20 21:40:30 duns Exp $ // -------------------------------------------------------------- // @@ -63,8 +63,7 @@ A01DetectorConstruction::A01DetectorConstruction() : air(0), argonGas(0), scintillator(0), CsI(0), lead(0), - hodoscope1(0), hodoscope2(0), chamber1(0), chamber2(0), - EMcalorimeter(0), HadCalorimeter(0), worldVisAtt(0), magneticVisAtt(0), + worldVisAtt(0), magneticVisAtt(0), armVisAtt(0), hodoscopeVisAtt(0), chamberVisAtt(0), wirePlaneVisAtt(0), EMcalorimeterVisAtt(0), cellVisAtt(0), HadCalorimeterVisAtt(0), HadCalorimeterCellVisAtt(0), @@ -84,13 +83,6 @@ A01DetectorConstruction::~A01DetectorConstruction() DestroyMaterials(); - delete hodoscope1; - delete hodoscope2; - delete chamber1; - delete chamber2; - delete EMcalorimeter; - delete HadCalorimeter; - delete worldVisAtt; delete magneticVisAtt; delete armVisAtt; @@ -105,6 +97,16 @@ A01DetectorConstruction::~A01DetectorConstruction() G4VPhysicalVolume* A01DetectorConstruction::Construct() { + // All managed (deleted) by SDManager + G4VSensitiveDetector* hodoscope1; + G4VSensitiveDetector* hodoscope2; + G4VSensitiveDetector* chamber1; + G4VSensitiveDetector* chamber2; + G4VSensitiveDetector* EMcalorimeter; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + G4VSensitiveDetector* HadCalorimeter; +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + ConstructMaterials(); // Magnetic field ---------------------------------------------------------- diff --git a/examples/extended/analysis/A01/src/A01EventAction.cc b/examples/extended/analysis/A01/src/A01EventAction.cc index adf89a11f4..54f774fb51 100644 --- a/examples/extended/analysis/A01/src/A01EventAction.cc +++ b/examples/extended/analysis/A01/src/A01EventAction.cc @@ -20,7 +20,7 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: A01EventAction.cc,v 1.3 2002/12/13 11:34:34 gunter Exp $ +// $Id: A01EventAction.cc,v 1.4 2002/12/20 21:40:30 duns Exp $ // -------------------------------------------------------------- // @@ -87,11 +87,12 @@ A01EventAction::A01EventAction() plotter = analysisManager->createPlotter(); if (plotter) { - plotter->createRegions(2,2); + plotter->createRegions(3,2); plotter->region(0)->plot(*dc1Hits); plotter->region(1)->plot(*dc2Hits); plotter->region(2)->plot(*dc1XY); - plotter->region(3)->plot(*evstof); + plotter->region(3)->plot(*dc2XY); + plotter->region(4)->plot(*evstof); plotter->show(); } } @@ -166,7 +167,6 @@ void A01EventAction::EndOfEventAction(const G4Event* evt) } } - // Fill the tuple if (tuple) diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.cc b/examples/extended/analysis/AnaEx01/AnaEx01.cc index 897eae802e..e0dd25fe34 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01.cc +++ b/examples/extended/analysis/AnaEx01/AnaEx01.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01.cc,v 1.8 2001/11/16 14:35:10 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh index 20d5e0038d..69a741e8e3 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01AnalysisManager.hh,v 1.5 2001/11/16 14:30:50 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh index 1f6da4a24b..c922a92fbd 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01CalorHit.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh index 9f63a3eda0..8c52dd9048 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01CalorimeterSD.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh index af9efb74c6..0454425dbf 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01DetectorConstruction.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh index d0bff45e62..5136cf3857 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01DetectorMessenger.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh index 1cc0234e81..873b878390 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01EventAction.hh,v 1.4 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh index 7b4089eeb4..5f247515c5 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PhysicsList.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh index b10c8386bb..0ff429338f 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh index d33f18f3c2..1a8c45f6d1 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh index 2c4ae48231..718142ecc7 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01RunAction.hh,v 1.4 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh index 399cf798c3..06c6004abb 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01SteppingAction.hh,v 1.4 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh index 9ad8e6ac0e..26ff985189 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01SteppingVerbose.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh index 0d54b9fee3..34c38656f0 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: AnaEx01VisManager.hh,v 1.2 2001/07/11 09:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc index 3f0c718894..366a2a7024 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01AnalysisManager.cc,v 1.11 2001/11/16 14:31:11 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 14th Septembre 2000. diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc index 9387668990..552fcbe997 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01CalorHit.cc,v 1.3 2001/11/16 14:31:11 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc index 2485c00077..9be404abee 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01CalorimeterSD.cc,v 1.3 2001/11/16 14:31:12 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc index 6740a4a0fd..c75dbbaf5c 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01DetectorConstruction.cc,v 1.3 2001/11/16 14:31:12 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc index 1fc999e908..60fe0d7ac6 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01DetectorMessenger.cc,v 1.4 2002/12/05 00:24:22 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc index f3ce67fcdc..648c4857a0 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01EventAction.cc,v 1.5 2001/11/16 14:31:12 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc index 5445bd8554..04b543def0 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PhysicsList.cc,v 1.3 2001/11/16 14:31:13 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc index 7cda068542..854ed05f86 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PrimaryGeneratorAction.cc,v 1.3 2001/11/16 14:31:13 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc index 01e7cc015e..b781e38c13 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01PrimaryGeneratorMessenger.cc,v 1.4 2002/12/05 00:24:22 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc index dfd12204dc..8e699e270e 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01RunAction.cc,v 1.5 2001/11/16 14:31:13 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc index ac67c1c315..7f9986e8ad 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01SteppingAction.cc,v 1.5 2001/11/16 14:31:13 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc index bceb2ba792..d8db6f9702 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01SteppingVerbose.cc,v 1.4 2001/11/16 14:31:13 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc index 21e4bfc0e2..b755a55536 100755 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: AnaEx01VisManager.cc,v 1.5 2002/11/13 20:59:45 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/biasing/B01/exampleB01.cc b/examples/extended/biasing/B01/exampleB01.cc index cdf873b782..61f7c0abc5 100644 --- a/examples/extended/biasing/B01/exampleB01.cc +++ b/examples/extended/biasing/B01/exampleB01.cc @@ -22,7 +22,7 @@ // // // $Id: exampleB01.cc,v 1.16 2002/11/07 13:50:29 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh index bb1eb2e9d0..a8296959d2 100644 --- a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh +++ b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: B01DetectorConstruction.hh,v 1.5 2002/11/07 13:47:59 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B01DetectorConstruction_hh diff --git a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc index c589ca5405..10dde418b3 100644 --- a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc +++ b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B01DetectorConstruction.cc,v 1.7 2002/11/22 17:47:57 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B01DetectorConstruction.cc,v 1.9 2003/03/11 13:54:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/strstream" @@ -38,7 +38,6 @@ #include "G4PVPlacement.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "PhysicalConstants.h" // for importance biasing #include "G4IStore.hh" @@ -253,22 +252,21 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() fIStore = new G4IStore(*pWorldVolume); - // for the world volume repnum is -1 ! + // for the world volume repnum is 0 ! G4int n = 0; G4double imp =1; + fIStore->AddImportanceGeometryCell(1, *pWorldVolume); for (G4std::vector::iterator it = physvolumes.begin(); it != physvolumes.end(); it++) { - imp = pow(2., n++); - G4cout << "Going to assign importance: " << imp << ", to volume: " - << (*it)->GetName() << G4endl; - if (*it == pWorldVolume) + if (*it != pWorldVolume) { - // repnum -1 - fIStore->AddImportanceGeometryCell(imp, **it, -1); + imp = pow(2., n++); + G4cout << "Going to assign importance: " << imp << ", to volume: " + << (*it)->GetName() << G4endl; + fIStore->AddImportanceGeometryCell(imp, **it); } - fIStore->AddImportanceGeometryCell(imp, **it); } // the remaining part pf the geometry (rest) gets the same diff --git a/examples/extended/biasing/B01/src/B01PhysicsList.cc b/examples/extended/biasing/B01/src/B01PhysicsList.cc index e039dcdba1..831a3848a3 100644 --- a/examples/extended/biasing/B01/src/B01PhysicsList.cc +++ b/examples/extended/biasing/B01/src/B01PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: B01PhysicsList.cc,v 1.4 2002/11/07 13:48:02 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc index d43bb3f583..7144ca2185 100644 --- a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: B01PrimaryGeneratorAction.cc,v 1.7 2002/11/07 13:48:02 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B02/exampleB02.cc b/examples/extended/biasing/B02/exampleB02.cc index 46a2fb299d..ab4a503295 100644 --- a/examples/extended/biasing/B02/exampleB02.cc +++ b/examples/extended/biasing/B02/exampleB02.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: exampleB02.cc,v 1.13 2002/11/13 15:10:27 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: exampleB02.cc,v 1.14 2003/03/11 13:54:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -103,17 +103,19 @@ int main(int argc, char **argv) // --------------------------------------------------- runManager->SetUserInitialization(new B02PhysicsList); runManager->SetUserAction(new B02PrimaryGeneratorAction); - runManager->Initialize(); + // runManager->Initialize(); // create a parallel detector B02ImportanceDetectorConstruction *pdet = new B02ImportanceDetectorConstruction; + runManager->Initialize(); + // create an importance G4IStore aIstore(pdet->GetWorldVolume()); - // create a geometry cell for the world volume replpicanumber is -1! - G4GeometryCell gWorldVolumeCell(pdet->GetWorldVolume(), -1); + // create a geometry cell for the world volume replpicanumber is 0! + G4GeometryCell gWorldVolumeCell(pdet->GetWorldVolume(), 0); // set world volume importance to 1 aIstore.AddImportanceGeometryCell(1, gWorldVolumeCell); @@ -171,9 +173,9 @@ int main(int argc, char **argv) // print a table of the scores G4ScoreTable sp(&aIstore); - sp.Print(b02store.GetMapGeometryCellCellScorer(), myout); - + sp.Print(b02store.GetMapGeometryCellCellScorer(), myout); + tree->commit(); tree->close(); @@ -181,7 +183,7 @@ int main(int argc, char **argv) delete tf; delete tree; - + return 0; } diff --git a/examples/extended/biasing/B02/exampleB02.out b/examples/extended/biasing/B02/exampleB02.out index 2304392121..9f9a2feb04 100644 --- a/examples/extended/biasing/B02/exampleB02.out +++ b/examples/extended/biasing/B02/exampleB02.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/biasing/B02/include/B02CellScorer.hh b/examples/extended/biasing/B02/include/B02CellScorer.hh index 2cc7346506..90cce0f4a5 100644 --- a/examples/extended/biasing/B02/include/B02CellScorer.hh +++ b/examples/extended/biasing/B02/include/B02CellScorer.hh @@ -22,7 +22,7 @@ // // // $Id: B02CellScorer.hh,v 1.1 2002/11/08 14:52:16 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class B02CellScorer diff --git a/examples/extended/biasing/B02/include/B02CellScorerStore.hh b/examples/extended/biasing/B02/include/B02CellScorerStore.hh index 949eefcd10..b42f5ec002 100644 --- a/examples/extended/biasing/B02/include/B02CellScorerStore.hh +++ b/examples/extended/biasing/B02/include/B02CellScorerStore.hh @@ -22,7 +22,7 @@ // // // $Id: B02CellScorerStore.hh,v 1.1 2002/11/08 14:52:16 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class B02CellScorerStore diff --git a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh index b8410c9956..6c2c0f1eff 100644 --- a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: B02DetectorConstruction.hh,v 1.3 2002/11/08 14:47:42 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B02DetectorConstruction_hh diff --git a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh index 45536f4ec0..026a7b1707 100644 --- a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B02ImportanceDetectorConstruction.hh,v 1.1 2002/11/08 14:52:16 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B02ImportanceDetectorConstruction.hh,v 1.2 2003/03/11 13:54:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B02ImportanceDetectorConstruction_hh diff --git a/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh index 4dcbe1e2e4..7e5f2766b1 100644 --- a/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: B02ScoringDetectorConstruction.hh,v 1.2 2002/04/19 10:54:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B02ScoringDetectorConstruction_hh diff --git a/examples/extended/biasing/B02/src/B02CellScorer.cc b/examples/extended/biasing/B02/src/B02CellScorer.cc index 9137679c7f..50ce7fb9cb 100644 --- a/examples/extended/biasing/B02/src/B02CellScorer.cc +++ b/examples/extended/biasing/B02/src/B02CellScorer.cc @@ -22,7 +22,7 @@ // // // $Id: B02CellScorer.cc,v 1.1 2002/11/08 14:52:17 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/extended/biasing/B02/src/B02CellScorerStore.cc b/examples/extended/biasing/B02/src/B02CellScorerStore.cc index e0e8c8ec2a..8950ffa624 100644 --- a/examples/extended/biasing/B02/src/B02CellScorerStore.cc +++ b/examples/extended/biasing/B02/src/B02CellScorerStore.cc @@ -22,7 +22,7 @@ // // // $Id: B02CellScorerStore.cc,v 1.1 2002/11/08 14:52:17 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc index e70d9e4087..0fe50e042a 100644 --- a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B02DetectorConstruction.cc,v 1.6 2002/11/22 17:47:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B02DetectorConstruction.cc,v 1.7 2003/02/19 08:24:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/strstream" @@ -38,7 +38,6 @@ #include "G4PVPlacement.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "PhysicalConstants.h" // for importance biasing #include "G4IStore.hh" diff --git a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc index c85b03b7cd..82b1fed94d 100644 --- a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B02ImportanceDetectorConstruction.cc,v 1.2 2002/11/22 17:47:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B02ImportanceDetectorConstruction.cc,v 1.4 2003/03/11 13:54:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" @@ -35,7 +35,6 @@ #include "G4LogicalVolume.hh" #include "G4ThreeVector.hh" #include "G4PVPlacement.hh" -#include "PhysicalConstants.h" B02ImportanceDetectorConstruction::B02ImportanceDetectorConstruction() @@ -48,16 +47,21 @@ B02ImportanceDetectorConstruction::~B02ImportanceDetectorConstruction() void B02ImportanceDetectorConstruction::Construct() { - G4String name; - G4double A, density, temperature, pressure; - G4int z; + G4String name("none"); + G4double A(0), density(universe_mean_density), temperature(0), pressure(0); + G4int z(0); + + name = "Galactic"; + density = universe_mean_density; //from PhysicalConstants.h + pressure = 3.e-18*pascal; + temperature = 2.73*kelvin; + G4cout << density << " " << kStateGas << G4endl; G4Material *Galactic = - new G4Material(name="Galactic", z=1, A=1.01*g/mole, density, + new G4Material(name, 1., 1.01*g/mole, density, kStateGas,temperature,pressure); - ////////////////////////////////// // parallel world cylinder volume ////////////////////////////////// @@ -87,7 +91,7 @@ void B02ImportanceDetectorConstruction::Construct() G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, name, 0, false, 0); - fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, -1)); + fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, 0)); @@ -168,7 +172,7 @@ void B02ImportanceDetectorConstruction::Construct() 0); G4GeometryCell cell(*pvol, 0); fPVolumeStore.AddPVolume(cell); - + } const G4VPhysicalVolume &B02ImportanceDetectorConstruction:: @@ -214,3 +218,4 @@ G4VPhysicalVolume &B02ImportanceDetectorConstruction::GetWorldVolume() const{ return *fWorldVolume; } + diff --git a/examples/extended/biasing/B02/src/B02PhysicsList.cc b/examples/extended/biasing/B02/src/B02PhysicsList.cc index 20d100d1e4..0beeafc3ee 100644 --- a/examples/extended/biasing/B02/src/B02PhysicsList.cc +++ b/examples/extended/biasing/B02/src/B02PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: B02PhysicsList.cc,v 1.3 2002/11/08 14:47:48 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc index 8ea6b7114a..ad235d6f3f 100644 --- a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: B02PrimaryGeneratorAction.cc,v 1.5 2002/11/08 14:47:48 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc index f8587f1ce1..a34c5c21e9 100644 --- a/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B02ScoringDetectorConstruction.cc,v 1.5 2002/07/11 08:12:22 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B02ScoringDetectorConstruction.cc,v 1.6 2003/02/19 08:24:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" @@ -34,7 +34,6 @@ #include "G4LogicalVolume.hh" #include "G4ThreeVector.hh" #include "G4PVPlacement.hh" -#include "PhysicalConstants.h" G4VPhysicalVolume* B02ScoringDetectorConstruction::Construct() { diff --git a/examples/extended/biasing/B03/B03App.py b/examples/extended/biasing/B03/B03App.py index f2191731cd..3453747bf2 100644 --- a/examples/extended/biasing/B03/B03App.py +++ b/examples/extended/biasing/B03/B03App.py @@ -33,6 +33,7 @@ class G4RunManager(_object): __swig_getmethods__ = {} __getattr__ = lambda self, name: _swig_getattr(self, G4RunManager, name) def BeamOn(*args): return apply(_B03App.G4RunManager_BeamOn,args) + def Initialize(*args): return apply(_B03App.G4RunManager_Initialize,args) def __init__(self): raise RuntimeError, "No constructor defined" def __repr__(self): return "" % (self.this,) diff --git a/examples/extended/biasing/B03/B03Application.py b/examples/extended/biasing/B03/B03Application.py index ca69dd08d1..8af1730d80 100644 --- a/examples/extended/biasing/B03/B03Application.py +++ b/examples/extended/biasing/B03/B03Application.py @@ -63,6 +63,8 @@ class B03Application: self.CellRest = self.pgeom.GetGeometryCell(19) + r = self.base.GetRunManager() + r.Initialize() def createIstoreAndScorer(self): if "istore" in dir(self): @@ -92,7 +94,7 @@ class B03Application: # set importance of world volume self.istore. \ - AddImportanceGeometryCell(1, G4GeometryCell(self.p_world,-1)) + AddImportanceGeometryCell(1, G4GeometryCell(self.p_world,0)) imp_cell_17 = self.istore.GetImportance(self.pgeom.GetGeometryCell(17)) self.istore. \ diff --git a/examples/extended/biasing/B03/exampleB03.cc b/examples/extended/biasing/B03/exampleB03.cc index fbb768086d..25894f9b41 100644 --- a/examples/extended/biasing/B03/exampleB03.cc +++ b/examples/extended/biasing/B03/exampleB03.cc @@ -22,7 +22,7 @@ // // // $Id: exampleB03.cc,v 1.10 2002/11/18 13:22:48 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/biasing/B03/exampleB03.out b/examples/extended/biasing/B03/exampleB03.out index 9144f88a11..7c04618255 100644 --- a/examples/extended/biasing/B03/exampleB03.out +++ b/examples/extended/biasing/B03/exampleB03.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/biasing/B03/include/B03App.hh b/examples/extended/biasing/B03/include/B03App.hh index 8792008e61..c70d0b9f6b 100644 --- a/examples/extended/biasing/B03/include/B03App.hh +++ b/examples/extended/biasing/B03/include/B03App.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: B03App.hh,v 1.3 2002/12/13 11:26:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- #ifndef B03App_hh diff --git a/examples/extended/biasing/B03/include/B03App.i b/examples/extended/biasing/B03/include/B03App.i index c164a2ee1d..90b4a15f09 100644 --- a/examples/extended/biasing/B03/include/B03App.i +++ b/examples/extended/biasing/B03/include/B03App.i @@ -26,6 +26,7 @@ class G4RunManager { public: void BeamOn(int e); + void Initialize(); }; class G4VIStore{ diff --git a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh b/examples/extended/biasing/B03/include/B03DetectorConstruction.hh index f7c9535a53..17cfc37328 100644 --- a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh +++ b/examples/extended/biasing/B03/include/B03DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: B03DetectorConstruction.hh,v 1.4 2002/11/08 17:35:18 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B03DetectorConstruction_hh diff --git a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh b/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh index e05f345c45..e656023c02 100644 --- a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: B03ImportanceDetectorConstruction.hh,v 1.1 2002/11/08 17:35:18 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B03ImportanceDetectorConstruction_hh diff --git a/examples/extended/biasing/B03/include/B03PhysicsList.hh b/examples/extended/biasing/B03/include/B03PhysicsList.hh index 045591dfea..52fd8906d1 100644 --- a/examples/extended/biasing/B03/include/B03PhysicsList.hh +++ b/examples/extended/biasing/B03/include/B03PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: B03PhysicsList.hh,v 1.3 2002/11/08 17:35:18 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B03PhysicsList_h diff --git a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh b/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh index 705160087f..85797f5f3d 100644 --- a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh +++ b/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: B03PrimaryGeneratorAction.hh,v 1.3 2002/11/08 17:35:18 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef B03PrimaryGeneratorAction_hh diff --git a/examples/extended/biasing/B03/src/B03App.cc b/examples/extended/biasing/B03/src/B03App.cc index c01089d73d..b67570445b 100644 --- a/examples/extended/biasing/B03/src/B03App.cc +++ b/examples/extended/biasing/B03/src/B03App.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: B03App.cc,v 1.3 2002/12/13 11:26:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B03App.cc,v 1.4 2003/03/11 13:54:18 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- #include "B03App.hh" @@ -60,7 +60,7 @@ B03AppBase::B03AppBase(){ frunMgr->SetUserInitialization(fPhysics); fPrimary = new B03PrimaryGeneratorAction; frunMgr->SetUserAction(fPrimary); - frunMgr->Initialize(); + // frunMgr->Initialize(); /* // create the detector for the importances and scoring diff --git a/examples/extended/biasing/B03/src/B03App_wrap.cc b/examples/extended/biasing/B03/src/B03App_wrap.cc index b3b1264080..ccfa36f896 100644 --- a/examples/extended/biasing/B03/src/B03App_wrap.cc +++ b/examples/extended/biasing/B03/src/B03App_wrap.cc @@ -1,27 +1,6 @@ -// -// ******************************************************************** -// * 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. * -// ******************************************************************** /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). - * Version 1.3.15u-20021012-1750 + * Version 1.3.15u-20021124-1448 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make @@ -751,6 +730,22 @@ static PyObject *_wrap_G4RunManager_BeamOn(PyObject *self, PyObject *args) { } +static PyObject *_wrap_G4RunManager_Initialize(PyObject *self, PyObject *args) { + PyObject *resultobj; + G4RunManager *arg1 ; + PyObject * obj0 = 0 ; + + if(!PyArg_ParseTuple(args,(char *)"O:G4RunManager_Initialize",&obj0)) goto fail; + if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_G4RunManager,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail; + (arg1)->Initialize(); + + Py_INCREF(Py_None); resultobj = Py_None; + return resultobj; + fail: + return NULL; +} + + static PyObject * G4RunManager_swigregister(PyObject *self, PyObject *args) { PyObject *obj; if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL; @@ -2131,6 +2126,7 @@ static PyObject * B03AppBase_swigregister(PyObject *self, PyObject *args) { } static PyMethodDef SwigMethods[] = { { (char *)"G4RunManager_BeamOn", _wrap_G4RunManager_BeamOn, METH_VARARGS }, + { (char *)"G4RunManager_Initialize", _wrap_G4RunManager_Initialize, METH_VARARGS }, { (char *)"G4RunManager_swigregister", G4RunManager_swigregister, METH_VARARGS }, { (char *)"G4VIStore_swigregister", G4VIStore_swigregister, METH_VARARGS }, { (char *)"G4VPhysicalVolume_swigregister", G4VPhysicalVolume_swigregister, METH_VARARGS }, diff --git a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc b/examples/extended/biasing/B03/src/B03DetectorConstruction.cc index 4519ab537b..b0b28c7f4f 100644 --- a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc +++ b/examples/extended/biasing/B03/src/B03DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B03DetectorConstruction.cc,v 1.10 2002/11/22 17:47:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B03DetectorConstruction.cc,v 1.11 2003/02/19 08:24:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/strstream" @@ -38,7 +38,6 @@ #include "G4PVPlacement.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" -#include "PhysicalConstants.h" B03DetectorConstruction::B03DetectorConstruction() {;} diff --git a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc b/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc index 0404c69e1b..f09caf10cf 100644 --- a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc +++ b/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: B03ImportanceDetectorConstruction.cc,v 1.2 2002/11/22 17:47:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: B03ImportanceDetectorConstruction.cc,v 1.4 2003/03/11 13:54:18 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" @@ -35,7 +35,6 @@ #include "G4LogicalVolume.hh" #include "G4ThreeVector.hh" #include "G4PVPlacement.hh" -#include "PhysicalConstants.h" B03ImportanceDetectorConstruction::B03ImportanceDetectorConstruction() @@ -87,7 +86,7 @@ void B03ImportanceDetectorConstruction::Construct() G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, name, 0, false, 0); - fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, -1)); + fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, 0)); diff --git a/examples/extended/biasing/B03/src/B03PhysicsList.cc b/examples/extended/biasing/B03/src/B03PhysicsList.cc index d2f6acad02..09053ce589 100644 --- a/examples/extended/biasing/B03/src/B03PhysicsList.cc +++ b/examples/extended/biasing/B03/src/B03PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: B03PhysicsList.cc,v 1.3 2002/11/08 17:35:19 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc b/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc index 90bc1981ea..90b415a220 100644 --- a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: B03PrimaryGeneratorAction.cc,v 1.5 2002/11/08 17:35:19 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/biasing/History b/examples/extended/biasing/History index 0931b4d296..ddf5f8a34a 100644 --- a/examples/extended/biasing/History +++ b/examples/extended/biasing/History @@ -1,4 +1,4 @@ -$Id: History,v 1.21 2002/11/25 10:41:12 dressel Exp $ +$Id: History,v 1.23 2003/03/11 14:27:29 dressel Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,11 +17,21 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -Nov 25th M. Dressel - exbiasing-V04-01-01 - change README +Mar 11th, 2003 M. Dressel - exbiasing-V05-00-01 +- changed the replica number of the world volume from -1 to 0 +- Initialze() of the G4RunManager is now called after all Materials + and volumes (also in the parallel geometry) are built. -Nov 22th M. Dressel - changed geometry for scoring. Cells must not coinside with + +Feb 19th, 2003 G.Cosmo - exbiasing-V05-00-00 +- removed redundant inclusion of PhysicalConstants.h. + Now using CLHEP headers. + +Nov 25th, 2002 M.Dressel - exbiasing-V04-01-01 +- change README + +Nov 22th, 2002 M.Dressel +- changed geometry for scoring. Cells must not coinside with wolrd boundary since tracks would be killed before scoring is called in the case a track exits a cell into "out of world". diff --git a/examples/extended/electromagnetic/TestEm1/History b/examples/extended/electromagnetic/TestEm1/History index 86be323dbd..fe4f113aad 100644 --- a/examples/extended/electromagnetic/TestEm1/History +++ b/examples/extended/electromagnetic/TestEm1/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2002/12/11 14:19:17 maire Exp $ +$Id: History,v 1.28 2003/03/27 11:16:16 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,24 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +27-03-03 mma (testem1-V05-00-05) +- modular physics list + +26-03-03 V.Ivant (testem1-V05-00-04) + +11-03-03 V.Ivant (testem1-V05-00-03) +- Remove all old interfaces to cuts +- Add definition of mean excitation energy for water + +06-03-03 mma (testem1-V05-00-02) +- PhysicsList::SetCuts : suppress cutForProton + +20-02-03 V.Ivant (testem1-V05-00-01) +- Migrade to cut per region + +12-02-03 mma (testem1-V05-00-00) +- DetectorConstruction: change volume name + 11-12-02 mma (testem1-V04-01-01) - migration to AIDA 3.0 - UI commands under directory /testem/ diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.cc b/examples/extended/electromagnetic/TestEm1/TestEm1.cc index c4dd53d768..0e85197173 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.cc +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm1.cc,v 1.8 2001/12/07 11:49:08 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.in b/examples/extended/electromagnetic/TestEm1/TestEm1.in index 45d354c321..eff706ab8c 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.in +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.in @@ -1,4 +1,4 @@ -# $Id: TestEm1.in,v 1.5 2002/12/11 14:19:18 maire Exp $ +# $Id: TestEm1.in,v 1.9 2003/03/26 17:49:54 vnivanch Exp $ # # Macro file for "TestEm1.cc" # (can be run in batch, without graphic) @@ -6,10 +6,11 @@ # electron 100 MeV; all processes # /control/verbose 2 +/tracking/verbose 0 # /testem/phys/setGCut 2.20 mm /testem/phys/setECut 6.05 mum -# +# /run/initialize # /process/eLoss/StepFunction 0.183 170 micrometer diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.out b/examples/extended/electromagnetic/TestEm1/TestEm1.out index d9d145b6ca..4044d17801 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.out +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.out @@ -1,27 +1,9 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRepFile (HepRepFile) - G4HepRep (HepRepXML) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) -# -/testem/phys/setGCut 2.20 mm -/testem/phys/setECut 6.05 mum -# -/run/initialize +G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV; ***** Table : Nb of materials = 11 ***** @@ -32,7 +14,7 @@ Current available graphics systems are: Material: H2liquid density: 70.800 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.923 m ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 % - Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm + Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 % @@ -61,11 +43,39 @@ Current available graphics systems are: ---> Element: Uranium Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 % +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +/tracking/verbose 0 +# +/testem/phys/setGCut 2.20 mm +/testem/phys/setECut 6.05 mum +# +/run/initialize The Box is 20 m of Aluminium phot: Total cross sections from Sandia parametrisation. Em1PhysicsList::SetCuts:CutLength : 1 mm +# +/process/eLoss/StepFunction 0.183 170 micrometer +# +/run/verbose 2 +# +/gun/particle e- +/gun/energy 100 MeV +/run/beamOn 100 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -82,7 +92,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 0.17, dRoverRange= 0.183 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -103,6 +114,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 0.17, dRoverRange= 0.183 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -121,41 +133,18 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Air 2.2 mm 6.05 mum - H2liquid 2.2 mm 6.05 mum - Water 2.2 mm 6.05 mum - liquidArgon 2.2 mm 6.05 mum - Aluminium 2.2 mm 6.05 mum - Silicon 2.2 mm 6.05 mum - Germanium 2.2 mm 6.05 mum - Iron 2.2 mm 6.05 mum - Tungsten 2.2 mm 6.05 mum - Lead 2.2 mm 6.05 mum - Uranium 2.2 mm 6.05 mum -Cut in energy - Air 990 eV 990 eV - H2liquid 990 eV 990 eV - Water 4.06 keV 3.27 keV - liquidArgon 9.08 keV 3.98 keV - Aluminium 9.99 keV 9.97 keV - Silicon 10 keV 8.45 keV - Germanium 31.6 keV 32.7 keV - Iron 31.1 keV 43.3 keV - Tungsten 139 keV 59.7 keV - Lead 124 keV 42.8 keV - Uranium 188 keV 56.1 keV -=================================================== -# -/process/eLoss/StepFunction 0.183 170 micrometer -# -/run/verbose 2 -# -/gun/particle e- -/gun/energy 100 MeV -/run/beamOn 100 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 2.2 mm e- 6.05 mum e+ 1 mm + Energy thresholds : gamma 9.98636 keV e- 9.96618 keV e+ 568.011 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -173,18 +162,18 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=15s Real=19s Sys=2.4s + User=19s Real=30s Sys=5.6s - nb tracks/event neutral: 27.8100 charged: 700.3100 - nb steps/event neutral: 151.8700 charged: 1338.0800 + nb tracks/event neutral: 27.9700 charged: 706.0200 + nb steps/event neutral: 151.6800 charged: 2246.3000 nb of process calls per event: eIoni eBrem compt phot conv annihil - 1311.6600 25.0000 124.0600 26.3900 1.4200 1.4200 + 2219.7900 25.0300 123.7100 26.4900 1.4800 1.4800 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1272479250, 468362791 + Current couple of seeds = 224687272, 1952306832 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh index 697b482428..f5736f90fa 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1DetectorConstruction.hh,v 1.5 2001/12/07 11:49:09 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh index 5ce925407d..dd1b6e54f7 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em1DetectorMessenger.hh,v 1.5 2002/12/11 14:19:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh index 45837c61de..0423232b0a 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1EventAction.hh,v 1.5 2001/11/29 11:28:07 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh index 7f86f56b27..327d2a7f28 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em1EventActionMessenger.hh,v 1.4 2001/10/26 12:51:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmModel.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmModel.hh new file mode 100644 index 0000000000..bfef8ff863 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmModel.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: Em1PhysListEmModel.hh,v 1.1 2003/03/27 11:16:18 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em1PhysListEmModel_h +#define Em1PhysListEmModel_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em1PhysListEmModel : public G4VPhysicsConstructor +{ + public: + Em1PhysListEmModel(const G4String& name = "model"); + virtual ~Em1PhysListEmModel(); + + public: + // This method is dummy for physics. + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmStandard.hh new file mode 100644 index 0000000000..56d652a155 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListEmStandard.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: Em1PhysListEmStandard.hh,v 1.1 2003/03/27 11:16:18 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em1PhysListEmStandard_h +#define Em1PhysListEmStandard_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em1PhysListEmStandard : public G4VPhysicsConstructor +{ + public: + Em1PhysListEmStandard(const G4String& name = "standard"); + virtual ~Em1PhysListEmStandard(); + + public: + // This method is dummy for physics + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysListGeneral.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListGeneral.hh new file mode 100644 index 0000000000..44d9fc63ec --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListGeneral.hh @@ -0,0 +1,66 @@ +// +// ******************************************************************** +// * 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: Em1PhysListGeneral.hh,v 1.1 2003/03/27 11:16:18 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em1PhysListGeneral_h +#define Em1PhysListGeneral_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "G4Decay.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em1PhysListGeneral : public G4VPhysicsConstructor +{ + public: + Em1PhysListGeneral(const G4String& name = "general"); + virtual ~Em1PhysListGeneral(); + + public: + // This method is dummy for physics + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysListParticles.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListParticles.hh new file mode 100644 index 0000000000..345e76e391 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysListParticles.hh @@ -0,0 +1,65 @@ +// +// ******************************************************************** +// * 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: Em1PhysListParticles.hh,v 1.1 2003/03/27 11:16:19 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em1PhysListParticles_h +#define Em1PhysListParticles_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em1PhysListParticles : public G4VPhysicsConstructor +{ + public: + Em1PhysListParticles(const G4String& name = "particles"); + virtual ~Em1PhysListParticles(); + + public: + // This method will be invoked in the Construct() method. + // each particle type will be instantiated + virtual void ConstructParticle(); + + // This method is dummy. + virtual void ConstructProcess() {}; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh index 388081d45d..d2d52d0eef 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsList.hh @@ -21,61 +21,57 @@ // ******************************************************************** // // -// $Id: Em1PhysicsList.hh,v 1.5 2002/03/08 13:43:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em1PhysicsList.hh,v 1.7 2003/03/27 11:16:19 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// 14.10.02 (V.Ivanchenko) provide modular list on base of old Em1PhysicsList // -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef Em1PhysicsList_h #define Em1PhysicsList_h 1 -#include "G4VUserPhysicsList.hh" +#include "G4VModularPhysicsList.hh" #include "globals.hh" class Em1DetectorConstruction; class Em1PhysicsListMessenger; +class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class Em1PhysicsList: public G4VUserPhysicsList +class Em1PhysicsList: public G4VModularPhysicsList { public: Em1PhysicsList(Em1DetectorConstruction*); ~Em1PhysicsList(); - protected: - // Construct particles - void ConstructParticle(); - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBarions(); - - public: - void SetCuts(); - void SetGammaCut(G4double); - void SetElectronCut(G4double); - void SetProtonCut(G4double); - void GetRange(G4double); - - protected: - // Construct processes and register them - void ConstructProcess(); - void ConstructGeneral(); - void ConstructEM(); - - private: - Em1DetectorConstruction* pDet; - Em1PhysicsListMessenger* pMes; + virtual void ConstructParticle(); + virtual void ConstructProcess(); + void AddPhysicsList(const G4String& name); + void SetCuts(); + void SetCutForGamma(G4double); + void SetCutForElectron(G4double); + void SetCutForPositron(G4double); + void GetRange(G4double); + + private: G4double cutForGamma; G4double cutForElectron; - G4double cutForProton; + G4double cutForPositron; G4double currentDefaultCut; - + + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* generalPhysicsList; + G4VPhysicsConstructor* particleList; + G4String emName; + + Em1DetectorConstruction* pDet; + Em1PhysicsListMessenger* pMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh index c5eb1a6523..11bbcf7244 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em1PhysicsListMessenger.hh,v 1.5 2002/03/08 13:43:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em1PhysicsListMessenger.hh,v 1.7 2003/03/27 11:16:19 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -37,25 +37,33 @@ class Em1PhysicsList; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class Em1PhysicsListMessenger: public G4UImessenger { public: - Em1PhysicsListMessenger(Em1PhysicsList*); + + Em1PhysicsListMessenger(Em1PhysicsList* ); ~Em1PhysicsListMessenger(); void SetNewValue(G4UIcommand*, G4String); private: - Em1PhysicsList* physList; - G4UIcmdWithADoubleAndUnit* cutGCmd; - G4UIcmdWithADoubleAndUnit* cutECmd; - G4UIcmdWithADoubleAndUnit* cutPCmd; - G4UIcmdWithADoubleAndUnit* rCmd; + + Em1PhysicsList* pPhysicsList; + + G4UIcmdWithADoubleAndUnit* gammaCutCmd; + G4UIcmdWithADoubleAndUnit* electCutCmd; + G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithADoubleAndUnit* rCmd; + G4UIcmdWithAString* pListCmd; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif + diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh index d334fd243c..94daf3a5e0 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1PrimaryGeneratorAction.hh,v 1.5 2001/12/07 11:49:09 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorMessenger.hh index 27a450a089..fe153efd40 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em1PrimaryGeneratorMessenger.hh,v 1.1 2001/12/07 11:49:09 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh index 035c9fa6fd..269824a93b 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1RunAction.hh,v 1.10 2002/12/11 14:19:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh index 87405e30da..2d9247a3e5 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1SteppingAction.hh,v 1.4 2001/10/26 12:51:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh index dda48dbd2c..4d1aa21d1c 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em1SteppingVerbose.hh,v 1.7 2001/10/26 12:51:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh b/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh index 28be8b4888..bec5058a98 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1TrackingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em1TrackingAction.hh,v 1.4 2001/10/26 12:51:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh b/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh index de09a837de..f8407ac056 100644 --- a/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh +++ b/examples/extended/electromagnetic/TestEm1/include/Em1VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em1VisManager.hh,v 1.4 2001/10/26 12:51:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh index 69c7704eef..d56e6cf0fc 100644 --- a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh @@ -22,7 +22,7 @@ // // // $Id: ProcessesCount.hh,v 1.7 2001/10/26 12:51:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc index 611f19a764..521f9085f0 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorConstruction.cc @@ -22,8 +22,8 @@ // // -// $Id: Em1DetectorConstruction.cc,v 1.9 2002/05/31 17:10:35 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em1DetectorConstruction.cc,v 1.13 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -53,10 +53,12 @@ Em1DetectorConstruction::Em1DetectorConstruction() :pBox (0), lBox (0), - aMaterial(0), + aMaterial(0), magField (0) { - // create commands for interactive definition of the detector + // create commands for interactive definition of the detector + DefineMaterials(); + BoxSize = 20*m; detectorMessenger = new Em1DetectorMessenger(this); } @@ -69,125 +71,128 @@ Em1DetectorConstruction::~Em1DetectorConstruction() G4VPhysicalVolume* Em1DetectorConstruction::Construct() { - DefineMaterials(); - BoxSize = 20*m; return ConstructVolumes(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1DetectorConstruction::DefineMaterials() -{ +{ //This function illustrates the possible ways to define materials - -G4String name, symbol; //a=mass of a mole; -G4double a, z, density; //z=mean number of protons; -G4int ncomponents, natoms; -G4double fractionmass; + G4String name, symbol; //a=mass of a mole; + G4double a, z, density; //z=mean number of protons; + G4int ncomponents, natoms; + G4double fractionmass; + + G4Material* ma; // // define Elements // -a = 1.01*g/mole; -G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); + a = 1.01*g/mole; + G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); -a = 14.01*g/mole; -G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); + a = 14.01*g/mole; + G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); -a = 16.00*g/mole; -G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); + a = 16.00*g/mole; + G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); // // define materials // -density = 1.290*mg/cm3; -G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); -Air->AddElement(N, fractionmass=70.*perCent); -Air->AddElement(O, fractionmass=30.*perCent); + density = 1.290*mg/cm3; + G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); + Air->AddElement(N, fractionmass=70.*perCent); + Air->AddElement(O, fractionmass=30.*perCent); -density = 70.8*mg/cm3; -G4Material* H2l = new G4Material(name="H2liquid", density, ncomponents=1); -H2l->AddElement(H, fractionmass=1.); - -density = 1.000*g/cm3; -G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); -H2O->AddElement(H, natoms=2); -H2O->AddElement(O, natoms=1); + density = 70.8*mg/cm3; + G4Material* H2l = new G4Material(name="H2liquid", density, ncomponents=1); + H2l->AddElement(H, fractionmass=1.); -density = 1.390*g/cm3; -a = 39.95*g/mole; -G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density); + density = 1.000*g/cm3; + G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); + H2O->AddElement(H, natoms=2); + H2O->AddElement(O, natoms=1); + H2O->SetChemicalFormula("H_2O"); + H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); -density = 2.700*g/cm3; -a = 26.98*g/mole; -G4Material* Al = new G4Material(name="Aluminium" , z=13., a, density); + density = 1.390*g/cm3; + a = 39.95*g/mole; + ma = new G4Material(name="liquidArgon", z=18., a, density); -density = 2.330*g/cm3; -a = 28.09*g/mole; -G4Material* Si = new G4Material(name="Silicon" , z=14., a, density); + density = 2.700*g/cm3; + a = 26.98*g/mole; + G4Material* Al = new G4Material(name="Aluminium" , z=13., a, density); -density = 5.323*g/cm3; -a = 72.61*g/mole; -G4Material* Ge = new G4Material(name="Germanium" , z=32., a, density); + density = 2.330*g/cm3; + a = 28.09*g/mole; + ma = new G4Material(name="Silicon" , z=14., a, density); -density = 7.870*g/cm3; -a = 55.85*g/mole; -G4Material* Fe = new G4Material(name="Iron" , z=26., a, density); + density = 5.323*g/cm3; + a = 72.61*g/mole; + ma = new G4Material(name="Germanium" , z=32., a, density); -density = 19.30*g/cm3; -a = 183.85*g/mole; -G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); + density = 7.870*g/cm3; + a = 55.85*g/mole; + ma = new G4Material(name="Iron" , z=26., a, density); -density = 11.35*g/cm3; -a = 207.19*g/mole; -G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); + density = 19.30*g/cm3; + a = 183.85*g/mole; + ma = new G4Material(name="Tungsten" , z=74., a, density); -density = 18.95*g/cm3; -a = 238.03*g/mole; -G4Material* U = new G4Material(name="Uranium" , z=92., a, density); + density = 11.35*g/cm3; + a = 207.19*g/mole; + ma = new G4Material(name="Lead" , z=82., a, density); + + density = 18.95*g/cm3; + a = 238.03*g/mole; + ma = new G4Material(name="Uranium" , z=92., a, density); -G4cout << *(G4Material::GetMaterialTable()) << G4endl; + G4cout << *(G4Material::GetMaterialTable()) << G4endl; //default materials of the calorimeter aMaterial = Al; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VPhysicalVolume* Em1DetectorConstruction::ConstructVolumes() -{ +{ + if(lBox) delete lBox; + if(pBox) delete pBox; G4Box* sBox = new G4Box("Container", //its name BoxSize/2,BoxSize/2,BoxSize/2); //its dimensions - + lBox = new G4LogicalVolume(sBox, //its shape aMaterial, //its material - "Container"); //its name - + aMaterial->GetName()); //its name + pBox = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) - "Container", //its name - lBox, //its logical volume - 0, //its mother volume + lBox, //its logical volume + aMaterial->GetName(), //its name + 0, //its mother volume false, //no boolean operation 0); //copy number - - // + + // // Visualization attributes // G4VisAttributes* visAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); visAtt->SetVisibility(true); lBox->SetVisAttributes(visAtt); - + // //always return the root volume // - + PrintParameters(); return pBox; } @@ -204,12 +209,12 @@ void Em1DetectorConstruction::PrintParameters() void Em1DetectorConstruction::SetMaterial(G4String materialChoice) { - // search the material by its name - G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); if (pttoMaterial) {aMaterial = pttoMaterial; - lBox->SetMaterial(aMaterial); - } + lBox->SetMaterial(aMaterial); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -217,21 +222,21 @@ void Em1DetectorConstruction::SetMaterial(G4String materialChoice) void Em1DetectorConstruction::SetSize(G4double value) { BoxSize = value; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1DetectorConstruction::SetMagField(G4double fieldValue) { //apply a global uniform magnetic field along Z axis - G4FieldManager* fieldMgr + G4FieldManager* fieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager(); - + if (magField) delete magField; //delete the existing magn field - + if (fieldValue!=0.) // create a new one if non nul { - magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); + magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); fieldMgr->SetDetectorField(magField); fieldMgr->CreateChordFinder(magField); } @@ -243,10 +248,16 @@ void Em1DetectorConstruction::SetMagField(G4double fieldValue) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void Em1DetectorConstruction::UpdateGeometry() { - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); + G4bool first = true; + if (pBox) first = false; + G4VPhysicalVolume* v = ConstructVolumes(); + G4RunManager* rm = G4RunManager::GetRunManager(); + rm->GeometryHasBeenModified(); + rm->DefineWorldVolume(v); + if (!first) rm->ResetNavigator(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc index c34af93afa..8763ccc6ab 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em1DetectorMessenger.cc,v 1.6 2002/12/11 14:19:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc index f04e38ddfa..2b0bef7f12 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em1EventAction.cc,v 1.6 2001/11/29 11:28:07 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc index 424906b596..5aa30d86c9 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em1EventActionMessenger.cc,v 1.6 2002/12/11 14:19:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmModel.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmModel.cc new file mode 100644 index 0000000000..bcbf4b9d8b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmModel.cc @@ -0,0 +1,117 @@ +// +// ******************************************************************** +// * 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: Em1PhysListEmModel.cc,v 1.1 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em1PhysListEmModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScatteringSTD.hh" + +#include "G4eIonisationSTD.hh" +#include "G4eBremsstrahlungSTD.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisationSTD.hh" +#include "G4MuBremsstrahlungSTD.hh" +#include "G4MuPairProductionSTD.hh" + +#include "G4hIonisationSTD.hh" +#include "G4ionIonisation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListEmModel::Em1PhysListEmModel(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListEmModel::~Em1PhysListEmModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em1PhysListEmModel::ConstructProcess() +{ + // Add EM processes realised on base of prototype of model approach design + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1); + pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3); + + } else if (particleName == "e+") { + //positron + pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1); + pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddProcess(new G4MultipleScatteringSTD,-1, 1,1); + pmanager->AddProcess(new G4MuIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3); + pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4); + + } else if( particleName == "GenericIon" ) { + + pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); + pmanager->AddProcess(new G4ionIonisation, -1,2,2); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); + pmanager->AddProcess(new G4hIonisationSTD, -1,2,2); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmStandard.cc new file mode 100644 index 0000000000..d8b251227c --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListEmStandard.cc @@ -0,0 +1,111 @@ +// +// ******************************************************************** +// * 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: Em1PhysListEmStandard.cc,v 1.1 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em1PhysListEmStandard.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListEmStandard::Em1PhysListEmStandard(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListEmStandard::~Em1PhysListEmStandard() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em1PhysListEmStandard::ConstructProcess() +{ + // Add standard EM Processes + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + + } else if (particleName == "e+") { + //positron + pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4MuIonisation, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScattering,-1,1,1); + pmanager->AddProcess(new G4hIonisation, -1,2,2); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysListGeneral.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListGeneral.cc new file mode 100644 index 0000000000..c96f2a9001 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListGeneral.cc @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * 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: Em1PhysListGeneral.cc,v 1.1 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em1PhysListGeneral.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListGeneral::Em1PhysListGeneral(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListGeneral::~Em1PhysListGeneral() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em1PhysListGeneral::ConstructProcess() +{ + // Add Decay Process + + G4Decay* fDecayProcess = new G4Decay(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (fDecayProcess->IsApplicable(*particle)) { + + pmanager ->AddProcess(fDecayProcess); + + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysListParticles.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListParticles.cc new file mode 100644 index 0000000000..8b2be2c4f3 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysListParticles.cc @@ -0,0 +1,141 @@ +// +// ******************************************************************** +// * 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: Em1PhysListParticles.cc,v 1.1 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em1PhysListParticles.hh" + +// Bosons +#include "G4ChargedGeantino.hh" +#include "G4Geantino.hh" +#include "G4Gamma.hh" +#include "G4OpticalPhoton.hh" + +// leptons +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4NeutrinoMu.hh" +#include "G4AntiNeutrinoMu.hh" + +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4NeutrinoE.hh" +#include "G4AntiNeutrinoE.hh" + +// Mesons +#include "G4PionPlus.hh" +#include "G4PionMinus.hh" +#include "G4PionZero.hh" +#include "G4Eta.hh" +#include "G4EtaPrime.hh" + +#include "G4KaonPlus.hh" +#include "G4KaonMinus.hh" +#include "G4KaonZero.hh" +#include "G4AntiKaonZero.hh" +#include "G4KaonZeroLong.hh" +#include "G4KaonZeroShort.hh" + +// Baryons +#include "G4Proton.hh" +#include "G4AntiProton.hh" +#include "G4Neutron.hh" +#include "G4AntiNeutron.hh" + +// Nuclei +#include "G4Alpha.hh" +#include "G4Deuteron.hh" +#include "G4Triton.hh" +#include "G4He3.hh" +#include "G4GenericIon.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListParticles::Em1PhysListParticles(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em1PhysListParticles::~Em1PhysListParticles() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em1PhysListParticles::ConstructParticle() +{ + +// pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + +// gamma + G4Gamma::GammaDefinition(); + +// optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); + +// leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + +// mesons + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + G4PionZero::PionZeroDefinition(); + G4Eta::EtaDefinition(); + G4EtaPrime::EtaPrimeDefinition(); + G4KaonPlus::KaonPlusDefinition(); + G4KaonMinus::KaonMinusDefinition(); + G4KaonZero::KaonZeroDefinition(); + G4AntiKaonZero::AntiKaonZeroDefinition(); + G4KaonZeroLong::KaonZeroLongDefinition(); + G4KaonZeroShort::KaonZeroShortDefinition(); + +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); + +// ions + G4Deuteron::DeuteronDefinition(); + G4Triton::TritonDefinition(); + G4He3::He3Definition(); + G4Alpha::AlphaDefinition(); + G4GenericIon::GenericIonDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc index 4e431ceb9a..b3fcfedf93 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsList.cc @@ -20,293 +20,165 @@ // * statement, and all its terms. * // ******************************************************************** // -// -// $Id: Em1PhysicsList.cc,v 1.6 2002/03/08 13:43:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// // - +// $Id: Em1PhysicsList.cc,v 1.11 2003/03/27 11:16:20 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "Em1PhysicsList.hh" +#include "Em1PhysicsListMessenger.hh" + +#include "G4UnitsTable.hh" +#include "Em1PhysListParticles.hh" +#include "Em1PhysListGeneral.hh" +#include "Em1PhysListEmStandard.hh" +#include "Em1PhysListEmModel.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4ios.hh" - -#include "G4ParticleTable.hh" +#include "Em1DetectorConstruction.hh" #include "G4EnergyLossTables.hh" #include "G4Material.hh" -#include "G4RunManager.hh" -#include "Em1DetectorConstruction.hh" -#include "Em1PhysicsListMessenger.hh" - -#include "G4UImanager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Em1PhysicsList::Em1PhysicsList(Em1DetectorConstruction* p) -: G4VUserPhysicsList() +Em1PhysicsList::Em1PhysicsList(Em1DetectorConstruction* p) +: G4VModularPhysicsList() { pDet = p; + + currentDefaultCut = 1.0*mm; + cutForGamma = currentDefaultCut; + cutForElectron = currentDefaultCut; + cutForPositron = currentDefaultCut; + + pMessenger = new Em1PhysicsListMessenger(this); - currentDefaultCut = defaultCutValue = 1.*mm; - cutForGamma = defaultCutValue; - cutForElectron = defaultCutValue; - cutForProton = defaultCutValue; - - pMes = new Em1PhysicsListMessenger(this); - SetVerboseLevel(1); + + // Particles + particleList = new Em1PhysListParticles("particles"); + + // General Physics + generalPhysicsList = new Em1PhysListGeneral("general"); + + // EM physics + emName = G4String("standard"); + emPhysicsList = new Em1PhysListEmStandard(emName); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em1PhysicsList::~Em1PhysicsList() -{ delete pMes; } +{ + delete pMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1PhysicsList::ConstructParticle() { - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructBosons(); - ConstructLeptons(); - ConstructMesons(); - ConstructBarions(); + particleList->ConstructParticle(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em1PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em1PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em1PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em1PhysicsList::ConstructBarions() -{ -// barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1PhysicsList::ConstructProcess() { AddTransportation(); - ConstructEM(); - ConstructGeneral(); + generalPhysicsList->ConstructProcess(); + emPhysicsList->ConstructProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4MultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em1PhysicsList::ConstructEM() +void Em1PhysicsList::AddPhysicsList(const G4String& name) { - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - pmanager->AddDiscreteProcess(new G4ComptonScattering); - pmanager->AddDiscreteProcess(new G4GammaConversion); - - } else if (particleName == "e-") { - //electron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + if (verboseLevel>1) { + G4cout << "Em1PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; + } + + if (name == emName) return; - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4MuIonisation, -1, 2,2); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering,-1,1,1); - pmanager->AddProcess(new G4hIonisation, -1,2,2); - } + if (name == "standard") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new Em1PhysListEmStandard(name); + + } else if (name == "model") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new Em1PhysListEmModel(name); + + } else { + + G4cout << "Em1PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4Decay.hh" - -void Em1PhysicsList::ConstructGeneral() -{ - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); - theParticleIterator->reset(); - while ((*theParticleIterator)()){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - // set ordering for PostStepDoIt and AtRestDoIt - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } - } -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void Em1PhysicsList::SetCuts() -{ - // reactualise cutValues - if (currentDefaultCut != defaultCutValue) - { - if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; - if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; - currentDefaultCut = defaultCutValue; - } - +{ if (verboseLevel >0){ G4cout << "Em1PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; } // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma + // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); - SetCutValue(cutForElectron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - + SetCutValue(cutForPositron, "e+"); + if (verboseLevel>0) DumpCutValuesTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em1PhysicsList::SetGammaCut(G4double val) +void Em1PhysicsList::SetCutForGamma(G4double cut) { - ResetCuts(); - cutForGamma = val; + cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em1PhysicsList::SetElectronCut(G4double val) +void Em1PhysicsList::SetCutForElectron(G4double cut) { - ResetCuts(); - cutForElectron = val; + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em1PhysicsList::SetProtonCut(G4double val) +void Em1PhysicsList::SetCutForPositron(G4double cut) { - ResetCuts(); - cutForProton = val; + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1PhysicsList::GetRange(G4double val) { + G4LogicalVolume* lBox = pDet->GetWorld()->GetLogicalVolume(); G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable(); - G4Material* currMat = pDet->GetMaterial(); + const G4MaterialCutsCouple* couple = lBox->GetMaterialCutsCouple(); + const G4Material* currMat = lBox->GetMaterial(); G4ParticleDefinition* part; G4double cut; part = theParticleTable->FindParticle("e-"); - cut = G4EnergyLossTables::GetRange(part,val,currMat); + cut = G4EnergyLossTables::GetRange(part,val,couple); G4cout << "material : " << currMat->GetName() << G4endl; G4cout << "particle : " << part->GetParticleName() << G4endl; G4cout << "energy : " << G4BestUnit(val,"Energy") << G4endl; diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc index 669b58871e..5b714c7df9 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em1PhysicsListMessenger.cc,v 1.8 2002/12/11 14:19:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em1PhysicsListMessenger.cc,v 1.10 2003/03/27 11:16:21 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -33,66 +33,93 @@ #include "Em1PhysicsList.hh" #include "G4UIcmdWithADoubleAndUnit.hh" -#include "globals.hh" +#include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Em1PhysicsListMessenger::Em1PhysicsListMessenger(Em1PhysicsList* EvAct) -:physList(EvAct) -{ - cutGCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this); - cutGCmd->SetGuidance("Set gamma cut."); - cutGCmd->SetParameterName("Gcut",false); - cutGCmd->SetRange("Gcut>0."); - cutGCmd->SetUnitCategory("Length"); - cutGCmd->AvailableForStates(G4State_PreInit,G4State_Idle); +Em1PhysicsListMessenger::Em1PhysicsListMessenger(Em1PhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this); + gammaCutCmd->SetGuidance("Set gamma cut."); + gammaCutCmd->SetParameterName("Gcut",false); + gammaCutCmd->SetUnitCategory("Length"); + gammaCutCmd->SetRange("Gcut>0.0"); + gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + electCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this); + electCutCmd->SetGuidance("Set electron cut."); + electCutCmd->SetParameterName("Ecut",false); + electCutCmd->SetUnitCategory("Length"); + electCutCmd->SetRange("Ecut>0.0"); + electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - cutECmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this); - cutECmd->SetGuidance("Set electron cut"); - cutECmd->SetParameterName("Ecut",false); - cutECmd->SetRange("Ecut>0."); - cutECmd->SetUnitCategory("Length"); - cutECmd->AvailableForStates(G4State_PreInit,G4State_Idle); + protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this); + protoCutCmd->SetGuidance("Set positron cut."); + protoCutCmd->SetParameterName("Pcut",false); + protoCutCmd->SetUnitCategory("Length"); + protoCutCmd->SetRange("Pcut>0.0"); + protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + allCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - cutPCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this); - cutPCmd->SetGuidance("Set proton cut."); - cutPCmd->SetParameterName("Pcut",false); - cutPCmd->SetRange("Pcut>0."); - cutPCmd->SetUnitCategory("Length"); - cutPCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - rCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/getRange",this); rCmd->SetGuidance("get the electron cut for the current material."); rCmd->SetParameterName("energy",false); rCmd->SetRange("energy>0."); rCmd->SetUnitCategory("Energy"); - rCmd->AvailableForStates(G4State_Idle); + rCmd->AvailableForStates(G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + pListCmd->SetGuidance("Add modula physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em1PhysicsListMessenger::~Em1PhysicsListMessenger() { - delete cutGCmd; - delete cutECmd; - delete cutPCmd; + delete gammaCutCmd; + delete electCutCmd; + delete protoCutCmd; + delete allCutCmd; delete rCmd; + delete pListCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em1PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) -{ - if(command == cutGCmd) - {physList->SetGammaCut(cutGCmd->GetNewDoubleValue(newValue));} - if(command == cutECmd) - {physList->SetElectronCut(cutECmd->GetNewDoubleValue(newValue));} - if(command == cutPCmd) - {physList->SetProtonCut(cutPCmd->GetNewDoubleValue(newValue));} - if(command == rCmd) - {physList->GetRange(rCmd->GetNewDoubleValue(newValue));} - +{ + if( command == gammaCutCmd ) + { pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));} + + if( command == electCutCmd ) + { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} + + if( command == protoCutCmd ) + { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + } + + if( command == rCmd ) + { pPhysicsList->GetRange(rCmd->GetNewDoubleValue(newValue));} + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc index c35c3659e8..56c2858fb3 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em1PrimaryGeneratorAction.cc,v 1.5 2001/12/07 11:49:09 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorMessenger.cc index cf5c48a744..3350b9ecda 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em1PrimaryGeneratorMessenger.cc,v 1.3 2002/12/11 14:19:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc index 4cbcaba67f..f2fd57beb5 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em1RunAction.cc,v 1.18 2002/12/11 14:19:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc index 09dc4f1ad5..7e6d4e6180 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em1SteppingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc index 84e5d7ce1e..c6f8014d8f 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em1SteppingVerbose.cc,v 1.8 2001/10/26 12:51:26 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em1SteppingVerbose.cc,v 1.9 2003/02/10 17:07:06 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void Em1SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc index f071cfb4f3..5ec9cdcd2e 100644 --- a/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1TrackingAction.cc @@ -23,7 +23,7 @@ // // $Id: Em1TrackingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc b/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc index cfef1ee8b5..56535a9d7f 100755 --- a/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc +++ b/examples/extended/electromagnetic/TestEm1/src/Em1VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em1VisManager.cc,v 1.7 2002/11/13 21:39:42 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm10/History b/examples/extended/electromagnetic/TestEm10/History index bb1c99bcac..6d727f18dc 100644 --- a/examples/extended/electromagnetic/TestEm10/History +++ b/examples/extended/electromagnetic/TestEm10/History @@ -1,4 +1,4 @@ -$Id: History,v 1.5 2002/06/11 16:12:58 maire Exp $ +$Id: History,v 1.6 2003/02/20 13:09:28 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,10 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - + +20 Feb. 2003 Vladimir Ivanchenko (testem10-V05-00-00) +- Migrade to cut per region + 11 Jun. 2002 Vladimir Grichine (testem10-V04-00-00) - new TestEm10.in and TestEm10.largr_N.in diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.cc b/examples/extended/electromagnetic/TestEm10/TestEm10.cc index 39dfb19316..4d5c723f29 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.cc +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm10.cc,v 1.2 2001/07/11 09:57:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out b/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out index 7ea6c6a3fa..913603725d 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (29-Jun-2001) + Geant4 version $Name: geant4-05-01 $ + (13-Dec-2002) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -9,10 +9,16 @@ Registering graphics systems... You have successfully chosen to use the following graphics systems. Current available graphics systems are: + ASCIITree (ATree) DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) -***** Table : Nb of materials = 28 ***** +***** Table : Nb of materials = 32 ***** Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm ---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % @@ -44,7 +50,7 @@ Current available graphics systems are: ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 45.47 % Abundance 45.45 % ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 6.11 % Abundance 36.36 % - Material: Polypropelene density: 910.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.167 cm + Material: CH2 density: 910.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.167 cm ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 25.16 % Abundance 66.67 % ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 74.84 % Abundance 33.33 % @@ -125,31 +131,283 @@ Current available graphics systems are: ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 1.79 % Abundance 13.38 % ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 1.21 % Abundance 53.51 % + Material: Ar7CH4 density: 1.709 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 115.488 m + ---> Element: ArgonAr Z = 18.0 N = 39.9 A = 39.95 g/mole fractionMass: 97.10 % Abundance 62.75 % + ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 1.73 % Abundance 7.45 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 1.17 % Abundance 29.80 % + + Material: Kr7CH4 density: 3.491 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 32.856 m + ---> Element: Kr Z = 36.0 N = 83.8 A = 83.80 g/mole fractionMass: 98.60 % Abundance 62.82 % + ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 0.84 % Abundance 7.44 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 0.56 % Abundance 29.75 % + + Material: XeArCH4 density: 3.655 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 26.879 m + ---> Element: Xenon Z = 54.0 N = 131.3 A = 131.29 g/mole fractionMass: 76.14 % Abundance 33.82 % + ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 0.68 % Abundance 6.60 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 0.46 % Abundance 26.42 % + ---> Element: ArgonAr Z = 18.0 N = 39.9 A = 39.95 g/mole fractionMass: 22.72 % Abundance 33.17 % + + Material: radiatorMat density: 24.058 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 11.575 m + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 47.08 % Abundance 18.25 % + ---> Element: CarbonC Z = 6.0 N = 6.0 A = 6.01 g/mole fractionMass: 43.07 % Abundance 44.43 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 5.79 % Abundance 35.54 % + ---> Element: NitrogenN Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 3.99 % Abundance 1.77 % + ---> Element: ArgonAr Z = 18.0 N = 39.9 A = 39.95 g/mole fractionMass: 0.07 % Abundance 0.01 % - The WORLD is made of 800mm of He, the transverse size (R) of the world is 200 mm. - The ABSORBER is made of 30mm of Xe10CH4, the transverse size (R) is 100 mm. + + The WORLD is made of 2000mm of Air, the transverse size (R) of the world is 200 mm. + The ABSORBER is made of 15mm of Ar7CH4, the transverse size (R) is 100 mm. Z position of the (middle of the) absorber 360 mm. -zRad = 75.4 mm -radThick = 60.96 mm -fFoilNumber = 300 -fRadiatorMat = Li -WorldMaterial = He -zModule = 50.04 mm -50.04 mm 50.206 mm 50.372 mm 50.538 mm 50.704 mm 50.87 mm 51.036 mm 51.202 mm 51.368 mm 51.534 mm 51.7 mm 51.866 mm 52.032 mm 52.198 mm 52.364 mm 52.53 mm 52.696 mm 52.862 mm 53.028 mm 53.194 mm 53.36 mm 53.526 mm 53.692 mm 53.858 mm 54.024 mm 54.19 mm 54.356 mm 54.522 mm 54.688 mm 54.854 mm 55.02 mm 55.186 mm 55.352 mm 55.518 mm 55.684 mm 55.85 mm 56.016 mm 56.182 mm 56.348 mm 56.514 mm 56.68 mm 56.846 mm 57.012 mm 57.178 mm 57.344 mm 57.51 mm 57.676 mm 57.842 mm 58.008 mm 58.174 mm 58.34 mm 58.506 mm 58.672 mm 58.838 mm 59.004 mm 59.17 mm 59.336 mm 59.502 mm 59.668 mm 59.834 mm 60 mm 60.166 mm 60.332 mm 60.498 mm 60.664 mm 60.83 mm 60.996 mm 61.162 mm 61.328 mm 61.494 mm 61.66 mm 61.826 mm 61.992 mm 62.158 mm 62.324 mm 62.49 mm 62.656 mm 62.822 mm 62.988 mm 63.154 mm 63.32 mm 63.486 mm 63.652 mm 63.818 mm 63.984 mm 64.15 mm 64.316 mm 64.482 mm 64.648 mm 64.814 mm 64.98 mm 65.146 mm 65.312 mm 65.478 mm 65.644 mm 65.81 mm 65.976 mm 66.142 mm 66.308 mm 66.474 mm 66.64 mm 66.806 mm 66.972 mm 67.138 mm 67.304 mm 67.47 mm 67.636 mm 67.802 mm 67.968 mm 68.134 mm 68.3 mm 68.466 mm 68.632 mm 68.798 mm 68.964 mm 69.13 mm 69.296 mm 69.462 mm 69.628 mm 69.794 mm 69.96 mm 70.126 mm 70.292 mm 70.458 mm 70.624 mm 70.79 mm 70.956 mm 71.122 mm 71.288 mm 71.454 mm 71.62 mm 71.786 mm 71.952 mm 72.118 mm 72.284 mm 72.45 mm 72.616 mm 72.782 mm 72.948 mm 73.114 mm 73.28 mm 73.446 mm 73.612 mm 73.778 mm 73.944 mm 74.11 mm 74.276 mm 74.442 mm 74.608 mm 74.774 mm 74.94 mm 75.106 mm 75.272 mm 75.438 mm 75.604 mm 75.77 mm 75.936 mm 76.102 mm 76.268 mm 76.434 mm 76.6 mm 76.766 mm 76.932 mm 77.098 mm 77.264 mm 77.43 mm 77.596 mm 77.762 mm 77.928 mm 78.094 mm 78.26 mm 78.426 mm 78.592 mm 78.758 mm 78.924 mm 79.09 mm 79.256 mm 79.422 mm 79.588 mm 79.754 mm 79.92 mm 80.086 mm 80.252 mm 80.418 mm 80.584 mm 80.75 mm 80.916 mm 81.082 mm 81.248 mm 81.414 mm 81.58 mm 81.746 mm 81.912 mm 82.078 mm 82.244 mm 82.41 mm 82.576 mm 82.742 mm 82.908 mm 83.074 mm 83.24 mm 83.406 mm 83.572 mm 83.738 mm 83.904 mm 84.07 mm 84.236 mm 84.402 mm 84.568 mm 84.734 mm 84.9 mm 85.066 mm 85.232 mm 85.398 mm 85.564 mm 85.73 mm 85.896 mm 86.062 mm 86.228 mm 86.394 mm 86.56 mm 86.726 mm 86.892 mm 87.058 mm 87.224 mm 87.39 mm 87.556 mm 87.722 mm 87.888 mm 88.054 mm 88.22 mm 88.386 mm 88.552 mm 88.718 mm 88.884 mm 89.05 mm 89.216 mm 89.382 mm 89.548 mm 89.714 mm 89.88 mm 90.046 mm 90.212 mm 90.378 mm 90.544 mm 90.71 mm 90.876 mm 91.042 mm 91.208 mm 91.374 mm 91.54 mm 91.706 mm 91.872 mm 92.038 mm 92.204 mm 92.37 mm 92.536 mm 92.702 mm 92.868 mm 93.034 mm 93.2 mm 93.366 mm 93.532 mm 93.698 mm 93.864 mm 94.03 mm 94.196 mm 94.362 mm 94.528 mm 94.694 mm 94.86 mm 95.026 mm 95.192 mm 95.358 mm 95.524 mm 95.69 mm 95.856 mm 96.022 mm 96.188 mm 96.354 mm 96.52 mm 96.686 mm 96.852 mm 97.018 mm 97.184 mm 97.35 mm 97.516 mm 97.682 mm 97.848 mm 98.014 mm 98.18 mm 98.346 mm 98.512 mm 98.678 mm 98.844 mm 99.01 mm 99.176 mm 99.342 mm 99.508 mm 99.674 mm -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 0 -Warning: No parametrisation model was defined? +zRad = 138.359 mm +radThick = 76.718 mm +fFoilNumber = 100 +fRadiatorMat = radiatorMat +WorldMaterial = Air +zModule = 100 mm +zAbsorber = 200.309 mm +the number of TR radiator plates = 100 +total radiator thickness = 7.747 cm +plate material = Mylar +gas material = Air +plate plasma energy = 29.55 eV +gas plasma energy = 0.731967 eV +Regular X-ray TR radiator EM process is called +0 fGamma = 107.6 sumE = 0.1933 +1 fGamma = 123.4 sumE = 0.2553 +2 fGamma = 141.5 sumE = 0.3303 +3 fGamma = 162.3 sumE = 0.4171 +4 fGamma = 186.2 sumE = 0.5041 +5 fGamma = 213.7 sumE = 0.5873 +6 fGamma = 245.2 sumE = 0.6919 +7 fGamma = 281.3 sumE = 0.8242 +8 fGamma = 322.9 sumE = 0.914 +9 fGamma = 370.5 sumE = 1.058 +10 fGamma = 425.3 sumE = 1.179 +11 fGamma = 488.2 sumE = 1.277 +12 fGamma = 560.3 sumE = 1.423 +13 fGamma = 643.2 sumE = 1.53 +14 fGamma = 738.3 sumE = 1.64 +15 fGamma = 847.6 sumE = 1.77 +16 fGamma = 973 sumE = 1.943 +17 fGamma = 1117 sumE = 2.024 +18 fGamma = 1282 sumE = 2.251 +19 fGamma = 1472 sumE = 2.413 +20 fGamma = 1690 sumE = 2.628 +21 fGamma = 1940 sumE = 2.842 +22 fGamma = 2228 sumE = 2.938 +23 fGamma = 2558 sumE = 3.031 +24 fGamma = 2936 sumE = 3.432 +25 fGamma = 3371 sumE = 3.327 +26 fGamma = 3871 sumE = 3.48 +27 fGamma = 4444 sumE = 3.561 +28 fGamma = 5102 sumE = 3.472 +29 fGamma = 5858 sumE = 3.698 +30 fGamma = 6726 sumE = 3.649 +31 fGamma = 7722 sumE = 3.826 +32 fGamma = 8866 sumE = 3.921 +33 fGamma = 1.018e+04 sumE = 4.137 +34 fGamma = 1.169e+04 sumE = 4.02 +35 fGamma = 1.342e+04 sumE = 4.187 +36 fGamma = 1.541e+04 sumE = 4.157 +37 fGamma = 1.769e+04 sumE = 4.105 +38 fGamma = 2.031e+04 sumE = 4.082 +39 fGamma = 2.332e+04 sumE = 4.096 +40 fGamma = 2.677e+04 sumE = 4.138 +41 fGamma = 3.074e+04 sumE = 4.222 +42 fGamma = 3.529e+04 sumE = 4.274 +43 fGamma = 4.052e+04 sumE = 4.305 +44 fGamma = 4.652e+04 sumE = 4.324 +45 fGamma = 5.342e+04 sumE = 4.336 +46 fGamma = 6.133e+04 sumE = 4.341 +47 fGamma = 7.042e+04 sumE = 4.343 +48 fGamma = 8.085e+04 sumE = 4.344 +49 fGamma = 9.283e+04 sumE = 4.343 + +total time for build X-ray TR energy loss tables = 33.02 s + +phot: Total cross sections from Sandia parametrisation. Em10PhysicsList::SetCuts:CutLength : 1 mm -phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z - Sandia crossSection below 50 KeV - PhysicsTables from 50 keV to 50 MeV in 100 bins. +total time(SetCuts)=0.01 s + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : Yes + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 1 used in the geometry : No recalculation needed : Yes + Material : TRT_CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 2 used in the geometry : No recalculation needed : Yes + Material : Radiator + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 3 used in the geometry : No recalculation needed : Yes + Material : CarbonFiber + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 4 used in the geometry : No recalculation needed : Yes + Material : Li + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 5 used in the geometry : No recalculation needed : Yes + Material : Be + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 6 used in the geometry : Yes recalculation needed : Yes + Material : Mylar + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 7 used in the geometry : No recalculation needed : Yes + Material : Kapton + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 8 used in the geometry : No recalculation needed : Yes + Material : CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 9 used in the geometry : No recalculation needed : Yes + Material : He + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 10 used in the geometry : No recalculation needed : Yes + Material : Ne + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 11 used in the geometry : No recalculation needed : Yes + Material : Argon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 12 used in the geometry : No recalculation needed : Yes + Material : Kr + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 13 used in the geometry : No recalculation needed : Yes + Material : Xenon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 14 used in the geometry : No recalculation needed : Yes + Material : CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 15 used in the geometry : No recalculation needed : Yes + Material : C3H8 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 16 used in the geometry : No recalculation needed : Yes + Material : isoC4H10 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 17 used in the geometry : No recalculation needed : Yes + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 18 used in the geometry : No recalculation needed : Yes + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 19 used in the geometry : No recalculation needed : Yes + Material : N2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 20 used in the geometry : No recalculation needed : Yes + Material : O2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 21 used in the geometry : Yes recalculation needed : Yes + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 22 used in the geometry : No recalculation needed : Yes + Material : Xe20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 23 used in the geometry : No recalculation needed : Yes + Material : Kr20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 24 used in the geometry : No recalculation needed : Yes + Material : Xe55He15CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 25 used in the geometry : No recalculation needed : Yes + Material : Xe10CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 26 used in the geometry : No recalculation needed : Yes + Material : Xe5CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 27 used in the geometry : No recalculation needed : Yes + Material : Xe20CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 28 used in the geometry : Yes recalculation needed : Yes + Material : Ar7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 29 used in the geometry : No recalculation needed : Yes + Material : Kr7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 30 used in the geometry : No recalculation needed : Yes + Material : XeArCH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 31 used in the geometry : Yes recalculation needed : Yes + Material : radiatorMat + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. - PhysicsTables from 10 keV to 100 GeV in 100 bins. + PhysicsTables from 1 keV to 100 GeV in 80 bins. conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. e+e- energies according Bethe-Heitler @@ -169,129 +427,370 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + G4ParticleWithCuts::GetEnergyCuts Production Cut is not defined for [kaon+] + G4ParticleWithCuts::GetEnergyCuts Production Cut is not defined for [kaon-] + G4ParticleWithCuts::GetEnergyCuts Production Cut is not defined for [pi+] + G4ParticleWithCuts::GetEnergyCuts Production Cut is not defined for [pi-] -total time(SetCuts)=13.15 s -============= The cut Energy ============================== - gamma e- -Cut in range - Aluminium 1 mm 1 mm - TRT_CH2 1 mm 1 mm - Radiator 1 mm 1 mm - CarbonFiber 1 mm 1 mm - Li 1 mm 1 mm - Be 1 mm 1 mm - Mylar 1 mm 1 mm - Kapton 1 mm 1 mm - Polypropelene 1 mm 1 mm - He 1 mm 1 mm - Ne 1 mm 1 mm - Argon 1 mm 1 mm - Kr 1 mm 1 mm - Xenon 1 mm 1 mm - CH4 1 mm 1 mm - C3H8 1 mm 1 mm - isoC4H10 1 mm 1 mm - CO2 1 mm 1 mm - CO2 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm - Xe55He15CH4 1 mm 1 mm - Xe10CH4 1 mm 1 mm - Xe5CH4 1 mm 1 mm - Xe20CH4 1 mm 1 mm -Cut in energy - Aluminium 6.89 keV 597 keV - TRT_CH2 2.78 keV 515 keV - Radiator 990 eV 89.6 keV - CarbonFiber 1.52 keV 147 keV - Li 1.16 keV 207 keV - Be 1.99 keV 466 keV - Mylar 3.48 keV 541 keV - Kapton 3.48 keV 541 keV - Polypropelene 2.75 keV 502 keV - He 990 eV 990 eV - Ne 990 eV 990 eV - Argon 990 eV 990 eV - Kr 990 eV 1.07 keV - Xenon 990 eV 1.95 keV - CH4 990 eV 990 eV - C3H8 990 eV 990 eV - isoC4H10 990 eV 1.45 keV - CO2 990 eV 990 eV - CO2 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV - Xe55He15CH4 990 eV 990 eV - Xe10CH4 990 eV 1.74 keV - Xe5CH4 990 eV 1.83 keV - Xe20CH4 990 eV 1.54 keV -=================================================== -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 1 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Foam X-ray TR radiator model is called -0 fGamma = 107.6 sumE = 0.004254 -1 fGamma = 123.4 sumE = 0.006653 -2 fGamma = 141.5 sumE = 0.01023 -3 fGamma = 162.3 sumE = 0.01548 -4 fGamma = 186.2 sumE = 0.02297 -5 fGamma = 213.7 sumE = 0.0336 -6 fGamma = 245.2 sumE = 0.04841 -7 fGamma = 281.3 sumE = 0.06867 -8 fGamma = 322.9 sumE = 0.09587 -9 fGamma = 370.5 sumE = 0.1317 -10 fGamma = 425.3 sumE = 0.1778 -11 fGamma = 488.2 sumE = 0.2359 -12 fGamma = 560.3 sumE = 0.3073 -13 fGamma = 643.2 sumE = 0.393 -14 fGamma = 738.3 sumE = 0.4929 -15 fGamma = 847.6 sumE = 0.6058 -16 fGamma = 973 sumE = 0.7292 -17 fGamma = 1117 sumE = 0.859 -18 fGamma = 1282 sumE = 0.9897 -19 fGamma = 1472 sumE = 1.115 -20 fGamma = 1690 sumE = 1.227 -21 fGamma = 1940 sumE = 1.319 -22 fGamma = 2228 sumE = 1.386 -23 fGamma = 2558 sumE = 1.422 -24 fGamma = 2936 sumE = 1.424 -25 fGamma = 3371 sumE = 1.393 -26 fGamma = 3871 sumE = 1.329 -27 fGamma = 4444 sumE = 1.237 -28 fGamma = 5102 sumE = 1.15 -29 fGamma = 5858 sumE = 1.208 -30 fGamma = 6726 sumE = 1.257 -31 fGamma = 7722 sumE = 1.298 -32 fGamma = 8866 sumE = 1.333 -33 fGamma = 1.018e+04 sumE = 1.362 -34 fGamma = 1.169e+04 sumE = 1.385 -35 fGamma = 1.342e+04 sumE = 1.405 -36 fGamma = 1.541e+04 sumE = 1.421 -37 fGamma = 1.769e+04 sumE = 1.434 -38 fGamma = 2.031e+04 sumE = 1.445 -39 fGamma = 2.332e+04 sumE = 1.454 -40 fGamma = 2.677e+04 sumE = 1.461 -41 fGamma = 3.074e+04 sumE = 1.468 -42 fGamma = 3.529e+04 sumE = 1.473 -43 fGamma = 4.052e+04 sumE = 1.477 -44 fGamma = 4.652e+04 sumE = 1.481 -45 fGamma = 5.342e+04 sumE = 1.485 -46 fGamma = 6.133e+04 sumE = 1.488 -47 fGamma = 7.042e+04 sumE = 1.49 -48 fGamma = 8.085e+04 sumE = 1.493 -49 fGamma = 9.283e+04 sumE = 1.495 +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + +Index : 1 used in the geometry : No recalculation needed : No + Material : TRT_CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.77888 keV e- 514.737 keV e+ 496.074 keV + +Index : 2 used in the geometry : No recalculation needed : No + Material : Radiator + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 89.6195 keV e+ 88.523 keV + +Index : 3 used in the geometry : No recalculation needed : No + Material : CarbonFiber + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.5233 keV e- 146.642 keV e+ 144.847 keV + +Index : 4 used in the geometry : No recalculation needed : No + Material : Li + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.15733 keV e- 206.993 keV e+ 201.959 keV + +Index : 5 used in the geometry : No recalculation needed : No + Material : Be + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.98554 keV e- 466.46 keV e+ 449.547 keV + +Index : 6 used in the geometry : Yes recalculation needed : No + Material : Mylar + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 7 used in the geometry : No recalculation needed : No + Material : Kapton + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + +Index : 8 used in the geometry : No recalculation needed : No + Material : CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.74947 keV e- 502.219 keV e+ 484.009 keV + +Index : 9 used in the geometry : No recalculation needed : No + Material : He + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 10 used in the geometry : No recalculation needed : No + Material : Ne + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 11 used in the geometry : No recalculation needed : No + Material : Argon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 12 used in the geometry : No recalculation needed : No + Material : Kr + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.07368 keV e+ 1.06054 keV + +Index : 13 used in the geometry : No recalculation needed : No + Material : Xenon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.94906 keV e+ 1.92521 keV + +Index : 14 used in the geometry : No recalculation needed : No + Material : CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 15 used in the geometry : No recalculation needed : No + Material : C3H8 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 16 used in the geometry : No recalculation needed : No + Material : isoC4H10 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.45105 keV e+ 1.4333 keV + +Index : 17 used in the geometry : No recalculation needed : No + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 18 used in the geometry : No recalculation needed : No + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 19 used in the geometry : No recalculation needed : No + Material : N2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 20 used in the geometry : No recalculation needed : No + Material : O2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 21 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 22 used in the geometry : No recalculation needed : No + Material : Xe20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.67154 keV e+ 1.65109 keV + +Index : 23 used in the geometry : No recalculation needed : No + Material : Kr20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.08802 keV e+ 1.07471 keV + +Index : 24 used in the geometry : No recalculation needed : No + Material : Xe55He15CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 25 used in the geometry : No recalculation needed : No + Material : Xe10CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.7426 keV e+ 1.72128 keV + +Index : 26 used in the geometry : No recalculation needed : No + Material : Xe5CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.8335 keV e+ 1.81107 keV + +Index : 27 used in the geometry : No recalculation needed : No + Material : Xe20CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.54404 keV e+ 1.52515 keV + +Index : 28 used in the geometry : Yes recalculation needed : No + Material : Ar7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 29 used in the geometry : No recalculation needed : No + Material : Kr7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 995.645 eV e+ 990 eV + +Index : 30 used in the geometry : No recalculation needed : No + Material : XeArCH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.03645 keV e+ 1.02377 keV + +Index : 31 used in the geometry : Yes recalculation needed : No + Material : radiatorMat + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 43.8848 keV e+ 43.3478 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + +Index : 1 used in the geometry : No recalculation needed : No + Material : TRT_CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.77888 keV e- 514.737 keV e+ 496.074 keV + +Index : 2 used in the geometry : No recalculation needed : No + Material : Radiator + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 89.6195 keV e+ 88.523 keV + +Index : 3 used in the geometry : No recalculation needed : No + Material : CarbonFiber + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.5233 keV e- 146.642 keV e+ 144.847 keV + +Index : 4 used in the geometry : No recalculation needed : No + Material : Li + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.15733 keV e- 206.993 keV e+ 201.959 keV + +Index : 5 used in the geometry : No recalculation needed : No + Material : Be + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.98554 keV e- 466.46 keV e+ 449.547 keV + +Index : 6 used in the geometry : Yes recalculation needed : No + Material : Mylar + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 7 used in the geometry : No recalculation needed : No + Material : Kapton + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + +Index : 8 used in the geometry : No recalculation needed : No + Material : CH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.74947 keV e- 502.219 keV e+ 484.009 keV + +Index : 9 used in the geometry : No recalculation needed : No + Material : He + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 10 used in the geometry : No recalculation needed : No + Material : Ne + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 11 used in the geometry : No recalculation needed : No + Material : Argon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 12 used in the geometry : No recalculation needed : No + Material : Kr + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.07368 keV e+ 1.06054 keV + +Index : 13 used in the geometry : No recalculation needed : No + Material : Xenon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.94906 keV e+ 1.92521 keV + +Index : 14 used in the geometry : No recalculation needed : No + Material : CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 15 used in the geometry : No recalculation needed : No + Material : C3H8 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 16 used in the geometry : No recalculation needed : No + Material : isoC4H10 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.45105 keV e+ 1.4333 keV + +Index : 17 used in the geometry : No recalculation needed : No + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 18 used in the geometry : No recalculation needed : No + Material : CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 19 used in the geometry : No recalculation needed : No + Material : N2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 20 used in the geometry : No recalculation needed : No + Material : O2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 21 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 22 used in the geometry : No recalculation needed : No + Material : Xe20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.67154 keV e+ 1.65109 keV + +Index : 23 used in the geometry : No recalculation needed : No + Material : Kr20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.08802 keV e+ 1.07471 keV + +Index : 24 used in the geometry : No recalculation needed : No + Material : Xe55He15CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 25 used in the geometry : No recalculation needed : No + Material : Xe10CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.7426 keV e+ 1.72128 keV + +Index : 26 used in the geometry : No recalculation needed : No + Material : Xe5CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.8335 keV e+ 1.81107 keV + +Index : 27 used in the geometry : No recalculation needed : No + Material : Xe20CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.54404 keV e+ 1.52515 keV + +Index : 28 used in the geometry : Yes recalculation needed : No + Material : Ar7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 29 used in the geometry : No recalculation needed : No + Material : Kr7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 995.645 eV e+ 990 eV + +Index : 30 used in the geometry : No recalculation needed : No + Material : XeArCH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.03645 keV e+ 1.02377 keV + +Index : 31 used in the geometry : Yes recalculation needed : No + Material : radiatorMat + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 43.8848 keV e+ 43.3478 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + + +======== Table of production thresholds in range and energy =========== + +----------------------------------------------------------------------- +Region : DefaultRegionForTheWorld +----------------------------------------------------------------------- + gamma e- e+ +Threshold in range 1 mm 1 mm 1 mm + Air 990 eV 990 eV 990 eV + radiatorMat 990 eV 43.9 keV 43.3 keV + Mylar 3.48 keV 541 keV 528 keV + Ar7CH4 990 eV 990 eV 990 eV +======================================================================= -total time for build X-ray TR tables = 17.12 s ### Run 0 start. --------- Ranecu engine status --------- @@ -301,838 +800,26 @@ total time for build X-ray TR tables = 17.12 s ---> Begin of Event: 0 ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=52.0113 +- 0.778531 mm + end of Run TotNbofEvents = 10000 + mean charged track length in absorber=24.1413 +- 0.327523 mm - mean energy deposit in absorber=0.0359449 +- 0.000581355 MeV + mean energy deposit in absorber=0.00671449 +- 6.36457e-05 MeV - mean number of steps in absorber (charged) =1.982 +- 0.0323987 - mean number of steps in absorber (neutral) =1.454 +- 0.0388057 + mean number of steps in absorber (charged) =1.2487 +- 0.00543919 + mean number of steps in absorber (neutral) =2.0277 +- 0.0142623 - mean number of charged secondaries = 0.982 +- 0.0323987 + mean number of charged secondaries = 0.2257 +- 0.00476403 mean number of neutral secondaries = 0 +- 0 - mean number of e-s =0.982 and e+s =0 + mean number of e-s =0.2257 and e+s =0 -(number) transmission coeff=0.592 reflection coeff=0 +(number) transmission coeff=0.1786 reflection coeff=0.0056 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 845049818, 1399553993 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 2 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Foam XTR dE/dx model is called -0 fGamma = 107.6 sumE = 0.1086 -1 fGamma = 123.4 sumE = 0.158 -2 fGamma = 141.5 sumE = 0.224 -3 fGamma = 162.3 sumE = 0.3095 -4 fGamma = 186.2 sumE = 0.4155 -5 fGamma = 213.7 sumE = 0.546 -6 fGamma = 245.2 sumE = 0.7026 -7 fGamma = 281.3 sumE = 0.8863 -8 fGamma = 322.9 sumE = 1.096 -9 fGamma = 370.5 sumE = 1.331 -10 fGamma = 425.3 sumE = 1.587 -11 fGamma = 488.2 sumE = 1.857 -12 fGamma = 560.3 sumE = 2.133 -13 fGamma = 643.2 sumE = 2.406 -14 fGamma = 738.3 sumE = 2.664 -15 fGamma = 847.6 sumE = 2.895 -16 fGamma = 973 sumE = 3.087 -17 fGamma = 1117 sumE = 3.23 -18 fGamma = 1282 sumE = 3.315 -19 fGamma = 1472 sumE = 3.338 -20 fGamma = 1690 sumE = 3.296 -21 fGamma = 1940 sumE = 3.191 -22 fGamma = 2228 sumE = 3.028 -23 fGamma = 2558 sumE = 2.816 -24 fGamma = 2936 sumE = 2.567 -25 fGamma = 3371 sumE = 2.297 -26 fGamma = 3871 sumE = 2.018 -27 fGamma = 4444 sumE = 1.745 -28 fGamma = 5102 sumE = 1.532 -29 fGamma = 5858 sumE = 1.594 -30 fGamma = 6726 sumE = 1.647 -31 fGamma = 7722 sumE = 1.691 -32 fGamma = 8866 sumE = 1.728 -33 fGamma = 1.018e+04 sumE = 1.759 -34 fGamma = 1.169e+04 sumE = 1.784 -35 fGamma = 1.342e+04 sumE = 1.805 -36 fGamma = 1.541e+04 sumE = 1.822 -37 fGamma = 1.769e+04 sumE = 1.836 -38 fGamma = 2.031e+04 sumE = 1.847 -39 fGamma = 2.332e+04 sumE = 1.856 -40 fGamma = 2.677e+04 sumE = 1.864 -41 fGamma = 3.074e+04 sumE = 1.871 -42 fGamma = 3.529e+04 sumE = 1.876 -43 fGamma = 4.052e+04 sumE = 1.881 -44 fGamma = 4.652e+04 sumE = 1.885 -45 fGamma = 5.342e+04 sumE = 1.889 -46 fGamma = 6.133e+04 sumE = 1.892 -47 fGamma = 7.042e+04 sumE = 1.895 -48 fGamma = 8.085e+04 sumE = 1.897 -49 fGamma = 9.283e+04 sumE = 1.899 - -total time for build X-ray TR dE/dx tables = 34.53 s -### Run 1 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 845049818, 1399553993 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=52.2291 +- 0.729517 mm - - mean energy deposit in absorber=0.0349823 +- 0.000556839 MeV - - mean number of steps in absorber (charged) =1.99 +- 0.0308853 - mean number of steps in absorber (neutral) =1.457 +- 0.0372847 - - mean number of charged secondaries = 0.977 +- 0.0305691 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =0.977 and e+s =0 - -(number) transmission coeff=0.607 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1230741481, 297774442 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 3 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Gammma distributed X-ray TR radiator model is called -fAlphaPlate = 160 ; fAlphaGas = 160 -0 fGamma = 107.6 sumE = 0.004089 -1 fGamma = 123.4 sumE = 0.006404 -2 fGamma = 141.5 sumE = 0.009919 -3 fGamma = 162.3 sumE = 0.01502 -4 fGamma = 186.2 sumE = 0.02226 -5 fGamma = 213.7 sumE = 0.03343 -6 fGamma = 245.2 sumE = 0.04775 -7 fGamma = 281.3 sumE = 0.06558 -8 fGamma = 322.9 sumE = 0.09347 -9 fGamma = 370.5 sumE = 0.1394 -10 fGamma = 425.3 sumE = 0.1904 -11 fGamma = 488.2 sumE = 0.2455 -12 fGamma = 560.3 sumE = 0.3134 -13 fGamma = 643.2 sumE = 0.3836 -14 fGamma = 738.3 sumE = 0.4518 -15 fGamma = 847.6 sumE = 0.5229 -16 fGamma = 973 sumE = 0.7238 -17 fGamma = 1117 sumE = 1.225 -18 fGamma = 1282 sumE = 1.713 -19 fGamma = 1472 sumE = 2.101 -20 fGamma = 1690 sumE = 2.378 -21 fGamma = 1940 sumE = 2.628 -22 fGamma = 2228 sumE = 2.736 -23 fGamma = 2558 sumE = 2.798 -24 fGamma = 2936 sumE = 2.385 -25 fGamma = 3371 sumE = 2.242 -26 fGamma = 3871 sumE = 3.371 -27 fGamma = 4444 sumE = 2.766 -28 fGamma = 5102 sumE = 1.331 -29 fGamma = 5858 sumE = 1.311 -30 fGamma = 6726 sumE = 1.298 -31 fGamma = 7722 sumE = 1.289 -32 fGamma = 8866 sumE = 1.282 -33 fGamma = 1.018e+04 sumE = 1.278 -34 fGamma = 1.169e+04 sumE = 1.275 -35 fGamma = 1.342e+04 sumE = 1.274 -36 fGamma = 1.541e+04 sumE = 1.274 -37 fGamma = 1.769e+04 sumE = 1.274 -38 fGamma = 2.031e+04 sumE = 1.275 -39 fGamma = 2.332e+04 sumE = 1.276 -40 fGamma = 2.677e+04 sumE = 1.278 -41 fGamma = 3.074e+04 sumE = 1.28 -42 fGamma = 3.529e+04 sumE = 1.282 -43 fGamma = 4.052e+04 sumE = 1.284 -44 fGamma = 4.652e+04 sumE = 1.285 -45 fGamma = 5.342e+04 sumE = 1.287 -46 fGamma = 6.133e+04 sumE = 1.289 -47 fGamma = 7.042e+04 sumE = 1.291 -48 fGamma = 8.085e+04 sumE = 1.293 -49 fGamma = 9.283e+04 sumE = 1.294 - -total time for build X-ray TR tables = 27.5 s -### Run 2 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1230741481, 297774442 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=48.5237 +- 0.66559 mm - - mean energy deposit in absorber=0.033151 +- 0.00050788 MeV - - mean number of steps in absorber (charged) =1.862 +- 0.0287568 - mean number of steps in absorber (neutral) =1.325 +- 0.0360468 - - mean number of charged secondaries = 0.862 +- 0.0287568 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =0.862 and e+s =0 - -(number) transmission coeff=0.57 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 741368305, 1780992267 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 4 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Gammma distributed X-ray TR radiator model is called -fAlphaPlate = 160 ; fAlphaGas = 160 -0 fGamma = 107.6 sumE = 0.1089 -1 fGamma = 123.4 sumE = 0.158 -2 fGamma = 141.5 sumE = 0.2245 -3 fGamma = 162.3 sumE = 0.3112 -4 fGamma = 186.2 sumE = 0.4152 -5 fGamma = 213.7 sumE = 0.5535 -6 fGamma = 245.2 sumE = 0.7168 -7 fGamma = 281.3 sumE = 0.8888 -8 fGamma = 322.9 sumE = 1.081 -9 fGamma = 370.5 sumE = 1.349 -10 fGamma = 425.3 sumE = 1.649 -11 fGamma = 488.2 sumE = 1.992 -12 fGamma = 560.3 sumE = 2.431 -13 fGamma = 643.2 sumE = 2.862 -14 fGamma = 738.3 sumE = 3.207 -15 fGamma = 847.6 sumE = 3.475 -16 fGamma = 973 sumE = 3.784 -17 fGamma = 1117 sumE = 4.407 -18 fGamma = 1282 sumE = 4.976 -19 fGamma = 1472 sumE = 5.448 -20 fGamma = 1690 sumE = 5.494 -21 fGamma = 1940 sumE = 5.421 -22 fGamma = 2228 sumE = 5.358 -23 fGamma = 2558 sumE = 4.689 -24 fGamma = 2936 sumE = 4.244 -25 fGamma = 3371 sumE = 4.003 -26 fGamma = 3871 sumE = 3.865 -27 fGamma = 4444 sumE = 3.706 -28 fGamma = 5102 sumE = 1.794 -29 fGamma = 5858 sumE = 1.771 -30 fGamma = 6726 sumE = 1.755 -31 fGamma = 7722 sumE = 1.744 -32 fGamma = 8866 sumE = 1.737 -33 fGamma = 1.018e+04 sumE = 1.732 -34 fGamma = 1.169e+04 sumE = 1.729 -35 fGamma = 1.342e+04 sumE = 1.728 -36 fGamma = 1.541e+04 sumE = 1.727 -37 fGamma = 1.769e+04 sumE = 1.728 -38 fGamma = 2.031e+04 sumE = 1.728 -39 fGamma = 2.332e+04 sumE = 1.73 -40 fGamma = 2.677e+04 sumE = 1.731 -41 fGamma = 3.074e+04 sumE = 1.733 -42 fGamma = 3.529e+04 sumE = 1.735 -43 fGamma = 4.052e+04 sumE = 1.737 -44 fGamma = 4.652e+04 sumE = 1.739 -45 fGamma = 5.342e+04 sumE = 1.741 -46 fGamma = 6.133e+04 sumE = 1.743 -47 fGamma = 7.042e+04 sumE = 1.744 -48 fGamma = 8.085e+04 sumE = 1.746 -49 fGamma = 9.283e+04 sumE = 1.748 - -total time for build X-ray TR dE/dx tables = 44.21 s -### Run 3 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 741368305, 1780992267 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=49.423 +- 0.681815 mm - - mean energy deposit in absorber=0.0344118 +- 0.000577043 MeV - - mean number of steps in absorber (charged) =1.895 +- 0.0296981 - mean number of steps in absorber (neutral) =1.277 +- 0.0362804 - - mean number of charged secondaries = 0.888 +- 0.0296219 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =0.888 and e+s =0 - -(number) transmission coeff=0.568 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 218123915, 605024314 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 5 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Irregular X-ray TR model is called -0 fGamma = 107.6 sumE = 0.004258 -1 fGamma = 123.4 sumE = 0.006661 -2 fGamma = 141.5 sumE = 0.01025 -3 fGamma = 162.3 sumE = 0.01552 -4 fGamma = 186.2 sumE = 0.02305 -5 fGamma = 213.7 sumE = 0.03376 -6 fGamma = 245.2 sumE = 0.04873 -7 fGamma = 281.3 sumE = 0.0693 -8 fGamma = 322.9 sumE = 0.09709 -9 fGamma = 370.5 sumE = 0.1339 -10 fGamma = 425.3 sumE = 0.182 -11 fGamma = 488.2 sumE = 0.2435 -12 fGamma = 560.3 sumE = 0.3207 -13 fGamma = 643.2 sumE = 0.4161 -14 fGamma = 738.3 sumE = 0.5318 -15 fGamma = 847.6 sumE = 0.6697 -16 fGamma = 973 sumE = 0.8314 -17 fGamma = 1117 sumE = 1.018 -18 fGamma = 1282 sumE = 1.229 -19 fGamma = 1472 sumE = 1.466 -20 fGamma = 1690 sumE = 1.727 -21 fGamma = 1940 sumE = 2.011 -22 fGamma = 2228 sumE = 2.316 -23 fGamma = 2558 sumE = 2.64 -24 fGamma = 2936 sumE = 2.98 -25 fGamma = 3371 sumE = 3.332 -26 fGamma = 3871 sumE = 3.695 -27 fGamma = 4444 sumE = 4.064 -28 fGamma = 5102 sumE = 4.478 -29 fGamma = 5858 sumE = 5.169 -30 fGamma = 6726 sumE = 5.901 -31 fGamma = 7722 sumE = 6.671 -32 fGamma = 8866 sumE = 7.473 -33 fGamma = 1.018e+04 sumE = 8.302 -34 fGamma = 1.169e+04 sumE = 9.152 -35 fGamma = 1.342e+04 sumE = 10.02 -36 fGamma = 1.541e+04 sumE = 10.89 -37 fGamma = 1.769e+04 sumE = 11.76 -38 fGamma = 2.031e+04 sumE = 12.63 -39 fGamma = 2.332e+04 sumE = 13.49 -40 fGamma = 2.677e+04 sumE = 14.33 -41 fGamma = 3.074e+04 sumE = 15.14 -42 fGamma = 3.529e+04 sumE = 15.93 -43 fGamma = 4.052e+04 sumE = 16.69 -44 fGamma = 4.652e+04 sumE = 17.41 -45 fGamma = 5.342e+04 sumE = 18.1 -46 fGamma = 6.133e+04 sumE = 18.74 -47 fGamma = 7.042e+04 sumE = 19.34 -48 fGamma = 8.085e+04 sumE = 19.9 -49 fGamma = 9.283e+04 sumE = 20.41 - -total time for build X-ray TR tables = 5.89 s -### Run 4 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 218123915, 605024314 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=208.682 +- 2.05095 mm - - mean energy deposit in absorber=0.0988536 +- 0.0011919 MeV - - mean number of steps in absorber (charged) =8.751 +- 0.0844452 - mean number of steps in absorber (neutral) =11.428 +- 0.104033 - - mean number of charged secondaries = 7.751 +- 0.0844452 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =7.751 and e+s =0 - -(number) transmission coeff=0.998 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 512746418, 1616290115 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 6 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Irregular X-ray TR dE/dx model is called -0 fGamma = 107.6 sumE = 0.1088 -1 fGamma = 123.4 sumE = 0.1582 -2 fGamma = 141.5 sumE = 0.2245 -3 fGamma = 162.3 sumE = 0.3105 -4 fGamma = 186.2 sumE = 0.4174 -5 fGamma = 213.7 sumE = 0.5494 -6 fGamma = 245.2 sumE = 0.7086 -7 fGamma = 281.3 sumE = 0.8967 -8 fGamma = 322.9 sumE = 1.114 -9 fGamma = 370.5 sumE = 1.361 -10 fGamma = 425.3 sumE = 1.636 -11 fGamma = 488.2 sumE = 1.936 -12 fGamma = 560.3 sumE = 2.26 -13 fGamma = 643.2 sumE = 2.605 -14 fGamma = 738.3 sumE = 2.966 -15 fGamma = 847.6 sumE = 3.34 -16 fGamma = 973 sumE = 3.725 -17 fGamma = 1117 sumE = 4.117 -18 fGamma = 1282 sumE = 4.513 -19 fGamma = 1472 sumE = 4.91 -20 fGamma = 1690 sumE = 5.305 -21 fGamma = 1940 sumE = 5.696 -22 fGamma = 2228 sumE = 6.079 -23 fGamma = 2558 sumE = 6.452 -24 fGamma = 2936 sumE = 6.811 -25 fGamma = 3371 sumE = 7.152 -26 fGamma = 3871 sumE = 7.472 -27 fGamma = 4444 sumE = 7.768 -28 fGamma = 5102 sumE = 8.144 -29 fGamma = 5858 sumE = 9.149 -30 fGamma = 6726 sumE = 10.17 -31 fGamma = 7722 sumE = 11.21 -32 fGamma = 8866 sumE = 12.26 -33 fGamma = 1.018e+04 sumE = 13.31 -34 fGamma = 1.169e+04 sumE = 14.35 -35 fGamma = 1.342e+04 sumE = 15.38 -36 fGamma = 1.541e+04 sumE = 16.4 -37 fGamma = 1.769e+04 sumE = 17.4 -38 fGamma = 2.031e+04 sumE = 18.37 -39 fGamma = 2.332e+04 sumE = 19.31 -40 fGamma = 2.677e+04 sumE = 20.22 -41 fGamma = 3.074e+04 sumE = 21.09 -42 fGamma = 3.529e+04 sumE = 21.93 -43 fGamma = 4.052e+04 sumE = 22.72 -44 fGamma = 4.652e+04 sumE = 23.47 -45 fGamma = 5.342e+04 sumE = 24.18 -46 fGamma = 6.133e+04 sumE = 24.84 -47 fGamma = 7.042e+04 sumE = 25.46 -48 fGamma = 8.085e+04 sumE = 26.03 -49 fGamma = 9.283e+04 sumE = 26.55 - -total time for build X-ray TR dE/dx tables = 11.96 s -### Run 5 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 512746418, 1616290115 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=208.703 +- 2.14486 mm - - mean energy deposit in absorber=0.0990678 +- 0.00115941 MeV - - mean number of steps in absorber (charged) =8.714 +- 0.0872823 - mean number of steps in absorber (neutral) =11.258 +- 0.108173 - - mean number of charged secondaries = 7.612 +- 0.0868646 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =7.612 and e+s =0 - -(number) transmission coeff=0.999 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 812561195, 1346040706 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 7 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -PlateIrrGas X-ray TR radiator model is called -0 fGamma = 107.6 sumE = 0.004086 -1 fGamma = 123.4 sumE = 0.006405 -2 fGamma = 141.5 sumE = 0.00993 -3 fGamma = 162.3 sumE = 0.01502 -4 fGamma = 186.2 sumE = 0.02208 -5 fGamma = 213.7 sumE = 0.0339 -6 fGamma = 245.2 sumE = 0.0481 -7 fGamma = 281.3 sumE = 0.06463 -8 fGamma = 322.9 sumE = 0.09286 -9 fGamma = 370.5 sumE = 0.1389 -10 fGamma = 425.3 sumE = 0.1959 -11 fGamma = 488.2 sumE = 0.2531 -12 fGamma = 560.3 sumE = 0.306 -13 fGamma = 643.2 sumE = 0.365 -14 fGamma = 738.3 sumE = 0.4427 -15 fGamma = 847.6 sumE = 0.5631 -16 fGamma = 973 sumE = 0.7273 -17 fGamma = 1117 sumE = 0.9532 -18 fGamma = 1282 sumE = 1.258 -19 fGamma = 1472 sumE = 1.602 -20 fGamma = 1690 sumE = 1.962 -21 fGamma = 1940 sumE = 2.373 -22 fGamma = 2228 sumE = 2.865 -23 fGamma = 2558 sumE = 3.425 -24 fGamma = 2936 sumE = 4.001 -25 fGamma = 3371 sumE = 4.542 -26 fGamma = 3871 sumE = 5.012 -27 fGamma = 4444 sumE = 5.397 -28 fGamma = 5102 sumE = 5.758 -29 fGamma = 5858 sumE = 6.464 -30 fGamma = 6726 sumE = 7.176 -31 fGamma = 7722 sumE = 7.888 -32 fGamma = 8866 sumE = 8.596 -33 fGamma = 1.018e+04 sumE = 9.293 -34 fGamma = 1.169e+04 sumE = 9.974 -35 fGamma = 1.342e+04 sumE = 10.63 -36 fGamma = 1.541e+04 sumE = 11.27 -37 fGamma = 1.769e+04 sumE = 11.87 -38 fGamma = 2.031e+04 sumE = 12.44 -39 fGamma = 2.332e+04 sumE = 12.97 -40 fGamma = 2.677e+04 sumE = 13.46 -41 fGamma = 3.074e+04 sumE = 13.9 -42 fGamma = 3.529e+04 sumE = 14.3 -43 fGamma = 4.052e+04 sumE = 14.66 -44 fGamma = 4.652e+04 sumE = 14.97 -45 fGamma = 5.342e+04 sumE = 15.25 -46 fGamma = 6.133e+04 sumE = 15.48 -47 fGamma = 7.042e+04 sumE = 15.68 -48 fGamma = 8.085e+04 sumE = 15.86 -49 fGamma = 9.283e+04 sumE = 16 - -total time for build X-ray TR tables = 10.29 s -### Run 6 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 812561195, 1346040706 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=255.831 +- 2.44406 mm - - mean energy deposit in absorber=0.104919 +- 0.00104361 MeV - - mean number of steps in absorber (charged) =10.672 +- 0.101096 - mean number of steps in absorber (neutral) =11.731 +- 0.110493 - - mean number of charged secondaries = 9.671 +- 0.101118 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =9.671 and e+s =0 - -(number) transmission coeff=1 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 156064026, 1431891920 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 8 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -PlateIrrGas X-ray TR radiator model is called -0 fGamma = 107.6 sumE = 0.1092 -1 fGamma = 123.4 sumE = 0.1581 -2 fGamma = 141.5 sumE = 0.2232 -3 fGamma = 162.3 sumE = 0.3109 -4 fGamma = 186.2 sumE = 0.4159 -5 fGamma = 213.7 sumE = 0.5576 -6 fGamma = 245.2 sumE = 0.7202 -7 fGamma = 281.3 sumE = 0.8948 -8 fGamma = 322.9 sumE = 1.101 -9 fGamma = 370.5 sumE = 1.353 -10 fGamma = 425.3 sumE = 1.639 -11 fGamma = 488.2 sumE = 1.952 -12 fGamma = 560.3 sumE = 2.222 -13 fGamma = 643.2 sumE = 2.552 -14 fGamma = 738.3 sumE = 2.825 -15 fGamma = 847.6 sumE = 3.185 -16 fGamma = 973 sumE = 3.515 -17 fGamma = 1117 sumE = 3.902 -18 fGamma = 1282 sumE = 4.418 -19 fGamma = 1472 sumE = 4.931 -20 fGamma = 1690 sumE = 5.387 -21 fGamma = 1940 sumE = 5.857 -22 fGamma = 2228 sumE = 6.401 -23 fGamma = 2558 sumE = 7.008 -24 fGamma = 2936 sumE = 7.62 -25 fGamma = 3371 sumE = 8.174 -26 fGamma = 3871 sumE = 8.629 -27 fGamma = 4444 sumE = 8.965 -28 fGamma = 5102 sumE = 9.306 -29 fGamma = 5858 sumE = 10.32 -30 fGamma = 6726 sumE = 11.32 -31 fGamma = 7722 sumE = 12.3 -32 fGamma = 8866 sumE = 13.25 -33 fGamma = 1.018e+04 sumE = 14.17 -34 fGamma = 1.169e+04 sumE = 15.04 -35 fGamma = 1.342e+04 sumE = 15.87 -36 fGamma = 1.541e+04 sumE = 16.66 -37 fGamma = 1.769e+04 sumE = 17.39 -38 fGamma = 2.031e+04 sumE = 18.06 -39 fGamma = 2.332e+04 sumE = 18.69 -40 fGamma = 2.677e+04 sumE = 19.25 -41 fGamma = 3.074e+04 sumE = 19.76 -42 fGamma = 3.529e+04 sumE = 20.21 -43 fGamma = 4.052e+04 sumE = 20.61 -44 fGamma = 4.652e+04 sumE = 20.95 -45 fGamma = 5.342e+04 sumE = 21.25 -46 fGamma = 6.133e+04 sumE = 21.51 -47 fGamma = 7.042e+04 sumE = 21.73 -48 fGamma = 8.085e+04 sumE = 21.91 -49 fGamma = 9.283e+04 sumE = 22.07 - -total time for build X-ray TR dE/dx tables = 23.22 s -### Run 7 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 156064026, 1431891920 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=265.366 +- 2.48283 mm - - mean energy deposit in absorber=0.105211 +- 0.00101336 MeV - - mean number of steps in absorber (charged) =10.905 +- 0.10023 - mean number of steps in absorber (neutral) =11.678 +- 0.107305 - - mean number of charged secondaries = 9.798 +- 0.0995249 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =9.798 and e+s =0 - -(number) transmission coeff=0.999 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1316583305, 1951149088 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 9 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Regular X-ray TR radiator model is called -0 fGamma = 107.6 sumE = 0.004757 -1 fGamma = 123.4 sumE = 0.006213 -2 fGamma = 141.5 sumE = 0.008651 -3 fGamma = 162.3 sumE = 0.01573 -4 fGamma = 186.2 sumE = 0.02543 -5 fGamma = 213.7 sumE = 0.03201 -6 fGamma = 245.2 sumE = 0.05278 -7 fGamma = 281.3 sumE = 0.05867 -8 fGamma = 322.9 sumE = 0.1018 -9 fGamma = 370.5 sumE = 0.1469 -10 fGamma = 425.3 sumE = 0.1786 -11 fGamma = 488.2 sumE = 0.2919 -12 fGamma = 560.3 sumE = 0.3108 -13 fGamma = 643.2 sumE = 0.2985 -14 fGamma = 738.3 sumE = 0.4656 -15 fGamma = 847.6 sumE = 0.5473 -16 fGamma = 973 sumE = 0.911 -17 fGamma = 1117 sumE = 1.469 -18 fGamma = 1282 sumE = 1.626 -19 fGamma = 1472 sumE = 2.145 -20 fGamma = 1690 sumE = 2.212 -21 fGamma = 1940 sumE = 2.643 -22 fGamma = 2228 sumE = 2.875 -23 fGamma = 2558 sumE = 2.505 -24 fGamma = 2936 sumE = 2.271 -25 fGamma = 3371 sumE = 1.625 -26 fGamma = 3871 sumE = 3.543 -27 fGamma = 4444 sumE = 2.547 -28 fGamma = 5102 sumE = 1.326 -29 fGamma = 5858 sumE = 1.079 -30 fGamma = 6726 sumE = 1.166 -31 fGamma = 7722 sumE = 1.652 -32 fGamma = 8866 sumE = 0.8713 -33 fGamma = 1.018e+04 sumE = 1.478 -34 fGamma = 1.169e+04 sumE = 1.245 -35 fGamma = 1.342e+04 sumE = 1.203 -36 fGamma = 1.541e+04 sumE = 1.272 -37 fGamma = 1.769e+04 sumE = 0.8468 -38 fGamma = 2.031e+04 sumE = 0.7525 -39 fGamma = 2.332e+04 sumE = 0.9297 -40 fGamma = 2.677e+04 sumE = 1.099 -41 fGamma = 3.074e+04 sumE = 1.196 -42 fGamma = 3.529e+04 sumE = 1.23 -43 fGamma = 4.052e+04 sumE = 1.232 -44 fGamma = 4.652e+04 sumE = 1.226 -45 fGamma = 5.342e+04 sumE = 1.222 -46 fGamma = 6.133e+04 sumE = 1.223 -47 fGamma = 7.042e+04 sumE = 1.226 -48 fGamma = 8.085e+04 sumE = 1.231 -49 fGamma = 9.283e+04 sumE = 1.235 - -total time for build X-ray TR tables = 30.54 s -### Run 8 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1316583305, 1951149088 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=40.0234 +- 0.50338 mm - - mean energy deposit in absorber=0.0313219 +- 0.000513749 MeV - - mean number of steps in absorber (charged) =1.473 +- 0.0217548 - mean number of steps in absorber (neutral) =0.849 +- 0.0297355 - - mean number of charged secondaries = 0.473 +- 0.0217548 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =0.473 and e+s =0 - -(number) transmission coeff=0.34 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1257652858, 1424164160 ----------------------------------------- -Em10DetectorConstruction::ParametrisationModel() is called -fModelNumber = 10 -the number of TR radiator plates = 300 -plate material = Li -gas material = He -plate plasma energy = 13.8447 eV -gas plasma energy = 0.271761 eV -Regular X-ray TR dE/dx radiator model is called -0 fGamma = 107.6 sumE = 0.1102 -1 fGamma = 123.4 sumE = 0.1591 -2 fGamma = 141.5 sumE = 0.2276 -3 fGamma = 162.3 sumE = 0.3018 -4 fGamma = 186.2 sumE = 0.4444 -5 fGamma = 213.7 sumE = 0.5486 -6 fGamma = 245.2 sumE = 0.6789 -7 fGamma = 281.3 sumE = 0.8374 -8 fGamma = 322.9 sumE = 1.005 -9 fGamma = 370.5 sumE = 1.384 -10 fGamma = 425.3 sumE = 1.644 -11 fGamma = 488.2 sumE = 2.001 -12 fGamma = 560.3 sumE = 2.464 -13 fGamma = 643.2 sumE = 2.98 -14 fGamma = 738.3 sumE = 3.457 -15 fGamma = 847.6 sumE = 3.391 -16 fGamma = 973 sumE = 3.782 -17 fGamma = 1117 sumE = 4.33 -18 fGamma = 1282 sumE = 5.624 -19 fGamma = 1472 sumE = 5.355 -20 fGamma = 1690 sumE = 5.291 -21 fGamma = 1940 sumE = 4.926 -22 fGamma = 2228 sumE = 5.24 -23 fGamma = 2558 sumE = 4.833 -24 fGamma = 2936 sumE = 4.372 -25 fGamma = 3371 sumE = 3.614 -26 fGamma = 3871 sumE = 3.926 -27 fGamma = 4444 sumE = 3.907 -28 fGamma = 5102 sumE = 1.839 -29 fGamma = 5858 sumE = 1.708 -30 fGamma = 6726 sumE = 1.732 -31 fGamma = 7722 sumE = 1.743 -32 fGamma = 8866 sumE = 1.779 -33 fGamma = 1.018e+04 sumE = 1.613 -34 fGamma = 1.169e+04 sumE = 1.79 -35 fGamma = 1.342e+04 sumE = 1.682 -36 fGamma = 1.541e+04 sumE = 1.668 -37 fGamma = 1.769e+04 sumE = 1.68 -38 fGamma = 2.031e+04 sumE = 1.724 -39 fGamma = 2.332e+04 sumE = 1.726 -40 fGamma = 2.677e+04 sumE = 1.705 -41 fGamma = 3.074e+04 sumE = 1.672 -42 fGamma = 3.529e+04 sumE = 1.647 -43 fGamma = 4.052e+04 sumE = 1.637 -44 fGamma = 4.652e+04 sumE = 1.632 -45 fGamma = 5.342e+04 sumE = 1.631 -46 fGamma = 6.133e+04 sumE = 1.631 -47 fGamma = 7.042e+04 sumE = 1.632 -48 fGamma = 8.085e+04 sumE = 1.633 -49 fGamma = 9.283e+04 sumE = 1.634 - -total time for build X-ray TR dE/dx tables = 45.95 s -### Run 9 start. - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1257652858, 1424164160 ----------------------------------------- - ----> Begin of Event: 0 - ================== run summary ===================== - end of Run TotNbofEvents = 1000 - mean charged track length in absorber=47.5595 +- 0.655577 mm - - mean energy deposit in absorber=0.0339646 +- 0.000553672 MeV - - mean number of steps in absorber (charged) =1.812 +- 0.0282959 - mean number of steps in absorber (neutral) =1.206 +- 0.0349223 - - mean number of charged secondaries = 0.805 +- 0.0282307 - - mean number of neutral secondaries = 0 +- 0 - - mean number of e-s =0.805 and e+s =0 - -(number) transmission coeff=0.536 reflection coeff=0 - - ---------- Ranecu engine status --------- - Initial seed (index) = 0 - Current couple of seeds = 1542312066, 1872262965 + Current couple of seeds = 2118371079, 1770060574 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.out b/examples/extended/electromagnetic/TestEm10/TestEm10.out index 97bb6594c5..1977edb6bc 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -225,11 +225,13 @@ Regular X-ray TR radiator EM process is called 48 fGamma = 8.085e+04 sumE = 4.344 49 fGamma = 9.283e+04 sumE = 4.343 -total time for build X-ray TR energy loss tables = 74.56 s +total time for build X-ray TR energy loss tables = 74.17 s phot: Total cross sections from Sandia parametrisation. Em10PhysicsList::SetCuts:CutLength : 1 mm +total time(SetCuts)=0 s + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -240,7 +242,8 @@ conv: Total cross sections from a parametrisation. Good description from 1.5 Me eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -252,77 +255,40 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : radiatorMat + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 43.8848 keV e+ 43.3478 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : Mylar + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : Yes recalculation needed : No + Material : Ar7CH4 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== -total time(SetCuts)=16.35 s -============= The cut Energy ============================== - gamma e- -Cut in range - Aluminium 1 mm 1 mm - TRT_CH2 1 mm 1 mm - Radiator 1 mm 1 mm - CarbonFiber 1 mm 1 mm - Li 1 mm 1 mm - Be 1 mm 1 mm - Mylar 1 mm 1 mm - Kapton 1 mm 1 mm - CH2 1 mm 1 mm - He 1 mm 1 mm - Ne 1 mm 1 mm - Argon 1 mm 1 mm - Kr 1 mm 1 mm - Xenon 1 mm 1 mm - CH4 1 mm 1 mm - C3H8 1 mm 1 mm - isoC4H10 1 mm 1 mm - CO2 1 mm 1 mm - CO2 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm - Xe55He15CH4 1 mm 1 mm - Xe10CH4 1 mm 1 mm - Xe5CH4 1 mm 1 mm - Xe20CH4 1 mm 1 mm - Ar7CH4 1 mm 1 mm - Kr7CH4 1 mm 1 mm - XeArCH4 1 mm 1 mm - radiatorMat 1 mm 1 mm -Cut in energy - Aluminium 6.89 keV 597 keV - TRT_CH2 2.78 keV 515 keV - Radiator 990 eV 89.6 keV - CarbonFiber 1.52 keV 147 keV - Li 1.16 keV 207 keV - Be 1.99 keV 466 keV - Mylar 3.48 keV 541 keV - Kapton 3.48 keV 541 keV - CH2 2.75 keV 502 keV - He 990 eV 990 eV - Ne 990 eV 990 eV - Argon 990 eV 990 eV - Kr 990 eV 1.07 keV - Xenon 990 eV 1.95 keV - CH4 990 eV 990 eV - C3H8 990 eV 990 eV - isoC4H10 990 eV 1.45 keV - CO2 990 eV 990 eV - CO2 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV - Xe55He15CH4 990 eV 990 eV - Xe10CH4 990 eV 1.74 keV - Xe5CH4 990 eV 1.83 keV - Xe20CH4 990 eV 1.54 keV - Ar7CH4 990 eV 990 eV - Kr7CH4 990 eV 996 eV - XeArCH4 990 eV 1.04 keV - radiatorMat 990 eV 43.9 keV -=================================================== ### Run 0 start. --------- Ranecu engine status --------- @@ -333,25 +299,25 @@ Cut in energy ---> Begin of Event: 0 ================== run summary ===================== end of Run TotNbofEvents = 1000 - mean charged track length in absorber=23.1038 +- 0.910528 mm + mean charged track length in absorber=23.4199 +- 0.978724 mm - mean energy deposit in absorber=0.00657321 +- 0.000200772 MeV + mean energy deposit in absorber=0.0066657 +- 0.000200206 MeV - mean number of steps in absorber (charged) =1.229 +- 0.0161418 - mean number of steps in absorber (neutral) =2.028 +- 0.0442856 + mean number of steps in absorber (charged) =1.227 +- 0.0164156 + mean number of steps in absorber (neutral) =1.981 +- 0.0448847 - mean number of charged secondaries = 0.208 +- 0.0141681 + mean number of charged secondaries = 0.203 +- 0.0142755 mean number of neutral secondaries = 0 +- 0 - mean number of e-s =0.208 and e+s =0 + mean number of e-s =0.203 and e+s =0 -(number) transmission coeff=0.171 reflection coeff=0.003 +(number) transmission coeff=0.16 reflection coeff=0.006 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1473754610, 1307634574 + Current couple of seeds = 1545544388, 618057029 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh b/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh index d9669eea20..81256c191f 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: Em10CalorHit.hh,v 1.2 2001/07/11 09:57:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh index 02496fa3bb..c7d54a4022 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: Em10CalorimeterSD.hh,v 1.2 2001/07/11 09:57:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh index e015c06f84..358fd1ee9f 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em10DetectorConstruction.hh,v 1.5 2002/02/05 11:06:37 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh index 21ab640198..811849b92f 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em10DetectorMessenger.hh,v 1.3 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh index 2817c039cd..8741a382d7 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em10EventAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh index 60843b7cf3..fefe490fb7 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em10EventActionMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh index c51ec67c79..648c4e124e 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: Em10PhysicsList.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef Em10PhysicsList_h diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh index e66494c506..0bb931f45a 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em10PhysicsListMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh index fa6e1f5873..ac0bc84868 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em10PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh index f744e5d685..c52cc0726b 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em10PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh index 8f31cf4aed..46d3a305aa 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em10RunAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh index fccc589cf3..c4f1d30365 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: Em10RunMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh b/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh index 3661bd4b41..2c830a98bf 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: Em10StepCut.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh index 2bc783beb1..75520de542 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingAction.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh index dd8a23c072..88943a332c 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingMessenger.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh index 858439c127..0dd60355a0 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingVerbose.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10VisManager.hh b/examples/extended/electromagnetic/TestEm10/include/Em10VisManager.hh index 17543a94e2..d0d5b7202a 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10VisManager.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em10VisManager.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh index c6d245b8cf..da6457ed23 100644 --- a/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: TRTDetectorConstruction.hh,v 1.2 2001/07/11 09:57:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh index 82dc7a34ed..631bf64458 100644 --- a/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh +++ b/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh @@ -22,7 +22,7 @@ // // // $Id: TRTMaterials.hh,v 1.2 2001/07/11 09:57:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc b/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc index ff1e61f604..4dc24baef3 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: Em10CalorHit.cc,v 1.2 2001/07/11 09:57:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc index 8af4e070be..50b17f04e9 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: Em10CalorimeterSD.cc,v 1.2 2001/07/11 09:57:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc index 1bffdac202..fedb6de9da 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: Em10DetectorConstruction.cc,v 1.8 2002/02/05 11:06:38 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc index fa9e93a1a0..449e2d783e 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10DetectorMessenger.cc,v 1.6 2002/12/05 00:24:24 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc index e11da3dfb0..b8f8327295 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em10EventAction.cc,v 1.3 2001/11/21 11:57:14 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc index 4fd766d268..fe0ccb4dea 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10EventActionMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc index f6d46c6539..d2f73be768 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em10PhysicsList.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em10PhysicsList.cc,v 1.5 2003/02/20 13:09:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" @@ -302,7 +302,7 @@ void Em10PhysicsList::ConstructEM() particleName == "proton" || particleName == "antiproton" || particleName == "pi+" - || particleName == "pi-" + || particleName == "pi-" || particleName == "kaon+" || particleName == "kaon-" ) @@ -399,17 +399,6 @@ void Em10PhysicsList::SetCuts() SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>1) DumpCutValuesTable(); theTimer.Stop(); diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc index d007b134d1..284aaf3383 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10PhysicsListMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc index c57f0bdc3b..c6834e8a37 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em10PrimaryGeneratorAction.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc index 52cb1a51c4..3dddeebc41 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10PrimaryGeneratorMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc index 7720458205..d3f3183ceb 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em10RunAction.cc,v 1.3 2001/11/21 11:57:14 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc index e0425b17e2..c6741e1ce8 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10RunMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc b/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc index ff3788cd26..cb3382ff4c 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc @@ -22,7 +22,7 @@ // // // $Id: Em10StepCut.cc,v 1.2 2001/07/11 09:57:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "Em10StepCut.hh" diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc index 2ebbd545e7..8c8c92927e 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingAction.cc,v 1.3 2001/11/21 11:57:15 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc index 9dcfff28e1..1df8e897a9 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingMessenger.cc,v 1.2 2001/07/11 09:57:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc index 74ba988c42..2b3d02898a 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: Em10SteppingVerbose.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10VisManager.cc b/examples/extended/electromagnetic/TestEm10/src/Em10VisManager.cc index 1a817a9d66..6eecc8d629 100755 --- a/examples/extended/electromagnetic/TestEm10/src/Em10VisManager.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em10VisManager.cc,v 1.4 2002/11/13 21:39:47 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History index 75b838cf47..0cab86d469 100644 --- a/examples/extended/electromagnetic/TestEm2/History +++ b/examples/extended/electromagnetic/TestEm2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2002/12/11 17:12:20 maire Exp $ +$Id: History,v 1.28 2003/03/26 16:23:15 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,19 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +26-03-03 mma (testem2-V05-00-03) +- G4PVPlacement and G4PVReplica in logical mother + +17-03-03 V.Ivanchenko (testem2-V05-00-02) +- Addition to migration to cut per region +- Update modular structure of PhysicsList + +14-02-03 V.Ivanchenko (testem2-V05-00-01) +- Migration to cut per region + +12-02-03 mma (testem2-V05-00-00) +- add a blank in SteppingVerbose + 11-12-02 mma (testem2-V04-01-03) - Migration to AIDA 3.0. diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.cc b/examples/extended/electromagnetic/TestEm2/TestEm2.cc index e39595e570..eb512818cc 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.cc +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm2.cc,v 1.6 2001/10/25 15:12:05 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.in b/examples/extended/electromagnetic/TestEm2/TestEm2.in index 5a1ab55ae2..55573f787e 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.in +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.in @@ -1,4 +1,4 @@ -# $Id: TestEm2.in,v 1.7 2002/10/31 13:58:29 maire Exp $ +# $Id: TestEm2.in,v 1.8 2003/02/14 14:21:27 vnivanch Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -17,12 +17,12 @@ /testem/phys/addPhysics standard # /testem/phys/setCuts 5.0 mm -/run/initialize # /testem/det/setMat Water /testem/det/setLbin 9 1.11 /testem/det/setRbin 6 0.111 -/testem/det/update +/run/initialize +#/testem/det/update # /testem/event/printModulo 20 # diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.model.in b/examples/extended/electromagnetic/TestEm2/TestEm2.model.in index 31b359ccc9..c514ed6991 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.model.in +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.model.in @@ -9,6 +9,7 @@ # /control/verbose 2 /run/verbose 1 +/tracking/verbose 0 # # select EM PhysicsList # @@ -16,12 +17,12 @@ #/testem/phys/addPhysics standard # /testem/phys/setCuts 5.0 mm -/run/initialize # /testem/det/setMat Water /testem/det/setLbin 9 1.11 /testem/det/setRbin 6 0.111 -/testem/det/update +/run/initialize +#/testem/det/update # /testem/event/printModulo 20 # diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.model.out b/examples/extended/electromagnetic/TestEm2/TestEm2.model.out index 8c53db0274..07aef38827 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.model.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.model.out @@ -1,35 +1,8 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (31-Jul-2002) + Geant4 version $Name: geant4-05-01 $ + (13-Dec-2002) Copyright : Geant4 Collaboration ********************************************** -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - FukuiRenderer (DAWN) - OpenGLImmediateX (OGLIX) - OpenGLStoredX (OGLSX) - VRML1 (VRML1) - VRML2 (VRML2) -/run/verbose 1 -# -# select EM PhysicsList -# -/testem/phys/addPhysics model -#/testem/phys/addPhysics standard -# -/testem/phys/setCuts 5.0 mm -/run/initialize ***** Table : Nb of materials = 9 ***** @@ -67,11 +40,91 @@ Current available graphics systems are: ---> Element: LeadPb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 % -Absorber is 17.848 cm of PbWO4 +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +/run/verbose 1 +/tracking/verbose 0 +# +# select EM PhysicsList +# +/testem/phys/addPhysics model +#/testem/phys/addPhysics standard +# +/testem/phys/setCuts 5.0 mm +# +/testem/det/setMat Water +/testem/det/setLbin 9 1.11 +/testem/det/setRbin 6 0.111 +/run/initialize +Absorber is 3.60564 m of Water phot: Total cross sections from Sandia parametrisation. Em2PhysicsList::SetCuts:CutLength : 1 mm +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : Yes + Material : Air + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 1 used in the geometry : Yes recalculation needed : Yes + Material : Water + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : No recalculation needed : Yes + Material : lAr + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 3 used in the geometry : No recalculation needed : Yes + Material : Al + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 4 used in the geometry : No recalculation needed : Yes + Material : Fe + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 5 used in the geometry : No recalculation needed : Yes + Material : BGO + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 6 used in the geometry : No recalculation needed : Yes + Material : PbWO4 + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 7 used in the geometry : No recalculation needed : Yes + Material : Tungsten + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +Index : 8 used in the geometry : No recalculation needed : Yes + Material : Lead + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : is not ready to print + +==================================================================== + + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -129,7 +182,7 @@ msc: Tables of transport mean free paths. muIoni: dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below. + Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below. MuBrems: dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -144,7 +197,7 @@ MuPairProd: muIoni: dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below. + Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below. MuBrems: dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -155,41 +208,87 @@ MuPairProd: dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model -============= The cut Energy ============================== - gamma e- -Cut in range - Air 5 mm 5 mm - Water 5 mm 5 mm - lAr 5 mm 5 mm - Al 5 mm 5 mm - Fe 5 mm 5 mm - BGO 5 mm 5 mm - PbWO4 5 mm 5 mm - Tungsten 5 mm 5 mm - Lead 5 mm 5 mm -Cut in energy - Air 990 eV 3.24 keV - Water 5.78 keV 1.16 MeV - lAr 13.6 keV 1.16 MeV - Al 14.6 keV 2.31 MeV - Fe 46.4 keV 6.11 MeV - BGO 126 keV 4.72 MeV - PbWO4 137 keV 5.34 MeV - Tungsten 241 keV 13 MeV - Lead 204 keV 6.83 MeV -=================================================== -# -/testem/det/setMat Water -/testem/det/setLbin 9 1.11 -/testem/det/setRbin 6 0.111 -/testem/det/update -Absorber is 3.60564 m of Water + +======== Table of production thresholds in range and energy =========== + +----------------------------------------------------------------------- +Region : DefaultRegionForTheWorld +----------------------------------------------------------------------- + gamma e- e+ +Threshold in range 5 mm 5 mm 5 mm + Water 5.78 keV 1.16 MeV 1.1 MeV +======================================================================= + +#/testem/det/update # /testem/event/printModulo 20 # /gun/particle e- /gun/energy 1 GeV /run/beamOn 100 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : No + Material : Air + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 990 eV e- 3.2397 keV e+ 3.20006 keV + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : No recalculation needed : No + Material : lAr + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 13.5776 keV e- 1.15997 MeV e+ 1.10423 MeV + +Index : 3 used in the geometry : No recalculation needed : No + Material : Al + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 14.6203 keV e- 2.31122 MeV e+ 2.14666 MeV + +Index : 4 used in the geometry : No recalculation needed : No + Material : Fe + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 46.4433 keV e- 6.11229 MeV e+ 5.74741 MeV + +Index : 5 used in the geometry : No recalculation needed : No + Material : BGO + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 125.956 keV e- 4.71987 MeV e+ 4.38381 MeV + +Index : 6 used in the geometry : No recalculation needed : No + Material : PbWO4 + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 137.419 keV e- 5.33819 MeV e+ 4.9581 MeV + +Index : 7 used in the geometry : No recalculation needed : No + Material : Tungsten + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 241.105 keV e- 12.9518 MeV e+ 12.0297 MeV + +Index : 8 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 204.169 keV e- 6.82843 MeV e+ 6.34224 MeV + +==================================================================== + + +======== Table of production thresholds in range and energy =========== + +----------------------------------------------------------------------- +Region : DefaultRegionForTheWorld +----------------------------------------------------------------------- + gamma e- e+ +Threshold in range 5 mm 5 mm 5 mm + Water 5.78 keV 1.16 MeV 1.1 MeV +======================================================================= + ### Run 0 start. --------- Ranecu engine status --------- @@ -210,20 +309,20 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=5.87s Real=6.23s Sys=0.26s + User=5.34s Real=5.37s Sys=0.02s LATERAL PROFILE CUMULATIVE LATERAL PROFILE bin Mean rms bin Mean rms - 0.00-> 1.11 radl: 12.58% 5.30% 0-> 1.11 radl: 12.58% 5.30% - 1.11-> 2.22 radl: 23.85% 9.95% 0-> 2.22 radl: 36.43% 13.16% - 2.22-> 3.33 radl: 22.18% 9.52% 0-> 3.33 radl: 58.61% 16.17% - 3.33-> 4.44 radl: 14.36% 7.89% 0-> 4.44 radl: 72.97% 15.41% - 4.44-> 5.55 radl: 9.35% 6.69% 0-> 5.55 radl: 82.32% 13.50% - 5.55-> 6.66 radl: 5.51% 5.48% 0-> 6.66 radl: 87.83% 11.97% - 6.66-> 7.77 radl: 2.54% 3.20% 0-> 7.77 radl: 90.37% 10.44% - 7.77-> 8.88 radl: 1.80% 3.49% 0-> 8.88 radl: 92.17% 8.50% - 8.88-> 9.99 radl: 1.03% 2.39% 0-> 9.99 radl: 93.20% 7.61% + 0.00-> 1.11 radl: 14.12% 5.47% 0-> 1.11 radl: 14.12% 5.47% + 1.11-> 2.22 radl: 25.22% 10.29% 0-> 2.22 radl: 39.34% 12.63% + 2.22-> 3.33 radl: 21.45% 9.35% 0-> 3.33 radl: 60.78% 14.02% + 3.33-> 4.44 radl: 14.66% 7.61% 0-> 4.44 radl: 75.44% 13.94% + 4.44-> 5.55 radl: 9.02% 5.76% 0-> 5.55 radl: 84.47% 12.04% + 5.55-> 6.66 radl: 5.67% 6.05% 0-> 6.66 radl: 90.14% 7.83% + 6.66-> 7.77 radl: 2.98% 4.29% 0-> 7.77 radl: 93.12% 5.18% + 7.77-> 8.88 radl: 1.23% 2.37% 0-> 8.88 radl: 94.35% 4.33% + 8.88-> 9.99 radl: 0.63% 1.55% 0-> 9.99 radl: 94.98% 3.90% @@ -231,21 +330,21 @@ Run Summary bin Mean rms bin Mean rms - 0.00-> 0.11 radl: 66.31% 10.78% 0-> 0.11 radl: 66.31% 10.78% - 0.11-> 0.22 radl: 15.55% 6.57% 0-> 0.22 radl: 81.86% 8.33% - 0.22-> 0.33 radl: 5.83% 3.71% 0-> 0.33 radl: 87.69% 7.76% - 0.33-> 0.44 radl: 2.63% 1.84% 0-> 0.44 radl: 90.32% 7.69% - 0.44-> 0.56 radl: 1.82% 1.38% 0-> 0.56 radl: 92.14% 7.58% - 0.56-> 0.67 radl: 1.06% 1.04% 0-> 0.67 radl: 93.20% 7.61% + 0.00-> 0.11 radl: 70.14% 7.35% 0-> 0.11 radl: 70.14% 7.35% + 0.11-> 0.22 radl: 14.15% 5.09% 0-> 0.22 radl: 84.28% 6.21% + 0.22-> 0.33 radl: 5.21% 3.02% 0-> 0.33 radl: 89.50% 5.24% + 0.33-> 0.44 radl: 2.83% 2.05% 0-> 0.44 radl: 92.32% 4.50% + 0.44-> 0.56 radl: 1.63% 1.66% 0-> 0.56 radl: 93.95% 3.98% + 0.56-> 0.67 radl: 1.02% 1.01% 0-> 0.67 radl: 94.98% 3.90% SUMMARY - energy deposit : 93.20 % E0 +- 7.61 % E0 - charged traklen: 13.45 radl +- 1.10 radl - neutral traklen: 204.04 radl +- 24.43 radl + energy deposit : 94.98 % E0 +- 3.90 % E0 + charged traklen: 13.76 radl +- 0.58 radl + neutral traklen: 199.64 radl +- 19.43 radl --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 134990405, 73697489 + Current couple of seeds = 603014974, 1128376559 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.out b/examples/extended/electromagnetic/TestEm2/TestEm2.out index b097d527ac..82e9e46b2e 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.out @@ -1,31 +1,9 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRepFile (HepRepFile) - G4HepRep (HepRepXML) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) -/run/verbose 1 -# -# select EM PhysicsList -# -#/testem/phys/addPhysics model -/testem/phys/addPhysics standard -# -/testem/phys/setCuts 5.0 mm -/run/initialize +G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV; ***** Table : Nb of materials = 9 ***** @@ -33,7 +11,7 @@ Current available graphics systems are: ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % - Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm + Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 % @@ -63,10 +41,44 @@ Current available graphics systems are: ---> Element: Lead Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 % -Absorber is 17.848 cm of PbWO4 +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +/run/verbose 1 +# +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 5.0 mm +# +/testem/det/setMat Water +/testem/det/setLbin 9 1.11 +/testem/det/setRbin 6 0.111 +/run/initialize +Absorber is 3.60564 m of Water phot: Total cross sections from Sandia parametrisation. Em2PhysicsList::SetCuts:CutLength : 1 mm +#/testem/det/update +# +/testem/event/printModulo 20 +# +/gun/particle e- +/gun/energy 1 GeV +/run/beamOn 100 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -83,7 +95,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -104,6 +117,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -122,41 +136,18 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Air 5 mm 5 mm - Water 5 mm 5 mm - lAr 5 mm 5 mm - Al 5 mm 5 mm - Fe 5 mm 5 mm - BGO 5 mm 5 mm - PbWO4 5 mm 5 mm - Tungsten 5 mm 5 mm - Lead 5 mm 5 mm -Cut in energy - Air 990 eV 3.24 keV - Water 5.78 keV 1.16 MeV - lAr 13.6 keV 1.16 MeV - Al 14.6 keV 2.31 MeV - Fe 46.4 keV 6.11 MeV - BGO 126 keV 4.72 MeV - PbWO4 137 keV 5.34 MeV - Tungsten 241 keV 13 MeV - Lead 204 keV 6.83 MeV -=================================================== -# -/testem/det/setMat Water -/testem/det/setLbin 9 1.11 -/testem/det/setRbin 6 0.111 -/testem/det/update -Absorber is 3.60564 m of Water -# -/testem/event/printModulo 20 -# -/gun/particle e- -/gun/energy 1 GeV -/run/beamOn 100 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 5 mm e- 5 mm e+ 5 mm + Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -177,20 +168,20 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=23.55s Real=29.75s Sys=3.06s + User=23.77s Real=40.12s Sys=2.87s LATERAL PROFILE CUMULATIVE LATERAL PROFILE bin Mean rms bin Mean rms - 0.00-> 1.11 radl: 14.75% 6.29% 0-> 1.11 radl: 14.75% 6.29% - 1.11-> 2.22 radl: 22.10% 9.69% 0-> 2.22 radl: 36.84% 12.22% - 2.22-> 3.33 radl: 20.44% 8.15% 0-> 3.33 radl: 57.28% 13.93% - 3.33-> 4.44 radl: 14.74% 8.52% 0-> 4.44 radl: 72.02% 13.31% - 4.44-> 5.55 radl: 9.78% 6.96% 0-> 5.55 radl: 81.79% 11.49% - 5.55-> 6.66 radl: 6.76% 5.80% 0-> 6.66 radl: 88.55% 8.07% - 6.66-> 7.77 radl: 2.97% 4.08% 0-> 7.77 radl: 91.52% 5.98% - 7.77-> 8.88 radl: 1.92% 3.10% 0-> 8.88 radl: 93.44% 4.74% - 8.88-> 9.99 radl: 0.81% 1.68% 0-> 9.99 radl: 94.25% 4.23% + 0.00-> 1.11 radl: 14.36% 5.72% 0-> 1.11 radl: 14.36% 5.72% + 1.11-> 2.22 radl: 26.26% 10.79% 0-> 2.22 radl: 40.62% 13.37% + 2.22-> 3.33 radl: 22.19% 9.03% 0-> 3.33 radl: 62.81% 15.91% + 3.33-> 4.44 radl: 13.75% 7.33% 0-> 4.44 radl: 76.56% 14.26% + 4.44-> 5.55 radl: 8.50% 7.31% 0-> 5.55 radl: 85.06% 10.05% + 5.55-> 6.66 radl: 5.11% 5.66% 0-> 6.66 radl: 90.17% 6.73% + 6.66-> 7.77 radl: 2.43% 3.31% 0-> 7.77 radl: 92.60% 5.49% + 7.77-> 8.88 radl: 1.46% 2.59% 0-> 8.88 radl: 94.06% 3.94% + 8.88-> 9.99 radl: 0.77% 2.44% 0-> 9.99 radl: 94.83% 3.01% @@ -198,21 +189,21 @@ Run Summary bin Mean rms bin Mean rms - 0.00-> 0.11 radl: 66.75% 9.25% 0-> 0.11 radl: 66.75% 9.25% - 0.11-> 0.22 radl: 15.01% 5.71% 0-> 0.22 radl: 81.76% 6.91% - 0.22-> 0.33 radl: 5.87% 3.76% 0-> 0.33 radl: 87.63% 5.52% - 0.33-> 0.44 radl: 3.22% 2.53% 0-> 0.44 radl: 90.85% 4.86% - 0.44-> 0.56 radl: 2.09% 1.82% 0-> 0.56 radl: 92.94% 4.39% - 0.56-> 0.67 radl: 1.32% 1.29% 0-> 0.67 radl: 94.25% 4.23% + 0.00-> 0.11 radl: 68.50% 9.87% 0-> 0.11 radl: 68.50% 9.87% + 0.11-> 0.22 radl: 14.54% 7.51% 0-> 0.22 radl: 83.05% 6.59% + 0.22-> 0.33 radl: 5.46% 3.40% 0-> 0.33 radl: 88.51% 5.19% + 0.33-> 0.44 radl: 3.16% 2.72% 0-> 0.44 radl: 91.67% 4.03% + 0.44-> 0.56 radl: 1.89% 2.15% 0-> 0.56 radl: 93.55% 3.36% + 0.56-> 0.67 radl: 1.27% 1.12% 0-> 0.67 radl: 94.83% 3.01% SUMMARY - energy deposit : 94.25 % E0 +- 4.23 % E0 - charged traklen: 13.70 radl +- 0.61 radl - neutral traklen: 200.64 radl +- 19.55 radl + energy deposit : 94.83 % E0 +- 3.01 % E0 + charged traklen: 13.83 radl +- 0.44 radl + neutral traklen: 204.03 radl +- 17.83 radl --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1371468372, 1731317846 + Current couple of seeds = 341185374, 166917226 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh index 3e051cee08..77e0dbe5b2 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorConstruction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2DetectorConstruction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2DetectorConstruction.hh,v 1.6 2003/02/14 14:21:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -54,7 +54,7 @@ class Em2DetectorConstruction : public G4VUserDetectorConstruction public: - void SetMaterial(G4String); + void SetMaterial(const G4String&); void SetLBining (G4ThreeVector); void SetRBining (G4ThreeVector); void SetMagField(G4double); diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh index b81c81d44b..4f2b32bb5a 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2DetectorMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2DetectorMessenger.hh,v 1.5 2002/12/11 17:12:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2DetectorMessenger.hh,v 1.6 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh index 8a27e5cca3..62da24bc4e 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2EventAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2EventAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2EventAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh index 9b333127e5..355ea158e7 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2EventActionMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2EventActionMessenger.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2EventActionMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmModel.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmModel.hh index b2d0b3ee86..bb16a8f11c 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmModel.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmModel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListEmModel.hh,v 1.1 2002/10/31 14:07:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListEmModel.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmStandard.hh index 68c945b911..b57095ee5a 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListEmStandard.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListEmStandard.hh,v 1.1 2002/10/31 14:07:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListEmStandard.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListGeneral.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListGeneral.hh index 053c098803..766ee38b74 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListGeneral.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListGeneral.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListGeneral.hh,v 1.1 2002/10/31 14:07:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListGeneral.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListParticles.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListParticles.hh index dd1ad5ab5e..61b21f84a2 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysListParticles.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysListParticles.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListParticles.hh,v 1.1 2002/10/31 14:07:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListParticles.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh index 655f6a0164..e9d66924a8 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsList.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysicsList.hh,v 1.7 2002/10/31 13:58:32 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysicsList.hh,v 1.9 2003/03/17 15:30:08 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // @@ -38,6 +38,7 @@ #include "globals.hh" class Em2PhysicsListMessenger; +class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -47,21 +48,25 @@ class Em2PhysicsList: public G4VModularPhysicsList Em2PhysicsList(); ~Em2PhysicsList(); + virtual void ConstructParticle(); + virtual void ConstructProcess(); void AddPhysicsList(const G4String& name); - + void SetCuts(); void SetCutForGamma(G4double); void SetCutForElectron(G4double); void SetCutForPositron(G4double); - + private: G4double cutForGamma; - G4double cutForElectron; + G4double cutForElectron; G4double cutForPositron; G4double currentDefaultCut; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* generalPhysicsList; + G4VPhysicsConstructor* particleList; + G4String emName; - G4bool emPhysicsListIsRegistered; - Em2PhysicsListMessenger* pMessenger; }; diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh index 98b504b418..66f960a89f 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysicsListMessenger.hh,v 1.4 2002/10/14 15:56:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysicsListMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh index 79bd2f7b80..388215af49 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2PrimaryGeneratorAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PrimaryGeneratorAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PrimaryGeneratorAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh index 43882489a9..bdfb2b6a58 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2RunAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2RunAction.hh,v 1.12 2002/12/11 17:12:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2RunAction.hh,v 1.13 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh index 06dd756caa..d68a888db0 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2SteppingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2SteppingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh index 45a172a76d..b51c826a7b 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2SteppingVerbose.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2SteppingVerbose.hh,v 1.7 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2SteppingVerbose.hh,v 1.8 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh b/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh index 8606e484fb..b9882cfd49 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2TrackingAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2TrackingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2TrackingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh b/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh index 13cf97c9c3..3fd7e43ec3 100644 --- a/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh +++ b/examples/extended/electromagnetic/TestEm2/include/Em2VisManager.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2VisManager.hh,v 1.4 2001/10/25 15:12:06 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2VisManager.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/run01.mac b/examples/extended/electromagnetic/TestEm2/run01.mac index 0840535d35..eca16e31c6 100644 --- a/examples/extended/electromagnetic/TestEm2/run01.mac +++ b/examples/extended/electromagnetic/TestEm2/run01.mac @@ -1,4 +1,4 @@ -# $Id: run01.mac,v 1.10 2002/12/11 17:12:21 maire Exp $ +# $Id: run01.mac,v 1.12 2003/03/26 16:23:16 maire Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) diff --git a/examples/extended/electromagnetic/TestEm2/run01.out b/examples/extended/electromagnetic/TestEm2/run01.out index 4fc46ecd6f..403a22f8ac 100644 --- a/examples/extended/electromagnetic/TestEm2/run01.out +++ b/examples/extended/electromagnetic/TestEm2/run01.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/electromagnetic/TestEm2/run02.mac b/examples/extended/electromagnetic/TestEm2/run02.mac index 91bac0f513..82540f752a 100644 --- a/examples/extended/electromagnetic/TestEm2/run02.mac +++ b/examples/extended/electromagnetic/TestEm2/run02.mac @@ -1,4 +1,4 @@ -# $Id: run02.mac,v 1.7 2002/10/31 13:58:29 maire Exp $ +# $Id: run02.mac,v 1.8 2003/02/14 14:21:28 vnivanch Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -14,12 +14,12 @@ #/testem/phys/addPhysics standard # /testem/phys/setCuts 2.0 mm -/run/initialize # /testem/det/setMat Al /testem/det/setLbin 12 1.1245 /testem/det/setRbin 12 0.11245 -/testem/det/update +/run/initialize +#/testem/det/update # /run/verbose 2 /testem/event/printModulo 10 diff --git a/examples/extended/electromagnetic/TestEm2/run03.mac b/examples/extended/electromagnetic/TestEm2/run03.mac index 18d37858a2..52c9c16435 100644 --- a/examples/extended/electromagnetic/TestEm2/run03.mac +++ b/examples/extended/electromagnetic/TestEm2/run03.mac @@ -1,4 +1,4 @@ -# $Id: run03.mac,v 1.8 2002/10/31 13:58:29 maire Exp $ +# $Id: run03.mac,v 1.9 2003/02/14 14:21:28 vnivanch Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -14,12 +14,12 @@ #/testem/phys/addPhysics standard # /testem/phys/setCuts 5.0 mm -/run/initialize # /testem/det/setMat Water /testem/det/setLbin 9 1.11 /testem/det/setRbin 6 0.111 -/testem/det/update +/run/initialize +#/testem/det/update # /run/verbose 2 /testem/event/printModulo 10 diff --git a/examples/extended/electromagnetic/TestEm2/run04.mac b/examples/extended/electromagnetic/TestEm2/run04.mac index 85d42dfdab..f89485bec9 100644 --- a/examples/extended/electromagnetic/TestEm2/run04.mac +++ b/examples/extended/electromagnetic/TestEm2/run04.mac @@ -1,4 +1,4 @@ -# $Id: run04.mac,v 1.7 2002/10/31 13:58:29 maire Exp $ +# $Id: run04.mac,v 1.8 2003/02/14 14:21:28 vnivanch Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) @@ -13,12 +13,12 @@ #/testem/phys/addPhysics standard # /testem/phys/setCuts 0.8 mm -/run/initialize # /testem/det/setMat Fe /testem/det/setLbin 40 0.5 /testem/det/setRbin 20 0.25 -/testem/det/update +/run/initialize +#/testem/det/update # /run/verbose 2 /testem/event/printModulo 10 diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc index 0ab35736e8..502eef8f68 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2DetectorConstruction.cc,v 1.9 2002/10/29 19:10:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2DetectorConstruction.cc,v 1.13 2003/03/26 16:23:17 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -60,6 +60,7 @@ Em2DetectorConstruction::Em2DetectorConstruction() solidRing(0) ,logicRing(0) ,physiRing(0) { detectorMessenger = new Em2DetectorMessenger(this); + DefineMaterials(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -71,7 +72,6 @@ Em2DetectorConstruction::~Em2DetectorConstruction() G4VPhysicalVolume* Em2DetectorConstruction::Construct() { - DefineMaterials(); return ConstructVolumes(); } @@ -126,9 +126,9 @@ void Em2DetectorConstruction::DefineMaterials() G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); H2O->AddElement(H, natoms=2); H2O->AddElement(O, natoms=1); - // G4double exc = H2O->GetIonisation()->FindMeanExcitationEnergy("H_2O"); - // H2O->GetIonisation()->SetMeanExcitationEnergy(exc); - + H2O->SetChemicalFormula("H_2O"); + H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); + //liquid argon a = 39.95*g/mole; density = 1.390*g/cm3; @@ -186,10 +186,13 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes() // // Ecal // + if(solidEcal) delete solidEcal; + if(logicEcal) delete logicEcal; + if(physiEcal) delete physiEcal; solidEcal = new G4Tubs("Ecal",0.,EcalRadius,0.5*EcalLength,0.,360*deg); logicEcal = new G4LogicalVolume( solidEcal,myMaterial,"Ecal",0,0,0); physiEcal = new G4PVPlacement(0,G4ThreeVector(), - "Ecal",logicEcal,0,false,0); + logicEcal,"Ecal",0,false,0); // Ring // @@ -197,19 +200,19 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes() { solidRing = new G4Tubs("Ring",i*dR,(i+1)*dR,0.5*EcalLength,0.,360*deg); logicRing = new G4LogicalVolume(solidRing,myMaterial,"Ring",0,0,0); - physiRing = new G4PVPlacement(0,G4ThreeVector(),"Ring",logicRing, - physiEcal,false,i); + physiRing = new G4PVPlacement(0,G4ThreeVector(),logicRing,"Ring", + logicEcal,false,i); // Slice solidSlice = new G4Tubs("Slice",i*dR,(i+1)*dR,0.5*dL,0.,360*deg); logicSlice = new G4LogicalVolume(solidSlice,myMaterial,"Slice",0,0,0); logicSlice-> SetVisAttributes(G4VisAttributes::Invisible); if (nLtot >1) - physiSlice = new G4PVReplica("Slice",logicSlice,physiRing, + physiSlice = new G4PVReplica("Slice",logicSlice,logicRing, kZAxis,nLtot,dL); else - physiSlice = new G4PVPlacement(0,G4ThreeVector(),"Slice",logicSlice, - physiRing,false,0); + physiSlice = new G4PVPlacement(0,G4ThreeVector(),logicSlice,"Slice", + logicRing,false,0); } @@ -229,13 +232,14 @@ G4VPhysicalVolume* Em2DetectorConstruction::ConstructVolumes() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em2DetectorConstruction::SetMaterial(G4String materialChoice) +void Em2DetectorConstruction::SetMaterial(const G4String& materialChoice) { // search the material by its name G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); if (pttoMaterial) - {myMaterial = pttoMaterial; - logicEcal->SetMaterial(myMaterial); + { + myMaterial = pttoMaterial; + if(logicEcal) logicEcal->SetMaterial(myMaterial); } } @@ -252,19 +256,19 @@ void Em2DetectorConstruction::SetRBining(G4ThreeVector Value) { nRtot = (G4int)Value(0); dRradl = Value(1); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em2DetectorConstruction::SetMagField(G4double fieldValue) { //apply a global uniform magnetic field along Z axis - G4FieldManager* fieldMgr + G4FieldManager* fieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager(); - + if(magField) delete magField; //delete the existing magn field - + if(fieldValue!=0.) // create a new one if non nul - { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); + { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); fieldMgr->SetDetectorField(magField); fieldMgr->CreateChordFinder(magField); } else { @@ -274,10 +278,16 @@ void Em2DetectorConstruction::SetMagField(G4double fieldValue) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void Em2DetectorConstruction::UpdateGeometry() { - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes()); + G4bool first = true; + if (physiEcal) first = false; + G4VPhysicalVolume* v = ConstructVolumes(); + G4RunManager* rm = G4RunManager::GetRunManager(); + rm->GeometryHasBeenModified(); + rm->DefineWorldVolume(v); + if (!first) rm->ResetNavigator(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc index a120d11334..272996cb30 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2DetectorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2DetectorMessenger.cc,v 1.9 2002/12/11 17:12:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2DetectorMessenger.cc,v 1.11 2003/02/14 14:21:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -49,7 +49,7 @@ Em2DetectorMessenger::Em2DetectorMessenger(Em2DetectorConstruction * Det) MaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this); MaterCmd->SetGuidance("Select Material."); MaterCmd->SetParameterName("material",false); - MaterCmd->AvailableForStates(G4State_Idle); + MaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); LBinCmd = new G4UIcmdWith3Vector("/testem/det/setLbin",this); LBinCmd->SetGuidance("set longitudinal bining"); @@ -70,13 +70,13 @@ Em2DetectorMessenger::Em2DetectorMessenger(Em2DetectorConstruction * Det) FieldCmd->SetGuidance("Magnetic field will be in Z direction."); FieldCmd->SetParameterName("Bz",false); FieldCmd->SetUnitCategory("Magnetic flux density"); - FieldCmd->AvailableForStates(G4State_Idle); + FieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle); UpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); UpdateCmd->SetGuidance("Update geometry."); UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); UpdateCmd->SetGuidance("if you changed geometrical value(s)."); - UpdateCmd->AvailableForStates(G4State_Idle); + UpdateCmd->AvailableForStates(G4State_PreInit,G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc index 3b569acdab..b80d94db76 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2EventAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2EventAction.cc,v 1.6 2001/11/28 18:57:24 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2EventAction.cc,v 1.7 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc index f2749b70e1..3f8fb948ed 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2EventActionMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2EventActionMessenger.cc,v 1.8 2002/12/06 16:51:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2EventActionMessenger.cc,v 1.9 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc index 7eb93e95b1..36b7dd3e90 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmModel.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListEmModel.cc,v 1.1 2002/10/31 14:12:43 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListEmModel.cc,v 1.3 2003/02/14 14:21:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -98,16 +98,17 @@ void Em2PhysListEmModel::ConstructProcess() pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3); pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4); + } else if( particleName == "GenericIon" ) { + + pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); + pmanager->AddProcess(new G4ionIonisation, -1,2,2); + } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); - if(particle->GetPDGMass() < 1.0*GeV ) { - pmanager->AddProcess(new G4hIonisationSTD, -1,2,2); - } else { - pmanager->AddProcess(new G4ionIonisation, -1,2,2); - } + pmanager->AddProcess(new G4hIonisationSTD, -1,2,2); } } } diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmStandard.cc index db837da01e..39c28d33c4 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListEmStandard.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListEmStandard.cc,v 1.1 2002/10/31 14:12:43 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListEmStandard.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListGeneral.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListGeneral.cc index ae5a3053d4..3c83441e26 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListGeneral.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListGeneral.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListGeneral.cc,v 1.1 2002/10/31 14:12:43 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListGeneral.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListParticles.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListParticles.cc index ebc55f411c..790103dad3 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysListParticles.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysListParticles.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysListParticles.cc,v 1.1 2002/10/31 14:12:43 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysListParticles.cc,v 1.2 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc index ff4a255f61..cfd857a50b 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsList.cc @@ -21,7 +21,9 @@ // ******************************************************************** // // - +// $Id: Em2PhysicsList.cc,v 1.13 2003/03/26 16:23:17 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -33,13 +35,14 @@ #include "Em2PhysListGeneral.hh" #include "Em2PhysListEmStandard.hh" #include "Em2PhysListEmModel.hh" - +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList(), - emPhysicsListIsRegistered(false) -{ +Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList() +{ currentDefaultCut = 1.0*mm; cutForGamma = currentDefaultCut; cutForElectron = currentDefaultCut; @@ -48,12 +51,16 @@ Em2PhysicsList::Em2PhysicsList() : G4VModularPhysicsList(), pMessenger = new Em2PhysicsListMessenger(this); SetVerboseLevel(1); - + // Particles - RegisterPhysics( new Em2PhysListParticles("particles") ); + particleList = new Em2PhysListParticles("particles"); // General Physics - RegisterPhysics( new Em2PhysListGeneral("general") ); + generalPhysicsList = new Em2PhysListGeneral("general"); + + // EM physics + emName = G4String("standard"); + emPhysicsList = new Em2PhysListEmStandard(emName); } @@ -66,41 +73,45 @@ Em2PhysicsList::~Em2PhysicsList() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void Em2PhysicsList::ConstructParticle() +{ + particleList->ConstructParticle(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em2PhysicsList::ConstructProcess() +{ + AddTransportation(); + generalPhysicsList->ConstructProcess(); + emPhysicsList->ConstructProcess(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void Em2PhysicsList::AddPhysicsList(const G4String& name) { if (verboseLevel>1) { G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } + + if (name == emName) return; - if(name == "standard") { + if (name == "standard") { - if (emPhysicsListIsRegistered) { + emName = name; + delete emPhysicsList; + emPhysicsList = new Em2PhysListEmStandard(name); - G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" - << " cannot be register additionally to existing one" - << G4endl; - } else { + } else if (name == "model") { - RegisterPhysics( new Em2PhysListEmStandard(name) ); - emPhysicsListIsRegistered = true; - } - - } else if(name == "model") { - - if (emPhysicsListIsRegistered) { - - G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" - << " cannot be register additionally to existing one" - << G4endl; - } else { - - RegisterPhysics( new Em2PhysListEmModel(name) ); - emPhysicsListIsRegistered = true; - } + emName = name; + delete emPhysicsList; + emPhysicsList = new Em2PhysListEmModel(name); } else { - G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" + G4cout << "Em2PhysicsList::AddPhysicsList: <" << name << ">" << " is not defined" << G4endl; } @@ -109,8 +120,7 @@ void Em2PhysicsList::AddPhysicsList(const G4String& name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em2PhysicsList::SetCuts() -{ - +{ if (verboseLevel >0){ G4cout << "Em2PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; @@ -120,15 +130,8 @@ void Em2PhysicsList::SetCuts() // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); - SetCutValue(cutForPositron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(currentDefaultCut, "proton"); - SetCutValue(currentDefaultCut, "anti_proton"); - - SetCutValueForOthers(currentDefaultCut); - + SetCutValue(cutForPositron, "e+"); + if (verboseLevel>0) DumpCutValuesTable(); } @@ -136,24 +139,24 @@ void Em2PhysicsList::SetCuts() void Em2PhysicsList::SetCutForGamma(G4double cut) { - ResetCuts(); cutForGamma = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em2PhysicsList::SetCutForElectron(G4double cut) { - ResetCuts(); cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em2PhysicsList::SetCutForPositron(G4double cut) { - ResetCuts(); cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc index fea49bb0e5..9183526048 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PhysicsListMessenger.cc,v 1.6 2002/12/06 16:51:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PhysicsListMessenger.cc,v 1.7 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc index 3fc9add33f..e670b03a0d 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2PrimaryGeneratorAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2PrimaryGeneratorAction.cc,v 1.5 2002/10/31 13:58:32 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2PrimaryGeneratorAction.cc,v 1.6 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc index e9fabcdeaa..ad856943c1 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2RunAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2RunAction.cc,v 1.18 2002/12/11 17:12:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2RunAction.cc,v 1.19 2002/12/16 11:29:23 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc index 0da1ded2db..4a236f292e 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2SteppingAction.cc,v 1.6 2001/12/11 17:44:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2SteppingAction.cc,v 1.7 2002/12/16 11:29:24 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc index e2b465c346..523ac81461 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2SteppingVerbose.cc,v 1.8 2001/10/25 15:12:07 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2SteppingVerbose.cc,v 1.10 2003/02/10 17:12:25 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void Em2SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc b/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc index 721b994105..95668e875c 100644 --- a/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2TrackingAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2TrackingAction.cc,v 1.4 2001/10/25 15:12:07 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2TrackingAction.cc,v 1.5 2002/12/16 11:29:24 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc b/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc index 1773b2a6d7..e7e9e87ed1 100755 --- a/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc +++ b/examples/extended/electromagnetic/TestEm2/src/Em2VisManager.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em2VisManager.cc,v 1.7 2002/11/13 21:39:49 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em2VisManager.cc,v 1.8 2002/12/16 11:29:24 stesting Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm3/GNUmakefile b/examples/extended/electromagnetic/TestEm3/GNUmakefile index ba44b18755..60f4991fcf 100644 --- a/examples/extended/electromagnetic/TestEm3/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm3/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.8 2002/12/12 11:19:32 maire Exp $ +# $Id: GNUmakefile,v 1.10 2003/03/10 11:30:23 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History index 8b2d70c54d..3c9bf3d47e 100644 --- a/examples/extended/electromagnetic/TestEm3/History +++ b/examples/extended/electromagnetic/TestEm3/History @@ -1,4 +1,4 @@ -$Id: History,v 1.20 2002/12/12 11:19:32 maire Exp $ +$Id: History,v 1.26 2003/03/28 15:16:13 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,26 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28-03-03 mma (testem3-V05-00-04) +- G4PVPlacement and G4PVReplica in logical mother + +17-03-03 V.Ivant (testem3-V05-00-02) +- Additional migrade to cut per region +- Update modular PhysicsList + +10-03-03 mma +- change in all macros: /run/particle/setCut -> /testem/phys/setCuts +- material CsI and example of SetMeanExcitationEnergy() +- example of static ion: IonC12 class and ionC12.mac + +20-02-03 V.Ivant (testem3-V05-00-01) +- Migrade to cut per region +- Migrade to modular PhysicsList +- Add STD electromagnetic physics + +12-02-03 mma (testem3-V05-00-00) +- DetectorConstruction : change volume name + 05-12-02 mma (testem3-V04-01-01) - migration to aida 3.0 - UI directory /testem/ diff --git a/examples/extended/electromagnetic/TestEm3/README b/examples/extended/electromagnetic/TestEm3/README index 1c8644ff29..d486798e2c 100644 --- a/examples/extended/electromagnetic/TestEm3/README +++ b/examples/extended/electromagnetic/TestEm3/README @@ -1,4 +1,4 @@ -$Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ +$Id: README,v 1.10 2003/03/10 18:16:46 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -33,8 +33,19 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ In this case we have a unique homogeneous block of matter, which looks like a bubble chamber rather than a calorimeter ... (see the macro of commands: newgeom.mac) - - 2- AN EVENT : THE PRIMARY GENERATOR + + 2- PHYSICS LISTS + + Physics Lists are subdivided on 4 following modules: + 1. "particles" - particle definitions + 2. "general" - decays and transportation + 3. "standard" (alternative) - standard EM physics + 4. "model" (alternative) - standard EM physics using model approach + + Notice that there is an example of definition of a static ion : IonC12 + (see PhysListParticle.cc) and an example of use : ionC12.mac + + 3- AN EVENT : THE PRIMARY GENERATOR The primary kinematic consists of a single particle which hits the calorimeter perpendicular to the input face. The type of the particle @@ -48,7 +59,7 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ A RUN is a set of events. - 3- DETECTOR RESPONSE + 4- DETECTOR RESPONSE A HIT is a record, event per event and volume per volume, of all the informations needed to simulate and analyse the detector response. @@ -67,7 +78,7 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ - calorimeter resolution, - pi/e ratio ... - 4- VISUALIZATION + 5- VISUALIZATION The Visualization Manager is set in the main(). The initialisation of the drawing is done via the commands @@ -81,7 +92,7 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ Optionaly one can choose to draw all particles, only the charged one, or none. This command is defined in EventActionMessenger class. - 5- PHYSICS DEMO + 6- PHYSICS DEMO The particle's type and the physic processes which will be available in this example are set in PhysicsList class. @@ -98,7 +109,7 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ via G4UserLimit class and the command /tracking/stepMax (see DetectorConstruction and DetectorMessenger classes) - 6- HOW TO START ? + 7- HOW TO START ? - compile and link to generate an executable % cd TestEm3 @@ -115,7 +126,7 @@ $Id: README,v 1.8 2002/12/12 11:19:32 maire Exp $ .... Idle> exit - 7- Histograms + 8- Histograms Testem3 produces histograms which are saved as testem3.paw : histo 1 : energy deposit in absorber 0 (edep/Ebeam) diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.cc b/examples/extended/electromagnetic/TestEm3/TestEm3.cc index ff4bccc909..14f16e73b2 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.cc +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm3.cc,v 1.7 2001/10/22 10:58:40 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.in b/examples/extended/electromagnetic/TestEm3/TestEm3.in index 384b85277c..90f2490447 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.in +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.in @@ -1,4 +1,4 @@ -# $Id: TestEm3.in,v 1.5 2002/12/12 11:19:32 maire Exp $ +# $Id: TestEm3.in,v 1.6 2003/02/20 15:52:00 vnivanch Exp $ # # Macro file for "exampleN03.cc" # (can be run in batch, without graphic) @@ -6,10 +6,15 @@ # Lead-liquidArgon 50 layers; electron 1 GeV # /control/verbose 2 +/run/verbose 2 +# +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard # /run/initialize # -/run/verbose 2 /testem/event/printModulo 50 # /gun/particle e- diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.model.in b/examples/extended/electromagnetic/TestEm3/TestEm3.model.in new file mode 100644 index 0000000000..9e1cb1837b --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.model.in @@ -0,0 +1,22 @@ +# $Id: TestEm3.model.in,v 1.1 2003/02/20 15:52:00 vnivanch Exp $ +# +# Macro file for "exampleN03.cc" +# (can be run in batch, without graphic) +# +# Lead-liquidArgon 50 layers; electron 1 GeV +# +/control/verbose 2 +/run/verbose 2 +# +# select EM PhysicsList +# +/testem/phys/addPhysics model +#/testem/phys/addPhysics standard +# +/run/initialize +# +/testem/event/printModulo 50 +# +/gun/particle e- +/gun/energy 1 GeV +/run/beamOn 100 diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.model.out b/examples/extended/electromagnetic/TestEm3/TestEm3.model.out new file mode 100644 index 0000000000..72280339c1 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.model.out @@ -0,0 +1,526 @@ +********************************************** + Geant4 version $Name: geant4-05-01 $ + (13-Dec-2002) + Copyright : Geant4 Collaboration +********************************************** +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +/run/verbose 2 +# +# select EM PhysicsList +# +/testem/phys/addPhysics model +#/testem/phys/addPhysics standard +# +/run/initialize +userDetector->Construct() start. + +***** Table : Nb of materials = 21 ***** + + Material: liquidH2 density: 70.800 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.905 m + ---> Element: liquidH2 Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm + ---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm + ---> Element: liquidArgon Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm + ---> Element: Iron Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Copper density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm + ---> Element: Copper Z = 29.0 N = 63.5 A = 63.55 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm + ---> Element: Tungsten Z = 74.0 N = 183.8 A = 183.85 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Gold density: 19.320 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.344 mm + ---> Element: Gold Z = 79.0 N = 197.0 A = 196.97 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm + ---> Element: Lead Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm + ---> Element: Uranium Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.19 % Abundance 66.67 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.81 % Abundance 33.33 % + + Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.542 cm + ---> Element: CarbonC Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 91.47 % Abundance 47.37 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 8.53 % Abundance 52.63 % + + Material: Silicium density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm + ---> Element: SiliconSi Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm + ---> Element: SiliconSi Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 46.75 % Abundance 33.33 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 53.25 % Abundance 66.67 % + + Material: NemaG10 density: 1.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 18.732 cm + ---> Element: SiliconSi Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 28.33 % Abundance 11.11 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 32.28 % Abundance 22.22 % + ---> Element: CarbonC Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 36.34 % Abundance 33.33 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 3.05 % Abundance 33.33 % + + Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m + ---> Element: NitrogenN Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % + + Material: Air20 density: 1.205 mg/cm3 temperature: 293.00 K pressure: 1.00 atm RadLength: 305.277 m + ---> Element: NitrogenN Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % + + Material: Aerogel density: 200.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.493 m + ---> Element: SiliconSi Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 29.22 % Abundance 11.12 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 66.50 % Abundance 44.42 % + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 4.19 % Abundance 44.37 % + ---> Element: CarbonC Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 0.10 % Abundance 0.09 % + + Material: CarbonicGas density: 27.000 mg/cm3 temperature: 325.00 K pressure: 50.00 atm RadLength: 13.406 m + ---> Element: CarbonC Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 27.29 % Abundance 33.33 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 72.71 % Abundance 66.67 % + + Material: WaterSteam density: 0.300 mg/cm3 temperature: 500.00 K pressure: 2.00 atm RadLength: 1.203 km + ---> Element: HydrogenH Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.19 % Abundance 66.67 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.81 % Abundance 33.33 % + + Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204322175.595 pc + ---> Element: Galactic Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.786 km + ---> Element: NitrogenN Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % + ---> Element: OxygenO Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % + + + +------------------------------------------------------------- + ---> The calorimeter is 50 layers of: + Lead : 2.3 mm + liquidArgon : 5.7 mm +------------------------------------------------------------- +physicsList->Construct() start. + +phot: Total cross sections from Sandia parametrisation. +physicsList->setCut() start. +Em3PhysicsList::SetCuts:CutLength : 1 mm + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : Yes + Material : liquidH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 1 used in the geometry : No recalculation needed : Yes + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 2 used in the geometry : Yes recalculation needed : Yes + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : No recalculation needed : Yes + Material : Iron + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 4 used in the geometry : No recalculation needed : Yes + Material : Copper + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 5 used in the geometry : No recalculation needed : Yes + Material : Tungsten + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 6 used in the geometry : No recalculation needed : Yes + Material : Gold + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 7 used in the geometry : Yes recalculation needed : Yes + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 8 used in the geometry : No recalculation needed : Yes + Material : Uranium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 9 used in the geometry : No recalculation needed : Yes + Material : Water + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 10 used in the geometry : No recalculation needed : Yes + Material : Scintillator + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 11 used in the geometry : No recalculation needed : Yes + Material : Silicium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 12 used in the geometry : No recalculation needed : Yes + Material : quartz + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 13 used in the geometry : No recalculation needed : Yes + Material : NemaG10 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 14 used in the geometry : No recalculation needed : Yes + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 15 used in the geometry : No recalculation needed : Yes + Material : Air20 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 16 used in the geometry : No recalculation needed : Yes + Material : Aerogel + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 17 used in the geometry : No recalculation needed : Yes + Material : CarbonicGas + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 18 used in the geometry : No recalculation needed : Yes + Material : WaterSteam + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +Index : 19 used in the geometry : Yes recalculation needed : Yes + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 20 used in the geometry : No recalculation needed : Yes + Material : Beam + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : is not ready to print + +==================================================================== + + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. + +eBrem: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Total cross sections from a parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + +eIoni: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. + +eBrem: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Total cross sections from a parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +hIoni: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Bether-Bloch model for Escaled > 2 MeV, parametrisation of Bragg peak below. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +muIoni: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below. + +MuBrems: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +MuPairProd: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +muIoni: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below. + +MuBrems: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +MuPairProd: + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +======== Table of production thresholds in range and energy =========== + +----------------------------------------------------------------------- +Region : DefaultRegionForTheWorld +----------------------------------------------------------------------- + gamma e- e+ +Threshold in range 1 mm 1 mm 1 mm + Galactic 990 eV 990 eV 990 eV + Lead 101 keV 1.38 MeV 1.28 MeV + liquidArgon 6.18 keV 343 keV 335 keV +======================================================================= + +# +/testem/event/printModulo 50 +# +/gun/particle e- +/gun/energy 1 GeV +/run/beamOn 100 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : No recalculation needed : No + Material : liquidH2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 107.795 keV e+ 106.476 keV + +Index : 1 used in the geometry : No recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : No recalculation needed : No + Material : Iron + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 20.8323 keV e- 1.28002 MeV e+ 1.21851 MeV + +Index : 4 used in the geometry : No recalculation needed : No + Material : Copper + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 24.6072 keV e- 1.39521 MeV e+ 1.31192 MeV + +Index : 5 used in the geometry : No recalculation needed : No + Material : Tungsten + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 105.401 keV e- 2.31122 MeV e+ 2.14666 MeV + +Index : 6 used in the geometry : No recalculation needed : No + Material : Gold + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 111.408 keV e- 2.28294 MeV e+ 2.1204 MeV + +Index : 7 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 8 used in the geometry : No recalculation needed : No + Material : Uranium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 125.723 keV e- 2.1204 MeV e+ 1.96942 MeV + +Index : 9 used in the geometry : No recalculation needed : No + Material : Water + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV + +Index : 10 used in the geometry : No recalculation needed : No + Material : Scintillator + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.36895 keV e- 355.791 keV e+ 347.138 keV + +Index : 11 used in the geometry : No recalculation needed : No + Material : Silicium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 540.718 keV e+ 521.113 keV + +Index : 12 used in the geometry : No recalculation needed : No + Material : quartz + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 5.51637 keV e- 534.102 keV e+ 514.737 keV + +Index : 13 used in the geometry : No recalculation needed : No + Material : NemaG10 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 4.18113 keV e- 466.46 keV e+ 449.547 keV + +Index : 14 used in the geometry : No recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 15 used in the geometry : No recalculation needed : No + Material : Air20 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 16 used in the geometry : No recalculation needed : No + Material : Aerogel + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.70631 keV e- 118.951 keV e+ 116.058 keV + +Index : 17 used in the geometry : No recalculation needed : No + Material : CarbonicGas + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 36.4853 keV e+ 36.0389 keV + +Index : 18 used in the geometry : No recalculation needed : No + Material : WaterSteam + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +Index : 19 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 20 used in the geometry : No recalculation needed : No + Material : Beam + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + +==================================================================== + + +======== Table of production thresholds in range and energy =========== + +----------------------------------------------------------------------- +Region : DefaultRegionForTheWorld +----------------------------------------------------------------------- + gamma e- e+ +Threshold in range 1 mm 1 mm 1 mm + Galactic 990 eV 990 eV 990 eV + Lead 101 keV 1.38 MeV 1.28 MeV + liquidArgon 6.18 keV 343 keV 335 keV +======================================================================= + +### Run 0 start. + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 9876, 54321 +---------------------------------------- +Start closing geometry. +G4GeometryManager::ReportVoxelStats -- Voxel Statistics + + Total memory consumed for geometry optimisation: 1 kByte + Total CPU time elapsed for geometry optimisation: 0 seconds + + Voxelisation: top CPU users: + Percent Total CPU System CPU Memory Volume + ------- ---------- ---------- -------- ---------- + 0.00 0.00 0.00 2k Calorimeter + 0.00 0.00 0.00 0k Layer + + Voxelisation: top memory users: + Percent Memory Heads Nodes Pointers Total CPU Volume + ------- -------- ------ ------ -------- ---------- ---------- + 91.57 1k 1 50 50 0.00 Calorimeter + 8.43 0k 1 3 4 0.00 Layer +Start Run processing. + +---> Begin Of Event: 0 + +---> Begin Of Event: 50 +Run terminated. +Run Summary + Number of events processed : 100 + User=13.89s Real=14.16s Sys=0.02s + +------------------------------------------------------------- + total energy dep total tracklen + + Absorber0 (Lead ) : 810.89 MeV +- 14.27 MeV 56.33 cm +- 1.22 cm + Absorber1 (liquidArgon ) : 178.22 MeV +- 12.57 MeV 88.37 cm +- 6.58 cm + +------------------------------------------------------------- + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 1246911469, 1206300897 +---------------------------------------- +Graphics systems deleted. +Visualization Manager deleting... +G4 kernel has come to Quit state. +Deletion of G4 kernel class start. +UserDetectorConstruction deleted. +UserPhysicsList deleted. +UserRunAction deleted. +UserPrimaryGenerator deleted. +G4SDManager deleted. +EventManager deleted. +UImanager deleted. +StateManager deleted. +RunManager is deleting. diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.out b/examples/extended/electromagnetic/TestEm3/TestEm3.out index bab788a53c..14ad9bd103 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.out @@ -1,26 +1,12 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... +G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV; +G4Material: Mean excitation energy is changed for CsI Iold= 491.166eV; Inew= 553.1 eV; -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRepFile (HepRepFile) - G4HepRep (HepRepXML) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) -# -/run/initialize - -***** Table : Nb of materials = 21 ***** +***** Table : Nb of materials = 23 ***** Material: liquidH2 density: 70.800 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.905 m ---> Element: liquidH2 Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 % @@ -49,7 +35,7 @@ Current available graphics systems are: Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm ---> Element: Uranium Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 % - Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm + Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.19 % Abundance 66.67 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.81 % Abundance 33.33 % @@ -70,6 +56,15 @@ Current available graphics systems are: ---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 36.34 % Abundance 33.33 % ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 3.05 % Abundance 33.33 % + Material: CsI density: 4.534 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.850 cm + ---> Element: Cesium Cs Z = 55.0 N = 132.9 A = 132.90 g/mole fractionMass: 51.15 % Abundance 50.00 % + ---> Element: Iodine I Z = 53.0 N = 126.9 A = 126.90 g/mole fractionMass: 48.85 % Abundance 50.00 % + + Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 15.41 % Abundance 63.16 % + ---> Element: Germanium Ge Z = 32.0 N = 72.6 A = 72.59 g/mole fractionMass: 17.48 % Abundance 15.79 % + ---> Element: Bismuth Bi Z = 83.0 N = 209.0 A = 208.98 g/mole fractionMass: 67.10 % Abundance 21.05 % + Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % @@ -100,15 +95,46 @@ Current available graphics systems are: ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +/run/verbose 2 +# +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/run/initialize +userDetector->Construct() start. ------------------------------------------------------------- ---> The calorimeter is 50 layers of: Lead: 2.3 mm liquidArgon: 5.7 mm ------------------------------------------------------------- +physicsList->Construct() start. phot: Total cross sections from Sandia parametrisation. -Em3PhysicsList::SetCuts:CutLength : 500 mum +physicsList->setCut() start. +Em3PhysicsList::SetCuts:CutLength : 1 mm +# +/testem/event/printModulo 50 +# +/gun/particle e- +/gun/energy 1 GeV +/run/beamOn 100 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -125,7 +151,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -146,6 +173,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -164,60 +192,32 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - liquidH2 500 mum 500 mum - Aluminium 500 mum 500 mum - liquidArgon 500 mum 500 mum - Iron 500 mum 500 mum - Copper 500 mum 500 mum - Tungsten 500 mum 500 mum - Gold 500 mum 500 mum - Lead 500 mum 500 mum - Uranium 500 mum 500 mum - Water 500 mum 500 mum - Scintillator 500 mum 500 mum - Silicium 500 mum 500 mum - quartz 500 mum 500 mum - NemaG10 500 mum 500 mum - Air 500 mum 500 mum - Air20 500 mum 500 mum - Aerogel 500 mum 500 mum - CarbonicGas 500 mum 500 mum - WaterSteam 500 mum 500 mum - Galactic 500 mum 500 mum - Beam 500 mum 500 mum -Cut in energy - liquidH2 990 eV 72.7 keV - Aluminium 4.96 keV 365 keV - liquidArgon 4.4 keV 217 keV - Iron 14.3 keV 727 keV - Copper 17.1 keV 782 keV - Tungsten 87.5 keV 1.22 MeV - Gold 95.7 keV 1.2 MeV - Lead 81.5 keV 763 keV - Uranium 105 keV 1.13 MeV - Water 2.18 keV 223 keV - Scintillator 1.83 keV 226 keV - Silicium 4.96 keV 335 keV - quartz 4.01 keV 330 keV - NemaG10 3.07 keV 292 keV - Air 990 eV 990 eV - Air20 990 eV 990 eV - Aerogel 1.27 keV 79.2 keV - CarbonicGas 990 eV 8.52 keV - WaterSteam 990 eV 990 eV - Galactic 990 eV 990 eV - Beam 990 eV 990 eV -=================================================== -# -/run/verbose 2 -/testem/event/printModulo 50 -# -/gun/particle e- -/gun/energy 1 GeV -/run/beamOn 100 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -228,19 +228,19 @@ Start closing geometry. G4GeometryManager::ReportVoxelStats -- Voxel Statistics Total memory consumed for geometry optimisation: 1 kByte - Total CPU time elapsed for geometry optimisation: 0.01 seconds + Total CPU time elapsed for geometry optimisation: 0 seconds Voxelisation: top CPU users: Percent Total CPU System CPU Memory Volume ------- ---------- ---------- -------- ---------- - 100.00 0.01 0.01 0k Layer 0.00 0.00 0.00 2k Calorimeter + 0.00 0.00 0.00 0k Layer Voxelisation: top memory users: Percent Memory Heads Nodes Pointers Total CPU Volume ------- -------- ------ ------ -------- ---------- ---------- 91.70 1k 1 50 50 0.00 Calorimeter - 8.30 0k 1 3 4 0.01 Layer + 8.30 0k 1 3 4 0.00 Layer Start Run processing. ---> Begin Of Event: 0 @@ -249,19 +249,19 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=42.38s Real=52.44s Sys=8.28s + User=40.4s Real=81.35s Sys=7.73s ------------------------------------------------------------- total energy dep total tracklen - Absorber0 ( Lead) : 815.39 MeV +- 16.99 MeV 57.36 cm +- 1.32 cm - Absorber1 ( liquidArgon) : 172.19 MeV +- 14.85 MeV 85.98 cm +- 7.64 cm + Absorber0 ( Lead) : 814.21 MeV +- 14.84 MeV 56.35 cm +- 1.16 cm + Absorber1 ( liquidArgon) : 173.44 MeV +- 12.26 MeV 85.79 cm +- 6.20 cm ------------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 666545083, 1319593894 + Current couple of seeds = 1971361462, 1401170872 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm3/exo3q1.mac b/examples/extended/electromagnetic/TestEm3/exo3q1.mac index 12c1de398a..726d26fa5f 100644 --- a/examples/extended/electromagnetic/TestEm3/exo3q1.mac +++ b/examples/extended/electromagnetic/TestEm3/exo3q1.mac @@ -1,4 +1,4 @@ -# $Id: exo3q1.mac,v 1.2 2002/12/12 11:19:32 maire Exp $ +# $Id: exo3q1.mac,v 1.4 2003/03/06 18:14:59 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 2 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 2 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo3q2.mac b/examples/extended/electromagnetic/TestEm3/exo3q2.mac index 82a4303595..6558825eed 100644 --- a/examples/extended/electromagnetic/TestEm3/exo3q2.mac +++ b/examples/extended/electromagnetic/TestEm3/exo3q2.mac @@ -1,4 +1,4 @@ -# $Id: exo3q2.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo3q2.mac,v 1.4 2003/03/06 18:15:00 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,6 +6,11 @@ # /control/verbose 2 # +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# /run/initialize # /testem/det/setNbOfLayers 1 @@ -31,14 +36,14 @@ /gun/particle e- /gun/energy 200 MeV # -/run/particle/setCut 1 m +/testem/phys/setCuts 1 m /run/initialize #/run/beamOn # -#/run/particle/setCut 70 cm +#/testem/phys/setCuts 70 cm #/run/initialize #/run/beamOn # -#/run/particle/setCut 5 mm +#/testem/phys/setCuts 5 mm #/run/initialize #/run/beamOn diff --git a/examples/extended/electromagnetic/TestEm3/exo3q3.mac b/examples/extended/electromagnetic/TestEm3/exo3q3.mac index 343eca0d9a..24107078bc 100644 --- a/examples/extended/electromagnetic/TestEm3/exo3q3.mac +++ b/examples/extended/electromagnetic/TestEm3/exo3q3.mac @@ -1,4 +1,4 @@ -# $Id: exo3q3.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo3q3.mac,v 1.4 2003/03/06 18:15:00 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,6 +6,11 @@ # /control/verbose 2 # +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# /run/initialize # /testem/det/setNbOfLayers 1 @@ -24,7 +29,7 @@ /process/inactivate compt /process/inactivate phot # -/run/particle/setCut 50 cm +/testem/phys/setCuts 50 cm /run/initialize # /testem/tracking/stepMax 1 mm diff --git a/examples/extended/electromagnetic/TestEm3/exo4q1.mac b/examples/extended/electromagnetic/TestEm3/exo4q1.mac index 085acf969c..fa52c7c090 100644 --- a/examples/extended/electromagnetic/TestEm3/exo4q1.mac +++ b/examples/extended/electromagnetic/TestEm3/exo4q1.mac @@ -1,4 +1,4 @@ -# $Id: exo4q1.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo4q1.mac,v 1.4 2003/03/06 18:15:00 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 2 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 2 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo4q3.mac b/examples/extended/electromagnetic/TestEm3/exo4q3.mac index a1d518f7ee..ff1ae4f18f 100644 --- a/examples/extended/electromagnetic/TestEm3/exo4q3.mac +++ b/examples/extended/electromagnetic/TestEm3/exo4q3.mac @@ -1,4 +1,4 @@ -# $Id: exo4q3.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo4q3.mac,v 1.4 2003/03/06 18:15:00 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 10 mum +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 10 mum /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo5q1.mac b/examples/extended/electromagnetic/TestEm3/exo5q1.mac index 43b83e6920..e8deeac4f6 100644 --- a/examples/extended/electromagnetic/TestEm3/exo5q1.mac +++ b/examples/extended/electromagnetic/TestEm3/exo5q1.mac @@ -1,4 +1,4 @@ -# $Id: exo5q1.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo5q1.mac,v 1.4 2003/03/06 18:15:00 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 5 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 5 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo5q2.mac b/examples/extended/electromagnetic/TestEm3/exo5q2.mac index f4fec0b842..ad0b533518 100644 --- a/examples/extended/electromagnetic/TestEm3/exo5q2.mac +++ b/examples/extended/electromagnetic/TestEm3/exo5q2.mac @@ -1,4 +1,4 @@ -# $Id: exo5q2.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo5q2.mac,v 1.4 2003/03/06 18:15:01 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 5 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 5 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo6q1.mac b/examples/extended/electromagnetic/TestEm3/exo6q1.mac index 1674df42da..9cd2990a4e 100644 --- a/examples/extended/electromagnetic/TestEm3/exo6q1.mac +++ b/examples/extended/electromagnetic/TestEm3/exo6q1.mac @@ -1,4 +1,4 @@ -# $Id: exo6q1.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo6q1.mac,v 1.4 2003/03/06 18:15:02 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 7 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 7 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/exo6q2.mac b/examples/extended/electromagnetic/TestEm3/exo6q2.mac index f7f3ae85e5..98ec7513fe 100644 --- a/examples/extended/electromagnetic/TestEm3/exo6q2.mac +++ b/examples/extended/electromagnetic/TestEm3/exo6q2.mac @@ -1,4 +1,4 @@ -# $Id: exo6q2.mac,v 1.2 2002/12/12 11:19:33 maire Exp $ +# $Id: exo6q2.mac,v 1.4 2003/03/06 18:15:03 maire Exp $ # # Macro file for "TestEm3.cc" # @@ -6,7 +6,12 @@ # /control/verbose 2 # -/run/particle/setCut 10 cm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 10 cm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/geant3/gmakeB b/examples/extended/electromagnetic/TestEm3/geant3/gmakeB index 8552e9e651..49fbd11439 100755 --- a/examples/extended/electromagnetic/TestEm3/geant3/gmakeB +++ b/examples/extended/electromagnetic/TestEm3/geant3/gmakeB @@ -26,7 +26,7 @@ chmod +x $name.xb # # cleanup # -rm *.o +rm -f *.o echo 'done' exit diff --git a/examples/extended/electromagnetic/TestEm3/geant3/gmakeT b/examples/extended/electromagnetic/TestEm3/geant3/gmakeT index a4c0f1fa60..884da12692 100755 --- a/examples/extended/electromagnetic/TestEm3/geant3/gmakeT +++ b/examples/extended/electromagnetic/TestEm3/geant3/gmakeT @@ -25,7 +25,7 @@ chmod +x $name.xt # # cleanup # -rm *.o +rm -f *.o echo 'done' exit diff --git a/examples/extended/electromagnetic/TestEm3/geant3/src/ugeom.F b/examples/extended/electromagnetic/TestEm3/geant3/src/ugeom.F index f75043987a..e1fc1693ee 100644 --- a/examples/extended/electromagnetic/TestEm3/geant3/src/ugeom.F +++ b/examples/extended/electromagnetic/TestEm3/geant3/src/ugeom.F @@ -12,7 +12,8 @@ DIMENSION ACO2(2),ZCO2(2),WCO2(2) DIMENSION AH2O(2),ZH2O(2),WH2O(2) DIMENSION AG10(4),ZG10(4),WG10(4) - DIMENSION Asci(2),Zsci(2),Wsci(2) + DIMENSION Asci(2),Zsci(2),Wsci(2) + DIMENSION ACsI(2),ZCsI(2),WCsI(2) * CHARACTER*4 volnam CHARACTER*20 matnam @@ -41,7 +42,11 @@ DATA Asci/12.01, 1.01/ DATA Zsci/ 6. , 1. / DATA Wsci/ 9. , 10. / - +* +* *** CsI compound parameters + DATA ACsI/ 126.90, 132.90/ + DATA ZCsI/ 53. , 55. / + DATA WCsI/ 1. , 1. / * * *** Defines USER perticular materials CALL GSMIXT( 1,'Air' , Aair ,Zair, 1.29E-3, 2 , Wair) @@ -58,7 +63,8 @@ CALL GSMIXT(12,'NemaG10' , AG10 ,ZG10, 1.7 ,-4 , WG10) CALL GSMATE(13,'Copper ', 63.55, 29., 8.96 , 1.43, 15.0, 0,0) CALL GSMIXT(14,'Scintilla', Asci ,Zsci, 1.032 ,-2 , Wsci) - CALL GSMATE(15,'Gold ',196.97, 79., 19.32 , 0.33, 9.6, 0,0) + CALL GSMATE(15,'Gold ',196.97, 79., 19.32 , 0.33, 9.6, 0,0) + CALL GSMIXT(16,'CsI ', ACsI ,ZCsI, 4.534 ,-2 , WCsI) * * *** overwrite the computed radlength of some mixture JMA = LQ(JMATE-14) diff --git a/examples/extended/electromagnetic/TestEm3/geant3/src/uginit.F b/examples/extended/electromagnetic/TestEm3/geant3/src/uginit.F index e4120c9e26..745128f325 100644 --- a/examples/extended/electromagnetic/TestEm3/geant3/src/uginit.F +++ b/examples/extended/electromagnetic/TestEm3/geant3/src/uginit.F @@ -35,7 +35,8 @@ CALL GFFGO * CALL GZINIT - CALL GPART + CALL GPART + CALL GPIONS * CALL GDINIT * diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh b/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh index ce1331a639..d87c4c1eeb 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: Em3CalorHit.hh,v 1.4 2001/10/22 10:58:46 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh index e7d49492bf..943a2e7e95 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: Em3CalorimeterSD.hh,v 1.4 2001/10/22 10:58:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh index 28ab8db237..d738ffc9b3 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em3DetectorConstruction.hh,v 1.5 2001/10/22 10:58:47 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh index 0c7cc38c61..fbfb2976e6 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em3DetectorMessenger.hh,v 1.6 2002/12/12 11:19:37 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh index 10543cd361..04d1d643b4 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em3EventAction.hh,v 1.5 2001/10/22 10:58:48 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh index cd73bcb87f..f5ed673aa0 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em3EventActionMessenger.hh,v 1.4 2001/10/22 10:58:48 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmModel.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmModel.hh new file mode 100644 index 0000000000..6cb02e6ad1 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmModel.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: Em3PhysListEmModel.hh,v 1.1 2003/02/26 16:12:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em3PhysListEmModel_h +#define Em3PhysListEmModel_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em3PhysListEmModel : public G4VPhysicsConstructor +{ + public: + Em3PhysListEmModel(const G4String& name = "model"); + virtual ~Em3PhysListEmModel(); + + public: + // This method is dummy for physics. + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmStandard.hh new file mode 100644 index 0000000000..23bf497abd --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListEmStandard.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: Em3PhysListEmStandard.hh,v 1.1 2003/02/26 16:12:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em3PhysListEmStandard_h +#define Em3PhysListEmStandard_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em3PhysListEmStandard : public G4VPhysicsConstructor +{ + public: + Em3PhysListEmStandard(const G4String& name = "standard"); + virtual ~Em3PhysListEmStandard(); + + public: + // This method is dummy for physics + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysListGeneral.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListGeneral.hh new file mode 100644 index 0000000000..6fe1c3519c --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListGeneral.hh @@ -0,0 +1,66 @@ +// +// ******************************************************************** +// * 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: Em3PhysListGeneral.hh,v 1.1 2003/02/26 16:12:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em3PhysListGeneral_h +#define Em3PhysListGeneral_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "G4Decay.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em3PhysListGeneral : public G4VPhysicsConstructor +{ + public: + Em3PhysListGeneral(const G4String& name = "general"); + virtual ~Em3PhysListGeneral(); + + public: + // This method is dummy for physics + virtual void ConstructParticle() {}; + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysListParticles.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListParticles.hh new file mode 100644 index 0000000000..01988453e9 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysListParticles.hh @@ -0,0 +1,65 @@ +// +// ******************************************************************** +// * 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: Em3PhysListParticles.hh,v 1.1 2003/02/26 16:12:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef Em3PhysListParticles_h +#define Em3PhysListParticles_h 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class Em3PhysListParticles : public G4VPhysicsConstructor +{ + public: + Em3PhysListParticles(const G4String& name = "particles"); + virtual ~Em3PhysListParticles(); + + public: + // This method will be invoked in the Construct() method. + // each particle type will be instantiated + virtual void ConstructParticle(); + + // This method is dummy. + virtual void ConstructProcess() {}; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + + + + + + + diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh index 29359102aa..dfdc149b36 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsList.hh @@ -21,63 +21,56 @@ // ******************************************************************** // // -// $Id: Em3PhysicsList.hh,v 1.6 2002/02/14 14:20:46 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3PhysicsList.hh,v 1.8 2003/03/17 17:30:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// 14.10.02 (V.Ivanchenko) provide modular list on base of old Em3PhysicsList // -// - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef Em3PhysicsList_h #define Em3PhysicsList_h 1 -#include "G4VUserPhysicsList.hh" +#include "G4VModularPhysicsList.hh" #include "globals.hh" class Em3PhysicsListMessenger; +class G4VPhysicsConstructor; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class Em3PhysicsList: public G4VUserPhysicsList +class Em3PhysicsList: public G4VModularPhysicsList { public: Em3PhysicsList(); ~Em3PhysicsList(); - protected: - // Construct particle - void ConstructParticle(); - void ConstructBosons(); - void ConstructLeptons(); - void ConstructMesons(); - void ConstructBarions(); - void ConstructIons(); - - public: + virtual void ConstructParticle(); + virtual void ConstructProcess(); + void AddPhysicsList(const G4String& name); + void SetCuts(); void SetCutForGamma(G4double); void SetCutForElectron(G4double); - void SetCutForProton(G4double); - - protected: - // Construct physics processes and register them - void ConstructProcess(); - void ConstructGeneral(); - void ConstructEM(); - + void SetCutForPositron(G4double); + private: G4double cutForGamma; - G4double cutForElectron; - G4double cutForProton; + G4double cutForElectron; + G4double cutForPositron; G4double currentDefaultCut; - - Em3PhysicsListMessenger* pMessenger; + G4VPhysicsConstructor* emPhysicsList; + G4VPhysicsConstructor* generalPhysicsList; + G4VPhysicsConstructor* particleList; + G4String emName; + + Em3PhysicsListMessenger* pMessenger; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh index dca9d09c60..41a7e4c818 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em3PhysicsListMessenger.hh,v 1.3 2001/10/22 10:58:49 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3PhysicsListMessenger.hh,v 1.4 2003/02/20 15:52:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -37,6 +37,7 @@ class Em3PhysicsList; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,6 +57,9 @@ class Em3PhysicsListMessenger: public G4UImessenger G4UIcmdWithADoubleAndUnit* gammaCutCmd; G4UIcmdWithADoubleAndUnit* electCutCmd; G4UIcmdWithADoubleAndUnit* protoCutCmd; + G4UIcmdWithADoubleAndUnit* allCutCmd; + G4UIcmdWithAString* pListCmd; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh index 80054e4e69..7840746391 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em3PrimaryGeneratorAction.hh,v 1.6 2001/10/22 10:58:50 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh index 7a344cf5b5..3de8b43c87 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em3PrimaryGeneratorMessenger.hh,v 1.5 2001/10/22 10:58:50 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh index 3d102e2608..6beb799712 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em3RunAction.hh,v 1.11 2002/12/12 11:19:37 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh index 2e53836fae..1d8f90dc0a 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3RunActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em3RunActionMessenger.hh,v 1.7 2001/11/28 17:54:46 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh index 1b6fa860c1..bac476afd6 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em3SteppingAction.hh,v 1.5 2001/10/22 10:58:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh index d02b79b5a9..7607d97e30 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em3SteppingVerbose.hh,v 1.7 2001/10/22 10:58:52 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh b/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh index f2dbd1634f..8e5a1352ec 100644 --- a/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh +++ b/examples/extended/electromagnetic/TestEm3/include/Em3VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em3VisManager.hh,v 1.4 2001/10/22 10:58:53 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/include/IonC12.hh b/examples/extended/electromagnetic/TestEm3/include/IonC12.hh new file mode 100644 index 0000000000..465b555a4f --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/include/IonC12.hh @@ -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: IonC12.hh,v 1.1 2003/03/10 18:16:49 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Each class inheriting from G4VIon +// corresponds to a particle type; one and only one +// instance for each class is guaranteed. +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef IonC12_h +#define IonC12_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "G4VIon.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....... + +class IonC12 : public G4VIon +{ + private: + static IonC12 theIon; + + public: + IonC12( + const G4String& aName, G4double mass, + G4double width, G4double charge, + G4int iSpin, G4int iParity, + G4int iConjugation, G4int iIsospin, + G4int iIsospin3, G4int gParity, + const G4String& pType, G4int lepton, + G4int baryon, G4int encoding, + G4bool stable, G4double lifetime, + G4DecayTable *decaytable + ); + virtual ~IonC12(); + + static IonC12* IonDefinition(); + static IonC12* Ion(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....... + +#endif diff --git a/examples/extended/electromagnetic/TestEm3/ionC12.mac b/examples/extended/electromagnetic/TestEm3/ionC12.mac new file mode 100644 index 0000000000..3e6f11bf25 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/ionC12.mac @@ -0,0 +1,34 @@ +# $Id: ionC12.mac,v 1.1 2003/03/10 18:16:46 maire Exp $ +# +# Macro file for "TestEm3.cc" +# (can be run in batch, without graphic) +# +# CsI 1 layer; +# +/control/verbose 2 +# +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm +/run/initialize +# +/testem/det/setNbOfLayers 1 +/testem/det/setNbOfAbsor 1 +/testem/det/setAbsor 0 CsI 1.99 cm +/testem/det/setSizeYZ 3 cm +/testem/det/update +# +/testem/gun/setDefault +# +/run/verbose 2 +/testem/event/printModulo 1000 +# +/gun/particle ionC12 +/gun/energy 108 GeV +# +/testem/run/setHisto 0 100 3.e-3 6.e-3 +# +/run/beamOn 20000 diff --git a/examples/extended/electromagnetic/TestEm3/retrieveTables.mac b/examples/extended/electromagnetic/TestEm3/retrieveTables.mac index 0bba8d5e63..4a728faefe 100644 --- a/examples/extended/electromagnetic/TestEm3/retrieveTables.mac +++ b/examples/extended/electromagnetic/TestEm3/retrieveTables.mac @@ -1,4 +1,4 @@ -# $Id: retrieveTables.mac,v 1.1 2001/10/23 10:30:12 maire Exp $ +# $Id: retrieveTables.mac,v 1.2 2003/02/20 15:52:01 vnivanch Exp $ # # Macro file for "exampleN03.cc" # @@ -7,6 +7,11 @@ # /control/verbose 2 # +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# /run/particle/retrievePhysicsTable physdata /run/initialize # diff --git a/examples/extended/electromagnetic/TestEm3/run01.mac b/examples/extended/electromagnetic/TestEm3/run01.mac index a5cdb26cfb..74722d6fc6 100644 --- a/examples/extended/electromagnetic/TestEm3/run01.mac +++ b/examples/extended/electromagnetic/TestEm3/run01.mac @@ -1,4 +1,4 @@ -# $Id: run01.mac,v 1.5 2001/11/05 15:28:39 maire Exp $ +# $Id: run01.mac,v 1.8 2003/03/28 15:16:13 maire Exp $ # # Macro file for "exampleN03.cc" # (can be run in batch, without graphic) @@ -7,11 +7,16 @@ # /control/verbose 2 # -#/run/particle/setCut 0.5 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +#/testem/phys/setCuts 0.5 mm /run/initialize # /run/verbose 2 -/event/printModulo 50 +/testem/event/printModulo 50 # /gun/particle e- /gun/energy 1 GeV diff --git a/examples/extended/electromagnetic/TestEm3/run02.mac b/examples/extended/electromagnetic/TestEm3/run02.mac index 8a83132eb1..92205235a5 100644 --- a/examples/extended/electromagnetic/TestEm3/run02.mac +++ b/examples/extended/electromagnetic/TestEm3/run02.mac @@ -1,4 +1,4 @@ -# $Id: run02.mac,v 1.5 2002/12/12 11:19:33 maire Exp $ +# $Id: run02.mac,v 1.7 2003/03/06 18:16:15 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -7,7 +7,12 @@ # /control/verbose 2 # -/run/particle/setCut 100 mum +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 100 mum /run/initialize # /testem/det/setNbOfLayers 50 diff --git a/examples/extended/electromagnetic/TestEm3/run03.mac b/examples/extended/electromagnetic/TestEm3/run03.mac index 0509e8a98b..fd63ab2bde 100644 --- a/examples/extended/electromagnetic/TestEm3/run03.mac +++ b/examples/extended/electromagnetic/TestEm3/run03.mac @@ -1,4 +1,4 @@ -# $Id: run03.mac,v 1.5 2002/12/12 11:19:33 maire Exp $ +# $Id: run03.mac,v 1.7 2003/03/06 18:16:15 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -10,7 +10,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 15 diff --git a/examples/extended/electromagnetic/TestEm3/run04.mac b/examples/extended/electromagnetic/TestEm3/run04.mac index a5e3f9bf70..0c65a3d6e0 100644 --- a/examples/extended/electromagnetic/TestEm3/run04.mac +++ b/examples/extended/electromagnetic/TestEm3/run04.mac @@ -1,4 +1,4 @@ -# $Id: run04.mac,v 1.5 2002/12/12 11:19:33 maire Exp $ +# $Id: run04.mac,v 1.7 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -10,7 +10,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 15 diff --git a/examples/extended/electromagnetic/TestEm3/run05.mac b/examples/extended/electromagnetic/TestEm3/run05.mac index f7f7f49da6..36ea1d8f66 100644 --- a/examples/extended/electromagnetic/TestEm3/run05.mac +++ b/examples/extended/electromagnetic/TestEm3/run05.mac @@ -1,4 +1,4 @@ -# $Id: run05.mac,v 1.5 2002/12/12 11:19:33 maire Exp $ +# $Id: run05.mac,v 1.7 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -9,7 +9,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 10 diff --git a/examples/extended/electromagnetic/TestEm3/run06.mac b/examples/extended/electromagnetic/TestEm3/run06.mac index adc5b372e8..181a7e2cad 100644 --- a/examples/extended/electromagnetic/TestEm3/run06.mac +++ b/examples/extended/electromagnetic/TestEm3/run06.mac @@ -1,4 +1,4 @@ -# $Id: run06.mac,v 1.5 2002/12/12 11:19:33 maire Exp $ +# $Id: run06.mac,v 1.7 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -9,7 +9,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 10 diff --git a/examples/extended/electromagnetic/TestEm3/run07.mac b/examples/extended/electromagnetic/TestEm3/run07.mac index ad9b8602d6..5387441aea 100644 --- a/examples/extended/electromagnetic/TestEm3/run07.mac +++ b/examples/extended/electromagnetic/TestEm3/run07.mac @@ -1,4 +1,4 @@ -# $Id: run07.mac,v 1.6 2002/12/12 11:19:33 maire Exp $ +# $Id: run07.mac,v 1.8 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -7,7 +7,12 @@ # /control/verbose 2 # -/run/particle/setCut 1.5 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1.5 mm /run/initialize # /testem/det/setNbOfLayers 2 diff --git a/examples/extended/electromagnetic/TestEm3/run08.mac b/examples/extended/electromagnetic/TestEm3/run08.mac index 9c35d9013c..64a64fa34b 100644 --- a/examples/extended/electromagnetic/TestEm3/run08.mac +++ b/examples/extended/electromagnetic/TestEm3/run08.mac @@ -1,4 +1,4 @@ -# $Id: run08.mac,v 1.2 2002/12/12 11:19:34 maire Exp $ +# $Id: run08.mac,v 1.4 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -7,7 +7,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/run12.draw b/examples/extended/electromagnetic/TestEm3/run12.draw index daf3c16a5d..4685c34c50 100644 --- a/examples/extended/electromagnetic/TestEm3/run12.draw +++ b/examples/extended/electromagnetic/TestEm3/run12.draw @@ -1,4 +1,4 @@ -# $Id: run12.draw,v 1.4 2002/12/12 11:19:34 maire Exp $ +# $Id: run12.draw,v 1.5 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -8,7 +8,7 @@ # /control/verbose 2 # -/run/particle/setCut 1 mm +/testem/phys/setCuts 1 mm /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/run15.mac b/examples/extended/electromagnetic/TestEm3/run15.mac index c8df59edc8..3266a8f820 100644 --- a/examples/extended/electromagnetic/TestEm3/run15.mac +++ b/examples/extended/electromagnetic/TestEm3/run15.mac @@ -1,4 +1,4 @@ -# $Id: run15.mac,v 1.5 2002/12/12 11:19:34 maire Exp $ +# $Id: run15.mac,v 1.7 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -7,7 +7,12 @@ # /control/verbose 2 # -/run/particle/setCut 10 mum +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 10 mum /run/initialize # /testem/det/setNbOfLayers 20 diff --git a/examples/extended/electromagnetic/TestEm3/run16.mac b/examples/extended/electromagnetic/TestEm3/run16.mac index f13f99f0bd..00c3a2f674 100644 --- a/examples/extended/electromagnetic/TestEm3/run16.mac +++ b/examples/extended/electromagnetic/TestEm3/run16.mac @@ -1,4 +1,4 @@ -# $Id: run16.mac,v 1.5 2002/12/12 11:19:34 maire Exp $ +# $Id: run16.mac,v 1.7 2003/03/06 18:16:16 maire Exp $ # # Macro file for "TestEm3.cc" # (can be run in batch, without graphic) @@ -9,7 +9,12 @@ # /control/verbose 2 # -/run/particle/setCut 1 mum +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# +/testem/phys/setCuts 1 mum /run/initialize # /testem/det/setNbOfLayers 1 diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc b/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc index 480486786d..c325c4508d 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: Em3CalorHit.cc,v 1.4 2001/10/22 10:58:54 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc index cf09c68d19..3989d47010 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: Em3CalorimeterSD.cc,v 1.4 2001/10/22 10:58:54 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc index 47a1ecf52b..e45a6a1ef3 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorConstruction.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: Em3DetectorConstruction.cc,v 1.6 2002/12/12 11:19:37 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3DetectorConstruction.cc,v 1.12 2003/03/28 15:16:15 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -55,16 +55,15 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em3DetectorConstruction::Em3DetectorConstruction() -:solidWorld(NULL),logicWorld(NULL),physiWorld(NULL), - solidCalor(NULL),logicCalor(NULL),physiCalor(NULL), - solidLayer(NULL),logicLayer(NULL),physiLayer(NULL), - defaultMaterial(NULL), - magField(NULL),calorimeterSD(NULL) +:defaultMaterial(0),solidWorld(0),logicWorld(0),physiWorld(0), + solidCalor(0),logicCalor(0),physiCalor(0), + solidLayer(0),logicLayer(0),physiLayer(0), + magField(0),calorimeterSD(0) { for (G4int i=0; iAddIsotope(U5, abundance= 90.*perCent); -U->AddIsotope(U8, abundance= 10.*perCent); + // + // define an Element from isotopes, by relative abundance + // -// -// define simple materials -// + G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole); + G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole); -density = 70.8*mg/cm3; -a = 1.008*g/mole; -G4Material* lH2 = new G4Material(name="liquidH2", z=1., a, density); + G4Element* U = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2); + U->AddIsotope(U5, abundance= 90.*perCent); + U->AddIsotope(U8, abundance= 10.*perCent); -density = 2.700*g/cm3; -a = 26.98*g/mole; -G4Material* Al = new G4Material(name="Aluminium", z=13., a, density); + // + // define simple materials + // -density = 1.390*g/cm3; -a = 39.95*g/mole; -G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density); + density = 70.8*mg/cm3; + a = 1.008*g/mole; + G4Material* lH2 = new G4Material(name="liquidH2", z=1., a, density); -density = 7.870*g/cm3; -a = 55.85*g/mole; -G4Material* Fe = new G4Material(name="Iron" , z=26., a, density); + density = 2.700*g/cm3; + a = 26.98*g/mole; + G4Material* Al = new G4Material(name="Aluminium", z=13., a, density); -density = 8.960*g/cm3; -a = 63.55*g/mole; -G4Material* Cu = new G4Material(name="Copper" , z=29., a, density); + density = 1.390*g/cm3; + a = 39.95*g/mole; + G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density); -density = 19.30*g/cm3; -a = 183.85*g/mole; -G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); + density = 7.870*g/cm3; + a = 55.85*g/mole; + G4Material* Fe = new G4Material(name="Iron" , z=26., a, density); -density = 19.32*g/cm3; -a = 196.97*g/mole; -G4Material* Au = new G4Material(name="Gold" , z=79., a, density); + density = 8.960*g/cm3; + a = 63.55*g/mole; + G4Material* Cu = new G4Material(name="Copper" , z=29., a, density); -density = 11.35*g/cm3; -a = 207.19*g/mole; -G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); + density = 19.30*g/cm3; + a = 183.85*g/mole; + G4Material* W = new G4Material(name="Tungsten" , z=74., a, density); -density = 18.95*g/cm3; -a = 238.03*g/mole; -G4Material* Ur = new G4Material(name="Uranium" , z=92., a, density); + density = 19.32*g/cm3; + a = 196.97*g/mole; + G4Material* Au = new G4Material(name="Gold" , z=79., a, density); -// -// define a material from elements. case 1: chemical molecule -// - -density = 1.000*g/cm3; -G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); -H2O->AddElement(H, natoms=2); -H2O->AddElement(O, natoms=1); + density = 11.35*g/cm3; + a = 207.19*g/mole; + G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); -density = 1.032*g/cm3; -G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); -Sci->AddElement(C, natoms=9); -Sci->AddElement(H, natoms=10); + density = 18.95*g/cm3; + a = 238.03*g/mole; + G4Material* Ur = new G4Material(name="Uranium" , z=92., a, density); -density = 2.330*g/cm3; -G4Material* Sili = new G4Material(name="Silicium", density, ncomponents=1); -Sili->AddElement(Si, natoms=1); + // + // define a material from elements. case 1: chemical molecule + // -density = 2.200*g/cm3; -G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2); -SiO2->AddElement(Si, natoms=1); -SiO2->AddElement(O , natoms=2); + density = 1.000*g/cm3; + G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); + H2O->AddElement(H, natoms=2); + H2O->AddElement(O, natoms=1); + H2O->SetChemicalFormula("H_2O"); + H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); -density = 1.700*g/cm3; -G4Material* G10 = new G4Material(name="NemaG10", density, ncomponents=4); -G10->AddElement(Si, natoms=1); -G10->AddElement(O , natoms=2); -G10->AddElement(C , natoms=3); -G10->AddElement(H , natoms=3); + density = 1.032*g/cm3; + G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); + Sci->AddElement(C, natoms=9); + Sci->AddElement(H, natoms=10); + density = 2.330*g/cm3; + G4Material* Sili = new G4Material(name="Silicium", density, ncomponents=1); + Sili->AddElement(Si, natoms=1); -// -// define a material from elements. case 2: mixture by fractional mass -// + density = 2.200*g/cm3; + G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2); + SiO2->AddElement(Si, natoms=1); + SiO2->AddElement(O , natoms=2); -density = 1.290*mg/cm3; -G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); -Air->AddElement(N, fractionmass=0.7); -Air->AddElement(O, fractionmass=0.3); + density = 1.700*g/cm3; + G4Material* G10 = new G4Material(name="NemaG10", density, ncomponents=4); + G10->AddElement(Si, natoms=1); + G10->AddElement(O , natoms=2); + G10->AddElement(C , natoms=3); + G10->AddElement(H , natoms=3); -density = 1.205*mg/cm3; -pressure = 1.*atmosphere; -temperature = 293.*kelvin; -G4Material* Air20 = new G4Material(name="Air20" , density, ncomponents=2, + density = 4.534*g/cm3; + G4Material* CsI = new G4Material(name="CsI", density, ncomponents=2); + CsI->AddElement(Cs, natoms=1); + CsI->AddElement(I , natoms=1); + CsI->GetIonisation()->SetMeanExcitationEnergy(415.689*eV); + + // + // define a material from elements. case 2: mixture by fractional mass + // + + density = 1.290*mg/cm3; + G4Material* Air = new G4Material(name="Air" , density, ncomponents=2); + Air->AddElement(N, fractionmass=0.7); + Air->AddElement(O, fractionmass=0.3); + + density = 1.205*mg/cm3; + pressure = 1.*atmosphere; + temperature = 293.*kelvin; + G4Material* Air20 = new G4Material(name="Air20" , density, ncomponents=2, kStateGas,temperature,pressure); -Air20->AddElement(N, fractionmass=0.7); -Air20->AddElement(O, fractionmass=0.3); + Air20->AddElement(N, fractionmass=0.7); + Air20->AddElement(O, fractionmass=0.3); -// -// define a material from elements and/or others materials (mixture of mixtures) -// + // + // define a material from elements and/or others materials (mixture of mixtures) + // -density = 0.200*g/cm3; -G4Material* Aerog = new G4Material(name="Aerogel", density, ncomponents=3); -Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent); -Aerog->AddMaterial(H2O , fractionmass=37.4*perCent); -Aerog->AddElement (C , fractionmass= 0.1*perCent); + density = 0.200*g/cm3; + G4Material* Aerog = new G4Material(name="Aerogel", density, ncomponents=3); + Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent); + Aerog->AddMaterial(H2O , fractionmass=37.4*perCent); + Aerog->AddElement (C , fractionmass= 0.1*perCent); -// -// examples of gas in non STP conditions -// + // + // examples of gas in non STP conditions + // -density = 27.*mg/cm3; -pressure = 50.*atmosphere; -temperature = 325.*kelvin; -G4Material* CO2 = new G4Material(name="CarbonicGas", density, ncomponents=2, + density = 27.*mg/cm3; + pressure = 50.*atmosphere; + temperature = 325.*kelvin; + G4Material* CO2 = new G4Material(name="CarbonicGas", density, ncomponents=2, kStateGas,temperature,pressure); -CO2->AddElement(C, natoms=1); -CO2->AddElement(O, natoms=2); - -density = 0.3*mg/cm3; -pressure = 2.*atmosphere; -temperature = 500.*kelvin; -G4Material* steam = new G4Material(name="WaterSteam", density, ncomponents=1, + CO2->AddElement(C, natoms=1); + CO2->AddElement(O, natoms=2); + + density = 0.3*mg/cm3; + pressure = 2.*atmosphere; + temperature = 500.*kelvin; + G4Material* steam = new G4Material(name="WaterSteam", density, ncomponents=1, kStateGas,temperature,pressure); -steam->AddMaterial(H2O, fractionmass=1.); + steam->AddMaterial(H2O, fractionmass=1.); -// -// examples of vacuum -// + // + // examples of vacuum + // -density = universe_mean_density; //from PhysicalConstants.h -pressure = 3.e-18*pascal; -temperature = 2.73*kelvin; -G4Material* vacuum = new G4Material(name="Galactic",z=1.,a=1.008*g/mole,density, + density = universe_mean_density; //from PhysicalConstants.h + pressure = 3.e-18*pascal; + temperature = 2.73*kelvin; + G4Material* vacuum = new G4Material(name="Galactic",z=1.,a=1.008*g/mole,density, kStateGas,temperature,pressure); -density = 1.e-5*g/cm3; -pressure = 2.e-2*bar; -temperature = STP_Temperature; //from PhysicalConstants.h -G4Material* beam = new G4Material(name="Beam", density, ncomponents=1, + density = 1.e-5*g/cm3; + pressure = 2.e-2*bar; + temperature = STP_Temperature; //from PhysicalConstants.h + G4Material* beam = new G4Material(name="Beam", density, ncomponents=1, kStateGas,temperature,pressure); -beam->AddMaterial(Air, fractionmass=1.); + beam->AddMaterial(Air, fractionmass=1.); -G4cout << *(G4Material::GetMaterialTable()) << G4endl; + G4cout << *(G4Material::GetMaterialTable()) << G4endl; //default materials of the calorimeter AbsorMaterial[0] = Pb; @@ -283,107 +298,119 @@ G4cout << *(G4Material::GetMaterialTable()) << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VPhysicalVolume* Em3DetectorConstruction::ConstructCalorimeter() { - // complete the Calor parameters definition + // complete the Calor parameters definition ComputeCalorParameters(); - - // + + // // World // + if(solidWorld) delete solidWorld; + if(logicWorld) delete logicWorld; + if(physiWorld) delete physiWorld; + solidWorld = new G4Box("World", //its name WorldSizeX/2,WorldSizeYZ/2,WorldSizeYZ/2); //its size - + logicWorld = new G4LogicalVolume(solidWorld, //its solid defaultMaterial, //its material "World"); //its name - + physiWorld = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume "World", //its name - logicWorld, //its logical volume - NULL, //its mother volume + 0, //its mother volume false, //no boolean operation 0); //copy number - - // + + // // Calorimeter - // - solidCalor=NULL; logicCalor=NULL; physiCalor=NULL; - + // + if(solidCalor) delete solidCalor; + if(logicCalor) delete logicCalor; + if(physiCalor) delete physiCalor; + solidCalor = new G4Box("Calorimeter", //its name CalorThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);//size - + logicCalor = new G4LogicalVolume(solidCalor, //its solid defaultMaterial, //its material "Calorimeter"); //its name - + physiCalor = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicCalor, //its logical volume "Calorimeter", //its name - logicCalor, //its logical volume - physiWorld, //its mother volume + logicWorld, //its mother volume false, //no boolean operation 0); //copy number - - // + + // // Layers // - solidLayer=NULL; logicLayer=NULL; physiLayer=NULL; - + if(solidLayer) delete solidLayer; + if(logicLayer) delete logicLayer; + if(physiLayer) delete physiLayer; + solidLayer = new G4Box("Layer", //its name LayerThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); //size - + logicLayer = new G4LogicalVolume(solidLayer, //its solid defaultMaterial, //its material "Layer"); //its name - if (NbOfLayers > 1) + if (NbOfLayers > 1) physiLayer = new G4PVReplica("Layer", //its name logicLayer, //its logical volume - physiCalor, //its mother + logicCalor, //its mother kXAxis, //axis of replication NbOfLayers, //number of replica LayerThickness); //witdth of replica else physiLayer = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicLayer, //its logical volume "Layer", //its name - logicLayer, //its logical volume - physiCalor, //its mother volume + logicCalor, //its mother volume false, //no boolean operation 0); //copy number - // + // // Absorbers // - for (G4int j=0; jGetName()); + logicAbsor[k]->SetUserLimits(userLimits); G4double xcenter = xfront+0.5*AbsorThickness[k]; - xfront += AbsorThickness[k]; + xfront += AbsorThickness[k]; physiAbsor[k] = new G4PVPlacement(0, //no rotation - G4ThreeVector(xcenter,0.,0.), //its position - "Absorber", //its name - logicAbsor[k], //its logical volume - physiLayer, //its mother - false, //no boulean operat - k); //copy number - + G4ThreeVector(xcenter,0.,0.), //its position + logicAbsor[k], //its logical volume + AbsorMaterial[k]->GetName(), //its name + logicLayer, //its mother + false, //no boulean operat + k); //copy number + } - - // + + // // Sensitive Detectors: all Absorbers // G4SDManager* SDman = G4SDManager::GetSDMpointer(); @@ -393,17 +420,17 @@ G4VPhysicalVolume* Em3DetectorConstruction::ConstructCalorimeter() calorimeterSD = new Em3CalorimeterSD("CalorSD",this); SDman->AddNewDetector( calorimeterSD ); } - for (G4int l=0; lSetSensitiveDetector(calorimeterSD); - - // + + // // Visualization attributes // ////logicWorld->SetVisAttributes (G4VisAttributes::Invisible); G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); simpleBoxVisAtt->SetVisibility(true); logicCalor->SetVisAttributes(simpleBoxVisAtt); - + // //always return the physical World // @@ -418,7 +445,7 @@ void Em3DetectorConstruction::PrintCalorParameters() G4cout << "\n-------------------------------------------------------------" << "\n ---> The calorimeter is " << NbOfLayers << " layers of:"; for (G4int i=0; iGetName() <<": " << G4std::setw(6) << G4BestUnit(AbsorThickness[i],"Length"); } @@ -432,11 +459,11 @@ void Em3DetectorConstruction::SetNbOfAbsor(G4int ival) // set the number of Absorbers // if (ival < 1 || ival > MaxAbsor) - { G4cout << "\n ---> warning from SetNbOfAbsor: " - << ival << " must be at least 1 and and most " << MaxAbsor + { G4cout << "\n ---> warning from SetNbOfAbsor: " + << ival << " must be at least 1 and and most " << MaxAbsor << ". Command refused" << G4endl; return; - } + } NbOfAbsor = ival; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -446,13 +473,13 @@ void Em3DetectorConstruction::SetAbsorMaterial(G4int ival,G4String material) // search the material by its name // if (ival >= NbOfAbsor) - { G4cout << "\n --->warning from SetAbsorMaterial: absor number " + { G4cout << "\n --->warning from SetAbsorMaterial: absor number " << ival << " out of range. Command refused" << G4endl; return; } - - G4Material* pttoMaterial = G4Material::GetMaterial(material); - if (pttoMaterial) AbsorMaterial[ival] = pttoMaterial; + + G4Material* pttoMaterial = G4Material::GetMaterial(material); + if (pttoMaterial) AbsorMaterial[ival] = pttoMaterial; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -462,17 +489,17 @@ void Em3DetectorConstruction::SetAbsorThickness(G4int ival,G4double val) // change Absorber thickness // if (ival >= NbOfAbsor) - { G4cout << "\n --->warning from SetAbsorThickness: absor number " + { G4cout << "\n --->warning from SetAbsorThickness: absor number " << ival << " out of range. Command refused" << G4endl; return; } if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetAbsorThickness: thickness " + { G4cout << "\n --->warning from SetAbsorThickness: thickness " << val << " out of range. Command refused" << G4endl; return; - } + } AbsorThickness[ival] = val; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -481,12 +508,12 @@ void Em3DetectorConstruction::SetCalorSizeYZ(G4double val) // change the transverse size // if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetCalorSizeYZ: thickness " + { G4cout << "\n --->warning from SetCalorSizeYZ: thickness " << val << " out of range. Command refused" << G4endl; return; - } + } CalorSizeYZ = val; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -495,10 +522,10 @@ void Em3DetectorConstruction::SetNbOfLayers(G4int ival) // set the number of Layers // if (ival < 1) - { G4cout << "\n --->warning from SetNbOfLayers: " + { G4cout << "\n --->warning from SetNbOfLayers: " << ival << " must be at least 1. Command refused" << G4endl; return; - } + } NbOfLayers = ival; } @@ -508,17 +535,17 @@ void Em3DetectorConstruction::SetMagField(G4double fieldValue) { //apply a global uniform magnetic field along Z axis // - G4FieldManager* fieldMgr + G4FieldManager* fieldMgr = G4TransportationManager::GetTransportationManager()->GetFieldManager(); - + if(magField) delete magField; //delete the existing magn field - + if(fieldValue!=0.) // create a new one if non nul - { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); + { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); fieldMgr->SetDetectorField(magField); fieldMgr->CreateChordFinder(magField); } else { - magField = NULL; + magField = 0; fieldMgr->SetDetectorField(magField); } } @@ -530,18 +557,24 @@ void Em3DetectorConstruction::SetMaxStepSize(G4double val) // set the maximum allowed step size // if (val <= DBL_MIN) - { G4cout << "\n --->warning from SetMaxStepSize: maxStep " + { G4cout << "\n --->warning from SetMaxStepSize: maxStep " << val << " out of range. Command refused" << G4endl; return; - } + } userLimits->SetMaxAllowedStep(val); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3DetectorConstruction::UpdateGeometry() -{ - G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3DetectorConstruction::UpdateGeometry() +{ + G4bool first = true; + if (physiWorld) first = false; + G4VPhysicalVolume* v = ConstructCalorimeter(); + G4RunManager* rm = G4RunManager::GetRunManager(); + rm->GeometryHasBeenModified(); + rm->DefineWorldVolume(v); + if (!first) rm->ResetNavigator(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc index 7cadb24665..4c39998f41 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3DetectorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em3DetectorMessenger.cc,v 1.8 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3DetectorMessenger.cc,v 1.9 2003/03/06 11:16:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -92,7 +92,7 @@ Em3DetectorMessenger::Em3DetectorMessenger(Em3DetectorConstruction * Em3Det) unitPrm->SetParameterCandidates(unitList); AbsorCmd->SetParameter(unitPrm); // - AbsorCmd->AvailableForStates(G4State_Idle); + AbsorCmd->AvailableForStates(G4State_PreInit,G4State_Idle); MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setField",this); MagFieldCmd->SetGuidance("Define magnetic field."); diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc index 53f7392426..c4cd2c6bcc 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em3EventAction.cc,v 1.13 2002/06/05 12:13:04 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc index 7db5daf384..55eddfbc7d 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em3EventActionMessenger.cc,v 1.7 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmModel.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmModel.cc new file mode 100644 index 0000000000..cef67bb818 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmModel.cc @@ -0,0 +1,117 @@ +// +// ******************************************************************** +// * 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: Em3PhysListEmModel.cc,v 1.1 2003/02/26 16:12:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em3PhysListEmModel.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScatteringSTD.hh" + +#include "G4eIonisationSTD.hh" +#include "G4eBremsstrahlungSTD.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisationSTD.hh" +#include "G4MuBremsstrahlungSTD.hh" +#include "G4MuPairProductionSTD.hh" + +#include "G4hIonisationSTD.hh" +#include "G4ionIonisation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListEmModel::Em3PhysListEmModel(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListEmModel::~Em3PhysListEmModel() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3PhysListEmModel::ConstructProcess() +{ + // Add EM processes realised on base of prototype of model approach design + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1); + pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3); + + } else if (particleName == "e+") { + //positron + pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1); + pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddProcess(new G4MultipleScatteringSTD,-1, 1,1); + pmanager->AddProcess(new G4MuIonisationSTD, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3); + pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4); + + } else if( particleName == "GenericIon" ) { + + pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); + pmanager->AddProcess(new G4ionIonisation, -1,2,2); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1); + pmanager->AddProcess(new G4hIonisationSTD, -1,2,2); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmStandard.cc new file mode 100644 index 0000000000..606611a0b6 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListEmStandard.cc @@ -0,0 +1,111 @@ +// +// ******************************************************************** +// * 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: Em3PhysListEmStandard.cc,v 1.1 2003/02/26 16:12:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em3PhysListEmStandard.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListEmStandard::Em3PhysListEmStandard(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListEmStandard::~Em3PhysListEmStandard() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3PhysListEmStandard::ConstructProcess() +{ + // Add standard EM Processes + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + + } else if (particleName == "e+") { + //positron + pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4MuIonisation, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScattering,-1,1,1); + pmanager->AddProcess(new G4hIonisation, -1,2,2); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysListGeneral.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListGeneral.cc new file mode 100644 index 0000000000..39acb485e4 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListGeneral.cc @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * 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: Em3PhysListGeneral.cc,v 1.1 2003/02/26 16:12:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em3PhysListGeneral.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListGeneral::Em3PhysListGeneral(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListGeneral::~Em3PhysListGeneral() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3PhysListGeneral::ConstructProcess() +{ + // Add Decay Process + + G4Decay* fDecayProcess = new G4Decay(); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + + if (fDecayProcess->IsApplicable(*particle)) { + + pmanager ->AddProcess(fDecayProcess); + + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest); + + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysListParticles.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListParticles.cc new file mode 100644 index 0000000000..30da514e9e --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysListParticles.cc @@ -0,0 +1,144 @@ +// +// ******************************************************************** +// * 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: Em3PhysListParticles.cc,v 1.3 2003/03/10 18:16:49 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "Em3PhysListParticles.hh" + +// Bosons +#include "G4ChargedGeantino.hh" +#include "G4Geantino.hh" +#include "G4Gamma.hh" +#include "G4OpticalPhoton.hh" + +// leptons +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4NeutrinoMu.hh" +#include "G4AntiNeutrinoMu.hh" + +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4NeutrinoE.hh" +#include "G4AntiNeutrinoE.hh" + +// Mesons +#include "G4PionPlus.hh" +#include "G4PionMinus.hh" +#include "G4PionZero.hh" +#include "G4Eta.hh" +#include "G4EtaPrime.hh" + +#include "G4KaonPlus.hh" +#include "G4KaonMinus.hh" +#include "G4KaonZero.hh" +#include "G4AntiKaonZero.hh" +#include "G4KaonZeroLong.hh" +#include "G4KaonZeroShort.hh" + +// Baryons +#include "G4Proton.hh" +#include "G4AntiProton.hh" +#include "G4Neutron.hh" +#include "G4AntiNeutron.hh" + +// Nuclei +#include "G4Alpha.hh" +#include "G4Deuteron.hh" +#include "G4Triton.hh" +#include "G4He3.hh" +#include "G4GenericIon.hh" + +#include "IonC12.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListParticles::Em3PhysListParticles(const G4String& name) + : G4VPhysicsConstructor(name) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +Em3PhysListParticles::~Em3PhysListParticles() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3PhysListParticles::ConstructParticle() +{ + +// pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + +// gamma + G4Gamma::GammaDefinition(); + +// optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); + +// leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + +// mesons + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + G4PionZero::PionZeroDefinition(); + G4Eta::EtaDefinition(); + G4EtaPrime::EtaPrimeDefinition(); + G4KaonPlus::KaonPlusDefinition(); + G4KaonMinus::KaonMinusDefinition(); + G4KaonZero::KaonZeroDefinition(); + G4AntiKaonZero::AntiKaonZeroDefinition(); + G4KaonZeroLong::KaonZeroLongDefinition(); + G4KaonZeroShort::KaonZeroShortDefinition(); + +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); + +// ions + G4Deuteron::DeuteronDefinition(); + G4Triton::TritonDefinition(); + G4He3::He3Definition(); + G4Alpha::AlphaDefinition(); + G4GenericIon::GenericIonDefinition(); + IonC12::IonDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc index 23dd5ed711..199a6f0fd9 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsList.cc @@ -21,10 +21,6 @@ // ******************************************************************** // // -// $Id: Em3PhysicsList.cc,v 1.9 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -32,209 +28,91 @@ #include "Em3PhysicsList.hh" #include "Em3PhysicsListMessenger.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" #include "G4UnitsTable.hh" -#include "G4ios.hh" +#include "Em3PhysListParticles.hh" +#include "Em3PhysListGeneral.hh" +#include "Em3PhysListEmStandard.hh" +#include "Em3PhysListEmModel.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -Em3PhysicsList::Em3PhysicsList(): G4VUserPhysicsList() +Em3PhysicsList::Em3PhysicsList() : G4VModularPhysicsList() { - currentDefaultCut = defaultCutValue = 0.5*mm; - cutForGamma = defaultCutValue; - cutForElectron = defaultCutValue; - cutForProton = defaultCutValue; - + currentDefaultCut = 1.0*mm; + cutForGamma = currentDefaultCut; + cutForElectron = currentDefaultCut; + cutForPositron = currentDefaultCut; + pMessenger = new Em3PhysicsListMessenger(this); SetVerboseLevel(1); + + // Particles + particleList = new Em3PhysListParticles("particles"); + + // General Physics + generalPhysicsList = new Em3PhysListGeneral("general"); + + // EM physics + emName = G4String("standard"); + emPhysicsList = new Em3PhysListEmStandard(emName); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em3PhysicsList::~Em3PhysicsList() -{delete pMessenger;} +{ + delete pMessenger; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void Em3PhysicsList::ConstructParticle() { - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructBosons(); - ConstructLeptons(); - ConstructMesons(); - ConstructBarions(); - ConstructIons(); + particleList->ConstructParticle(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em3PhysicsList::ConstructBosons() -{ - // pseudo-particles - G4Geantino::GeantinoDefinition(); - G4ChargedGeantino::ChargedGeantinoDefinition(); - - // gamma - G4Gamma::GammaDefinition(); - - // optical photon - G4OpticalPhoton::OpticalPhotonDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3PhysicsList::ConstructLeptons() -{ - // leptons - G4Electron::ElectronDefinition(); - G4Positron::PositronDefinition(); - G4MuonPlus::MuonPlusDefinition(); - G4MuonMinus::MuonMinusDefinition(); - - G4NeutrinoE::NeutrinoEDefinition(); - G4AntiNeutrinoE::AntiNeutrinoEDefinition(); - G4NeutrinoMu::NeutrinoMuDefinition(); - G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3PhysicsList::ConstructMesons() -{ - // mesons - G4PionPlus::PionPlusDefinition(); - G4PionMinus::PionMinusDefinition(); - G4PionZero::PionZeroDefinition(); - G4Eta::EtaDefinition(); - G4EtaPrime::EtaPrimeDefinition(); - G4KaonPlus::KaonPlusDefinition(); - G4KaonMinus::KaonMinusDefinition(); - G4KaonZero::KaonZeroDefinition(); - G4AntiKaonZero::AntiKaonZeroDefinition(); - G4KaonZeroLong::KaonZeroLongDefinition(); - G4KaonZeroShort::KaonZeroShortDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3PhysicsList::ConstructBarions() -{ -// barions - G4Proton::ProtonDefinition(); - G4AntiProton::AntiProtonDefinition(); - G4Neutron::NeutronDefinition(); - G4AntiNeutron::AntiNeutronDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3PhysicsList::ConstructIons() -{ -// Ions - G4Alpha::AlphaDefinition(); -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void Em3PhysicsList::ConstructProcess() { AddTransportation(); - ConstructEM(); - ConstructGeneral(); + generalPhysicsList->ConstructProcess(); + emPhysicsList->ConstructProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4MultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void Em3PhysicsList::ConstructEM() +void Em3PhysicsList::AddPhysicsList(const G4String& name) { - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - //gamma - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); - pmanager->AddDiscreteProcess(new G4ComptonScattering); - pmanager->AddDiscreteProcess(new G4GammaConversion); - - } else if (particleName == "e-") { - //electron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - - } else if (particleName == "e+") { - //positron - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4MuIonisation, -1, 2,2); - pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); - - } else if ((!particle->IsShortLived()) && - (particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")) { - //all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering,-1,1,1); - pmanager->AddProcess(new G4hIonisation, -1,2,2); - } + if (verboseLevel>1) { + G4cout << "Em3PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; } -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + if (name == emName) return; -#include "G4Decay.hh" + if (name == "standard") { -void Em3PhysicsList::ConstructGeneral() -{ - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - // set ordering for PostStepDoIt and AtRestDoIt - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } + emName = name; + delete emPhysicsList; + emPhysicsList = new Em3PhysListEmStandard(name); + + } else if (name == "model") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new Em3PhysListEmModel(name); + + } else { + + G4cout << "Em3PhysicsList::AddPhysicsList: <" << name << ">" + << " is not defined" + << G4endl; } } @@ -242,15 +120,7 @@ void Em3PhysicsList::ConstructGeneral() void Em3PhysicsList::SetCuts() { - // reactualise cutValues - if (currentDefaultCut != defaultCutValue) - { - if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; - if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; - currentDefaultCut = defaultCutValue; - } - + if (verboseLevel >0){ G4cout << "Em3PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; @@ -260,15 +130,8 @@ void Em3PhysicsList::SetCuts() // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); - SetCutValue(cutForElectron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - + SetCutValue(cutForPositron, "e+"); + if (verboseLevel>0) DumpCutValuesTable(); } @@ -276,23 +139,25 @@ void Em3PhysicsList::SetCuts() void Em3PhysicsList::SetCutForGamma(G4double cut) { - ResetCuts(); cutForGamma = cut; -} - -void Em3PhysicsList::SetCutForElectron(G4double cut) -{ - ResetCuts(); - cutForElectron = cut; -} - -void Em3PhysicsList::SetCutForProton(G4double cut) -{ - ResetCuts(); - cutForProton = cut; + SetParticleCuts(cutForGamma, G4Gamma::Gamma()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void Em3PhysicsList::SetCutForElectron(G4double cut) +{ + cutForElectron = cut; + SetParticleCuts(cutForElectron, G4Electron::Electron()); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void Em3PhysicsList::SetCutForPositron(G4double cut) +{ + cutForPositron = cut; + SetParticleCuts(cutForPositron, G4Positron::Positron()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc index b83bf8284c..f5f318e7ce 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em3PhysicsListMessenger.cc,v 1.5 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3PhysicsListMessenger.cc,v 1.6 2003/02/20 15:52:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -33,6 +33,7 @@ #include "Em3PhysicsList.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,11 +55,23 @@ Em3PhysicsListMessenger::Em3PhysicsListMessenger(Em3PhysicsList* pPhys) electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this); - protoCutCmd->SetGuidance("Set proton cut."); + protoCutCmd->SetGuidance("Set positron cut."); protoCutCmd->SetParameterName("Pcut",false); protoCutCmd->SetUnitCategory("Length"); protoCutCmd->SetRange("Pcut>0.0"); protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + allCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setCuts",this); + allCutCmd->SetGuidance("Set cut for all."); + allCutCmd->SetParameterName("cut",false); + allCutCmd->SetUnitCategory("Length"); + allCutCmd->SetRange("cut>0.0"); + allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); + pListCmd->SetGuidance("Add modula physics list."); + pListCmd->SetParameterName("PList",false); + pListCmd->AvailableForStates(G4State_PreInit); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,6 +81,8 @@ Em3PhysicsListMessenger::~Em3PhysicsListMessenger() delete gammaCutCmd; delete electCutCmd; delete protoCutCmd; + delete allCutCmd; + delete pListCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -82,7 +97,18 @@ void Em3PhysicsListMessenger::SetNewValue(G4UIcommand* command, { pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));} if( command == protoCutCmd ) - { pPhysicsList->SetCutForProton(protoCutCmd->GetNewDoubleValue(newValue));} + { pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));} + + if( command == allCutCmd ) + { + G4double cut = allCutCmd->GetNewDoubleValue(newValue); + pPhysicsList->SetCutForGamma(cut); + pPhysicsList->SetCutForElectron(cut); + pPhysicsList->SetCutForPositron(cut); + } + + if( command == pListCmd ) + { pPhysicsList->AddPhysicsList(newValue);} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc index f76ccaeec6..ed6090ee1a 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em3PrimaryGeneratorAction.cc,v 1.5 2001/10/22 10:58:57 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc index 9981d9acfb..e2a6aae4be 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em3PrimaryGeneratorMessenger.cc,v 1.7 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc b/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc index e117bea924..afacb0de65 100644 --- a/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3RunAction.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: Em3RunAction.cc,v 1.19 2002/12/12 11:19:38 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em3RunAction.cc,v 1.22 2003/03/17 17:30:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,6 +42,7 @@ #include "Randomize.hh" #include "g4std/iomanip" +#include "G4ProductionCutsTable.hh" #ifndef G4NOHIST #include "AIDA/AIDA.h" @@ -118,7 +119,7 @@ void Em3RunAction::BeginOfRunAction(const G4Run* aRun) //example of print dEdx tables // - ////PrintDedxTables(); + ////PrintDedxTables(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -201,12 +202,12 @@ void Em3RunAction::EndOfRunAction(const G4Run* aRun) << G4std::setw( 5) << G4BestUnit( rmsLAbs,"Length") << G4endl; } - + G4cout << "\n-------------------------------------------------------------"; - G4cout << G4endl; + G4cout << G4endl; G4cout.setf(mode,G4std::ios::floatfield); G4cout.precision(prec); - + // show Rndm status HepRandom::showEngineStatus(); } @@ -225,18 +226,18 @@ void Em3RunAction::PrintDedxTables() { //Print dE/dx tables with binning identical to the Geant3 JMATE bank. //The printout is readable as Geant3 ffread data cards (by the program g4mat). - // + // const G4double tkmin=10*keV, tkmax=10*TeV; - const G4int nbin=90; + const G4int nbin=90; G4double tk[nbin]; - - const G4int ncolumn = 5; - + + const G4int ncolumn = 5; + //compute the kinetic energies - // + // const G4double dp = log10(tkmax/tkmin)/nbin; const G4double dt = pow(10.,dp); - tk[0] = tkmin; + tk[0] = tkmin; for (G4int i=1; iFindParticle("mu+"); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + for (G4int iab=0;iab < Detector->GetNbOfAbsor(); iab++) { G4Material* mat = Detector->GetAbsorMaterial(iab); + G4int index = mat->GetIndex(); + const G4MaterialCutsCouple* couple = + theCoupleTable->GetMaterialCutsCouple(index); G4cout << "\nLIST"; - G4cout << "\nC \nC dE/dx (MeV/cm) for " << part->GetParticleName() + G4cout << "\nC \nC dE/dx (MeV/cm) for " << part->GetParticleName() << " in " << mat ->GetName() << "\nC"; - G4cout << "\nKINE (" << part->GetParticleName() << ")"; + G4cout << "\nKINE (" << part->GetParticleName() << ")"; G4cout << "\nMATE (" << mat ->GetName() << ")"; G4cout.precision(2); G4cout << "\nERAN " << tkmin/GeV << " (ekmin)\t" << tkmax/GeV << " (ekmax)\t" << nbin << " (nekbin)"; - G4double cutgam = (G4Gamma::Gamma()->GetEnergyCuts())[mat->GetIndex()]; - if (cutgam < tkmin) cutgam = tkmin; if (cutgam > tkmax) cutgam = tkmax; - G4double cutele = (G4Electron::Electron() - ->GetEnergyCuts())[mat->GetIndex()]; - if (cutele < tkmin) cutele = tkmin; if (cutele > tkmax) cutele = tkmax; - G4cout << "\nCUTS " << cutgam/GeV << " (cutgam)\t" + G4double cutgam = + (*(theCoupleTable->GetEnergyCutsVector(idxG4GammaCut)))[index]; + if (cutgam < tkmin) cutgam = tkmin; + if (cutgam > tkmax) cutgam = tkmax; + G4double cutele = + (*(theCoupleTable->GetEnergyCutsVector(idxG4ElectronCut)))[index]; + if (cutele < tkmin) cutele = tkmin; + if (cutele > tkmax) cutele = tkmax; + G4cout << "\nCUTS " << cutgam/GeV << " (cutgam)\t" << cutele/GeV << " (cutele)"; - - G4cout.precision(6); + + G4cout.precision(6); G4cout << "\nG4VAL \n "; for (G4int l=0;lGetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc b/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc index 1faecdcc1b..678768c84e 100755 --- a/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc +++ b/examples/extended/electromagnetic/TestEm3/src/Em3VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em3VisManager.cc,v 1.7 2002/11/13 21:39:52 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm3/src/IonC12.cc b/examples/extended/electromagnetic/TestEm3/src/IonC12.cc new file mode 100644 index 0000000000..2c822bdd1d --- /dev/null +++ b/examples/extended/electromagnetic/TestEm3/src/IonC12.cc @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * 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: IonC12.cc,v 1.1 2003/03/10 18:16:50 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "g4std/fstream" +#include "g4std/iomanip" + +#include "IonC12.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +IonC12::IonC12( + const G4String& aName, G4double mass, + G4double width, G4double charge, + G4int iSpin, G4int iParity, + G4int iConjugation, G4int iIsospin, + G4int iIsospin3, G4int gParity, + const G4String& pType, G4int lepton, + G4int baryon, G4int encoding, + G4bool stable, G4double lifetime, + G4DecayTable *decaytable ) + : G4VIon( aName,mass,width,charge,iSpin,iParity, + iConjugation,iIsospin,iIsospin3,gParity,pType, + lepton,baryon,encoding,stable,lifetime,decaytable ) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +IonC12::~IonC12() { } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +// +// static member definition +// +// Arguments for constructor are as follows +// name mass width charge +// 2*spin parity C-conjugation +// 2*Isospin 2*Isospin3 G-parity +// type lepton number baryon number PDG encoding +// stable lifetime decay table + +IonC12 IonC12::theIon( + "ionC12", 11.17793*GeV, 0.0*MeV, +6.0*eplus, + 0, +1, 0, + 0, 0, 0, + "static_nucleus", 0, +12, 0, + true, -1.0, 0 +); + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +IonC12* IonC12::IonDefinition() {return &theIon;} + +IonC12* IonC12::Ion() {return &theIon;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/storeTables.mac b/examples/extended/electromagnetic/TestEm3/storeTables.mac index 41556e72cb..9a94ab014d 100644 --- a/examples/extended/electromagnetic/TestEm3/storeTables.mac +++ b/examples/extended/electromagnetic/TestEm3/storeTables.mac @@ -1,4 +1,4 @@ -# $Id: storeTables.mac,v 1.2 2001/11/28 17:54:46 maire Exp $ +# $Id: storeTables.mac,v 1.3 2003/02/20 15:52:01 vnivanch Exp $ # # Macro file for "testEm3.cc" # @@ -7,6 +7,11 @@ # /control/verbose 2 # +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard +# /run/initialize /run/particle/storePhysicsTable physdata # diff --git a/examples/extended/electromagnetic/TestEm3/vis.mac b/examples/extended/electromagnetic/TestEm3/vis.mac index 1c81f4bfcf..cb3d967a2c 100644 --- a/examples/extended/electromagnetic/TestEm3/vis.mac +++ b/examples/extended/electromagnetic/TestEm3/vis.mac @@ -6,6 +6,11 @@ # /control/verbose 2 /run/verbose 2 +# +# select EM PhysicsList +# +#/testem/phys/addPhysics model +/testem/phys/addPhysics standard /run/initialize # # Create empty scene ("world" is default) diff --git a/examples/extended/electromagnetic/TestEm4/History b/examples/extended/electromagnetic/TestEm4/History index 885f196b8e..17860da1a6 100644 --- a/examples/extended/electromagnetic/TestEm4/History +++ b/examples/extended/electromagnetic/TestEm4/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2002/12/10 17:20:29 maire Exp $ +$Id: History,v 1.21 2003/04/01 16:36:34 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,13 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +01-04-03 mma (testem4-V05-00-02) +-G4PVPlacement in logical mother, even for the world + +12-02-03 mma (testem4-V05-00-00) +-add a blank in SteppingVerbose + 10-12-02 mma (testem4-V04-01-00) -migration to AIDA 3.0 -UI commands under directory /testem/ diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.cc b/examples/extended/electromagnetic/TestEm4/TestEm4.cc index 6d16e7b5e6..ef548ab81b 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.cc +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm4.cc,v 1.7 2001/10/25 14:04:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.out b/examples/extended/electromagnetic/TestEm4/TestEm4.out index 39f474579c..286b117540 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.out +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -23,6 +23,11 @@ Current available graphics systems are: phot: Total cross sections from Sandia parametrisation. Em4PhysicsList::SetCuts:CutLength : 1 (mm) +# +/run/verbose 2 +/testem/event/printModulo 10000 +# +/run/beamOn 50000 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -39,7 +44,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -50,18 +56,18 @@ eBrem: Total cross sections from a NEW parametrisation based on the EEDL data l annihil: Total cross section from Heilter formula(annihilation into 2 photons). gamma energies sampled according Heitler PhysicsTables from 10 keV to 10 TeV in 100 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - FluorCarbonate 1 mm 1 mm -Cut in energy - FluorCarbonate 3.61 keV 429 keV -=================================================== -# -/run/verbose 2 -/testem/event/printModulo 10000 -# -/run/beamOn 50000 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : FluorCarbonate + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.61165 keV e- 429.199 keV e+ 416.986 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -87,11 +93,11 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 50000 - User=18s Real=5.7e+02s Sys=47s + User=20s Real=6e+02s Sys=49s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 293687261, 334388557 + Current couple of seeds = 1240626608, 862128842 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh index b0b3987374..9859c1d4bb 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em4DetectorConstruction.hh,v 1.4 2001/10/17 14:04:13 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh index 01d8f0308a..fe7cf7ae44 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em4EventAction.hh,v 1.4 2001/10/17 14:04:14 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh index 0536df67bd..e764be134e 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em4EventActionMessenger.hh,v 1.5 2002/12/10 17:20:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh b/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh index 7cd4a4e4c5..bb689b6715 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: Em4PhysicsList.hh,v 1.4 2001/10/17 14:04:14 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh index 573b2c93b5..0eb7cbdcba 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em4PrimaryGeneratorAction.hh,v 1.4 2001/10/17 14:04:14 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh index f20bb67bff..d12a6f5f48 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em4RunAction.hh,v 1.10 2002/12/10 17:20:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh index 8d406ce8d7..5b7f9134c7 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em4SteppingAction.hh,v 1.3 2001/07/11 09:57:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh index 43d6fe102c..25689facab 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em4SteppingVerbose.hh,v 1.7 2001/10/17 14:04:14 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh b/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh index 61c45f13df..80642adf19 100644 --- a/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh +++ b/examples/extended/electromagnetic/TestEm4/include/Em4VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em4VisManager.hh,v 1.4 2001/10/17 14:04:15 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc index 3b3ee8aff5..b8725efa01 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em4DetectorConstruction.cc,v 1.4 2001/10/17 14:04:15 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em4DetectorConstruction.cc,v 1.5 2003/04/01 16:36:37 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -93,9 +93,9 @@ G4VPhysicalVolume* Em4DetectorConstruction::Construct() G4VPhysicalVolume* physiWorld = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) - "C6F6", //its name logicWorld, //its logical volume - NULL, //its mother volume + "C6F6", //its name + 0, //its mother volume false, //no boolean operation 0); //copy number diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc index 5d32890dd4..84a37093f0 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em4EventAction.cc,v 1.10 2002/05/29 15:32:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc index 9e0dc32641..0dbe4030d0 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em4EventActionMessenger.cc,v 1.6 2002/12/10 17:20:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc b/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc index 9be9996eac..798f86d8fa 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: Em4PhysicsList.cc,v 1.5 2001/10/17 14:04:15 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc index 90961a2b92..c7b39d25a8 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em4PrimaryGeneratorAction.cc,v 1.5 2001/12/10 16:05:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc index d3ec564e54..004411c246 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em4RunAction.cc,v 1.15 2002/12/10 17:20:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc index b047280320..620a41ff42 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em4SteppingAction.cc,v 1.4 2001/10/17 14:04:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc index 5fff89c372..b72fe3bf5f 100644 --- a/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em4SteppingVerbose.cc,v 1.8 2001/10/17 14:04:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em4SteppingVerbose.cc,v 1.9 2003/02/10 17:19:50 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void Em4SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc b/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc index 218aa09062..4a61f66e46 100755 --- a/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc +++ b/examples/extended/electromagnetic/TestEm4/src/Em4VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em4VisManager.cc,v 1.7 2002/11/13 21:39:56 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm5/History b/examples/extended/electromagnetic/TestEm5/History index c12a881505..55f14e566e 100644 --- a/examples/extended/electromagnetic/TestEm5/History +++ b/examples/extended/electromagnetic/TestEm5/History @@ -1,4 +1,4 @@ -$Id: History,v 1.20 2002/12/12 13:26:50 maire Exp $ +$Id: History,v 1.26 2003/04/17 06:51:27 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,10 +14,28 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +17-04-03 V.Ivant (testem5-V05-00-06) +- Fix crash out of WorldVolume +01-04-03 mma (testem5-V05-00-05) +- PVPlacement in logical mother + +06-03-03 mma (testem5-V05-00-03) +- PhysicsList::SetCuts : suppress cutForProton + +20-02-03 V.Ivant (testem5-V05-00-02) +-migration to cut per region + +12-02-03 mma (testem5-V05-00-01) +- add a blank in SteppingVerbose + +16-12-02 mma (testem5-V05-00-00) +-new UI directory /testem/ + 12-12-02 mma (testem5-V04-01-01) -migration to aida 3.0 - + 08-08-02 mma (testem5-V04-01-00) -in RunAction: bookHisto() only at runID=0 -in PhysicsList::SetMaxStep() : "Length" diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.cc b/examples/extended/electromagnetic/TestEm5/TestEm5.cc index affd33c92e..242841c352 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.cc +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm5.cc,v 1.7 2001/11/05 17:57:58 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.in b/examples/extended/electromagnetic/TestEm5/TestEm5.in index bc08e4b8aa..605900caf0 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.in +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.in @@ -5,29 +5,30 @@ # /control/verbose 2 /run/verbose 2 +/tracking/verbose 0 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.0 mum +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.0 mum /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 20.5 mum -/calor/setAbsYZ 10 cm -/calor/update +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 20.5 mum +/testem/det/setAbsYZ 10 cm +/testem/det/update # -/gun/setDefault +/testem/gun/setDefault # # hist file name -/plots/sethistName run19.paw +/testem/plots/sethistName run19.paw # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 65 -/plots/setEnlow 0. keV -/plots/setEnhigh 13. keV +/testem/plots/setnbinEn 65 +/testem/plots/setEnlow 0. keV +/testem/plots/setEnhigh 13. keV # /gun/particle pi+ /gun/energy 5. GeV -/event/printModulo 10000 +/testem/event/printModulo 10000 # /run/beamOn 100000 # diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.out b/examples/extended/electromagnetic/TestEm5/TestEm5.out index 1fdd01af79..e9b832ced8 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -18,9 +18,12 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) /run/verbose 2 +/tracking/verbose 0 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.0 mum +/testem/phys/setGCut 2.13 mm +G4VUserPhysicsList::ResetCuts() is obsolete. This method gives no effect and you can remove it. +/testem/phys/setECut 7.0 mum +G4VUserPhysicsList::ResetCuts() is obsolete. This method gives no effect and you can remove it. /run/initialize userDetector->Construct() start. @@ -101,6 +104,38 @@ physicsList->Construct() start. phot: Total cross sections from Sandia parametrisation. physicsList->setCut() start. Em5PhysicsList::SetCuts:CutLength : 1 mm +# +/testem/det/setAbsMat Silicon + + The WORLD is made of 1.5 cm of Galactic. The transverse size (YZ) of the world is 2.4 cm + The ABSORBER is made of 1 cm of Silicon. The transverse size (YZ) is 2 cm + X position of the middle of the absorber 0 fm +/testem/det/setAbsThick 20.5 mum +/testem/det/setAbsYZ 10 cm +/testem/det/update + + The WORLD is made of 30.75 mum of Galactic. The transverse size (YZ) of the world is 12 cm + The ABSORBER is made of 20.5 mum of Silicon. The transverse size (YZ) is 10 cm + X position of the middle of the absorber 0 fm +# +/testem/gun/setDefault +# +# hist file name +/testem/plots/sethistName run19.paw + hist file = run19.paw +# PLOT: energy deposit distribution in absorber +/testem/plots/setnbinEn 65 + Nb of bins in Edep plot = 65 +/testem/plots/setEnlow 0. keV + Elow in the Edep plot = 0 +/testem/plots/setEnhigh 13. keV + Ehigh in the Edep plot = 0.013 +# +/gun/particle pi+ +/gun/energy 5. GeV +/testem/event/printModulo 10000 +# +/run/beamOn 100000 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -117,7 +152,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -134,6 +170,17 @@ msc: Tables of transport mean free paths. displacement of the particle , too. PhysicsTables from 100 eV to 100 TeV in 100 bins. +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + MuIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. @@ -147,88 +194,24 @@ MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. +========= Table of registered couples ============================== -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Beryllium 2.13 mm 7 mum - Aluminium 2.13 mm 7 mum - Silicon 2.13 mm 7 mum - liquidArgon 2.13 mm 7 mum - Iron 2.13 mm 7 mum - Copper 2.13 mm 7 mum - Tungsten 2.13 mm 7 mum - Gold 2.13 mm 7 mum - Lead 2.13 mm 7 mum - Water 2.13 mm 7 mum - Air 2.13 mm 7 mum - XenonGas 2.13 mm 7 mum - CarbonicGas 2.13 mm 7 mum - ArgonCO2 2.13 mm 7 mum - NewArgonCO2 2.13 mm 7 mum - ArgonCH4 2.13 mm 7 mum - XenonMethanePropane 2.13 mm 7 mum - Galactic 2.13 mm 7 mum -Cut in energy - Beryllium 2.47 keV 8.08 keV - Aluminium 9.83 keV 11.9 keV - Silicon 9.89 keV 10.2 keV - liquidArgon 8.97 keV 4.88 keV - Iron 30.6 keV 47.4 keV - Copper 37.1 keV 49.7 keV - Tungsten 135 keV 65.7 keV - Gold 146 keV 65.1 keV - Lead 123 keV 46.9 keV - Water 4.03 keV 4 keV - Air 250 eV 250 eV - XenonGas 250 eV 250 eV - CarbonicGas 250 eV 250 eV - ArgonCO2 250 eV 250 eV - NewArgonCO2 250 eV 250 eV - ArgonCH4 250 eV 250 eV - XenonMethanePropane 250 eV 250 eV - Galactic 250 eV 250 eV -=================================================== -# -/calor/setAbsMat Silicon +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 2.13 mm e- 7 mum e+ 7 mum + Energy thresholds : gamma 250 eV e- 250 eV e+ 250 eV + Region(s) which use this couple : + DefaultRegionForTheWorld - The WORLD is made of 1.5 cm of Galactic. The transverse size (YZ) of the world is 2.4 cm - The ABSORBER is made of 1 cm of Silicon. The transverse size (YZ) is 2 cm - X position of the middle of the absorber 0 fm -/calor/setAbsThick 20.5 mum -/calor/setAbsYZ 10 cm -/calor/update +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Silicon + Range cuts : gamma 2.13 mm e- 7 mum e+ 7 mum + Energy thresholds : gamma 9.88629 keV e- 10.2029 keV e+ 10.0084 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== - The WORLD is made of 30.75 mum of Galactic. The transverse size (YZ) of the world is 12 cm - The ABSORBER is made of 20.5 mum of Silicon. The transverse size (YZ) is 10 cm - X position of the middle of the absorber 0 fm -# -/gun/setDefault -# -# hist file name -/plots/sethistName run19.paw - hist file = run19.paw -# PLOT: energy deposit distribution in absorber -/plots/setnbinEn 65 - Nb of bins in Edep plot = 65 -/plots/setEnlow 0. keV - Elow in the Edep plot = 0 -/plots/setEnhigh 13. keV - Ehigh in the Edep plot = 0.013 -# -/gun/particle pi+ -/gun/energy 5. GeV -/event/printModulo 10000 -# -/run/beamOn 100000 ### Run 0 start. --------- Ranecu engine status --------- @@ -264,28 +247,28 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=63s Real=1.7e+03s Sys=1.5e+02s + User=66s Real=1.3e+03s Sys=90s ================== run summary ===================== end of Run TotNbofEvents = 100000 - mean charged track length in absorber=0.0209219 +- 1.25732e-05 mm + mean charged track length in absorber=0.0209429 +- 1.35344e-05 mm - mean energy deposit in absorber=0.00665304 +- 1.99526e-05 MeV + mean energy deposit in absorber=0.00665123 +- 2.00323e-05 MeV - mean number of steps in absorber (charged) =0.05666 +- 0.00118646 - mean number of steps in absorber (neutral) =1e-05 +- 9.99995e-06 + mean number of steps in absorber (charged) =0.05793 +- 0.00119847 + mean number of steps in absorber (neutral) =2e-05 +- 1.4142e-05 - mean number of charged secondaries = 0.0368 +- 0.000625985 + mean number of charged secondaries = 0.03765 +- 0.000637279 mean number of neutral secondaries = 0 +- 0 - mean number of e-s =0.0368 and e+s =0 + mean number of e-s =0.03765 and e+s =0 (number) transmission coeff=1 reflection coeff=0 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1709217199, 336175147 + Current couple of seeds = 1231089820, 877699904 ---------------------------------------- # Graphics systems deleted. diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh b/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh index 3af13185f2..190c0c5f16 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: Em5CalorHit.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh index 7149ca4907..5b457b09cc 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: Em5CalorimeterSD.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh index 43e668c029..0cb55e925e 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em5DetectorConstruction.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh index 0e86829cfc..065c4ef579 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5DetectorMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5DetectorMessenger.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5DetectorMessenger.hh,v 1.5 2002/12/16 16:30:07 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -55,7 +55,7 @@ class Em5DetectorMessenger: public G4UImessenger private: Em5DetectorConstruction* Em5Detector; - G4UIdirectory* Em5detDir; + G4UIdirectory* testemDir; G4UIcmdWithAString* AbsMaterCmd; G4UIcmdWithADoubleAndUnit* AbsThickCmd; diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh index f35e5f77ec..eeed1e10f5 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em5EventAction.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh index 513986c4a0..b5cb4353aa 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em5EventActionMessenger.hh,v 1.4 2001/10/16 11:56:27 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh index b3e2720fb3..13e020e6d2 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsList.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5PhysicsList.hh,v 1.7 2002/06/05 15:43:42 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5PhysicsList.hh,v 1.8 2003/03/06 17:55:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -69,7 +69,6 @@ class Em5PhysicsList: public G4VUserPhysicsList void SetGammaCut(G4double); void SetElectronCut(G4double); - void SetProtonCut(G4double); void GetRange(G4double); void SetMaxStep(G4double); @@ -78,7 +77,6 @@ class Em5PhysicsList: public G4VUserPhysicsList G4double cutForGamma; G4double cutForElectron; - G4double cutForProton; G4double currentDefaultCut; Em5DetectorConstruction* pDet; diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh index 572470187f..cccf62c736 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5PhysicsListMessenger.hh,v 1.6 2002/06/05 15:43:42 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5PhysicsListMessenger.hh,v 1.8 2003/03/06 17:55:09 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -55,9 +55,8 @@ class Em5PhysicsListMessenger: public G4UImessenger G4UIcmdWithADoubleAndUnit* cutGCmd; G4UIcmdWithADoubleAndUnit* cutECmd; - G4UIcmdWithADoubleAndUnit* cutPCmd; G4UIcmdWithADoubleAndUnit* rCmd; - G4UIcmdWithADoubleAndUnit* setMaxStepCmd; + G4UIcmdWithADoubleAndUnit* MaxStepCmd; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh index c384ab18bf..60eb089d90 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em5PrimaryGeneratorAction.hh,v 1.6 2002/06/05 15:43:42 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh index 94decab7fb..6baed1322f 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em5PrimaryGeneratorMessenger.hh,v 1.6 2002/06/05 15:43:42 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh index 7522947e0c..95418d3ce0 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em5RunAction.hh,v 1.11 2002/12/12 13:26:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh index ceacaab82b..7eec583809 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: Em5RunMessenger.hh,v 1.5 2001/11/28 16:08:18 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh b/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh index 6176837f93..896e29dca3 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: Em5StepCut.hh,v 1.5 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh index 72deb3d9c0..c5bec3e3f5 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em5SteppingAction.hh,v 1.5 2002/06/05 15:43:43 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh index a42e663da0..04a28c5f8f 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5SteppingMessenger.hh,v 1.3 2001/07/11 09:57:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5SteppingMessenger.hh,v 1.4 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -38,25 +38,19 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class Em5SteppingAction; -class G4UIdirectory; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... class Em5SteppingMessenger: public G4UImessenger { public: - Em5SteppingMessenger(Em5SteppingAction* ); ~Em5SteppingMessenger(); void SetNewValue(G4UIcommand* ,G4String ); private: - Em5SteppingAction* steppingAction; - - G4UIdirectory* steppingDir; - }; #endif diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh index 2f4c5a94e6..8d8150a142 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em5SteppingVerbose.hh,v 1.7 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh b/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh index 297b145b1f..58be98cada 100644 --- a/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh +++ b/examples/extended/electromagnetic/TestEm5/include/Em5VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em5VisManager.hh,v 1.4 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/run01.mac b/examples/extended/electromagnetic/TestEm5/run01.mac index 53c4d1ff87..ae48c3d9f9 100644 --- a/examples/extended/electromagnetic/TestEm5/run01.mac +++ b/examples/extended/electromagnetic/TestEm5/run01.mac @@ -7,23 +7,23 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 13.0 micrometer -/run/particle/setEcut 1.12 micrometer +/testem/phys/setGCut 13.0 micrometer +/testem/phys/setEcut 1.12 micrometer /run/initialize # -/calor/setAbsMat Gold -/calor/setAbsThick 9.658 mum -/calor/setAbsYZ 10. cm -/calor/update +/testem/det/setAbsMat Gold +/testem/det/setAbsThick 9.658 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update # -/gun/setDefault +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot01 +/testem/plots/sethistName geant4.plot01 # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 10.0 deg +/testem/plots/setnbinTh 100 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 10.0 deg # # /gun/particle e- diff --git a/examples/extended/electromagnetic/TestEm5/run01a.mac b/examples/extended/electromagnetic/TestEm5/run01a.mac index c583d5507a..2e071da8d2 100644 --- a/examples/extended/electromagnetic/TestEm5/run01a.mac +++ b/examples/extended/electromagnetic/TestEm5/run01a.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 13.0 micrometer -/run/particle/setEcut 1.12 micrometer +/testem/phys/setGCut 13.0 micrometer +/testem/phys/setEcut 1.12 micrometer /run/initialize # -/calor/setAbsMat Gold -/calor/setAbsThick 9.658 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Gold +/testem/det/setAbsThick 9.658 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot01a +/testem/plots/sethistName geant4.plot01a # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 30.0 deg +/testem/plots/setnbinTh 60 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 30.0 deg # /gun/particle e- /gun/energy 15.7 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run02.mac b/examples/extended/electromagnetic/TestEm5/run02.mac index 2580f1ca50..659bf392fa 100644 --- a/examples/extended/electromagnetic/TestEm5/run02.mac +++ b/examples/extended/electromagnetic/TestEm5/run02.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 13.0 mum -/run/particle/setEcut 1.12 mum +/testem/phys/setGCut 13.0 mum +/testem/phys/setEcut 1.12 mum /run/initialize # -/calor/setAbsMat Gold -/calor/setAbsThick 19.296 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Gold +/testem/det/setAbsThick 19.296 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot02 +/testem/plots/sethistName geant4.plot02 # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 10.0 deg +/testem/plots/setnbinTh 100 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 10.0 deg # # /gun/particle e- diff --git a/examples/extended/electromagnetic/TestEm5/run02a.mac b/examples/extended/electromagnetic/TestEm5/run02a.mac index a06c13f0a6..f239e2ad9f 100644 --- a/examples/extended/electromagnetic/TestEm5/run02a.mac +++ b/examples/extended/electromagnetic/TestEm5/run02a.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 13.0 micrometer -/run/particle/setECut 1.12 micrometer +/testem/phys/setGCut 13.0 micrometer +/testem/phys/setECut 1.12 micrometer /run/initialize # -/calor/setAbsMat Gold -/calor/setAbsThick 19.296 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Gold +/testem/det/setAbsThick 19.296 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot02a +/testem/plots/sethistName geant4.plot02a # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 30.0 deg +/testem/plots/setnbinTh 60 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 30.0 deg # /gun/particle e- /gun/energy 15.7 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run03.mac b/examples/extended/electromagnetic/TestEm5/run03.mac index bcf203ddca..cc1944aa6c 100644 --- a/examples/extended/electromagnetic/TestEm5/run03.mac +++ b/examples/extended/electromagnetic/TestEm5/run03.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2130.0 micrometer -/run/particle/setECut 7.000 micrometer +/testem/phys/setGCut 2130.0 micrometer +/testem/phys/setECut 7.000 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 50. mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 50. mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot03 +/testem/plots/sethistName geant4.plot03 # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 6.0 deg +/testem/plots/setnbinTh 60 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 6.0 deg # /gun/particle proton /gun/energy 6.56 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run04.mac b/examples/extended/electromagnetic/TestEm5/run04.mac index 43a381f4d6..f225e2deac 100644 --- a/examples/extended/electromagnetic/TestEm5/run04.mac +++ b/examples/extended/electromagnetic/TestEm5/run04.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2130.0 micrometer -/run/particle/setECut 7.000 micrometer +/testem/phys/setGCut 2130.0 micrometer +/testem/phys/setECut 7.000 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 92.6 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 92.6 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot04 +/testem/plots/sethistName geant4.plot04 # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 60 -/plots/setThlow 0.0 deg -/plots/setThhigh 6.0 deg +/testem/plots/setnbinTh 60 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 6.0 deg # /gun/particle proton /gun/energy 6.56 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run05.mac b/examples/extended/electromagnetic/TestEm5/run05.mac index d60e536848..2c42109b94 100644 --- a/examples/extended/electromagnetic/TestEm5/run05.mac +++ b/examples/extended/electromagnetic/TestEm5/run05.mac @@ -7,23 +7,23 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2250.0 micrometer -/run/particle/setECut 6.050 micrometer +/testem/phys/setGCut 2250.0 micrometer +/testem/phys/setECut 6.050 micrometer /run/initialize # -/calor/setAbsMat Aluminium -/calor/setAbsThick 4.005 mm -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Aluminium +/testem/det/setAbsThick 4.005 mm +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName geant4.plot05 +/testem/plots/sethistName geant4.plot05 # PLOT: angle distr. of transmitted particles -/plots/setnbinTh 100 -/plots/setThlow 0.0 deg -/plots/setThhigh 0.01 deg +/testem/plots/setnbinTh 100 +/testem/plots/setThlow 0.0 deg +/testem/plots/setThhigh 0.01 deg # # /gun/particle proton diff --git a/examples/extended/electromagnetic/TestEm5/run11.mac b/examples/extended/electromagnetic/TestEm5/run11.mac index ff9a7ca598..87540c0a04 100644 --- a/examples/extended/electromagnetic/TestEm5/run11.mac +++ b/examples/extended/electromagnetic/TestEm5/run11.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 61.0 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 61.0 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot11 +/testem/plots/sethistName geant4.plot11 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run12.mac b/examples/extended/electromagnetic/TestEm5/run12.mac index b9c33b88a3..4e3f06e262 100644 --- a/examples/extended/electromagnetic/TestEm5/run12.mac +++ b/examples/extended/electromagnetic/TestEm5/run12.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 105.0 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 105.0 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot12 +/testem/plots/sethistName geant4.plot12 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run13.mac b/examples/extended/electromagnetic/TestEm5/run13.mac index 8e4f55509e..c68d29c2ab 100644 --- a/examples/extended/electromagnetic/TestEm5/run13.mac +++ b/examples/extended/electromagnetic/TestEm5/run13.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 191.0 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 191.0 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot13 +/testem/plots/sethistName geant4.plot13 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run14.mac b/examples/extended/electromagnetic/TestEm5/run14.mac index 0c82c17b63..160e25e1a5 100644 --- a/examples/extended/electromagnetic/TestEm5/run14.mac +++ b/examples/extended/electromagnetic/TestEm5/run14.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 530.0 mum -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 530.0 mum +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot14 +/testem/plots/sethistName geant4.plot14 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run15.mac b/examples/extended/electromagnetic/TestEm5/run15.mac index a42223b9cd..4a123ca815 100644 --- a/examples/extended/electromagnetic/TestEm5/run15.mac +++ b/examples/extended/electromagnetic/TestEm5/run15.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 1. mm -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 1. mm +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot15 +/testem/plots/sethistName geant4.plot15 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run16.mac b/examples/extended/electromagnetic/TestEm5/run16.mac index 2833bce9ea..5306bf1454 100644 --- a/examples/extended/electromagnetic/TestEm5/run16.mac +++ b/examples/extended/electromagnetic/TestEm5/run16.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.00 micrometer +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.00 micrometer /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 3. mm -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 3. mm +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot16 +/testem/plots/sethistName geant4.plot16 # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 55 -/plots/setEnlow 0.0 MeV -/plots/setEnhigh 1.1 MeV +/testem/plots/setnbinEn 55 +/testem/plots/setEnlow 0.0 MeV +/testem/plots/setEnhigh 1.1 MeV # /gun/particle e- /gun/energy 1.00 MeV diff --git a/examples/extended/electromagnetic/TestEm5/run17.mac b/examples/extended/electromagnetic/TestEm5/run17.mac index 16a52b6fe3..3de488a524 100644 --- a/examples/extended/electromagnetic/TestEm5/run17.mac +++ b/examples/extended/electromagnetic/TestEm5/run17.mac @@ -6,29 +6,29 @@ /control/verbose 2 /run/verbose 2 # -/run/particle/setGCut 100. mm -/run/particle/setECut 100. mm +/testem/phys/setGCut 100. mm +/testem/phys/setECut 100. mm /run/initialize # -/calor/setAbsMat NewArgonCO2 -/calor/setAbsThick 15 mm -/calor/setAbsYZ 60 mm -/calor/update -/gun/setDefault +/testem/det/setAbsMat NewArgonCO2 +/testem/det/setAbsThick 15 mm +/testem/det/setAbsYZ 60 mm +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName run17e.10cm.paw +/testem/plots/sethistName run17e.10cm.paw # PLOT: energy deposit distribution in XenonGas -/plots/setnbinEn 60 -/plots/setEnlow 0. keV -/plots/setEnhigh 6. keV +/testem/plots/setnbinEn 60 +/testem/plots/setEnlow 0. keV +/testem/plots/setEnhigh 6. keV # #/gun/particle proton #/gun/energy 24 GeV /gun/particle e- /gun/energy 25 GeV -/event/printModulo 1000 +/testem/event/printModulo 1000 # /run/beamOn 100000 # diff --git a/examples/extended/electromagnetic/TestEm5/run18.mac b/examples/extended/electromagnetic/TestEm5/run18.mac index 16dc61b6f8..1a90e4ba00 100644 --- a/examples/extended/electromagnetic/TestEm5/run18.mac +++ b/examples/extended/electromagnetic/TestEm5/run18.mac @@ -6,28 +6,28 @@ /control/verbose 2 /run/verbose 2 # -/run/particle/setGCut 1. mm -/run/particle/setECut 1. mm +/testem/phys/setGCut 1. mm +/testem/phys/setECut 1. mm /run/initialize # -/calor/setAbsMat XenonMethanePropane -/calor/setAbsThick 23 mm -/calor/setAbsYZ 60 mm -/calor/update -/gun/setDefault +/testem/det/setAbsMat XenonMethanePropane +/testem/det/setAbsThick 23 mm +/testem/det/setAbsYZ 60 mm +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName run18.1mm.paw +/testem/plots/sethistName run18.1mm.paw # PLOT: energy deposit distribution in Gas -/plots/setnbinEn 50 -/plots/setEnlow 0. keV -/plots/setEnhigh 20. keV +/testem/plots/setnbinEn 50 +/testem/plots/setEnlow 0. keV +/testem/plots/setEnhigh 20. keV # /gun/particle proton /gun/energy 2.20 GeV -/event/printModulo 1000 +/testem/event/printModulo 1000 # /run/beamOn 100000 # diff --git a/examples/extended/electromagnetic/TestEm5/run19.mac b/examples/extended/electromagnetic/TestEm5/run19.mac index a52bd9a584..e3d8be5a40 100644 --- a/examples/extended/electromagnetic/TestEm5/run19.mac +++ b/examples/extended/electromagnetic/TestEm5/run19.mac @@ -6,28 +6,28 @@ /control/verbose 2 /run/verbose 2 # -/run/particle/setGCut 2.13 mm -/run/particle/setECut 7.0 mum +/testem/phys/setGCut 2.13 mm +/testem/phys/setECut 7.0 mum /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 20.5 mum -/calor/setAbsYZ 10 cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 20.5 mum +/testem/det/setAbsYZ 10 cm +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName run19.paw +/testem/plots/sethistName run19.paw # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 65 -/plots/setEnlow 0. keV -/plots/setEnhigh 13. keV +/testem/plots/setnbinEn 65 +/testem/plots/setEnlow 0. keV +/testem/plots/setEnhigh 13. keV # /gun/particle pi+ /gun/energy 5. GeV -/event/printModulo 1000 +/testem/event/printModulo 1000 # /run/beamOn 100000 # diff --git a/examples/extended/electromagnetic/TestEm5/run20.mac b/examples/extended/electromagnetic/TestEm5/run20.mac index 2e15514ca7..1ca93066cb 100644 --- a/examples/extended/electromagnetic/TestEm5/run20.mac +++ b/examples/extended/electromagnetic/TestEm5/run20.mac @@ -6,28 +6,28 @@ /control/verbose 2 /run/verbose 2 # -/run/particle/setGCut 1. mm -/run/particle/setECut 1. mm +/testem/phys/setGCut 1. mm +/testem/phys/setECut 1. mm /run/initialize # -/calor/setAbsMat ArgonCH4 -/calor/setAbsThick 15 mm -/calor/setAbsYZ 60 mm -/calor/update -/gun/setDefault +/testem/det/setAbsMat ArgonCH4 +/testem/det/setAbsThick 15 mm +/testem/det/setAbsYZ 60 mm +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName run20.1mm.paw +/testem/plots/sethistName run20.1mm.paw # PLOT: energy deposit distribution in Gas -/plots/setnbinEn 40 -/plots/setEnlow 0. keV -/plots/setEnhigh 8. keV +/testem/plots/setnbinEn 40 +/testem/plots/setEnlow 0. keV +/testem/plots/setEnhigh 8. keV # /gun/particle pi+ /gun/energy 2.864 GeV -/event/printModulo 1000 +/testem/event/printModulo 1000 # /run/beamOn 100000 # diff --git a/examples/extended/electromagnetic/TestEm5/run21.mac b/examples/extended/electromagnetic/TestEm5/run21.mac index 10b40c6574..558ca49496 100644 --- a/examples/extended/electromagnetic/TestEm5/run21.mac +++ b/examples/extended/electromagnetic/TestEm5/run21.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 1.00 mm -/run/particle/setECut 5.0 mum +/testem/phys/setGCut 1.00 mm +/testem/phys/setECut 5.0 mum /run/initialize # -/calor/setAbsMat Aluminium -/calor/setAbsThick 5.30 mm -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Aluminium +/testem/det/setAbsThick 5.30 mm +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot21 +/testem/plots/sethistName geant4.plot21 # PLOT: gamma energy at exit -/plots/setnbinGamma 80 -/plots/setElowGamma 0.1 MeV -/plots/setEhighGamma 1.0 GeV +/testem/plots/setnbinGamma 80 +/testem/plots/setElowGamma 0.1 MeV +/testem/plots/setEhighGamma 1.0 GeV # /gun/particle e- /gun/energy 25. GeV diff --git a/examples/extended/electromagnetic/TestEm5/run22.mac b/examples/extended/electromagnetic/TestEm5/run22.mac index 003ec1a7a2..78c16bbae2 100644 --- a/examples/extended/electromagnetic/TestEm5/run22.mac +++ b/examples/extended/electromagnetic/TestEm5/run22.mac @@ -7,22 +7,22 @@ #control/saveHistory /run/verbose 2 # -/run/particle/setGCut 1.00 mm -/run/particle/setECut 5.0 mum +/testem/phys/setGCut 1.00 mm +/testem/phys/setECut 5.0 mum /run/initialize # -/calor/setAbsMat Lead -/calor/setAbsThick 0.15 mm -/calor/setAbsYZ 10. cm -/calor/update -/gun/setDefault +/testem/det/setAbsMat Lead +/testem/det/setAbsThick 0.15 mm +/testem/det/setAbsYZ 10. cm +/testem/det/update +/testem/gun/setDefault # # hist file name -/plots/sethistName geant4.plot22 +/testem/plots/sethistName geant4.plot22 # PLOT: gamma energy at exit -/plots/setnbinGamma 80 -/plots/setElowGamma 0.1 MeV -/plots/setEhighGamma 1. GeV +/testem/plots/setnbinGamma 80 +/testem/plots/setElowGamma 0.1 MeV +/testem/plots/setEhighGamma 1. GeV # # /gun/particle e- diff --git a/examples/extended/electromagnetic/TestEm5/run44.draw b/examples/extended/electromagnetic/TestEm5/run44.draw index 5afd3d8e49..3243d41833 100644 --- a/examples/extended/electromagnetic/TestEm5/run44.draw +++ b/examples/extended/electromagnetic/TestEm5/run44.draw @@ -8,19 +8,20 @@ # /run/initialize # -/calor/setAbsMat Silicon -/calor/setAbsThick 10 mum -/calor/setAbsYZ 20 mum -/calor/update -/gun/setDefault +/testem/det/setAbsMat Silicon +/testem/det/setAbsThick 10 mum +/testem/det/setAbsYZ 20 mum +/testem/det/update +# +/testem/gun/setDefault # /gun/particle e- /gun/energy 500 keV /tracking/verbose 1 # -#/step/setMaxStep 1 mm +#/testem/tracking/stepMax 1 mm #/run/beamOn 20 # -#/step/setMaxStep 2 mum +#/testem/tracking/stepMax 2 mum #/run/beamOn 20 diff --git a/examples/extended/electromagnetic/TestEm5/run55.mac b/examples/extended/electromagnetic/TestEm5/run55.mac index fb1d07768e..fa4ff160b5 100644 --- a/examples/extended/electromagnetic/TestEm5/run55.mac +++ b/examples/extended/electromagnetic/TestEm5/run55.mac @@ -6,32 +6,32 @@ /control/verbose 2 /run/verbose 2 # -/run/particle/setGCut 1 mm -/run/particle/setECut 1 mm +/testem/phys/setGCut 1 mm +/testem/phys/setECut 1 mm /run/initialize # -/calor/setAbsMat Iron -/calor/setAbsThick 2 m -/calor/setAbsYZ 2 m -/calor/update -/gun/setDefault +/testem/det/setAbsMat Iron +/testem/det/setAbsThick 2 m +/testem/det/setAbsYZ 2 m +/testem/det/update +/testem/gun/setDefault # # # hist file name -/plots/sethistName 1000gev.1mm.paw +/testem/plots/sethistName 1000gev.1mm.paw # PLOT: energy deposit distribution in absorber -/plots/setnbinEn 50 -/plots/setEnlow 0. GeV -/plots/setEnhigh 50. GeV +/testem/plots/setnbinEn 50 +/testem/plots/setEnlow 0. GeV +/testem/plots/setEnhigh 50. GeV # PLOT: energy of transmitted particles -/plots/setnbinTt 50 -/plots/setTtlow 950. GeV -/plots/setTthigh 1000. GeV +/testem/plots/setnbinTt 50 +/testem/plots/setTtlow 950. GeV +/testem/plots/setTthigh 1000. GeV # /gun/particle mu+ /gun/energy 1000 GeV -/event/printModulo 10 +/testem/event/printModulo 10 # /run/beamOn 1000 # diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc b/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc index b84959947c..372af5d77f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: Em5CalorHit.cc,v 1.4 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc index b6762e225d..a5817afffc 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: Em5CalorimeterSD.cc,v 1.4 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc index afb94b8319..79de17f40f 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5DetectorConstruction.cc,v 1.7 2001/10/16 11:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5DetectorConstruction.cc,v 1.10 2003/04/01 16:51:51 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -251,9 +251,9 @@ G4VPhysicalVolume* Em5DetectorConstruction::ConstructCalorimeter() physiWorld = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) - "World", //its name logicWorld, //its logical volume - NULL, //its mother volume + "World", //its name + 0, //its mother volume false, //no boolean operation 0); //copy number @@ -264,14 +264,14 @@ G4VPhysicalVolume* Em5DetectorConstruction::ConstructCalorimeter() AbsorberThickness/2,AbsorberSizeYZ/2,AbsorberSizeYZ/2); logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid - AbsorberMaterial, //its material - "Absorber"); //its name + AbsorberMaterial, //its material + "Absorber"); //its name physiAbsorber = new G4PVPlacement(0, //no rotation G4ThreeVector(XposAbs,0.,0.), //its position - "Absorber", //its name logicAbsorber, //its logical volume - physiWorld, //its mother + "Absorber", //its name + logicWorld, //its mother false, //no boulean operat 0); //copy number diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc index 0ae4da1413..49b4a0c7a2 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5DetectorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5DetectorMessenger.cc,v 1.6 2002/12/05 00:24:25 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5DetectorMessenger.cc,v 1.7 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -43,60 +43,60 @@ Em5DetectorMessenger::Em5DetectorMessenger(Em5DetectorConstruction * Em5Det) :Em5Detector(Em5Det) { - Em5detDir = new G4UIdirectory("/calor/"); - Em5detDir->SetGuidance("Em5 detector control."); + testemDir = new G4UIdirectory("/testem/"); + testemDir->SetGuidance("UI commands specific to this example."); - AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this); + AbsMaterCmd = new G4UIcmdWithAString("/testem/det/setAbsMat",this); AbsMaterCmd->SetGuidance("Select Material of the Absorber."); AbsMaterCmd->SetParameterName("choice",false); AbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - WorldMaterCmd = new G4UIcmdWithAString("/calor/setWorldMat",this); + WorldMaterCmd = new G4UIcmdWithAString("/testem/det/setWorldMat",this); WorldMaterCmd->SetGuidance("Select Material of the World."); WorldMaterCmd->SetParameterName("wchoice",false); WorldMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this); + AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsThick",this); AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); AbsThickCmd->SetParameterName("SizeZ",false); AbsThickCmd->SetRange("SizeZ>0."); AbsThickCmd->SetUnitCategory("Length"); AbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - AbsSizYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsYZ",this); + AbsSizYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsYZ",this); AbsSizYZCmd->SetGuidance("Set sizeYZ of the Absorber"); AbsSizYZCmd->SetParameterName("SizeYZ",false); AbsSizYZCmd->SetRange("SizeYZ>0."); AbsSizYZCmd->SetUnitCategory("Length"); AbsSizYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - AbsXposCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsXpos",this); + AbsXposCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setAbsXpos",this); AbsXposCmd->SetGuidance("Set X pos. of the Absorber"); AbsXposCmd->SetParameterName("Xpos",false); AbsXposCmd->SetUnitCategory("Length"); AbsXposCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - WorldXCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldX",this); + WorldXCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldX",this); WorldXCmd->SetGuidance("Set X size of the World"); WorldXCmd->SetParameterName("WSizeX",false); WorldXCmd->SetRange("WSizeX>0."); WorldXCmd->SetUnitCategory("Length"); WorldXCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - WorldYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldYZ",this); + WorldYZCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setWorldYZ",this); WorldYZCmd->SetGuidance("Set sizeYZ of the World"); WorldYZCmd->SetParameterName("WSizeYZ",false); WorldYZCmd->SetRange("WSizeYZ>0."); WorldYZCmd->SetUnitCategory("Length"); WorldYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this); + UpdateCmd = new G4UIcmdWithoutParameter("/testem/det/update",this); UpdateCmd->SetGuidance("Update calorimeter geometry."); UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); UpdateCmd->SetGuidance("if you changed geometrical value(s)."); UpdateCmd->AvailableForStates(G4State_Idle); - MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this); + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testem/det/setField",this); MagFieldCmd->SetGuidance("Define magnetic field."); MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); MagFieldCmd->SetParameterName("Bz",false); @@ -118,7 +118,7 @@ Em5DetectorMessenger::~Em5DetectorMessenger() delete WorldYZCmd; delete UpdateCmd; delete MagFieldCmd; - delete Em5detDir; + delete testemDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc index f2f62de3dc..2fcdabdd60 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em5EventAction.cc,v 1.9 2002/06/06 17:23:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc index 3c931afbe1..53142c5061 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5EventActionMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5EventActionMessenger.cc,v 1.5 2002/12/05 00:24:25 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5EventActionMessenger.cc,v 1.6 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -42,12 +42,12 @@ Em5EventActionMessenger::Em5EventActionMessenger(Em5EventAction* EvAct) :eventAction(EvAct) { - setVerboseCmd = new G4UIcmdWithAnInteger("/event/setverbose",this); + setVerboseCmd = new G4UIcmdWithAnInteger("/testem/event/setverbose",this); setVerboseCmd->SetGuidance("Set verbose level ." ); setVerboseCmd->SetParameterName("level",true); setVerboseCmd->SetDefaultValue(0); - DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); + DrawCmd = new G4UIcmdWithAString("/testem/event/drawTracks",this); DrawCmd->SetGuidance("Draw the tracks in the event"); DrawCmd->SetGuidance(" Choice : none,charged, all"); DrawCmd->SetParameterName("choice",true); @@ -55,7 +55,7 @@ Em5EventActionMessenger::Em5EventActionMessenger(Em5EventAction* EvAct) DrawCmd->SetCandidates("none charged all"); DrawCmd->AvailableForStates(G4State_Idle); - PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this); + PrintCmd = new G4UIcmdWithAnInteger("/testem/event/printModulo",this); PrintCmd->SetGuidance("Print events modulo n"); PrintCmd->SetParameterName("EventNb",false); PrintCmd->SetRange("EventNb>0"); diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc index c731adb68b..c18b960113 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5PhysicsList.cc,v 1.12 2002/08/09 14:21:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5PhysicsList.cc,v 1.14 2003/03/06 17:55:09 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,7 +56,6 @@ Em5PhysicsList::Em5PhysicsList(Em5DetectorConstruction* p) currentDefaultCut = defaultCutValue = 1*mm; cutForGamma = defaultCutValue; cutForElectron = defaultCutValue; - cutForProton = defaultCutValue; SetVerboseLevel(1); physicsListMessenger = new Em5PhysicsListMessenger(this); @@ -198,7 +197,7 @@ void Em5PhysicsList::ConstructEM() pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); } else if ( - particleName == "proton" + particleName == "proton" || particleName == "antiproton" || particleName == "pi+" || particleName == "pi-" @@ -246,46 +245,34 @@ void Em5PhysicsList::SetCuts() { ////G4Timer theTimer ; ////theTimer.Start() ; - + // reactualise cutValues if (currentDefaultCut != defaultCutValue) { if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; currentDefaultCut = defaultCutValue; } - + if (verboseLevel >0){ G4cout << "Em5PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; } - + //special for low energy physics // - G4double lowlimit=250*eV; + G4double lowlimit=250*eV; G4Gamma ::SetEnergyRange(lowlimit,100*GeV); G4Electron::SetEnergyRange(lowlimit,100*GeV); G4Positron::SetEnergyRange(lowlimit,100*GeV); - + // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma + // because some processes for e+/e- need cut values for gamma // SetCutValue(cutForGamma,"gamma"); SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>0) DumpCutValuesTable(); ////theTimer.Stop(); @@ -314,14 +301,6 @@ void Em5PhysicsList::SetElectronCut(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Em5PhysicsList::SetProtonCut(G4double val) -{ - ResetCuts(); - cutForProton = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void Em5PhysicsList::GetRange(G4double val) { G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable(); diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc index 3c3c983445..d631b5cf85 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5PhysicsListMessenger.cc,v 1.8 2002/12/05 00:24:25 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5PhysicsListMessenger.cc,v 1.10 2003/03/06 17:55:09 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -39,39 +39,32 @@ Em5PhysicsListMessenger::Em5PhysicsListMessenger(Em5PhysicsList * List) :Em5List(List) { - cutGCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setGCut",this); + cutGCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this); cutGCmd->SetGuidance("Set gamma cut."); cutGCmd->SetParameterName("Gcut",false); cutGCmd->SetRange("Gcut>0."); cutGCmd->SetUnitCategory("Length"); cutGCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - cutECmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setECut",this); + cutECmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this); cutECmd->SetGuidance("Set electron cut."); cutECmd->SetParameterName("Ecut",false); cutECmd->SetRange("Ecut>0."); cutECmd->SetUnitCategory("Length"); cutECmd->AvailableForStates(G4State_PreInit,G4State_Idle); - cutPCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setPCut",this); - cutPCmd->SetGuidance("Set proton cut."); - cutPCmd->SetParameterName("Pcut",false); - cutPCmd->SetRange("Pcut>0."); - cutPCmd->SetUnitCategory("Length"); - cutPCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - rCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/getRange",this); + rCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/getRange",this); rCmd->SetGuidance("get the electron cut for the current material."); rCmd->SetParameterName("energy",false); rCmd->SetRange("energy>0."); rCmd->SetUnitCategory("Energy"); rCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - setMaxStepCmd = new G4UIcmdWithADoubleAndUnit("/step/setMaxStep",this); - setMaxStepCmd->SetGuidance("Set max. step length in the detector"); - setMaxStepCmd->SetParameterName("mxStep",false); - setMaxStepCmd->SetRange("mxStep>0."); - setMaxStepCmd->SetUnitCategory("Length"); + MaxStepCmd = new G4UIcmdWithADoubleAndUnit("/testem/tracking/stepMax",this); + MaxStepCmd->SetGuidance("Set max allowed step length"); + MaxStepCmd->SetParameterName("mxStep",false); + MaxStepCmd->SetRange("mxStep>0."); + MaxStepCmd->SetUnitCategory("Length"); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -80,9 +73,8 @@ Em5PhysicsListMessenger::~Em5PhysicsListMessenger() { delete cutGCmd; delete cutECmd; - delete cutPCmd; delete rCmd; - delete setMaxStepCmd; + delete MaxStepCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -94,12 +86,10 @@ void Em5PhysicsListMessenger::SetNewValue(G4UIcommand* command, { Em5List->SetGammaCut(cutGCmd->GetNewDoubleValue(newValue));} if(command == cutECmd) { Em5List->SetElectronCut(cutECmd->GetNewDoubleValue(newValue));} - if(command == cutPCmd) - { Em5List->SetProtonCut(cutPCmd->GetNewDoubleValue(newValue));} if(command == rCmd) { Em5List->GetRange(rCmd->GetNewDoubleValue(newValue));} - if(command == setMaxStepCmd) - { Em5List->SetMaxStep(setMaxStepCmd->GetNewDoubleValue(newValue));} + if(command == MaxStepCmd) + { Em5List->SetMaxStep(MaxStepCmd->GetNewDoubleValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc index d18b15b517..4f1cd9bb33 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em5PrimaryGeneratorAction.cc,v 1.6 2002/06/05 15:43:43 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc index 51128d01f2..66cfdf26f6 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5PrimaryGeneratorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5PrimaryGeneratorMessenger.cc,v 1.8 2002/12/05 00:24:25 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5PrimaryGeneratorMessenger.cc,v 1.9 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -41,11 +41,11 @@ Em5PrimaryGeneratorMessenger::Em5PrimaryGeneratorMessenger( Em5PrimaryGeneratorAction* Em5Gun) :Em5Action(Em5Gun) { - DefaultCmd = new G4UIcmdWithoutParameter("/gun/setDefault",this); + DefaultCmd = new G4UIcmdWithoutParameter("/testem/gun/setDefault",this); DefaultCmd->SetGuidance("set/reset the kinematic defined in PrimaryGenerator"); DefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - RndmCmd = new G4UIcmdWithADouble("/gun/rndm",this); + RndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this); RndmCmd->SetGuidance("random lateral extension on the beam"); RndmCmd->SetGuidance("in fraction of 0.5*sizeYZ"); RndmCmd->SetParameterName("rBeam",false); diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc index f8105be97f..f07399d839 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em5RunAction.cc,v 1.15 2002/12/12 13:26:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc index a92406850a..7c58ff888d 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5RunMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5RunMessenger.cc,v 1.6 2001/11/28 16:08:19 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5RunMessenger.cc,v 1.7 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -45,133 +45,133 @@ Em5RunMessenger::Em5RunMessenger(Em5RunAction* RA) :runAction (RA) { - plotDir = new G4UIdirectory("/plots/"); + plotDir = new G4UIdirectory("/testem/plots/"); plotDir->SetGuidance("plot control"); - sethistNameCmd = new G4UIcmdWithAString("/plots/sethistName",this); + sethistNameCmd = new G4UIcmdWithAString("/testem/plots/sethistName",this); sethistNameCmd->SetGuidance("set name for the histogram file"); - setnbinStepCmd = new G4UIcmdWithAnInteger("/plots/setnbinStep",this); + setnbinStepCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinStep",this); setnbinStepCmd->SetGuidance("set nb of bins in #step plot"); setnbinStepCmd->SetParameterName("nbinStep",false); - setSteplowCmd = new G4UIcmdWithADouble("/plots/setSteplow",this); + setSteplowCmd = new G4UIcmdWithADouble("/testem/plots/setSteplow",this); setSteplowCmd->SetGuidance("set lower limit for #step plot "); setSteplowCmd->SetParameterName("Steplow",false); - setStephighCmd = new G4UIcmdWithADouble("/plots/setStephigh",this); + setStephighCmd = new G4UIcmdWithADouble("/testem/plots/setStephigh",this); setStephighCmd->SetGuidance("set upper limit for #step plot "); setStephighCmd->SetParameterName("Stephigh",false); - setnbinEnCmd = new G4UIcmdWithAnInteger("/plots/setnbinEn",this); + setnbinEnCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinEn",this); setnbinEnCmd->SetGuidance("set nb of bins in Edep plot"); setnbinEnCmd->SetParameterName("nbinE",false); - setEnlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEnlow",this); + setEnlowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setEnlow",this); setEnlowCmd->SetGuidance("set lower limit for Edep plot "); setEnlowCmd->SetParameterName("Elow",false); setEnlowCmd->SetUnitCategory("Energy"); - setEnhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEnhigh",this); + setEnhighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setEnhigh",this); setEnhighCmd->SetGuidance("set upper limit for Edep plot "); setEnhighCmd->SetParameterName("Ehigh",false); setEnhighCmd->SetUnitCategory("Energy"); - setnbinGammaCmd = new G4UIcmdWithAnInteger("/plots/setnbinGamma",this); + setnbinGammaCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinGamma",this); setnbinGammaCmd->SetGuidance("set nb of bins in gamma spectrum plot"); setnbinGammaCmd->SetParameterName("nbinGamma",false); - setElowGammaCmd = new G4UIcmdWithADoubleAndUnit("/plots/setElowGamma",this); + setElowGammaCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setElowGamma",this); setElowGammaCmd->SetGuidance("set lower limit for gamma spectrum plot "); setElowGammaCmd->SetParameterName("ElowGamma",false); setElowGammaCmd->SetUnitCategory("Energy"); - setEhighGammaCmd = new G4UIcmdWithADoubleAndUnit("/plots/setEhighGamma",this); + setEhighGammaCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setEhighGamma",this); setEhighGammaCmd->SetGuidance("set upper limit for gamma spectrum plot "); setEhighGammaCmd->SetParameterName("EhighGamma",false); setEhighGammaCmd->SetUnitCategory("Energy"); - setnbinTtCmd = new G4UIcmdWithAnInteger("/plots/setnbinTt",this); + setnbinTtCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinTt",this); setnbinTtCmd->SetGuidance("set nb of bins in Etransmitted plot"); setnbinTtCmd->SetParameterName("nbinTt",false); - setTtlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTtlow",this); + setTtlowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTtlow",this); setTtlowCmd->SetGuidance("set lower limit for Etransmitted plot "); setTtlowCmd->SetParameterName("Ttlow",false); - setTthighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTthigh",this); + setTthighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTthigh",this); setTthighCmd->SetGuidance("set upper limit for Etransmitted plot "); setTthighCmd->SetParameterName("Tthigh",false); - setnbinTbCmd = new G4UIcmdWithAnInteger("/plots/setnbinTb",this); + setnbinTbCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinTb",this); setnbinTbCmd->SetGuidance("set nb of bins in Ebackscattering plot"); setnbinTbCmd->SetParameterName("nbinTb",false); - setTblowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTblow",this); + setTblowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTblow",this); setTblowCmd->SetGuidance("set lower limit for Ebackscattered plot "); setTblowCmd->SetParameterName("Tblow",false); - setTbhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTbhigh",this); + setTbhighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTbhigh",this); setTbhighCmd->SetGuidance("set upper limit for Ebackscattered plot "); setTbhighCmd->SetParameterName("Tbhigh",false); - setnbinTsecCmd = new G4UIcmdWithAnInteger("/plots/setnbinTsec",this); + setnbinTsecCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinTsec",this); setnbinTsecCmd->SetGuidance("set nb of bins in charged Tsecondary plot"); setnbinTsecCmd->SetParameterName("nbinTsec",false); - setTseclowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTseclow",this); + setTseclowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTseclow",this); setTseclowCmd->SetGuidance("set lower limit for charged Tsecondary plot "); setTseclowCmd->SetParameterName("Tseclow",false); - setTsechighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setTsechigh",this); + setTsechighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setTsechigh",this); setTsechighCmd->SetGuidance("set upper limit for charged Tsecondary plot "); setTsechighCmd->SetParameterName("Tsechigh",false); - setnbinRCmd = new G4UIcmdWithAnInteger("/plots/setnbinR",this); + setnbinRCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinR",this); setnbinRCmd->SetGuidance("set nb of bins in R plot"); setnbinRCmd->SetParameterName("nbinR",false); - setRlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setRlow",this); + setRlowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setRlow",this); setRlowCmd->SetGuidance("set lower limit for R plot "); setRlowCmd->SetParameterName("Rlow",false); - setRhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setRhigh",this); + setRhighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setRhigh",this); setRhighCmd->SetGuidance("set upper limit for R plot "); setRhighCmd->SetParameterName("Rhigh",false); - setnbinzvertexCmd = new G4UIcmdWithAnInteger("/plots/setnbinzvertex",this); + setnbinzvertexCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinzvertex",this); setnbinzvertexCmd->SetGuidance("set nb of bins in Z vertex plot"); setnbinzvertexCmd->SetParameterName("nbinZ",false); - setzlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setzlow",this); + setzlowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setzlow",this); setzlowCmd->SetGuidance("set lower limit for Z vertex plot "); setzlowCmd->SetParameterName("zlow",false); - setzhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setzhigh",this); + setzhighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setzhigh",this); setzhighCmd->SetGuidance("set upper limit for Z vertex plot "); setzhighCmd->SetParameterName("zhigh",false); - setnbinThCmd = new G4UIcmdWithAnInteger("/plots/setnbinTh",this); + setnbinThCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinTh",this); setnbinThCmd->SetGuidance("set nb of bins in Theta transmitted plot"); setnbinThCmd->SetParameterName("nbinTh",false); - setThlowCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThlow",this); + setThlowCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setThlow",this); setThlowCmd->SetGuidance("set lower limit for Theta transmitted plot "); setThlowCmd->SetParameterName("Thlow",false); - setThhighCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThhigh",this); + setThhighCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setThhigh",this); setThhighCmd->SetGuidance("set upper limit for Theta transmitted plot "); setThhighCmd->SetParameterName("Thhigh",false); - setnbinThbackCmd = new G4UIcmdWithAnInteger("/plots/setnbinThback",this); + setnbinThbackCmd = new G4UIcmdWithAnInteger("/testem/plots/setnbinThback",this); setnbinThbackCmd->SetGuidance("set nb of bins in backscattering Theta plot"); setnbinThbackCmd->SetParameterName("nbinThback",false); - setThlowbackCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThlowback",this); + setThlowbackCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setThlowback",this); setThlowbackCmd->SetGuidance("set lower limit for backscattering Theta plot"); setThlowbackCmd->SetParameterName("Thlowback",false); - setThhighbackCmd = new G4UIcmdWithADoubleAndUnit("/plots/setThhighback",this); + setThhighbackCmd = new G4UIcmdWithADoubleAndUnit("/testem/plots/setThhighback",this); setThhighbackCmd->SetGuidance("set upper limit for backscattering Teta plot"); setThhighbackCmd->SetParameterName("Thhighback",false); } diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc index 84164ccb6d..32cc5be437 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5SteppingAction.cc,v 1.9 2002/06/06 17:23:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5SteppingAction.cc,v 1.10 2003/04/05 17:33:52 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -70,7 +70,7 @@ Em5SteppingAction::~Em5SteppingAction() void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) { - + const G4Track* track = aStep->GetTrack(); #ifndef G4NOHIST const G4double cn = pi/(64800.*runaction->GetdTh()) ; const G4double cnback = pi/(64800.*runaction->GetdThback()) ; @@ -79,38 +79,40 @@ void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) G4double Theta,Thetaback,Ttrans,Tback,Tsec,Egamma,yend,zend,rend; G4int evno = eventaction->GetEventno(); - IDnow = evno+10000*(aStep->GetTrack()->GetTrackID())+ - 100000000*(aStep->GetTrack()->GetParentID()); + IDnow = evno+10000*(track->GetTrackID())+ + 100000000*(track->GetParentID()); + if(IDnow != IDold) { IDold=IDnow ; if( - (((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + (((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e-") && - ((aStep->GetTrack()->GetTrackID() != 1) || - (aStep->GetTrack()->GetParentID() != 0)) ) + ((track->GetTrackID() != 1) || + (track->GetParentID() != 0)) ) || - (((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + (((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e+") && - ((aStep->GetTrack()->GetTrackID() != 1) || - (aStep->GetTrack()->GetParentID() != 0)) ) + ((track->GetTrackID() != 1) || + (track->GetParentID() != 0)) ) ) #ifndef G4NOHIST if(runaction->GetHisto(8) != 0) runaction->GetHisto(8)->fill( - aStep->GetTrack()->GetVertexPosition().x()); + track->GetVertexPosition().x()); #endif + if(aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber") { - if(((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + if(((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e-") && - ((aStep->GetTrack()->GetTrackID() != 1) || - (aStep->GetTrack()->GetParentID() != 0)) ) + ((track->GetTrackID() != 1) || + (track->GetParentID() != 0)) ) { eventaction->AddCharged() ; eventaction->AddE() ; - Tsec = aStep->GetTrack()->GetKineticEnergy() ; // !!!!!!!!!!!! + Tsec = track->GetKineticEnergy() ; // !!!!!!!!!!!! Tsec += aStep->GetTotalEnergyDeposit() ; // !!!!!!!!!!!! #ifndef G4NOHIST if(runaction->GetHisto(7) != 0) @@ -119,14 +121,14 @@ void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) } else - if(((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + if(((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e+") && - ((aStep->GetTrack()->GetTrackID() != 1) || - (aStep->GetTrack()->GetParentID() != 0)) ) + ((track->GetTrackID() != 1) || + (track->GetParentID() != 0)) ) { eventaction->AddCharged() ; eventaction->AddP() ; - Tsec = aStep->GetTrack()->GetKineticEnergy() ; // !!!!!!!!!!!! + Tsec = track->GetKineticEnergy() ; // !!!!!!!!!!!! Tsec += aStep->GetTotalEnergyDeposit() ; // !!!!!!!!!!!! #ifndef G4NOHIST if(runaction->GetHisto(7) != 0) @@ -134,44 +136,47 @@ void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) #endif } else - if(((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + if(((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "gamma") && - ((aStep->GetTrack()->GetTrackID() != 1) || - (aStep->GetTrack()->GetParentID() != 0)) ) + ((track->GetTrackID() != 1) || + (track->GetParentID() != 0)) ) { eventaction->AddNeutral() ; } } } + if(aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber") { - if(((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + if(((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e-") || - ((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + ((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "e+")) eventaction->CountStepsCharged() ; - if ((aStep->GetTrack()->GetDynamicParticle()->GetDefinition()-> + if ((track->GetDynamicParticle()->GetDefinition()-> GetParticleName()) == "gamma") eventaction->CountStepsNeutral() ; } - if ( - (((aStep->GetTrack()->GetTrackID() == 1) && - (aStep->GetTrack()->GetParentID()== 0))) + G4String nextVolumeName = "OutOfWorld"; + if (track->GetNextVolume()) + nextVolumeName = track->GetNextVolume()->GetName(); + + if ( nextVolumeName != "OutOfWorld" && - (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber") + track->GetTrackID() == 1 && - (aStep->GetTrack()->GetNextVolume()->GetName()=="World") && - (aStep->GetPostStepPoint()->GetProcessDefinedStep() - ->GetProcessName() == "Transportation") && - (aStep->GetTrack()->GetMomentumDirection().x()>0.) - ) + aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber" + && + nextVolumeName == "World" + && + track->GetMomentumDirection().x() > 0. ) { eventaction->SetTr(); - Theta = acos(aStep->GetTrack()->GetMomentumDirection().x()) ; + Theta = acos(track->GetMomentumDirection().x()) ; #ifndef G4NOHIST if((runaction->GetHisto(2) != 0) && (Theta > 0.)) { @@ -180,33 +185,34 @@ void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) } #endif - Ttrans = aStep->GetTrack()->GetKineticEnergy() ; + Ttrans = track->GetKineticEnergy() ; #ifndef G4NOHIST if(runaction->GetHisto(4) != 0) runaction->GetHisto(4)->fill(Ttrans/MeV) ; #endif - yend= aStep->GetTrack()->GetPosition().y() ; - zend= aStep->GetTrack()->GetPosition().z() ; + yend= track->GetPosition().y() ; + zend= track->GetPosition().z() ; rend = sqrt(yend*yend+zend*zend) ; #ifndef G4NOHIST if(runaction->GetHisto(3) != 0) runaction->GetHisto(3)->fill(rend) ; #endif } + - if ( - (((aStep->GetTrack()->GetTrackID() == 1) && - (aStep->GetTrack()->GetParentID()== 0))) + if ( nextVolumeName != "OutOfWorld" && - (aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber") && - (aStep->GetTrack()->GetNextVolume()->GetName()=="World") && - (aStep->GetPostStepPoint()->GetProcessDefinedStep() - ->GetProcessName() == "Transportation") && - (aStep->GetTrack()->GetMomentumDirection().x()<0.) - ) + track->GetTrackID() == 1 + && + aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber" + && + nextVolumeName =="World" + && + track->GetMomentumDirection().x() < 0. ) + { eventaction->SetRef(); - Thetaback = acos(aStep->GetTrack()->GetMomentumDirection().x()) ; + Thetaback = acos(track->GetMomentumDirection().x()) ; Thetaback -= 0.5*pi ; #ifndef G4NOHIST if((runaction->GetHisto(5) != 0) && (Thetaback > 0.)) @@ -215,31 +221,33 @@ void Em5SteppingAction::UserSteppingAction(const G4Step* aStep) runaction->GetHisto(5)->fill(Thetaback/deg,wg) ; } #endif - Tback = aStep->GetTrack()->GetKineticEnergy() ; + Tback = track->GetKineticEnergy() ; #ifndef G4NOHIST if(runaction->GetHisto(6) != 0) runaction->GetHisto(6)->fill(Tback/MeV) ; #endif } - - if ( - ((aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber") && - (aStep->GetTrack()->GetNextVolume()->GetName()=="World") && - (aStep->GetPostStepPoint()->GetProcessDefinedStep() - ->GetProcessName() == "Transportation") && - (aStep->GetTrack()->GetMomentumDirection().x()>0.) && - (aStep->GetTrack()->GetDynamicParticle()->GetDefinition() - ->GetParticleName() == "gamma")) - ) + if ( nextVolumeName != "OutOfWorld" + && + aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName()=="Absorber" + && + track->GetNextVolume()->GetName()=="World" + && + track->GetMomentumDirection().x()>0. + && + track->GetDynamicParticle()->GetDefinition() + ->GetParticleName() == "gamma" ) + { - Egamma = aStep->GetTrack()->GetKineticEnergy() ; + Egamma = track->GetKineticEnergy() ; #ifndef G4NOHIST if(runaction->GetHisto(9) != 0) runaction->GetHisto(9)->fill(log10(Egamma/MeV)) ; #endif } - + + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc index 20854ebf12..c27fc380d4 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5SteppingMessenger.cc,v 1.4 2001/10/16 11:56:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5SteppingMessenger.cc,v 1.5 2002/12/16 16:30:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -31,24 +31,18 @@ #include "Em5SteppingMessenger.hh" #include "Em5SteppingAction.hh" -#include "G4UIdirectory.hh" #include "globals.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em5SteppingMessenger::Em5SteppingMessenger(Em5SteppingAction* SA) :steppingAction (SA) -{ - steppingDir = new G4UIdirectory("/stepping/"); - steppingDir->SetGuidance("stepping control"); -} +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... Em5SteppingMessenger::~Em5SteppingMessenger() -{ - delete steppingDir; -} +{ } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc index 43c4bd210a..21853cb85e 100644 --- a/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em5SteppingVerbose.cc,v 1.8 2001/10/16 11:56:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em5SteppingVerbose.cc,v 1.9 2003/02/10 17:30:05 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void Em5SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc b/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc index 0e5056a37a..fc44c531b6 100755 --- a/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc +++ b/examples/extended/electromagnetic/TestEm5/src/Em5VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em5VisManager.cc,v 1.7 2002/11/13 21:39:59 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm5/vis.mac b/examples/extended/electromagnetic/TestEm5/vis.mac index 974030579c..1bbffb628a 100644 --- a/examples/extended/electromagnetic/TestEm5/vis.mac +++ b/examples/extended/electromagnetic/TestEm5/vis.mac @@ -25,4 +25,4 @@ /tracking/storeTrajectory 1 /vis/scene/endOfEventAction accumulate # -/event/drawTracks +/testem/event/drawTracks diff --git a/examples/extended/electromagnetic/TestEm6/History b/examples/extended/electromagnetic/TestEm6/History index 84bbc3faee..53a28e75a4 100644 --- a/examples/extended/electromagnetic/TestEm6/History +++ b/examples/extended/electromagnetic/TestEm6/History @@ -1,4 +1,4 @@ -$Id: History,v 1.7 2002/12/12 12:48:15 maire Exp $ +$Id: History,v 1.11 2003/04/01 17:02:20 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,13 +14,26 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +01-04-03 mma (testem6-V05-00-02) + - PVPlacement in logical mother even for the world + +20-02-03 V.Ivant (testem6-V05-00-01) + - Migration to cut per region + +12-02-03 mma (testem6-V05-00-00) + - DetectorConstruction: change volume name + +30-01-03 hbu + - PhysicsList: implementation of (e+,e-) annihilation to (mu+,mu-) + - macros run11.mac and run12.mac 12-12-02 mma (testem6-V04-01-00) --migration to aida 3.0 --UI directory /testem/ + - migration to aida 3.0 + - UI directory /testem/ 05-06-02 mma (testem6-V04-00-01) --old histograming package clhep/hist replaced by AIDA 2.2/anaphe + - old histograming package clhep/hist replaced by AIDA 2.2/anaphe 23-05-02 mma (testem6-V04-00-00) --creation + - creation diff --git a/examples/extended/electromagnetic/TestEm6/README b/examples/extended/electromagnetic/TestEm6/README index 167c804e7c..19e35a7b18 100644 --- a/examples/extended/electromagnetic/TestEm6/README +++ b/examples/extended/electromagnetic/TestEm6/README @@ -1,4 +1,4 @@ -$Id: README,v 1.5 2002/12/12 12:48:15 maire Exp $ +$Id: README,v 1.7 2003/02/04 11:23:36 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -7,11 +7,12 @@ $Id: README,v 1.5 2002/12/12 12:48:15 maire Exp $ TestEm6 ------- - This example is intended to test the process of - gamma conversion to a pair of muons. - To make this process more visible, the usually much more frequent - gamma conversion to a pair of electrons is not selected in the - physics list. + This example is intended to test the processes of gamma conversion + to a pair of muons and annihilation of positrons with atomic + electrons to a pair of muons. + To make these process more visible, the usually much more frequent + gamma conversion to a pair of electrons and the standard positron + processes are not selected in the physics list. 1- GEOMETRY DEFINITION @@ -38,6 +39,7 @@ $Id: README,v 1.5 2002/12/12 12:48:15 maire Exp $ Futhermore, a high production cut (1 km, which gives infinity in energy) prevent any production of delta-electrons from ionization or gamma from bremsstrahlung. + For Positrons, only the annihilation process is selected. 3- AN EVENT : THE PRIMARY GENERATOR @@ -79,7 +81,17 @@ $Id: README,v 1.5 2002/12/12 12:48:15 maire Exp $ The threshold for producing secondaries can be changed. eg: /run/particle/setCut 100 micrometer /run/initialize - + + To visualize the GammaConversionToMuons : + /control/execute run01.mac + /control/execute vis.mac + /run/beamOn + + To visualize the AnnihiToMuPair : + /control/execute run11.mac + /control/execute vis.mac + /run/beamOn + 6- HOW TO START ? - compile and link to generate an executable @@ -123,12 +135,14 @@ $Id: README,v 1.5 2002/12/12 12:48:15 maire Exp $ 9- HOW TO INCREASE STATISTICS ON gamma -> mu+mu- ? - The process of gamma -> mu+mu- has a low cross section but can be important + The processes of gamma -> mu+mu- and e+e- -> mu+mu- + have a low cross section but can be important for leakage through thick absorbers and calorimeters. Straight forward simulation will be quite time consuming. - To make the process more visible, the cross section can be artificially - increased by some factor (here 1000) using the command - (only effective after /run/initialize) + To make the processes more visible, the cross section can be + artificially increased by some factor (here 1000) + using the commands (only effective after /run/initialize) - /run/process/setGammaToMuPairFac 1000 + /testem/phys/SetGammaToMuPairFac 1000 + /testem/phys/SetAnnihiToMuPairFac 1000 diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.cc b/examples/extended/electromagnetic/TestEm6/TestEm6.cc index 53653dda10..fcb11deffd 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.cc +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm6.cc,v 1.11 2002/12/09 13:02:03 stesting Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.out b/examples/extended/electromagnetic/TestEm6/TestEm6.out index ec51ca3807..a41db242fd 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.out +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -20,11 +20,14 @@ Current available graphics systems are: # /run/initialize -***** Table : Nb of materials = 2 ***** +***** Table : Nb of materials = 3 ***** Material: Beryllium density: 1.848 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 35.276 cm ---> Element: Beryllium Z = 4.0 N = 9.0 A = 9.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + Material: Carbon density: 2.265 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 18.851 cm + ---> Element: Carbon Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm ---> Element: Iron Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 % @@ -32,29 +35,32 @@ Current available graphics systems are: The Box is 500 m of Iron PhysicsList::SetCuts:CutLength : 1 km -******** SetCuts for gamma ******************** -The maximal meaningful cut is 2756.84 mm. -All the gammawill be killed ! -in the material Beryllium. -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for gamma ******************** -The cut energy is set 1.79769e+305GeV -******** SetCuts for gamma ******************** -The maximal meaningful cut is 213.663 mm. -All the gammawill be killed ! -in the material Iron. -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for gamma ******************** -The cut energy is set 1.79769e+305GeV +# +/testem/det/setMat Iron +/testem/det/setSize 500 m +/testem/det/update + + The Box is 500 m of Iron +# +/gun/particle gamma +/gun/energy 100 TeV +# +/run/verbose 2 +/tracking/verbose 1 +# +/run/beamOn 5 +G4VRangeToEnergyConverter::ConvertCutToKineticEnergy for gamma +The cut in range [1e+06 (mm)] is too big +The cut in energy is set1.79769e+305GeV +G4VRangeToEnergyConverter::ConvertCutToKineticEnergy for e- +The cut in range [1e+06 (mm)] is too big +The cut in energy is set1.79769e+305GeV +G4VRangeToEnergyConverter::ConvertCutToKineticEnergy for e+ +The cut in range [1e+06 (mm)] is too big +The cut in energy is set1.79769e+305GeV GammaToMuPair: gamma->mu+mu- Bethe Heitler process. good cross section parametrization from 422.634 MeV to 1e+12 GeV for all Z. -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for e- ******************** -The cut energy is set 1.79769e+305GeV -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for e- ******************** -The cut energy is set 1.79769e+305GeV msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -63,23 +69,17 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. log scale extrapolation above 100 GeV Gamma energy sampled from a parametrised formula. PhysicsTables from 1 keV to 100 TeV in 100 bins. -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for e+ ******************** -The cut energy is set 1.79769e+305GeV -Error in G4ParticleWithCuts::ConvertCutToKineticEnergy -******** ConvertCutToKineticEnergy for e+ ******************** -The cut energy is set 1.79769e+305GeV -annihil: Total cross section from Heilter formula(annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. +AnnihiToMuPair: e+e->mu+mu- annihilation, atomic e- at rest. + threshold at 43.6931 GeV good description up to 1000 TeV for all Z. msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -98,29 +98,18 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Beryllium 1 km 1 km - Iron 1 km 1 km -Cut in energy - Beryllium 2.88e+295 J 2.88e+295 J - Iron 2.88e+295 J 2.88e+295 J -=================================================== -# -/testem/det/setMat Iron -/testem/det/setSize 500 m -/testem/det/update - The Box is 500 m of Iron -# -/gun/particle gamma -/gun/energy 100 TeV -# -/run/verbose 2 -/tracking/verbose 1 -# -/run/beamOn 5 +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Iron + Range cuts : gamma 1 km e- 1 km e+ 1 km + Energy thresholds : gamma 2.88022e+295 J e- 2.88022e+295 J e+ 2.88022e+295 J + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -141,88 +130,83 @@ Start Run processing. ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Container initStep - 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Container initStep - 1 31.9 m 0 fm 0 fm 0 eV 0 eV 282 m 282 m Container GammaToMuPair + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 31.9 m 0 fm 0 fm 0 eV 0 eV 282 m 282 m Iron GammaToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.9 m 0 fm 0 fm 29.8 TeV 0 eV 0 fm 0 fm Container initStep - 1 191 m 9.23 mm -4.03 mm 12.1 TeV 17.7 TeV 159 m 159 m Container MuIoni - 2 250 m 7.26 mm -2.2 mm 8.65 TeV 3.43 TeV 59.2 m 218 m OutOfWorld Transportation + 0 31.9 m 0 fm 0 fm 29.8 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m -65.2 mum -53.1 mum 13.9 TeV 15.9 TeV 218 m 218 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.9 m 0 fm 0 fm 70.2 TeV 0 eV 0 fm 0 fm Container initStep - 1 218 m 6.03 mm 1.31 mm 21.6 TeV 48.6 TeV 186 m 186 m Container MuIoni - 2 250 m 9.1 mm 112 mum 17.7 TeV 3.96 TeV 31.7 m 218 m OutOfWorld Transportation + 0 31.9 m 0 fm 0 fm 70.2 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 27.6 mum 22.6 mum 31.3 TeV 38.9 TeV 218 m 218 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Container initStep - 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Container initStep - 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Container initStep - 1 -240 m 0 fm 0 fm 0 eV 0 eV 10.4 m 10.4 m Container GammaToMuPair + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 -84.8 m 0 fm 0 fm 0 eV 0 eV 165 m 165 m Iron GammaToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -240 m 0 fm 0 fm 57.6 TeV 0 eV 0 fm 0 fm Container initStep - 1 -59.6 m 5.87 mm 2.83 mm 21.3 TeV 36.4 TeV 180 m 180 m Container MuIoni - 2 88.5 m 9.72 mm 2.44 cm 7.68 TeV 13.6 TeV 148 m 328 m Container MuIoni - 3 204 m 3.18 cm -2.12 mm 3.6 TeV 4.08 TeV 116 m 444 m Container MuIoni - 4 250 m 3.73 cm -3.33 mm 2.83 TeV 768 GeV 45.9 m 490 m OutOfWorld Transportation + 0 -84.8 m 0 fm 0 fm 92 TeV 0 eV 0 fm 0 fm Iron initStep + 1 213 m -1.55 cm 1.33 cm 34.6 TeV 57.4 TeV 298 m 298 m Iron MuIoni + 2 250 m -1.63 cm 1.37 cm 26.6 TeV 8.03 TeV 37 m 335 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -240 m 0 fm 0 fm 42.4 TeV 0 eV 0 fm 0 fm Container initStep - 1 -69.5 m -2.27 mm -7.57 mm 17.9 TeV 24.5 TeV 170 m 170 m Container MuIoni - 2 73.1 m -5.9 mm -3.61 cm 7.59 TeV 10.3 TeV 143 m 313 m Container MuIoni - 3 188 m 2.15 cm -4.54 cm 4.08 TeV 3.5 TeV 115 m 428 m Container MuIoni - 4 250 m 2.49 cm -5.49 cm 2.85 TeV 1.23 TeV 61.6 m 490 m OutOfWorld Transportation + 0 -84.8 m 0 fm 0 fm 8.02 TeV 0 eV 0 fm 0 fm Iron initStep + 1 80.8 m -5.03 cm 4.92 cm 4.4 TeV 3.62 TeV 166 m 166 m Iron MuIoni + 2 215 m -8.01 mm -2.18 cm 2.74 TeV 1.65 TeV 135 m 300 m Iron MuIoni + 3 250 m -1.58 cm -2.31 cm 2.45 TeV 296 GeV 34.6 m 335 m OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 5 - User=0.01s Real=0.89s Sys=0.02s + User=0.02s Real=0.75s Sys=0.01s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1083370621, 1385159183 + Current couple of seeds = 621763428, 138058987 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh index 81d4627fbd..17229f1df9 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: DetectorConstruction.hh,v 1.1 2002/05/23 13:30:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh index 54a69e8d5c..7f085e200f 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: DetectorMessenger.hh,v 1.2 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/EventAction.hh b/examples/extended/electromagnetic/TestEm6/include/EventAction.hh index c86816094e..a20aff8472 100644 --- a/examples/extended/electromagnetic/TestEm6/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: EventAction.hh,v 1.1 2002/05/23 13:30:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh index 98534a8d5b..4e0e292dc5 100644 --- a/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: EventActionMessenger.hh,v 1.1 2002/05/23 13:30:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh index 3f86de5bf9..7b8d63b9ba 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.hh,v 1.1 2002/05/23 13:30:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: PhysicsList.hh,v 1.3 2003/01/30 16:32:47 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -37,6 +37,7 @@ class PhysicsListMessenger; class G4GammaConversionToMuons; +class G4AnnihiToMuPair; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -58,11 +59,13 @@ class PhysicsList: public G4VUserPhysicsList void ConstructGeneral(); void ConstructEM(); - void setGammaToMuPairFac(G4double); + void SetGammaToMuPairFac(G4double); + void SetAnnihiToMuPairFac(G4double); private: PhysicsListMessenger* pMes; G4GammaConversionToMuons* theGammaToMuPairProcess; + G4AnnihiToMuPair* theAnnihiToMuPairProcess; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh index dc0ed0b9e3..a7f1dc7594 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: PhysicsListMessenger.hh,v 1.1 2002/05/23 13:30:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: PhysicsListMessenger.hh,v 1.2 2003/01/27 09:46:19 hbu Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -51,6 +51,7 @@ class PhysicsListMessenger: public G4UImessenger private: PhysicsList* physList; G4UIcmdWithADouble* GammaToMuPairFac; + G4UIcmdWithADouble* AnnihiToMuPairFac; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh index 5edca580fd..97aa46aed7 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: PrimaryGeneratorAction.hh,v 1.1 2002/05/23 13:30:31 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh index e2daa0d21a..979f1963aa 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: PrimaryGeneratorMessenger.hh,v 1.1 2002/05/23 13:30:32 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh index d07a31acca..e7ca3b6e4a 100644 --- a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: RunAction.hh,v 1.4 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh index 9b3771e0c7..6811c784e3 100644 --- a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: SteppingAction.hh,v 1.1 2002/05/23 13:30:33 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh index fe29ce4d1d..1306d33c6e 100644 --- a/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: SteppingVerbose.hh,v 1.1 2002/05/23 13:30:34 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm6/include/VisManager.hh b/examples/extended/electromagnetic/TestEm6/include/VisManager.hh index f1a5911c53..384a2004b4 100644 --- a/examples/extended/electromagnetic/TestEm6/include/VisManager.hh +++ b/examples/extended/electromagnetic/TestEm6/include/VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: VisManager.hh,v 1.1 2002/05/23 13:30:35 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/run01.mac b/examples/extended/electromagnetic/TestEm6/run01.mac index bfffd7a34f..e6febe6d33 100644 --- a/examples/extended/electromagnetic/TestEm6/run01.mac +++ b/examples/extended/electromagnetic/TestEm6/run01.mac @@ -1,13 +1,13 @@ -# $Id: run01.mac,v 1.2 2002/05/23 13:30:14 maire Exp $ +# $Id: run01.mac,v 1.4 2003/02/04 11:23:37 maire Exp $ # # Macro file for "TestEm6.cc" # (can be run in batch, without graphic) # # /control/verbose 2 +/run/verbose 2 # /run/initialize # -/run/verbose 2 -# -/run/beamOn 100000 +/run/beamOn 1 +#/run/beamOn 100000 diff --git a/examples/extended/electromagnetic/TestEm6/run02.mac b/examples/extended/electromagnetic/TestEm6/run02.mac index cd3d4cb748..2f84a05b80 100644 --- a/examples/extended/electromagnetic/TestEm6/run02.mac +++ b/examples/extended/electromagnetic/TestEm6/run02.mac @@ -1,10 +1,11 @@ -# $Id: run02.mac,v 1.2 2002/12/12 12:48:15 maire Exp $ +# $Id: run02.mac,v 1.3 2003/01/31 12:54:21 maire Exp $ # # Macro file for "TestEm6.cc" # (can be run in batch, without graphic) # # /control/verbose 2 +/run/verbose 2 # /run/initialize # @@ -12,8 +13,6 @@ /testem/det/setSize 10 km /testem/det/update # -/run/verbose 2 -# /gun/particle gamma /gun/energy 100 TeV /testem/gun/rndm 0.8 diff --git a/examples/extended/electromagnetic/TestEm6/run11.mac b/examples/extended/electromagnetic/TestEm6/run11.mac new file mode 100644 index 0000000000..a2bf644203 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm6/run11.mac @@ -0,0 +1,15 @@ +# $Id: run11.mac,v 1.1 2003/01/31 12:54:21 maire Exp $ +# +# Macro file for "TestEm6.cc" +# (can be run in batch, without graphic) +# +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +/testem/phys/SetAnnihiToMuPairFac 10000 +# +/gun/particle e+ +/run/beamOn 1 diff --git a/examples/extended/electromagnetic/TestEm6/run12.mac b/examples/extended/electromagnetic/TestEm6/run12.mac new file mode 100644 index 0000000000..f3b466f3b8 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm6/run12.mac @@ -0,0 +1,24 @@ +# $Id: run12.mac,v 1.1 2003/01/31 12:54:21 maire Exp $ +# +# Macro file for "TestEm6.cc" +# (can be run in batch, without graphic) +# +# +/control/verbose 2 +/run/verbose 2 +# +/run/initialize +# +/testem/det/setMat Carbon +/testem/det/setSize 18.5 cm +/testem/det/update +# +/testem/phys/SetGammaToMuPairFac 1000 +/testem/phys/SetAnnihiToMuPairFac 1000 +# +/gun/particle e+ +/gun/energy 250 GeV +# +/testem/event/printModulo 1000 +# +/run/beamOn 20000 diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc index 8fc9bff2aa..4a0b244c5c 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc @@ -22,8 +22,8 @@ // // -// $Id: DetectorConstruction.cc,v 1.1 2002/05/23 13:30:36 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: DetectorConstruction.cc,v 1.5 2003/04/01 17:02:21 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -88,6 +88,11 @@ void DetectorConstruction::DefineMaterials() a = 9.012182*g/mole; density = 1.848*g/cm3; G4Material* Be = new G4Material("Beryllium", z, a, density); + + z = 6.; + a = 12.011*g/mole; + density = 2.265*g/cm3; + G4Material* C = new G4Material("Carbon", z, a, density); z = 26.; a = 55.85*g/mole; @@ -110,14 +115,14 @@ G4VPhysicalVolume* DetectorConstruction::ConstructVolumes() lBox = new G4LogicalVolume(sBox, //its shape aMaterial, //its material - "Container"); //its name + aMaterial->GetName()); //its name lBox->SetUserLimits(userLimits); pBox = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) - "Container", //its name lBox, //its logical volume + aMaterial->GetName(), //its name 0, //its mother volume false, //no boolean operation 0); //copy number diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc index 054f618df2..5225c6cff0 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: DetectorMessenger.cc,v 1.3 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc index ef1f7d4fdc..474c501ccb 100644 --- a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: EventAction.cc,v 1.1 2002/05/23 13:30:41 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc index 2b862e6c50..366bef7a9f 100644 --- a/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: EventActionMessenger.cc,v 1.3 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc index 8f42ed9c01..37bb181c21 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.1 2002/05/23 13:30:42 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: PhysicsList.cc,v 1.4 2003/02/20 11:24:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -47,6 +47,7 @@ PhysicsList::PhysicsList() defaultCutValue = 1.*km; pMes = new PhysicsListMessenger(this); theGammaToMuPairProcess = 0; + theAnnihiToMuPairProcess = 0; SetVerboseLevel(1); } @@ -114,6 +115,7 @@ void PhysicsList::ConstructProcess() #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" +#include "G4AnnihiToMuPair.hh" #include "G4MuIonisation.hh" #include "G4MuBremsstrahlung.hh" @@ -142,10 +144,14 @@ void PhysicsList::ConstructEM() } else if (particleName == "e+") { //positron - pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); - pmanager->AddProcess(new G4eIonisation, -1, 2,2); - pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + // to make the process of e+e- annihilation more visible, + // do not enable the other standard processes: + // pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + // pmanager->AddProcess(new G4eIonisation, -1, 2,2); + // pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + // pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + theAnnihiToMuPairProcess=new G4AnnihiToMuPair; + pmanager->AddDiscreteProcess(theAnnihiToMuPairProcess); } else if( particleName == "mu+" || particleName == "mu-" ) { @@ -194,19 +200,20 @@ void PhysicsList::SetCuts() SetCutValue(defaultCutValue, "gamma"); SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); - - SetCutValueForOthers(defaultCutValue); - + if (verboseLevel>0) DumpCutValuesTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void PhysicsList::setGammaToMuPairFac(G4double fac) +void PhysicsList::SetGammaToMuPairFac(G4double fac) { if(theGammaToMuPairProcess) theGammaToMuPairProcess->SetCrossSecFactor(fac); } +void PhysicsList::SetAnnihiToMuPairFac(G4double fac) +{ + if(theAnnihiToMuPairProcess) theAnnihiToMuPairProcess->SetCrossSecFactor(fac); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc index 43a5b5ddcd..1dbf8729f0 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: PhysicsListMessenger.cc,v 1.3 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: PhysicsListMessenger.cc,v 1.4 2003/01/27 09:46:20 hbu Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -41,12 +41,20 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* physL) :physList(physL) { GammaToMuPairFac=new G4UIcmdWithADouble - ("/testem/phys/setGammaToMuPairFac",this); + ("/testem/phys/SetGammaToMuPairFac",this); GammaToMuPairFac->SetGuidance( "Set factor to artificially increase the GammaToMuPair cross section"); GammaToMuPairFac->SetParameterName("GammaToMuPairFac",false); GammaToMuPairFac->SetRange("GammaToMuPairFac>0.0"); GammaToMuPairFac->AvailableForStates(G4State_PreInit,G4State_Idle); + + AnnihiToMuPairFac=new G4UIcmdWithADouble + ("/testem/phys/SetAnnihiToMuPairFac",this); + AnnihiToMuPairFac->SetGuidance( + "Set factor to artificially increase the AnnihiToMuPair cross section"); + AnnihiToMuPairFac->SetParameterName("AnnihiToMuPairFac",false); + AnnihiToMuPairFac->SetRange("AnnihiToMuPairFac>0.0"); + AnnihiToMuPairFac->AvailableForStates(G4State_PreInit,G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,6 +62,7 @@ PhysicsListMessenger::PhysicsListMessenger(PhysicsList* physL) PhysicsListMessenger::~PhysicsListMessenger() { delete GammaToMuPairFac; + delete AnnihiToMuPairFac; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,8 +71,12 @@ void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) { if(command == GammaToMuPairFac) - { physList->setGammaToMuPairFac( + { physList->SetGammaToMuPairFac( GammaToMuPairFac->GetNewDoubleValue(newValue));} + + if( command == AnnihiToMuPairFac) + { physList->SetAnnihiToMuPairFac( + AnnihiToMuPairFac->GetNewDoubleValue(newValue));} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc index 950253214b..327bc69706 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.1 2002/05/23 13:30:43 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc index 4b209ab90a..da14dd0a45 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: PrimaryGeneratorMessenger.cc,v 1.3 2002/12/12 12:48:16 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc index 72e7c525ab..28d9d22d9d 100644 --- a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: RunAction.cc,v 1.3 2002/12/12 12:48:17 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc index ca08c17e92..a22aeb8614 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: SteppingAction.cc,v 1.2 2002/06/05 14:21:00 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc index ceba9832ac..4ea9a943c4 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: SteppingVerbose.cc,v 1.1 2002/05/23 13:30:45 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: SteppingVerbose.cc,v 1.2 2003/02/10 17:39:17 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/extended/electromagnetic/TestEm6/src/VisManager.cc b/examples/extended/electromagnetic/TestEm6/src/VisManager.cc index 093e54a15e..46e68b5e0a 100755 --- a/examples/extended/electromagnetic/TestEm6/src/VisManager.cc +++ b/examples/extended/electromagnetic/TestEm6/src/VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: VisManager.cc,v 1.2 2002/11/13 21:40:02 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/electromagnetic/TestEm8/History b/examples/extended/electromagnetic/TestEm8/History index 34920af7bd..9da9b0710f 100644 --- a/examples/extended/electromagnetic/TestEm8/History +++ b/examples/extended/electromagnetic/TestEm8/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2001/10/19 05:47:43 stesting Exp $ +$Id: History,v 1.5 2003/02/20 11:35:21 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20-02-03 V.Ivant (testem8-V05-00-00) + - Migration to cut per region + Oct 19, 2001 Steve O'Neale (examples-V03-02-00) - Update reference output diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.cc b/examples/extended/electromagnetic/TestEm8/TestEm8.cc index 3df59b9f62..9f06fc691a 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.cc +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.cc @@ -22,7 +22,7 @@ // // // $Id: TestEm8.cc,v 1.2 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.out b/examples/extended/electromagnetic/TestEm8/TestEm8.out index 99a03f19fd..136e05cc24 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.out +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -134,35 +134,12 @@ Irregular X-ray TR model is called 48 fGamma = 8.085e+04 sumE = 8.377 49 fGamma = 9.283e+04 sumE = 8.504 -total time for build X-ray TR tables = 6.62 s +total time for build X-ray TR tables = 6.38 s phot: Total cross sections from Sandia parametrisation. Em8PhysicsList::SetCuts:CutLength : 1 mm -compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. - Scattered gamma energy according Klein-Nishina. - PhysicsTables from 1 keV to 100 GeV in 80 bins. - -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. - -eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV. - log scale extrapolation above 100 GeV - Gamma energy sampled from a parametrised formula. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -total time(SetCuts)=5.92 s +total time(SetCuts)=0 s # #control/saveHistory # @@ -194,35 +171,6 @@ total time(SetCuts)=5.92 s # /run/initialize /run/particle/dumpCutValues -============= The cut Energy ============================== - gamma e- -Cut in range - Aluminium 1 mm 1 mm - Mylar 1 mm 1 mm - Polypropelene 1 mm 1 mm - Kr 1 mm 1 mm - Argon 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xenon 1 mm 1 mm - CO2 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm -Cut in energy - Aluminium 6.89 keV 597 keV - Mylar 3.48 keV 541 keV - Polypropelene 2.75 keV 502 keV - Kr 990 eV 1.07 keV - Argon 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xenon 990 eV 1.95 keV - CO2 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV -=================================================== # /gun/particle e- # @@ -233,6 +181,64 @@ Cut in energy #/tracking/verbose 2 # /run/beamOn 1000 + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Mylar + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 3 used in the geometry : Yes recalculation needed : No + Material : Kr20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.08802 keV e+ 1.07471 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. --------- Ranecu engine status --------- @@ -262,28 +268,28 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 1000 - User=125.92s Real=140.46s Sys=1.99s + User=106.81s Real=109.72s Sys=1.57s ================== run summary ===================== end of Run TotNbofEvents = 1000 - mean charged track length in absorber=158.505 +- 3.9418 mm + mean charged track length in absorber=156.819 +- 4.20413 mm - mean energy deposit in absorber=0.101921 +- 0.00108118 MeV + mean energy deposit in absorber=0.0761217 +- 0.000931675 MeV - mean number of steps in absorber (charged) =432.655 +- 2.13903 - mean number of steps in absorber (neutral) =5.037 +- 0.0718306 + mean number of steps in absorber (charged) =216.168 +- 0.573435 + mean number of steps in absorber (neutral) =5.143 +- 0.0734884 - mean number of charged secondaries = 1.485 +- 0.0382593 + mean number of charged secondaries = 1.446 +- 0.0383547 - mean number of neutral secondaries = 0.031 +- 0.00548078 + mean number of neutral secondaries = 0.028 +- 0.0052169 - mean number of e-s =1.485 and e+s =0 + mean number of e-s =1.446 and e+s =0 -(number) transmission coeff=0.668 reflection coeff=0.038 +(number) transmission coeff=0.652 reflection coeff=0.039 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 809983670, 863331332 + Current couple of seeds = 48134664, 1729658316 ---------------------------------------- # # diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh index b0c681972d..937869afdd 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: Em8CalorHit.hh,v 1.3 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh index faa2dc3977..bd512c4a73 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: Em8CalorimeterSD.hh,v 1.3 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh index 3102cb6807..0430bce503 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Em8DetectorConstruction.hh,v 1.4 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh index bd54bf52de..5aac8a502c 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em8DetectorMessenger.hh,v 1.3 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh index f435fd48c8..95d8db8d91 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em8EventAction.hh,v 1.3 2001/07/11 09:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh index d8bb2caaee..9fe75c9efe 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em8EventActionMessenger.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh index 0ea4aaba6a..23dbf75bca 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: Em8PhysicsList.hh,v 1.4 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef Em8PhysicsList_h diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh index 1175ae55e0..b15a3d5b04 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PhysicsListMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em8PhysicsListMessenger.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh index d04c9816f3..e173d02b70 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em8PrimaryGeneratorAction.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh index 48a55e70b8..008589265b 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em8PrimaryGeneratorMessenger.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh index efe4d4d1d5..839fd2655a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em8RunAction.hh,v 1.4 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh index b9841c4e32..60b5790f24 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: Em8RunMessenger.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh b/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh index 190b8f52f9..1703160d54 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: Em8StepCut.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh index 7acea8bdac..fd7dd4bab0 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Em8SteppingAction.hh,v 1.3 2001/07/11 09:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh index a88139ea5e..acf4dbe916 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Em8SteppingMessenger.hh,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh index a71535905c..72e715f001 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Em8SteppingVerbose.hh,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh b/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh index b934ddef6c..da596423aa 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Em8VisManager.hh,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh index 358a1523d3..d4c033a883 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: TRTDetectorConstruction.hh,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh index e90c330b5f..9c66330afc 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh @@ -22,7 +22,7 @@ // // // $Id: TRTMaterials.hh,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc index 81e004d6bd..516ef360aa 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: Em8CalorHit.cc,v 1.3 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc index de14e3a41e..dc327bd928 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: Em8CalorimeterSD.cc,v 1.4 2001/07/11 09:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc index 83a4b8b6ad..269ab6d4fe 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: Em8DetectorConstruction.cc,v 1.7 2001/10/24 21:30:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc index 7da0734ac5..89b683b7d6 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8DetectorMessenger.cc,v 1.4 2002/12/05 00:24:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc index 247d015154..86c695e827 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em8EventAction.cc,v 1.5 2001/10/16 12:22:23 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc index 2161286dd5..5d38a95953 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8EventActionMessenger.cc,v 1.4 2002/12/05 00:24:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc index 74ae0547b2..2112a86eed 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em8PhysicsList.cc,v 1.5 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em8PhysicsList.cc,v 1.6 2003/02/20 11:35:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" @@ -52,6 +52,7 @@ Em8PhysicsList::Em8PhysicsList(Em8DetectorConstruction* p) : G4VUserPhysicsList(), + MaxChargedStep(DBL_MAX), thePhotoElectricEffect(NULL),theComptonScattering(NULL), theGammaConversion(NULL), theeminusMultipleScattering(NULL),theeminusIonisation(NULL), @@ -59,8 +60,7 @@ Em8PhysicsList::Em8PhysicsList(Em8DetectorConstruction* p) theeplusMultipleScattering(NULL),theeplusIonisation(NULL), theeplusBremsstrahlung(NULL), theeplusAnnihilation(NULL), - theeminusStepCut(NULL),theeplusStepCut(NULL), - MaxChargedStep(DBL_MAX) + theeminusStepCut(NULL),theeplusStepCut(NULL) { pDet = p; @@ -378,26 +378,15 @@ void Em8PhysicsList::SetCuts() { G4cout << "Em8PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + } // set cut values for gamma at first and for e- second and next for e+, // because some processes for e+/e- need cut values for gamma - + SetCutValue(cutForGamma,"gamma"); SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>1) DumpCutValuesTable(); theTimer.Stop(); diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc index bd41d0bc7d..6df947d572 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PhysicsListMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8PhysicsListMessenger.cc,v 1.4 2002/12/05 00:24:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc index e30eb765d8..34866e7eb0 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em8PrimaryGeneratorAction.cc,v 1.4 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc index 2dab815048..cc0ef682eb 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8PrimaryGeneratorMessenger.cc,v 1.4 2002/12/05 00:24:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc index 2d3e7f645e..de2dd2dd1f 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em8RunAction.cc,v 1.6 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc index bd355e077d..27bff5ca09 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8RunMessenger.cc,v 1.5 2002/12/05 00:24:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc b/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc index 0ad7c599be..bc86d270a8 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8StepCut.cc @@ -22,7 +22,7 @@ // // // $Id: Em8StepCut.cc,v 1.4 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "Em8StepCut.hh" diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc index ab97eb5d3f..bf42266243 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: Em8SteppingAction.cc,v 1.4 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc index b84451bf49..55806883df 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Em8SteppingMessenger.cc,v 1.3 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc index f60c20c707..76bec61d85 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: Em8SteppingVerbose.cc,v 1.5 2001/07/11 09:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: Em8SteppingVerbose.cc,v 1.6 2003/02/20 11:35:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -119,7 +119,7 @@ void Em8SteppingVerbose::StepInfo() << " ---------------" << G4endl; - for(G4int lp1=(*fSecondary).size()-tN2ndariesTot; + for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; lp1<(*fSecondary).size(); lp1++){ G4cout << " : " << G4std::setw(6) diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc b/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc index bc53a8f1ab..eb8d5e43e3 100755 --- a/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Em8VisManager.cc,v 1.6 2002/11/13 21:40:05 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmcEx01-clhep.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmcEx01-clhep.cc index 84e4461ac0..9c9976ceb8 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmcEx01-clhep.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmcEx01-clhep.cc @@ -22,7 +22,7 @@ // // // $Id: hepmcEx01-clhep.cc,v 1.1 2002/11/19 10:33:00 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_ascii.out index 3f46f3c5ce..274acc88f3 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_ascii.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_pygen.out index 3c23960d50..3a260c3bfb 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/hepmc_pygen.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04EMPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04EMPhysics.hh index c9955372fc..06a9c35025 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04EMPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.hh,v 1.1 2002/11/19 10:30:53 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04GeneralPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04GeneralPhysics.hh index 443bc1be7a..7a866d9bb6 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04GeneralPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.hh,v 1.1 2002/11/19 10:30:53 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04IonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04IonPhysics.hh index 32573758bd..9afb5fd041 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04IonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.hh,v 1.1 2002/11/19 10:30:53 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04MuonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04MuonPhysics.hh index 16149b86f1..acaa35cab3 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04MuonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.hh,v 1.1 2002/11/19 10:30:53 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04RunAction.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04RunAction.hh index 8129428747..1d648635a1 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04RunAction.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.hh,v 1.1 2002/11/19 10:30:54 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04SteppingVerbose.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04SteppingVerbose.hh index 368997e9da..be53ef0727 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04SteppingVerbose.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.1 2002/11/19 10:30:54 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04VisManager.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04VisManager.hh index f236a4dfcb..8e1cfa6629 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04VisManager.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/include/ExN04VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04VisManager.hh,v 1.1 2002/11/19 10:30:55 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04EMPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04EMPhysics.cc index 3d5bd65e0c..20dae9d11e 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04EMPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.cc,v 1.1 2002/11/19 10:31:38 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04GeneralPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04GeneralPhysics.cc index 622a3c15c2..c43273cfa7 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04GeneralPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04IonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04IonPhysics.cc index a8a0ab584a..ddcb1501c7 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04IonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04MuonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04MuonPhysics.cc index 5ea66e1c6e..d2e2426c12 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04MuonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04PhysicsList.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04PhysicsList.cc index d8a3d61a7f..70481f52b4 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04PhysicsList.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04RunAction.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04RunAction.cc index ced337879a..7d96d2be97 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04RunAction.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04SteppingVerbose.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04SteppingVerbose.cc index 789f86af6b..cb6835ee14 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04SteppingVerbose.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04SteppingVerbose.cc,v 1.1 2002/11/19 10:31:39 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04VisManager.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04VisManager.cc index 0db2128549..222d44b0e1 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04VisManager.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01-clhep/src/ExN04VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04VisManager.cc,v 1.1 2002/11/19 10:31:40 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc index 7de11aac77..4d3259d4ca 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc @@ -22,7 +22,7 @@ // // // $Id: hepmcEx01.cc,v 1.2 2002/11/19 10:23:46 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out index e8baea79f7..744007fe2f 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_ascii.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out index 2947340763..f96e708579 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmc_pygen.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04EMPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04EMPhysics.hh index 17a936747e..4242f96acf 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04EMPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.hh,v 1.2 2002/11/19 10:15:51 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04GeneralPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04GeneralPhysics.hh index 2349e93760..65268cbce4 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04GeneralPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.hh,v 1.2 2002/11/19 10:15:51 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04IonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04IonPhysics.hh index c370d73a1a..edc4062dfe 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04IonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.hh,v 1.2 2002/11/19 10:15:51 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04MuonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04MuonPhysics.hh index d6f5f99912..395752333b 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04MuonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.hh,v 1.2 2002/11/19 10:15:51 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh index 8172f55ad3..f55d37e86f 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.hh,v 1.1 2002/11/19 10:15:51 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh index 8d554c4b97..baf2925aa0 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.1 2002/11/19 10:15:52 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04VisManager.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04VisManager.hh index c92d29255c..6910d78078 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04VisManager.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04VisManager.hh,v 1.1 2002/11/19 10:15:52 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EMPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EMPhysics.cc index 0d242bffd7..adc7899d8d 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EMPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.cc,v 1.2 2002/11/19 10:17:03 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04GeneralPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04GeneralPhysics.cc index e08c62dae1..9ad5edff1b 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04GeneralPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.cc,v 1.2 2002/11/19 10:17:04 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04IonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04IonPhysics.cc index c94c2fb7d6..5c07901b69 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04IonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.cc,v 1.2 2002/11/19 10:17:04 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04MuonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04MuonPhysics.cc index ae48a0c2b9..07deec7bb6 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04MuonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.cc,v 1.2 2002/11/19 10:17:04 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04PhysicsList.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04PhysicsList.cc index 9dcb7ef18e..4763e56738 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04PhysicsList.cc,v 1.2 2002/11/19 10:17:04 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc index 9e76114778..2c33443813 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.cc,v 1.1 2002/11/19 10:17:05 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc index a939fbba23..dcb7e698b1 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04SteppingVerbose.cc,v 1.1 2002/11/19 10:17:05 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04VisManager.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04VisManager.cc index c658c4201c..24855cb713 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04VisManager.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04VisManager.cc,v 1.1 2002/11/19 10:17:05 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmcEx02-clhep.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmcEx02-clhep.cc index 85ff721aa9..062725b55e 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmcEx02-clhep.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmcEx02-clhep.cc @@ -22,7 +22,7 @@ // // // $Id: hepmcEx02-clhep.cc,v 1.1 2002/11/19 10:37:08 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_ascii.out index eda9344f3b..64ed3f739e 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_ascii.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_pygen.out index 29470dee57..27a935bb91 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/hepmc_pygen.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02EMPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02EMPhysics.hh index 250b38b51c..5d1b1a3d64 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02EMPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02EMPhysics.hh,v 1.1 2002/11/19 10:35:48 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02GeneralPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02GeneralPhysics.hh index 0d2bd1ae25..a1fcfa4ba3 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02GeneralPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02GeneralPhysics.hh,v 1.1 2002/11/19 10:35:48 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02IonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02IonPhysics.hh index fdf8b19902..0af01282de 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02IonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02IonPhysics.hh,v 1.1 2002/11/19 10:35:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02MuonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02MuonPhysics.hh index f75b02c6df..1628c67231 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02MuonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/include/H02MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02MuonPhysics.hh,v 1.1 2002/11/19 10:35:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02EMPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02EMPhysics.cc index eeb5436b0b..d7c49a1524 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02EMPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02EMPhysics.cc,v 1.1 2002/11/19 10:36:20 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02GeneralPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02GeneralPhysics.cc index 4193bbadd7..d7ab22373d 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02GeneralPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02GeneralPhysics.cc,v 1.1 2002/11/19 10:36:20 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02IonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02IonPhysics.cc index 69336c4fea..b65f856834 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02IonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02IonPhysics.cc,v 1.1 2002/11/19 10:36:20 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02MuonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02MuonPhysics.cc index 5e75a27135..207a3b413c 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02MuonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02MuonPhysics.cc,v 1.1 2002/11/19 10:36:20 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02PhysicsList.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02PhysicsList.cc index 9377b1ccee..29ea85d9f8 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02-clhep/src/H02PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: H02PhysicsList.cc,v 1.1 2002/11/19 10:36:20 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc index 26c2306125..60b8810816 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc @@ -22,7 +22,7 @@ // // // $Id: hepmcEx02.cc,v 1.2 2002/05/28 14:19:07 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out index 70d7772e15..354e5cf36f 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_ascii.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out index b00bd3ead1..36ac53c478 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmc_pygen.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02EMPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02EMPhysics.hh index 0dce4d5364..0b9b7e6476 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02EMPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02EMPhysics.hh,v 1.2 2002/11/19 10:25:08 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02GeneralPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02GeneralPhysics.hh index 3f9e429a23..ab423e03ac 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02GeneralPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02GeneralPhysics.hh,v 1.2 2002/11/19 10:25:08 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02IonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02IonPhysics.hh index 82e678138a..0b319f7569 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02IonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02IonPhysics.hh,v 1.2 2002/11/19 10:25:08 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02MuonPhysics.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02MuonPhysics.hh index 2f7e9d83dc..7fc583657a 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02MuonPhysics.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: H02MuonPhysics.hh,v 1.2 2002/11/19 10:25:08 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02EMPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02EMPhysics.cc index 26f48fd6cd..383f6df080 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02EMPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02EMPhysics.cc,v 1.2 2002/11/19 10:25:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02GeneralPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02GeneralPhysics.cc index 5e64378080..26bca30f56 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02GeneralPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02GeneralPhysics.cc,v 1.2 2002/11/19 10:25:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02IonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02IonPhysics.cc index 55e79f07d1..ba569a5dab 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02IonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02IonPhysics.cc,v 1.2 2002/11/19 10:25:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02MuonPhysics.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02MuonPhysics.cc index df6e274edf..bb7c88f7c0 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02MuonPhysics.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: H02MuonPhysics.cc,v 1.2 2002/11/19 10:25:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc index f689603f41..a8d97f9a4e 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: H02PhysicsList.cc,v 1.2 2002/11/19 10:25:49 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/History b/examples/extended/field/field01/History index a41bc9f38b..e79fcd609c 100644 --- a/examples/extended/field/field01/History +++ b/examples/extended/field/field01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2001/11/07 16:36:30 gcosmo Exp $ +$Id: History,v 1.4 2003/02/20 09:05:16 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,10 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Feb 20th, 2003 - V.Ivanchenko +----------------------------- +- Cut per region + Nov 7th, 2001 - G.Cosmo ----------------------- - More cleanup and fixes to primary generator gun (V.Grichine). diff --git a/examples/extended/field/field01/field01.cc b/examples/extended/field/field01/field01.cc index 36bd6efdb0..e4a81193e0 100644 --- a/examples/extended/field/field01/field01.cc +++ b/examples/extended/field/field01/field01.cc @@ -22,7 +22,7 @@ // // // $Id: field01.cc,v 1.4 2001/11/07 16:36:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field01/field01.out b/examples/extended/field/field01/field01.out index b62972d96e..2872e39f3b 100644 --- a/examples/extended/field/field01/field01.out +++ b/examples/extended/field/field01/field01.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** G4ClassicalRK4 (default) is called @@ -75,6 +75,10 @@ Current available graphics systems are: phot: Total cross sections from Sandia parametrisation. F01PhysicsList::SetCuts:CutLength : 1 mm +total time(SetCuts)=0 s +G4ClassicalRK4 (default) is called +The minimal step is equal to 1 mm + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -85,7 +89,8 @@ conv: Total cross sections from a parametrisation. Good description from 1.5 Me eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -98,6 +103,17 @@ msc: Tables of transport mean free paths. displacement of the particle , too. PhysicsTables from 100 eV to 100 TeV in 100 bins. +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + MuIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. @@ -111,46 +127,17 @@ MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. +========= Table of registered couples ============================== -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== -total time(SetCuts)=15.86 s -G4ClassicalRK4 (default) is called -The minimal step is equal to 1 mm -============= The cut Energy ============================== - gamma e- -Cut in range - Mylar 1 mm 1 mm - Polypropelene 1 mm 1 mm - Kr 1 mm 1 mm - Argon 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xenon 1 mm 1 mm - CO2 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm -Cut in energy - Mylar 3.48 keV 541 keV - Polypropelene 2.75 keV 502 keV - Kr 990 eV 1.07 keV - Argon 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xenon 990 eV 1.95 keV - CO2 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV -=================================================== ### Run 0 start. Start Run processing. @@ -1158,7 +1145,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Run terminated. Run Summary Number of events processed : 100 - User=0.32s Real=0.71s Sys=0.15s + User=0.34s Real=0.47s Sys=0.13s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. diff --git a/examples/extended/field/field01/include/F01CalorHit.hh b/examples/extended/field/field01/include/F01CalorHit.hh index b0d52290ea..bb62471e75 100644 --- a/examples/extended/field/field01/include/F01CalorHit.hh +++ b/examples/extended/field/field01/include/F01CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: F01CalorHit.hh,v 1.2 2001/07/11 09:57:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01CalorimeterSD.hh b/examples/extended/field/field01/include/F01CalorimeterSD.hh index c0eadfeb06..056d465633 100644 --- a/examples/extended/field/field01/include/F01CalorimeterSD.hh +++ b/examples/extended/field/field01/include/F01CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: F01CalorimeterSD.hh,v 1.3 2001/10/15 17:20:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01DetectorConstruction.hh b/examples/extended/field/field01/include/F01DetectorConstruction.hh index ff503a0842..6654d3c6bd 100644 --- a/examples/extended/field/field01/include/F01DetectorConstruction.hh +++ b/examples/extended/field/field01/include/F01DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: F01DetectorConstruction.hh,v 1.5 2001/10/25 08:10:20 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01DetectorMessenger.hh b/examples/extended/field/field01/include/F01DetectorMessenger.hh index e108079aa5..78c85600ab 100644 --- a/examples/extended/field/field01/include/F01DetectorMessenger.hh +++ b/examples/extended/field/field01/include/F01DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01DetectorMessenger.hh,v 1.3 2001/10/25 08:10:20 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01ElectroMagneticField.hh b/examples/extended/field/field01/include/F01ElectroMagneticField.hh index c98e32c1b9..f934188da5 100644 --- a/examples/extended/field/field01/include/F01ElectroMagneticField.hh +++ b/examples/extended/field/field01/include/F01ElectroMagneticField.hh @@ -22,7 +22,7 @@ // // // $Id: F01ElectroMagneticField.hh,v 1.4 2001/07/11 09:57:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/field/field01/include/F01EventAction.hh b/examples/extended/field/field01/include/F01EventAction.hh index 353de4ec24..29e047b8ec 100644 --- a/examples/extended/field/field01/include/F01EventAction.hh +++ b/examples/extended/field/field01/include/F01EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: F01EventAction.hh,v 1.4 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01EventActionMessenger.hh b/examples/extended/field/field01/include/F01EventActionMessenger.hh index f966966f1d..ce07909d66 100644 --- a/examples/extended/field/field01/include/F01EventActionMessenger.hh +++ b/examples/extended/field/field01/include/F01EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01EventActionMessenger.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01FieldMessenger.hh b/examples/extended/field/field01/include/F01FieldMessenger.hh index 1d4d68c272..93372ddab0 100644 --- a/examples/extended/field/field01/include/F01FieldMessenger.hh +++ b/examples/extended/field/field01/include/F01FieldMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01FieldMessenger.hh,v 1.5 2001/10/15 17:20:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01PhysicsList.hh b/examples/extended/field/field01/include/F01PhysicsList.hh index 267161c4dd..a093d77c26 100644 --- a/examples/extended/field/field01/include/F01PhysicsList.hh +++ b/examples/extended/field/field01/include/F01PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: F01PhysicsList.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef F01PhysicsList_h diff --git a/examples/extended/field/field01/include/F01PhysicsListMessenger.hh b/examples/extended/field/field01/include/F01PhysicsListMessenger.hh index 440eb089b3..82559a2bd3 100644 --- a/examples/extended/field/field01/include/F01PhysicsListMessenger.hh +++ b/examples/extended/field/field01/include/F01PhysicsListMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01PhysicsListMessenger.hh,v 1.3 2001/10/15 17:20:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh b/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh index e2655a8598..5743d7c5a6 100644 --- a/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh +++ b/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: F01PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh b/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh index de3b93d585..2fcc0e492c 100644 --- a/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01RunAction.hh b/examples/extended/field/field01/include/F01RunAction.hh index c8114c60e7..daf8be3522 100644 --- a/examples/extended/field/field01/include/F01RunAction.hh +++ b/examples/extended/field/field01/include/F01RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: F01RunAction.hh,v 1.4 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01RunMessenger.hh b/examples/extended/field/field01/include/F01RunMessenger.hh index 9deae109ea..aa498ade77 100644 --- a/examples/extended/field/field01/include/F01RunMessenger.hh +++ b/examples/extended/field/field01/include/F01RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: F01RunMessenger.hh,v 1.3 2001/10/15 17:20:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01StepCut.hh b/examples/extended/field/field01/include/F01StepCut.hh index f304f48000..9d3c5541ed 100644 --- a/examples/extended/field/field01/include/F01StepCut.hh +++ b/examples/extended/field/field01/include/F01StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: F01StepCut.hh,v 1.3 2001/10/15 17:20:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01SteppingAction.hh b/examples/extended/field/field01/include/F01SteppingAction.hh index 996a8e55b0..aac6f825da 100644 --- a/examples/extended/field/field01/include/F01SteppingAction.hh +++ b/examples/extended/field/field01/include/F01SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: F01SteppingAction.hh,v 1.3 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/include/F01SteppingMessenger.hh b/examples/extended/field/field01/include/F01SteppingMessenger.hh index 3a26de299b..0063fe1141 100644 --- a/examples/extended/field/field01/include/F01SteppingMessenger.hh +++ b/examples/extended/field/field01/include/F01SteppingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F01SteppingMessenger.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field01/include/F01SteppingVerbose.hh b/examples/extended/field/field01/include/F01SteppingVerbose.hh index a72eafe163..d1ef3929c8 100644 --- a/examples/extended/field/field01/include/F01SteppingVerbose.hh +++ b/examples/extended/field/field01/include/F01SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: F01SteppingVerbose.hh,v 1.3 2001/10/15 17:20:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field01/include/F01VisManager.hh b/examples/extended/field/field01/include/F01VisManager.hh index 39a1b0ae95..42b2b4ec8e 100644 --- a/examples/extended/field/field01/include/F01VisManager.hh +++ b/examples/extended/field/field01/include/F01VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: F01VisManager.hh,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01CalorHit.cc b/examples/extended/field/field01/src/F01CalorHit.cc index c1d151cd9d..d4a6635903 100644 --- a/examples/extended/field/field01/src/F01CalorHit.cc +++ b/examples/extended/field/field01/src/F01CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: F01CalorHit.cc,v 1.2 2001/07/11 09:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01CalorimeterSD.cc b/examples/extended/field/field01/src/F01CalorimeterSD.cc index 601fa51004..05ded741ae 100644 --- a/examples/extended/field/field01/src/F01CalorimeterSD.cc +++ b/examples/extended/field/field01/src/F01CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: F01CalorimeterSD.cc,v 1.4 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01DetectorConstruction.cc b/examples/extended/field/field01/src/F01DetectorConstruction.cc index b3d1ab4ca4..f6f9dad6ed 100644 --- a/examples/extended/field/field01/src/F01DetectorConstruction.cc +++ b/examples/extended/field/field01/src/F01DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: F01DetectorConstruction.cc,v 1.8 2001/10/26 13:42:44 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01DetectorMessenger.cc b/examples/extended/field/field01/src/F01DetectorMessenger.cc index e18f4089c9..dc77ecff9b 100644 --- a/examples/extended/field/field01/src/F01DetectorMessenger.cc +++ b/examples/extended/field/field01/src/F01DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01DetectorMessenger.cc,v 1.4 2002/12/05 01:06:56 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01ElectroMagneticField.cc b/examples/extended/field/field01/src/F01ElectroMagneticField.cc index 09abb34765..c8ecaa4dd9 100644 --- a/examples/extended/field/field01/src/F01ElectroMagneticField.cc +++ b/examples/extended/field/field01/src/F01ElectroMagneticField.cc @@ -22,7 +22,7 @@ // // // $Id: F01ElectroMagneticField.cc,v 1.8 2001/10/15 17:20:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // User Field class implementation. diff --git a/examples/extended/field/field01/src/F01EventAction.cc b/examples/extended/field/field01/src/F01EventAction.cc index 7bcd6a54d3..76c77a1e17 100644 --- a/examples/extended/field/field01/src/F01EventAction.cc +++ b/examples/extended/field/field01/src/F01EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: F01EventAction.cc,v 1.4 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01EventActionMessenger.cc b/examples/extended/field/field01/src/F01EventActionMessenger.cc index 992e9f2a45..c790dfc8a0 100644 --- a/examples/extended/field/field01/src/F01EventActionMessenger.cc +++ b/examples/extended/field/field01/src/F01EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01EventActionMessenger.cc,v 1.3 2002/12/05 01:06:56 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01FieldMessenger.cc b/examples/extended/field/field01/src/F01FieldMessenger.cc index 3bba74211a..0f700af4b7 100644 --- a/examples/extended/field/field01/src/F01FieldMessenger.cc +++ b/examples/extended/field/field01/src/F01FieldMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01FieldMessenger.cc,v 1.6 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01PhysicsList.cc b/examples/extended/field/field01/src/F01PhysicsList.cc index 0f8508ab54..e3564103cd 100644 --- a/examples/extended/field/field01/src/F01PhysicsList.cc +++ b/examples/extended/field/field01/src/F01PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: F01PhysicsList.cc,v 1.5 2001/11/07 14:33:21 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: F01PhysicsList.cc,v 1.6 2003/02/20 09:05:16 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" @@ -198,7 +198,7 @@ void F01PhysicsList::ConstructEM() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { // Construct processes for gamma @@ -238,7 +238,7 @@ void F01PhysicsList::ConstructEM() } else if (particleName == "e+") { - // Construct processes for positron + // Construct processes for positron // theeplusMultipleScattering = new G4MultipleScattering(); theeplusIonisation = new G4eIonisation(); @@ -278,7 +278,7 @@ void F01PhysicsList::ConstructEM() else if ( particleName == "proton" || particleName == "antiproton" - || particleName == "pi+" + || particleName == "pi+" || particleName == "pi-" || particleName == "kaon+" || particleName == "kaon-" @@ -318,7 +318,7 @@ void F01PhysicsList::ConstructGeneral() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) + if (theDecayProcess->IsApplicable(*particle)) { pmanager ->AddProcess(theDecayProcess); @@ -362,26 +362,15 @@ void F01PhysicsList::SetCuts() { G4cout << "F01PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + } // set cut values for gamma at first and for e- second and next for e+, // because some processes for e+/e- need cut values for gamma - + SetCutValue(cutForGamma,"gamma"); SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>1) DumpCutValuesTable(); theTimer.Stop(); diff --git a/examples/extended/field/field01/src/F01PhysicsListMessenger.cc b/examples/extended/field/field01/src/F01PhysicsListMessenger.cc index af180ee8bb..d71e01c132 100644 --- a/examples/extended/field/field01/src/F01PhysicsListMessenger.cc +++ b/examples/extended/field/field01/src/F01PhysicsListMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01PhysicsListMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc b/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc index 6a99fd416f..3a9967b9bb 100644 --- a/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc +++ b/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: F01PrimaryGeneratorAction.cc,v 1.6 2001/11/07 14:33:21 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc b/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc index 720453719b..87379e5fb0 100644 --- a/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01PrimaryGeneratorMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01RunAction.cc b/examples/extended/field/field01/src/F01RunAction.cc index 179bcf9b51..c6d201f8ce 100644 --- a/examples/extended/field/field01/src/F01RunAction.cc +++ b/examples/extended/field/field01/src/F01RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: F01RunAction.cc,v 1.6 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01RunMessenger.cc b/examples/extended/field/field01/src/F01RunMessenger.cc index 32f4730207..5f6e769d3d 100644 --- a/examples/extended/field/field01/src/F01RunMessenger.cc +++ b/examples/extended/field/field01/src/F01RunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01RunMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01StepCut.cc b/examples/extended/field/field01/src/F01StepCut.cc index 6fd2679d73..c279b67788 100644 --- a/examples/extended/field/field01/src/F01StepCut.cc +++ b/examples/extended/field/field01/src/F01StepCut.cc @@ -22,7 +22,7 @@ // // // $Id: F01StepCut.cc,v 1.2 2001/07/11 09:58:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "F01StepCut.hh" diff --git a/examples/extended/field/field01/src/F01SteppingAction.cc b/examples/extended/field/field01/src/F01SteppingAction.cc index 0b824bcce8..76224f2195 100644 --- a/examples/extended/field/field01/src/F01SteppingAction.cc +++ b/examples/extended/field/field01/src/F01SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: F01SteppingAction.cc,v 1.5 2001/11/07 16:36:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field01/src/F01SteppingMessenger.cc b/examples/extended/field/field01/src/F01SteppingMessenger.cc index cafbd6ebc0..6305337ba2 100644 --- a/examples/extended/field/field01/src/F01SteppingMessenger.cc +++ b/examples/extended/field/field01/src/F01SteppingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F01SteppingMessenger.cc,v 1.2 2001/07/11 09:58:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field01/src/F01SteppingVerbose.cc b/examples/extended/field/field01/src/F01SteppingVerbose.cc index e8a47a9e2d..0adb23bf68 100644 --- a/examples/extended/field/field01/src/F01SteppingVerbose.cc +++ b/examples/extended/field/field01/src/F01SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: F01SteppingVerbose.cc,v 1.4 2001/10/15 17:20:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/field/field01/src/F01VisManager.cc b/examples/extended/field/field01/src/F01VisManager.cc index ede2df0ec3..446abdfcbc 100644 --- a/examples/extended/field/field01/src/F01VisManager.cc +++ b/examples/extended/field/field01/src/F01VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: F01VisManager.cc,v 1.4 2002/11/26 08:28:06 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/field/field02/History b/examples/extended/field/field02/History index fb0d9f81c4..2d27736e14 100644 --- a/examples/extended/field/field02/History +++ b/examples/extended/field/field02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2001/12/04 18:43:41 gcosmo Exp $ +$Id: History,v 1.7 2003/02/20 09:09:18 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,10 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Feb 20th, 2003 - V.Ivanchenko (field-V05-00-00) +------------------------------------------------- +- Cut per region + Dec 4th, 2001 - G.Cosmo (field02-V03-02-01) ----------------------- - Fix in F02ElectroMagneticField.hh for compilation on Win/VC++. diff --git a/examples/extended/field/field02/field02.cc b/examples/extended/field/field02/field02.cc index 68307f08d5..f5c1559ab9 100644 --- a/examples/extended/field/field02/field02.cc +++ b/examples/extended/field/field02/field02.cc @@ -22,7 +22,7 @@ // // // $Id: field02.cc,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field02/field02.out b/examples/extended/field/field02/field02.out index 448648832d..13a7c1abf5 100644 --- a/examples/extended/field/field02/field02.out +++ b/examples/extended/field/field02/field02.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** G4ClassicalRK4 (default) is called @@ -75,6 +75,10 @@ Current available graphics systems are: phot: Total cross sections from Sandia parametrisation. F02PhysicsList::SetCuts:CutLength : 1 mm +total time(SetCuts)=0 s +G4ClassicalRK4 (default) is called +The minimal step is equal to 10 mm + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -85,7 +89,8 @@ conv: Total cross sections from a parametrisation. Good description from 1.5 Me eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -98,6 +103,17 @@ msc: Tables of transport mean free paths. displacement of the particle , too. PhysicsTables from 100 eV to 100 TeV in 100 bins. +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + MuIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. @@ -111,46 +127,24 @@ MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. +========= Table of registered couples ============================== -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Kr20CO2 + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 1.08802 keV e+ 1.07471 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== -total time(SetCuts)=15.91 s -G4ClassicalRK4 (default) is called -The minimal step is equal to 10 mm -============= The cut Energy ============================== - gamma e- -Cut in range - Mylar 1 mm 1 mm - Polypropelene 1 mm 1 mm - Kr 1 mm 1 mm - Argon 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xenon 1 mm 1 mm - CO2 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm -Cut in energy - Mylar 3.48 keV 541 keV - Polypropelene 2.75 keV 502 keV - Kr 990 eV 1.07 keV - Argon 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xenon 990 eV 1.95 keV - CO2 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV -=================================================== ### Run 0 start. Start Run processing. @@ -3482,7 +3476,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Run terminated. Run Summary Number of events processed : 100 - User=0.49s Real=1.75s Sys=0.73s + User=0.73s Real=1.28s Sys=0.54s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. diff --git a/examples/extended/field/field02/include/F02CalorHit.hh b/examples/extended/field/field02/include/F02CalorHit.hh index 6afc2c96d7..e69774bca8 100644 --- a/examples/extended/field/field02/include/F02CalorHit.hh +++ b/examples/extended/field/field02/include/F02CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: F02CalorHit.hh,v 1.2 2001/07/11 09:58:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02CalorimeterSD.hh b/examples/extended/field/field02/include/F02CalorimeterSD.hh index 0db6bae465..5837fcdc15 100644 --- a/examples/extended/field/field02/include/F02CalorimeterSD.hh +++ b/examples/extended/field/field02/include/F02CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: F02CalorimeterSD.hh,v 1.3 2001/10/15 17:20:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02DetectorConstruction.hh b/examples/extended/field/field02/include/F02DetectorConstruction.hh index 96688954a9..8d73e37b3e 100644 --- a/examples/extended/field/field02/include/F02DetectorConstruction.hh +++ b/examples/extended/field/field02/include/F02DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: F02DetectorConstruction.hh,v 1.4 2001/10/25 09:30:13 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02DetectorMessenger.hh b/examples/extended/field/field02/include/F02DetectorMessenger.hh index 680fdf9eaa..b165960761 100644 --- a/examples/extended/field/field02/include/F02DetectorMessenger.hh +++ b/examples/extended/field/field02/include/F02DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02DetectorMessenger.hh,v 1.3 2001/10/25 09:30:13 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02ElectroMagneticField.hh b/examples/extended/field/field02/include/F02ElectroMagneticField.hh index 7780e4b018..6cd940f512 100644 --- a/examples/extended/field/field02/include/F02ElectroMagneticField.hh +++ b/examples/extended/field/field02/include/F02ElectroMagneticField.hh @@ -22,7 +22,7 @@ // // // $Id: F02ElectroMagneticField.hh,v 1.6 2001/12/04 17:53:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/field/field02/include/F02EventAction.hh b/examples/extended/field/field02/include/F02EventAction.hh index 78f8292984..df96df8eef 100644 --- a/examples/extended/field/field02/include/F02EventAction.hh +++ b/examples/extended/field/field02/include/F02EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: F02EventAction.hh,v 1.3 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02EventActionMessenger.hh b/examples/extended/field/field02/include/F02EventActionMessenger.hh index 9545e4d52e..c668164286 100644 --- a/examples/extended/field/field02/include/F02EventActionMessenger.hh +++ b/examples/extended/field/field02/include/F02EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02EventActionMessenger.hh,v 1.2 2001/07/11 09:58:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02FieldMessenger.hh b/examples/extended/field/field02/include/F02FieldMessenger.hh index 6922e1e1a9..a1db1fa297 100644 --- a/examples/extended/field/field02/include/F02FieldMessenger.hh +++ b/examples/extended/field/field02/include/F02FieldMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02FieldMessenger.hh,v 1.2 2001/07/11 09:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02PhysicsList.hh b/examples/extended/field/field02/include/F02PhysicsList.hh index e5b99cfd62..62524d8c21 100644 --- a/examples/extended/field/field02/include/F02PhysicsList.hh +++ b/examples/extended/field/field02/include/F02PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: F02PhysicsList.hh,v 1.2 2001/07/11 09:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef F02PhysicsList_h diff --git a/examples/extended/field/field02/include/F02PhysicsListMessenger.hh b/examples/extended/field/field02/include/F02PhysicsListMessenger.hh index 24e1771e45..85109b1c8f 100644 --- a/examples/extended/field/field02/include/F02PhysicsListMessenger.hh +++ b/examples/extended/field/field02/include/F02PhysicsListMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02PhysicsListMessenger.hh,v 1.3 2001/10/15 17:20:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh b/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh index a6566f1135..a97bd02302 100644 --- a/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh +++ b/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: F02PrimaryGeneratorAction.hh,v 1.3 2001/10/15 17:20:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh b/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh index 56c802504d..8a536f0238 100644 --- a/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02RunAction.hh b/examples/extended/field/field02/include/F02RunAction.hh index 8506db5195..d2394ea1c7 100644 --- a/examples/extended/field/field02/include/F02RunAction.hh +++ b/examples/extended/field/field02/include/F02RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: F02RunAction.hh,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02RunMessenger.hh b/examples/extended/field/field02/include/F02RunMessenger.hh index 479e9563a1..f7a9913bcc 100644 --- a/examples/extended/field/field02/include/F02RunMessenger.hh +++ b/examples/extended/field/field02/include/F02RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: F02RunMessenger.hh,v 1.3 2001/10/15 17:20:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02StepCut.hh b/examples/extended/field/field02/include/F02StepCut.hh index 38e0c4db2a..91970ab498 100644 --- a/examples/extended/field/field02/include/F02StepCut.hh +++ b/examples/extended/field/field02/include/F02StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: F02StepCut.hh,v 1.3 2001/10/15 17:20:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02SteppingAction.hh b/examples/extended/field/field02/include/F02SteppingAction.hh index d32ae0abe3..d667755339 100644 --- a/examples/extended/field/field02/include/F02SteppingAction.hh +++ b/examples/extended/field/field02/include/F02SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: F02SteppingAction.hh,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/include/F02SteppingMessenger.hh b/examples/extended/field/field02/include/F02SteppingMessenger.hh index 1c769c5f2a..c4f3fa4eb5 100644 --- a/examples/extended/field/field02/include/F02SteppingMessenger.hh +++ b/examples/extended/field/field02/include/F02SteppingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F02SteppingMessenger.hh,v 1.2 2001/07/11 09:58:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field02/include/F02SteppingVerbose.hh b/examples/extended/field/field02/include/F02SteppingVerbose.hh index 4df56034d0..1784a2b8fa 100644 --- a/examples/extended/field/field02/include/F02SteppingVerbose.hh +++ b/examples/extended/field/field02/include/F02SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: F02SteppingVerbose.hh,v 1.3 2001/10/15 17:20:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field02/include/F02VisManager.hh b/examples/extended/field/field02/include/F02VisManager.hh index 15c230a629..84db7c3462 100644 --- a/examples/extended/field/field02/include/F02VisManager.hh +++ b/examples/extended/field/field02/include/F02VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: F02VisManager.hh,v 1.2 2001/07/11 09:58:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02CalorHit.cc b/examples/extended/field/field02/src/F02CalorHit.cc index 212a230a3e..eca507ff4f 100644 --- a/examples/extended/field/field02/src/F02CalorHit.cc +++ b/examples/extended/field/field02/src/F02CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: F02CalorHit.cc,v 1.2 2001/07/11 09:58:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02CalorimeterSD.cc b/examples/extended/field/field02/src/F02CalorimeterSD.cc index 4de27ea9ee..6eb7045074 100644 --- a/examples/extended/field/field02/src/F02CalorimeterSD.cc +++ b/examples/extended/field/field02/src/F02CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: F02CalorimeterSD.cc,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02DetectorConstruction.cc b/examples/extended/field/field02/src/F02DetectorConstruction.cc index 31636c581e..0b5f01402f 100644 --- a/examples/extended/field/field02/src/F02DetectorConstruction.cc +++ b/examples/extended/field/field02/src/F02DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: F02DetectorConstruction.cc,v 1.5 2001/10/26 13:42:45 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02DetectorMessenger.cc b/examples/extended/field/field02/src/F02DetectorMessenger.cc index 199030d196..421a5cb0fa 100644 --- a/examples/extended/field/field02/src/F02DetectorMessenger.cc +++ b/examples/extended/field/field02/src/F02DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02DetectorMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02ElectroMagneticField.cc b/examples/extended/field/field02/src/F02ElectroMagneticField.cc index eece0619d9..c1d27842f4 100644 --- a/examples/extended/field/field02/src/F02ElectroMagneticField.cc +++ b/examples/extended/field/field02/src/F02ElectroMagneticField.cc @@ -22,7 +22,7 @@ // // // $Id: F02ElectroMagneticField.cc,v 1.5 2001/11/12 09:41:26 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // User Field class implementation. diff --git a/examples/extended/field/field02/src/F02EventAction.cc b/examples/extended/field/field02/src/F02EventAction.cc index d6fc0b5398..6360ded495 100644 --- a/examples/extended/field/field02/src/F02EventAction.cc +++ b/examples/extended/field/field02/src/F02EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: F02EventAction.cc,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02EventActionMessenger.cc b/examples/extended/field/field02/src/F02EventActionMessenger.cc index 6421b17a95..bc1f8bdd8f 100644 --- a/examples/extended/field/field02/src/F02EventActionMessenger.cc +++ b/examples/extended/field/field02/src/F02EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02EventActionMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02FieldMessenger.cc b/examples/extended/field/field02/src/F02FieldMessenger.cc index 8684c2f2f2..38c6e9b9f7 100644 --- a/examples/extended/field/field02/src/F02FieldMessenger.cc +++ b/examples/extended/field/field02/src/F02FieldMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02FieldMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02PhysicsList.cc b/examples/extended/field/field02/src/F02PhysicsList.cc index 6ad79e7f97..75e20c6d90 100644 --- a/examples/extended/field/field02/src/F02PhysicsList.cc +++ b/examples/extended/field/field02/src/F02PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: F02PhysicsList.cc,v 1.4 2001/10/25 09:30:53 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: F02PhysicsList.cc,v 1.5 2003/02/20 09:09:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" @@ -198,7 +198,7 @@ void F02PhysicsList::ConstructEM() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { // Construct processes for gamma @@ -350,17 +350,6 @@ void F02PhysicsList::SetCuts() SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>1) DumpCutValuesTable(); theTimer.Stop(); diff --git a/examples/extended/field/field02/src/F02PhysicsListMessenger.cc b/examples/extended/field/field02/src/F02PhysicsListMessenger.cc index b503944211..63377ec05b 100644 --- a/examples/extended/field/field02/src/F02PhysicsListMessenger.cc +++ b/examples/extended/field/field02/src/F02PhysicsListMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02PhysicsListMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc b/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc index aa23dbc39c..5393f5c3c3 100644 --- a/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc +++ b/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: F02PrimaryGeneratorAction.cc,v 1.3 2001/10/15 17:20:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc b/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc index dbbdbf3e50..18cd7b7d15 100644 --- a/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02PrimaryGeneratorMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02RunAction.cc b/examples/extended/field/field02/src/F02RunAction.cc index 8e634e03ac..69a68f7834 100644 --- a/examples/extended/field/field02/src/F02RunAction.cc +++ b/examples/extended/field/field02/src/F02RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: F02RunAction.cc,v 1.4 2001/11/07 16:36:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02RunMessenger.cc b/examples/extended/field/field02/src/F02RunMessenger.cc index 724fb9a886..a350691fa5 100644 --- a/examples/extended/field/field02/src/F02RunMessenger.cc +++ b/examples/extended/field/field02/src/F02RunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02RunMessenger.cc,v 1.4 2002/12/05 01:06:57 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02StepCut.cc b/examples/extended/field/field02/src/F02StepCut.cc index dc9aaa5cbf..5092a523d9 100644 --- a/examples/extended/field/field02/src/F02StepCut.cc +++ b/examples/extended/field/field02/src/F02StepCut.cc @@ -22,7 +22,7 @@ // // // $Id: F02StepCut.cc,v 1.2 2001/07/11 09:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "F02StepCut.hh" diff --git a/examples/extended/field/field02/src/F02SteppingAction.cc b/examples/extended/field/field02/src/F02SteppingAction.cc index 7f22cd57db..878ed6e4a7 100644 --- a/examples/extended/field/field02/src/F02SteppingAction.cc +++ b/examples/extended/field/field02/src/F02SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: F02SteppingAction.cc,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field02/src/F02SteppingMessenger.cc b/examples/extended/field/field02/src/F02SteppingMessenger.cc index a70050adc5..d220653619 100644 --- a/examples/extended/field/field02/src/F02SteppingMessenger.cc +++ b/examples/extended/field/field02/src/F02SteppingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F02SteppingMessenger.cc,v 1.2 2001/07/11 09:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field02/src/F02SteppingVerbose.cc b/examples/extended/field/field02/src/F02SteppingVerbose.cc index 8c2493c422..7537915836 100644 --- a/examples/extended/field/field02/src/F02SteppingVerbose.cc +++ b/examples/extended/field/field02/src/F02SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: F02SteppingVerbose.cc,v 1.4 2001/10/15 17:20:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field02/src/F02VisManager.cc b/examples/extended/field/field02/src/F02VisManager.cc index 94331a782b..62e3e2e1c5 100644 --- a/examples/extended/field/field02/src/F02VisManager.cc +++ b/examples/extended/field/field02/src/F02VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: F02VisManager.cc,v 1.4 2002/11/26 08:28:06 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/field/field03/History b/examples/extended/field/field03/History index 1e2c3c80a2..142125e956 100644 --- a/examples/extended/field/field03/History +++ b/examples/extended/field/field03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2001/11/07 16:36:33 gcosmo Exp $ +$Id: History,v 1.4 2003/02/20 09:14:37 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,10 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Feb 20th, 2003 - V.Ivanchenko (field-V05-00-00) +------------------------------------------------- +- Cut per region + Nov 7th, 2001 - G.Cosmo ----------------------- - More cleanup and fixes to primary generator gun (V.Grichine). diff --git a/examples/extended/field/field03/field03.cc b/examples/extended/field/field03/field03.cc index 25a52c486c..2211d68897 100644 --- a/examples/extended/field/field03/field03.cc +++ b/examples/extended/field/field03/field03.cc @@ -22,7 +22,7 @@ // // // $Id: field03.cc,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field03/field03.out b/examples/extended/field/field03/field03.out index 3a6b4d637c..74b79bbf9b 100644 --- a/examples/extended/field/field03/field03.out +++ b/examples/extended/field/field03/field03.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** G4ClassicalRK4 (default) is called @@ -84,6 +84,10 @@ zModule = 21790 mm phot: Total cross sections from Sandia parametrisation. F03PhysicsList::SetCuts:CutLength : 1 mm +total time(SetCuts)=0 s +G4ClassicalRK4 (default) is called +The minimal step is equal to 10 mm + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -94,7 +98,8 @@ conv: Total cross sections from a parametrisation. Good description from 1.5 Me eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -107,6 +112,17 @@ msc: Tables of transport mean free paths. displacement of the particle , too. PhysicsTables from 100 eV to 100 TeV in 100 bins. +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + MuIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. @@ -120,46 +136,17 @@ MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. +========= Table of registered couples ============================== -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== -total time(SetCuts)=16.25 s -G4ClassicalRK4 (default) is called -The minimal step is equal to 10 mm -============= The cut Energy ============================== - gamma e- -Cut in range - Mylar 1 mm 1 mm - Polypropelene 1 mm 1 mm - Kr 1 mm 1 mm - Argon 1 mm 1 mm - N2 1 mm 1 mm - O2 1 mm 1 mm - Air 1 mm 1 mm - Xenon 1 mm 1 mm - CO2 1 mm 1 mm - Xe20CO2 1 mm 1 mm - Kr20CO2 1 mm 1 mm -Cut in energy - Mylar 3.48 keV 541 keV - Polypropelene 2.75 keV 502 keV - Kr 990 eV 1.07 keV - Argon 990 eV 990 eV - N2 990 eV 990 eV - O2 990 eV 990 eV - Air 990 eV 990 eV - Xenon 990 eV 1.95 keV - CO2 990 eV 990 eV - Xe20CO2 990 eV 1.67 keV - Kr20CO2 990 eV 1.09 keV -=================================================== ### Run 0 start. Start Run processing. @@ -1769,7 +1756,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Run terminated. Run Summary Number of events processed : 100 - User=0.71s Real=2.65s Sys=0.2s + User=0.62s Real=4.22s Sys=0.29s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. diff --git a/examples/extended/field/field03/include/F03CalorHit.hh b/examples/extended/field/field03/include/F03CalorHit.hh index e36f8e8ea9..11228b85dd 100644 --- a/examples/extended/field/field03/include/F03CalorHit.hh +++ b/examples/extended/field/field03/include/F03CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: F03CalorHit.hh,v 1.2 2001/07/11 09:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03CalorimeterSD.hh b/examples/extended/field/field03/include/F03CalorimeterSD.hh index a8b7efe7fc..3a3cd3f344 100644 --- a/examples/extended/field/field03/include/F03CalorimeterSD.hh +++ b/examples/extended/field/field03/include/F03CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: F03CalorimeterSD.hh,v 1.3 2001/10/15 17:20:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03DetectorConstruction.hh b/examples/extended/field/field03/include/F03DetectorConstruction.hh index 6c5851cfc7..f85fc6dfdf 100644 --- a/examples/extended/field/field03/include/F03DetectorConstruction.hh +++ b/examples/extended/field/field03/include/F03DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: F03DetectorConstruction.hh,v 1.4 2001/10/25 10:03:53 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03DetectorMessenger.hh b/examples/extended/field/field03/include/F03DetectorMessenger.hh index 7a9581547b..bf0151d75d 100644 --- a/examples/extended/field/field03/include/F03DetectorMessenger.hh +++ b/examples/extended/field/field03/include/F03DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03DetectorMessenger.hh,v 1.3 2001/10/25 10:03:53 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03ElectroMagneticField.hh b/examples/extended/field/field03/include/F03ElectroMagneticField.hh index ab7b60c8a2..44f5300b9f 100644 --- a/examples/extended/field/field03/include/F03ElectroMagneticField.hh +++ b/examples/extended/field/field03/include/F03ElectroMagneticField.hh @@ -22,7 +22,7 @@ // // // $Id: F03ElectroMagneticField.hh,v 1.3 2001/10/15 17:20:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/field/field03/include/F03EventAction.hh b/examples/extended/field/field03/include/F03EventAction.hh index 664a7f2a39..3082b12877 100644 --- a/examples/extended/field/field03/include/F03EventAction.hh +++ b/examples/extended/field/field03/include/F03EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: F03EventAction.hh,v 1.3 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03EventActionMessenger.hh b/examples/extended/field/field03/include/F03EventActionMessenger.hh index 345e632086..15e11b5d18 100644 --- a/examples/extended/field/field03/include/F03EventActionMessenger.hh +++ b/examples/extended/field/field03/include/F03EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03EventActionMessenger.hh,v 1.2 2001/07/11 09:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03FieldMessenger.hh b/examples/extended/field/field03/include/F03FieldMessenger.hh index 3cc896e6e3..7071df992a 100644 --- a/examples/extended/field/field03/include/F03FieldMessenger.hh +++ b/examples/extended/field/field03/include/F03FieldMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03FieldMessenger.hh,v 1.2 2001/07/11 09:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03PhysicsList.hh b/examples/extended/field/field03/include/F03PhysicsList.hh index 2d78d67056..b831858292 100644 --- a/examples/extended/field/field03/include/F03PhysicsList.hh +++ b/examples/extended/field/field03/include/F03PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: F03PhysicsList.hh,v 1.3 2001/10/15 17:20:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef F03PhysicsList_h diff --git a/examples/extended/field/field03/include/F03PhysicsListMessenger.hh b/examples/extended/field/field03/include/F03PhysicsListMessenger.hh index 2f331c4c8f..5368770b24 100644 --- a/examples/extended/field/field03/include/F03PhysicsListMessenger.hh +++ b/examples/extended/field/field03/include/F03PhysicsListMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03PhysicsListMessenger.hh,v 1.3 2001/10/15 17:20:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh b/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh index a308e0da72..95eb696aab 100644 --- a/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh +++ b/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: F03PrimaryGeneratorAction.hh,v 1.3 2001/10/15 17:20:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh b/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh index b3e9ccbb76..cc20ecd84b 100644 --- a/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03RunAction.hh b/examples/extended/field/field03/include/F03RunAction.hh index 3b83db7ff5..da11b86aa5 100644 --- a/examples/extended/field/field03/include/F03RunAction.hh +++ b/examples/extended/field/field03/include/F03RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: F03RunAction.hh,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03RunMessenger.hh b/examples/extended/field/field03/include/F03RunMessenger.hh index 6ee711d3c0..3601d940be 100644 --- a/examples/extended/field/field03/include/F03RunMessenger.hh +++ b/examples/extended/field/field03/include/F03RunMessenger.hh @@ -23,7 +23,7 @@ // // $Id: F03RunMessenger.hh,v 1.3 2001/10/15 17:20:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03StepCut.hh b/examples/extended/field/field03/include/F03StepCut.hh index e938a901e6..dbd8af605f 100644 --- a/examples/extended/field/field03/include/F03StepCut.hh +++ b/examples/extended/field/field03/include/F03StepCut.hh @@ -22,7 +22,7 @@ // // // $Id: F03StepCut.hh,v 1.3 2001/10/15 17:20:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03SteppingAction.hh b/examples/extended/field/field03/include/F03SteppingAction.hh index f75a24121a..5e7e2c4a41 100644 --- a/examples/extended/field/field03/include/F03SteppingAction.hh +++ b/examples/extended/field/field03/include/F03SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: F03SteppingAction.hh,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/include/F03SteppingMessenger.hh b/examples/extended/field/field03/include/F03SteppingMessenger.hh index 7bd77ddfb6..11769834e2 100644 --- a/examples/extended/field/field03/include/F03SteppingMessenger.hh +++ b/examples/extended/field/field03/include/F03SteppingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: F03SteppingMessenger.hh,v 1.2 2001/07/11 09:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field03/include/F03SteppingVerbose.hh b/examples/extended/field/field03/include/F03SteppingVerbose.hh index f626e4dc26..19a2e6a4e1 100644 --- a/examples/extended/field/field03/include/F03SteppingVerbose.hh +++ b/examples/extended/field/field03/include/F03SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: F03SteppingVerbose.hh,v 1.3 2001/10/15 17:20:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field03/include/F03VisManager.hh b/examples/extended/field/field03/include/F03VisManager.hh index 928f92ec46..70f9160821 100644 --- a/examples/extended/field/field03/include/F03VisManager.hh +++ b/examples/extended/field/field03/include/F03VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: F03VisManager.hh,v 1.2 2001/07/11 09:58:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03CalorHit.cc b/examples/extended/field/field03/src/F03CalorHit.cc index 7f5d09db2d..52a6112c7d 100644 --- a/examples/extended/field/field03/src/F03CalorHit.cc +++ b/examples/extended/field/field03/src/F03CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: F03CalorHit.cc,v 1.2 2001/07/11 09:58:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03CalorimeterSD.cc b/examples/extended/field/field03/src/F03CalorimeterSD.cc index a88aa337ec..a63e1641f7 100644 --- a/examples/extended/field/field03/src/F03CalorimeterSD.cc +++ b/examples/extended/field/field03/src/F03CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: F03CalorimeterSD.cc,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03DetectorConstruction.cc b/examples/extended/field/field03/src/F03DetectorConstruction.cc index 682774a3bc..8eea9dc9eb 100644 --- a/examples/extended/field/field03/src/F03DetectorConstruction.cc +++ b/examples/extended/field/field03/src/F03DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: F03DetectorConstruction.cc,v 1.5 2001/10/26 13:42:45 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03DetectorMessenger.cc b/examples/extended/field/field03/src/F03DetectorMessenger.cc index 2a1bfaa5c7..fc0fe34273 100644 --- a/examples/extended/field/field03/src/F03DetectorMessenger.cc +++ b/examples/extended/field/field03/src/F03DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03DetectorMessenger.cc,v 1.4 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03ElectroMagneticField.cc b/examples/extended/field/field03/src/F03ElectroMagneticField.cc index 4c7ebcf400..4065f97d0d 100644 --- a/examples/extended/field/field03/src/F03ElectroMagneticField.cc +++ b/examples/extended/field/field03/src/F03ElectroMagneticField.cc @@ -22,7 +22,7 @@ // // // $Id: F03ElectroMagneticField.cc,v 1.3 2001/10/15 17:20:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // User Field class implementation. diff --git a/examples/extended/field/field03/src/F03EventAction.cc b/examples/extended/field/field03/src/F03EventAction.cc index 948c45f14b..edc25d8bb5 100644 --- a/examples/extended/field/field03/src/F03EventAction.cc +++ b/examples/extended/field/field03/src/F03EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: F03EventAction.cc,v 1.4 2001/11/07 16:36:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03EventActionMessenger.cc b/examples/extended/field/field03/src/F03EventActionMessenger.cc index 9d7ddd2ce0..0c368dc5d7 100644 --- a/examples/extended/field/field03/src/F03EventActionMessenger.cc +++ b/examples/extended/field/field03/src/F03EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03EventActionMessenger.cc,v 1.3 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03FieldMessenger.cc b/examples/extended/field/field03/src/F03FieldMessenger.cc index 3beedb10c3..3dc628f3cc 100644 --- a/examples/extended/field/field03/src/F03FieldMessenger.cc +++ b/examples/extended/field/field03/src/F03FieldMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03FieldMessenger.cc,v 1.4 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03PhysicsList.cc b/examples/extended/field/field03/src/F03PhysicsList.cc index b5c39702e6..f9d2fe656d 100644 --- a/examples/extended/field/field03/src/F03PhysicsList.cc +++ b/examples/extended/field/field03/src/F03PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: F03PhysicsList.cc,v 1.4 2001/10/25 10:03:54 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: F03PhysicsList.cc,v 1.5 2003/02/20 09:14:38 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" @@ -198,7 +198,7 @@ void F03PhysicsList::ConstructEM() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); - + if (particleName == "gamma") { // Construct processes for gamma @@ -342,26 +342,15 @@ void F03PhysicsList::SetCuts() { G4cout << "F03PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + } // set cut values for gamma at first and for e- second and next for e+, // because some processes for e+/e- need cut values for gamma - + SetCutValue(cutForGamma,"gamma"); SetCutValue(cutForElectron,"e-"); SetCutValue(cutForElectron,"e+"); - SetCutValue(defaultCutValue,"mu-"); - SetCutValue(defaultCutValue,"mu+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); - if (verboseLevel>1) DumpCutValuesTable(); theTimer.Stop(); diff --git a/examples/extended/field/field03/src/F03PhysicsListMessenger.cc b/examples/extended/field/field03/src/F03PhysicsListMessenger.cc index 542c8ea216..c19ebacd68 100644 --- a/examples/extended/field/field03/src/F03PhysicsListMessenger.cc +++ b/examples/extended/field/field03/src/F03PhysicsListMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03PhysicsListMessenger.cc,v 1.3 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc b/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc index ff5b8c5004..db7cc241ed 100644 --- a/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc +++ b/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: F03PrimaryGeneratorAction.cc,v 1.4 2001/11/07 14:34:43 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc b/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc index 6a582a0328..34d9ada758 100644 --- a/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03PrimaryGeneratorMessenger.cc,v 1.4 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03RunAction.cc b/examples/extended/field/field03/src/F03RunAction.cc index b93be8c120..da5a03cc6c 100644 --- a/examples/extended/field/field03/src/F03RunAction.cc +++ b/examples/extended/field/field03/src/F03RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: F03RunAction.cc,v 1.5 2001/11/07 16:36:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "F03RunAction.hh" diff --git a/examples/extended/field/field03/src/F03RunMessenger.cc b/examples/extended/field/field03/src/F03RunMessenger.cc index 0b38164229..f426c6c202 100644 --- a/examples/extended/field/field03/src/F03RunMessenger.cc +++ b/examples/extended/field/field03/src/F03RunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03RunMessenger.cc,v 1.4 2002/12/05 01:06:58 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03StepCut.cc b/examples/extended/field/field03/src/F03StepCut.cc index 4c319da27b..6e2df01cbe 100644 --- a/examples/extended/field/field03/src/F03StepCut.cc +++ b/examples/extended/field/field03/src/F03StepCut.cc @@ -22,7 +22,7 @@ // // // $Id: F03StepCut.cc,v 1.2 2001/07/11 09:58:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "F03StepCut.hh" diff --git a/examples/extended/field/field03/src/F03SteppingAction.cc b/examples/extended/field/field03/src/F03SteppingAction.cc index c7cfe292f5..7c4f82eddc 100644 --- a/examples/extended/field/field03/src/F03SteppingAction.cc +++ b/examples/extended/field/field03/src/F03SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: F03SteppingAction.cc,v 1.4 2001/11/07 16:36:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/field/field03/src/F03SteppingMessenger.cc b/examples/extended/field/field03/src/F03SteppingMessenger.cc index 465200a6e7..451530846c 100644 --- a/examples/extended/field/field03/src/F03SteppingMessenger.cc +++ b/examples/extended/field/field03/src/F03SteppingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: F03SteppingMessenger.cc,v 1.3 2001/10/15 17:20:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field03/src/F03SteppingVerbose.cc b/examples/extended/field/field03/src/F03SteppingVerbose.cc index 8fe9046b6d..1a32edd0db 100644 --- a/examples/extended/field/field03/src/F03SteppingVerbose.cc +++ b/examples/extended/field/field03/src/F03SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: F03SteppingVerbose.cc,v 1.3 2001/10/15 17:20:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/field/field03/src/F03VisManager.cc b/examples/extended/field/field03/src/F03VisManager.cc index e63372de6f..a2d2a415a6 100644 --- a/examples/extended/field/field03/src/F03VisManager.cc +++ b/examples/extended/field/field03/src/F03VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: F03VisManager.cc,v 1.4 2002/11/26 08:28:06 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.cc b/examples/extended/g3tog4/clGeometry/clGeometry.cc index 45ed64089e..72b9840eea 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.cc +++ b/examples/extended/g3tog4/clGeometry/clGeometry.cc @@ -22,7 +22,7 @@ // // // $Id: clGeometry.cc,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.out b/examples/extended/g3tog4/clGeometry/clGeometry.out index 393d5d481f..5e2868ce12 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.out +++ b/examples/extended/g3tog4/clGeometry/clGeometry.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat" @@ -73,7 +73,12 @@ Construct processes phot: Total cross sections from Sandia parametrisation. G3toG4PhysicsList::SetCuts:CutLength : 2 mm -G4VUserPhysicsList::SetCutValue :Set cuts for gamma +/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test601/test601.in +/gun/position 0. -1.5 0. mm +/gun/direction 0. 1. 0. +/gun/energy 1 GeV +/gun/particle mu- +/run/beamOn 1 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -82,7 +87,6 @@ compt: Total cross sections from a parametrisation. Good description from 10 Ke conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. e+e- energies according Bethe-Heitler PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. -G4VUserPhysicsList::SetCutValue :Set cuts for e- msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -91,19 +95,18 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. log scale extrapolation above 100 GeV Gamma energy sampled from a parametrised formula. PhysicsTables from 1 keV to 100 TeV in 100 bins. -G4VUserPhysicsList::SetCutValue :Set cuts for e+ annihil: Total cross section from Heilter formula(annihilation into 2 photons). gamma energies sampled according Heitler PhysicsTables from 10 keV to 10 TeV in 100 bins. -G4VUserPhysicsList::SetCutValue :Set cuts for proton msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -114,21 +117,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. -G4VUserPhysicsList::SetCutValue :Set cuts for anti_proton -G4VUserPhysicsList::SetCutValueForOthers :2[mm] -Set cuts for anti_kaon0 -Set cuts for anti_neutron -Set cuts for anti_nu_e -Set cuts for anti_nu_mu -Set cuts for chargedgeantino -Set cuts for eta -Set cuts for eta_prime -Set cuts for geantino -Set cuts for kaon+ -Set cuts for kaon- -Set cuts for kaon0 -Set cuts for kaon0L -Set cuts for kaon0S + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -147,58 +136,18 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -Set cuts for mu+ -Set cuts for mu- -Set cuts for neutron -Set cuts for nu_e -Set cuts for nu_mu -Set cuts for opticalphoton -Set cuts for pi+ -Set cuts for pi- -Set cuts for pi0 -============= The cut Energy ============================== - gamma e- -Cut in range - HYDROGEN 2 mm 2 mm - DEUTERIUM 2 mm 2 mm - HELIUM 2 mm 2 mm - LITHIUM 2 mm 2 mm - BERILLIUM 2 mm 2 mm - CARBON 2 mm 2 mm - NITROGEN 2 mm 2 mm - NEON 2 mm 2 mm - ALUMINIUM 2 mm 2 mm - IRON 2 mm 2 mm - COPPER 2 mm 2 mm - TUNGSTEN 2 mm 2 mm - LEAD 2 mm 2 mm - URANIUM 2 mm 2 mm - AIR 2 mm 2 mm - VACUUM 2 mm 2 mm -Cut in energy - HYDROGEN 990 eV 162 keV - DEUTERIUM 990 eV 271 keV - HELIUM 990 eV 145 keV - LITHIUM 1.33 keV 322 keV - BERILLIUM 2.4 keV 782 keV - CARBON 4.3 keV 976 keV - NITROGEN 3.34 keV 444 keV - NEON 5.38 keV 568 keV - ALUMINIUM 9.56 keV 1.03 MeV - IRON 29.5 keV 2.43 MeV - COPPER 35.7 keV 2.68 MeV - TUNGSTEN 133 keV 4.66 MeV - LEAD 121 keV 2.61 MeV - URANIUM 169 keV 4.28 MeV - AIR 990 eV 990 eV - VACUUM 990 eV 990 eV -=================================================== -/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test601/test601.in -/gun/position 0. -1.5 0. mm -/gun/direction 0. 1. 0. -/gun/energy 1 GeV -/gun/particle mu- -/run/beamOn 1 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : VACUUM + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. Start Run processing. >>>>>>>> Primary direction: (0,1,0) @@ -234,7 +183,7 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0s Sys=0s + User=0s Real=0.01s Sys=0.01s /gun/particle e- /run/beamOn 1 ### Run 2 start. @@ -351,7 +300,7 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0.01s Sys=0.01s + User=0.01s Real=0.01s Sys=0s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh index bbea6821d5..e484adddb6 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3toG4DetectorConstruction.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3toG4DetectorConstruction.hh,v 1.3 2003/02/20 08:48:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4DetectorConstruction_h #define G3toG4DetectorConstruction_h 1 @@ -44,12 +44,12 @@ class G3toG4DetectorConstruction : public G4VUserDetectorConstruction { public: G3toG4DetectorConstruction(G4String inFile="svt.dat"); - + ~G3toG4DetectorConstruction(); - + G4VPhysicalVolume* Construct(); G4LogicalVolume* SimpleConstruct(); - + private: G4String _inFile; G4VPhysicalVolume* _pv; diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh index 4d0c04471a..883baf8ae9 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventAction.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh index 095b5335c3..a9b6731785 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventActionMessenger.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh index 1b35e20328..ef3670e954 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4PhysicsList.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh index bd73889f25..a6afa37be2 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4PrimaryGeneratorAction_h diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh index 2bfcda0886..2e58dcc1ac 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4RunAction.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4RunAction_h diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh index 4e720e33d7..c92341a324 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4VisManager.hh,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc index 17079b9886..21c63b33ff 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3toG4DetectorConstruction.cc,v 1.2 2001/07/11 09:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3toG4DetectorConstruction.cc,v 1.3 2003/02/20 08:48:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //-------------------------------------------------------------------------- // G3toG4DetectorConstruction. Most the work is Done in @@ -57,15 +57,15 @@ G3toG4DetectorConstruction::Construct(){ false, 0); G4cout << "Top-level G3toG4 logical volume " << _lv->GetName() << " " << *(_lv -> GetVisAttributes()) << G4endl; - } else + } else G4cerr << "creation of logical mother failed !!!" << G4endl; return _pv; } G4LogicalVolume* G3toG4DetectorConstruction::SimpleConstruct(){ G4String name, symbol; //a=mass of a mole; - G4double a, z, density, fractionmass; //z=mean number of protons; - G4int ncomponents, iz, n; //iz=number of protons in an isotope; + G4double a, z, density, fractionmass; //z=mean number of protons; + G4int ncomponents; //iz=number of protons in an isotope; // n=number of nucleons in an isotope; a = 14.01*g/mole; @@ -86,22 +86,22 @@ G3toG4DetectorConstruction::SimpleConstruct(){ 100*cm, 100*cm, 100*cm); //its size G4VSolid* Daughter = new G4Box("TestDaughter", 50*cm, 20*cm, 10*cm); - + G4LogicalVolume* logicMother = new G4LogicalVolume(Mother, //its solid Air, //its material "LTestMother");//its name - + G4LogicalVolume* logicDaughter = new G4LogicalVolume(Daughter, //its solid Air, //its material - "LTestDaughter"); + "LTestDaughter"); G4VPhysicalVolume* physiDaughter = new G4PVPlacement(0, G4ThreeVector(), logicDaughter, "PTestDaughter", - logicMother, + logicMother, false,0); - // + // // Visualization attributes // @@ -121,6 +121,3 @@ G3toG4DetectorConstruction::SimpleConstruct(){ - - - diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc index 06ae594a04..7ce0c369a5 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventAction.cc,v 1.3 2001/10/23 13:32:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc index 6ea0117e47..086c732e9a 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventActionMessenger.cc,v 1.3 2002/12/05 01:06:59 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc index 8e2b12d63d..34aa45bd34 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3toG4PhysicsList.cc,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3toG4PhysicsList.cc,v 1.3 2003/02/20 08:48:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -38,7 +38,7 @@ #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" #include "G4Material.hh" -#include "G4ios.hh" +#include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -201,7 +201,7 @@ void G3toG4PhysicsList::ConstructEM() (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(), -1,2,2); + pmanager->AddProcess(new G4hIonisation(), -1,2,2); } } } @@ -217,7 +217,7 @@ void G3toG4PhysicsList::ConstructGeneral() while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { + if (theDecayProcess->IsApplicable(*particle)) { pmanager ->AddProcess(theDecayProcess); // set ordering for PostStepDoIt and AtRestDoIt pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); @@ -235,27 +235,19 @@ void G3toG4PhysicsList::SetCuts() { if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; currentDefaultCut = defaultCutValue; } - + if (verboseLevel >0){ G4cout << "G3toG4PhysicsList::SetCuts:"; - G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma + // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForElectron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc index 986371af65..927868094a 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.cc,v 1.3 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc index 2d4c1a9660..0b50efa557 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4RunAction.cc,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ios.hh" diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc index 00e1637c52..6d7ee1ef07 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4VisManager.cc,v 1.5 2002/11/26 08:28:06 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/g3tog4/cltog4/cltog4.cc b/examples/extended/g3tog4/cltog4/cltog4.cc index 3d9a2baf53..3fad2cf72d 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.cc +++ b/examples/extended/g3tog4/cltog4/cltog4.cc @@ -22,7 +22,7 @@ // // // $Id: cltog4.cc,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // #include "G4ios.hh" diff --git a/examples/extended/g3tog4/cltog4/cltog4.out b/examples/extended/g3tog4/cltog4/cltog4.out index f294bca512..319714b66e 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.out +++ b/examples/extended/g3tog4/cltog4/cltog4.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat" @@ -55,6 +55,15 @@ Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visib phot: Total cross sections from Sandia parametrisation. G3toG4PhysicsList::SetCuts:CutLength : 2 mm +/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test602/test602.in +/control/verbose 1 +/tracking/verbose 1 +/run/initialize +/gun/position 0. -1.5 0. +/gun/direction 0. 1. 0. +/gun/energy 1 GeV +/gun/particle chargedgeantino +/run/beamOn 10 compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. @@ -71,7 +80,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -92,6 +102,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -110,52 +121,18 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - HYDROGEN 2 mm 2 mm - DEUTERIUM 2 mm 2 mm - HELIUM 2 mm 2 mm - LITHIUM 2 mm 2 mm - BERILLIUM 2 mm 2 mm - CARBON 2 mm 2 mm - NITROGEN 2 mm 2 mm - NEON 2 mm 2 mm - ALUMINIUM 2 mm 2 mm - IRON 2 mm 2 mm - COPPER 2 mm 2 mm - TUNGSTEN 2 mm 2 mm - LEAD 2 mm 2 mm - URANIUM 2 mm 2 mm - AIR 2 mm 2 mm - VACUUM 2 mm 2 mm -Cut in energy - HYDROGEN 990 eV 162 keV - DEUTERIUM 990 eV 271 keV - HELIUM 990 eV 145 keV - LITHIUM 1.33 keV 322 keV - BERILLIUM 2.4 keV 782 keV - CARBON 4.3 keV 976 keV - NITROGEN 3.34 keV 444 keV - NEON 5.38 keV 568 keV - ALUMINIUM 9.56 keV 1.03 MeV - IRON 29.5 keV 2.43 MeV - COPPER 35.7 keV 2.68 MeV - TUNGSTEN 133 keV 4.66 MeV - LEAD 121 keV 2.61 MeV - URANIUM 169 keV 4.28 MeV - AIR 990 eV 990 eV - VACUUM 990 eV 990 eV -=================================================== -/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test602/test602.in -/control/verbose 1 -/tracking/verbose 1 -/run/initialize -/gun/position 0. -1.5 0. -/gun/direction 0. 1. 0. -/gun/energy 1 GeV -/gun/particle chargedgeantino -/run/beamOn 10 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : VACUUM + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. Start Run processing. >>>>>>>> Primary direction: (0,1,0) diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh index 4911e6155b..280d24e829 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4DetectorConstruction.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4DetectorConstruction_h #define G3toG4DetectorConstruction_h 1 diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh index aa89f77ef7..7135a0a9c2 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventAction.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh index 4b6011bfc1..5ec5cf160f 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventActionMessenger.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh index 85d8de38e3..daaa7c5257 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4PhysicsList.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh index d7fab13bbc..24a496dc04 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4PrimaryGeneratorAction_h diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh index 887824c0ce..e248c98556 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4RunAction.hh,v 1.2 2001/07/11 09:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G3toG4RunAction_h diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh b/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh index ea4f5d9fa9..6b33b23135 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4VisManager.hh,v 1.2 2001/07/11 09:58:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc index 65276a9965..4af34089a3 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3toG4DetectorConstruction.cc,v 1.2 2001/07/11 09:58:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3toG4DetectorConstruction.cc,v 1.3 2003/02/20 08:52:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //-------------------------------------------------------------------------- // G3toG4DetectorConstruction. Most the work is Done in @@ -57,15 +57,15 @@ G3toG4DetectorConstruction::Construct(){ false, 0); G4cout << "Top-level G3toG4 logical volume " << _lv->GetName() << " " << *(_lv -> GetVisAttributes()) << G4endl; - } else + } else G4cerr << "creation of logical mother failed !!!" << G4endl; return _pv; } G4LogicalVolume* G3toG4DetectorConstruction::SimpleConstruct(){ G4String name, symbol; //a=mass of a mole; - G4double a, z, density, fractionmass; //z=mean number of protons; - G4int ncomponents, iz, n; //iz=number of protons in an isotope; + G4double a, z, density, fractionmass; //z=mean number of protons; + G4int ncomponents; //iz=number of protons in an isotope; // n=number of nucleons in an isotope; a = 14.01*g/mole; diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc index 721d65a8e2..864b0d43fb 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventAction.cc,v 1.3 2001/10/23 13:32:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc index 6ea0117e47..086c732e9a 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4EventActionMessenger.cc,v 1.3 2002/12/05 01:06:59 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc index 19a2d5eb3f..c4710cf9b8 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3toG4PhysicsList.cc,v 1.2 2001/07/11 09:58:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3toG4PhysicsList.cc,v 1.3 2003/02/20 08:52:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -38,7 +38,7 @@ #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" #include "G4Material.hh" -#include "G4ios.hh" +#include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -201,7 +201,7 @@ void G3toG4PhysicsList::ConstructEM() (particle->GetParticleName() != "chargedgeantino")) { //all others charged particles except geantino pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(), -1,2,2); + pmanager->AddProcess(new G4hIonisation(), -1,2,2); } } } @@ -217,7 +217,7 @@ void G3toG4PhysicsList::ConstructGeneral() while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { + if (theDecayProcess->IsApplicable(*particle)) { pmanager ->AddProcess(theDecayProcess); // set ordering for PostStepDoIt and AtRestDoIt pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); @@ -235,27 +235,20 @@ void G3toG4PhysicsList::SetCuts() { if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue; if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue; - if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue; currentDefaultCut = defaultCutValue; } - + if (verboseLevel >0){ G4cout << "G3toG4PhysicsList::SetCuts:"; - G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma + // because some processes for e+/e- need cut values for gamma SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForElectron, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cutForProton, "proton"); - SetCutValue(cutForProton, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); + if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc index debecc4b38..1307fe6c59 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.cc,v 1.3 2001/07/11 09:58:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc index 68d18b7e9c..780b55c865 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4RunAction.cc,v 1.2 2001/07/11 09:58:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ios.hh" diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc b/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc index f8ea0dd5ef..84ab0ae43f 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4VisManager.cc,v 1.5 2002/11/26 08:28:07 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/gdml/N03gdml/NO3gogdml.cc b/examples/extended/gdml/N03gdml/NO3gogdml.cc index af4b0991df..b8693dd761 100644 --- a/examples/extended/gdml/N03gdml/NO3gogdml.cc +++ b/examples/extended/gdml/N03gdml/NO3gogdml.cc @@ -22,7 +22,7 @@ // // // $Id: NO3gogdml.cc,v 1.1.1.1 2002/05/31 00:34:43 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/N03gdml/exampleN03.out b/examples/extended/gdml/N03gdml/exampleN03.out index 17f06fd21b..ec3cf18f89 100644 --- a/examples/extended/gdml/N03gdml/exampleN03.out +++ b/examples/extended/gdml/N03gdml/exampleN03.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (28-Feb-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/gdml/N03gdml/include/ExN03CalorHit.hh b/examples/extended/gdml/N03gdml/include/ExN03CalorHit.hh index 8a49591ee8..d8b5aba129 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03CalorHit.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorHit.hh,v 1.1.1.1 2002/05/31 00:34:43 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03CalorimeterSD.hh b/examples/extended/gdml/N03gdml/include/ExN03CalorimeterSD.hh index 58e4510eca..521609fada 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03CalorimeterSD.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorimeterSD.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03DetectorConstruction.hh b/examples/extended/gdml/N03gdml/include/ExN03DetectorConstruction.hh index 0b65b54c0e..df8a14cfc2 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03DetectorConstruction.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03DetectorConstruction.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/N03gdml/include/ExN03DetectorMessenger.hh b/examples/extended/gdml/N03gdml/include/ExN03DetectorMessenger.hh index 31a1b69365..7d7e3fab90 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03DetectorMessenger.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03DetectorMessenger.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03EventAction.hh b/examples/extended/gdml/N03gdml/include/ExN03EventAction.hh index 8ed2a567ef..5a1ec06e6c 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03EventAction.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03EventAction.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03EventActionMessenger.hh b/examples/extended/gdml/N03gdml/include/ExN03EventActionMessenger.hh index c94e97a171..0f5db74efd 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03EventActionMessenger.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03EventActionMessenger.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03PhysicsList.hh b/examples/extended/gdml/N03gdml/include/ExN03PhysicsList.hh index 55bea2ba7c..e0379e79c5 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03PhysicsList.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03PhysicsList.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorAction.hh b/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorAction.hh index abc6299682..9b3f186738 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorMessenger.hh b/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorMessenger.hh index 4509387833..ca655303f5 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03RunAction.hh b/examples/extended/gdml/N03gdml/include/ExN03RunAction.hh index 23d84353bb..1adbba7ef5 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03RunAction.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03RunAction.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03SteppingAction.hh b/examples/extended/gdml/N03gdml/include/ExN03SteppingAction.hh index 5ab58ef44b..4f3c523c33 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03SteppingAction.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingAction.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/include/ExN03SteppingVerbose.hh b/examples/extended/gdml/N03gdml/include/ExN03SteppingVerbose.hh index 93abca0abf..def5b62f52 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03SteppingVerbose.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingVerbose.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/gdml/N03gdml/include/ExN03VisManager.hh b/examples/extended/gdml/N03gdml/include/ExN03VisManager.hh index f23935b5c1..95b8b5ffb1 100644 --- a/examples/extended/gdml/N03gdml/include/ExN03VisManager.hh +++ b/examples/extended/gdml/N03gdml/include/ExN03VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03VisManager.hh,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03CalorHit.cc b/examples/extended/gdml/N03gdml/src/ExN03CalorHit.cc index 8747048c68..0fa69b60e9 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03CalorHit.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorHit.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03CalorimeterSD.cc b/examples/extended/gdml/N03gdml/src/ExN03CalorimeterSD.cc index e0d32a4a98..3f7a9fab88 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03CalorimeterSD.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorimeterSD.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03DetectorConstruction.cc b/examples/extended/gdml/N03gdml/src/ExN03DetectorConstruction.cc index d7cd44d67a..159110c544 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03DetectorConstruction.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03DetectorConstruction.cc,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/N03gdml/src/ExN03DetectorMessenger.cc b/examples/extended/gdml/N03gdml/src/ExN03DetectorMessenger.cc index 138f8d713f..40575729c7 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03DetectorMessenger.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03DetectorMessenger.cc,v 1.2 2002/12/05 01:06:59 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03EventAction.cc b/examples/extended/gdml/N03gdml/src/ExN03EventAction.cc index 73db084304..a14310c161 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03EventAction.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03EventAction.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03EventActionMessenger.cc b/examples/extended/gdml/N03gdml/src/ExN03EventActionMessenger.cc index 1848280905..85833cdb8f 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03EventActionMessenger.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03EventActionMessenger.cc,v 1.2 2002/12/05 01:06:59 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03PhysicsList.cc b/examples/extended/gdml/N03gdml/src/ExN03PhysicsList.cc index f80dbf9198..660934f7c7 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03PhysicsList.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03PhysicsList.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorAction.cc b/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorAction.cc index 10fb464e68..72057a2c23 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.cc,v 1.2 2002/06/03 09:59:37 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorMessenger.cc b/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorMessenger.cc index 3ebecccbdb..91aa8767ea 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.2 2002/12/05 01:06:59 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03RunAction.cc b/examples/extended/gdml/N03gdml/src/ExN03RunAction.cc index 5030f6aa90..3341785958 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03RunAction.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03RunAction.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03SteppingAction.cc b/examples/extended/gdml/N03gdml/src/ExN03SteppingAction.cc index 7579984cb2..f75b996dea 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03SteppingAction.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingAction.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/gdml/N03gdml/src/ExN03SteppingVerbose.cc b/examples/extended/gdml/N03gdml/src/ExN03SteppingVerbose.cc index e4c1362288..24e78042f9 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03SteppingVerbose.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingVerbose.cc,v 1.1.1.1 2002/05/31 00:34:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/gdml/N03gdml/src/ExN03VisManager.cc b/examples/extended/gdml/N03gdml/src/ExN03VisManager.cc index 0901d24b76..f51e52a187 100644 --- a/examples/extended/gdml/N03gdml/src/ExN03VisManager.cc +++ b/examples/extended/gdml/N03gdml/src/ExN03VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03VisManager.cc,v 1.2 2002/11/26 08:28:07 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/gdml/libgdml/management/include/GDMLDefineTable.hh b/examples/extended/gdml/libgdml/management/include/GDMLDefineTable.hh index 27b4d67163..051c47c466 100644 --- a/examples/extended/gdml/libgdml/management/include/GDMLDefineTable.hh +++ b/examples/extended/gdml/libgdml/management/include/GDMLDefineTable.hh @@ -22,7 +22,7 @@ // // // $Id: GDMLDefineTable.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/include/GDMLExpressionEvaluator.hh b/examples/extended/gdml/libgdml/management/include/GDMLExpressionEvaluator.hh index 1bd6d952a8..fc9cc29b20 100644 --- a/examples/extended/gdml/libgdml/management/include/GDMLExpressionEvaluator.hh +++ b/examples/extended/gdml/libgdml/management/include/GDMLExpressionEvaluator.hh @@ -22,7 +22,7 @@ // // // $Id: GDMLExpressionEvaluator.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/include/GDMLLinkResolver.hh b/examples/extended/gdml/libgdml/management/include/GDMLLinkResolver.hh index 3793acdb3f..8a1bc7dbb1 100644 --- a/examples/extended/gdml/libgdml/management/include/GDMLLinkResolver.hh +++ b/examples/extended/gdml/libgdml/management/include/GDMLLinkResolver.hh @@ -22,7 +22,7 @@ // // // $Id: GDMLLinkResolver.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/include/GDMLProcessor.hh b/examples/extended/gdml/libgdml/management/include/GDMLProcessor.hh index 948d4b9938..f70437c0f2 100644 --- a/examples/extended/gdml/libgdml/management/include/GDMLProcessor.hh +++ b/examples/extended/gdml/libgdml/management/include/GDMLProcessor.hh @@ -22,7 +22,7 @@ // // // $Id: GDMLProcessor.hh,v 1.3 2002/08/19 07:35:16 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/src/GDMLExpressionEvaluator.cc b/examples/extended/gdml/libgdml/management/src/GDMLExpressionEvaluator.cc index 804898661a..7a6c827833 100644 --- a/examples/extended/gdml/libgdml/management/src/GDMLExpressionEvaluator.cc +++ b/examples/extended/gdml/libgdml/management/src/GDMLExpressionEvaluator.cc @@ -22,7 +22,7 @@ // // // $Id: GDMLExpressionEvaluator.cc,v 1.3 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/src/GDMLLinkResolver.cc b/examples/extended/gdml/libgdml/management/src/GDMLLinkResolver.cc index fcbeb57c2a..d44aec7e9b 100644 --- a/examples/extended/gdml/libgdml/management/src/GDMLLinkResolver.cc +++ b/examples/extended/gdml/libgdml/management/src/GDMLLinkResolver.cc @@ -22,7 +22,7 @@ // // // $Id: GDMLLinkResolver.cc,v 1.3 2002/07/24 17:48:42 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/management/src/GDMLProcessor.cc b/examples/extended/gdml/libgdml/management/src/GDMLProcessor.cc index 1dc7c603f8..c6bf653dbc 100644 --- a/examples/extended/gdml/libgdml/management/src/GDMLProcessor.cc +++ b/examples/extended/gdml/libgdml/management/src/GDMLProcessor.cc @@ -22,7 +22,7 @@ // // // $Id: GDMLProcessor.cc,v 1.3 2002/08/19 07:35:50 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/BooleanSolidTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/BooleanSolidTypeProcess.hh index 8af190890e..556b1afa29 100644 --- a/examples/extended/gdml/libgdml/processes/include/BooleanSolidTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/BooleanSolidTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: BooleanSolidTypeProcess.hh,v 1.3 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/MaterialTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/MaterialTypeProcess.hh index 64b14f72b1..337364e627 100644 --- a/examples/extended/gdml/libgdml/processes/include/MaterialTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/MaterialTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialTypeProcess.hh,v 1.3 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/QuantityTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/QuantityTypeProcess.hh index 5cd044dc9e..4102ca902e 100644 --- a/examples/extended/gdml/libgdml/processes/include/QuantityTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/QuantityTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: QuantityTypeProcess.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/ReferenceTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/ReferenceTypeProcess.hh index 39b1e2df0d..80aa3f8b73 100644 --- a/examples/extended/gdml/libgdml/processes/include/ReferenceTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/ReferenceTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: ReferenceTypeProcess.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/SinglePlacementTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/SinglePlacementTypeProcess.hh index e06ad5387e..bc12d6482e 100644 --- a/examples/extended/gdml/libgdml/processes/include/SinglePlacementTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/SinglePlacementTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: SinglePlacementTypeProcess.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/include/SolidTypeProcess.hh b/examples/extended/gdml/libgdml/processes/include/SolidTypeProcess.hh index 3ccea6c005..e98bd942a5 100644 --- a/examples/extended/gdml/libgdml/processes/include/SolidTypeProcess.hh +++ b/examples/extended/gdml/libgdml/processes/include/SolidTypeProcess.hh @@ -22,7 +22,7 @@ // // // $Id: SolidTypeProcess.hh,v 1.2 2002/06/03 12:09:31 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/DProcess.cc b/examples/extended/gdml/libgdml/processes/src/DProcess.cc index 830a7eac98..d66bf3509d 100644 --- a/examples/extended/gdml/libgdml/processes/src/DProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/DProcess.cc @@ -22,7 +22,7 @@ // // // $Id: DProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/DrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/DrefProcess.cc index 4bac59ea2a..877fe8e883 100644 --- a/examples/extended/gdml/libgdml/processes/src/DrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/DrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: DrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/LibLoadProcesses.cc b/examples/extended/gdml/libgdml/processes/src/LibLoadProcesses.cc index a080653570..41fd89c050 100644 --- a/examples/extended/gdml/libgdml/processes/src/LibLoadProcesses.cc +++ b/examples/extended/gdml/libgdml/processes/src/LibLoadProcesses.cc @@ -22,7 +22,7 @@ // // // $Id: LibLoadProcesses.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/PProcess.cc b/examples/extended/gdml/libgdml/processes/src/PProcess.cc index bc6b50f97d..16778627a7 100644 --- a/examples/extended/gdml/libgdml/processes/src/PProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/PProcess.cc @@ -22,7 +22,7 @@ // // // $Id: PProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/PrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/PrefProcess.cc index 9c4081311f..4d07ec636d 100644 --- a/examples/extended/gdml/libgdml/processes/src/PrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/PrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: PrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/TProcess.cc b/examples/extended/gdml/libgdml/processes/src/TProcess.cc index 354abeaee2..f72eb1fa2c 100644 --- a/examples/extended/gdml/libgdml/processes/src/TProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/TProcess.cc @@ -22,7 +22,7 @@ // // // $Id: TProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/TrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/TrefProcess.cc index 1e85260c10..7c1a90518c 100644 --- a/examples/extended/gdml/libgdml/processes/src/TrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/TrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: TrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/assemblyProcess.cc b/examples/extended/gdml/libgdml/processes/src/assemblyProcess.cc index d5713c509f..0a0db9d0df 100644 --- a/examples/extended/gdml/libgdml/processes/src/assemblyProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/assemblyProcess.cc @@ -22,7 +22,7 @@ // // // $Id: assemblyProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/atomProcess.cc b/examples/extended/gdml/libgdml/processes/src/atomProcess.cc index 03d4ea2a6b..a89e74c043 100644 --- a/examples/extended/gdml/libgdml/processes/src/atomProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/atomProcess.cc @@ -22,7 +22,7 @@ // // // $Id: atomProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/boxProces.cc b/examples/extended/gdml/libgdml/processes/src/boxProces.cc index 04659b3e2e..4b6b9ac170 100644 --- a/examples/extended/gdml/libgdml/processes/src/boxProces.cc +++ b/examples/extended/gdml/libgdml/processes/src/boxProces.cc @@ -22,7 +22,7 @@ // // // $Id: boxProces.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/childProcess.cc b/examples/extended/gdml/libgdml/processes/src/childProcess.cc index e13f3aa588..acea977be8 100644 --- a/examples/extended/gdml/libgdml/processes/src/childProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/childProcess.cc @@ -22,7 +22,7 @@ // // // $Id: childProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/compositeProcess.cc b/examples/extended/gdml/libgdml/processes/src/compositeProcess.cc index 6ed91bb0a8..f08d3f09b0 100644 --- a/examples/extended/gdml/libgdml/processes/src/compositeProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/compositeProcess.cc @@ -22,7 +22,7 @@ // // // $Id: compositeProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/coneProcess.cc b/examples/extended/gdml/libgdml/processes/src/coneProcess.cc index 6c707887fa..14cafe46e0 100644 --- a/examples/extended/gdml/libgdml/processes/src/coneProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/coneProcess.cc @@ -22,7 +22,7 @@ // // // $Id: coneProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/constantProcess.cc b/examples/extended/gdml/libgdml/processes/src/constantProcess.cc index e798159a68..abe4163afd 100644 --- a/examples/extended/gdml/libgdml/processes/src/constantProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/constantProcess.cc @@ -22,7 +22,7 @@ // // // $Id: constantProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/defineProcess.cc b/examples/extended/gdml/libgdml/processes/src/defineProcess.cc index 30560c6825..f96d73373b 100644 --- a/examples/extended/gdml/libgdml/processes/src/defineProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/defineProcess.cc @@ -22,7 +22,7 @@ // // // $Id: defineProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/elementProcess.cc b/examples/extended/gdml/libgdml/processes/src/elementProcess.cc index 1af68b2801..d12c3a850f 100644 --- a/examples/extended/gdml/libgdml/processes/src/elementProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/elementProcess.cc @@ -22,7 +22,7 @@ // // // $Id: elementProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/expressionProcess.cc b/examples/extended/gdml/libgdml/processes/src/expressionProcess.cc index ac27fd9d30..5fb0ba6f80 100644 --- a/examples/extended/gdml/libgdml/processes/src/expressionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/expressionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: expressionProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/firstProcess.cc b/examples/extended/gdml/libgdml/processes/src/firstProcess.cc index 552ec4cbe4..53f131c53b 100644 --- a/examples/extended/gdml/libgdml/processes/src/firstProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/firstProcess.cc @@ -22,7 +22,7 @@ // // // $Id: firstProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/fractionProcess.cc b/examples/extended/gdml/libgdml/processes/src/fractionProcess.cc index a96aed8853..aec2816449 100644 --- a/examples/extended/gdml/libgdml/processes/src/fractionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/fractionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: fractionProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/intersectionProcess.cc b/examples/extended/gdml/libgdml/processes/src/intersectionProcess.cc index dd407be432..3f6d1018a0 100644 --- a/examples/extended/gdml/libgdml/processes/src/intersectionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/intersectionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: intersectionProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/isotopeProcess.cc b/examples/extended/gdml/libgdml/processes/src/isotopeProcess.cc index a01566db4f..14d6a538b4 100644 --- a/examples/extended/gdml/libgdml/processes/src/isotopeProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/isotopeProcess.cc @@ -22,7 +22,7 @@ // // // $Id: isotopeProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/materialProcess.cc b/examples/extended/gdml/libgdml/processes/src/materialProcess.cc index 63e6763dd9..9bbfbba9b5 100644 --- a/examples/extended/gdml/libgdml/processes/src/materialProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/materialProcess.cc @@ -22,7 +22,7 @@ // // // $Id: materialProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/materialrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/materialrefProcess.cc index 63cdef4146..6a1f0e8756 100644 --- a/examples/extended/gdml/libgdml/processes/src/materialrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/materialrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: materialrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/paraProcess.cc b/examples/extended/gdml/libgdml/processes/src/paraProcess.cc index e6cb2a5953..fa141c7e12 100644 --- a/examples/extended/gdml/libgdml/processes/src/paraProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/paraProcess.cc @@ -22,7 +22,7 @@ // // // $Id: paraProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/positionProcess.cc b/examples/extended/gdml/libgdml/processes/src/positionProcess.cc index 312800bb9f..9f99a4f559 100644 --- a/examples/extended/gdml/libgdml/processes/src/positionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/positionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: positionProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/positionrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/positionrefProcess.cc index ea617495ea..b4205842d2 100644 --- a/examples/extended/gdml/libgdml/processes/src/positionrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/positionrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: positionrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/quantityProcess.cc b/examples/extended/gdml/libgdml/processes/src/quantityProcess.cc index c103ea390c..9085a33e69 100644 --- a/examples/extended/gdml/libgdml/processes/src/quantityProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/quantityProcess.cc @@ -22,7 +22,7 @@ // // // $Id: quantityProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/rotationProcess.cc b/examples/extended/gdml/libgdml/processes/src/rotationProcess.cc index 1f4016242d..671d257ccd 100644 --- a/examples/extended/gdml/libgdml/processes/src/rotationProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/rotationProcess.cc @@ -22,7 +22,7 @@ // // // $Id: rotationProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/rotationrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/rotationrefProcess.cc index fabd8bb8aa..f97ea47eb6 100644 --- a/examples/extended/gdml/libgdml/processes/src/rotationrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/rotationrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: rotationrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/secondProcess.cc b/examples/extended/gdml/libgdml/processes/src/secondProcess.cc index e6a6b8e8ff..0a69a099b2 100644 --- a/examples/extended/gdml/libgdml/processes/src/secondProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/secondProcess.cc @@ -22,7 +22,7 @@ // // // $Id: secondProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/setupProcess.cc b/examples/extended/gdml/libgdml/processes/src/setupProcess.cc index 661fff128d..17c5483ca2 100644 --- a/examples/extended/gdml/libgdml/processes/src/setupProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/setupProcess.cc @@ -22,7 +22,7 @@ // // // $Id: setupProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/solidrefProcess.cc b/examples/extended/gdml/libgdml/processes/src/solidrefProcess.cc index 2b1aa90a54..8958b8660a 100644 --- a/examples/extended/gdml/libgdml/processes/src/solidrefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/solidrefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: solidrefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/sphereProcess.cc b/examples/extended/gdml/libgdml/processes/src/sphereProcess.cc index b95a3986e6..7117700f47 100644 --- a/examples/extended/gdml/libgdml/processes/src/sphereProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/sphereProcess.cc @@ -22,7 +22,7 @@ // // // $Id: sphereProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/subtractionProcess.cc b/examples/extended/gdml/libgdml/processes/src/subtractionProcess.cc index ec90f6f305..a365fd63ea 100644 --- a/examples/extended/gdml/libgdml/processes/src/subtractionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/subtractionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: subtractionProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/trapProcess.cc b/examples/extended/gdml/libgdml/processes/src/trapProcess.cc index 908c168b7e..e0e14a2e3c 100644 --- a/examples/extended/gdml/libgdml/processes/src/trapProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/trapProcess.cc @@ -22,7 +22,7 @@ // // // $Id: trapProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/trdProcess.cc b/examples/extended/gdml/libgdml/processes/src/trdProcess.cc index f07016495d..1244966172 100644 --- a/examples/extended/gdml/libgdml/processes/src/trdProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/trdProcess.cc @@ -22,7 +22,7 @@ // // // $Id: trdProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/tubeProcess.cc b/examples/extended/gdml/libgdml/processes/src/tubeProcess.cc index 2c4ab02b09..085d89adec 100644 --- a/examples/extended/gdml/libgdml/processes/src/tubeProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/tubeProcess.cc @@ -22,7 +22,7 @@ // // // $Id: tubeProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/unionProcess.cc b/examples/extended/gdml/libgdml/processes/src/unionProcess.cc index 13572e7695..f3d033dd26 100644 --- a/examples/extended/gdml/libgdml/processes/src/unionProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/unionProcess.cc @@ -22,7 +22,7 @@ // // // $Id: unionProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/volumeProcess.cc b/examples/extended/gdml/libgdml/processes/src/volumeProcess.cc index 9a9cf33d89..e6561965c8 100644 --- a/examples/extended/gdml/libgdml/processes/src/volumeProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/volumeProcess.cc @@ -22,7 +22,7 @@ // // // $Id: volumeProcess.cc,v 1.3 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/volumerefProcess.cc b/examples/extended/gdml/libgdml/processes/src/volumerefProcess.cc index 0a267f5deb..fbb07dbb21 100644 --- a/examples/extended/gdml/libgdml/processes/src/volumerefProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/volumerefProcess.cc @@ -22,7 +22,7 @@ // // // $Id: volumerefProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/processes/src/worldProcess.cc b/examples/extended/gdml/libgdml/processes/src/worldProcess.cc index 3464a07e18..01e6daccf5 100644 --- a/examples/extended/gdml/libgdml/processes/src/worldProcess.cc +++ b/examples/extended/gdml/libgdml/processes/src/worldProcess.cc @@ -22,7 +22,7 @@ // // // $Id: worldProcess.cc,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/ASCIIAttributeList.hh b/examples/extended/gdml/libgdml/saxana/include/ASCIIAttributeList.hh index 1a07bbce89..b8ad5317f1 100644 --- a/examples/extended/gdml/libgdml/saxana/include/ASCIIAttributeList.hh +++ b/examples/extended/gdml/libgdml/saxana/include/ASCIIAttributeList.hh @@ -22,7 +22,7 @@ // // // $Id: ASCIIAttributeList.hh,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/Action.hh b/examples/extended/gdml/libgdml/saxana/include/Action.hh index b418ab0244..60398c9603 100644 --- a/examples/extended/gdml/libgdml/saxana/include/Action.hh +++ b/examples/extended/gdml/libgdml/saxana/include/Action.hh @@ -22,7 +22,7 @@ // // // $Id: Action.hh,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/ActionProcessingState.hh b/examples/extended/gdml/libgdml/saxana/include/ActionProcessingState.hh index a916e45547..3d8874814a 100644 --- a/examples/extended/gdml/libgdml/saxana/include/ActionProcessingState.hh +++ b/examples/extended/gdml/libgdml/saxana/include/ActionProcessingState.hh @@ -22,7 +22,7 @@ // // // $Id: ActionProcessingState.hh,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/ProcessingConfigurator.hh b/examples/extended/gdml/libgdml/saxana/include/ProcessingConfigurator.hh index 7dbddc5ab8..32b2b48076 100644 --- a/examples/extended/gdml/libgdml/saxana/include/ProcessingConfigurator.hh +++ b/examples/extended/gdml/libgdml/saxana/include/ProcessingConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: ProcessingConfigurator.hh,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/ProcessingContext.hh b/examples/extended/gdml/libgdml/saxana/include/ProcessingContext.hh index 158f8da0c9..52e03e0f4a 100644 --- a/examples/extended/gdml/libgdml/saxana/include/ProcessingContext.hh +++ b/examples/extended/gdml/libgdml/saxana/include/ProcessingContext.hh @@ -22,7 +22,7 @@ // // // $Id: ProcessingContext.hh,v 1.2 2002/06/03 12:09:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/ProcessingState.hh b/examples/extended/gdml/libgdml/saxana/include/ProcessingState.hh index a46799a044..38874eb41c 100644 --- a/examples/extended/gdml/libgdml/saxana/include/ProcessingState.hh +++ b/examples/extended/gdml/libgdml/saxana/include/ProcessingState.hh @@ -22,7 +22,7 @@ // // // $Id: ProcessingState.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/RCObjectHandle.hh b/examples/extended/gdml/libgdml/saxana/include/RCObjectHandle.hh index 5c5d3ace3d..93bfcf95f8 100644 --- a/examples/extended/gdml/libgdml/saxana/include/RCObjectHandle.hh +++ b/examples/extended/gdml/libgdml/saxana/include/RCObjectHandle.hh @@ -22,7 +22,7 @@ // // // $Id: RCObjectHandle.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactory.hh b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactory.hh index 89b62ff9b0..ef90cb8cc1 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactory.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactory.hh @@ -22,7 +22,7 @@ // // // $Id: SAXComponentFactory.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryBase.hh b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryBase.hh index 556689188e..a3631bd4be 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryBase.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryBase.hh @@ -22,7 +22,7 @@ // // // $Id: SAXComponentFactoryBase.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryTable.hh b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryTable.hh index 5f41198f20..9de0813c61 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryTable.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXComponentFactoryTable.hh @@ -22,7 +22,7 @@ // // // $Id: SAXComponentFactoryTable.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXComponentObject.hh b/examples/extended/gdml/libgdml/saxana/include/SAXComponentObject.hh index 1983ca3108..b7def84f44 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXComponentObject.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXComponentObject.hh @@ -22,7 +22,7 @@ // // // $Id: SAXComponentObject.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXDocumentEvents.hh b/examples/extended/gdml/libgdml/saxana/include/SAXDocumentEvents.hh index 1990c08c6a..2cd693d3f7 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXDocumentEvents.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXDocumentEvents.hh @@ -22,7 +22,7 @@ // // // $Id: SAXDocumentEvents.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXElementEvents.hh b/examples/extended/gdml/libgdml/saxana/include/SAXElementEvents.hh index 145418bbdc..b7aab1a413 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXElementEvents.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXElementEvents.hh @@ -22,7 +22,7 @@ // // // $Id: SAXElementEvents.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXErrorEvents.hh b/examples/extended/gdml/libgdml/saxana/include/SAXErrorEvents.hh index d3f07afe43..de8cda503b 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXErrorEvents.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXErrorEvents.hh @@ -22,7 +22,7 @@ // // // $Id: SAXErrorEvents.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXEvent.hh b/examples/extended/gdml/libgdml/saxana/include/SAXEvent.hh index c2b3c89e28..8245ce8675 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXEvent.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXEvent.hh @@ -22,7 +22,7 @@ // // // $Id: SAXEvent.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXEventGun.hh b/examples/extended/gdml/libgdml/saxana/include/SAXEventGun.hh index 84a5ff3fee..eccdc0b7e2 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXEventGun.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXEventGun.hh @@ -22,7 +22,7 @@ // // // $Id: SAXEventGun.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXEvents.hh b/examples/extended/gdml/libgdml/saxana/include/SAXEvents.hh index bd8de6c080..f170eb04a6 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXEvents.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXEvents.hh @@ -22,7 +22,7 @@ // // // $Id: SAXEvents.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXObject.hh b/examples/extended/gdml/libgdml/saxana/include/SAXObject.hh index bc6cadf0d6..02f0651e10 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXObject.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXObject.hh @@ -22,7 +22,7 @@ // // // $Id: SAXObject.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXObjectBase.hh b/examples/extended/gdml/libgdml/saxana/include/SAXObjectBase.hh index 9ec5191c3d..dcc5edf93b 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXObjectBase.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXObjectBase.hh @@ -22,7 +22,7 @@ // // // $Id: SAXObjectBase.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXObjectHandle.hh b/examples/extended/gdml/libgdml/saxana/include/SAXObjectHandle.hh index 8e7c294f0e..af8ca84fe5 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXObjectHandle.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXObjectHandle.hh @@ -22,7 +22,7 @@ // // // $Id: SAXObjectHandle.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXProcessingState.hh b/examples/extended/gdml/libgdml/saxana/include/SAXProcessingState.hh index 59b944c4f9..a1fd4c4dfb 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXProcessingState.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXProcessingState.hh @@ -22,7 +22,7 @@ // // // $Id: SAXProcessingState.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXProcessor.hh b/examples/extended/gdml/libgdml/saxana/include/SAXProcessor.hh index 845fb7e07a..8d0b7b5523 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXProcessor.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXProcessor.hh @@ -22,7 +22,7 @@ // // // $Id: SAXProcessor.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXStateProcess.hh b/examples/extended/gdml/libgdml/saxana/include/SAXStateProcess.hh index 6d2aba3181..e806569dc1 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXStateProcess.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXStateProcess.hh @@ -22,7 +22,7 @@ // // // $Id: SAXStateProcess.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXSubscriber.hh b/examples/extended/gdml/libgdml/saxana/include/SAXSubscriber.hh index 4b7e132f0d..49b5c137cb 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXSubscriber.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXSubscriber.hh @@ -22,7 +22,7 @@ // // // $Id: SAXSubscriber.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/SAXSubscriberPool.hh b/examples/extended/gdml/libgdml/saxana/include/SAXSubscriberPool.hh index 5b2b1014f7..d01c0b2239 100644 --- a/examples/extended/gdml/libgdml/saxana/include/SAXSubscriberPool.hh +++ b/examples/extended/gdml/libgdml/saxana/include/SAXSubscriberPool.hh @@ -22,7 +22,7 @@ // // // $Id: SAXSubscriberPool.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/StateProcessMap.hh b/examples/extended/gdml/libgdml/saxana/include/StateProcessMap.hh index 8a818c7783..0a7c1f62c2 100644 --- a/examples/extended/gdml/libgdml/saxana/include/StateProcessMap.hh +++ b/examples/extended/gdml/libgdml/saxana/include/StateProcessMap.hh @@ -22,7 +22,7 @@ // // // $Id: StateProcessMap.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/StateStack.hh b/examples/extended/gdml/libgdml/saxana/include/StateStack.hh index f6a95d720d..70e40c67b9 100644 --- a/examples/extended/gdml/libgdml/saxana/include/StateStack.hh +++ b/examples/extended/gdml/libgdml/saxana/include/StateStack.hh @@ -22,7 +22,7 @@ // // // $Id: StateStack.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/include/StatusCode.hh b/examples/extended/gdml/libgdml/saxana/include/StatusCode.hh index b51a9391ef..e8767a0c15 100644 --- a/examples/extended/gdml/libgdml/saxana/include/StatusCode.hh +++ b/examples/extended/gdml/libgdml/saxana/include/StatusCode.hh @@ -22,7 +22,7 @@ // // // $Id: StatusCode.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactory.cc b/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactory.cc index 6ebcbe317a..e742098b5d 100644 --- a/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactory.cc +++ b/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactory.cc @@ -22,7 +22,7 @@ // // // $Id: SAXComponentFactory.cc,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactoryTable.cc b/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactoryTable.cc index 03e2e4d3be..616bcf72ff 100644 --- a/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactoryTable.cc +++ b/examples/extended/gdml/libgdml/saxana/src/SAXComponentFactoryTable.cc @@ -22,7 +22,7 @@ // // // $Id: SAXComponentFactoryTable.cc,v 1.3 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/SAXEventGun.cc b/examples/extended/gdml/libgdml/saxana/src/SAXEventGun.cc index 790a948c2f..a81b306bad 100644 --- a/examples/extended/gdml/libgdml/saxana/src/SAXEventGun.cc +++ b/examples/extended/gdml/libgdml/saxana/src/SAXEventGun.cc @@ -22,7 +22,7 @@ // // // $Id: SAXEventGun.cc,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/SAXProcessor.cc b/examples/extended/gdml/libgdml/saxana/src/SAXProcessor.cc index b2f7909e69..b67fef097d 100644 --- a/examples/extended/gdml/libgdml/saxana/src/SAXProcessor.cc +++ b/examples/extended/gdml/libgdml/saxana/src/SAXProcessor.cc @@ -22,7 +22,7 @@ // // // $Id: SAXProcessor.cc,v 1.3 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/SAXSubscriberPool.cc b/examples/extended/gdml/libgdml/saxana/src/SAXSubscriberPool.cc index 0514600b76..90fa4fa3e1 100644 --- a/examples/extended/gdml/libgdml/saxana/src/SAXSubscriberPool.cc +++ b/examples/extended/gdml/libgdml/saxana/src/SAXSubscriberPool.cc @@ -22,7 +22,7 @@ // // // $Id: SAXSubscriberPool.cc,v 1.3 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/saxana/src/StateProcessMap.cc b/examples/extended/gdml/libgdml/saxana/src/StateProcessMap.cc index 269d013920..e573d945f2 100644 --- a/examples/extended/gdml/libgdml/saxana/src/StateProcessMap.cc +++ b/examples/extended/gdml/libgdml/saxana/src/StateProcessMap.cc @@ -22,7 +22,7 @@ // // // $Id: StateProcessMap.cc,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/AssemblyVolumeType.hh b/examples/extended/gdml/libgdml/schema/include/AssemblyVolumeType.hh index f604bbba98..1fcb42c754 100644 --- a/examples/extended/gdml/libgdml/schema/include/AssemblyVolumeType.hh +++ b/examples/extended/gdml/libgdml/schema/include/AssemblyVolumeType.hh @@ -22,7 +22,7 @@ // // // $Id: AssemblyVolumeType.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/AtomType.hh b/examples/extended/gdml/libgdml/schema/include/AtomType.hh index 78669431c8..b0e4cdee8b 100644 --- a/examples/extended/gdml/libgdml/schema/include/AtomType.hh +++ b/examples/extended/gdml/libgdml/schema/include/AtomType.hh @@ -22,7 +22,7 @@ // // // $Id: AtomType.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/BooleanSolidType.hh b/examples/extended/gdml/libgdml/schema/include/BooleanSolidType.hh index 3b595ec8da..692b990cca 100644 --- a/examples/extended/gdml/libgdml/schema/include/BooleanSolidType.hh +++ b/examples/extended/gdml/libgdml/schema/include/BooleanSolidType.hh @@ -22,7 +22,7 @@ // // // $Id: BooleanSolidType.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ConstantType.hh b/examples/extended/gdml/libgdml/schema/include/ConstantType.hh index e85c9468b9..1b59fa8820 100644 --- a/examples/extended/gdml/libgdml/schema/include/ConstantType.hh +++ b/examples/extended/gdml/libgdml/schema/include/ConstantType.hh @@ -22,7 +22,7 @@ // // // $Id: ConstantType.hh,v 1.2 2002/06/03 12:09:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ContentGroup.hh b/examples/extended/gdml/libgdml/schema/include/ContentGroup.hh index 8d53de03d2..4d256d8af4 100644 --- a/examples/extended/gdml/libgdml/schema/include/ContentGroup.hh +++ b/examples/extended/gdml/libgdml/schema/include/ContentGroup.hh @@ -22,7 +22,7 @@ // // // $Id: ContentGroup.hh,v 1.3 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/DorDref.hh b/examples/extended/gdml/libgdml/schema/include/DorDref.hh index c6e3ce51b2..94fc4d08f5 100644 --- a/examples/extended/gdml/libgdml/schema/include/DorDref.hh +++ b/examples/extended/gdml/libgdml/schema/include/DorDref.hh @@ -22,7 +22,7 @@ // // // $Id: DorDref.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ExpressionType.hh b/examples/extended/gdml/libgdml/schema/include/ExpressionType.hh index a809f60a82..db0d6c6787 100644 --- a/examples/extended/gdml/libgdml/schema/include/ExpressionType.hh +++ b/examples/extended/gdml/libgdml/schema/include/ExpressionType.hh @@ -22,7 +22,7 @@ // // // $Id: ExpressionType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableConstantType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableConstantType.hh index 421bd4c5eb..18a07d88e9 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableConstantType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableConstantType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableConstantType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableExpressionType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableExpressionType.hh index 46af278056..db83ed8606 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableExpressionType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableExpressionType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableExpressionType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityType.hh index 2ff757f676..7d899059ee 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableQuantityType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityVectorType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityVectorType.hh index a2c447da4c..f1d19d7394 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityVectorType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableQuantityVectorType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableQuantityVectorType.hh,v 1.3 2002/07/25 10:41:20 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableThreeVectorType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableThreeVectorType.hh index 99236081e6..d096502379 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableThreeVectorType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableThreeVectorType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableThreeVectorType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/IdentifiableVolumeType.hh b/examples/extended/gdml/libgdml/schema/include/IdentifiableVolumeType.hh index b9e5ce1ce4..eaeac32b03 100644 --- a/examples/extended/gdml/libgdml/schema/include/IdentifiableVolumeType.hh +++ b/examples/extended/gdml/libgdml/schema/include/IdentifiableVolumeType.hh @@ -22,7 +22,7 @@ // // // $Id: IdentifiableVolumeType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialAttributeGroup.hh b/examples/extended/gdml/libgdml/schema/include/MaterialAttributeGroup.hh index d48fb45442..549a29cd2f 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialAttributeGroup.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialAttributeGroup.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialAttributeGroup.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialElementType.hh b/examples/extended/gdml/libgdml/schema/include/MaterialElementType.hh index 83f4cf98f6..4452344e25 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialElementType.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialElementType.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialElementType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialIsotopeType.hh b/examples/extended/gdml/libgdml/schema/include/MaterialIsotopeType.hh index 24021532c2..b741cf0921 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialIsotopeType.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialIsotopeType.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialIsotopeType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialMixtureType.hh b/examples/extended/gdml/libgdml/schema/include/MaterialMixtureType.hh index 800ce3b069..0385308a23 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialMixtureType.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialMixtureType.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialMixtureType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialPropertiesGroup.hh b/examples/extended/gdml/libgdml/schema/include/MaterialPropertiesGroup.hh index f13cc1eabc..28156574c8 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialPropertiesGroup.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialPropertiesGroup.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialPropertiesGroup.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/MaterialType.hh b/examples/extended/gdml/libgdml/schema/include/MaterialType.hh index d3753a5601..16927b75c5 100644 --- a/examples/extended/gdml/libgdml/schema/include/MaterialType.hh +++ b/examples/extended/gdml/libgdml/schema/include/MaterialType.hh @@ -22,7 +22,7 @@ // // // $Id: MaterialType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/PorPref.hh b/examples/extended/gdml/libgdml/schema/include/PorPref.hh index 75d85cf40c..b5e08fe028 100644 --- a/examples/extended/gdml/libgdml/schema/include/PorPref.hh +++ b/examples/extended/gdml/libgdml/schema/include/PorPref.hh @@ -22,7 +22,7 @@ // // // $Id: PorPref.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/QuantityType.hh b/examples/extended/gdml/libgdml/schema/include/QuantityType.hh index c8f930e66d..9b08382c4f 100644 --- a/examples/extended/gdml/libgdml/schema/include/QuantityType.hh +++ b/examples/extended/gdml/libgdml/schema/include/QuantityType.hh @@ -22,7 +22,7 @@ // // // $Id: QuantityType.hh,v 1.3 2002/07/25 10:41:21 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/QuantityVectorType.hh b/examples/extended/gdml/libgdml/schema/include/QuantityVectorType.hh index 88add8900d..012289aedc 100644 --- a/examples/extended/gdml/libgdml/schema/include/QuantityVectorType.hh +++ b/examples/extended/gdml/libgdml/schema/include/QuantityVectorType.hh @@ -22,7 +22,7 @@ // // // $Id: QuantityVectorType.hh,v 1.3 2002/07/25 10:41:22 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ReferenceListType.hh b/examples/extended/gdml/libgdml/schema/include/ReferenceListType.hh index db5496fd2c..3ccbde837a 100644 --- a/examples/extended/gdml/libgdml/schema/include/ReferenceListType.hh +++ b/examples/extended/gdml/libgdml/schema/include/ReferenceListType.hh @@ -22,7 +22,7 @@ // // // $Id: ReferenceListType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ReferenceType.hh b/examples/extended/gdml/libgdml/schema/include/ReferenceType.hh index 0342a1c12d..7a296b223a 100644 --- a/examples/extended/gdml/libgdml/schema/include/ReferenceType.hh +++ b/examples/extended/gdml/libgdml/schema/include/ReferenceType.hh @@ -22,7 +22,7 @@ // // // $Id: ReferenceType.hh,v 1.3 2002/07/25 10:41:23 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/SinglePlacementType.hh b/examples/extended/gdml/libgdml/schema/include/SinglePlacementType.hh index 24cefc15d3..64ef1e3dd8 100644 --- a/examples/extended/gdml/libgdml/schema/include/SinglePlacementType.hh +++ b/examples/extended/gdml/libgdml/schema/include/SinglePlacementType.hh @@ -22,7 +22,7 @@ // // // $Id: SinglePlacementType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/SolidType.hh b/examples/extended/gdml/libgdml/schema/include/SolidType.hh index cdd913aff1..7cce217e70 100644 --- a/examples/extended/gdml/libgdml/schema/include/SolidType.hh +++ b/examples/extended/gdml/libgdml/schema/include/SolidType.hh @@ -22,7 +22,7 @@ // // // $Id: SolidType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/TagorTagref.hh b/examples/extended/gdml/libgdml/schema/include/TagorTagref.hh index 0966d7c995..d0449dd047 100644 --- a/examples/extended/gdml/libgdml/schema/include/TagorTagref.hh +++ b/examples/extended/gdml/libgdml/schema/include/TagorTagref.hh @@ -22,7 +22,7 @@ // // // $Id: TagorTagref.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/ThreeVectorType.hh b/examples/extended/gdml/libgdml/schema/include/ThreeVectorType.hh index 1c21dc8297..11a8261920 100644 --- a/examples/extended/gdml/libgdml/schema/include/ThreeVectorType.hh +++ b/examples/extended/gdml/libgdml/schema/include/ThreeVectorType.hh @@ -22,7 +22,7 @@ // // // $Id: ThreeVectorType.hh,v 1.3 2002/07/25 10:41:24 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/TorTref.hh b/examples/extended/gdml/libgdml/schema/include/TorTref.hh index 2de23922ab..0c09dc1a16 100644 --- a/examples/extended/gdml/libgdml/schema/include/TorTref.hh +++ b/examples/extended/gdml/libgdml/schema/include/TorTref.hh @@ -22,7 +22,7 @@ // // // $Id: TorTref.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/VolumeType.hh b/examples/extended/gdml/libgdml/schema/include/VolumeType.hh index a4a580c790..a53b57d996 100644 --- a/examples/extended/gdml/libgdml/schema/include/VolumeType.hh +++ b/examples/extended/gdml/libgdml/schema/include/VolumeType.hh @@ -22,7 +22,7 @@ // // // $Id: VolumeType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/assembly.hh b/examples/extended/gdml/libgdml/schema/include/assembly.hh index 3b6893650b..03fe6edf34 100644 --- a/examples/extended/gdml/libgdml/schema/include/assembly.hh +++ b/examples/extended/gdml/libgdml/schema/include/assembly.hh @@ -22,7 +22,7 @@ // // // $Id: assembly.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/atom.hh b/examples/extended/gdml/libgdml/schema/include/atom.hh index 8b49efa080..4d9091ba68 100644 --- a/examples/extended/gdml/libgdml/schema/include/atom.hh +++ b/examples/extended/gdml/libgdml/schema/include/atom.hh @@ -22,7 +22,7 @@ // // // $Id: atom.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/boolean_intersection.hh b/examples/extended/gdml/libgdml/schema/include/boolean_intersection.hh index 3d7a684e86..cbbb0cf17f 100644 --- a/examples/extended/gdml/libgdml/schema/include/boolean_intersection.hh +++ b/examples/extended/gdml/libgdml/schema/include/boolean_intersection.hh @@ -22,7 +22,7 @@ // // // $Id: boolean_intersection.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/boolean_subtraction.hh b/examples/extended/gdml/libgdml/schema/include/boolean_subtraction.hh index e8e0e91e7b..9437f76996 100644 --- a/examples/extended/gdml/libgdml/schema/include/boolean_subtraction.hh +++ b/examples/extended/gdml/libgdml/schema/include/boolean_subtraction.hh @@ -22,7 +22,7 @@ // // // $Id: boolean_subtraction.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/boolean_union.hh b/examples/extended/gdml/libgdml/schema/include/boolean_union.hh index 09976619b3..1604c938e3 100644 --- a/examples/extended/gdml/libgdml/schema/include/boolean_union.hh +++ b/examples/extended/gdml/libgdml/schema/include/boolean_union.hh @@ -22,7 +22,7 @@ // // // $Id: boolean_union.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/box.hh b/examples/extended/gdml/libgdml/schema/include/box.hh index 6d424057a0..8428eb025b 100644 --- a/examples/extended/gdml/libgdml/schema/include/box.hh +++ b/examples/extended/gdml/libgdml/schema/include/box.hh @@ -22,7 +22,7 @@ // // // $Id: box.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/child.hh b/examples/extended/gdml/libgdml/schema/include/child.hh index 7f2e232292..a35d9e6d4a 100644 --- a/examples/extended/gdml/libgdml/schema/include/child.hh +++ b/examples/extended/gdml/libgdml/schema/include/child.hh @@ -22,7 +22,7 @@ // // // $Id: child.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/composite.hh b/examples/extended/gdml/libgdml/schema/include/composite.hh index 40ef35d035..6aff3396cb 100644 --- a/examples/extended/gdml/libgdml/schema/include/composite.hh +++ b/examples/extended/gdml/libgdml/schema/include/composite.hh @@ -22,7 +22,7 @@ // // // $Id: composite.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/cone.hh b/examples/extended/gdml/libgdml/schema/include/cone.hh index 86e1e96148..f5f9374ccc 100644 --- a/examples/extended/gdml/libgdml/schema/include/cone.hh +++ b/examples/extended/gdml/libgdml/schema/include/cone.hh @@ -22,7 +22,7 @@ // // // $Id: cone.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/define.hh b/examples/extended/gdml/libgdml/schema/include/define.hh index 95f30dcf17..c9d7f19e67 100644 --- a/examples/extended/gdml/libgdml/schema/include/define.hh +++ b/examples/extended/gdml/libgdml/schema/include/define.hh @@ -22,7 +22,7 @@ // // // $Id: define.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/defineType.hh b/examples/extended/gdml/libgdml/schema/include/defineType.hh index ed6f1bf7d8..6ad895fc0d 100644 --- a/examples/extended/gdml/libgdml/schema/include/defineType.hh +++ b/examples/extended/gdml/libgdml/schema/include/defineType.hh @@ -22,7 +22,7 @@ // // // $Id: defineType.hh,v 1.3 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/element.hh b/examples/extended/gdml/libgdml/schema/include/element.hh index 812e448bee..4ad8ea9ac1 100644 --- a/examples/extended/gdml/libgdml/schema/include/element.hh +++ b/examples/extended/gdml/libgdml/schema/include/element.hh @@ -22,7 +22,7 @@ // // // $Id: element.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/fraction.hh b/examples/extended/gdml/libgdml/schema/include/fraction.hh index 8afc180ca8..3fea815f2d 100644 --- a/examples/extended/gdml/libgdml/schema/include/fraction.hh +++ b/examples/extended/gdml/libgdml/schema/include/fraction.hh @@ -22,7 +22,7 @@ // // // $Id: fraction.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/isotope.hh b/examples/extended/gdml/libgdml/schema/include/isotope.hh index daab50bd9e..ca5cfe6545 100644 --- a/examples/extended/gdml/libgdml/schema/include/isotope.hh +++ b/examples/extended/gdml/libgdml/schema/include/isotope.hh @@ -22,7 +22,7 @@ // // // $Id: isotope.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/material.hh b/examples/extended/gdml/libgdml/schema/include/material.hh index 56e71fc748..da0977555d 100644 --- a/examples/extended/gdml/libgdml/schema/include/material.hh +++ b/examples/extended/gdml/libgdml/schema/include/material.hh @@ -22,7 +22,7 @@ // // // $Id: material.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/para.hh b/examples/extended/gdml/libgdml/schema/include/para.hh index b4047c28d6..2368e12616 100644 --- a/examples/extended/gdml/libgdml/schema/include/para.hh +++ b/examples/extended/gdml/libgdml/schema/include/para.hh @@ -22,7 +22,7 @@ // // // $Id: para.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/positionType.hh b/examples/extended/gdml/libgdml/schema/include/positionType.hh index 8f29d0c33b..7ae1dcf628 100644 --- a/examples/extended/gdml/libgdml/schema/include/positionType.hh +++ b/examples/extended/gdml/libgdml/schema/include/positionType.hh @@ -22,7 +22,7 @@ // // // $Id: positionType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/rotationType.hh b/examples/extended/gdml/libgdml/schema/include/rotationType.hh index 72bb2fff0a..5b20fc65b4 100644 --- a/examples/extended/gdml/libgdml/schema/include/rotationType.hh +++ b/examples/extended/gdml/libgdml/schema/include/rotationType.hh @@ -22,7 +22,7 @@ // // // $Id: rotationType.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/setup.hh b/examples/extended/gdml/libgdml/schema/include/setup.hh index e4de64ed19..6534b360a5 100644 --- a/examples/extended/gdml/libgdml/schema/include/setup.hh +++ b/examples/extended/gdml/libgdml/schema/include/setup.hh @@ -22,7 +22,7 @@ // // // $Id: setup.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/sphere.hh b/examples/extended/gdml/libgdml/schema/include/sphere.hh index 68d94379cf..6078a5ceb6 100644 --- a/examples/extended/gdml/libgdml/schema/include/sphere.hh +++ b/examples/extended/gdml/libgdml/schema/include/sphere.hh @@ -22,7 +22,7 @@ // // // $Id: sphere.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/trap.hh b/examples/extended/gdml/libgdml/schema/include/trap.hh index 6ea85d1feb..aa4805405f 100644 --- a/examples/extended/gdml/libgdml/schema/include/trap.hh +++ b/examples/extended/gdml/libgdml/schema/include/trap.hh @@ -22,7 +22,7 @@ // // // $Id: trap.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/trd.hh b/examples/extended/gdml/libgdml/schema/include/trd.hh index 74c19384bf..2fbfb50292 100644 --- a/examples/extended/gdml/libgdml/schema/include/trd.hh +++ b/examples/extended/gdml/libgdml/schema/include/trd.hh @@ -22,7 +22,7 @@ // // // $Id: trd.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/tube.hh b/examples/extended/gdml/libgdml/schema/include/tube.hh index b84105c2b5..1e127b4e2b 100644 --- a/examples/extended/gdml/libgdml/schema/include/tube.hh +++ b/examples/extended/gdml/libgdml/schema/include/tube.hh @@ -22,7 +22,7 @@ // // // $Id: tube.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/include/volume.hh b/examples/extended/gdml/libgdml/schema/include/volume.hh index dff2a7167d..c9569b26d8 100644 --- a/examples/extended/gdml/libgdml/schema/include/volume.hh +++ b/examples/extended/gdml/libgdml/schema/include/volume.hh @@ -22,7 +22,7 @@ // // // $Id: volume.hh,v 1.2 2002/06/03 12:09:34 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/schema/src/schema.cc b/examples/extended/gdml/libgdml/schema/src/schema.cc index f498dfba69..2f660b2d4a 100644 --- a/examples/extended/gdml/libgdml/schema/src/schema.cc +++ b/examples/extended/gdml/libgdml/schema/src/schema.cc @@ -22,7 +22,7 @@ // // // $Id: schema.cc,v 1.2 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/include/BooleanSolidTypeSubscriber.hh b/examples/extended/gdml/libgdml/subscribers/include/BooleanSolidTypeSubscriber.hh index 4e8e5c1f3d..9935a348a5 100644 --- a/examples/extended/gdml/libgdml/subscribers/include/BooleanSolidTypeSubscriber.hh +++ b/examples/extended/gdml/libgdml/subscribers/include/BooleanSolidTypeSubscriber.hh @@ -22,7 +22,7 @@ // // // $Id: BooleanSolidTypeSubscriber.hh,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/LibLoadSubscribers.cc b/examples/extended/gdml/libgdml/subscribers/src/LibLoadSubscribers.cc index 4083ea3637..02534707a4 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/LibLoadSubscribers.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/LibLoadSubscribers.cc @@ -22,7 +22,7 @@ // // // $Id: LibLoadSubscribers.cc,v 1.2 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/assemblySubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/assemblySubscriber.cc index 60de01df48..e6136a2ecd 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/assemblySubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/assemblySubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: assemblySubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/boxSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/boxSubscriber.cc index 1d69630482..6b4fcc19cb 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/boxSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/boxSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: boxSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/coneSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/coneSubscriber.cc index 41629b52dc..a759136d8b 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/coneSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/coneSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: coneSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/defineSubcriber.cc b/examples/extended/gdml/libgdml/subscribers/src/defineSubcriber.cc index f066dd0bea..20dbf92a52 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/defineSubcriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/defineSubcriber.cc @@ -22,7 +22,7 @@ // // // $Id: defineSubcriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/elementSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/elementSubscriber.cc index 6037c25af9..8ac08caf2a 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/elementSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/elementSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: elementSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/intersectionSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/intersectionSubscriber.cc index f56b8944b7..f6419b6778 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/intersectionSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/intersectionSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: intersectionSubscriber.cc,v 1.3 2002/06/05 11:54:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/isotopeSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/isotopeSubscriber.cc index 1fd485e7a5..474236e61e 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/isotopeSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/isotopeSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: isotopeSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/materialSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/materialSubscriber.cc index af6343e5fb..ed748fe084 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/materialSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/materialSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: materialSubscriber.cc,v 1.4 2002/08/19 07:38:49 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/paraSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/paraSubscriber.cc index 07a775ffe0..894a0460c4 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/paraSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/paraSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: paraSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/setupSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/setupSubscriber.cc index 8095e50889..c34353f2a3 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/setupSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/setupSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: setupSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/sphereSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/sphereSubscriber.cc index 1cb30814a6..4b177a4cc9 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/sphereSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/sphereSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: sphereSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/subtractionSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/subtractionSubscriber.cc index 53c83cc09d..6f2bcaddae 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/subtractionSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/subtractionSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: subtractionSubscriber.cc,v 1.2 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/trapSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/trapSubscriber.cc index b5d2d047ca..be4fa3631d 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/trapSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/trapSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: trapSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/trdSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/trdSubscriber.cc index 06c441d25e..db45610c35 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/trdSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/trdSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: trdSubscriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/tubeSusbcriber.cc b/examples/extended/gdml/libgdml/subscribers/src/tubeSusbcriber.cc index 5cf3e7361a..df09ac1c09 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/tubeSusbcriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/tubeSusbcriber.cc @@ -22,7 +22,7 @@ // // // $Id: tubeSusbcriber.cc,v 1.3 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/unionSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/unionSubscriber.cc index e0f2842d71..340926194e 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/unionSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/unionSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: unionSubscriber.cc,v 1.2 2002/06/03 12:09:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/libgdml/subscribers/src/volumeSubscriber.cc b/examples/extended/gdml/libgdml/subscribers/src/volumeSubscriber.cc index b0efc27207..21c547d0f4 100644 --- a/examples/extended/gdml/libgdml/subscribers/src/volumeSubscriber.cc +++ b/examples/extended/gdml/libgdml/subscribers/src/volumeSubscriber.cc @@ -22,7 +22,7 @@ // // // $Id: volumeSubscriber.cc,v 1.5 2002/08/19 07:39:29 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/gogdml.cc b/examples/extended/gdml/sample/gogdml.cc index 360443aa15..3db8afa4a9 100644 --- a/examples/extended/gdml/sample/gogdml.cc +++ b/examples/extended/gdml/sample/gogdml.cc @@ -22,7 +22,7 @@ // // // $Id: gogdml.cc,v 1.3 2002/08/19 07:28:52 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/include/gogdmlDetectorConstruction.hh b/examples/extended/gdml/sample/include/gogdmlDetectorConstruction.hh index c261d78771..612be94416 100644 --- a/examples/extended/gdml/sample/include/gogdmlDetectorConstruction.hh +++ b/examples/extended/gdml/sample/include/gogdmlDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: gogdmlDetectorConstruction.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/include/gogdmlPhysicsList.hh b/examples/extended/gdml/sample/include/gogdmlPhysicsList.hh index 0a2fa1a778..8ae38567c6 100644 --- a/examples/extended/gdml/sample/include/gogdmlPhysicsList.hh +++ b/examples/extended/gdml/sample/include/gogdmlPhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: gogdmlPhysicsList.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/include/gogdmlPrimaryGeneratorAction.hh b/examples/extended/gdml/sample/include/gogdmlPrimaryGeneratorAction.hh index 04699a9ce6..091b7516d1 100644 --- a/examples/extended/gdml/sample/include/gogdmlPrimaryGeneratorAction.hh +++ b/examples/extended/gdml/sample/include/gogdmlPrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: gogdmlPrimaryGeneratorAction.hh,v 1.2 2002/06/03 12:09:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/src/gogdmlDetectorConstruction.cc b/examples/extended/gdml/sample/src/gogdmlDetectorConstruction.cc index cb27710474..625726adc4 100644 --- a/examples/extended/gdml/sample/src/gogdmlDetectorConstruction.cc +++ b/examples/extended/gdml/sample/src/gogdmlDetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: gogdmlDetectorConstruction.cc,v 1.3 2002/08/19 07:27:51 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/src/gogdmlPhysicsList.cc b/examples/extended/gdml/sample/src/gogdmlPhysicsList.cc index 0d46d1bbfc..caa825b62c 100644 --- a/examples/extended/gdml/sample/src/gogdmlPhysicsList.cc +++ b/examples/extended/gdml/sample/src/gogdmlPhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: gogdmlPhysicsList.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/sample/src/gogdmlPrimaryGeneratorAction.cc b/examples/extended/gdml/sample/src/gogdmlPrimaryGeneratorAction.cc index 5e8d9c88ef..39f2b41df8 100644 --- a/examples/extended/gdml/sample/src/gogdmlPrimaryGeneratorAction.cc +++ b/examples/extended/gdml/sample/src/gogdmlPrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: gogdmlPrimaryGeneratorAction.cc,v 1.2 2002/06/03 12:09:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "gogdmlPrimaryGeneratorAction.hh" diff --git a/examples/extended/geometry/cad/cadex.cc b/examples/extended/geometry/cad/cadex.cc index aa602922d4..1b9cdfe918 100644 --- a/examples/extended/geometry/cad/cadex.cc +++ b/examples/extended/geometry/cad/cadex.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: cadex.cc,v 1.1 2002/06/20 10:00:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #include "CadDetectorConstruction.hh" diff --git a/examples/extended/geometry/cad/include/CadDetectorConstruction.hh b/examples/extended/geometry/cad/include/CadDetectorConstruction.hh index 0a77d25763..7c257e63fa 100644 --- a/examples/extended/geometry/cad/include/CadDetectorConstruction.hh +++ b/examples/extended/geometry/cad/include/CadDetectorConstruction.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadDetectorConstruction.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #ifndef CadDetectorConstruction_h diff --git a/examples/extended/geometry/cad/include/CadDetectorMessenger.hh b/examples/extended/geometry/cad/include/CadDetectorMessenger.hh index aa18fa0c8a..682c171e0e 100644 --- a/examples/extended/geometry/cad/include/CadDetectorMessenger.hh +++ b/examples/extended/geometry/cad/include/CadDetectorMessenger.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadDetectorMessenger.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #ifndef CadDetectorMessenger_h diff --git a/examples/extended/geometry/cad/include/CadPhysicsList.hh b/examples/extended/geometry/cad/include/CadPhysicsList.hh index 38398e17ee..3131b27ccb 100644 --- a/examples/extended/geometry/cad/include/CadPhysicsList.hh +++ b/examples/extended/geometry/cad/include/CadPhysicsList.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadPhysicsList.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #ifndef CadPhysicsList_h diff --git a/examples/extended/geometry/cad/include/CadPrimaryGeneratorAction.hh b/examples/extended/geometry/cad/include/CadPrimaryGeneratorAction.hh index 062e6f6237..0f4e439497 100644 --- a/examples/extended/geometry/cad/include/CadPrimaryGeneratorAction.hh +++ b/examples/extended/geometry/cad/include/CadPrimaryGeneratorAction.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadPrimaryGeneratorAction.hh,v 1.1 2002/06/20 10:00:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #ifndef CadPrimaryGeneratorAction_h diff --git a/examples/extended/geometry/cad/include/CadRunAction.hh b/examples/extended/geometry/cad/include/CadRunAction.hh index 5b56497f45..eb65ece02b 100644 --- a/examples/extended/geometry/cad/include/CadRunAction.hh +++ b/examples/extended/geometry/cad/include/CadRunAction.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadRunAction.hh,v 1.1 2002/06/20 10:00:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #ifndef CadRunAction_h diff --git a/examples/extended/geometry/cad/include/CadVisManager.hh b/examples/extended/geometry/cad/include/CadVisManager.hh index 24e47b2ddc..6f11638450 100644 --- a/examples/extended/geometry/cad/include/CadVisManager.hh +++ b/examples/extended/geometry/cad/include/CadVisManager.hh @@ -22,7 +22,7 @@ // // // $Id: CadVisManager.hh,v 1.1 2002/06/20 10:00:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // -------------------------------------------------------------------- #ifndef CadVisManager_h diff --git a/examples/extended/geometry/cad/src/CadDetectorConstruction.cc b/examples/extended/geometry/cad/src/CadDetectorConstruction.cc index dc720000ab..a770d7567a 100644 --- a/examples/extended/geometry/cad/src/CadDetectorConstruction.cc +++ b/examples/extended/geometry/cad/src/CadDetectorConstruction.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadDetectorConstruction.cc,v 1.1 2002/06/20 10:00:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #include "G4AssemblyCreator.hh" diff --git a/examples/extended/geometry/cad/src/CadDetectorMessenger.cc b/examples/extended/geometry/cad/src/CadDetectorMessenger.cc index a9758656e7..3302c0a1c5 100644 --- a/examples/extended/geometry/cad/src/CadDetectorMessenger.cc +++ b/examples/extended/geometry/cad/src/CadDetectorMessenger.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadDetectorMessenger.cc,v 1.2 2002/12/05 01:07:00 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #include "CadDetectorConstruction.hh" diff --git a/examples/extended/geometry/cad/src/CadPhysicsList.cc b/examples/extended/geometry/cad/src/CadPhysicsList.cc index 54f1a6ecae..9d2e6d0ec7 100644 --- a/examples/extended/geometry/cad/src/CadPhysicsList.cc +++ b/examples/extended/geometry/cad/src/CadPhysicsList.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadPhysicsList.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #include "CadPhysicsList.hh" diff --git a/examples/extended/geometry/cad/src/CadPrimaryGeneratorAction.cc b/examples/extended/geometry/cad/src/CadPrimaryGeneratorAction.cc index ee2582c6e2..7bbeda20c0 100644 --- a/examples/extended/geometry/cad/src/CadPrimaryGeneratorAction.cc +++ b/examples/extended/geometry/cad/src/CadPrimaryGeneratorAction.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadPrimaryGeneratorAction.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ #include "CadPrimaryGeneratorAction.hh" diff --git a/examples/extended/geometry/cad/src/CadRunAction.cc b/examples/extended/geometry/cad/src/CadRunAction.cc index b95b68ceaf..179569d41e 100644 --- a/examples/extended/geometry/cad/src/CadRunAction.cc +++ b/examples/extended/geometry/cad/src/CadRunAction.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: CadRunAction.cc,v 1.1 2002/06/20 10:00:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // Make this appear first! diff --git a/examples/extended/geometry/cad/src/CadVisManager.cc b/examples/extended/geometry/cad/src/CadVisManager.cc index 8f10388e32..a516661ab3 100644 --- a/examples/extended/geometry/cad/src/CadVisManager.cc +++ b/examples/extended/geometry/cad/src/CadVisManager.cc @@ -22,7 +22,7 @@ // // // $Id: CadVisManager.cc,v 1.2 2002/11/26 08:28:07 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // -------------------------------------------------------------------- #ifdef G4VIS_USE diff --git a/examples/extended/geometry/olap/History b/examples/extended/geometry/olap/History index b4bb03d17f..e4fc2e06ac 100644 --- a/examples/extended/geometry/olap/History +++ b/examples/extended/geometry/olap/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2002/06/05 16:01:49 gcosmo Exp $ +$Id: History,v 1.4 2003/02/19 07:59:32 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,10 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +February, 19th, 2003 G.Cosmo - olapex-V05-00-00 +- Removed redundant inclusion of SystemOfUnits.h. + Now using CLHEP headers. + June 5th, 2002 M.Liendl - olapex-V04-00-01 - Updated README. diff --git a/examples/extended/geometry/olap/include/G4GeoNav.hh b/examples/extended/geometry/olap/include/G4GeoNav.hh index c48710c2be..d9c27993bd 100644 --- a/examples/extended/geometry/olap/include/G4GeoNav.hh +++ b/examples/extended/geometry/olap/include/G4GeoNav.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeoNav.hh,v 1.2 2002/06/04 09:23:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapDetConstr.hh b/examples/extended/geometry/olap/include/OlapDetConstr.hh index 3ed659c666..321f46e812 100644 --- a/examples/extended/geometry/olap/include/OlapDetConstr.hh +++ b/examples/extended/geometry/olap/include/OlapDetConstr.hh @@ -22,7 +22,7 @@ // // // $Id: OlapDetConstr.hh,v 1.1 2002/06/04 07:40:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapEventAction.hh b/examples/extended/geometry/olap/include/OlapEventAction.hh index f93ef5d7aa..41ee82512c 100644 --- a/examples/extended/geometry/olap/include/OlapEventAction.hh +++ b/examples/extended/geometry/olap/include/OlapEventAction.hh @@ -22,7 +22,7 @@ // // // $Id: OlapEventAction.hh,v 1.1 2002/06/04 07:40:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapGenerator.hh b/examples/extended/geometry/olap/include/OlapGenerator.hh index 1d73c14c74..5eb58b490f 100644 --- a/examples/extended/geometry/olap/include/OlapGenerator.hh +++ b/examples/extended/geometry/olap/include/OlapGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: OlapGenerator.hh,v 1.1 2002/06/04 07:40:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapLogManager.hh b/examples/extended/geometry/olap/include/OlapLogManager.hh index 90e6920c81..8021dddb5b 100644 --- a/examples/extended/geometry/olap/include/OlapLogManager.hh +++ b/examples/extended/geometry/olap/include/OlapLogManager.hh @@ -22,7 +22,7 @@ // // // $Id: OlapLogManager.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapManager.hh b/examples/extended/geometry/olap/include/OlapManager.hh index 8ddf0a942e..3b928cd3a6 100644 --- a/examples/extended/geometry/olap/include/OlapManager.hh +++ b/examples/extended/geometry/olap/include/OlapManager.hh @@ -22,7 +22,7 @@ // // // $Id: OlapManager.hh,v 1.2 2002/06/04 09:23:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapManagerMessenger.hh b/examples/extended/geometry/olap/include/OlapManagerMessenger.hh index 82a0712a11..99e0521a73 100644 --- a/examples/extended/geometry/olap/include/OlapManagerMessenger.hh +++ b/examples/extended/geometry/olap/include/OlapManagerMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: OlapManagerMessenger.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapNotify.hh b/examples/extended/geometry/olap/include/OlapNotify.hh index 62b4a6fc62..f35f61334b 100644 --- a/examples/extended/geometry/olap/include/OlapNotify.hh +++ b/examples/extended/geometry/olap/include/OlapNotify.hh @@ -22,7 +22,7 @@ // // // $Id: OlapNotify.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapPhysicsList.hh b/examples/extended/geometry/olap/include/OlapPhysicsList.hh index 1767257963..4dcf7b9f05 100644 --- a/examples/extended/geometry/olap/include/OlapPhysicsList.hh +++ b/examples/extended/geometry/olap/include/OlapPhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: OlapPhysicsList.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapRunAction.hh b/examples/extended/geometry/olap/include/OlapRunAction.hh index 71a6012db9..6cc34a7011 100644 --- a/examples/extended/geometry/olap/include/OlapRunAction.hh +++ b/examples/extended/geometry/olap/include/OlapRunAction.hh @@ -22,7 +22,7 @@ // // // $Id: OlapRunAction.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapSteppingAction.hh b/examples/extended/geometry/olap/include/OlapSteppingAction.hh index 6894a9d8b4..472ce8b169 100644 --- a/examples/extended/geometry/olap/include/OlapSteppingAction.hh +++ b/examples/extended/geometry/olap/include/OlapSteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: OlapSteppingAction.hh,v 1.1 2002/06/04 07:40:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapVisManager.hh b/examples/extended/geometry/olap/include/OlapVisManager.hh index 6cb9e88149..15eb44818a 100644 --- a/examples/extended/geometry/olap/include/OlapVisManager.hh +++ b/examples/extended/geometry/olap/include/OlapVisManager.hh @@ -22,7 +22,7 @@ // // // $Id: OlapVisManager.hh,v 1.1 2002/06/04 07:40:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/RandomDetector.hh b/examples/extended/geometry/olap/include/RandomDetector.hh index 20dfbe9324..08021259b9 100644 --- a/examples/extended/geometry/olap/include/RandomDetector.hh +++ b/examples/extended/geometry/olap/include/RandomDetector.hh @@ -22,7 +22,7 @@ // // // $Id: RandomDetector.hh,v 1.1 2002/06/04 07:40:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/SolidAnalyser.hh b/examples/extended/geometry/olap/include/SolidAnalyser.hh index 43b4cbcf6c..5a7b667fa7 100644 --- a/examples/extended/geometry/olap/include/SolidAnalyser.hh +++ b/examples/extended/geometry/olap/include/SolidAnalyser.hh @@ -22,7 +22,7 @@ // // // $Id: SolidAnalyser.hh,v 1.1 2002/06/04 07:40:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/tree.hh b/examples/extended/geometry/olap/include/tree.hh index cc7fde890f..63d80d20db 100644 --- a/examples/extended/geometry/olap/include/tree.hh +++ b/examples/extended/geometry/olap/include/tree.hh @@ -22,7 +22,7 @@ // // // $Id: tree.hh,v 1.2 2002/06/04 09:23:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/olapex.cc b/examples/extended/geometry/olap/olapex.cc index 969d267d1d..a59216b33f 100644 --- a/examples/extended/geometry/olap/olapex.cc +++ b/examples/extended/geometry/olap/olapex.cc @@ -22,7 +22,7 @@ // // // $Id: olapex.cc,v 1.1 2002/06/04 07:40:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/G4GeoNav.cc b/examples/extended/geometry/olap/src/G4GeoNav.cc index 60e72afed8..dc381c0f41 100644 --- a/examples/extended/geometry/olap/src/G4GeoNav.cc +++ b/examples/extended/geometry/olap/src/G4GeoNav.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeoNav.cc,v 1.1 2002/06/04 07:40:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapDetConstr.cc b/examples/extended/geometry/olap/src/OlapDetConstr.cc index 017e49569c..666a4959ea 100644 --- a/examples/extended/geometry/olap/src/OlapDetConstr.cc +++ b/examples/extended/geometry/olap/src/OlapDetConstr.cc @@ -22,7 +22,7 @@ // // // $Id: OlapDetConstr.cc,v 1.1 2002/06/04 07:40:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapEventAction.cc b/examples/extended/geometry/olap/src/OlapEventAction.cc index 557d90482b..94d7bb7cde 100644 --- a/examples/extended/geometry/olap/src/OlapEventAction.cc +++ b/examples/extended/geometry/olap/src/OlapEventAction.cc @@ -22,7 +22,7 @@ // // // $Id: OlapEventAction.cc,v 1.1 2002/06/04 07:40:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapGenerator.cc b/examples/extended/geometry/olap/src/OlapGenerator.cc index ee734512ba..65f9979987 100644 --- a/examples/extended/geometry/olap/src/OlapGenerator.cc +++ b/examples/extended/geometry/olap/src/OlapGenerator.cc @@ -22,7 +22,7 @@ // // // $Id: OlapGenerator.cc,v 1.2 2002/06/04 09:23:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapLogManager.cc b/examples/extended/geometry/olap/src/OlapLogManager.cc index 7378a71039..10064c5266 100644 --- a/examples/extended/geometry/olap/src/OlapLogManager.cc +++ b/examples/extended/geometry/olap/src/OlapLogManager.cc @@ -22,7 +22,7 @@ // // // $Id: OlapLogManager.cc,v 1.1 2002/06/04 07:40:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapManager.cc b/examples/extended/geometry/olap/src/OlapManager.cc index a1e9eb4a1b..3502b66225 100644 --- a/examples/extended/geometry/olap/src/OlapManager.cc +++ b/examples/extended/geometry/olap/src/OlapManager.cc @@ -22,7 +22,7 @@ // // // $Id: OlapManager.cc,v 1.1 2002/06/04 07:40:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc index e8bbec39f0..62f4e13cc5 100644 --- a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc +++ b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: OlapManagerMessenger.cc,v 1.2 2002/12/05 01:07:00 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapNotify.cc b/examples/extended/geometry/olap/src/OlapNotify.cc index 90cd046b9c..58b9360d07 100644 --- a/examples/extended/geometry/olap/src/OlapNotify.cc +++ b/examples/extended/geometry/olap/src/OlapNotify.cc @@ -22,7 +22,7 @@ // // // $Id: OlapNotify.cc,v 1.1 2002/06/04 07:40:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapPhysicsList.cc b/examples/extended/geometry/olap/src/OlapPhysicsList.cc index 03930508ae..38e92cfe03 100644 --- a/examples/extended/geometry/olap/src/OlapPhysicsList.cc +++ b/examples/extended/geometry/olap/src/OlapPhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: OlapPhysicsList.cc,v 1.1 2002/06/04 07:40:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapRunAction.cc b/examples/extended/geometry/olap/src/OlapRunAction.cc index b852b39374..203c288f21 100644 --- a/examples/extended/geometry/olap/src/OlapRunAction.cc +++ b/examples/extended/geometry/olap/src/OlapRunAction.cc @@ -22,7 +22,7 @@ // // // $Id: OlapRunAction.cc,v 1.2 2002/06/04 09:23:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapSteppingAction.cc b/examples/extended/geometry/olap/src/OlapSteppingAction.cc index 3c38d965cd..e67c07f9d5 100644 --- a/examples/extended/geometry/olap/src/OlapSteppingAction.cc +++ b/examples/extended/geometry/olap/src/OlapSteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: OlapSteppingAction.cc,v 1.1 2002/06/04 07:40:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapVisManager.cc b/examples/extended/geometry/olap/src/OlapVisManager.cc index a939be183b..b4565b4f78 100644 --- a/examples/extended/geometry/olap/src/OlapVisManager.cc +++ b/examples/extended/geometry/olap/src/OlapVisManager.cc @@ -22,7 +22,7 @@ // // // $Id: OlapVisManager.cc,v 1.1 2002/06/04 07:40:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/RandomDetector.cc b/examples/extended/geometry/olap/src/RandomDetector.cc index a7ce250880..95e40d96e3 100644 --- a/examples/extended/geometry/olap/src/RandomDetector.cc +++ b/examples/extended/geometry/olap/src/RandomDetector.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: RandomDetector.cc,v 1.1 2002/06/04 07:40:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: RandomDetector.cc,v 1.2 2003/02/19 07:59:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -34,7 +34,6 @@ // #include "globals.hh" #include "Randomize.hh" -#include "SystemOfUnits.h" #include "G4PVPlacement.hh" #include "G4LogicalVolume.hh" #include "G4Box.hh" diff --git a/examples/extended/geometry/olap/src/SolidAnalyser.cc b/examples/extended/geometry/olap/src/SolidAnalyser.cc index 7a5e3dcb67..2cea55b1d3 100644 --- a/examples/extended/geometry/olap/src/SolidAnalyser.cc +++ b/examples/extended/geometry/olap/src/SolidAnalyser.cc @@ -22,7 +22,7 @@ // // // $Id: SolidAnalyser.cc,v 1.2 2002/06/04 09:23:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/parallel/ParN02/ParN02.cc b/examples/extended/parallel/ParN02/ParN02.cc index 85e97f1b59..a525df9fdb 100644 --- a/examples/extended/parallel/ParN02/ParN02.cc +++ b/examples/extended/parallel/ParN02/ParN02.cc @@ -22,7 +22,7 @@ // // // $Id: ParN02.cc,v 1.2 2002/03/09 06:21:18 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/ParTopC.icc b/examples/extended/parallel/ParN02/ParTopC.icc index 8baa24436a..32fa7a4771 100644 --- a/examples/extended/parallel/ParN02/ParTopC.icc +++ b/examples/extended/parallel/ParN02/ParTopC.icc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParTopC.icc,v 1.1 2002/03/09 06:25:03 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh b/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh index 60b9fa62b7..e56589ae06 100644 --- a/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh +++ b/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02ChamberParameterisation.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh b/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh index d37f35346b..ec6f19a2e1 100644 --- a/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02DetectorConstruction.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh b/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh index 0363a1d50b..1668b81821 100644 --- a/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh +++ b/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02DetectorMessenger.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02EventAction.hh b/examples/extended/parallel/ParN02/include/ExN02EventAction.hh index c1569d9956..47e8e395b2 100644 --- a/examples/extended/parallel/ParN02/include/ExN02EventAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02EventAction.hh,v 1.1 2002/03/05 15:21:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh b/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh index 943e0edcc9..0763440bc0 100644 --- a/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh +++ b/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02MagneticField.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh b/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh index f8fffefb4a..bd76a83c27 100644 --- a/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh +++ b/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02PhysicsList.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh b/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh index 606388ef26..581c0eb812 100644 --- a/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02RunAction.hh b/examples/extended/parallel/ParN02/include/ExN02RunAction.hh index 5db6c6cc7f..9faa062357 100644 --- a/examples/extended/parallel/ParN02/include/ExN02RunAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02RunAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh b/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh index 8f6373f470..ba05a532c9 100644 --- a/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingAction.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh b/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh index 9af47a83bd..158e8f2923 100644 --- a/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh +++ b/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingVerbose.hh,v 1.1 2002/03/05 15:21:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/parallel/ParN02/include/ExN02TrackerHit.hh b/examples/extended/parallel/ParN02/include/ExN02TrackerHit.hh index 3a33fcb888..d5c2d3960a 100644 --- a/examples/extended/parallel/ParN02/include/ExN02TrackerHit.hh +++ b/examples/extended/parallel/ParN02/include/ExN02TrackerHit.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerHit.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh b/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh index 65d96b715a..3d4722e47e 100644 --- a/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh +++ b/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerSD.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02VisManager.hh b/examples/extended/parallel/ParN02/include/ExN02VisManager.hh index bd75344f3e..c2f91a85a9 100644 --- a/examples/extended/parallel/ParN02/include/ExN02VisManager.hh +++ b/examples/extended/parallel/ParN02/include/ExN02VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02VisManager.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN02/include/ParExMarshaledHits.hh b/examples/extended/parallel/ParN02/include/ParExMarshaledHits.hh index cd67289d73..6c03412c27 100644 --- a/examples/extended/parallel/ParN02/include/ParExMarshaledHits.hh +++ b/examples/extended/parallel/ParN02/include/ParExMarshaledHits.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParExMarshaledHits.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/include/ParMarshaledObj.hh b/examples/extended/parallel/ParN02/include/ParMarshaledObj.hh index 93623cf42d..fb69187f23 100644 --- a/examples/extended/parallel/ParN02/include/ParMarshaledObj.hh +++ b/examples/extended/parallel/ParN02/include/ParMarshaledObj.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParMarshaledObj.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/include/ParRandomState.hh b/examples/extended/parallel/ParN02/include/ParRandomState.hh index b66bf5e021..e11b8feffe 100644 --- a/examples/extended/parallel/ParN02/include/ParRandomState.hh +++ b/examples/extended/parallel/ParN02/include/ParRandomState.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRandomState.hh,v 1.1 2002/03/05 15:21:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/include/ParRunManager.hh b/examples/extended/parallel/ParN02/include/ParRunManager.hh index 0f0a865031..fd78403649 100644 --- a/examples/extended/parallel/ParN02/include/ParRunManager.hh +++ b/examples/extended/parallel/ParN02/include/ParRunManager.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRunManager.hh,v 1.2 2002/06/06 17:05:02 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc b/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc index 056866f499..08f7aa6c30 100644 --- a/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc +++ b/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02ChamberParameterisation.cc,v 1.1 2002/03/05 15:21:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc b/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc index d81a7cfcdc..18b0ff27ce 100644 --- a/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02DetectorConstruction.cc,v 1.1 2002/03/05 15:22:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc b/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc index 2a131967e5..9ab986626a 100644 --- a/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc +++ b/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02DetectorMessenger.cc,v 1.2 2002/12/05 01:07:00 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc index 38359614e8..b129587b5d 100644 --- a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02EventAction.cc,v 1.1 2002/03/05 15:22:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc b/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc index 08a87809ca..10b6af6d8f 100644 --- a/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc +++ b/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02MagneticField.cc,v 1.1 2002/03/05 15:22:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // User Field class implementation. // diff --git a/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc b/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc index 224dac6746..c3c8bb3598 100644 --- a/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc +++ b/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02PhysicsList.cc,v 1.1 2002/03/05 15:22:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc b/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc index fbe0fedb0a..e948a70a1d 100644 --- a/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.cc,v 1.1 2002/03/05 15:22:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02RunAction.cc b/examples/extended/parallel/ParN02/src/ExN02RunAction.cc index 783af9371c..672eb65612 100644 --- a/examples/extended/parallel/ParN02/src/ExN02RunAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02RunAction.cc,v 1.1 2002/03/05 15:22:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc b/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc index 0311c55e77..2db8058307 100644 --- a/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingAction.cc,v 1.1 2002/03/05 15:22:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc b/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc index 8d577b2527..aa600e6596 100644 --- a/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc +++ b/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingVerbose.cc,v 1.1 2002/03/05 15:22:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc b/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc index 465e70dcf4..e750cd6076 100644 --- a/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc +++ b/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerHit.cc,v 1.1 2002/03/05 15:22:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc b/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc index 43c2789a62..7496817c2d 100644 --- a/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc +++ b/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerSD.cc,v 1.1 2002/03/05 15:22:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02VisManager.cc b/examples/extended/parallel/ParN02/src/ExN02VisManager.cc index 7a060ba3c4..4459d0b755 100644 --- a/examples/extended/parallel/ParN02/src/ExN02VisManager.cc +++ b/examples/extended/parallel/ParN02/src/ExN02VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02VisManager.cc,v 1.2 2002/11/26 08:28:07 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/parallel/ParN02/src/ParExN02MarshaledHits.cc b/examples/extended/parallel/ParN02/src/ParExN02MarshaledHits.cc index 50ac58e686..2455d9f8ff 100644 --- a/examples/extended/parallel/ParN02/src/ParExN02MarshaledHits.cc +++ b/examples/extended/parallel/ParN02/src/ParExN02MarshaledHits.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParExN02MarshaledHits.cc,v 1.1 2002/03/05 15:22:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/src/ParMarshaledObj.cc b/examples/extended/parallel/ParN02/src/ParMarshaledObj.cc index 044e57fe73..777d069782 100644 --- a/examples/extended/parallel/ParN02/src/ParMarshaledObj.cc +++ b/examples/extended/parallel/ParN02/src/ParMarshaledObj.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParMarshaledObj.cc,v 1.1 2002/03/05 15:22:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/src/ParRunManager.cc b/examples/extended/parallel/ParN02/src/ParRunManager.cc index 96c800ea5e..2084a79187 100644 --- a/examples/extended/parallel/ParN02/src/ParRunManager.cc +++ b/examples/extended/parallel/ParN02/src/ParRunManager.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRunManager.cc,v 1.4 2002/12/05 01:07:00 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/ParN04.cc b/examples/extended/parallel/ParN04/ParN04.cc index 5cb463260c..ccb2f0817e 100644 --- a/examples/extended/parallel/ParN04/ParN04.cc +++ b/examples/extended/parallel/ParN04/ParN04.cc @@ -22,7 +22,7 @@ // // // $Id: ParN04.cc,v 1.2 2002/03/09 06:21:25 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/parallel/ParN04/ParTopC.icc b/examples/extended/parallel/ParN04/ParTopC.icc index b219f0fa54..6e24f2b3df 100644 --- a/examples/extended/parallel/ParN04/ParTopC.icc +++ b/examples/extended/parallel/ParN04/ParTopC.icc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParTopC.icc,v 1.1 2002/03/09 06:25:10 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh index 6c5fefe233..e335399af7 100644 --- a/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.hh,v 1.1 2002/03/05 15:22:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ExN04GeneralPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04GeneralPhysics.hh index 47d50aa47c..2ff8ede78c 100644 --- a/examples/extended/parallel/ParN04/include/ExN04GeneralPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.hh,v 1.1 2002/03/05 15:22:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ExN04HadronPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04HadronPhysics.hh index dc7c965d0b..ba81b03f60 100644 --- a/examples/extended/parallel/ParN04/include/ExN04HadronPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04HadronPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04HadronPhysics.hh,v 1.1 2002/03/05 15:22:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ExN04IonPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04IonPhysics.hh index 15d17e7917..8a0a8a1da5 100644 --- a/examples/extended/parallel/ParN04/include/ExN04IonPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.hh,v 1.1 2002/03/05 15:22:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ExN04MuonPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04MuonPhysics.hh index 0e3c4589b7..cde87dc096 100644 --- a/examples/extended/parallel/ParN04/include/ExN04MuonPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.hh,v 1.1 2002/03/05 15:22:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ParExMarshaledHits.hh b/examples/extended/parallel/ParN04/include/ParExMarshaledHits.hh index d3fda7d475..09f6919c79 100644 --- a/examples/extended/parallel/ParN04/include/ParExMarshaledHits.hh +++ b/examples/extended/parallel/ParN04/include/ParExMarshaledHits.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParExMarshaledHits.hh,v 1.1 2002/03/05 15:22:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/include/ParMarshaledObj.hh b/examples/extended/parallel/ParN04/include/ParMarshaledObj.hh index 4f5d67d789..c493cacb6f 100644 --- a/examples/extended/parallel/ParN04/include/ParMarshaledObj.hh +++ b/examples/extended/parallel/ParN04/include/ParMarshaledObj.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParMarshaledObj.hh,v 1.1 2002/03/05 15:22:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/include/ParRandomState.hh b/examples/extended/parallel/ParN04/include/ParRandomState.hh index 92211050d2..7123b96be7 100644 --- a/examples/extended/parallel/ParN04/include/ParRandomState.hh +++ b/examples/extended/parallel/ParN04/include/ParRandomState.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRandomState.hh,v 1.1 2002/03/05 15:22:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/include/ParRunManager.hh b/examples/extended/parallel/ParN04/include/ParRunManager.hh index 6add093756..b38aa5fa19 100644 --- a/examples/extended/parallel/ParN04/include/ParRunManager.hh +++ b/examples/extended/parallel/ParN04/include/ParRunManager.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRunManager.hh,v 1.2 2002/06/06 17:05:05 cooperma Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/src/ExN04EMPhysics.cc b/examples/extended/parallel/ParN04/src/ExN04EMPhysics.cc index f9dc190e64..164fe87137 100644 --- a/examples/extended/parallel/ParN04/src/ExN04EMPhysics.cc +++ b/examples/extended/parallel/ParN04/src/ExN04EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.cc,v 1.1 2002/03/05 15:22:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ExN04GeneralPhysics.cc b/examples/extended/parallel/ParN04/src/ExN04GeneralPhysics.cc index f20fe126dc..74b1ee4a95 100644 --- a/examples/extended/parallel/ParN04/src/ExN04GeneralPhysics.cc +++ b/examples/extended/parallel/ParN04/src/ExN04GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.cc,v 1.1 2002/03/05 15:22:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ExN04HadronPhysics.cc b/examples/extended/parallel/ParN04/src/ExN04HadronPhysics.cc index 690e1d5df6..d47fee3ffe 100644 --- a/examples/extended/parallel/ParN04/src/ExN04HadronPhysics.cc +++ b/examples/extended/parallel/ParN04/src/ExN04HadronPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04HadronPhysics.cc,v 1.1 2002/03/05 15:22:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ExN04IonPhysics.cc b/examples/extended/parallel/ParN04/src/ExN04IonPhysics.cc index a9ef833e76..3907e38be7 100644 --- a/examples/extended/parallel/ParN04/src/ExN04IonPhysics.cc +++ b/examples/extended/parallel/ParN04/src/ExN04IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.cc,v 1.1 2002/03/05 15:22:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ExN04MuonPhysics.cc b/examples/extended/parallel/ParN04/src/ExN04MuonPhysics.cc index 2b0fc12c33..124380de92 100644 --- a/examples/extended/parallel/ParN04/src/ExN04MuonPhysics.cc +++ b/examples/extended/parallel/ParN04/src/ExN04MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.cc,v 1.1 2002/03/05 15:22:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ExN04PhysicsList.cc b/examples/extended/parallel/ParN04/src/ExN04PhysicsList.cc index f6dcc8aca0..4a422e2468 100644 --- a/examples/extended/parallel/ParN04/src/ExN04PhysicsList.cc +++ b/examples/extended/parallel/ParN04/src/ExN04PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04PhysicsList.cc,v 1.1 2002/03/05 15:22:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/parallel/ParN04/src/ParExN04MarshaledHits.cc b/examples/extended/parallel/ParN04/src/ParExN04MarshaledHits.cc index 4b5b306039..7188e06355 100644 --- a/examples/extended/parallel/ParN04/src/ParExN04MarshaledHits.cc +++ b/examples/extended/parallel/ParN04/src/ParExN04MarshaledHits.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParExN04MarshaledHits.cc,v 1.1 2002/03/05 15:22:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/src/ParMarshaledObj.cc b/examples/extended/parallel/ParN04/src/ParMarshaledObj.cc index fa8acaaefc..1a0272a93a 100644 --- a/examples/extended/parallel/ParN04/src/ParMarshaledObj.cc +++ b/examples/extended/parallel/ParN04/src/ParMarshaledObj.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParMarshaledObj.cc,v 1.1 2002/03/05 15:22:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/src/ParRunManager.cc b/examples/extended/parallel/ParN04/src/ParRunManager.cc index cc6aef1d32..f565f8b74d 100644 --- a/examples/extended/parallel/ParN04/src/ParRunManager.cc +++ b/examples/extended/parallel/ParN04/src/ParRunManager.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: ParRunManager.cc,v 1.4 2002/12/05 01:07:01 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/persistency/PersEx01/G4PersEx01.cc b/examples/extended/persistency/PersEx01/G4PersEx01.cc index 33ae7e1690..07616864b9 100644 --- a/examples/extended/persistency/PersEx01/G4PersEx01.cc +++ b/examples/extended/persistency/PersEx01/G4PersEx01.cc @@ -22,7 +22,7 @@ // // // $Id: G4PersEx01.cc,v 1.1 2002/12/04 02:44:24 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/persistency/PersEx01/include/Pers01CalorHit.hh b/examples/extended/persistency/PersEx01/include/Pers01CalorHit.hh index 2a6584ae29..096fcaa9d8 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01CalorHit.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01CalorHit.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01CalorimeterSD.hh b/examples/extended/persistency/PersEx01/include/Pers01CalorimeterSD.hh index d28623e99c..73ad0f0da1 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01CalorimeterSD.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01CalorimeterSD.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01DetectorConstruction.hh b/examples/extended/persistency/PersEx01/include/Pers01DetectorConstruction.hh index 257685826e..fc5be84b52 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01DetectorConstruction.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01DetectorConstruction.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01DetectorMessenger.hh b/examples/extended/persistency/PersEx01/include/Pers01DetectorMessenger.hh index a753b299db..58edfd1c38 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01DetectorMessenger.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01DetectorMessenger.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01EventAction.hh b/examples/extended/persistency/PersEx01/include/Pers01EventAction.hh index 2a0fc2ae64..243cce318a 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01EventAction.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01EventAction.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01EventActionMessenger.hh b/examples/extended/persistency/PersEx01/include/Pers01EventActionMessenger.hh index 34da396635..6eb0cfa136 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01EventActionMessenger.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01EventActionMessenger.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01PhysicsList.hh b/examples/extended/persistency/PersEx01/include/Pers01PhysicsList.hh index 3db03bb401..b5ca62a8f0 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01PhysicsList.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01PhysicsList.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorAction.hh b/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorAction.hh index c7cdb40509..e3fd4b95ac 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorAction.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01PrimaryGeneratorAction.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorMessenger.hh b/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorMessenger.hh index d4e9773278..e8cb80c2a5 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorMessenger.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01PrimaryGeneratorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01PrimaryGeneratorMessenger.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01RunAction.hh b/examples/extended/persistency/PersEx01/include/Pers01RunAction.hh index 8fa75d1ab7..e3b5d6a768 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01RunAction.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01RunAction.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01SteppingAction.hh b/examples/extended/persistency/PersEx01/include/Pers01SteppingAction.hh index 48f680b1f3..4683c186d4 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01SteppingAction.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01SteppingAction.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/include/Pers01SteppingVerbose.hh b/examples/extended/persistency/PersEx01/include/Pers01SteppingVerbose.hh index ebd0ff1a0d..909e0cbe41 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01SteppingVerbose.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01SteppingVerbose.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/PersEx01/include/Pers01VisManager.hh b/examples/extended/persistency/PersEx01/include/Pers01VisManager.hh index 6316606d01..6e6213920c 100644 --- a/examples/extended/persistency/PersEx01/include/Pers01VisManager.hh +++ b/examples/extended/persistency/PersEx01/include/Pers01VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: Pers01VisManager.hh,v 1.1 2002/12/04 02:44:25 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01CalorHit.cc b/examples/extended/persistency/PersEx01/src/Pers01CalorHit.cc index 88d90acbe3..6035224d54 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01CalorHit.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01CalorHit.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01CalorimeterSD.cc b/examples/extended/persistency/PersEx01/src/Pers01CalorimeterSD.cc index b563e7f14b..c015a83030 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01CalorimeterSD.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01CalorimeterSD.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01DetectorConstruction.cc b/examples/extended/persistency/PersEx01/src/Pers01DetectorConstruction.cc index c7fead32ce..2e887a2528 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01DetectorConstruction.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01DetectorConstruction.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01DetectorMessenger.cc b/examples/extended/persistency/PersEx01/src/Pers01DetectorMessenger.cc index 5eaad96bd6..ac962ced03 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01DetectorMessenger.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01DetectorMessenger.cc,v 1.2 2002/12/06 16:59:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01EventAction.cc b/examples/extended/persistency/PersEx01/src/Pers01EventAction.cc index c0059fefeb..78a01bb776 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01EventAction.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01EventAction.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01EventActionMessenger.cc b/examples/extended/persistency/PersEx01/src/Pers01EventActionMessenger.cc index d44b4e77cf..2dc1f77b2f 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01EventActionMessenger.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01EventActionMessenger.cc,v 1.2 2002/12/06 16:59:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01PhysicsList.cc b/examples/extended/persistency/PersEx01/src/Pers01PhysicsList.cc index 6a220d1c23..47d8fb9496 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01PhysicsList.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01PhysicsList.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorAction.cc b/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorAction.cc index 6c5fa8dc90..166d6daec1 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorAction.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01PrimaryGeneratorAction.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorMessenger.cc b/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorMessenger.cc index 9cbaceb46c..adbe20677f 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorMessenger.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01PrimaryGeneratorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01PrimaryGeneratorMessenger.cc,v 1.2 2002/12/06 16:59:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01RunAction.cc b/examples/extended/persistency/PersEx01/src/Pers01RunAction.cc index 542fd36a64..b4bbf12083 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01RunAction.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01RunAction.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01SteppingAction.cc b/examples/extended/persistency/PersEx01/src/Pers01SteppingAction.cc index b7199e397f..a13f536cab 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01SteppingAction.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01SteppingAction.cc,v 1.1 2002/12/04 02:44:26 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/extended/persistency/PersEx01/src/Pers01SteppingVerbose.cc b/examples/extended/persistency/PersEx01/src/Pers01SteppingVerbose.cc index a738fb636b..73dcaecb11 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01SteppingVerbose.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01SteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01SteppingVerbose.cc,v 1.1 2002/12/04 02:44:27 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/PersEx01/src/Pers01VisManager.cc b/examples/extended/persistency/PersEx01/src/Pers01VisManager.cc index 913c40d83a..afd1cded10 100644 --- a/examples/extended/persistency/PersEx01/src/Pers01VisManager.cc +++ b/examples/extended/persistency/PersEx01/src/Pers01VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: Pers01VisManager.cc,v 1.1 2002/12/04 02:44:27 morita Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/extended/persistency/rootio/include/G4DigitRootIO.hh b/examples/extended/persistency/rootio/include/G4DigitRootIO.hh index 14fc68d861..7c2e05351a 100644 --- a/examples/extended/persistency/rootio/include/G4DigitRootIO.hh +++ b/examples/extended/persistency/rootio/include/G4DigitRootIO.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4DigitRootIO.hh,v 1.4 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4DigitRootIO.hh // diff --git a/examples/extended/persistency/rootio/include/G4EventRootIO.hh b/examples/extended/persistency/rootio/include/G4EventRootIO.hh index 4045bf3243..0b28374b2c 100644 --- a/examples/extended/persistency/rootio/include/G4EventRootIO.hh +++ b/examples/extended/persistency/rootio/include/G4EventRootIO.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4EventRootIO.hh,v 1.3 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4EventRootIO.hh // diff --git a/examples/extended/persistency/rootio/include/G4HepMCRootIO.hh b/examples/extended/persistency/rootio/include/G4HepMCRootIO.hh index 29d92ae4f1..4a37a1130e 100644 --- a/examples/extended/persistency/rootio/include/G4HepMCRootIO.hh +++ b/examples/extended/persistency/rootio/include/G4HepMCRootIO.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4HepMCRootIO.hh,v 1.3 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4HepMCRootIO.hh // diff --git a/examples/extended/persistency/rootio/include/G4HitRootIO.hh b/examples/extended/persistency/rootio/include/G4HitRootIO.hh index 71ecd8e419..fe0c0ae017 100644 --- a/examples/extended/persistency/rootio/include/G4HitRootIO.hh +++ b/examples/extended/persistency/rootio/include/G4HitRootIO.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4HitRootIO.hh,v 1.4 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4HitRootIO.hh // diff --git a/examples/extended/persistency/rootio/include/G4MCTruthRootIO.hh b/examples/extended/persistency/rootio/include/G4MCTruthRootIO.hh index 4d39c78816..96294612b3 100644 --- a/examples/extended/persistency/rootio/include/G4MCTruthRootIO.hh +++ b/examples/extended/persistency/rootio/include/G4MCTruthRootIO.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4MCTruthRootIO.hh,v 1.4 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4MCTruthRootIO.hh // diff --git a/examples/extended/persistency/rootio/include/G4RootEvent.hh b/examples/extended/persistency/rootio/include/G4RootEvent.hh index 1998c871bc..b35ccef618 100644 --- a/examples/extended/persistency/rootio/include/G4RootEvent.hh +++ b/examples/extended/persistency/rootio/include/G4RootEvent.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootEvent.hh,v 1.3 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootEvent.hh // diff --git a/examples/extended/persistency/rootio/include/G4RootIOManager.hh b/examples/extended/persistency/rootio/include/G4RootIOManager.hh index 28c0de22bf..ebb9124082 100644 --- a/examples/extended/persistency/rootio/include/G4RootIOManager.hh +++ b/examples/extended/persistency/rootio/include/G4RootIOManager.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootIOManager.hh,v 1.3 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootIOManager.hh // diff --git a/examples/extended/persistency/rootio/include/G4RootTransManager.hh b/examples/extended/persistency/rootio/include/G4RootTransManager.hh index e886f9d0bb..aa2b3974ac 100644 --- a/examples/extended/persistency/rootio/include/G4RootTransManager.hh +++ b/examples/extended/persistency/rootio/include/G4RootTransManager.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootTransManager.hh,v 1.3 2002/12/13 14:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootTransManager.hh // diff --git a/examples/extended/persistency/rootio/src/G4DigitRootIO.cc b/examples/extended/persistency/rootio/src/G4DigitRootIO.cc index c365d713f8..337dfb0c8a 100644 --- a/examples/extended/persistency/rootio/src/G4DigitRootIO.cc +++ b/examples/extended/persistency/rootio/src/G4DigitRootIO.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4DigitRootIO.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4DigitRootIO.cc // diff --git a/examples/extended/persistency/rootio/src/G4EventRootIO.cc b/examples/extended/persistency/rootio/src/G4EventRootIO.cc index 45ae3a1549..2e5dc66bd8 100644 --- a/examples/extended/persistency/rootio/src/G4EventRootIO.cc +++ b/examples/extended/persistency/rootio/src/G4EventRootIO.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4EventRootIO.cc,v 1.3 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4EventRootIO.cc // diff --git a/examples/extended/persistency/rootio/src/G4HepMCRootIO.cc b/examples/extended/persistency/rootio/src/G4HepMCRootIO.cc index b0c62da5bc..7f97a33276 100644 --- a/examples/extended/persistency/rootio/src/G4HepMCRootIO.cc +++ b/examples/extended/persistency/rootio/src/G4HepMCRootIO.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4HepMCRootIO.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4HepMCRootIO.cc // diff --git a/examples/extended/persistency/rootio/src/G4HitRootIO.cc b/examples/extended/persistency/rootio/src/G4HitRootIO.cc index e6e805a650..a3ef5cd6e4 100644 --- a/examples/extended/persistency/rootio/src/G4HitRootIO.cc +++ b/examples/extended/persistency/rootio/src/G4HitRootIO.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4HitRootIO.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4HitRootIO.cc // diff --git a/examples/extended/persistency/rootio/src/G4MCTruthRootIO.cc b/examples/extended/persistency/rootio/src/G4MCTruthRootIO.cc index cfc185c512..847440ecc8 100644 --- a/examples/extended/persistency/rootio/src/G4MCTruthRootIO.cc +++ b/examples/extended/persistency/rootio/src/G4MCTruthRootIO.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4MCTruthRootIO.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4MCTruthRootIO.cc // diff --git a/examples/extended/persistency/rootio/src/G4RootEvent.cc b/examples/extended/persistency/rootio/src/G4RootEvent.cc index 4e1ad56afd..c51afcc875 100644 --- a/examples/extended/persistency/rootio/src/G4RootEvent.cc +++ b/examples/extended/persistency/rootio/src/G4RootEvent.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootEvent.cc,v 1.3 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootEvent.cc // diff --git a/examples/extended/persistency/rootio/src/G4RootIOManager.cc b/examples/extended/persistency/rootio/src/G4RootIOManager.cc index e47200a99e..665da1f4dd 100644 --- a/examples/extended/persistency/rootio/src/G4RootIOManager.cc +++ b/examples/extended/persistency/rootio/src/G4RootIOManager.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootIOManager.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootIOManager.cc // diff --git a/examples/extended/persistency/rootio/src/G4RootTransManager.cc b/examples/extended/persistency/rootio/src/G4RootTransManager.cc index 7d4bd8113e..224f43632e 100644 --- a/examples/extended/persistency/rootio/src/G4RootTransManager.cc +++ b/examples/extended/persistency/rootio/src/G4RootTransManager.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4RootTransManager.cc,v 1.4 2002/12/13 14:45:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // File: G4RootTransManager.cc // diff --git a/examples/novice/GNUmakefile b/examples/novice/GNUmakefile index bf8804c166..856bd6c261 100644 --- a/examples/novice/GNUmakefile +++ b/examples/novice/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:39 gunter Exp $ +# $Id: GNUmakefile,v 1.2 2003/04/11 10:49:49 gcosmo Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -9,7 +9,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -SUBDIRS = N01 N02 N03 N04 N05 N06 +SUBDIRS = N01 N02 N03 N04 N05 N06 N07 .PHONY : all clean clean_libs diff --git a/examples/novice/N01/History b/examples/novice/N01/History index 21e85dc5f2..bd13b91c96 100644 --- a/examples/novice/N01/History +++ b/examples/novice/N01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.6 2002/07/03 07:50:34 gcosmo Exp $ +$Id: History,v 1.7 2003/03/25 14:40:07 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,9 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +March 25, 2003 mma (exampleN01-V05-00-00) +- Use G4PVPlacement constructor in logical mother, even for the world. July 03, 2002 Makoto Asai (exampleN01-V04-01-00) - Correction to README. diff --git a/examples/novice/N01/exampleN01.cc b/examples/novice/N01/exampleN01.cc index 8a09197aae..ec7f3d5e6d 100644 --- a/examples/novice/N01/exampleN01.cc +++ b/examples/novice/N01/exampleN01.cc @@ -22,7 +22,7 @@ // // // $Id: exampleN01.cc,v 1.4 2002/01/09 17:23:47 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N01/exampleN01.out b/examples/novice/N01/exampleN01.out index c8de17e1be..414f22d801 100644 --- a/examples/novice/N01/exampleN01.out +++ b/examples/novice/N01/exampleN01.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Start Run processing. @@ -193,5 +193,5 @@ Terminate current event processing. Run terminated. Run Summary Number of events processed : 3 - User=0.02s Real=0.05s Sys=0.03s + User=0.04s Real=0.06s Sys=0.02s G4 kernel has come to Quit state. diff --git a/examples/novice/N01/include/ExN01DetectorConstruction.hh b/examples/novice/N01/include/ExN01DetectorConstruction.hh index a857da4a38..f7fc500a73 100644 --- a/examples/novice/N01/include/ExN01DetectorConstruction.hh +++ b/examples/novice/N01/include/ExN01DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN01DetectorConstruction.hh,v 1.5 2002/01/09 17:23:48 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN01DetectorConstruction_H diff --git a/examples/novice/N01/include/ExN01PhysicsList.hh b/examples/novice/N01/include/ExN01PhysicsList.hh index de629755ab..f5d5afd9be 100644 --- a/examples/novice/N01/include/ExN01PhysicsList.hh +++ b/examples/novice/N01/include/ExN01PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN01PhysicsList.hh,v 1.5 2002/01/09 17:23:48 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh index afc46aacfb..2fea902d2a 100644 --- a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh +++ b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN01PrimaryGeneratorAction.hh,v 1.4 2002/01/09 17:23:48 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN01PrimaryGeneratorAction_h diff --git a/examples/novice/N01/src/ExN01DetectorConstruction.cc b/examples/novice/N01/src/ExN01DetectorConstruction.cc index 34d46cf4d2..b89af4887a 100644 --- a/examples/novice/N01/src/ExN01DetectorConstruction.cc +++ b/examples/novice/N01/src/ExN01DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN01DetectorConstruction.cc,v 1.6 2002/04/26 13:49:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN01DetectorConstruction.cc,v 1.7 2003/03/25 14:40:07 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN01DetectorConstruction.hh" @@ -80,8 +80,8 @@ G4VPhysicalVolume* ExN01DetectorConstruction::Construct() = new G4Box("expHall_box",expHall_x,expHall_y,expHall_z); experimentalHall_log = new G4LogicalVolume(experimentalHall_box, Ar,"expHall_log",0,0,0); - experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(),"expHall", - experimentalHall_log,0,false,0); + experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(), + experimentalHall_log,"expHall",0,false,0); //------------------------------ a tracker tube diff --git a/examples/novice/N01/src/ExN01PhysicsList.cc b/examples/novice/N01/src/ExN01PhysicsList.cc index b6a012f350..3e62771307 100644 --- a/examples/novice/N01/src/ExN01PhysicsList.cc +++ b/examples/novice/N01/src/ExN01PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN01PhysicsList.cc,v 1.5 2002/01/09 17:23:48 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc index 602bf152ed..98584c4e73 100644 --- a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc +++ b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN01PrimaryGeneratorAction.cc,v 1.5 2002/05/14 01:50:31 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN01PrimaryGeneratorAction.hh" diff --git a/examples/novice/N02/History b/examples/novice/N02/History index 636f621488..b77d71e6f6 100644 --- a/examples/novice/N02/History +++ b/examples/novice/N02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2001/11/27 15:52:53 maire Exp $ +$Id: History,v 1.28 2003/03/25 16:28:22 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25-03-03 mma (exampleN02-V05-00-02) +- Use G4PVPlacement and G4PVParametrised constructors in logical mother. + +11-02-03 mma (exampleN02-V05-00-00) +- a blank in SteppingVerbose + 27-11-01 mma (exampleN02-V03-02-04) - vis.mac: /vis/viewer/set/viewpointThetaPhi diff --git a/examples/novice/N02/exampleN02.cc b/examples/novice/N02/exampleN02.cc index 5e662fea90..76c12ce171 100644 --- a/examples/novice/N02/exampleN02.cc +++ b/examples/novice/N02/exampleN02.cc @@ -22,7 +22,7 @@ // // // $Id: exampleN02.cc,v 1.8 2002/01/09 17:23:49 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/exampleN02.large_N.out b/examples/novice/N02/exampleN02.large_N.out deleted file mode 100644 index a62f21f242..0000000000 --- a/examples/novice/N02/exampleN02.large_N.out +++ /dev/null @@ -1,2091 +0,0 @@ -********************************************** - Geant4 version $Name: geant4-05-00 $ - (15-Dec-2000) - Copyright : Geant4 Collaboration -********************************************** - -The materials defined are : - - -***** Table : Nb of materials = 4 ***** - - Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m - ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % - ---> Element: Oxigen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % - - Material: Al density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm - ---> Element: Al Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % - - Material: Pb density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm - ---> Element: Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 % - - Material: XenonGas density: 5.458 mg/cm3 temperature: 293.15 K pressure: 1.00 atm RadLength: 15.539 m - ---> Element: XenonGas Z = 54.0 N = 131.3 A = 131.29 g/mole fractionMass: 100.00 % Abundance 100.00 % - - -Target is 5 cm of Pb -There are 5 chambers in the tracker region. The chambers are 2e+02 mm of XenonGas - The distance between chamber is 80 cm - -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1 MeV to 1e+02 GeV in 100 bins. - -compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. - Scattered gamma energy according Klein-Nishina. - PhysicsTables from 10 keV to 1e+02 GeV in 100 bins. - -phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z - Sandia crossSection below 50 KeV - PhysicsTables from 50 keV to 50 MeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins. - -eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 1e+02 TeV in 100 bins. - - eIoni Minimum Delta cut in range=1 mm. - - material min.delta energy(keV) - - Air 6.2457 - Al 572.17 - Pb 1332.1 - XenonGas 9.4278 - -eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV. - log scale extrapolation above 100 GeV - Gamma energy sampled from a parametrised formula. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -annihil: Total cross section from Heilter formula (annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. - - hIoni Minimum Delta cut in range=1 mm. - - material min.delta energy(keV) - - Air 6.2457 - Al 572.17 - Pb 1332.1 - XenonGas 9.4278 - -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -MuIoni: knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -MuBrems: theoretical cross section - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -MuPairProd: theoretical cross sections - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range 1 cm 1 cm -Cut in energy - Air 990 eV 8.07 keV - Al 20.5 keV 4.55 MeV - Pb 282 keV 15 MeV - XenonGas 2.47 keV 40.3 keV -=================================================== -### Run 0 start. - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm WorldPV initStep - 1 -32.2 mum -1.27 mum -2.86 m 200 MeV 7.66 keV 4.79 cm 4.79 cm WorldPV eIoni - 2 -185 mum 115 mum -2.45 m 200 MeV 94.2 keV 41.2 cm 46 cm WorldPV Transportation - 3 -173 mum 108 mum -2.45 m 191 MeV 5.58 MeV 682 mum 46.1 cm TargetPV eBrem - 4 -178 mum 107 mum -2.45 m 190 MeV 535 keV 277 mum 46.1 cm TargetPV eBrem - 5 -204 mum 116 mum -2.45 m 180 MeV 556 keV 363 mum 46.1 cm TargetPV eBrem - 6 -238 mum 116 mum -2.45 m 170 MeV 556 keV 379 mum 46.2 cm TargetPV eBrem - 7 -244 mum 115 mum -2.45 m 162 MeV 81.3 keV 72.9 mum 46.2 cm TargetPV eBrem - 8 -356 mum 35.1 mum -2.45 m 156 MeV 2.86 MeV 2.02 mm 46.4 cm TargetPV eBrem - 9 -389 mum 17.6 mum -2.45 m 156 MeV 376 keV 346 mum 46.4 cm TargetPV eBrem - 10 -461 mum -38.1 mum -2.45 m 154 MeV 1.17 MeV 796 mum 46.5 cm TargetPV eBrem - 11 -481 mum -47.8 mum -2.44 m 113 MeV 309 keV 261 mum 46.5 cm TargetPV eBrem - 12 -482 mum -48.6 mum -2.44 m 112 MeV 9.75 keV 11.6 mum 46.5 cm TargetPV eBrem - 13 -561 mum -131 mum -2.44 m 70.2 MeV 969 keV 810 mum 46.6 cm TargetPV eBrem - 14 -952 mum -430 mum -2.44 m 46.6 MeV 2.65 MeV 1.92 mm 46.8 cm TargetPV eBrem - 15 -1.04 mm -580 mum -2.44 m 43.7 MeV 1.35 MeV 860 mum 46.9 cm TargetPV eBrem - 16 -1.12 mm -567 mum -2.44 m 34.9 MeV 511 keV 504 mum 46.9 cm TargetPV eBrem - 17 -1.12 mm -567 mum -2.44 m 30.1 MeV 449 eV 2.58 mum 46.9 cm TargetPV eBrem - 18 -1.65 mm -871 mum -2.44 m 19.7 MeV 2.29 MeV 1.77 mm 47.1 cm TargetPV eBrem - 19 -1.79 mm -949 mum -2.44 m 7.37 MeV 278 keV 288 mum 47.1 cm TargetPV eBrem - 20 -1.9 mm -1.08 mm -2.44 m 4.5 MeV 405 keV 450 mum 47.2 cm TargetPV eBrem - 21 -2.7 mm -954 mum -2.44 m 3.43 MeV 1.08 MeV 1.04 mm 47.3 cm TargetPV eIoni - 22 -3.05 mm -1.48 mm -2.44 m 2.54 MeV 889 keV 862 mum 47.4 cm TargetPV eIoni - 23 -2.7 mm -1.65 mm -2.44 m 784 keV 1.75 MeV 713 mum 47.4 cm TargetPV eIoni - 24 -2.81 mm -1.68 mm -2.44 m 364 keV 420 keV 370 mum 47.5 cm TargetPV eIoni - 25 -2.79 mm -1.69 mm -2.44 m 0 eV 364 keV 193 mum 47.5 cm TargetPV eIoni - 26 -2.79 mm -1.69 mm -2.44 m 0 eV 0 eV 0 fm 47.5 cm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.79 mm -1.69 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.72 mm -1.69 mm -2.44 m 310 keV 201 keV 115 mum 115 mum TargetPV compt - 2 -2.58 mm -355 mum -2.44 m 197 keV 113 keV 1.39 mm 1.5 mm TargetPV compt - 3 -3.14 mm -490 mum -2.44 m 0 eV 197 keV 1.11 mm 2.61 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.79 mm -1.69 mm -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.36 mm -1.77 mm -2.44 m 0 eV 511 keV 963 mum 963 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.9 mm -1.08 mm -2.44 m 2.46 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.93 mm -315 mum -2.44 m 834 keV 1.62 MeV 5.77 mm 5.77 mm TargetPV compt - 2 -2.33 cm -6.4 mm -2.44 m 685 keV 149 keV 1.83 cm 2.4 cm TargetPV compt - 3 -2.5 cm -8.29 mm -2.44 m 685 keV 0 eV 3.13 mm 2.72 cm TargetPV Transportation - 4 -47.2 cm -49.7 cm -2.91 m 685 keV 0 eV 81 cm 83.7 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.79 mm -949 mum -2.44 m 12 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.3 cm -3.14 mm -2.42 m 0 eV 11 MeV 2.16 cm 2.16 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 23, Parent ID = 19 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 cm -3.14 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.3 cm -3.14 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 cm -3.14 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.7 cm -1.67 cm -2.44 m 496 keV 14.8 keV 2.22 cm 2.22 cm TargetPV compt - 2 -1.81 cm -1.8 cm -2.44 m 0 eV 496 keV 2.78 mm 2.5 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 cm -3.14 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.28 cm -2.54 mm -2.42 m 0 eV 511 keV 987 mum 987 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.65 mm -871 mum -2.44 m 8.11 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.35 cm -1.23 cm -2.42 m 0 eV 7.09 MeV 2.76 cm 2.76 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 26, Parent ID = 18 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 cm -1.23 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.35 cm -1.23 cm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 cm -1.23 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.18 cm -1.4 cm -2.42 m 0 eV 511 keV 2.93 mm 2.93 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 cm -1.23 cm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.86 cm -7.16 mm -2.42 m 0 eV 511 keV 8.9 mm 8.9 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.12 mm -567 mum -2.44 m 4.79 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.11 mm -916 mum -2.43 m 1.47 MeV 0 eV 7.39 mm 7.39 mm TargetPV compt - 2 -1.3 cm -3.13 mm -2.42 m 377 keV 1.09 MeV 1.47 cm 2.21 cm TargetPV compt - 3 -1.24 cm -4.62 mm -2.42 m 0 eV 88 keV 1.62 mm 2.38 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.24 cm -4.62 mm -2.42 m 289 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.24 cm -4.63 mm -2.42 m 0 eV 289 keV 141 mum 141 mum TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 17 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.11 mm -916 mum -2.43 m 3.33 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.92 mm -1.01 mm -2.43 m 949 keV 357 keV 382 mum 382 mum TargetPV eBrem - 2 -1.9 mm -987 mum -2.43 m 503 keV 446 keV 408 mum 790 mum TargetPV eIoni - 3 -1.85 mm -981 mum -2.43 m 191 keV 312 keV 275 mum 1.06 mm TargetPV eIoni - 4 -1.85 mm -984 mum -2.43 m 0 eV 191 keV 76 mum 1.14 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 31, Parent ID = 29 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.92 mm -1.01 mm -2.43 m 2.02 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 234 mum -2.61 mm -2.44 m 264 keV 1.76 MeV 3.97 mm 3.97 mm TargetPV compt - 2 -16.8 mum -3 mm -2.43 m 0 eV 264 keV 1.42 mm 5.39 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.12 mm -567 mum -2.44 m 8.34 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6 mm -1.92 mm -2.4 m 0 eV 2.52 MeV 3.78 cm 3.78 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 32, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6 mm -1.92 mm -2.4 m 4.8 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -5.96 mm -1.74 mm -2.4 m 3.68 MeV 478 keV 533 mum 533 mum TargetPV eBrem - 2 -6.33 mm -1.2 mm -2.4 m 2.55 MeV 1.13 MeV 905 mum 1.44 mm TargetPV eIoni - 3 -6.12 mm -1.03 mm -2.4 m 0 eV 274 keV 312 mum 1.75 mm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 32 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.12 mm -1.03 mm -2.4 m 3.01 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.07 mm -243 mum -2.4 m 0 eV 1.99 MeV 1.28 mm 1.28 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 36, Parent ID = 35 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.07 mm -243 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.07 mm -243 mum -2.4 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 36 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.07 mm -243 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -9.07 mm -2.72 mm -2.4 m 511 keV 0 eV 4.22 mm 4.22 mm TargetPV Transportation - 2 -2.4 m -1.98 m -1.07 m 511 keV 0 eV 3.37 m 3.38 m Tracker Transportation - 3 -2.91 m -2.4 m -79.2 cm 511 keV 0 eV 72 cm 4.1 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 36 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.07 mm -243 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 1.19 cm 1.46 cm -2.41 m 308 keV 203 keV 2.53 cm 2.53 cm TargetPV compt - 2 1.18 cm 1.46 cm -2.41 m 0 eV 308 keV 995 mum 2.63 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 32 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.12 mm -1.03 mm -2.4 m 295 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.64 mm -2.88 mm -2.41 m 0 eV 295 keV 6.28 mm 6.28 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 33, Parent ID = 32 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.96 mm -1.74 mm -2.4 m 635 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.71 mm -165 mum -2.4 m 635 keV 0 eV 3.42 mm 3.42 mm TargetPV Transportation - 2 -60.7 cm 1.25 m -4.89 cm 622 keV 0 eV 2.73 m 2.73 m Tracker compt - 3 -1.67 m 2.4 m 2.16 m 622 keV 0 eV 2.7 m 5.44 m Tracker Transportation - 4 -2.03 m 2.79 m 2.91 m 622 keV 0 eV 92.3 cm 6.36 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 33 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -60.7 cm 1.25 m -4.89 cm 12.8 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -60.6 cm 1.25 m -4.9 cm 10 keV 2.77 keV 1.01 mm 1.01 mm Tracker eIoni - 2 -60.6 cm 1.25 m -4.96 cm 7.79 keV 2.25 keV 759 mum 1.76 mm Tracker eIoni - 3 -60.5 cm 1.25 m -4.99 cm 6.37 keV 1.42 keV 591 mum 2.36 mm Tracker eIoni - 4 -60.5 cm 1.25 m -5.03 cm 4.9 keV 1.47 keV 496 mum 2.85 mm Tracker eIoni - 5 -60.5 cm 1.25 m -5 cm 3.59 keV 1.31 keV 404 mum 3.26 mm Tracker eIoni - 6 -60.6 cm 1.25 m -5 cm 1.6 keV 1.99 keV 318 mum 3.57 mm Tracker eIoni - 7 -60.5 cm 1.25 m -5 cm 0 eV 1.6 keV 111 mum 3.69 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.04 mm -580 mum -2.44 m 1.57 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.57 mm -210 mum -2.44 m 913 keV 660 keV 4.04 mm 4.04 mm TargetPV compt - 2 -3.5 mm 1.55 mm -2.44 m 606 keV 306 keV 3.44 mm 7.48 mm TargetPV compt - 3 -4.01 mm 1.34 mm -2.43 m 0 eV 606 keV 946 mum 8.43 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -952 mum -430 mum -2.44 m 20.9 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.3 mm -674 mum -2.44 m 0 eV 3.82 MeV 1.9 mm 1.9 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 41, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm -674 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.3 mm -674 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm -674 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 3.21 mm 928 mum -2.44 m 202 keV 309 keV 5.69 mm 5.69 mm TargetPV compt - 2 3.22 mm 898 mum -2.44 m 0 eV 202 keV 173 mum 5.87 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm -674 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.92 mm -1.61 mm -2.44 m 0 eV 511 keV 3.31 mm 3.31 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm -674 mum -2.44 m 16.1 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.3 mm -769 mum -2.44 m 13 MeV 2.8 MeV 1.91 mm 1.91 mm TargetPV eBrem - 2 -2.45 mm -949 mum -2.44 m 10.5 MeV 2.17 MeV 1.68 mm 3.59 mm TargetPV eBrem - 3 -3.3 mm -888 mum -2.44 m 6.2 MeV 2.82 MeV 1.85 mm 5.44 mm TargetPV eBrem - 4 -3.53 mm -733 mum -2.44 m 5.31 MeV 525 keV 300 mum 5.74 mm TargetPV eBrem - 5 -3.62 mm -596 mum -2.44 m 4.08 MeV 210 keV 200 mum 5.94 mm TargetPV eBrem - 6 -3.96 mm -702 mum -2.44 m 3 MeV 1.08 MeV 950 mum 6.89 mm TargetPV eIoni - 7 -4.01 mm -1.12 mm -2.44 m 2.01 MeV 990 keV 779 mum 7.67 mm TargetPV eIoni - 8 -4.29 mm -989 mum -2.44 m 1.39 MeV 627 keV 613 mum 8.28 mm TargetPV eIoni - 9 -4.26 mm -840 mum -2.44 m 874 keV 512 keV 498 mum 8.78 mm TargetPV eIoni - 10 -4.18 mm -880 mum -2.44 m 426 keV 448 keV 390 mum 9.17 mm TargetPV eIoni - 11 -4.18 mm -872 mum -2.44 m 28.6 keV 397 keV 237 mum 9.4 mm TargetPV eIoni - 12 -4.18 mm -872 mum -2.44 m 0 eV 28.6 keV 3.59 mum 9.41 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.62 mm -596 mum -2.44 m 1.02 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.41 cm 1.39 cm -2.45 m 1.02 MeV 0 eV 2.12 cm 2.12 cm TargetPV Transportation - 2 -44 cm 59.9 cm -2.91 m 1.02 MeV 0 eV 85.7 cm 87.9 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 mm -733 mum -2.44 m 359 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.13 mm -333 mum -2.44 m 0 eV 359 keV 1.18 mm 1.18 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.3 mm -888 mum -2.44 m 1.45 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.68 mm -899 mum -2.44 m 672 keV 782 keV 387 mum 387 mum TargetPV compt - 2 -4.24 mm -981 mum -2.44 m 0 eV 672 keV 779 mum 1.17 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.45 mm -949 mum -2.44 m 328 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.35 mm -966 mum -2.44 m 188 keV 140 keV 2.14 mm 2.14 mm TargetPV compt - 2 -3.72 mm -582 mum -2.44 m 0 eV 188 keV 1.1 mm 3.24 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.3 mm -769 mum -2.44 m 332 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.03 mm -462 mum -2.43 m 0 eV 332 keV 6.54 mm 6.54 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -561 mum -131 mum -2.44 m 40.4 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.05 mm -940 mum -2.44 m 0 eV 0 eV 4.47 mm 4.47 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 50, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.05 mm -940 mum -2.44 m 36 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.1 mm -1.02 mm -2.44 m 31.6 MeV 363 keV 351 mum 351 mum TargetPV eBrem - 2 -884 mum -870 mum -2.44 m 25.3 MeV 3.37 MeV 2.5 mm 2.85 mm TargetPV eBrem - 3 -1.34 mm -1.12 mm -2.43 m 18.3 MeV 3.26 MeV 2.47 mm 5.32 mm TargetPV eBrem - 4 -1.76 mm -1.28 mm -2.43 m 15.9 MeV 738 keV 641 mum 5.96 mm TargetPV eBrem - 5 -2.08 mm -1.56 mm -2.43 m 12.6 MeV 1.17 MeV 1.08 mm 7.04 mm TargetPV eBrem - 6 -2.97 mm -1.6 mm -2.43 m 8.52 MeV 2.83 MeV 1.88 mm 8.92 mm TargetPV eBrem - 7 -3 mm -2.29 mm -2.43 m 7.05 MeV 1.16 MeV 721 mum 9.64 mm TargetPV eBrem - 8 -3.02 mm -2.59 mm -2.43 m 5.11 MeV 350 keV 345 mum 9.98 mm TargetPV eBrem - 9 -2.27 mm -3.02 mm -2.43 m 3.84 MeV 1.27 MeV 1.13 mm 1.11 cm TargetPV eIoni - 10 -2.62 mm -3.19 mm -2.43 m 1.2 MeV 2.64 MeV 930 mum 1.2 cm TargetPV eIoni - 11 -2.62 mm -3.23 mm -2.43 m 220 keV 67.6 keV 74.9 mum 1.21 cm TargetPV eBrem - 12 -2.62 mm -3.23 mm -2.43 m 0 eV 220 keV 90.8 mum 1.22 cm TargetPV eIoni - 13 -2.62 mm -3.23 mm -2.43 m 0 eV 0 eV 0 fm 1.22 cm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.62 mm -3.23 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.2 mm -1.15 mm -2.43 m 256 keV 255 keV 4.14 mm 4.14 mm TargetPV compt - 2 -6.06 mm -881 mum -2.43 m 0 eV 256 keV 473 mum 4.62 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.62 mm -3.23 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 1.9 cm -1.58 cm -2.43 m 280 keV 231 keV 2.5 cm 2.5 cm TargetPV compt - 2 1.96 cm -1.68 cm -2.43 m 0 eV 280 keV 4.54 mm 2.96 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.62 mm -3.23 mm -2.43 m 913 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.58 mm -3.31 mm -2.43 m 436 keV 477 keV 338 mum 338 mum TargetPV compt - 2 -1.47 mm -5.72 mm -2.43 m 363 keV 73.1 keV 2.68 mm 3.02 mm TargetPV compt - 3 1.3 mm -8.46 mm -2.43 m 0 eV 363 keV 5.38 mm 8.39 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 58, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.02 mm -2.59 mm -2.43 m 1.59 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 1.17 cm -2.5 cm -2.44 m 1.59 MeV 0 eV 2.72 cm 2.72 cm TargetPV Transportation - 2 1.55 m -2.37 m -2.91 m 1.59 MeV 0 eV 2.85 m 2.87 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3 mm -2.29 mm -2.43 m 309 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.59 mm -4.68 mm -2.43 m 0 eV 309 keV 2.61 mm 2.61 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.97 mm -1.6 mm -2.43 m 1.25 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4 mm -4.17 mm -2.43 m 221 keV 1.02 MeV 3.02 mm 3.02 mm TargetPV compt - 2 -4.08 mm -3.33 mm -2.43 m 207 keV 14.4 keV 889 mum 3.91 mm TargetPV compt - 3 -4.1 mm -3.31 mm -2.43 m 0 eV 207 keV 28.5 mum 3.94 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.08 mm -1.56 mm -2.43 m 2.11 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -7.92 mm -8.25 mm -2.42 m 1.13 MeV 980 keV 1.38 cm 1.38 cm TargetPV compt - 2 -1.25 cm -6.59 mm -2.41 m 0 eV 1.13 MeV 1.12 cm 2.5 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.76 mm -1.28 mm -2.43 m 1.66 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.21 cm -5.76 mm -2.42 m 0 eV 1.66 MeV 1.85 cm 1.85 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.34 mm -1.12 mm -2.43 m 3.73 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.17 mm -3.66 mm -2.43 m 3.38 MeV 353 keV 9.49 mm 9.49 mm TargetPV compt - 2 -2.21 cm -6.68 mm -2.4 m 949 keV 2.43 MeV 2.88 cm 3.82 cm TargetPV compt - 3 -2.36 cm -5.54 mm -2.4 m 329 keV 620 keV 2.01 mm 4.03 cm TargetPV compt - 4 -2.39 cm -6.74 mm -2.4 m 0 eV 329 keV 1.92 mm 4.22 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -884 mum -870 mum -2.44 m 2.91 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.94 cm -1.1 mm -2.4 m 2.91 MeV 0 eV 4.13 cm 4.13 cm TargetPV Transportation - 2 -2.4 m -3.03 cm 2.33 m 2.91 MeV 0 eV 5.29 m 5.34 m Tracker Transportation - 3 -2.69 m -3.38 cm 2.91 m 2.91 MeV 0 eV 65.1 cm 5.99 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 50 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.1 mm -1.02 mm -2.44 m 4.12 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.11 mm -1.79 mm -2.41 m 3.79 MeV 331 keV 2.65 cm 2.65 cm TargetPV compt - 2 -7.56 mm -2.37 mm -2.4 m 3.79 MeV 0 eV 1.34 cm 3.99 cm TargetPV Transportation - 3 -22.1 cm -3.85 cm -1.6 m 3.79 MeV 0 eV 82.9 cm 86.9 cm Tracker Transportation - 4 -24 cm -4.18 cm -1.53 m 3.79 MeV 0 eV 7.54 cm 94.4 cm Chamber Transportation - 5 -43.4 cm -7.46 cm -80 cm 3.79 MeV 0 eV 75.3 cm 1.7 m Tracker Transportation - 6 -47.8 cm -8.21 cm -63.4 cm 0 eV 0 eV 17.2 cm 1.87 m Chamber conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 63, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -47.8 cm -8.21 cm -63.4 cm 1.14 MeV 0 eV 0 fm 0 fm Chamber initStep - 1 -49.4 cm -8.53 cm -60 cm 1.12 MeV 18.9 keV 4.06 cm 4.06 cm Chamber Transportation - 2 -86.5 cm 26.6 cm 0 fm 987 keV 133 keV 84.4 cm 88.5 cm Tracker Transportation - 3 -1.03 m 31.7 cm 9.66 cm 830 keV 157 keV 30.7 cm 1.19 m Chamber eIoni - 4 -98.2 cm 17 cm 8.37 cm 734 keV 95.5 keV 24.6 cm 1.44 m Chamber eIoni - 5 -98 cm 24.3 cm 0 fm 652 keV 72 keV 18.6 cm 1.62 m Chamber Transportation - 6 -1.03 m 9.11 cm -8.87 cm 520 keV 39.9 keV 18.6 cm 1.81 m Tracker eIoni - 7 -96.6 cm -27.7 cm -11.1 cm 455 keV 65.5 keV 38.8 cm 2.2 m Tracker eIoni - 8 -97.9 cm -58 cm -16.7 cm 384 keV 70.6 keV 32 cm 2.52 m Tracker eIoni - 9 -1 m -78.2 cm -29.5 cm 333 keV 50.8 keV 24.9 cm 2.77 m Tracker eIoni - 10 -1.06 m -77.1 cm -46.7 cm 294 keV 39.1 keV 20 cm 2.97 m Tracker eIoni - 11 -99.6 cm -82.5 cm -60.3 cm 248 keV 45.7 keV 16.5 cm 3.13 m Tracker eIoni - 12 -1 m -78.4 cm -71 cm 218 keV 30 keV 12.6 cm 3.26 m Tracker eIoni - 13 -95.1 cm -75.5 cm -79 cm 185 keV 33.6 keV 10.3 cm 3.36 m Tracker eIoni - 14 -98.1 cm -70.3 cm -83.6 cm 164 keV 21 keV 7.79 cm 3.44 m Tracker eIoni - 15 -96.8 cm -65.1 cm -86.4 cm 146 keV 18.1 keV 6.37 cm 3.5 m Tracker eIoni - 16 -99.6 cm -69.1 cm -87.8 cm 125 keV 20.6 keV 5.23 cm 3.55 m Tracker eIoni - 17 -1.01 m -72.6 cm -88 cm 113 keV 12.3 keV 4.03 cm 3.59 m Tracker eIoni - 18 -1.01 m -75.8 cm -87.7 cm 94.8 keV 18 keV 3.37 cm 3.63 m Tracker eIoni - 19 -1.01 m -77.8 cm -86.4 cm 75.8 keV 19 keV 2.49 cm 3.65 m Tracker eIoni - 20 -1.01 m -78.9 cm -85.2 cm 65.7 keV 10.1 keV 1.67 cm 3.67 m Tracker eIoni - 21 -1.02 m -79.4 cm -84.2 cm 59.9 keV 5.77 keV 1.31 cm 3.68 m Tracker eIoni - 22 -1.01 m -79.6 cm -83.5 cm 55.4 keV 4.56 keV 1.11 cm 3.69 m Tracker eIoni - 23 -1.01 m -80.1 cm -82.9 cm 50.1 keV 5.24 keV 9.68 mm 3.7 m Tracker eIoni - 24 -1 m -80.8 cm -82.9 cm 45.4 keV 4.73 keV 8.12 mm 3.71 m Tracker eIoni - 25 -1 m -81.5 cm -82.8 cm 39.5 keV 5.96 keV 6.83 mm 3.72 m Tracker eIoni - 26 -99.9 cm -81.9 cm -82.9 cm 36.3 keV 3.12 keV 5.36 mm 3.72 m Tracker eIoni - 27 -99.6 cm -82.1 cm -83.1 cm 33.5 keV 2.82 keV 4.62 mm 3.73 m Tracker eIoni - 28 -99.4 cm -82.4 cm -83.3 cm 30.3 keV 3.16 keV 4.05 mm 3.73 m Tracker eIoni - 29 -99.4 cm -82.4 cm -83.3 cm 18.7 keV 2.15 keV 535 mum 3.73 m Tracker eIoni - 30 -99.4 cm -82.4 cm -83.4 cm 17 keV 1.73 keV 1.58 mm 3.73 m Tracker eIoni - 31 -99.4 cm -82.3 cm -83.6 cm 12.2 keV 4.78 keV 1.37 mm 3.74 m Tracker eIoni - 32 -99.4 cm -82.3 cm -83.5 cm 9.74 keV 2.44 keV 883 mum 3.74 m Tracker eIoni - 33 -99.5 cm -82.2 cm -83.5 cm 8.1 keV 1.64 keV 687 mum 3.74 m Tracker eIoni - 34 -99.4 cm -82.2 cm -83.5 cm 5.65 keV 2.45 keV 574 mum 3.74 m Tracker eIoni - 35 -99.4 cm -82.2 cm -83.5 cm 3.66 keV 1.99 keV 424 mum 3.74 m Tracker eIoni - 36 -99.5 cm -82.2 cm -83.5 cm 1.36 keV 2.3 keV 299 mum 3.74 m Tracker eIoni - 37 -99.4 cm -82.1 cm -83.5 cm 0 eV 1.36 keV 72.7 mum 3.74 m Tracker eIoni - 38 -99.4 cm -82.1 cm -83.5 cm 0 eV 0 eV 0 fm 3.74 m Tracker annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -99.4 cm -82.1 cm -83.5 cm 511 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -2.27 m -10.3 cm -2.4 m 511 keV 0 eV 2.14 m 2.14 m Tracker Transportation - 2 -2.69 m 13.2 cm -2.91 m 511 keV 0 eV 69.9 cm 2.84 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -99.4 cm -82.1 cm -83.5 cm 511 keV 0 eV 0 fm 0 fm Tracker initStep - 1 99.1 cm -1.94 m 1.6 m 511 keV 0 eV 3.34 m 3.34 m Tracker Transportation - 2 1.04 m -1.97 m 1.66 m 511 keV 0 eV 8.21 cm 3.42 m Chamber Transportation - 3 1.64 m -2.31 m 2.4 m 511 keV 0 eV 1.01 m 4.43 m Tracker Transportation - 4 2.06 m -2.54 m 2.91 m 511 keV 0 eV 69.9 cm 5.13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -99.4 cm -82.4 cm -83.3 cm 9.52 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -99.3 cm -82.4 cm -83.3 cm 8.58 keV 940 eV 719 mum 719 mum Tracker eIoni - 2 -99.3 cm -82.5 cm -83.3 cm 7 keV 1.58 keV 647 mum 1.37 mm Tracker eIoni - 3 -99.3 cm -82.5 cm -83.2 cm 5.75 keV 1.25 keV 537 mum 1.9 mm Tracker eIoni - 4 -99.3 cm -82.5 cm -83.2 cm 4.14 keV 1.61 keV 456 mum 2.36 mm Tracker eIoni - 5 -99.2 cm -82.6 cm -83.2 cm 1.03 keV 3.1 keV 356 mum 2.71 mm Tracker eIoni - 6 -99.2 cm -82.6 cm -83.2 cm 0 eV 1.03 keV 60.8 mum 2.78 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.03 m 9.11 cm -8.87 cm 92.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.03 m 8.53 cm -11.1 cm 81.1 keV 11.2 keV 2.4 cm 2.4 cm Tracker eIoni - 2 -1.04 m 8.3 cm -12.8 cm 72.9 keV 8.23 keV 1.92 cm 4.32 cm Tracker eIoni - 3 -1.04 m 7.68 cm -14.2 cm 63.4 keV 9.53 keV 1.59 cm 5.91 cm Tracker eIoni - 4 -1.03 m 7.52 cm -15.3 cm 56 keV 7.42 keV 1.24 cm 7.16 cm Tracker eIoni - 5 -1.03 m 7.96 cm -16.1 cm 46.5 keV 9.43 keV 1.01 cm 8.16 cm Tracker eIoni - 6 -1.03 m 7.86 cm -16.7 cm 41.1 keV 5.4 keV 7.31 mm 8.89 cm Tracker eIoni - 7 -1.02 m 7.6 cm -17.1 cm 36.7 keV 4.41 keV 5.91 mm 9.49 cm Tracker eIoni - 8 -1.02 m 7.61 cm -17.5 cm 32.1 keV 4.64 keV 4.86 mm 9.97 cm Tracker eIoni - 9 -1.02 m 7.86 cm -17.8 cm 29.2 keV 2.9 keV 3.89 mm 10.4 cm Tracker eIoni - 10 -1.03 m 8.04 cm -17.7 cm 26.5 keV 2.65 keV 3.32 mm 10.7 cm Tracker eIoni - 11 -1.02 m 8.16 cm -17.9 cm 19.1 keV 7.43 keV 2.85 mm 11 cm Tracker eIoni - 12 -1.02 m 8.13 cm -17.8 cm 17 keV 2.06 keV 1.72 mm 11.2 cm Tracker eIoni - 13 -1.02 m 8.15 cm -17.7 cm 14.3 keV 2.76 keV 1.46 mm 11.3 cm Tracker eIoni - 14 -1.02 m 8.21 cm -17.6 cm 12.7 keV 1.58 keV 1.15 mm 11.4 cm Tracker eIoni - 15 -1.02 m 8.24 cm -17.5 cm 10.5 keV 2.21 keV 995 mum 11.5 cm Tracker eIoni - 16 -1.02 m 8.29 cm -17.5 cm 8.48 keV 2 keV 797 mum 11.6 cm Tracker eIoni - 17 -1.02 m 8.34 cm -17.5 cm 7.58 keV 897 eV 639 mum 11.7 cm Tracker eIoni - 18 -1.02 m 8.37 cm -17.5 cm 509 eV 7.07 keV 577 mum 11.7 cm Tracker eIoni - 19 -1.02 m 8.38 cm -17.5 cm 0 eV 509 eV 26.9 mum 11.7 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -98 cm 23.4 cm 1.07 cm 9.9 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -98 cm 23.4 cm 1.06 cm 7.13 keV 2.77 keV 506 mum 506 mum Chamber eIoni - 2 -98 cm 23.4 cm 1.06 cm 2.9 keV 4.23 keV 400 mum 907 mum Chamber eIoni - 3 -98 cm 23.4 cm 1.07 cm 0 eV 2.9 keV 173 mum 1.08 mm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 51 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -47.8 cm -8.21 cm -63.4 cm 1.63 MeV 0 eV 0 fm 0 fm Chamber initStep - 1 -48 cm -8.22 cm -60 cm 1.62 MeV 11 keV 3.58 cm 3.58 cm Chamber Transportation - 2 -47.9 cm -8.34 cm -59.4 cm 1.51 MeV 551 eV 6.17 mm 4.2 cm Tracker eIoni - 3 -41.4 cm -9.24 cm -0.000852 fm 1.41 MeV 104 keV 61.8 cm 66 cm Tracker Transportation - 4 -38.8 cm -10.8 cm 15.5 cm 921 keV 93.6 keV 19.2 cm 85.1 cm Chamber eBrem - 5 -37.3 cm -10.8 cm 20 cm 900 keV 20.7 keV 5.5 cm 90.7 cm Chamber Transportation - 6 -35.6 cm -13.9 cm 30.6 cm 700 keV 27.6 keV 11.2 cm 1.02 m Tracker eIoni - 7 -13.2 cm -14.5 cm 78.7 cm 602 keV 98.4 keV 58.7 cm 1.61 m Tracker eIoni - 8 -12.9 cm -14.1 cm 80 cm 600 keV 1.6 keV 1.42 cm 1.62 m Tracker Transportation - 9 -4.75 cm -14.7 cm 86.2 cm 521 keV 78.7 keV 15.9 cm 1.78 m Chamber eIoni - 10 -5.34 cm -14.3 cm 87.2 cm 437 keV 15.3 keV 1.24 cm 1.79 m Chamber eIoni - 11 -6.36 cm -9.4 cm 89.1 cm 378 keV 58.9 keV 10.2 cm 1.89 m Chamber eIoni - 12 -6 cm -12.3 cm 94 cm 308 keV 70.6 keV 8.27 cm 1.98 m Chamber eIoni - 13 -8.24 cm -11.4 cm 97.5 cm 262 keV 45.6 keV 6.08 cm 2.04 m Chamber eIoni - 14 -8.46 cm -12.8 cm 95.7 cm 235 keV 27.4 keV 4.75 cm 2.08 m Chamber eIoni - 15 -9.63 cm -13.5 cm 93.3 cm 209 keV 26.2 keV 4 cm 2.12 m Chamber eIoni - 16 -9.88 cm -11.6 cm 94.5 cm 189 keV 19.8 keV 3.33 cm 2.16 m Chamber eIoni - 17 -8.6 cm -12 cm 96 cm 170 keV 18.6 keV 2.83 cm 2.19 m Chamber eIoni - 18 -6.95 cm -11.7 cm 96.1 cm 154 keV 15.7 keV 2.41 cm 2.21 m Chamber eIoni - 19 -5.66 cm -11.2 cm 95.6 cm 143 keV 11.9 keV 2.06 cm 2.23 m Chamber eIoni - 20 -5.15 cm -10.9 cm 96.7 cm 105 keV 37.4 keV 1.81 cm 2.25 m Chamber eIoni - 21 -5.88 cm -10.8 cm 96.9 cm 98.6 keV 6.52 keV 1.11 cm 2.26 m Chamber eIoni - 22 -6.27 cm -11.3 cm 96.6 cm 91.8 keV 6.82 keV 9.98 mm 2.27 m Chamber eIoni - 23 -5.66 cm -11.3 cm 96.5 cm 81.3 keV 10.5 keV 8.86 mm 2.28 m Chamber eIoni - 24 -5.38 cm -11.2 cm 96.9 cm 68.7 keV 12.6 keV 7.32 mm 2.29 m Chamber eIoni - 25 -5.53 cm -11.4 cm 96.7 cm 61.9 keV 6.8 keV 5.61 mm 2.29 m Chamber eIoni - 26 -5.47 cm -11.6 cm 97 cm 54 keV 7.85 keV 4.75 mm 2.3 m Chamber eIoni - 27 -5.52 cm -11.8 cm 97.1 cm 52 keV 2.05 keV 3.86 mm 2.3 m Chamber eIoni - 28 -5.28 cm -11.7 cm 97.2 cm 44.4 keV 7.55 keV 3.63 mm 2.3 m Chamber eIoni - 29 -5.35 cm -11.9 cm 97.3 cm 37.3 keV 7.15 keV 2.86 mm 2.31 m Chamber eIoni - 30 -5.22 cm -12 cm 97.3 cm 32.8 keV 4.42 keV 2.21 mm 2.31 m Chamber eIoni - 31 -5.3 cm -11.9 cm 97.4 cm 28.5 keV 4.36 keV 1.86 mm 2.31 m Chamber eIoni - 32 -5.35 cm -11.9 cm 97.4 cm 9.34 keV 19.1 keV 1.53 mm 2.31 m Chamber eIoni - 33 -5.35 cm -11.9 cm 97.3 cm 4.57 keV 4.77 keV 485 mum 2.31 m Chamber eIoni - 34 -5.35 cm -11.9 cm 97.3 cm 0 eV 4.57 keV 290 mum 2.31 m Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.34 cm -14.3 cm 87.2 cm 69 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -5.45 cm -14.3 cm 87.5 cm 63.9 keV 5.15 keV 5.66 mm 5.66 mm Chamber eIoni - 2 -5.52 cm -14.2 cm 87.4 cm 0 eV 63.9 keV 4.99 mm 1.06 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -35.6 cm -13.9 cm 30.6 cm 172 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -38.5 cm -16.2 cm 36.2 cm 144 keV 28.7 keV 6.99 cm 6.99 cm Tracker eIoni - 2 -36 cm -20.1 cm 38 cm 123 keV 20.9 keV 5.15 cm 12.1 cm Tracker eIoni - 3 -34.1 cm -23.4 cm 37.9 cm 105 keV 17.9 keV 3.94 cm 16.1 cm Tracker eIoni - 4 -33.3 cm -26.1 cm 37.8 cm 95 keV 9.95 keV 3 cm 19.1 cm Tracker eIoni - 5 -35 cm -26.8 cm 39.4 cm 84.9 keV 10.1 keV 2.53 cm 21.6 cm Tracker eIoni - 6 -36.3 cm -27.8 cm 40.6 cm 74.9 keV 10 keV 2.08 cm 23.7 cm Tracker eIoni - 7 -37 cm -27.4 cm 42 cm 64.9 keV 9.94 keV 1.67 cm 25.4 cm Tracker eIoni - 8 -37.6 cm -27.2 cm 43.1 cm 55.8 keV 9.12 keV 1.3 cm 26.7 cm Tracker eIoni - 9 -38.1 cm -27 cm 43.8 cm 51.1 keV 4.71 keV 1 cm 27.7 cm Tracker eIoni - 10 -38.8 cm -27.3 cm 44.2 cm 47 keV 4.13 keV 8.57 mm 28.5 cm Tracker eIoni - 11 -38.4 cm -27.8 cm 44.3 cm 43.3 keV 3.68 keV 7.43 mm 29.3 cm Tracker eIoni - 12 -38.8 cm -28.1 cm 44.8 cm 39.8 keV 3.49 keV 6.43 mm 29.9 cm Tracker eIoni - 13 -38.9 cm -28.4 cm 45.2 cm 37.6 keV 2.2 keV 5.6 mm 30.5 cm Tracker eIoni - 14 -38.9 cm -28.3 cm 45.7 cm 34.4 keV 3.17 keV 5.07 mm 31 cm Tracker eIoni - 15 -39.1 cm -28.4 cm 46 cm 29.8 keV 4.63 keV 4.38 mm 31.4 cm Tracker eIoni - 16 -39 cm -28.7 cm 46.2 cm 25.9 keV 3.86 keV 3.43 mm 31.8 cm Tracker eIoni - 17 -38.9 cm -29 cm 46.2 cm 22.4 keV 3.55 keV 2.75 mm 32 cm Tracker eIoni - 18 -39.1 cm -29.1 cm 46.3 cm 15 keV 7.36 keV 2.19 mm 32.2 cm Tracker eIoni - 19 -39.1 cm -29.1 cm 46.4 cm 13.7 keV 1.29 keV 1.23 mm 32.4 cm Tracker eIoni - 20 -39.1 cm -29.2 cm 46.5 cm 12.3 keV 1.44 keV 1.1 mm 32.5 cm Tracker eIoni - 21 -39.1 cm -29.2 cm 46.6 cm 10.6 keV 1.67 keV 957 mum 32.6 cm Tracker eIoni - 22 -39 cm -29.3 cm 46.6 cm 2.22 keV 8.41 keV 810 mum 32.7 cm Tracker eIoni - 23 -39 cm -29.3 cm 46.6 cm 0 eV 2.22 keV 184 mum 32.7 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -38.8 cm -10.8 cm 15.5 cm 394 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -38 cm -11.3 cm 20 cm 394 keV 0 eV 4.58 cm 4.58 cm Chamber Transportation - 2 -27.3 cm -17.6 cm 80 cm 394 keV 0 eV 61.3 cm 65.9 cm Tracker Transportation - 3 -23.7 cm -19.7 cm 1 m 394 keV 0 eV 20.4 cm 86.3 cm Chamber Transportation - 4 -13 cm -26.1 cm 1.6 m 394 keV 0 eV 61.3 cm 1.48 m Tracker Transportation - 5 -9.48 cm -28.2 cm 1.8 m 394 keV 0 eV 20.4 cm 1.68 m Chamber Transportation - 6 1.21 cm -34.5 cm 2.4 m 394 keV 0 eV 61.3 cm 2.29 m Tracker Transportation - 7 10.3 cm -39.9 cm 2.91 m 394 keV 0 eV 52.1 cm 2.81 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 62 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -47.9 cm -8.34 cm -59.4 cm 109 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -47 cm -11.2 cm -59.9 cm 95.8 keV 13.6 keV 3.21 cm 3.21 cm Tracker eIoni - 2 -46.1 cm -12 cm -57.7 cm 84.8 keV 11 keV 2.57 cm 5.78 cm Tracker eIoni - 3 -46.4 cm -13.9 cm -57.6 cm 71.1 keV 13.7 keV 2.08 cm 7.85 cm Tracker eIoni - 4 -46.4 cm -14.4 cm -56.3 cm 64.3 keV 6.81 keV 1.53 cm 9.38 cm Tracker eIoni - 5 -46.1 cm -14.8 cm -55.2 cm 58.3 keV 6.03 keV 1.28 cm 10.7 cm Tracker eIoni - 6 -46 cm -14.7 cm -54.1 cm 50.3 keV 8.04 keV 1.08 cm 11.7 cm Tracker eIoni - 7 -45.7 cm -15.1 cm -53.5 cm 45.9 keV 4.4 keV 8.34 mm 12.6 cm Tracker eIoni - 8 -45.2 cm -15.6 cm -53.6 cm 39.7 keV 6.14 keV 7.13 mm 13.3 cm Tracker eIoni - 9 -44.6 cm -15.6 cm -53.5 cm 35.6 keV 4.07 keV 5.58 mm 13.8 cm Tracker eIoni - 10 -44.3 cm -15.8 cm -53.7 cm 30.8 keV 4.84 keV 4.63 mm 14.3 cm Tracker eIoni - 11 -44 cm -16 cm -53.8 cm 27.8 keV 3.04 keV 3.63 mm 14.7 cm Tracker eIoni - 12 -44 cm -16.2 cm -53.9 cm 13.7 keV 2.39 keV 2.46 mm 14.9 cm Tracker eIoni - 13 -44 cm -16.2 cm -54 cm 8.51 keV 5.19 keV 1.09 mm 15 cm Tracker eIoni - 14 -44 cm -16.3 cm -54 cm 6.6 keV 1.92 keV 642 mum 15.1 cm Tracker eIoni - 15 -44.1 cm -16.3 cm -54 cm 4.41 keV 2.19 keV 511 mum 15.1 cm Tracker eIoni - 16 -44.1 cm -16.3 cm -54 cm 3.09 keV 1.32 keV 374 mum 15.2 cm Tracker eIoni - 17 -44.1 cm -16.3 cm -54 cm 209 eV 2.88 keV 279 mum 15.2 cm Tracker eIoni - 18 -44.1 cm -16.3 cm -54 cm 0 eV 209 eV 13.9 mum 15.2 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -44 cm -16.2 cm -53.9 cm 11.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -43.9 cm -16.1 cm -53.9 cm 9.04 keV 2.64 keV 899 mum 899 mum Tracker eIoni - 2 -43.9 cm -16.1 cm -53.9 cm 6.97 keV 2.06 keV 682 mum 1.58 mm Tracker eIoni - 3 -43.9 cm -16.1 cm -53.8 cm 0 eV 6.97 keV 535 mum 2.12 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.05 mm -940 mum -2.44 m 3.33 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.2 mm -1.28 mm -2.44 m 2.29 MeV 484 keV 585 mum 585 mum TargetPV eBrem - 2 -997 mum -1.05 mm -2.44 m 1.55 MeV 742 keV 661 mum 1.25 mm TargetPV eIoni - 3 -986 mum -1.03 mm -2.44 m 1.21 MeV 31.6 keV 24.5 mum 1.27 mm TargetPV eBrem - 4 -1.04 mm -973 mum -2.44 m 744 keV 465 keV 464 mum 1.73 mm TargetPV eIoni - 5 -1.06 mm -922 mum -2.44 m 266 keV 478 keV 357 mum 2.09 mm TargetPV eIoni - 6 -1.06 mm -914 mum -2.44 m 0 eV 266 keV 125 mum 2.22 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 49 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -986 mum -1.03 mm -2.44 m 311 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -378 mum -312 mum -2.44 m 0 eV 311 keV 1.08 mm 1.08 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 49 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.2 mm -1.28 mm -2.44 m 554 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 263 mum -1.41 mm -2.43 m 369 keV 185 keV 5.42 mm 5.42 mm TargetPV compt - 2 -498 mum -2.77 mm -2.43 m 178 keV 191 keV 2.05 mm 7.47 mm TargetPV compt - 3 -302 mum -2.39 mm -2.43 m 149 keV 28.6 keV 457 mum 7.93 mm TargetPV compt - 4 -201 mum -2.41 mm -2.43 m 0 eV 149 keV 158 mum 8.08 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -482 mum -48.6 mum -2.44 m 1.46 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.93 mm -1.55 mm -2.42 m 712 keV 751 keV 2.31 cm 2.31 cm TargetPV compt - 2 -4.58 mm -2.91 mm -2.42 m 541 keV 171 keV 2.52 mm 2.57 cm TargetPV compt - 3 -9.45 mm -8.25 mm -2.42 m 540 keV 999 eV 7.27 mm 3.29 cm TargetPV compt - 4 -1.17 cm -1.07 cm -2.42 m 0 eV 540 keV 3.3 mm 3.62 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -481 mum -47.8 mum -2.44 m 40.2 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -656 mum -164 mum -2.44 m 0 eV 1.48 MeV 1.73 mm 1.73 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 77, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -656 mum -164 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -656 mum -164 mum -2.44 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -656 mum -164 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -715 mum -200 mum -2.44 m 189 keV 322 keV 78.9 mum 78.9 mum TargetPV compt - 2 -324 mum -360 mum -2.44 m 0 eV 189 keV 513 mum 592 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 77 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -656 mum -164 mum -2.44 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 116 mum 308 mum -2.44 m 0 eV 511 keV 1.03 mm 1.03 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -656 mum -164 mum -2.44 m 37.7 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -763 mum 144 mum -2.44 m 26.9 MeV 3.53 MeV 2.11 mm 2.11 mm TargetPV eBrem - 2 -680 mum -6.5 mum -2.44 m 25 MeV 1.61 MeV 1.08 mm 3.18 mm TargetPV eBrem - 3 675 mum 170 mum -2.44 m 20.4 MeV 4.59 MeV 3.82 mm 7 mm TargetPV eIoni - 4 -716 mum -1.41 mm -2.43 m 15.9 MeV 3.93 MeV 2.8 mm 9.8 mm TargetPV eBrem - 5 -721 mum -1.65 mm -2.43 m 11.3 MeV 547 keV 416 mum 1.02 cm TargetPV eBrem - 6 -578 mum -2.4 mm -2.43 m 9.99 MeV 888 keV 845 mum 1.11 cm TargetPV eBrem - 7 -1.16 mm -2.45 mm -2.43 m 7.12 MeV 1.21 MeV 1 mm 1.21 cm TargetPV eBrem - 8 -1.39 mm -3.02 mm -2.43 m 2.37 MeV 692 keV 672 mum 1.27 cm TargetPV eBrem - 9 -1.33 mm -3.38 mm -2.43 m 1.71 MeV 663 keV 674 mum 1.34 cm TargetPV eIoni - 10 -1.2 mm -3.46 mm -2.43 m 498 keV 1.21 MeV 558 mum 1.4 cm TargetPV eIoni - 11 -1.19 mm -3.41 mm -2.43 m 201 keV 298 keV 273 mum 1.42 cm TargetPV eIoni - 12 -1.2 mm -3.41 mm -2.43 m 0 eV 201 keV 81.8 mum 1.43 cm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.39 mm -3.02 mm -2.43 m 4.06 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.49 mm -6.71 mm -2.43 m 0 eV 3.04 MeV 6.3 mm 6.3 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 87, Parent ID = 86 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.49 mm -6.71 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.49 mm -6.71 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 87 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.49 mm -6.71 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -5.4 mm -7.2 mm -2.43 m 0 eV 511 keV 5.42 mm 5.42 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 87 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.49 mm -6.71 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 5 mm -5.88 mm -2.42 m 182 keV 329 keV 9.01 mm 9.01 mm TargetPV compt - 2 4.14 mm -5.59 mm -2.42 m 0 eV 182 keV 939 mum 9.95 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 mm -2.45 mm -2.43 m 1.66 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.96 mm -6.49 mm -2.43 m 1.43 MeV 226 keV 5.57 mm 5.57 mm TargetPV compt - 2 -5.11 mm -6.59 mm -2.43 m 1.13 MeV 297 keV 181 mum 5.75 mm TargetPV compt - 3 -1.03 cm -7.74 mm -2.43 m 0 eV 1.13 MeV 5.67 mm 1.14 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -578 mum -2.4 mm -2.43 m 454 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.64 mm -4.86 mm -2.43 m 267 keV 187 keV 4.83 mm 4.83 mm TargetPV compt - 2 -2.19 mm -4.98 mm -2.43 m 0 eV 267 keV 571 mum 5.4 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -721 mum -1.65 mm -2.43 m 4 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -904 mum -5.22 mm -2.43 m 0 eV 2.98 MeV 4.52 mm 4.52 mm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 90, Parent ID = 83 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -904 mum -5.22 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -904 mum -5.22 mm -2.43 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 90 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -904 mum -5.22 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.85 mm -6.62 mm -2.43 m 0 eV 511 keV 1.75 mm 1.75 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 90 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -904 mum -5.22 mm -2.43 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 9.57 mm 1.03 cm -2.44 m 0 eV 511 keV 1.94 cm 1.94 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -716 mum -1.41 mm -2.43 m 596 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -467 mum -7.04 mm -2.43 m 188 keV 408 keV 7.88 mm 7.88 mm TargetPV compt - 2 -972 mum -6.58 mm -2.43 m 0 eV 188 keV 1.05 mm 8.93 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -680 mum -6.5 mum -2.44 m 342 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -742 mum -327 mum -2.44 m 283 keV 58.4 keV 2.89 mm 2.89 mm TargetPV compt - 2 -339 mum -628 mum -2.44 m 0 eV 283 keV 669 mum 3.56 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 76 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -763 mum 144 mum -2.44 m 7.18 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 306 mum 1.36 mm -2.42 m 420 keV 6.76 MeV 2.05 cm 2.05 cm TargetPV compt - 2 3.2 mm 5.36 mm -2.42 m 0 eV 420 keV 5.06 mm 2.55 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -461 mum -38.1 mum -2.45 m 845 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -818 mum -237 mum -2.44 m 771 keV 74 keV 4.64 mm 4.64 mm TargetPV compt - 2 -3.06 mm -1.32 mm -2.44 m 594 keV 177 keV 5.97 mm 1.06 cm TargetPV compt - 3 -4.11 mm 650 mum -2.43 m 593 keV 955 eV 4.62 mm 1.52 cm TargetPV compt - 4 -4.35 mm 1.04 mm -2.43 m 508 keV 85.2 keV 884 mum 1.61 cm TargetPV compt - 5 -6.24 mm 8.75 mm -2.43 m 0 eV 508 keV 9.21 mm 2.53 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -389 mum 17.6 mum -2.45 m 563 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.53 mm -1.07 mm -2.43 m 0 eV 563 keV 1.97 cm 1.97 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -356 mum 35.1 mum -2.45 m 2.7 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.99 mm -1.71 mm -2.42 m 339 keV 2.36 MeV 3.12 cm 3.12 cm TargetPV compt - 2 -3.73 mm 509 mum -2.42 m 173 keV 166 keV 2.31 mm 3.35 cm TargetPV compt - 3 -4.44 mm 173 mum -2.42 m 172 keV 672 eV 809 mum 3.43 cm TargetPV compt - 4 -5.34 mm -228 mum -2.42 m 0 eV 172 keV 1.05 mm 3.54 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -244 mum 115 mum -2.45 m 7.62 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -682 mum 76.4 mum -2.44 m 2.48 MeV 5.14 MeV 5.42 mm 5.42 mm TargetPV compt - 2 -1.37 cm 1.13 mm -2.42 m 0 eV 1.46 MeV 2.27 cm 2.81 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 93, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 cm 1.13 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.37 cm 1.13 mm -2.42 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 93 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 cm 1.13 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -6.3 mm 6.5 mm -2.43 m 0 eV 511 keV 1.08 cm 1.08 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 93 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 cm 1.13 mm -2.42 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -1.87 cm -2.53 mm -2.42 m 0 eV 511 keV 7.34 mm 7.34 mm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -238 mum 116 mum -2.45 m 10.1 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.7 mm -283 mum -2.4 m 0 eV 0 eV 4.63 cm 4.63 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 97, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.7 mm -283 mum -2.4 m 4.11 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.89 mm 209 mum -2.4 m 3.24 MeV 877 keV 974 mum 974 mum TargetPV eIoni - 2 -3.9 mm -13.9 mum -2.4 m 2.32 MeV 913 keV 831 mum 1.8 mm TargetPV eIoni - 3 -3.97 mm 421 mum -2.4 m 1.62 MeV 699 keV 676 mum 2.48 mm TargetPV eIoni - 4 -4.07 mm 176 mum -2.4 m 1.03 MeV 596 keV 550 mum 3.03 mm TargetPV eIoni - 5 -4.18 mm 299 mum -2.4 m 521 keV 508 keV 429 mum 3.46 mm TargetPV eIoni - 6 -4.19 mm 266 mum -2.4 m 0 eV 521 keV 283 mum 3.74 mm TargetPV eIoni - 7 -4.19 mm 266 mum -2.4 m 0 eV 0 eV 0 fm 3.74 mm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 mm 266 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -4.29 mm 266 mum -2.4 m 216 keV 295 keV 114 mum 114 mum TargetPV compt - 2 -4.3 mm 257 mum -2.4 m 201 keV 14.7 keV 125 mum 239 mum TargetPV compt - 3 -4.25 mm 238 mum -2.4 m 0 eV 201 keV 103 mum 342 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 97 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.19 mm 266 mum -2.4 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.41 mm 259 mum -2.4 m 511 keV 0 eV 1.97 mm 1.97 mm TargetPV Transportation - 2 2.4 m -9.13 mm -1.25 m 511 keV 0 eV 2.66 m 2.67 m Tracker Transportation - 3 2.91 m -1.11 cm -1 m 511 keV 0 eV 56.6 cm 3.23 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.7 mm -283 mum -2.4 m 4.96 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.69 mm -323 mum -2.4 m 3.59 MeV 1.06 MeV 127 mum 127 mum TargetPV eBrem - 2 -3.25 mm -224 mum -2.4 m 2.01 MeV 1.08 MeV 857 mum 984 mum TargetPV eBrem - 3 -3.41 mm -153 mum -2.4 m 1.31 MeV 703 keV 613 mum 1.6 mm TargetPV eIoni - 4 -3.3 mm -155 mum -2.4 m 804 keV 506 keV 484 mum 2.08 mm TargetPV eIoni - 5 -3.19 mm -176 mum -2.4 m 458 keV 346 keV 373 mum 2.45 mm TargetPV eIoni - 6 -3.22 mm -165 mum -2.4 m 100 keV 358 keV 254 mum 2.71 mm TargetPV eIoni - 7 -3.22 mm -165 mum -2.4 m 0 eV 100 keV 27.7 mum 2.73 mm TargetPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 101, Parent ID = 96 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.25 mm -224 mum -2.4 m 493 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.41 mm -259 mum -2.4 m 205 keV 288 keV 183 mum 183 mum TargetPV compt - 2 -3.18 mm 17.8 mum -2.4 m 0 eV 205 keV 399 mum 582 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 96 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.69 mm -323 mum -2.4 m 308 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.6 mm -269 mum -2.4 m 0 eV 308 keV 498 mum 498 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -204 mum 116 mum -2.45 m 9.16 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.53 mm -99.7 mum -2.41 m 0 eV 8.14 MeV 4.17 cm 4.17 cm TargetPV conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 102, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 mm -99.7 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.53 mm -99.7 mum -2.41 m 0 eV 0 eV 0 fm 0 fm TargetPV annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 mm -99.7 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -3.59 mm -195 mum -2.41 m 0 eV 511 keV 117 mum 117 mum TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.53 mm -99.7 mum -2.41 m 511 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -2.95 mm 876 mum -2.41 m 432 keV 79.5 keV 1.2 mm 1.2 mm TargetPV compt - 2 4.34 mm 5.76 mm -2.42 m 0 eV 432 keV 1.28 cm 1.4 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -178 mum 107 mum -2.45 m 633 keV 0 eV 0 fm 0 fm TargetPV initStep - 1 -267 mum 136 mum -2.45 m 571 keV 62.5 keV 1.54 mm 1.54 mm TargetPV compt - 2 2.78 mm 3.64 mm -2.44 m 552 keV 19 keV 1.2 cm 1.36 cm TargetPV compt - 3 5.78 mm 1.18 cm -2.42 m 295 keV 256 keV 1.58 cm 2.94 cm TargetPV compt - 4 5.27 mm 1.25 cm -2.42 m 181 keV 114 keV 903 mum 3.03 cm TargetPV compt - 5 5.38 mm 1.26 cm -2.42 m 0 eV 181 keV 697 mum 3.1 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -173 mum 108 mum -2.45 m 3.03 MeV 0 eV 0 fm 0 fm TargetPV initStep - 1 -294 mum 98.1 mum -2.45 m 473 keV 2.56 MeV 4.27 mm 4.27 mm TargetPV compt - 2 3.73 mm -4.62 mm -2.44 m 0 eV 473 keV 6.24 mm 1.05 cm TargetPV phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -32.2 mum -1.27 mum -2.86 m 10.5 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -543 mum -512 mum -2.86 m 8.63 keV 1.87 keV 798 mum 798 mum WorldPV eIoni - 2 -505 mum -1.11 mm -2.86 m 6.62 keV 2.01 keV 651 mum 1.45 mm WorldPV eIoni - 3 -339 mum -1.5 mm -2.86 m 5.32 keV 1.3 keV 512 mum 1.96 mm WorldPV eIoni - 4 -692 mum -1.66 mm -2.86 m 3.12 keV 2.2 keV 431 mum 2.39 mm WorldPV eIoni - 5 -663 mum -1.6 mm -2.86 m 0 eV 3.12 keV 281 mum 2.67 mm WorldPV eIoni ->>> Event 0 - 0 trajectories stored in this event. -### Run 1 start. - -********************************************************************************************************* -* G4Track Information: Particle = mu+, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm WorldPV initStep - 1 6.92 nm 10.1 nm -2.84 m 1e+03 GeV 16.3 keV 7.02 cm 7.02 cm WorldPV MuIoni - 2 -29.7 nm 5.53 nm -2.45 m 1e+03 GeV 88.2 keV 39 cm 46 cm WorldPV Transportation - 3 -15.9 nm 16 nm -2.4 m 1e+03 GeV 81.5 MeV 5 cm 51 cm TargetPV Transportation - 4 3.7 mum 4.75 mum -2.04 m 1e+03 GeV 93.3 keV 36.2 cm 87.2 cm Tracker MuIoni - 5 8.21 mum 10.8 mum -1.6 m 1e+03 GeV 114 keV 43.8 cm 1.31 m Tracker Transportation - 6 9.61 mum 12.9 mum -1.44 m 1e+03 GeV 94.8 keV 16 cm 1.47 m Chamber MuIoni - 7 10.1 mum 13.5 mum -1.4 m 1e+03 GeV 41.5 keV 4.01 cm 1.51 m Chamber Transportation - 8 16.6 mum 22 mum -80 cm 1e+03 GeV 165 keV 60 cm 2.11 m Tracker Transportation - 9 18.8 mum 24.7 mum -60 cm 1e+03 GeV 219 keV 20 cm 2.31 m Chamber Transportation - 10 23.9 mum 31.8 mum -4.26 cm 1e+03 GeV 135 keV 55.7 cm 2.87 m Tracker MuIoni - 11 24.3 mum 32.4 mum 0 fm 1e+03 GeV 9.88 keV 4.26 cm 2.91 m Tracker Transportation - 12 25.6 mum 35 mum 17.7 cm 1e+03 GeV 183 keV 17.7 cm 3.09 m Chamber MuIoni - 13 25.9 mum 35.3 mum 20 cm 1e+03 GeV 15.6 keV 2.34 cm 3.11 m Chamber Transportation - 14 26.8 mum 36.8 mum 29.8 cm 1e+03 GeV 23 keV 9.81 cm 3.21 m Tracker MuIoni - 15 26.8 mum 36.8 mum 29.8 cm 1e+03 GeV 13.2 eV 338 mum 3.21 m Tracker MuIoni - 16 26.8 mum 36.8 mum 29.9 cm 1e+03 GeV 49.6 eV 710 mum 3.21 m Tracker MuIoni - 17 31.8 mum 44.2 mum 80 cm 1e+03 GeV 136 keV 50.1 cm 3.71 m Tracker Transportation - 18 33.7 mum 47.2 mum 1 m 1e+03 GeV 152 keV 20 cm 3.91 m Chamber Transportation - 19 34.4 mum 48.4 mum 1.08 m 1e+03 GeV 27.5 keV 8.45 cm 3.99 m Tracker MuIoni - 20 38.5 mum 55.6 mum 1.6 m 1e+03 GeV 130 keV 51.6 cm 4.51 m Tracker Transportation - 21 40.1 mum 58.5 mum 1.8 m 1e+03 GeV 186 keV 20 cm 4.71 m Chamber Transportation - 22 45.2 mum 67.5 mum 2.4 m 1e+03 GeV 140 keV 60 cm 5.31 m Tracker Transportation - 23 46.8 mum 70.1 mum 2.58 m 1e+03 GeV 41.9 keV 17.6 cm 5.49 m WorldPV MuIoni - 24 49.6 mum 75 mum 2.91 m 1e+03 GeV 72 keV 33.4 cm 5.82 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 46.8 mum 70.1 mum 2.58 m 15.2 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 -194 mum 1.2 mm 2.58 m 11.8 keV 3.39 keV 1.25 mm 1.25 mm WorldPV eIoni - 2 211 mum 2.01 mm 2.58 m 6.02 keV 5.74 keV 907 mum 2.15 mm WorldPV eIoni - 3 281 mum 2.3 mm 2.58 m 3.36 keV 2.65 keV 474 mum 2.63 mm WorldPV eIoni - 4 485 mum 2.34 mm 2.57 m 1.86 keV 1.5 keV 301 mum 2.93 mm WorldPV eIoni - 5 477 mum 2.3 mm 2.57 m 0 eV 1.86 keV 140 mum 3.07 mm WorldPV eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 34.4 mum 48.4 mum 1.08 m 11.7 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -482 mum 604 mum 1.08 m 9.96 keV 1.72 keV 899 mum 899 mum Tracker eIoni - 2 201 mum 435 mum 1.08 m 7.7 keV 2.26 keV 752 mum 1.65 mm Tracker eIoni - 3 374 mum -33.8 mum 1.08 m 5.96 keV 1.73 keV 585 mum 2.24 mm Tracker eIoni - 4 719 mum 85.7 mum 1.09 m 4.05 keV 1.92 keV 471 mum 2.71 mm Tracker eIoni - 5 960 mum 31.5 mum 1.09 m 882 eV 3.17 keV 350 mum 3.06 mm Tracker eIoni - 6 963 mum 13 mum 1.09 m 0 eV 882 eV 49.7 mum 3.11 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 26.8 mum 36.8 mum 29.9 cm 18.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.52 mm -359 mum 29.9 cm 13.6 keV 4.96 keV 1.65 mm 1.65 mm Tracker eIoni - 2 -1.8 mm -1.35 mm 29.9 cm 11.5 keV 2.06 keV 1.08 mm 2.73 mm Tracker eIoni - 3 -1.64 mm -1.96 mm 29.9 cm 8.9 keV 2.62 keV 886 mum 3.62 mm Tracker eIoni - 4 -1.32 mm -2.48 mm 29.9 cm 6.57 keV 2.33 keV 672 mum 4.29 mm Tracker eIoni - 5 -1.56 mm -2.55 mm 29.9 cm 3.43 keV 3.13 keV 509 mum 4.8 mm Tracker eIoni - 6 -1.56 mm -2.37 mm 29.9 cm 89.7 eV 3.35 keV 307 mum 5.1 mm Tracker eIoni - 7 -1.56 mm -2.37 mm 29.9 cm 0 eV 89.7 eV 9.07 mum 5.11 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 26.8 mum 36.8 mum 29.8 cm 8.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -255 mum 506 mum 29.8 cm 5.49 keV 2.92 keV 633 mum 633 mum Tracker eIoni - 2 -408 mum 808 mum 29.8 cm 3.78 keV 1.71 keV 441 mum 1.07 mm Tracker eIoni - 3 -647 mum 701 mum 29.8 cm 1.46 keV 2.31 keV 332 mum 1.41 mm Tracker eIoni - 4 -657 mum 664 mum 29.8 cm 0 eV 1.46 keV 98.3 mum 1.5 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 26.8 mum 36.8 mum 29.8 cm 87.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.65 cm 9.49 mm 30.7 cm 78.8 keV 8.45 keV 2.18 cm 2.18 cm Tracker eIoni - 2 -3.14 cm 1.41 cm 31.5 cm 68.8 keV 10.1 keV 1.83 cm 4.01 cm Tracker eIoni - 3 -4.38 cm 1.35 cm 32.1 cm 59.9 keV 8.87 keV 1.44 cm 5.45 cm Tracker eIoni - 4 -4.75 cm 2.04 cm 32.9 cm 53.6 keV 6.28 keV 1.13 cm 6.58 cm Tracker eIoni - 5 -4.61 cm 2.11 cm 33.7 cm 46.3 keV 7.35 keV 9.32 mm 7.51 cm Tracker eIoni - 6 -3.94 cm 1.96 cm 33.9 cm 40.2 keV 6.01 keV 7.24 mm 8.24 cm Tracker eIoni - 7 -3.43 cm 2.03 cm 34.1 cm 37 keV 3.24 keV 5.7 mm 8.81 cm Tracker eIoni - 8 -3.1 cm 2.36 cm 34 cm 33.4 keV 3.6 keV 4.93 mm 9.3 cm Tracker eIoni - 9 -2.87 cm 2.61 cm 34.2 cm 29.7 keV 3.68 keV 4.17 mm 9.72 cm Tracker eIoni - 10 -2.66 cm 2.6 cm 34.4 cm 27.3 keV 2.48 keV 3.42 mm 10.1 cm Tracker eIoni - 11 -2.55 cm 2.54 cm 34.7 cm 23.7 keV 3.56 keV 2.98 mm 10.4 cm Tracker eIoni - 12 -2.48 cm 2.54 cm 34.9 cm 20.9 keV 2.77 keV 2.39 mm 10.6 cm Tracker eIoni - 13 -2.42 cm 2.46 cm 35.1 cm 19.3 keV 1.65 keV 1.96 mm 10.8 cm Tracker eIoni - 14 -2.52 cm 2.44 cm 34.9 cm 16.9 keV 2.37 keV 1.75 mm 11 cm Tracker eIoni - 15 -2.58 cm 2.48 cm 34.8 cm 15.1 keV 1.77 keV 1.45 mm 11.1 cm Tracker eIoni - 16 -2.58 cm 2.55 cm 34.7 cm 13.6 keV 1.52 keV 1.25 mm 11.2 cm Tracker eIoni - 17 -2.65 cm 2.52 cm 34.6 cm 12.1 keV 1.5 keV 1.09 mm 11.3 cm Tracker eIoni - 18 -2.68 cm 2.61 cm 34.7 cm 10.5 keV 1.62 keV 940 mum 11.4 cm Tracker eIoni - 19 -2.71 cm 2.67 cm 34.6 cm 9.4 keV 1.12 keV 799 mum 11.5 cm Tracker eIoni - 20 -2.76 cm 2.71 cm 34.6 cm 8.29 keV 1.11 keV 709 mum 11.6 cm Tracker eIoni - 21 -2.78 cm 2.75 cm 34.6 cm 6.89 keV 1.4 keV 625 mum 11.7 cm Tracker eIoni - 22 -2.81 cm 2.78 cm 34.6 cm 5.86 keV 1.04 keV 529 mum 11.7 cm Tracker eIoni - 23 -2.84 cm 2.75 cm 34.6 cm 4.63 keV 1.22 keV 463 mum 11.8 cm Tracker eIoni - 24 -2.84 cm 2.72 cm 34.6 cm 3.45 keV 1.18 keV 388 mum 11.8 cm Tracker eIoni - 25 -2.84 cm 2.74 cm 34.6 cm 1.25 keV 2.2 keV 308 mum 11.8 cm Tracker eIoni - 26 -2.84 cm 2.74 cm 34.6 cm 0 eV 1.25 keV 79.1 mum 11.8 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 25.6 mum 35 mum 17.7 cm 150 keV 0 eV 0 fm 0 fm Chamber initStep - 1 1.31 cm 3.47 mm 17.4 cm 138 keV 11.7 keV 1.96 cm 1.96 cm Chamber eIoni - 2 2.4 cm -910 mum 17.2 cm 118 keV 19.7 keV 1.72 cm 3.68 cm Chamber eIoni - 3 2.59 cm -5.36 mm 16.4 cm 89.8 keV 28.6 keV 1.34 cm 5.02 cm Chamber eIoni - 4 2.56 cm 584 mum 16.4 cm 77.7 keV 12.1 keV 8.56 mm 5.88 cm Chamber eIoni - 5 2.43 cm 465 mum 16.9 cm 62.9 keV 14.7 keV 6.8 mm 6.56 cm Chamber eIoni - 6 2.12 cm 1.35 mm 16.8 cm 58.7 keV 4.26 keV 4.88 mm 7.04 cm Chamber eIoni - 7 1.88 cm 774 mum 16.6 cm 51.7 keV 6.93 keV 4.39 mm 7.48 cm Chamber eIoni - 8 1.98 cm 775 mum 16.4 cm 43.1 keV 8.65 keV 3.61 mm 7.84 cm Chamber eIoni - 9 2.12 cm 1.13 mm 16.5 cm 39.1 keV 4.02 keV 2.74 mm 8.12 cm Chamber eIoni - 10 2.2 cm 2.41 mm 16.4 cm 34.8 keV 4.29 keV 2.38 mm 8.35 cm Chamber eIoni - 11 2.07 cm 2.22 mm 16.4 cm 29.7 keV 5.04 keV 2.01 mm 8.56 cm Chamber eIoni - 12 2.11 cm 2.16 mm 16.5 cm 20.4 keV 9.34 keV 1.62 mm 8.72 cm Chamber eIoni - 13 2.11 cm 2.81 mm 16.5 cm 18.3 keV 2.11 keV 1.01 mm 8.82 cm Chamber eIoni - 14 2.09 cm 2.7 mm 16.6 cm 15.1 keV 3.17 keV 891 mum 8.91 cm Chamber eIoni - 15 2.08 cm 2.98 mm 16.6 cm 12.7 keV 2.38 keV 731 mum 8.98 cm Chamber eIoni - 16 2.05 cm 2.96 mm 16.6 cm 9.16 keV 3.57 keV 623 mum 9.04 cm Chamber eIoni - 17 2.04 cm 3.16 mm 16.6 cm 6.91 keV 2.25 keV 478 mum 9.09 cm Chamber eIoni - 18 2.05 cm 3.15 mm 16.6 cm 578 eV 6.33 keV 391 mum 9.13 cm Chamber eIoni - 19 2.05 cm 3.15 mm 16.6 cm 0 eV 578 eV 21.5 mum 9.13 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 23.9 mum 31.8 mum -4.26 cm 49.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 2.99 mm 7.25 mm -4.29 cm 44.1 keV 5.37 keV 8.13 mm 8.13 mm Tracker eIoni - 2 7.72 mm 1.08 cm -4.06 cm 40 keV 4.1 keV 6.64 mm 1.48 cm Tracker eIoni - 3 8.08 mm 1.51 cm -3.73 cm 36 keV 3.96 keV 5.64 mm 2.04 cm Tracker eIoni - 4 6.14 mm 1.9 cm -3.86 cm 32.7 keV 3.36 keV 4.71 mm 2.51 cm Tracker eIoni - 5 5.79 mm 2.26 cm -3.98 cm 29.1 keV 3.56 keV 4.02 mm 2.91 cm Tracker eIoni - 6 4.87 mm 2.56 cm -4.05 cm 25.9 keV 3.21 keV 3.31 mm 3.24 cm Tracker eIoni - 7 4.46 mm 2.79 cm -4.16 cm 23.5 keV 2.4 keV 2.74 mm 3.52 cm Tracker eIoni - 8 4.39 mm 2.99 cm -4.26 cm 21.5 keV 2.03 keV 2.36 mm 3.75 cm Tracker eIoni - 9 2.67 mm 3.02 cm -4.17 cm 20.1 keV 1.37 keV 2.05 mm 3.96 cm Tracker eIoni - 10 1.67 mm 2.91 cm -4.07 cm 15.2 keV 4.9 keV 1.86 mm 4.15 cm Tracker eIoni - 11 2.19 mm 2.8 cm -4.08 cm 13 keV 2.2 keV 1.25 mm 4.27 cm Tracker eIoni - 12 1.72 mm 2.73 cm -4.04 cm 10.3 keV 2.7 keV 1.03 mm 4.37 cm Tracker eIoni - 13 1.05 mm 2.7 cm -4.02 cm 8.22 keV 2.1 keV 783 mum 4.45 cm Tracker eIoni - 14 626 mum 2.69 cm -4.06 cm 6.44 keV 1.78 keV 620 mum 4.51 cm Tracker eIoni - 15 227 mum 2.68 cm -4.08 cm 5.56 keV 876 eV 501 mum 4.56 cm Tracker eIoni - 16 -52.2 mum 2.65 cm -4.09 cm 3.08 keV 2.48 keV 446 mum 4.61 cm Tracker eIoni - 17 -14.7 mum 2.63 cm -4.09 cm 0 eV 3.08 keV 278 mum 4.64 cm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.61 mum 12.9 mum -1.44 m 57.7 keV 0 eV 0 fm 0 fm Chamber initStep - 1 -1.47 mm 606 mum -1.44 m 52.6 keV 5.09 keV 4.27 mm 4.27 mm Chamber eIoni - 2 -1.19 mm 1.48 mm -1.44 m 39.1 keV 13.4 keV 3.69 mm 7.96 mm Chamber eIoni - 3 154 mum 832 mum -1.44 m 37.2 keV 1.88 keV 2.38 mm 1.03 cm Chamber eIoni - 4 592 mum 2.15 mm -1.44 m 31.4 keV 5.87 keV 2.21 mm 1.26 cm Chamber eIoni - 5 724 mum 2.8 mm -1.44 m 28.2 keV 3.15 keV 1.74 mm 1.43 cm Chamber eIoni - 6 1.49 mm 2.74 mm -1.44 m 25.6 keV 2.66 keV 1.51 mm 1.58 cm Chamber eIoni - 7 1.93 mm 3.37 mm -1.44 m 24.1 keV 1.49 keV 1.33 mm 1.71 cm Chamber eIoni - 8 2.51 mm 3.81 mm -1.44 m 20.8 keV 3.27 keV 1.23 mm 1.84 cm Chamber eIoni - 9 2.55 mm 4.44 mm -1.44 m 18.4 keV 2.44 keV 1.03 mm 1.94 cm Chamber eIoni - 10 2.23 mm 3.99 mm -1.44 m 14.2 keV 4.15 keV 896 mum 2.03 cm Chamber eIoni - 11 2.18 mm 3.85 mm -1.44 m 7.44 keV 6.76 keV 688 mum 2.1 cm Chamber eIoni - 12 2.06 mm 3.98 mm -1.44 m 6.32 keV 1.12 keV 413 mum 2.14 cm Chamber eIoni - 13 2.01 mm 3.99 mm -1.44 m 2.58 keV 3.74 keV 369 mum 2.18 cm Chamber eIoni - 14 2.01 mm 3.99 mm -1.44 m 0 eV 2.58 keV 147 mum 2.19 cm Chamber eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.7 mum 4.75 mum -2.04 m 12.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 584 mum 718 mum -2.04 m 10 keV 2.41 keV 968 mum 968 mum Tracker eIoni - 2 1.24 mm 609 mum -2.04 m 8.96 keV 1.05 keV 756 mum 1.72 mm Tracker eIoni - 3 1.71 mm 295 mum -2.04 m 7.73 keV 1.23 keV 676 mum 2.4 mm Tracker eIoni - 4 1.78 mm 200 mum -2.04 m 3.75 keV 3.98 keV 587 mum 2.99 mm Tracker eIoni - 5 1.68 mm -3.98 mum -2.04 m 1.77 keV 1.98 keV 330 mum 3.32 mm Tracker eIoni - 6 1.74 mm -2.18 mum -2.04 m 0 eV 1.77 keV 130 mum 3.45 mm Tracker eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.92 nm 10.1 nm -2.84 m 11.7 keV 0 eV 0 fm 0 fm WorldPV initStep - 1 314 mum 713 mum -2.84 m 9.68 keV 2.05 keV 904 mum 904 mum WorldPV eIoni - 2 423 mum 484 mum -2.84 m 6.58 keV 3.11 keV 731 mum 1.64 mm WorldPV eIoni - 3 797 mum 538 mum -2.84 m 3.98 keV 2.59 keV 510 mum 2.14 mm WorldPV eIoni - 4 798 mum 326 mum -2.84 m 2.77 keV 1.21 keV 345 mum 2.49 mm WorldPV eIoni - 5 896 mum 298 mum -2.84 m 622 eV 2.15 keV 248 mum 2.74 mm WorldPV eIoni - 6 891 mum 304 mum -2.84 m 0 eV 622 eV 33.1 mum 2.77 mm WorldPV eIoni ->>> Event 0 - 0 trajectories stored in this event. -### Run 2 start. ->>> Event 0 - 0 trajectories stored in this event. ->>> Event 1 - 0 trajectories stored in this event. ->>> Event 2 - 0 trajectories stored in this event. ->>> Event 3 - 0 trajectories stored in this event. ->>> Event 4 - 0 trajectories stored in this event. ->>> Event 5 - 0 trajectories stored in this event. ->>> Event 6 - 0 trajectories stored in this event. ->>> Event 7 - 0 trajectories stored in this event. ->>> Event 8 - 0 trajectories stored in this event. ->>> Event 9 - 0 trajectories stored in this event. ->>> Event 10 - 0 trajectories stored in this event. ->>> Event 11 - 0 trajectories stored in this event. ->>> Event 12 - 0 trajectories stored in this event. ->>> Event 13 - 0 trajectories stored in this event. ->>> Event 14 - 0 trajectories stored in this event. ->>> Event 15 - 0 trajectories stored in this event. ->>> Event 16 - 0 trajectories stored in this event. ->>> Event 17 - 0 trajectories stored in this event. ->>> Event 18 - 0 trajectories stored in this event. ->>> Event 19 - 0 trajectories stored in this event. ->>> Event 20 - 0 trajectories stored in this event. ->>> Event 21 - 0 trajectories stored in this event. ->>> Event 22 - 0 trajectories stored in this event. ->>> Event 23 - 0 trajectories stored in this event. ->>> Event 24 - 0 trajectories stored in this event. ->>> Event 25 - 0 trajectories stored in this event. ->>> Event 26 - 0 trajectories stored in this event. ->>> Event 27 - 0 trajectories stored in this event. ->>> Event 28 - 0 trajectories stored in this event. ->>> Event 29 - 0 trajectories stored in this event. ->>> Event 30 - 0 trajectories stored in this event. ->>> Event 31 - 0 trajectories stored in this event. ->>> Event 32 - 0 trajectories stored in this event. ->>> Event 33 - 0 trajectories stored in this event. ->>> Event 34 - 0 trajectories stored in this event. ->>> Event 35 - 0 trajectories stored in this event. ->>> Event 36 - 0 trajectories stored in this event. ->>> Event 37 - 0 trajectories stored in this event. ->>> Event 38 - 0 trajectories stored in this event. ->>> Event 39 - 0 trajectories stored in this event. ->>> Event 40 - 0 trajectories stored in this event. ->>> Event 41 - 0 trajectories stored in this event. ->>> Event 42 - 0 trajectories stored in this event. ->>> Event 43 - 0 trajectories stored in this event. ->>> Event 44 - 0 trajectories stored in this event. ->>> Event 45 - 0 trajectories stored in this event. ->>> Event 46 - 0 trajectories stored in this event. ->>> Event 47 - 0 trajectories stored in this event. ->>> Event 48 - 0 trajectories stored in this event. ->>> Event 49 - 0 trajectories stored in this event. ->>> Event 50 - 0 trajectories stored in this event. ->>> Event 51 - 0 trajectories stored in this event. ->>> Event 52 - 0 trajectories stored in this event. ->>> Event 53 - 0 trajectories stored in this event. ->>> Event 54 - 0 trajectories stored in this event. ->>> Event 55 - 0 trajectories stored in this event. ->>> Event 56 - 0 trajectories stored in this event. ->>> Event 57 - 0 trajectories stored in this event. ->>> Event 58 - 0 trajectories stored in this event. ->>> Event 59 - 0 trajectories stored in this event. ->>> Event 60 - 0 trajectories stored in this event. ->>> Event 61 - 0 trajectories stored in this event. ->>> Event 62 - 0 trajectories stored in this event. ->>> Event 63 - 0 trajectories stored in this event. ->>> Event 64 - 0 trajectories stored in this event. ->>> Event 65 - 0 trajectories stored in this event. ->>> Event 66 - 0 trajectories stored in this event. ->>> Event 67 - 0 trajectories stored in this event. ->>> Event 68 - 0 trajectories stored in this event. ->>> Event 69 - 0 trajectories stored in this event. ->>> Event 70 - 0 trajectories stored in this event. ->>> Event 71 - 0 trajectories stored in this event. ->>> Event 72 - 0 trajectories stored in this event. ->>> Event 73 - 0 trajectories stored in this event. ->>> Event 74 - 0 trajectories stored in this event. ->>> Event 75 - 0 trajectories stored in this event. ->>> Event 76 - 0 trajectories stored in this event. ->>> Event 77 - 0 trajectories stored in this event. ->>> Event 78 - 0 trajectories stored in this event. ->>> Event 79 - 0 trajectories stored in this event. ->>> Event 80 - 0 trajectories stored in this event. ->>> Event 81 - 0 trajectories stored in this event. ->>> Event 82 - 0 trajectories stored in this event. ->>> Event 83 - 0 trajectories stored in this event. ->>> Event 84 - 0 trajectories stored in this event. ->>> Event 85 - 0 trajectories stored in this event. ->>> Event 86 - 0 trajectories stored in this event. ->>> Event 87 - 0 trajectories stored in this event. ->>> Event 88 - 0 trajectories stored in this event. ->>> Event 89 - 0 trajectories stored in this event. ->>> Event 90 - 0 trajectories stored in this event. ->>> Event 91 - 0 trajectories stored in this event. ->>> Event 92 - 0 trajectories stored in this event. ->>> Event 93 - 0 trajectories stored in this event. ->>> Event 94 - 0 trajectories stored in this event. ->>> Event 95 - 0 trajectories stored in this event. ->>> Event 96 - 0 trajectories stored in this event. ->>> Event 97 - 0 trajectories stored in this event. ->>> Event 98 - 0 trajectories stored in this event. ->>> Event 99 - 0 trajectories stored in this event. ->>> Event 100 - 0 trajectories stored in this event. ->>> Event 200 - 0 trajectories stored in this event. ->>> Event 300 - 0 trajectories stored in this event. ->>> Event 400 - 0 trajectories stored in this event. ->>> Event 500 - 0 trajectories stored in this event. ->>> Event 600 - 0 trajectories stored in this event. ->>> Event 700 - 0 trajectories stored in this event. ->>> Event 800 - 0 trajectories stored in this event. ->>> Event 900 - 0 trajectories stored in this event. ->>> Event 1000 - 0 trajectories stored in this event. ->>> Event 1100 - 0 trajectories stored in this event. ->>> Event 1200 - 0 trajectories stored in this event. ->>> Event 1300 - 0 trajectories stored in this event. ->>> Event 1400 - 0 trajectories stored in this event. ->>> Event 1500 - 0 trajectories stored in this event. ->>> Event 1600 - 0 trajectories stored in this event. ->>> Event 1700 - 0 trajectories stored in this event. ->>> Event 1800 - 0 trajectories stored in this event. ->>> Event 1900 - 0 trajectories stored in this event. ->>> Event 2000 - 0 trajectories stored in this event. ->>> Event 2100 - 0 trajectories stored in this event. ->>> Event 2200 - 0 trajectories stored in this event. ->>> Event 2300 - 0 trajectories stored in this event. ->>> Event 2400 - 0 trajectories stored in this event. ->>> Event 2500 - 0 trajectories stored in this event. ->>> Event 2600 - 0 trajectories stored in this event. ->>> Event 2700 - 0 trajectories stored in this event. ->>> Event 2800 - 0 trajectories stored in this event. ->>> Event 2900 - 0 trajectories stored in this event. ->>> Event 3000 - 0 trajectories stored in this event. ->>> Event 3100 - 0 trajectories stored in this event. ->>> Event 3200 - 0 trajectories stored in this event. ->>> Event 3300 - 0 trajectories stored in this event. ->>> Event 3400 - 0 trajectories stored in this event. ->>> Event 3500 - 0 trajectories stored in this event. ->>> Event 3600 - 0 trajectories stored in this event. ->>> Event 3700 - 0 trajectories stored in this event. ->>> Event 3800 - 0 trajectories stored in this event. ->>> Event 3900 - 0 trajectories stored in this event. ->>> Event 4000 - 0 trajectories stored in this event. ->>> Event 4100 - 0 trajectories stored in this event. ->>> Event 4200 - 0 trajectories stored in this event. ->>> Event 4300 - 0 trajectories stored in this event. ->>> Event 4400 - 0 trajectories stored in this event. ->>> Event 4500 - 0 trajectories stored in this event. ->>> Event 4600 - 0 trajectories stored in this event. ->>> Event 4700 - 0 trajectories stored in this event. ->>> Event 4800 - 0 trajectories stored in this event. ->>> Event 4900 - 0 trajectories stored in this event. ->>> Event 5000 - 0 trajectories stored in this event. ->>> Event 5100 - 0 trajectories stored in this event. ->>> Event 5200 - 0 trajectories stored in this event. ->>> Event 5300 - 0 trajectories stored in this event. ->>> Event 5400 - 0 trajectories stored in this event. ->>> Event 5500 - 0 trajectories stored in this event. ->>> Event 5600 - 0 trajectories stored in this event. ->>> Event 5700 - 0 trajectories stored in this event. ->>> Event 5800 - 0 trajectories stored in this event. ->>> Event 5900 - 0 trajectories stored in this event. ->>> Event 6000 - 0 trajectories stored in this event. ->>> Event 6100 - 0 trajectories stored in this event. ->>> Event 6200 - 0 trajectories stored in this event. ->>> Event 6300 - 0 trajectories stored in this event. ->>> Event 6400 - 0 trajectories stored in this event. ->>> Event 6500 - 0 trajectories stored in this event. ->>> Event 6600 - 0 trajectories stored in this event. ->>> Event 6700 - 0 trajectories stored in this event. ->>> Event 6800 - 0 trajectories stored in this event. ->>> Event 6900 - 0 trajectories stored in this event. ->>> Event 7000 - 0 trajectories stored in this event. ->>> Event 7100 - 0 trajectories stored in this event. ->>> Event 7200 - 0 trajectories stored in this event. ->>> Event 7300 - 0 trajectories stored in this event. ->>> Event 7400 - 0 trajectories stored in this event. ->>> Event 7500 - 0 trajectories stored in this event. ->>> Event 7600 - 0 trajectories stored in this event. ->>> Event 7700 - 0 trajectories stored in this event. ->>> Event 7800 - 0 trajectories stored in this event. ->>> Event 7900 - 0 trajectories stored in this event. ->>> Event 8000 - 0 trajectories stored in this event. ->>> Event 8100 - 0 trajectories stored in this event. ->>> Event 8200 - 0 trajectories stored in this event. ->>> Event 8300 - 0 trajectories stored in this event. ->>> Event 8400 - 0 trajectories stored in this event. ->>> Event 8500 - 0 trajectories stored in this event. ->>> Event 8600 - 0 trajectories stored in this event. ->>> Event 8700 - 0 trajectories stored in this event. ->>> Event 8800 - 0 trajectories stored in this event. ->>> Event 8900 - 0 trajectories stored in this event. ->>> Event 9000 - 0 trajectories stored in this event. ->>> Event 9100 - 0 trajectories stored in this event. ->>> Event 9200 - 0 trajectories stored in this event. ->>> Event 9300 - 0 trajectories stored in this event. ->>> Event 9400 - 0 trajectories stored in this event. ->>> Event 9500 - 0 trajectories stored in this event. ->>> Event 9600 - 0 trajectories stored in this event. ->>> Event 9700 - 0 trajectories stored in this event. ->>> Event 9800 - 0 trajectories stored in this event. ->>> Event 9900 - 0 trajectories stored in this event. -### Run 3 start. ->>> Event 0 - 0 trajectories stored in this event. ->>> Event 1 - 0 trajectories stored in this event. ->>> Event 2 - 0 trajectories stored in this event. ->>> Event 3 - 0 trajectories stored in this event. ->>> Event 4 - 0 trajectories stored in this event. ->>> Event 5 - 0 trajectories stored in this event. ->>> Event 6 - 0 trajectories stored in this event. ->>> Event 7 - 0 trajectories stored in this event. ->>> Event 8 - 0 trajectories stored in this event. ->>> Event 9 - 0 trajectories stored in this event. ->>> Event 10 - 0 trajectories stored in this event. ->>> Event 11 - 0 trajectories stored in this event. ->>> Event 12 - 0 trajectories stored in this event. ->>> Event 13 - 0 trajectories stored in this event. ->>> Event 14 - 0 trajectories stored in this event. ->>> Event 15 - 0 trajectories stored in this event. ->>> Event 16 - 0 trajectories stored in this event. ->>> Event 17 - 0 trajectories stored in this event. ->>> Event 18 - 0 trajectories stored in this event. ->>> Event 19 - 0 trajectories stored in this event. ->>> Event 20 - 0 trajectories stored in this event. ->>> Event 21 - 0 trajectories stored in this event. ->>> Event 22 - 0 trajectories stored in this event. ->>> Event 23 - 0 trajectories stored in this event. ->>> Event 24 - 0 trajectories stored in this event. ->>> Event 25 - 0 trajectories stored in this event. ->>> Event 26 - 0 trajectories stored in this event. ->>> Event 27 - 0 trajectories stored in this event. ->>> Event 28 - 0 trajectories stored in this event. ->>> Event 29 - 0 trajectories stored in this event. ->>> Event 30 - 0 trajectories stored in this event. ->>> Event 31 - 0 trajectories stored in this event. ->>> Event 32 - 0 trajectories stored in this event. ->>> Event 33 - 0 trajectories stored in this event. ->>> Event 34 - 0 trajectories stored in this event. ->>> Event 35 - 0 trajectories stored in this event. ->>> Event 36 - 0 trajectories stored in this event. ->>> Event 37 - 0 trajectories stored in this event. ->>> Event 38 - 0 trajectories stored in this event. ->>> Event 39 - 0 trajectories stored in this event. ->>> Event 40 - 0 trajectories stored in this event. ->>> Event 41 - 0 trajectories stored in this event. ->>> Event 42 - 0 trajectories stored in this event. ->>> Event 43 - 0 trajectories stored in this event. ->>> Event 44 - 0 trajectories stored in this event. ->>> Event 45 - 0 trajectories stored in this event. ->>> Event 46 - 0 trajectories stored in this event. ->>> Event 47 - 0 trajectories stored in this event. ->>> Event 48 - 0 trajectories stored in this event. ->>> Event 49 - 0 trajectories stored in this event. ->>> Event 50 - 0 trajectories stored in this event. ->>> Event 51 - 0 trajectories stored in this event. ->>> Event 52 - 0 trajectories stored in this event. ->>> Event 53 - 0 trajectories stored in this event. ->>> Event 54 - 0 trajectories stored in this event. ->>> Event 55 - 0 trajectories stored in this event. ->>> Event 56 - 0 trajectories stored in this event. ->>> Event 57 - 0 trajectories stored in this event. ->>> Event 58 - 0 trajectories stored in this event. ->>> Event 59 - 0 trajectories stored in this event. ->>> Event 60 - 0 trajectories stored in this event. ->>> Event 61 - 0 trajectories stored in this event. ->>> Event 62 - 0 trajectories stored in this event. ->>> Event 63 - 0 trajectories stored in this event. ->>> Event 64 - 0 trajectories stored in this event. ->>> Event 65 - 0 trajectories stored in this event. ->>> Event 66 - 0 trajectories stored in this event. ->>> Event 67 - 0 trajectories stored in this event. ->>> Event 68 - 0 trajectories stored in this event. ->>> Event 69 - 0 trajectories stored in this event. ->>> Event 70 - 0 trajectories stored in this event. ->>> Event 71 - 0 trajectories stored in this event. ->>> Event 72 - 0 trajectories stored in this event. ->>> Event 73 - 0 trajectories stored in this event. ->>> Event 74 - 0 trajectories stored in this event. ->>> Event 75 - 0 trajectories stored in this event. ->>> Event 76 - 0 trajectories stored in this event. ->>> Event 77 - 0 trajectories stored in this event. ->>> Event 78 - 0 trajectories stored in this event. ->>> Event 79 - 0 trajectories stored in this event. ->>> Event 80 - 0 trajectories stored in this event. ->>> Event 81 - 0 trajectories stored in this event. ->>> Event 82 - 0 trajectories stored in this event. ->>> Event 83 - 0 trajectories stored in this event. ->>> Event 84 - 0 trajectories stored in this event. ->>> Event 85 - 0 trajectories stored in this event. ->>> Event 86 - 0 trajectories stored in this event. ->>> Event 87 - 0 trajectories stored in this event. ->>> Event 88 - 0 trajectories stored in this event. ->>> Event 89 - 0 trajectories stored in this event. ->>> Event 90 - 0 trajectories stored in this event. ->>> Event 91 - 0 trajectories stored in this event. ->>> Event 92 - 0 trajectories stored in this event. ->>> Event 93 - 0 trajectories stored in this event. ->>> Event 94 - 0 trajectories stored in this event. ->>> Event 95 - 0 trajectories stored in this event. ->>> Event 96 - 0 trajectories stored in this event. ->>> Event 97 - 0 trajectories stored in this event. ->>> Event 98 - 0 trajectories stored in this event. ->>> Event 99 - 0 trajectories stored in this event. ->>> Event 100 - 0 trajectories stored in this event. ->>> Event 200 - 0 trajectories stored in this event. ->>> Event 300 - 0 trajectories stored in this event. ->>> Event 400 - 0 trajectories stored in this event. ->>> Event 500 - 0 trajectories stored in this event. ->>> Event 600 - 0 trajectories stored in this event. ->>> Event 700 - 0 trajectories stored in this event. ->>> Event 800 - 0 trajectories stored in this event. ->>> Event 900 - 0 trajectories stored in this event. diff --git a/examples/novice/N02/exampleN02.out b/examples/novice/N02/exampleN02.out index f86a4d6a8b..ad31a3632b 100644 --- a/examples/novice/N02/exampleN02.out +++ b/examples/novice/N02/exampleN02.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -40,14 +40,14 @@ There are 5 chambers in the tracker region. The chambers are 200 mm of XenonGas phot: Total cross sections from Sandia parametrisation. -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. - compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + msc: Tables of transport mean free paths. New model of MSC , computes the lateral displacement of the particle , too. @@ -55,7 +55,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -67,10 +68,16 @@ annihil: Total cross section from Heilter formula(annihilation into 2 photons). gamma energies sampled according Heitler PhysicsTables from 10 keV to 10 TeV in 100 bins. +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -82,11 +89,6 @@ MuIoni: Knock-on electron cross sections . delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - MuBrems: theoretical cross section Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. @@ -94,17 +96,32 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Air 1 cm 1 cm - Pb 1 cm 1 cm - XenonGas 1 cm 1 cm -Cut in energy - Air 990 eV 8.07 keV - Pb 282 keV 15 MeV - XenonGas 2.47 keV 40.3 keV -=================================================== + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Air + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm + Energy thresholds : gamma 990 eV e- 8.07135 keV e+ 8.07135 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Pb + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm + Energy thresholds : gamma 282.478 keV e- 15.0137 MeV e+ 13.9447 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : XenonGas + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm + Energy thresholds : gamma 2.47072 keV e- 40.2614 keV e+ 39.2823 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. ********************************************************************************************************* @@ -112,2363 +129,1532 @@ Cut in energy ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm World initStep - 1 -37.5 mum -1.48 mum -2.86 m 200 MeV 8.09 keV 4.79 cm 4.79 cm World eIoni - 2 -32.4 mum 109 mum -2.45 m 200 MeV 89.9 keV 41.2 cm 46 cm World Transportation - 3 -21.6 mum 115 mum -2.45 m 180 MeV 906 keV 682 mum 46.1 cm Target eBrem - 4 -21.6 mum 115 mum -2.45 m 126 MeV 936 eV 2.64 mum 46.1 cm Target eBrem - 5 -21.4 mum 116 mum -2.45 m 103 MeV 92.4 keV 80.5 mum 46.1 cm Target eBrem - 6 41.9 mum 192 mum -2.45 m 93.9 MeV 2.2 MeV 1.39 mm 46.2 cm Target eBrem - 7 40.8 mum 193 mum -2.45 m 92.8 MeV 93 keV 82.6 mum 46.2 cm Target eBrem - 8 37.1 mum 197 mum -2.45 m 74.1 MeV 240 keV 215 mum 46.2 cm Target eBrem - 9 46.2 mum 306 mum -2.45 m 72.1 MeV 1.68 MeV 1.21 mm 46.4 cm Target eBrem - 10 56.4 mum 302 mum -2.45 m 30.9 MeV 606 keV 456 mum 46.4 cm Target eBrem - 11 -209 mum 23.7 mum -2.44 m 26.6 MeV 3.79 MeV 1.68 mm 46.6 cm Target eBrem - 12 -221 mum 15.5 mum -2.44 m 20.2 MeV 332 keV 323 mum 46.6 cm Target eBrem - 13 -464 mum -18.2 mum -2.44 m 18.5 MeV 832 keV 834 mum 46.7 cm Target eBrem - 14 -674 mum 432 mum -2.44 m 10.9 MeV 1.5 MeV 1.23 mm 46.8 cm Target eBrem - 15 -210 mum 39.9 mum -2.44 m 3.85 MeV 7.05 MeV 3.18 mm 47.1 cm Target eIoni - 16 545 mum -198 mum -2.44 m 2 MeV 1.85 MeV 1.97 mm 47.3 cm Target eIoni - 17 736 mum -20.5 mum -2.44 m 600 keV 1.4 MeV 1.42 mm 47.5 cm Target eIoni - 18 750 mum 22.6 mum -2.44 m 0 eV 600 keV 385 mum 47.5 cm Target eIoni - 19 750 mum 22.6 mum -2.44 m 0 eV 0 eV 0 fm 47.5 cm Target annihil + 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm World initStep + 1 4.52 mum 37.2 mum -2.86 m 200 MeV 7.67 keV 4.79 cm 4.79 cm World eIoni + 2 1.42 mum 177 mum -2.65 m 200 MeV 57.1 keV 21.4 cm 26.2 cm World eIoni + 3 -19.3 mum 125 mum -2.45 m 200 MeV 44.2 keV 19.8 cm 46 cm World Transportation + 4 -23 mum 139 mum -2.45 m 197 MeV 1.23 MeV 682 mum 46.1 cm Target eBrem + 5 -31.3 mum 139 mum -2.45 m 187 MeV 449 keV 246 mum 46.1 cm Target eBrem + 6 -42.6 mum 135 mum -2.45 m 184 MeV 556 keV 376 mum 46.1 cm Target eBrem + 7 -59.3 mum 141 mum -2.45 m 180 MeV 510 keV 421 mum 46.2 cm Target eBrem + 8 -80.8 mum 150 mum -2.45 m 176 MeV 337 keV 334 mum 46.2 cm Target eBrem + 9 -110 mum 135 mum -2.45 m 146 MeV 1.03 MeV 822 mum 46.3 cm Target eBrem + 10 -228 mum 45.1 mum -2.45 m 142 MeV 2.39 MeV 1.69 mm 46.5 cm Target eBrem + 11 -295 mum 139 mum -2.44 m 137 MeV 3.72 MeV 1.4 mm 46.6 cm Target eBrem + 12 -322 mum 202 mum -2.44 m 111 MeV 687 keV 640 mum 46.7 cm Target eBrem + 13 -342 mum 251 mum -2.44 m 109 MeV 325 keV 316 mum 46.7 cm Target eBrem + 14 -357 mum 280 mum -2.44 m 107 MeV 261 keV 181 mum 46.7 cm Target eBrem + 15 -395 mum 344 mum -2.44 m 96.1 MeV 349 keV 324 mum 46.7 cm Target eBrem + 16 -421 mum 383 mum -2.44 m 94.5 MeV 318 keV 286 mum 46.8 cm Target eBrem + 17 -476 mum 473 mum -2.44 m 93.2 MeV 607 keV 479 mum 46.8 cm Target eBrem + 18 -769 mum 683 mum -2.44 m 86.9 MeV 2.56 MeV 1.92 mm 47 cm Target eBrem + 19 -1.34 mm 1.08 mm -2.44 m 77.9 MeV 2.17 MeV 1.81 mm 47.2 cm Target eBrem + 20 -1.5 mm 1.22 mm -2.44 m 70.8 MeV 748 keV 530 mum 47.2 cm Target eBrem + 21 -2.57 mm 2.62 mm -2.43 m 19.7 MeV 5 MeV 3.65 mm 47.6 cm Target eBrem + 22 -2.78 mm 2.81 mm -2.43 m 10.6 MeV 1.09 MeV 963 mum 47.7 cm Target eBrem + 23 -4.18 mm 2.6 mm -2.43 m 6.78 MeV 3.52 MeV 1.81 mm 47.9 cm Target eBrem + 24 -5.42 mm 2.14 mm -2.43 m 4.01 MeV 2.77 MeV 2.52 mm 48.1 cm Target eIoni + 25 -4.17 mm 3.18 mm -2.43 m 1.94 MeV 2.07 MeV 2 mm 48.3 cm Target eIoni + 26 -4.34 mm 3.14 mm -2.43 m 2.22e-10 eV 1.94 MeV 1.31 mm 48.5 cm Target eBrem + 27 -4.34 mm 3.14 mm -2.43 m 2.22e-10 eV 0 eV 0 fm 48.5 cm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.34 mm 3.14 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.91 mm 3.61 mm -2.43 m 260 keV 0 eV 2.51 mm 2.51 mm Target compt + 2 173 mum -4.66 mm -2.43 m 0 eV 88 keV 8.58 mm 1.11 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 173 mum -4.66 mm -2.43 m 172 keV 0 eV 0 fm 0 fm Target initStep + 1 176 mum -4.66 mm -2.43 m 2.78e-11 eV 172 keV 65 mum 65 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.91 mm 3.61 mm -2.43 m 251 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.9 mm 3.62 mm -2.43 m 0 eV 251 keV 114 mum 114 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.34 mm 3.14 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 1.67 mm -2.43 m 486 keV 0 eV 7.71 mm 7.71 mm Target compt + 2 -1.36 cm 1.4 mm -2.43 m 466 keV 0 eV 2.01 mm 9.71 mm Target compt + 3 -1.7 cm -436 mum -2.43 m 378 keV 0 eV 4.67 mm 1.44 cm Target compt + 4 -2.25 cm 1.75 mm -2.42 m 0 eV 88 keV 6.87 mm 2.13 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.25 cm 1.75 mm -2.42 m 290 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 cm 1.76 mm -2.42 m 5.55e-11 eV 290 keV 141 mum 141 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.7 cm -436 mum -2.43 m 87.9 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.7 cm -437 mum -2.43 m 1.39e-11 eV 87.9 keV 22.4 mum 22.4 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.36 cm 1.4 mm -2.43 m 20.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.36 cm 1.4 mm -2.43 m 0 eV 20.3 keV 2.09 mum 2.09 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 cm 1.67 mm -2.43 m 24.8 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 cm 1.67 mm -2.43 m 0 eV 24.8 keV 2.87 mum 2.87 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.18 mm 2.6 mm -2.43 m 299 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.84 mm 4.58 mm -2.43 m 0 eV 88 keV 2.53 mm 2.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.84 mm 4.58 mm -2.43 m 211 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.85 mm 4.58 mm -2.43 m 0 eV 211 keV 88.3 mum 88.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.78 mm 2.81 mm -2.43 m 8.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.7 cm 8.47 mm -2.42 m 0 eV 0 eV 2.11 cm 2.11 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 34, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.7 cm 8.47 mm -2.42 m 1.57 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.73 cm 8.31 mm -2.42 m 274 keV 445 keV 478 mum 478 mum Target eBrem + 2 -1.73 cm 8.33 mm -2.42 m 5.55e-11 eV 274 keV 127 mum 604 mum Target eIoni + 3 -1.73 cm 8.33 mm -2.42 m 5.55e-11 eV 0 eV 0 fm 604 mum Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 34 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.73 cm 8.33 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 cm 8.25 mm -2.42 m 0 eV 88 keV 780 mum 780 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 37 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.78 cm 8.25 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 cm 8.24 mm -2.42 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 34 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.73 cm 8.33 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 cm 8.35 mm -2.42 m 0 eV 88 keV 173 mum 173 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 cm 8.35 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 cm 8.35 mm -2.42 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 34 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.73 cm 8.31 mm -2.42 m 849 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 cm 6.27 mm -2.42 m 595 keV 0 eV 3.73 mm 3.73 mm Target compt + 2 -1.35 cm 1.38 mm -2.42 m 0 eV 88 keV 5.25 mm 8.98 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.35 cm 1.38 mm -2.42 m 507 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.35 cm 1.37 mm -2.42 m 0 eV 507 keV 307 mum 307 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.44 cm 6.27 mm -2.42 m 254 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.43 cm 6.27 mm -2.42 m 1.11e-10 eV 254 keV 117 mum 117 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.7 cm 8.47 mm -2.42 m 5.46 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 cm 1.01 cm -2.42 m 2.51 MeV 2.95 MeV 2.26 mm 2.26 mm Target eIoni + 2 -1.8 cm 1 cm -2.42 m 553 keV 363 keV 402 mum 2.66 mm Target eBrem + 3 -1.8 cm 1 cm -2.42 m 0 eV 553 keV 344 mum 3.01 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 33 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.8 cm 1 cm -2.42 m 1.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.2 cm 1.34 cm -2.4 m 1.6 MeV 0 eV 2.07 cm 2.07 cm Target Transportation + 2 23.6 cm 15.1 cm -1.6 m 1.6 MeV 0 eV 84.9 cm 87 cm Tracker Transportation + 3 24 cm 15.3 cm -1.59 m 1.6 MeV 0 eV 1.23 cm 88.2 cm Chamber Transportation + 4 48.5 cm 28.9 cm -80 cm 1.6 MeV 0 eV 83.7 cm 1.72 m Tracker Transportation + 5 54.7 cm 32.3 cm -60 cm 1.6 MeV 0 eV 21.2 cm 1.93 m Chamber Transportation + 6 73.3 cm 42.6 cm 0 fm 1.6 MeV 0 eV 63.7 cm 2.57 m Tracker Transportation + 7 79.5 cm 46.1 cm 20 cm 1.6 MeV 0 eV 21.2 cm 2.78 m Chamber Transportation + 8 98.2 cm 56.4 cm 80 cm 1.6 MeV 0 eV 63.7 cm 3.42 m Tracker Transportation + 9 1.04 m 59.8 cm 1 m 1.6 MeV 0 eV 21.2 cm 3.63 m Chamber Transportation + 10 1.23 m 70.2 cm 1.6 m 1.6 MeV 0 eV 63.7 cm 4.27 m Tracker Transportation + 11 1.29 m 73.6 cm 1.8 m 1.6 MeV 0 eV 21.2 cm 4.48 m Chamber Transportation + 12 1.48 m 83.9 cm 2.4 m 1.6 MeV 0 eV 63.7 cm 5.11 m Tracker Transportation + 13 1.64 m 92.7 cm 2.91 m 1.6 MeV 0 eV 54.1 cm 5.66 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.57 mm 2.62 mm -2.43 m 46.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.74 cm 1.41 cm -2.4 m 46.1 MeV 0 eV 3.94 cm 3.94 cm Target Transportation + 2 -1.04 m 80.6 cm 0 fm 46.1 MeV 0 eV 2.73 m 2.77 m Tracker Transportation + 3 -1.1 m 85.3 cm 14.1 cm 46.1 MeV 0 eV 16.1 cm 2.93 m Chamber Transportation + 4 -1.39 m 1.07 m 80 cm 46.1 MeV 0 eV 74.9 cm 3.68 m Tracker Transportation + 5 -1.47 m 1.14 m 1 m 46.1 MeV 0 eV 22.7 cm 3.9 m Chamber Transportation + 6 -1.73 m 1.33 m 1.6 m 46.1 MeV 0 eV 68.2 cm 4.59 m Tracker Transportation + 7 -1.81 m 1.4 m 1.8 m 46.1 MeV 0 eV 22.7 cm 4.81 m Chamber Transportation + 8 -2.07 m 1.6 m 2.4 m 46.1 MeV 0 eV 68.2 cm 5.49 m Tracker Transportation + 9 -2.29 m 1.77 m 2.91 m 46.1 MeV 0 eV 58 cm 6.07 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.5 mm 1.22 mm -2.44 m 6.41 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.22 mm 3.11 mm -2.43 m 4.31 MeV 0 eV 6.78 mm 6.78 mm Target compt + 2 -6.52 mm 3.8 mm -2.43 m 2.33 MeV 0 eV 7.19 mm 1.4 cm Target compt + 3 -7.08 mm 5.64 mm -2.42 m 1.23 MeV 0 eV 4.72 mm 1.87 cm Target compt + 4 -7.73 mm 9.03 mm -2.42 m 765 keV 0 eV 3.98 mm 2.27 cm Target compt + 5 -1.71 cm 1.45 cm -2.41 m 0 eV 88 keV 1.63 cm 3.89 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 cm 1.45 cm -2.41 m 677 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.72 cm 1.45 cm -2.41 m 0 eV 677 keV 447 mum 447 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.73 mm 9.03 mm -2.42 m 462 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.72 mm 9.05 mm -2.42 m 0 eV 462 keV 272 mum 272 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.08 mm 5.64 mm -2.42 m 1.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -7.09 mm 5.63 mm -2.42 m 0 eV 1.1 MeV 805 mum 805 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.52 mm 3.8 mm -2.43 m 1.98 MeV 0 eV 0 fm 0 fm Target initStep + 1 -6.64 mm 3.59 mm -2.43 m 1.09 MeV 395 keV 316 mum 316 mum Target eBrem + 2 -6.61 mm 3.42 mm -2.43 m 240 keV 495 keV 390 mum 706 mum Target eBrem + 3 -6.61 mm 3.42 mm -2.43 m 8.33e-11 eV 240 keV 107 mum 814 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.61 mm 3.42 mm -2.43 m 355 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.19 mm 2.09 mm -2.43 m 0 eV 88 keV 4.07 mm 4.07 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.19 mm 2.09 mm -2.43 m 267 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.19 mm 2.09 mm -2.43 m 0 eV 267 keV 125 mum 125 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.64 mm 3.59 mm -2.43 m 496 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.77 mm 4.22 mm -2.43 m 0 eV 88 keV 5.98 mm 5.98 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 48 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.77 mm 4.22 mm -2.43 m 408 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.77 mm 4.22 mm -2.43 m 1.11e-10 eV 408 keV 229 mum 229 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.22 mm 3.11 mm -2.43 m 2.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.91 mm 2.96 mm -2.43 m 1.06 MeV 554 keV 628 mum 628 mum Target eBrem + 2 -2.85 mm 2.96 mm -2.43 m 0 eV 1.06 MeV 770 mum 1.4 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.91 mm 2.96 mm -2.43 m 486 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.59 mm 2.98 mm -2.43 m 296 keV 0 eV 343 mum 343 mum Target compt + 2 -616 mum -478 mum -2.43 m 0 eV 88 keV 4.07 mm 4.41 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 52 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -616 mum -478 mum -2.43 m 208 keV 0 eV 0 fm 0 fm Target initStep + 1 -620 mum -481 mum -2.43 m 2.78e-11 eV 208 keV 86.6 mum 86.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 52 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.59 mm 2.98 mm -2.43 m 190 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.59 mm 2.98 mm -2.43 m 0 eV 190 keV 75.3 mum 75.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.34 mm 1.08 mm -2.44 m 6.82 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.79 mm 1.48 mm -2.44 m 272 keV 0 eV 1.67 mm 1.67 mm Target compt + 2 -1.69 mm 1.5 mm -2.44 m 0 eV 88 keV 139 mum 1.81 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.69 mm 1.5 mm -2.44 m 184 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.69 mm 1.5 mm -2.44 m 0 eV 184 keV 71.7 mum 71.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.79 mm 1.48 mm -2.44 m 6.54 MeV 0 eV 0 fm 0 fm Target initStep + 1 -401 mum 2.53 mm -2.44 m 2.76 MeV 3.78 MeV 2.45 mm 2.45 mm Target eIoni + 2 -320 mum 2.87 mm -2.44 m 1.39 MeV 849 keV 792 mum 3.24 mm Target eBrem + 3 -413 mum 3.1 mm -2.44 m 199 keV 1.19 MeV 1.05 mm 4.29 mm Target eIoni + 4 -408 mum 3.1 mm -2.44 m 0 eV 199 keV 81.2 mum 4.37 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -320 mum 2.87 mm -2.44 m 520 keV 0 eV 0 fm 0 fm Target initStep + 1 -164 mum 3.86 mm -2.44 m 0 eV 88 keV 1.14 mm 1.14 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -164 mum 3.86 mm -2.44 m 432 keV 0 eV 0 fm 0 fm Target initStep + 1 -167 mum 3.87 mm -2.44 m 2.22e-10 eV 432 keV 248 mum 248 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -769 mum 683 mum -2.44 m 3.76 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.75 mm 1.63 mm -2.44 m 2.09 MeV 0 eV 4.1 mm 4.1 mm Target compt + 2 -349 mum 4.35 mm -2.43 m 654 keV 0 eV 7.07 mm 1.12 cm Target compt + 3 -643 mum 5 mm -2.43 m 245 keV 0 eV 731 mum 1.19 cm Target compt + 4 -679 mum 4.72 mm -2.43 m 0 eV 88 keV 477 mum 1.24 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -679 mum 4.72 mm -2.43 m 157 keV 0 eV 0 fm 0 fm Target initStep + 1 -681 mum 4.72 mm -2.43 m 0 eV 157 keV 55.9 mum 55.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -643 mum 5 mm -2.43 m 409 keV 0 eV 0 fm 0 fm Target initStep + 1 -648 mum 5.01 mm -2.43 m 0 eV 409 keV 230 mum 230 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -349 mum 4.35 mm -2.43 m 1.44 MeV 0 eV 0 fm 0 fm Target initStep + 1 -602 mum 4.18 mm -2.43 m 63.2 keV 1.37 MeV 1.08 mm 1.08 mm Target eIoni + 2 -603 mum 4.18 mm -2.43 m 1.39e-11 eV 63.2 keV 13.1 mum 1.1 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.75 mm 1.63 mm -2.44 m 1.67 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.83 mm 1.63 mm -2.44 m 0 eV 1.67 MeV 1.23 mm 1.23 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -476 mum 473 mum -2.44 m 640 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.42 mm 1.49 mm -2.44 m 0 eV 88 keV 5.69 mm 5.69 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.42 mm 1.49 mm -2.44 m 552 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.42 mm 1.48 mm -2.44 m 1.11e-10 eV 552 keV 344 mum 344 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 750 mum 22.6 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.86 mm -790 mum -2.44 m 0 eV 88 keV 1.7 mm 1.7 mm Target phot + 0 -421 mum 383 mum -2.44 m 1.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 -979 mum 1.1 mm -2.44 m 0 eV 88 keV 4.47 mm 4.47 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 16 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.86 mm -790 mum -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 1.86 mm -791 mum -2.44 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + 0 -979 mum 1.1 mm -2.44 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.01 mm 1.12 mm -2.44 m 2.22e-10 eV 1.17 MeV 860 mum 860 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 750 mum 22.6 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.25 cm 9.73 mm -2.43 m 493 keV 0 eV 2.03 cm 2.03 cm Target compt - 2 -1.42 cm 1.03 cm -2.43 m 420 keV 0 eV 2.06 mm 2.24 cm Target compt - 3 -1.68 cm 1.16 cm -2.43 m 166 keV 0 eV 2.87 mm 2.53 cm Target compt - 4 -1.66 cm 1.16 cm -2.43 m 0 eV 88 keV 150 mum 2.54 cm Target phot + 0 -395 mum 344 mum -2.44 m 11 MeV 0 eV 0 fm 0 fm Target initStep + 1 -555 mum 537 mum -2.44 m 0 eV 0 eV 1.33 mm 1.33 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 15 +* G4Track Information: Particle = e+, Track ID = 66, Parent ID = 15 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.66 cm 1.16 cm -2.43 m 78 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.66 cm 1.16 cm -2.43 m 0 eV 78 keV 18.5 mum 18.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.68 cm 1.16 cm -2.43 m 254 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.68 cm 1.16 cm -2.43 m 0 eV 254 keV 116 mum 116 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.42 cm 1.03 cm -2.43 m 72.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.42 cm 1.03 cm -2.43 m 0 eV 72.7 keV 16.5 mum 16.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.25 cm 9.73 mm -2.43 m 18.5 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.25 cm 9.73 mm -2.43 m 0 eV 18.5 keV 1.8 mum 1.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -674 mum 432 mum -2.44 m 6.09 MeV 0 eV 0 fm 0 fm Target initStep - 1 -982 mum 768 mum -2.44 m 0 eV 0 eV 5.2 mm 5.2 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 23, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -982 mum 768 mum -2.44 m 1.79 MeV 0 eV 0 fm 0 fm Target initStep - 1 -845 mum 639 mum -2.44 m 466 keV 567 keV 412 mum 412 mum Target eBrem - 2 -837 mum 619 mum -2.44 m 0 eV 466 keV 274 mum 685 mum Target eIoni - 3 -837 mum 619 mum -2.44 m 0 eV 0 eV 0 fm 685 mum Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -837 mum 619 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -708 mum 3.17 mm -2.44 m 503 keV 0 eV 2.96 mm 2.96 mm Target compt - 2 -548 mum 6.16 mm -2.44 m 251 keV 0 eV 3.97 mm 6.93 mm Target compt - 3 -1.41 mm 5.97 mm -2.44 m 0 eV 88 keV 919 mum 7.85 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.41 mm 5.97 mm -2.44 m 163 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.41 mm 5.96 mm -2.44 m 0 eV 163 keV 59.6 mum 59.6 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -548 mum 6.16 mm -2.44 m 252 keV 0 eV 0 fm 0 fm Target initStep - 1 -545 mum 6.17 mm -2.44 m 0 eV 252 keV 115 mum 115 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -708 mum 3.17 mm -2.44 m 8.45 keV 0 eV 0 fm 0 fm Target initStep - 1 -708 mum 3.17 mm -2.44 m 0 eV 8.45 keV 545 nm 545 nm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -837 mum 619 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.16 mm -5.82 mm -2.43 m 474 keV 0 eV 7.48 mm 7.48 mm Target compt - 2 220 mum -1.06 cm -2.43 m 0 eV 88 keV 5.2 mm 1.27 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 220 mum -1.06 cm -2.43 m 386 keV 0 eV 0 fm 0 fm Target initStep - 1 218 mum -1.07 cm -2.43 m 0 eV 386 keV 212 mum 212 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.16 mm -5.82 mm -2.43 m 37 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.16 mm -5.82 mm -2.43 m 0 eV 37 keV 5.46 mum 5.46 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 23 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -845 mum 639 mum -2.44 m 753 keV 0 eV 0 fm 0 fm Target initStep - 1 4.04 mm -7.58 mm -2.44 m 225 keV 0 eV 1.2 cm 1.2 cm Target compt - 2 3.98 mm -7.61 mm -2.44 m 0 eV 88 keV 197 mum 1.22 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.98 mm -7.61 mm -2.44 m 137 keV 0 eV 0 fm 0 fm Target initStep - 1 3.98 mm -7.61 mm -2.44 m 2.78e-11 eV 137 keV 45.2 mum 45.2 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 24 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.04 mm -7.58 mm -2.44 m 529 keV 0 eV 0 fm 0 fm Target initStep - 1 4.02 mm -7.59 mm -2.44 m 260 keV 269 keV 89.8 mum 89.8 mum Target eBrem - 2 4.02 mm -7.6 mm -2.44 m 0 eV 260 keV 121 mum 210 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -982 mum 768 mum -2.44 m 3.28 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.14 mm 1.12 mm -2.44 m 722 keV 1.19 MeV 948 mum 948 mum Target eBrem - 2 -1.12 mm 1.15 mm -2.44 m 0 eV 722 keV 484 mum 1.43 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 22 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.14 mm 1.12 mm -2.44 m 1.37 MeV 0 eV 0 fm 0 fm Target initStep - 1 450 mum 3.47 mm -2.44 m 658 keV 0 eV 3.46 mm 3.46 mm Target compt - 2 1.47 mm 3.09 mm -2.45 m 0 eV 88 keV 8.36 mm 1.18 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 34 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.47 mm 3.09 mm -2.45 m 570 keV 0 eV 0 fm 0 fm Target initStep - 1 1.47 mm 3.1 mm -2.45 m 0 eV 570 keV 358 mum 358 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 34 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 450 mum 3.47 mm -2.44 m 713 keV 0 eV 0 fm 0 fm Target initStep - 1 468 mum 3.5 mm -2.44 m 0 eV 713 keV 478 mum 478 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -464 mum -18.2 mum -2.44 m 881 keV 0 eV 0 fm 0 fm Target initStep - 1 -996 mum 252 mum -2.44 m 0 eV 88 keV 2.21 mm 2.21 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -996 mum 252 mum -2.44 m 793 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 mm 264 mum -2.44 m 0 eV 793 keV 545 mum 545 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -221 mum 15.5 mum -2.44 m 6.04 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.86 mm 670 mum -2.44 m 5.92 MeV 0 eV 8.9 mm 8.9 mm Target compt - 2 -3.83 mm 1.64 mm -2.42 m 0 eV 0 eV 1.54 cm 2.43 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 40, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.83 mm 1.64 mm -2.42 m 3.52 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.97 mm 1.72 mm -2.42 m 2.7 MeV 246 keV 259 mum 259 mum Target eBrem - 2 -3.88 mm 1.5 mm -2.42 m 1.37 MeV 611 keV 712 mum 972 mum Target eBrem - 3 -3.79 mm 1.43 mm -2.42 m 364 keV 155 keV 134 mum 1.11 mm Target eBrem - 4 -3.79 mm 1.42 mm -2.42 m 0 eV 364 keV 193 mum 1.3 mm Target eIoni - 5 -3.79 mm 1.42 mm -2.42 m 0 eV 0 eV 0 fm 1.3 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.79 mm 1.42 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.12 mm 771 mum -2.42 m 0 eV 88 keV 1.38 mm 1.38 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 45 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.12 mm 771 mum -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.11 mm 769 mum -2.42 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.79 mm 1.42 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.05 mm 2.64 mm -2.42 m 0 eV 88 keV 2.63 mm 2.63 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 44 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.05 mm 2.64 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.06 mm 2.64 mm -2.42 m 0 eV 423 keV 241 mum 241 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.79 mm 1.43 mm -2.42 m 852 keV 0 eV 0 fm 0 fm Target initStep - 1 -65 mum 1.5 mm -2.42 m 596 keV 0 eV 3.73 mm 3.73 mm Target compt - 2 2.19 cm -1.74 cm -2.42 m 253 keV 0 eV 2.92 cm 3.29 cm Target compt - 3 2.18 cm -1.74 cm -2.42 m 0 eV 88 keV 52.4 mum 3.3 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.18 cm -1.74 cm -2.42 m 165 keV 0 eV 0 fm 0 fm Target initStep - 1 2.18 cm -1.74 cm -2.42 m 2.78e-11 eV 165 keV 61 mum 61 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.19 cm -1.74 cm -2.42 m 343 keV 0 eV 0 fm 0 fm Target initStep - 1 2.19 cm -1.74 cm -2.42 m 0 eV 343 keV 180 mum 180 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -65 mum 1.5 mm -2.42 m 255 keV 0 eV 0 fm 0 fm Target initStep - 1 -59.1 mum 1.51 mm -2.42 m 1.11e-10 eV 255 keV 117 mum 117 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.88 mm 1.5 mm -2.42 m 721 keV 0 eV 0 fm 0 fm Target initStep - 1 1.53 mm -1.33 cm -2.41 m 0 eV 88 keV 1.65 cm 1.65 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 42 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.53 mm -1.33 cm -2.41 m 633 keV 0 eV 0 fm 0 fm Target initStep - 1 1.53 mm -1.33 cm -2.41 m 1.11e-10 eV 633 keV 411 mum 411 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 40 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.97 mm 1.72 mm -2.42 m 569 keV 0 eV 0 fm 0 fm Target initStep - 1 -306 mum 8.94 mm -2.4 m 569 keV 0 eV 2.14 cm 2.14 cm Target Transportation - 2 29.5 cm 59.2 cm -80 cm 569 keV 0 eV 1.73 m 1.75 m Tracker Transportation - 3 33.2 cm 66.4 cm -60 cm 569 keV 0 eV 21.6 cm 1.97 m Chamber Transportation - 4 44.3 cm 88.3 cm 0 fm 569 keV 0 eV 64.8 cm 2.61 m Tracker Transportation - 5 48 cm 95.6 cm 20 cm 569 keV 0 eV 21.6 cm 2.83 m Chamber Transportation - 6 59.1 cm 1.17 m 80 cm 569 keV 0 eV 64.8 cm 3.48 m Tracker Transportation - 7 62.8 cm 1.25 m 1 m 569 keV 0 eV 21.6 cm 3.69 m Chamber Transportation - 8 73.9 cm 1.47 m 1.6 m 569 keV 0 eV 64.8 cm 4.34 m Tracker Transportation - 9 77.6 cm 1.54 m 1.8 m 569 keV 0 eV 21.6 cm 4.56 m Chamber Transportation - 10 88.6 cm 1.76 m 2.4 m 569 keV 0 eV 64.8 cm 5.21 m Tracker Transportation - 11 98.1 cm 1.94 m 2.91 m 569 keV 0 eV 55.1 cm 5.76 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.83 mm 1.64 mm -2.42 m 1.38 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.82 mm 1.69 mm -2.42 m 241 keV 1.14 MeV 1.04 mm 1.04 mm Target eIoni - 2 -3.82 mm 1.68 mm -2.42 m 2.78e-11 eV 241 keV 108 mum 1.15 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.86 mm 670 mum -2.44 m 116 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.86 mm 670 mum -2.44 m 2.5e-10 eV 116 keV 35 mum 35 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -209 mum 23.7 mum -2.44 m 505 keV 0 eV 0 fm 0 fm Target initStep - 1 -419 mum -102 mum -2.44 m 449 keV 0 eV 1.66 mm 1.66 mm Target compt - 2 -302 mum -141 mum -2.44 m 323 keV 0 eV 320 mum 1.98 mm Target compt - 3 -894 mum 1.93 mm -2.44 m 0 eV 88 keV 3.29 mm 5.27 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -894 mum 1.93 mm -2.44 m 235 keV 0 eV 0 fm 0 fm Target initStep - 1 -895 mum 1.93 mm -2.44 m 1.11e-10 eV 235 keV 104 mum 104 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -302 mum -141 mum -2.44 m 126 keV 0 eV 0 fm 0 fm Target initStep - 1 -300 mum -143 mum -2.44 m 2.78e-11 eV 126 keV 40 mum 40 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -419 mum -102 mum -2.44 m 55.3 keV 0 eV 0 fm 0 fm Target initStep - 1 -420 mum -102 mum -2.44 m 2.08e-11 eV 55.3 keV 10.5 mum 10.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 56.4 mum 302 mum -2.45 m 40.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -152 mum 520 mum -2.44 m 0 eV 0 eV 8.25 mm 8.25 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 56, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -152 mum 520 mum -2.44 m 8.03 MeV 0 eV 0 fm 0 fm Target initStep - 1 -206 mum 457 mum -2.44 m 7.41 MeV 306 keV 307 mum 307 mum Target eBrem - 2 -214 mum 443 mum -2.44 m 3.83 MeV 229 keV 62 mum 369 mum Target eBrem - 3 -695 mum 714 mum -2.44 m 1.29 MeV 2.03 MeV 1.78 mm 2.15 mm Target eBrem - 4 -581 mum 673 mum -2.44 m 0 eV 1.29 MeV 987 mum 3.13 mm Target eIoni - 5 -581 mum 673 mum -2.44 m 0 eV 0 eV 0 fm 3.13 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -581 mum 673 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 219 mum 496 mum -2.43 m 186 keV 0 eV 2.75 mm 2.75 mm Target compt - 2 786 mum 594 mum -2.44 m 0 eV 88 keV 1.37 mm 4.13 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 61 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 786 mum 594 mum -2.44 m 97.7 keV 0 eV 0 fm 0 fm Target initStep - 1 786 mum 594 mum -2.44 m 0 eV 97.7 keV 26.6 mum 26.6 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 61 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 219 mum 496 mum -2.43 m 325 keV 0 eV 0 fm 0 fm Target initStep - 1 220 mum 495 mum -2.43 m 0 eV 325 keV 167 mum 167 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -581 mum 673 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.62 mm 1.56 mm -2.45 m 511 keV 0 eV 1.39 cm 1.39 cm Target Transportation - 2 -14.5 cm 3.24 cm -2.91 m 511 keV 0 eV 48.2 cm 49.6 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -695 mum 714 mum -2.44 m 510 keV 0 eV 0 fm 0 fm Target initStep - 1 6.45 mm -1.95 mm -2.44 m 0 eV 88 keV 8.45 mm 8.45 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.45 mm -1.95 mm -2.44 m 422 keV 0 eV 0 fm 0 fm Target initStep - 1 6.45 mm -1.97 mm -2.44 m 1.11e-10 eV 422 keV 240 mum 240 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 58, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -214 mum 443 mum -2.44 m 3.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.82 mm -7.74 mm -2.42 m 0 eV 0 eV 2.28 cm 2.28 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 66, Parent ID = 58 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.82 mm -7.74 mm -2.42 m 838 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.83 mm -7.77 mm -2.42 m 1.11e-10 eV 838 keV 591 mum 591 mum Target eIoni - 2 -3.83 mm -7.77 mm -2.42 m 1.11e-10 eV 0 eV 0 fm 591 mum Target annihil + 0 -555 mum 537 mum -2.44 m 494 keV 0 eV 0 fm 0 fm Target initStep + 1 -567 mum 494 mum -2.44 m 1.67e-10 eV 494 keV 297 mum 297 mum Target eIoni + 2 -567 mum 494 mum -2.44 m 1.67e-10 eV 0 eV 0 fm 297 mum Target annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 66 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.83 mm -7.77 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.37 cm -1.15 cm -2.4 m 511 keV 0 eV 1.94 cm 1.94 cm Target Transportation - 2 -2.4 m -91.8 cm 1.53 m 511 keV 0 eV 4.69 m 4.7 m Tracker Transportation - 3 -2.91 m -1.11 m 2.37 m 511 keV 0 eV 1 m 5.71 m OutOfWorld Transportation + 0 -567 mum 494 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -687 mum -6.97 mm -2.44 m 0 eV 88 keV 7.74 mm 7.74 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 68 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -687 mum -6.97 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -686 mum -6.98 mm -2.44 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 66 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.83 mm -7.77 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.17 mm -6.76 mm -2.42 m 182 keV 0 eV 5.22 mm 5.22 mm Target compt - 2 -1.19 mm -6.94 mm -2.42 m 0 eV 88 keV 294 mum 5.52 mm Target phot + 0 -567 mum 494 mum -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -463 mum 6.93 mm -2.44 m 0 eV 88 keV 6.68 mm 6.68 mm Target phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 70, Parent ID = 67 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.19 mm -6.94 mm -2.42 m 93.5 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.19 mm -6.94 mm -2.42 m 0 eV 93.5 keV 24.7 mum 24.7 mum Target eIoni + 0 -463 mum 6.93 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -468 mum 6.94 mm -2.44 m 0 eV 423 keV 241 mum 241 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 67 +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 15 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.17 mm -6.76 mm -2.42 m 329 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.16 mm -6.75 mm -2.42 m 5.55e-11 eV 329 keV 170 mum 170 mum Target eIoni + 0 -555 mum 537 mum -2.44 m 9.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 -613 mum 678 mum -2.44 m 8.21 MeV 389 keV 377 mum 377 mum Target eBrem + 2 -327 mum 874 mum -2.44 m 7.3 MeV 564 keV 503 mum 879 mum Target eBrem + 3 26.1 mum 1.64 mm -2.44 m 3.91 MeV 1.41 MeV 984 mum 1.86 mm Target eBrem + 4 -479 mum 1.6 mm -2.44 m 340 keV 3.18 MeV 1.95 mm 3.81 mm Target eBrem + 5 -490 mum 1.6 mm -2.44 m 0 eV 340 keV 177 mum 3.99 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 58 +* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 65 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.82 mm -7.74 mm -2.42 m 1.48 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.85 mm -7.79 mm -2.42 m 2.22e-10 eV 1.48 MeV 1.12 mm 1.12 mm Target eIoni + 0 -479 mum 1.6 mm -2.44 m 384 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.66 mm 633 mum -2.44 m 213 keV 0 eV 5.73 mm 5.73 mm Target compt + 2 -4.84 mm 305 mum -2.44 m 0 eV 88 keV 508 mum 6.24 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 56 +* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 74 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -206 mum 457 mum -2.44 m 319 keV 0 eV 0 fm 0 fm Target initStep - 1 -271 mum 420 mum -2.44 m 0 eV 88 keV 755 mum 755 mum Target phot + 0 -4.84 mm 305 mum -2.44 m 125 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.84 mm 304 mum -2.44 m 0 eV 125 keV 39.3 mum 39.3 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 57 +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 74 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -271 mum 420 mum -2.44 m 231 keV 0 eV 0 fm 0 fm Target initStep - 1 -270 mum 424 mum -2.44 m 0 eV 231 keV 101 mum 101 mum Target eIoni + 0 -4.66 mm 633 mum -2.44 m 172 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.66 mm 633 mum -2.44 m 0 eV 172 keV 64.6 mum 64.6 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 10 +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 65 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -152 mum 520 mum -2.44 m 31.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -127 mum 548 mum -2.44 m 29.3 MeV 518 keV 425 mum 425 mum Target eBrem - 2 -126 mum 542 mum -2.44 m 27.1 MeV 55.6 keV 47.3 mum 472 mum Target eBrem - 3 -119 mum 535 mum -2.44 m 26.4 MeV 459 keV 329 mum 801 mum Target eBrem - 4 -119 mum 525 mum -2.44 m 25.9 MeV 110 keV 105 mum 907 mum Target eBrem - 5 -150 mum 510 mum -2.44 m 21.2 MeV 363 keV 341 mum 1.25 mm Target eBrem - 6 -245 mum 1.71 mm -2.43 m 15 MeV 6.22 MeV 4.55 mm 5.8 mm Target eIoni - 7 -170 mum 1.75 mm -2.43 m 10.5 MeV 313 keV 314 mum 6.11 mm Target eBrem - 8 25.7 mum 2.81 mm -2.43 m 4.78 MeV 5.76 MeV 3.07 mm 9.19 mm Target eIoni - 9 -498 mum 2.74 mm -2.43 m 3.74 MeV 688 keV 672 mum 9.86 mm Target eBrem - 10 -447 mum 3.46 mm -2.43 m 1.73 MeV 2.01 MeV 1.92 mm 1.18 cm Target eIoni - 11 -678 mum 3.48 mm -2.43 m 951 keV 456 keV 525 mum 1.23 cm Target eBrem - 12 -605 mum 3.5 mm -2.43 m 349 keV 187 keV 180 mum 1.25 cm Target eBrem - 13 -610 mum 3.49 mm -2.43 m 0 eV 349 keV 184 mum 1.27 cm Target eIoni + 0 26.1 mum 1.64 mm -2.44 m 1.98 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.5 cm 2.17 cm -2.42 m 1.98 MeV 0 eV 3.87 cm 3.87 cm Target Transportation + 2 4.65 cm 3.9 cm -2.4 m 1.98 MeV 0 eV 3.32 cm 7.19 cm World Transportation + 3 2.4 m 1.93 m -36.3 cm 1.98 MeV 0 eV 3.64 m 3.71 m Tracker Transportation + 4 2.91 m 2.34 m 7.84 cm 1.98 MeV 0 eV 78.9 cm 4.5 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 65 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -605 mum 3.5 mm -2.43 m 415 keV 0 eV 0 fm 0 fm Target initStep - 1 -495 mum 4.06 mm -2.43 m 0 eV 88 keV 574 mum 574 mum Target phot + 0 -327 mum 874 mum -2.44 m 349 keV 0 eV 0 fm 0 fm Target initStep + 1 -225 mum 1.44 mm -2.44 m 0 eV 88 keV 574 mum 574 mum Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 80 +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 72 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -495 mum 4.06 mm -2.43 m 327 keV 0 eV 0 fm 0 fm Target initStep - 1 -505 mum 4.06 mm -2.43 m 0 eV 327 keV 168 mum 168 mum Target eIoni + 0 -225 mum 1.44 mm -2.44 m 261 keV 0 eV 0 fm 0 fm Target initStep + 1 -221 mum 1.44 mm -2.44 m 0 eV 261 keV 122 mum 122 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 71, Parent ID = 65 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -678 mum 3.48 mm -2.43 m 324 keV 0 eV 0 fm 0 fm Target initStep - 1 3.58 mm 5 mm -2.43 m 315 keV 0 eV 5 mm 5 mm Target compt - 2 5.79 mm 5.34 mm -2.43 m 0 eV 88 keV 2.87 mm 7.87 mm Target phot + 0 -613 mum 678 mum -2.44 m 907 keV 0 eV 0 fm 0 fm Target initStep + 1 228 mum 3.22 mm -2.44 m 391 keV 0 eV 4.51 mm 4.51 mm Target compt + 2 -461 mum 2.83 mm -2.44 m 0 eV 88 keV 1.12 mm 5.63 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 79 +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 71 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.79 mm 5.34 mm -2.43 m 227 keV 0 eV 0 fm 0 fm Target initStep - 1 5.8 mm 5.35 mm -2.43 m 8.33e-11 eV 227 keV 98.9 mum 98.9 mum Target eIoni + 0 -461 mum 2.83 mm -2.44 m 303 keV 0 eV 0 fm 0 fm Target initStep + 1 -466 mum 2.82 mm -2.44 m 0 eV 303 keV 151 mum 151 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 79 +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 71 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.58 mm 5 mm -2.43 m 8.26 keV 0 eV 0 fm 0 fm Target initStep - 1 3.58 mm 5 mm -2.43 m 1.56e-11 eV 8.26 keV 527 nm 527 nm Target eIoni + 0 228 mum 3.22 mm -2.44 m 516 keV 0 eV 0 fm 0 fm Target initStep + 1 238 mum 3.24 mm -2.44 m 1.11e-10 eV 516 keV 315 mum 315 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -498 mum 2.74 mm -2.43 m 352 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.05 mm 3.66 mm -2.43 m 0 eV 88 keV 1.37 mm 1.37 mm Target phot + 0 -357 mum 280 mum -2.44 m 980 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 mm 1.36 mm -2.44 m 0 eV 88 keV 5.97 mm 5.97 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 78 +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.05 mm 3.66 mm -2.43 m 264 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.04 mm 3.66 mm -2.43 m 0 eV 264 keV 123 mum 123 mum Target eIoni + 0 -1.18 mm 1.36 mm -2.44 m 892 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.18 mm 1.38 mm -2.44 m 0 eV 892 keV 629 mum 629 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -170 mum 1.75 mm -2.43 m 4.12 MeV 0 eV 0 fm 0 fm Target initStep - 1 21.1 mum 1.84 mm -2.43 m 1.02 MeV 0 eV 428 mum 428 mum Target compt - 2 -7.86 mm 1.36 cm -2.41 m 530 keV 0 eV 2.23 cm 2.28 cm Target compt - 3 -1.34 cm 2.35 cm -2.42 m 0 eV 88 keV 1.14 cm 3.41 cm Target phot + 0 -342 mum 251 mum -2.44 m 2.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.9 mm 2.85 mm -2.42 m 358 keV 0 eV 1.85 cm 1.85 cm Target compt + 2 -2.43 mm 3.36 mm -2.43 m 0 eV 88 keV 800 mum 1.93 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 77 +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.34 cm 2.35 cm -2.42 m 442 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 cm 2.35 cm -2.42 m 5.55e-11 eV 442 keV 256 mum 256 mum Target eIoni + 0 -2.43 mm 3.36 mm -2.43 m 270 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.44 mm 3.36 mm -2.43 m 1.11e-10 eV 270 keV 127 mum 127 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 77 +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.86 mm 1.36 cm -2.41 m 488 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.86 mm 1.36 cm -2.41 m 0 eV 488 keV 292 mum 292 mum Target eIoni + 0 -1.9 mm 2.85 mm -2.42 m 2.04 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.28 mm 2.37 mm -2.42 m 548 keV 1.49 MeV 1.41 mm 1.41 mm Target eIoni + 2 -1.29 mm 2.35 mm -2.42 m 0 eV 548 keV 341 mum 1.75 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 77 +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 21.1 mum 1.84 mm -2.43 m 3.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 589 mum 1.91 mm -2.43 m 526 keV 1.54 MeV 1.47 mm 1.47 mm Target eBrem - 2 577 mum 1.93 mm -2.43 m 0 eV 526 keV 322 mum 1.79 mm Target eIoni + 0 -322 mum 202 mum -2.44 m 25.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.79 mm 2.88 mm -2.42 m 0 eV 0 eV 2.09 cm 2.09 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 85 +* G4Track Information: Particle = e+, Track ID = 84, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 589 mum 1.91 mm -2.43 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep - 1 -6.62 mm 1.92 mm -2.45 m 0 eV 88 keV 1.88 cm 1.88 cm Target phot + 0 -1.79 mm 2.88 mm -2.42 m 11.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 -4.33 mm 3.63 mm -2.42 m 7.76 MeV 3.54 MeV 3.24 mm 3.24 mm Target eIoni + 2 -4.17 mm 5.74 mm -2.42 m 3.61 MeV 3.8 MeV 2.37 mm 5.61 mm Target eBrem + 3 -4.19 mm 6.8 mm -2.42 m 1.83 MeV 1.23 MeV 1.32 mm 6.93 mm Target eBrem + 4 -4.16 mm 6.89 mm -2.42 m 0 eV 214 keV 135 mum 7.07 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 88 +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 84 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.62 mm 1.92 mm -2.45 m 947 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.66 mm 1.96 mm -2.45 m 0 eV 947 keV 675 mum 675 mum Target eIoni + 0 -4.16 mm 6.89 mm -2.42 m 2.01 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.35 mm 2.5 cm -2.42 m 2.01 MeV 0 eV 1.96 cm 1.96 cm Target Transportation + 2 1.2 m 2.91 m -2.56 m 2.01 MeV 0 eV 3.13 m 3.15 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 84 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -150 mum 510 mum -2.44 m 4.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -325 mum -3.5 mm -2.41 m 0 eV 0 eV 2.61 cm 2.61 cm Target conv + 0 -4.16 mm 6.89 mm -2.42 m 625 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.76 mm 6.7 mm -2.42 m 493 keV 0 eV 832 mum 832 mum Target compt + 2 2.46 mm 9.37 mm -2.42 m 0 eV 88 keV 8.41 mm 9.24 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 91, Parent ID = 76 +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 87 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -325 mum -3.5 mm -2.41 m 2.25 MeV 0 eV 0 fm 0 fm Target initStep - 1 -251 mum -3.55 mm -2.41 m 158 keV 2.09 MeV 1.52 mm 1.52 mm Target eIoni - 2 -253 mum -3.56 mm -2.41 m 0 eV 158 keV 53.7 mum 1.57 mm Target eIoni - 3 -253 mum -3.56 mm -2.41 m 0 eV 0 eV 0 fm 1.57 mm Target annihil + 0 2.46 mm 9.37 mm -2.42 m 405 keV 0 eV 0 fm 0 fm Target initStep + 1 2.47 mm 9.38 mm -2.42 m 0 eV 405 keV 227 mum 227 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 93, Parent ID = 91 +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 87 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -253 mum -3.56 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -826 mum -1.25 cm -2.41 m 0 eV 88 keV 9.35 mm 9.35 mm Target phot + 0 -3.76 mm 6.7 mm -2.42 m 132 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.76 mm 6.69 mm -2.42 m 5.55e-11 eV 132 keV 42.8 mum 42.8 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 93 +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 84 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -826 mum -1.25 cm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -827 mum -1.25 cm -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + 0 -4.19 mm 6.8 mm -2.42 m 555 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.15 mm 9.01 mm -2.42 m 223 keV 0 eV 3.7 mm 3.7 mm Target compt + 2 -2.72 mm 8.92 mm -2.42 m 0 eV 88 keV 574 mum 4.28 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 91 +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 86 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -253 mum -3.56 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -234 mum -3.26 mm -2.41 m 491 keV 0 eV 314 mum 314 mum Target compt - 2 -1.97 mm 1.2 cm -2.41 m 254 keV 0 eV 1.54 cm 1.57 cm Target compt - 3 -2.44 mm 1.2 cm -2.41 m 0 eV 88 keV 485 mum 1.62 cm Target phot + 0 -2.72 mm 8.92 mm -2.42 m 135 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.72 mm 8.92 mm -2.42 m 0 eV 135 keV 44.1 mum 44.1 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 92 +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 86 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.44 mm 1.2 cm -2.41 m 166 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.44 mm 1.2 cm -2.41 m 0 eV 166 keV 61.2 mum 61.2 mum Target eIoni + 0 -3.15 mm 9.01 mm -2.42 m 332 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.15 mm 9.01 mm -2.42 m 0 eV 332 keV 172 mum 172 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 92 +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 84 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.97 mm 1.2 cm -2.41 m 238 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.96 mm 1.2 cm -2.41 m 0 eV 238 keV 106 mum 106 mum Target eIoni + 0 -4.17 mm 5.74 mm -2.42 m 353 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.88 mm 7.28 mm -2.42 m 0 eV 88 keV 2.14 mm 2.14 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 92 +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 85 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -234 mum -3.26 mm -2.41 m 19.6 keV 0 eV 0 fm 0 fm Target initStep - 1 -234 mum -3.26 mm -2.41 m 0 eV 19.6 keV 1.97 mum 1.97 mum Target eIoni + 0 -4.88 mm 7.28 mm -2.42 m 265 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.88 mm 7.28 mm -2.42 m 0 eV 265 keV 124 mum 124 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 76 +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -325 mum -3.5 mm -2.41 m 1.07 MeV 0 eV 0 fm 0 fm Target initStep - 1 -312 mum -3.51 mm -2.41 m 0 eV 1.07 MeV 779 mum 779 mum Target eIoni + 0 -1.79 mm 2.88 mm -2.42 m 12.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.99 mm 3.09 mm -2.42 m 11.5 MeV 911 keV 740 mum 740 mum Target eBrem + 2 -1.84 mm 3.43 mm -2.42 m 10.1 MeV 1.1 MeV 991 mum 1.73 mm Target eBrem + 3 -1.83 mm 3.43 mm -2.42 m 8.08 MeV 5.33 keV 9.12 mum 1.74 mm Target eBrem + 4 -1.74 mm 3.57 mm -2.42 m 4.69 MeV 1.07 MeV 915 mum 2.66 mm Target eBrem + 5 -1.77 mm 3.19 mm -2.42 m 3.63 MeV 683 keV 686 mum 3.34 mm Target eBrem + 6 -2.78 mm 2.34 mm -2.42 m 1.06 MeV 2.57 MeV 1.89 mm 5.23 mm Target eIoni + 7 -2.79 mm 2.28 mm -2.42 m 0 eV 1.06 MeV 772 mum 6 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 55 +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 83 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -119 mum 525 mum -2.44 m 365 keV 0 eV 0 fm 0 fm Target initStep - 1 -129 mum 392 mum -2.43 m 199 keV 0 eV 2.2 mm 2.2 mm Target compt - 2 -23.4 mum 519 mum -2.43 m 0 eV 88 keV 166 mum 2.36 mm Target phot + 0 -1.77 mm 3.19 mm -2.42 m 369 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.46 mm 3.62 mm -2.42 m 0 eV 88 keV 1.14 mm 1.14 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 75 +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -23.4 mum 519 mum -2.43 m 111 keV 0 eV 0 fm 0 fm Target initStep - 1 -23 mum 520 mum -2.43 m 1.39e-11 eV 111 keV 32.5 mum 32.5 mum Target eIoni + 0 -2.46 mm 3.62 mm -2.42 m 281 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.46 mm 3.62 mm -2.42 m 2.78e-10 eV 281 keV 135 mum 135 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 75 +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 83 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -129 mum 392 mum -2.43 m 166 keV 0 eV 0 fm 0 fm Target initStep - 1 -131 mum 391 mum -2.43 m 0 eV 166 keV 61.3 mum 61.3 mum Target eIoni + 0 -1.74 mm 3.57 mm -2.42 m 2.32 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.43 mm 3.8 mm -2.41 m 1.12 MeV 0 eV 1.11 cm 1.11 cm Target compt + 2 -4.31 mm 1.21 cm -2.4 m 1.12 MeV 0 eV 1.27 cm 2.37 cm Target Transportation + 3 -54.4 cm 2.4 m 30.2 cm 1.12 MeV 0 eV 3.65 m 3.67 m Tracker Transportation + 4 -66 cm 2.91 m 88 cm 1.12 MeV 0 eV 77.9 cm 4.45 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 55 +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 97 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -119 mum 535 mum -2.44 m 307 keV 0 eV 0 fm 0 fm Target initStep - 1 -12.3 mum 426 mum -2.44 m 0 eV 88 keV 1.61 mm 1.61 mm Target phot + 0 -2.43 mm 3.8 mm -2.41 m 1.21 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.43 mm 3.77 mm -2.41 m 0 eV 1.21 MeV 897 mum 897 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 74 +* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 83 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -12.3 mum 426 mum -2.44 m 219 keV 0 eV 0 fm 0 fm Target initStep - 1 -10.6 mum 427 mum -2.44 m 2.78e-11 eV 219 keV 93.5 mum 93.5 mum Target eIoni + 0 -1.83 mm 3.43 mm -2.42 m 2.02 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.45 mm 8.08 mm -2.41 m 0 eV 0 eV 1.04 cm 1.04 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 55 +* G4Track Information: Particle = e+, Track ID = 102, Parent ID = 96 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -126 mum 542 mum -2.44 m 2.09 MeV 0 eV 0 fm 0 fm Target initStep - 1 -511 mum -734 mum -2.43 m 0 eV 0 eV 1.11 cm 1.11 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 102, Parent ID = 73 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -511 mum -734 mum -2.43 m 717 keV 0 eV 0 fm 0 fm Target initStep - 1 -530 mum -756 mum -2.43 m 1.11e-10 eV 717 keV 486 mum 486 mum Target eIoni - 2 -530 mum -756 mum -2.43 m 1.11e-10 eV 0 eV 0 fm 486 mum Target annihil + 0 3.45 mm 8.08 mm -2.41 m 455 keV 0 eV 0 fm 0 fm Target initStep + 1 3.45 mm 8.12 mm -2.41 m 1.67e-10 eV 455 keV 265 mum 265 mum Target eIoni + 2 3.45 mm 8.12 mm -2.41 m 1.67e-10 eV 0 eV 0 fm 265 mum Target annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -530 mum -756 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.71 mm -2.23 mm -2.41 m 251 keV 0 eV 1.23 cm 1.23 cm Target compt - 2 -910 mum -1.69 mm -2.41 m 0 eV 88 keV 970 mum 1.33 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 104 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -910 mum -1.69 mm -2.41 m 163 keV 0 eV 0 fm 0 fm Target initStep - 1 -910 mum -1.68 mm -2.41 m 2.78e-11 eV 163 keV 59.8 mum 59.8 mum Target eIoni + 0 3.45 mm 8.12 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.42 mm 8.39 mm -2.41 m 0 eV 88 keV 1.77 mm 1.77 mm Target phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 105, Parent ID = 104 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.71 mm -2.23 mm -2.41 m 260 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.71 mm -2.23 mm -2.41 m 0 eV 260 keV 120 mum 120 mum Target eIoni + 0 2.42 mm 8.39 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 2.41 mm 8.39 mm -2.41 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 102 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -530 mum -756 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -25.9 mum -126 mum -2.43 m 0 eV 88 keV 5.27 mm 5.27 mm Target phot + 0 3.45 mm 8.12 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 8.22 mm 6.84 mm -2.41 m 386 keV 0 eV 8.21 mm 8.21 mm Target compt + 2 9.57 mm 9.94 mm -2.4 m 215 keV 0 eV 5.36 mm 1.36 cm Target compt + 3 9.08 mm 9.59 mm -2.4 m 0 eV 88 keV 707 mum 1.43 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9.08 mm 9.59 mm -2.4 m 127 keV 0 eV 0 fm 0 fm Target initStep + 1 9.08 mm 9.59 mm -2.4 m 5.55e-11 eV 127 keV 40.4 mum 40.4 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 107, Parent ID = 103 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -25.9 mum -126 mum -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -36 mum -123 mum -2.43 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + 0 9.57 mm 9.94 mm -2.4 m 171 keV 0 eV 0 fm 0 fm Target initStep + 1 9.57 mm 9.95 mm -2.4 m 0 eV 171 keV 64.1 mum 64.1 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 73 +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 103 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -511 mum -734 mum -2.43 m 355 keV 0 eV 0 fm 0 fm Target initStep - 1 -506 mum -731 mum -2.43 m 0 eV 355 keV 189 mum 189 mum Target eIoni + 0 8.22 mm 6.84 mm -2.41 m 125 keV 0 eV 0 fm 0 fm Target initStep + 1 8.22 mm 6.84 mm -2.41 m 0 eV 125 keV 39.5 mum 39.5 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 55 +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 96 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -127 mum 548 mum -2.44 m 1.78 MeV 0 eV 0 fm 0 fm Target initStep - 1 60.6 mum -3.97 mm -2.4 m 1.78 MeV 0 eV 3.75 cm 3.75 cm Target Transportation - 2 4.08 mm -10.1 cm -1.6 m 1.78 MeV 0 eV 80.6 cm 84.3 cm Tracker Transportation - 3 5.09 mm -12.5 cm -1.4 m 1.78 MeV 0 eV 20.1 cm 1.04 m Chamber Transportation - 4 8.11 mm -19.8 cm -80 cm 1.78 MeV 0 eV 60.4 cm 1.65 m Tracker Transportation - 5 9.11 mm -22.2 cm -60 cm 1.78 MeV 0 eV 20.1 cm 1.85 m Chamber Transportation - 6 1.21 cm -29.5 cm 0 fm 1.78 MeV 0 eV 60.4 cm 2.46 m Tracker Transportation - 7 1.31 cm -31.9 cm 20 cm 1.78 MeV 0 eV 20.1 cm 2.66 m Chamber Transportation - 8 1.62 cm -39.2 cm 80 cm 1.78 MeV 0 eV 60.4 cm 3.26 m Tracker Transportation - 9 1.72 cm -41.6 cm 1 m 1.78 MeV 0 eV 20.1 cm 3.46 m Chamber Transportation - 10 2.02 cm -48.9 cm 1.6 m 1.78 MeV 0 eV 60.4 cm 4.07 m Tracker Transportation - 11 2.12 cm -51.3 cm 1.8 m 1.78 MeV 0 eV 20.1 cm 4.27 m Chamber Transportation - 12 2.42 cm -58.6 cm 2.4 m 1.78 MeV 0 eV 60.4 cm 4.87 m Tracker Transportation - 13 2.68 cm -64.8 cm 2.91 m 1.78 MeV 0 eV 51.4 cm 5.39 m OutOfWorld Transportation + 0 3.45 mm 8.08 mm -2.41 m 545 keV 0 eV 0 fm 0 fm Target initStep + 1 3.47 mm 8.09 mm -2.41 m 1.11e-10 eV 545 keV 338 mum 338 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.84 mm 3.43 mm -2.42 m 290 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.37 mm 3.8 mm -2.42 m 200 keV 0 eV 900 mum 900 mum Target compt + 2 -1.53 mm 3.6 mm -2.42 m 0 eV 88 keV 427 mum 1.33 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.53 mm 3.6 mm -2.42 m 112 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.53 mm 3.6 mm -2.42 m 0 eV 112 keV 32.9 mum 32.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.37 mm 3.8 mm -2.42 m 90.1 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.37 mm 3.81 mm -2.42 m 1.39e-11 eV 90.1 keV 23.3 mum 23.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 83 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.99 mm 3.09 mm -2.42 m 456 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.67 mm 4.35 mm -2.41 m 0 eV 88 keV 8.78 mm 8.78 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 94 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.67 mm 4.35 mm -2.41 m 368 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.68 mm 4.35 mm -2.41 m 5.55e-11 eV 368 keV 199 mum 199 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -295 mum 139 mum -2.44 m 845 keV 0 eV 0 fm 0 fm Target initStep + 1 -330 mum 219 mum -2.44 m 0 eV 88 keV 576 mum 576 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -330 mum 219 mum -2.44 m 757 keV 0 eV 0 fm 0 fm Target initStep + 1 -347 mum 216 mum -2.44 m 0 eV 757 keV 514 mum 514 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -228 mum 45.1 mum -2.45 m 1.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.8 mm 3.68 mm -2.41 m 688 keV 0 eV 3.23 cm 3.23 cm Target compt + 2 -1.26 cm 2.17 mm -2.41 m 445 keV 0 eV 1.29 cm 4.52 cm Target compt + 3 -1.31 cm -50.9 mum -2.4 m 445 keV 0 eV 6.9 mm 5.21 cm Target Transportation + 4 -11.7 cm -54.6 cm -80 cm 445 keV 0 eV 1.69 m 1.75 m Tracker Transportation + 5 -13 cm -61.5 cm -60 cm 445 keV 0 eV 21.2 cm 1.96 m Chamber Transportation + 6 -17 cm -82 cm 0 fm 445 keV 0 eV 63.5 cm 2.59 m Tracker Transportation + 7 -18.3 cm -88.8 cm 20 cm 445 keV 0 eV 21.2 cm 2.8 m Chamber Transportation + 8 -22.2 cm -1.09 m 80 cm 445 keV 0 eV 63.5 cm 3.44 m Tracker Transportation + 9 -23.5 cm -1.16 m 1 m 445 keV 0 eV 21.2 cm 3.65 m Chamber Transportation + 10 -27.4 cm -1.37 m 1.6 m 445 keV 0 eV 63.5 cm 4.29 m Tracker Transportation + 11 -28.7 cm -1.43 m 1.8 m 445 keV 0 eV 21.2 cm 4.5 m Chamber Transportation + 12 -32.6 cm -1.64 m 2.4 m 445 keV 0 eV 63.5 cm 5.13 m Tracker Transportation + 13 -35.9 cm -1.81 m 2.91 m 445 keV 0 eV 54 cm 5.67 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 cm 2.17 mm -2.41 m 243 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.26 cm 2.17 mm -2.41 m 0 eV 243 keV 109 mum 109 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.8 mm 3.68 mm -2.41 m 1.01 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 mm 3.69 mm -2.41 m 0 eV 1.01 MeV 729 mum 729 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 46.2 mum 306 mum -2.45 m 306 keV 0 eV 0 fm 0 fm Target initStep - 1 -45.2 mum 263 mum -2.44 m 0 eV 88 keV 3.46 mm 3.46 mm Target phot + 0 -110 mum 135 mum -2.45 m 29.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 -859 mum -95.7 mum -2.43 m 0 eV 0 eV 1.72 cm 1.72 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 9 +* G4Track Information: Particle = e+, Track ID = 116, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -45.2 mum 263 mum -2.44 m 218 keV 0 eV 0 fm 0 fm Target initStep - 1 -44.6 mum 265 mum -2.44 m 5.55e-11 eV 218 keV 93 mum 93 mum Target eIoni + 0 -859 mum -95.7 mum -2.43 m 12.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.06 mm -57.8 mum -2.43 m 8.51 MeV 2.43 MeV 691 mum 691 mum Target eBrem + 2 -1.18 mm 578 mum -2.43 m 6.83 MeV 1.2 MeV 1.01 mm 1.7 mm Target eBrem + 3 -1.72 mm 726 mum -2.43 m 5.23 MeV 1.17 MeV 818 mum 2.52 mm Target eBrem + 4 -1.65 mm 669 mum -2.43 m 107 keV 2.36 MeV 523 mum 3.04 mm Target eBrem + 5 -1.65 mm 670 mum -2.43 m 0 eV 107 keV 28.5 mum 3.07 mm Target eIoni + 6 -1.65 mm 670 mum -2.43 m 0 eV 0 eV 0 fm 3.07 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.65 mm 670 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -124 mum -1.12 mm -2.43 m 0 eV 88 keV 2.97 mm 2.97 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -124 mum -1.12 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -123 mum -1.13 mm -2.43 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.65 mm 670 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.99 mm 5.76 mm -2.43 m 0 eV 88 keV 8.46 mm 8.46 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 121 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.99 mm 5.76 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -6 mm 5.77 mm -2.43 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.65 mm 669 mum -2.43 m 2.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.51 mm 1.2 mm -2.43 m 599 keV 0 eV 997 mum 997 mum Target compt + 2 1.05 mm 1.07 cm -2.43 m 472 keV 0 eV 1.01 cm 1.11 cm Target compt + 3 2.86 mm 1.32 cm -2.43 m 198 keV 0 eV 4.78 mm 1.59 cm Target compt + 4 2.6 mm 1.29 cm -2.43 m 0 eV 88 keV 435 mum 1.63 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.6 mm 1.29 cm -2.43 m 110 keV 0 eV 0 fm 0 fm Target initStep + 1 2.6 mm 1.29 cm -2.43 m 0 eV 110 keV 32.1 mum 32.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.86 mm 1.32 cm -2.43 m 274 keV 0 eV 0 fm 0 fm Target initStep + 1 2.86 mm 1.32 cm -2.43 m 0 eV 274 keV 130 mum 130 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.05 mm 1.07 cm -2.43 m 127 keV 0 eV 0 fm 0 fm Target initStep + 1 1.05 mm 1.07 cm -2.43 m 0 eV 127 keV 40.1 mum 40.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 120 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.51 mm 1.2 mm -2.43 m 2.17 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.38 mm 1.14 mm -2.43 m 892 keV 334 keV 286 mum 286 mum Target eBrem + 2 -1.36 mm 1.11 mm -2.43 m 1.11e-10 eV 892 keV 628 mum 914 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 125 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.38 mm 1.14 mm -2.43 m 940 keV 0 eV 0 fm 0 fm Target initStep + 1 5.48 mum -322 mum -2.42 m 267 keV 0 eV 2.5 mm 2.5 mm Target compt + 2 43.4 mum -351 mum -2.42 m 182 keV 0 eV 189 mum 2.69 mm Target compt + 3 75.3 mum -392 mum -2.42 m 0 eV 88 keV 52.3 mum 2.74 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 75.3 mum -392 mum -2.42 m 94.2 keV 0 eV 0 fm 0 fm Target initStep + 1 76.4 mum -392 mum -2.42 m 0 eV 94.2 keV 25 mum 25 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 43.4 mum -351 mum -2.42 m 84.6 keV 0 eV 0 fm 0 fm Target initStep + 1 43.1 mum -351 mum -2.42 m 0 eV 84.6 keV 21.1 mum 21.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 129 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.48 mum -322 mum -2.42 m 673 keV 0 eV 0 fm 0 fm Target initStep + 1 19.5 mum -337 mum -2.42 m 1.11e-10 eV 673 keV 444 mum 444 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.72 mm 726 mum -2.43 m 433 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 mm 919 mum -2.43 m 0 eV 88 keV 753 mum 753 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 119 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.44 mm 919 mum -2.43 m 345 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 mm 921 mum -2.43 m 0 eV 345 keV 181 mum 181 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 mm 578 mum -2.43 m 473 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.96 mm 542 mum -2.42 m 0 eV 88 keV 3.99 mm 3.99 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.96 mm 542 mum -2.42 m 385 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.95 mm 541 mum -2.42 m 5.55e-11 eV 385 keV 211 mum 211 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 116 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.06 mm -57.8 mum -2.43 m 1.72 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.92 mm 1.65 mm -2.42 m 419 keV 0 eV 6.7 mm 6.7 mm Target compt + 2 -6.39 mm -2.13 mm -2.42 m 266 keV 0 eV 5.16 mm 1.19 cm Target compt + 3 -6.43 mm -2.2 mm -2.42 m 0 eV 88 keV 334 mum 1.22 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 117 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.43 mm -2.2 mm -2.42 m 178 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.43 mm -2.2 mm -2.42 m 2.78e-11 eV 178 keV 68.3 mum 68.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 117 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.39 mm -2.13 mm -2.42 m 153 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.4 mm -2.14 mm -2.42 m 5.55e-11 eV 153 keV 54.1 mum 54.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 117 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.92 mm 1.65 mm -2.42 m 1.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.93 mm 1.69 mm -2.42 m 0 eV 1.3 MeV 975 mum 975 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -859 mum -95.7 mum -2.43 m 15.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -930 mum 119 mum -2.43 m 13.3 MeV 1.21 MeV 832 mum 832 mum Target eBrem + 2 -1.64 mm 1.88 mm -2.43 m 9.64 MeV 3.28 MeV 2.76 mm 3.59 mm Target eBrem + 3 -2.46 mm 4.23 mm -2.43 m 5.84 MeV 3.8 MeV 2.94 mm 6.53 mm Target eIoni + 4 -1.27 mm 3.06 mm -2.43 m 3.42 MeV 2.42 MeV 2.33 mm 8.85 mm Target eIoni + 5 -1.87 mm 4.18 mm -2.43 m 537 keV 2.89 MeV 1.84 mm 1.07 cm Target eIoni + 6 -1.89 mm 4.19 mm -2.43 m 0 eV 537 keV 332 mum 1.1 cm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 115 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.64 mm 1.88 mm -2.43 m 365 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 mm 1.99 mm -2.43 m 169 keV 0 eV 371 mum 371 mum Target compt + 2 -1.64 mm 2.02 mm -2.43 m 168 keV 0 eV 95.1 mum 466 mum Target compt + 3 -1.42 mm 2.1 mm -2.43 m 0 eV 88 keV 325 mum 791 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.42 mm 2.1 mm -2.43 m 80.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.42 mm 2.1 mm -2.43 m 0 eV 80.3 keV 19.3 mum 19.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.64 mm 2.02 mm -2.43 m 333 eV 0 eV 0 fm 0 fm Target initStep + 1 -1.64 mm 2.02 mm -2.43 m 9.87e-12 eV 333 eV 9.24 nm 9.24 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 mm 1.99 mm -2.43 m 196 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 mm 1.99 mm -2.43 m 2.78e-11 eV 196 keV 79.2 mum 79.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 115 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -930 mum 119 mum -2.43 m 1.13 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.32 mm 8.1 mm -2.44 m 0 eV 88 keV 1.06 cm 1.06 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.32 mm 8.1 mm -2.44 m 1.04 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.34 mm 8.15 mm -2.44 m 2.22e-10 eV 1.04 MeV 752 mum 752 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 37.1 mum 197 mum -2.45 m 18.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 221 mum 506 mum -2.43 m 8.29 MeV 0 eV 2.21 cm 2.21 cm Target compt - 2 1.04 mm -1.41 mm -2.42 m 0 eV 0 eV 8.38 mm 3.05 cm Target conv + 0 -80.8 mum 150 mum -2.45 m 3.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -390 mum 97.2 mum -2.44 m 1.25 MeV 0 eV 5.04 mm 5.04 mm Target compt + 2 -8.42 mm 4.42 mm -2.43 m 0 eV 88 keV 1.31 cm 1.82 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 111, Parent ID = 8 +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.04 mm -1.41 mm -2.42 m 4.87 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.22 mm -1.67 mm -2.42 m 3.84 MeV 517 keV 492 mum 492 mum Target eBrem - 2 1.7 mm -1.08 mm -2.42 m 2.43 MeV 920 keV 859 mum 1.35 mm Target eBrem - 3 2.04 mm -1.17 mm -2.42 m 940 keV 1.49 MeV 1.58 mm 2.93 mm Target eIoni - 4 2 mm -1.23 mm -2.42 m 2.22e-10 eV 940 keV 680 mum 3.61 mm Target eIoni - 5 2 mm -1.23 mm -2.42 m 2.22e-10 eV 0 eV 0 fm 3.61 mm Target annihil + 0 -8.42 mm 4.42 mm -2.43 m 1.16 MeV 0 eV 0 fm 0 fm Target initStep + 1 -8.64 mm 4.29 mm -2.43 m 16.1 keV 835 keV 722 mum 722 mum Target eBrem + 2 -8.64 mm 4.29 mm -2.43 m 3.47e-12 eV 16.1 keV 1.45 mum 723 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 111 +* G4Track Information: Particle = gamma, Track ID = 146, Parent ID = 145 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2 mm -1.23 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 6.27 mm -2.81 mm -2.41 m 0 eV 88 keV 5.16 mm 5.16 mm Target phot + 0 -8.64 mm 4.29 mm -2.43 m 313 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.89 mm 3.99 mm -2.43 m 149 keV 0 eV 735 mum 735 mum Target compt + 2 -8.56 mm 4.12 mm -2.43 m 0 eV 88 keV 391 mum 1.13 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 115 +* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 146 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.27 mm -2.81 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 6.28 mm -2.82 mm -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + 0 -8.56 mm 4.12 mm -2.43 m 61.3 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.56 mm 4.12 mm -2.43 m 0 eV 61.3 keV 12.4 mum 12.4 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 111 +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 146 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2 mm -1.23 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.06 cm 3.41 mm -2.42 m 0 eV 88 keV 1.52 cm 1.52 cm Target phot + 0 -8.89 mm 3.99 mm -2.43 m 163 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.89 mm 3.99 mm -2.43 m 0 eV 163 keV 59.8 mum 59.8 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 114 +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.06 cm 3.41 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.06 cm 3.41 mm -2.42 m 0 eV 423 keV 241 mum 241 mum Target eIoni + 0 -390 mum 97.2 mum -2.44 m 1.95 MeV 0 eV 0 fm 0 fm Target initStep + 1 -446 mum -197 mum -2.44 m 961 keV 635 keV 455 mum 455 mum Target eBrem + 2 -410 mum -171 mum -2.44 m 0 eV 961 keV 687 mum 1.14 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 111 +* G4Track Information: Particle = gamma, Track ID = 149, Parent ID = 144 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.7 mm -1.08 mm -2.42 m 497 keV 0 eV 0 fm 0 fm Target initStep - 1 1.54 mm -1.36 mm -2.42 m 0 eV 88 keV 817 mum 817 mum Target phot + 0 -446 mum -197 mum -2.44 m 357 keV 0 eV 0 fm 0 fm Target initStep + 1 853 mum 633 mum -2.44 m 0 eV 88 keV 1.78 mm 1.78 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 113 +* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 149 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.54 mm -1.36 mm -2.42 m 409 keV 0 eV 0 fm 0 fm Target initStep - 1 1.53 mm -1.37 mm -2.42 m 0 eV 409 keV 230 mum 230 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 111 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.22 mm -1.67 mm -2.42 m 512 keV 0 eV 0 fm 0 fm Target initStep - 1 1.94 mm -553 mum -2.42 m 215 keV 0 eV 1.71 mm 1.71 mm Target compt - 2 1.85 mm -585 mum -2.42 m 0 eV 88 keV 99.8 mum 1.8 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 112 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.85 mm -585 mum -2.42 m 127 keV 0 eV 0 fm 0 fm Target initStep - 1 1.85 mm -586 mum -2.42 m 2.78e-11 eV 127 keV 40.1 mum 40.1 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 112 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.94 mm -553 mum -2.42 m 298 keV 0 eV 0 fm 0 fm Target initStep - 1 1.95 mm -546 mum -2.42 m 0 eV 298 keV 147 mum 147 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.04 mm -1.41 mm -2.42 m 2.39 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.24 mm -1.08 mm -2.42 m 655 keV 1.23 MeV 1.25 mm 1.25 mm Target eBrem - 2 1.25 mm -1.06 mm -2.42 m 1.11e-10 eV 655 keV 428 mum 1.67 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 110 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.24 mm -1.08 mm -2.42 m 507 keV 0 eV 0 fm 0 fm Target initStep - 1 9.78 mm 1.4 cm -2.43 m 0 eV 88 keV 1.96 cm 1.96 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 121 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.78 mm 1.4 cm -2.43 m 419 keV 0 eV 0 fm 0 fm Target initStep - 1 9.79 mm 1.4 cm -2.43 m 0 eV 419 keV 237 mum 237 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 221 mum 506 mum -2.43 m 10.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 213 mum 514 mum -2.43 m 8.42 MeV 71.2 keV 54.7 mum 54.7 mum Target eBrem - 2 -669 mum 1.47 mm -2.42 m 2.61 MeV 3.05 MeV 2.62 mm 2.68 mm Target eBrem - 3 -302 mum 1.56 mm -2.42 m 816 keV 1.79 MeV 1.62 mm 4.3 mm Target eIoni - 4 -337 mum 1.59 mm -2.42 m 1.11e-10 eV 816 keV 564 mum 4.86 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 109 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -669 mum 1.47 mm -2.42 m 2.77 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.5 cm -2.95 mm -2.44 m 2.77 MeV 0 eV 3.08 cm 3.08 cm Target Transportation - 2 76.2 cm -13 cm -2.91 m 2.77 MeV 0 eV 88.3 cm 91.4 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 109 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 213 mum 514 mum -2.43 m 1.67 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.88 mm 3.82 mm -2.4 m 897 keV 0 eV 2.48 cm 2.48 cm Target compt - 2 1.75 mm 4.75 mm -2.4 m 897 keV 0 eV 1.24 mm 2.61 cm Target Transportation - 3 -32.7 cm 2.4 m -32.4 cm 897 keV 0 eV 3.19 m 3.21 m Tracker Transportation - 4 -39.7 cm 2.91 m 11.8 cm 897 keV 0 eV 67.8 cm 3.89 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 123 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.88 mm 3.82 mm -2.4 m 769 keV 0 eV 0 fm 0 fm Target initStep - 1 1.88 mm 3.8 mm -2.4 m 2.22e-10 eV 769 keV 524 mum 524 mum Target eIoni + 0 853 mum 633 mum -2.44 m 269 keV 0 eV 0 fm 0 fm Target initStep + 1 856 mum 639 mum -2.44 m 0 eV 269 keV 127 mum 127 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 40.8 mum 193 mum -2.45 m 985 keV 0 eV 0 fm 0 fm Target initStep - 1 63.9 mum 210 mum -2.45 m 382 keV 0 eV 1.9 mm 1.9 mm Target compt - 2 -322 mum -4.91 mm -2.44 m 0 eV 88 keV 5.23 mm 7.13 mm Target phot + 0 -59.3 mum 141 mum -2.45 m 3.81 MeV 0 eV 0 fm 0 fm Target initStep + 1 -904 mum 365 mum -2.43 m 2.08 MeV 0 eV 1.47 cm 1.47 cm Target compt + 2 -3.36 mm 4.44 mm -2.43 m 656 keV 0 eV 9.62 mm 2.44 cm Target compt + 3 -2.5 cm -370 mum -2.42 m 656 keV 0 eV 2.38 cm 4.82 cm Target Transportation + 4 -6.53 cm -9.35 mm -2.4 m 656 keV 0 eV 4.45 cm 9.27 cm World Transportation + 5 -2.4 m -52.9 cm -1.45 m 656 keV 0 eV 2.57 m 2.67 m Tracker Transportation + 6 -2.91 m -64.2 cm -1.24 m 656 keV 0 eV 56.2 cm 3.23 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 7 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -322 mum -4.91 mm -2.44 m 294 keV 0 eV 0 fm 0 fm Target initStep - 1 -314 mum -4.91 mm -2.44 m 0 eV 294 keV 145 mum 145 mum Target eIoni + 0 -3.36 mm 4.44 mm -2.43 m 1.42 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.36 mm 4.5 mm -2.43 m 2.22e-10 eV 1.42 MeV 1.07 mm 1.07 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 7 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 63.9 mum 210 mum -2.45 m 603 keV 0 eV 0 fm 0 fm Target initStep - 1 65.1 mum 222 mum -2.45 m 2.22e-10 eV 603 keV 386 mum 386 mum Target eIoni + 0 -904 mum 365 mum -2.43 m 1.73 MeV 0 eV 0 fm 0 fm Target initStep + 1 -738 mum -69.5 mum -2.43 m 463 keV 1.27 MeV 1.27 mm 1.27 mm Target eIoni + 2 -727 mum -54.5 mum -2.43 m 5.55e-11 eV 463 keV 272 mum 1.54 mm Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 41.9 mum 192 mum -2.45 m 7.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 41.4 mum 201 mum -2.45 m 0 eV 0 eV 583 mum 583 mum Target conv + 0 -42.6 mum 135 mum -2.45 m 2.39 MeV 0 eV 0 fm 0 fm Target initStep + 1 -197 mum 203 mum -2.45 m 922 keV 0 eV 2.91 mm 2.91 mm Target compt + 2 7.7 mm 8.05 mm -2.44 m 689 keV 0 eV 1.51 cm 1.8 cm Target compt + 3 7.59 mm 9.45 mm -2.43 m 671 keV 0 eV 1.94 mm 2 cm Target compt + 4 1.04 cm 2.5 cm -2.42 m 671 keV 0 eV 2.07 cm 4.06 cm Target Transportation + 5 1.48 cm 4.94 cm -2.4 m 671 keV 0 eV 3.24 cm 7.31 cm World Transportation + 6 43.9 cm 2.4 m -38.7 cm 671 keV 0 eV 3.12 m 3.2 m Tracker Transportation + 7 53.1 cm 2.91 m 4.98 cm 671 keV 0 eV 67.8 cm 3.87 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 129, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 41.4 mum 201 mum -2.45 m 5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -53.7 mum 222 mum -2.45 m 3.87 MeV 355 keV 328 mum 328 mum Target eBrem - 2 -717 mum 829 mum -2.45 m 1.89 MeV 1.97 MeV 1.97 mm 2.3 mm Target eIoni - 3 -689 mum 1.09 mm -2.45 m 172 keV 1.72 MeV 1.37 mm 3.67 mm Target eIoni - 4 -693 mum 1.1 mm -2.45 m 0 eV 172 keV 61.6 mum 3.73 mm Target eIoni - 5 -693 mum 1.1 mm -2.45 m 0 eV 0 eV 0 fm 3.73 mm Target annihil + 0 7.59 mm 9.45 mm -2.43 m 18.1 keV 0 eV 0 fm 0 fm Target initStep + 1 7.59 mm 9.45 mm -2.43 m 0 eV 18.1 keV 1.74 mum 1.74 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 132, Parent ID = 129 +* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -693 mum 1.1 mm -2.45 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -596 mum 1.88 mm -2.45 m 0 eV 88 keV 960 mum 960 mum Target phot + 0 7.7 mm 8.05 mm -2.44 m 232 keV 0 eV 0 fm 0 fm Target initStep + 1 7.71 mm 8.05 mm -2.44 m 5.55e-11 eV 232 keV 102 mum 102 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 132 +* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -596 mum 1.88 mm -2.45 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -599 mum 1.88 mm -2.45 m 0 eV 423 keV 241 mum 241 mum Target eIoni + 0 -197 mum 203 mum -2.45 m 1.47 MeV 0 eV 0 fm 0 fm Target initStep + 1 -198 mum 202 mum -2.45 m 647 keV 5.16 keV 6.81 mum 6.81 mum Target eBrem + 2 -203 mum 205 mum -2.45 m 0 eV 647 keV 422 mum 429 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 129 +* G4Track Information: Particle = gamma, Track ID = 156, Parent ID = 153 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -693 mum 1.1 mm -2.45 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.09 mm -2.09 mm -2.44 m 0 eV 88 keV 3.96 mm 3.96 mm Target phot + 0 -198 mum 202 mum -2.45 m 813 keV 0 eV 0 fm 0 fm Target initStep + 1 2.37 cm -1.43 cm -2.42 m 439 keV 0 eV 3.95 cm 3.95 cm Target compt + 2 2.08 cm -1.34 cm -2.41 m 0 eV 88 keV 9.82 mm 4.93 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 131 +* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.09 mm -2.09 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.09 mm -2.11 mm -2.44 m 0 eV 423 keV 241 mum 241 mum Target eIoni + 0 2.08 cm -1.34 cm -2.41 m 351 keV 0 eV 0 fm 0 fm Target initStep + 1 2.08 cm -1.34 cm -2.41 m 0 eV 351 keV 186 mum 186 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 129 +* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 156 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -53.7 mum 222 mum -2.45 m 773 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.6 mm 310 mum -2.45 m 773 keV 0 eV 4.67 mm 4.67 mm Target Transportation - 2 -54.1 cm 1.36 cm -2.91 m 773 keV 0 eV 70.8 cm 71.2 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 41.4 mum 201 mum -2.45 m 1.32 MeV 0 eV 0 fm 0 fm Target initStep - 1 17 mum 193 mum -2.45 m 6.66e-10 eV 1.32 MeV 994 mum 994 mum Target eIoni + 0 2.37 cm -1.43 cm -2.42 m 374 keV 0 eV 0 fm 0 fm Target initStep + 1 2.37 cm -1.43 cm -2.42 m 0 eV 374 keV 203 mum 203 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -21.4 mum 116 mum -2.45 m 22.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -7.86 mum 174 mum -2.45 m 0 eV 0 eV 2.56 mm 2.56 mm Target conv + 0 -31.3 mum 139 mum -2.45 m 9.33 MeV 0 eV 0 fm 0 fm Target initStep + 1 -298 mum 163 mum -2.44 m 1.77 MeV 0 eV 1.25 cm 1.25 cm Target compt + 2 -1.55 cm -1.32 mm -2.42 m 641 keV 0 eV 2.33 cm 3.57 cm Target compt + 3 -2.25 cm -679 mum -2.42 m 190 keV 0 eV 7.08 mm 4.28 cm Target compt + 4 -2.22 cm -689 mum -2.42 m 0 eV 88 keV 258 mum 4.31 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 136, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.86 mum 174 mum -2.45 m 19.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -12.9 mum 180 mum -2.45 m 16.9 MeV 85 keV 81 mum 81 mum Target eBrem - 2 -16.4 mum 179 mum -2.45 m 11.9 MeV 65.4 keV 79.9 mum 161 mum Target eBrem - 3 449 mum 643 mum -2.44 m 8.81 MeV 2.1 MeV 1.79 mm 1.95 mm Target eBrem - 4 90.2 mum 1.4 mm -2.44 m 6.35 MeV 1.16 MeV 921 mum 2.88 mm Target eBrem - 5 -975 mum 1.53 mm -2.44 m 3.79 MeV 1.2 MeV 1.28 mm 4.15 mm Target eBrem - 6 -1.62 mm 1.56 mm -2.44 m 404 keV 1.38 MeV 1.33 mm 5.48 mm Target eBrem - 7 -1.63 mm 1.56 mm -2.44 m 0 eV 15.9 keV 10 mum 5.49 mm Target annihil + 0 -2.22 cm -689 mum -2.42 m 102 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.22 cm -688 mum -2.42 m 1.39e-11 eV 102 keV 28.3 mum 28.3 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 144, Parent ID = 136 +* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.63 mm 1.56 mm -2.44 m 953 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.83 mm 1.07 mm -2.44 m 277 keV 0 eV 1.51 mm 1.51 mm Target compt - 2 -2.75 mm 921 mum -2.44 m 0 eV 88 keV 190 mum 1.7 mm Target phot + 0 -2.25 cm -679 mum -2.42 m 451 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 cm -677 mum -2.42 m 5.55e-11 eV 451 keV 263 mum 263 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 144 +* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.75 mm 921 mum -2.44 m 189 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.75 mm 917 mum -2.44 m 0 eV 189 keV 74.9 mum 74.9 mum Target eIoni + 0 -1.55 cm -1.32 mm -2.42 m 1.13 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.56 cm -1.33 mm -2.42 m 2.22e-10 eV 1.13 MeV 833 mum 833 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 144 +* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.83 mm 1.07 mm -2.44 m 676 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.86 mm 1.07 mm -2.44 m 0 eV 676 keV 446 mum 446 mum Target eIoni + 0 -298 mum 163 mum -2.44 m 7.56 MeV 0 eV 0 fm 0 fm Target initStep + 1 -300 mum 163 mum -2.44 m 1.75 MeV 56.2 keV 58.5 mum 58.5 mum Target eBrem + 2 -150 mum 145 mum -2.44 m 993 keV 179 keV 218 mum 277 mum Target eBrem + 3 -100 mum 160 mum -2.44 m 0 eV 993 keV 715 mum 991 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 136 +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 159 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.63 mm 1.56 mm -2.44 m 456 keV 0 eV 0 fm 0 fm Target initStep - 1 488 mum 4.6 mm -2.44 m 0 eV 88 keV 3.73 mm 3.73 mm Target phot + 0 -150 mum 145 mum -2.44 m 581 keV 0 eV 0 fm 0 fm Target initStep + 1 6.03 mm 3.59 mm -2.43 m 413 keV 0 eV 7.45 mm 7.45 mm Target compt + 2 7.56 mm 8.71 mm -2.43 m 0 eV 88 keV 5.38 mm 1.28 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 143 +* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 164 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 488 mum 4.6 mm -2.44 m 368 keV 0 eV 0 fm 0 fm Target initStep - 1 490 mum 4.6 mm -2.44 m 0 eV 368 keV 199 mum 199 mum Target eIoni + 0 7.56 mm 8.71 mm -2.43 m 325 keV 0 eV 0 fm 0 fm Target initStep + 1 7.57 mm 8.72 mm -2.43 m 5.55e-11 eV 325 keV 166 mum 166 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 142, Parent ID = 136 +* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 164 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.62 mm 1.56 mm -2.44 m 2.01 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.5 cm -6.65 mm -2.44 m 2.01 MeV 0 eV 2.62 cm 2.62 cm Target Transportation - 2 -12 cm -4 cm -2.4 m 2.01 MeV 0 eV 10.7 cm 13.3 cm World Transportation - 3 -2.4 m -84 cm -1.56 m 2.01 MeV 0 eV 2.56 m 2.69 m Tracker Transportation - 4 -2.91 m -1.02 m -1.37 m 2.01 MeV 0 eV 57.3 cm 3.26 m OutOfWorld Transportation + 0 6.03 mm 3.59 mm -2.43 m 168 keV 0 eV 0 fm 0 fm Target initStep + 1 6.03 mm 3.59 mm -2.43 m 2.78e-11 eV 168 keV 62.6 mum 62.6 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 136 +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 159 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -975 mum 1.53 mm -2.44 m 1.36 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.24 mm 2.35 mm -2.44 m 1.18 MeV 0 eV 1.51 mm 1.51 mm Target compt - 2 -4.89 mm 3.17 mm -2.44 m 297 keV 0 eV 2.81 mm 4.31 mm Target compt - 3 -4.94 mm 1.48 mm -2.44 m 0 eV 88 keV 1.71 mm 6.02 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.94 mm 1.48 mm -2.44 m 209 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.94 mm 1.48 mm -2.44 m 0 eV 209 keV 87.5 mum 87.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.89 mm 3.17 mm -2.44 m 881 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.94 mm 3.2 mm -2.44 m 1.11e-10 eV 881 keV 619 mum 619 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 141 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.24 mm 2.35 mm -2.44 m 178 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.24 mm 2.35 mm -2.44 m 0 eV 178 keV 68.4 mum 68.4 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 90.2 mum 1.4 mm -2.44 m 1.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.31 mm 2.69 mm -2.44 m 979 keV 0 eV 2.03 mm 2.03 mm Target compt - 2 -2.34 mm 2.9 mm -2.44 m 662 keV 0 eV 1.16 mm 3.18 mm Target compt - 3 -1.49 cm -273 mum -2.42 m 0 eV 88 keV 2.68 cm 3 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.49 cm -273 mum -2.42 m 574 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.49 cm -250 mum -2.42 m 1.11e-10 eV 574 keV 361 mum 361 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.34 mm 2.9 mm -2.44 m 318 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.35 mm 2.91 mm -2.44 m 0 eV 318 keV 161 mum 161 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 140 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.31 mm 2.69 mm -2.44 m 318 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.31 mm 2.7 mm -2.44 m 5.55e-11 eV 318 keV 162 mum 162 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 449 mum 643 mum -2.44 m 961 keV 0 eV 0 fm 0 fm Target initStep - 1 -525 mum 1.99 mm -2.44 m 0 eV 88 keV 2.32 mm 2.32 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 139 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -525 mum 1.99 mm -2.44 m 873 keV 0 eV 0 fm 0 fm Target initStep - 1 -533 mum 1.99 mm -2.44 m 360 keV 15.3 keV 17.9 mum 17.9 mum Target eBrem - 2 -556 mum 1.97 mm -2.44 m 261 keV 98.9 keV 84.3 mum 102 mum Target eBrem - 3 -560 mum 1.98 mm -2.44 m 5.55e-11 eV 261 keV 121 mum 224 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -533 mum 1.99 mm -2.44 m 498 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 3.01 mm -2.44 m 185 keV 0 eV 3.6 mm 3.6 mm Target compt - 2 -1.73 mm 3.01 mm -2.44 m 0 eV 88 keV 11.6 mum 3.61 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 155 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.73 mm 3.01 mm -2.44 m 96.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 3.01 mm -2.44 m 0 eV 96.9 keV 26.2 mum 26.2 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 155 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.73 mm 3.01 mm -2.44 m 313 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 3.02 mm -2.44 m 0 eV 313 keV 158 mum 158 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -16.4 mum 179 mum -2.45 m 4.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 -303 mum 267 mum -2.44 m 987 keV 0 eV 2.7 mm 2.7 mm Target compt - 2 2.61 mm 4.15 mm -2.44 m 721 keV 0 eV 6.18 mm 8.88 mm Target compt - 3 1.72 cm 5.86 mm -2.43 m 0 eV 88 keV 1.9 cm 2.78 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.72 cm 5.86 mm -2.43 m 633 keV 0 eV 0 fm 0 fm Target initStep - 1 1.73 cm 5.85 mm -2.43 m 0 eV 633 keV 411 mum 411 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.61 mm 4.15 mm -2.44 m 265 keV 0 eV 0 fm 0 fm Target initStep - 1 2.61 mm 4.16 mm -2.44 m 0 eV 265 keV 124 mum 124 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -303 mum 267 mum -2.44 m 3.94 MeV 0 eV 0 fm 0 fm Target initStep - 1 -159 mum -1.41 mum -2.44 m 1.99 MeV 1.4 MeV 743 mum 743 mum Target eBrem - 2 -391 mum 24.1 mum -2.44 m 280 keV 803 keV 779 mum 1.52 mm Target eBrem - 3 -386 mum 15.8 mum -2.44 m 0 eV 280 keV 135 mum 1.66 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 158 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -391 mum 24.1 mum -2.44 m 908 keV 0 eV 0 fm 0 fm Target initStep - 1 1.16 mm -2.43 mm -2.44 m 686 keV 0 eV 2.9 mm 2.9 mm Target compt - 2 1.64 mm -1.15 cm -2.45 m 597 keV 0 eV 9.82 mm 1.27 cm Target compt - 3 -417 mum -1.64 cm -2.45 m 528 keV 0 eV 5.42 mm 1.81 cm Target compt - 4 -2.39 mm -1.95 cm -2.45 m 0 eV 88 keV 3.76 mm 2.19 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 162 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.39 mm -1.95 cm -2.45 m 440 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.39 mm -1.95 cm -2.45 m 0 eV 440 keV 254 mum 254 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 162 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -417 mum -1.64 cm -2.45 m 68.3 keV 0 eV 0 fm 0 fm Target initStep - 1 -417 mum -1.64 cm -2.45 m 0 eV 68.3 keV 14.9 mum 14.9 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 162 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.64 mm -1.15 cm -2.45 m 89.7 keV 0 eV 0 fm 0 fm Target initStep - 1 1.64 mm -1.15 cm -2.45 m 0 eV 89.7 keV 23.1 mum 23.1 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 162 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.16 mm -2.43 mm -2.44 m 222 keV 0 eV 0 fm 0 fm Target initStep - 1 1.17 mm -2.43 mm -2.44 m 0 eV 222 keV 95.4 mum 95.4 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 158 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -159 mum -1.41 mum -2.44 m 547 keV 0 eV 0 fm 0 fm Target initStep - 1 454 mum 3.15 mm -2.44 m 0 eV 88 keV 4.94 mm 4.94 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 161 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 454 mum 3.15 mm -2.44 m 459 keV 0 eV 0 fm 0 fm Target initStep - 1 451 mum 3.15 mm -2.44 m 0 eV 459 keV 269 mum 269 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -12.9 mum 180 mum -2.45 m 2.54 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.3 mm 2.19 mm -2.4 m 2.54 MeV 0 eV 4.67 cm 4.67 cm Target Transportation - 2 2.38 cm 3.67 cm -1.6 m 2.54 MeV 0 eV 80.1 cm 84.8 cm Tracker Transportation - 3 2.94 cm 4.53 cm -1.4 m 2.54 MeV 0 eV 20 cm 1.05 m Chamber Transportation - 4 4.63 cm 7.12 cm -80 cm 2.54 MeV 0 eV 60.1 cm 1.65 m Tracker Transportation - 5 5.19 cm 7.98 cm -60 cm 2.54 MeV 0 eV 20 cm 1.85 m Chamber Transportation - 6 6.88 cm 10.6 cm 0 fm 2.54 MeV 0 eV 60.1 cm 2.45 m Tracker Transportation - 7 7.45 cm 11.4 cm 20 cm 2.54 MeV 0 eV 20 cm 2.65 m Chamber Transportation - 8 9.13 cm 14 cm 80 cm 2.54 MeV 0 eV 60.1 cm 3.25 m Tracker Transportation - 9 9.7 cm 14.9 cm 1 m 2.54 MeV 0 eV 20 cm 3.45 m Chamber Transportation - 10 11.4 cm 17.5 cm 1.6 m 2.54 MeV 0 eV 60.1 cm 4.05 m Tracker Transportation - 11 11.9 cm 18.3 cm 1.8 m 2.54 MeV 0 eV 20 cm 4.25 m Chamber Transportation - 12 13.6 cm 20.9 cm 2.4 m 2.54 MeV 0 eV 60.1 cm 4.85 m Tracker Transportation - 13 13.9 cm 21.3 cm 2.49 m 600 keV 0 eV 9.25 cm 4.95 m World compt - 14 -45.4 cm 1.26 m 2.91 m 600 keV 0 eV 1.28 m 6.22 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 13.9 cm 21.3 cm 2.49 m 1.94 MeV 0 eV 0 fm 0 fm World initStep - 1 20.1 cm 14.5 cm 2.91 m 1.88 MeV 62 keV 43.5 cm 43.5 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.86 mum 174 mum -2.45 m 2.1 MeV 0 eV 0 fm 0 fm Target initStep - 1 6.36 mum 140 mum -2.45 m 0 eV 2.1 MeV 1.44 mm 1.44 mm Target eIoni + 0 -300 mum 163 mum -2.44 m 5.75 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.25 mm 779 mum -2.4 m 5.75 MeV 0 eV 3.71 cm 3.71 cm Target Transportation + 2 15 cm 1.42 cm -1.6 m 5.75 MeV 0 eV 81.3 cm 85 cm Tracker Transportation + 3 18.6 cm 1.76 cm -1.4 m 5.75 MeV 0 eV 20.3 cm 1.05 m Chamber Transportation + 4 29.3 cm 2.77 cm -80 cm 5.75 MeV 0 eV 61 cm 1.66 m Tracker Transportation + 5 32.9 cm 3.11 cm -60 cm 5.75 MeV 0 eV 20.3 cm 1.87 m Chamber Transportation + 6 43.6 cm 4.12 cm -0.114 fm 5.75 MeV 0 eV 61 cm 2.48 m Tracker Transportation + 7 47.2 cm 4.45 cm 20 cm 5.75 MeV 0 eV 20.3 cm 2.68 m Chamber Transportation + 8 58 cm 5.46 cm 80 cm 5.75 MeV 0 eV 61 cm 3.29 m Tracker Transportation + 9 61.6 cm 5.8 cm 1 m 5.75 MeV 0 eV 20.3 cm 3.49 m Chamber Transportation + 10 72.3 cm 6.81 cm 1.6 m 5.75 MeV 0 eV 61 cm 4.1 m Tracker Transportation + 11 75.9 cm 7.15 cm 1.8 m 5.75 MeV 0 eV 20.3 cm 4.3 m Chamber Transportation + 12 86.7 cm 8.16 cm 2.4 m 5.75 MeV 0 eV 61 cm 4.91 m Tracker Transportation + 13 95.8 cm 9.01 cm 2.91 m 5.75 MeV 0 eV 51.8 cm 5.43 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -21.6 mum 115 mum -2.45 m 53.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 15.8 mum 191 mum -2.44 m 0 eV 0 eV 5.02 mm 5.02 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 170, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 15.8 mum 191 mum -2.44 m 40.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 9.04 mum 216 mum -2.44 m 37.8 MeV 319 keV 279 mum 279 mum Target eBrem - 2 148 mum 243 mum -2.44 m 11.1 MeV 3.51 MeV 1.12 mm 1.4 mm Target eBrem - 3 -287 mum 1.15 mm -2.44 m 6.93 MeV 4.18 MeV 3.21 mm 4.61 mm Target eIoni - 4 -228 mum 1.8 mm -2.44 m 4.08 MeV 2.85 MeV 2.55 mm 7.16 mm Target eIoni - 5 -308 mum 1.89 mm -2.44 m 2.98 MeV 144 keV 139 mum 7.3 mm Target eBrem - 6 -800 mum 1.6 mm -2.44 m 1.42 MeV 1.55 MeV 1.75 mm 9.05 mm Target eIoni - 7 -939 mum 1.54 mm -2.44 m 5.12 keV 1.42 MeV 1.09 mm 1.01 cm Target eIoni - 8 -939 mum 1.54 mm -2.44 m 8.67e-13 eV 5.12 keV 196 nm 1.01 cm Target eIoni - 9 -939 mum 1.54 mm -2.44 m 8.67e-13 eV 0 eV 0 fm 1.01 cm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 175, Parent ID = 170 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -939 mum 1.54 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 572 mum -548 mum -2.45 m 312 keV 0 eV 4.76 mm 4.76 mm Target compt - 2 3.12 mm -2.07 mm -2.45 m 0 eV 88 keV 3.01 mm 7.76 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.12 mm -2.07 mm -2.45 m 224 keV 0 eV 0 fm 0 fm Target initStep - 1 3.13 mm -2.07 mm -2.45 m 2.78e-11 eV 224 keV 96.8 mum 96.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 175 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 572 mum -548 mum -2.45 m 199 keV 0 eV 0 fm 0 fm Target initStep - 1 571 mum -549 mum -2.45 m 2.78e-11 eV 199 keV 80.8 mum 80.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 170 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -939 mum 1.54 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.87 mm 8.34 mm -2.43 m 0 eV 88 keV 1.55 cm 1.55 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 174 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.87 mm 8.34 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.86 mm 8.36 mm -2.43 m 0 eV 423 keV 241 mum 241 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 173, Parent ID = 170 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -308 mum 1.89 mm -2.44 m 963 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.97 mm 4.08 mm -2.45 m 963 keV 0 eV 9.69 mm 9.69 mm Target Transportation - 2 -26.6 cm 12.7 cm -2.91 m 963 keV 0 eV 54.3 cm 55.3 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 170 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 148 mum 243 mum -2.44 m 23.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.8 mm -445 mum -2.43 m 0 eV 0 eV 1.1 cm 1.1 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 180, Parent ID = 172 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.8 mm -445 mum -2.43 m 7.13 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.28 mm 396 mum -2.43 m 3.13 MeV 2.5 MeV 2.13 mm 2.13 mm Target eBrem - 2 2.12 mm -222 mum -2.43 m 1.41 MeV 1.12 MeV 716 mum 2.85 mm Target eBrem - 3 2.06 mm -312 mum -2.43 m 0 eV 1.41 MeV 1.08 mm 3.93 mm Target eIoni - 4 2.06 mm -312 mum -2.43 m 0 eV 0 eV 0 fm 3.93 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 180 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.06 mm -312 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 2.25 mm 909 mum -2.43 m 314 keV 0 eV 3.77 mm 3.77 mm Target compt - 2 2.82 mm 687 mum -2.43 m 0 eV 88 keV 687 mum 4.46 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 184 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.82 mm 687 mum -2.43 m 226 keV 0 eV 0 fm 0 fm Target initStep - 1 2.82 mm 685 mum -2.43 m 5.55e-11 eV 226 keV 98.1 mum 98.1 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 184 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.25 mm 909 mum -2.43 m 197 keV 0 eV 0 fm 0 fm Target initStep - 1 2.25 mm 912 mum -2.43 m 5.55e-11 eV 197 keV 79.6 mum 79.6 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 183, Parent ID = 180 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.06 mm -312 mum -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.94 mm -1.13 mm -2.43 m 483 keV 0 eV 2.53 mm 2.53 mm Target compt - 2 2.25 mm -3.14 mm -2.43 m 0 eV 88 keV 3.38 mm 5.92 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 183 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.25 mm -3.14 mm -2.43 m 395 keV 0 eV 0 fm 0 fm Target initStep - 1 2.25 mm -3.16 mm -2.43 m 0 eV 395 keV 219 mum 219 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 183 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.94 mm -1.13 mm -2.43 m 27.6 keV 0 eV 0 fm 0 fm Target initStep - 1 1.94 mm -1.13 mm -2.43 m 0 eV 27.6 keV 3.4 mum 3.4 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 182, Parent ID = 180 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.12 mm -222 mum -2.43 m 610 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.08 mm 3.04 mm -2.43 m 0 eV 88 keV 6.3 mm 6.3 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 182 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.08 mm 3.04 mm -2.43 m 522 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.1 mm 3.05 mm -2.43 m 1.11e-10 eV 522 keV 319 mum 319 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 181, Parent ID = 180 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.28 mm 396 mum -2.43 m 1.49 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.18 mm -2.83 mm -2.43 m 0 eV 0 eV 3.51 mm 3.51 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 191, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.18 mm -2.83 mm -2.43 m 83.4 keV 0 eV 0 fm 0 fm Target initStep - 1 3.18 mm -2.84 mm -2.43 m 2.78e-11 eV 83.4 keV 18.8 mum 18.8 mum Target eIoni - 2 3.18 mm -2.84 mm -2.43 m 2.78e-11 eV 0 eV 0 fm 18.8 mum Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.18 mm -2.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.05 mm -4.5 mm -2.43 m 455 keV 0 eV 4.77 mm 4.77 mm Target compt - 2 -3.17 mm -6.25 mm -2.43 m 306 keV 0 eV 2.76 mm 7.53 mm Target compt - 3 -3.1 mm -6.74 mm -2.43 m 0 eV 88 keV 651 mum 8.18 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.1 mm -6.74 mm -2.43 m 218 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.1 mm -6.75 mm -2.43 m 8.33e-11 eV 218 keV 92.8 mum 92.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.17 mm -6.25 mm -2.43 m 149 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.17 mm -6.25 mm -2.43 m 0 eV 149 keV 51.9 mum 51.9 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 193 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.05 mm -4.5 mm -2.43 m 56.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.05 mm -4.5 mm -2.43 m 0 eV 56.2 keV 10.8 mum 10.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 191 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.18 mm -2.84 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 9.22 mm -455 mum -2.43 m 365 keV 0 eV 6.83 mm 6.83 mm Target compt - 2 1.82 cm -6.4 mm -2.43 m 0 eV 88 keV 1.1 cm 1.79 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.82 cm -6.4 mm -2.43 m 277 keV 0 eV 0 fm 0 fm Target initStep - 1 1.82 cm -6.4 mm -2.43 m 0 eV 277 keV 132 mum 132 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 192 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.22 mm -455 mum -2.43 m 146 keV 0 eV 0 fm 0 fm Target initStep - 1 9.22 mm -452 mum -2.43 m 0 eV 146 keV 50.3 mum 50.3 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 190, Parent ID = 181 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.18 mm -2.83 mm -2.43 m 384 keV 0 eV 0 fm 0 fm Target initStep - 1 3.19 mm -2.85 mm -2.43 m 5.55e-11 eV 384 keV 211 mum 211 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 172 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.8 mm -445 mum -2.43 m 15 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.04 mm -449 mum -2.43 m 10.9 MeV 1.07 MeV 640 mum 640 mum Target eBrem - 2 2.15 mm -646 mum -2.43 m 9.52 MeV 573 keV 555 mum 1.2 mm Target eBrem - 3 822 mum 522 mum -2.43 m 6.32 MeV 3.2 MeV 2.92 mm 4.11 mm Target eIoni - 4 764 mum 1.13 mm -2.43 m 4.2 MeV 783 keV 701 mum 4.82 mm Target eBrem - 5 822 mum 1.5 mm -2.43 m 2.92 MeV 763 keV 426 mum 5.24 mm Target eBrem - 6 728 mum 1.52 mm -2.43 m 1.82 MeV 427 keV 204 mum 5.45 mm Target eBrem - 7 751 mum 1.64 mm -2.43 m 540 keV 1.28 MeV 1.32 mm 6.76 mm Target eIoni - 8 729 mum 1.65 mm -2.43 m 0 eV 540 keV 334 mum 7.09 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 203, Parent ID = 179 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 728 mum 1.52 mm -2.43 m 666 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.65 mm 3.85 mm -2.42 m 550 keV 0 eV 8.99 mm 8.99 mm Target compt - 2 -5.72 mm 6.97 mm -2.41 m 401 keV 0 eV 1.44 cm 2.34 cm Target compt - 3 -3.54 mm 1.86 mm -2.4 m 401 keV 0 eV 9.47 mm 3.29 cm Target Transportation - 4 1.02 m -2.4 m 1.21 m 401 keV 0 eV 4.45 m 4.49 m Tracker Transportation - 5 1.24 m -2.91 m 1.97 m 401 keV 0 eV 94.6 cm 5.43 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 203 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.72 mm 6.97 mm -2.41 m 149 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.73 mm 6.98 mm -2.41 m 2.78e-11 eV 149 keV 52 mum 52 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 203 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.65 mm 3.85 mm -2.42 m 115 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.65 mm 3.85 mm -2.42 m 0 eV 115 keV 34.7 mum 34.7 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 202, Parent ID = 179 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 822 mum 1.5 mm -2.43 m 523 keV 0 eV 0 fm 0 fm Target initStep - 1 -175 mum 2.63 mm -2.43 m 174 keV 0 eV 1.82 mm 1.82 mm Target compt - 2 180 mum 1.71 mm -2.43 m 0 eV 88 keV 1.21 mm 3.02 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 207, Parent ID = 202 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 180 mum 1.71 mm -2.43 m 86.1 keV 0 eV 0 fm 0 fm Target initStep - 1 179 mum 1.71 mm -2.43 m 0 eV 86.1 keV 21.7 mum 21.7 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 206, Parent ID = 202 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -175 mum 2.63 mm -2.43 m 349 keV 0 eV 0 fm 0 fm Target initStep - 1 -182 mum 2.64 mm -2.43 m 1.67e-10 eV 349 keV 184 mum 184 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 201, Parent ID = 179 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 764 mum 1.13 mm -2.43 m 1.33 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.54 mm 1.27 cm -2.42 m 333 keV 0 eV 1.36 cm 1.36 cm Target compt - 2 -1.83 mm 1.27 cm -2.42 m 0 eV 88 keV 334 mum 1.39 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 209, Parent ID = 201 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.83 mm 1.27 cm -2.42 m 245 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm 1.27 cm -2.42 m 0 eV 245 keV 111 mum 111 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 208, Parent ID = 201 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.54 mm 1.27 cm -2.42 m 999 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.54 mm 1.28 cm -2.42 m 1.11e-10 eV 999 keV 720 mum 720 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 200, Parent ID = 179 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.15 mm -646 mum -2.43 m 793 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.08 mm -1.1 mm -2.41 m 217 keV 0 eV 2.05 cm 2.05 cm Target compt - 2 -3.45 mm -1.74 mm -2.41 m 0 eV 88 keV 1.1 mm 2.16 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 211, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.45 mm -1.74 mm -2.41 m 129 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.45 mm -1.74 mm -2.41 m 5.55e-11 eV 129 keV 41.4 mum 41.4 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 210, Parent ID = 200 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.08 mm -1.1 mm -2.41 m 576 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.1 mm -1.09 mm -2.41 m 0 eV 576 keV 363 mum 363 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 179 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.04 mm -449 mum -2.43 m 3.08 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.1 mm -655 mum -2.43 m 351 keV 0 eV 1.04 mm 1.04 mm Target compt - 2 -240 mum -2.16 mm -2.43 m 0 eV 88 keV 2.98 mm 4.01 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 199 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -240 mum -2.16 mm -2.43 m 263 keV 0 eV 0 fm 0 fm Target initStep - 1 -242 mum -2.16 mm -2.43 m 1.11e-10 eV 263 keV 123 mum 123 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 212, Parent ID = 199 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.1 mm -655 mum -2.43 m 2.73 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.11 mm -756 mum -2.43 m 1.48 MeV 194 keV 181 mum 181 mum Target eBrem - 2 2.21 mm -904 mum -2.43 m 645 keV 405 keV 402 mum 583 mum Target eBrem - 3 2.18 mm -897 mum -2.43 m 1.11e-10 eV 645 keV 421 mum 1 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 215, Parent ID = 212 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.21 mm -904 mum -2.43 m 428 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.44 mm 153 mum -2.43 m 0 eV 88 keV 6.96 mm 6.96 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 215 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.44 mm 153 mum -2.43 m 340 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.45 mm 157 mum -2.43 m 0 eV 340 keV 178 mum 178 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 214, Parent ID = 212 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.11 mm -756 mum -2.43 m 1.05 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.37 mm -2.87 mm -2.42 m 972 keV 0 eV 1.54 cm 1.54 cm Target compt - 2 5.45 mm -2.38 mm -2.4 m 205 keV 0 eV 1.3 cm 2.84 cm Target compt - 3 5.45 mm -2.39 mm -2.4 m 0 eV 88 keV 40.7 mum 2.84 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.45 mm -2.39 mm -2.4 m 117 keV 0 eV 0 fm 0 fm Target initStep - 1 5.45 mm -2.38 mm -2.4 m 0 eV 117 keV 35.6 mum 35.6 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.45 mm -2.38 mm -2.4 m 767 keV 0 eV 0 fm 0 fm Target initStep - 1 5.45 mm -2.38 mm -2.4 m 0 eV 767 keV 523 mum 523 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 214 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.37 mm -2.87 mm -2.42 m 79.9 keV 0 eV 0 fm 0 fm Target initStep - 1 2.36 mm -2.88 mm -2.42 m 0 eV 79.9 keV 19.2 mum 19.2 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 170 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.04 mum 216 mum -2.44 m 2.29 MeV 0 eV 0 fm 0 fm Target initStep - 1 -322 mum 454 mum -2.42 m 313 keV 0 eV 2.75 cm 2.75 cm Target compt - 2 38 mum 2.38 mm -2.42 m 0 eV 88 keV 2.15 mm 2.96 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 171 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 38 mum 2.38 mm -2.42 m 225 keV 0 eV 0 fm 0 fm Target initStep - 1 39.4 mum 2.39 mm -2.42 m 2.78e-11 eV 225 keV 97.4 mum 97.4 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 171 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -322 mum 454 mum -2.42 m 1.97 MeV 0 eV 0 fm 0 fm Target initStep - 1 -144 mum 458 mum -2.42 m 1.12 MeV 383 keV 392 mum 392 mum Target eBrem - 2 -137 mum 507 mum -2.42 m 0 eV 1.12 MeV 824 mum 1.22 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 222, Parent ID = 220 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -144 mum 458 mum -2.42 m 468 keV 0 eV 0 fm 0 fm Target initStep - 1 11.2 mum 1.29 mm -2.42 m 0 eV 88 keV 1.29 mm 1.29 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 223, Parent ID = 222 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 11.2 mum 1.29 mm -2.42 m 380 keV 0 eV 0 fm 0 fm Target initStep - 1 15.8 mum 1.3 mm -2.42 m 5.55e-11 eV 380 keV 207 mum 207 mum Target eIoni + 0 -23 mum 139 mum -2.45 m 1.78 MeV 0 eV 0 fm 0 fm Target initStep + 1 -918 mum 386 mum -2.41 m 264 keV 0 eV 4.04 cm 4.04 cm Target compt + 2 -1.37 mm -2.5 mm -2.41 m 216 keV 0 eV 3.84 mm 4.43 cm Target compt + 3 -685 mum -2.85 mm -2.41 m 0 eV 88 keV 953 mum 4.52 cm Target phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 169, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 15.8 mum 191 mum -2.44 m 12.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -22.9 mum 213 mum -2.44 m 10.7 MeV 650 keV 344 mum 344 mum Target eBrem - 2 -189 mum -152 mum -2.44 m 4.47 MeV 2.34 MeV 1.3 mm 1.64 mm Target eBrem - 3 -236 mum -264 mum -2.44 m 3.31 MeV 297 keV 240 mum 1.88 mm Target eBrem - 4 -27.1 mum -155 mum -2.44 m 1.73 MeV 390 keV 386 mum 2.26 mm Target eBrem - 5 28.2 mum -341 mum -2.44 m 348 keV 1.38 MeV 1.27 mm 3.53 mm Target eIoni - 6 35 mum -345 mum -2.44 m 0 eV 348 keV 184 mum 3.72 mm Target eIoni + 0 -685 mum -2.85 mm -2.41 m 128 keV 0 eV 0 fm 0 fm Target initStep + 1 -683 mum -2.85 mm -2.41 m 0 eV 128 keV 40.6 mum 40.6 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 227, Parent ID = 169 +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -27.1 mum -155 mum -2.44 m 1.18 MeV 0 eV 0 fm 0 fm Target initStep - 1 -172 mum -1.7 mm -2.45 m 367 keV 0 eV 3.2 mm 3.2 mm Target compt - 2 -3.32 mm -6 mm -2.44 m 197 keV 0 eV 5.79 mm 9 mm Target compt - 3 -3.21 mm -4.37 mm -2.44 m 0 eV 88 keV 2.54 mm 1.15 cm Target phot + 0 -1.37 mm -2.5 mm -2.41 m 47.9 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.38 mm -2.5 mm -2.41 m 0 eV 47.9 keV 8.35 mum 8.35 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 227 +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.21 mm -4.37 mm -2.44 m 109 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.21 mm -4.37 mm -2.44 m 0 eV 109 keV 31.6 mum 31.6 mum Target eIoni + 0 -918 mum 386 mum -2.41 m 1.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 -928 mum 784 mum -2.41 m 267 keV 1.25 MeV 1.14 mm 1.14 mm Target eIoni + 2 -932 mum 781 mum -2.41 m 0 eV 267 keV 125 mum 1.26 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 227 +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.32 mm -6 mm -2.44 m 170 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.32 mm -6 mm -2.44 m 0 eV 170 keV 63.5 mum 63.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 228, Parent ID = 227 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -172 mum -1.7 mm -2.45 m 818 keV 0 eV 0 fm 0 fm Target initStep - 1 -166 mum -1.71 mm -2.45 m 0 eV 818 keV 566 mum 566 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 169 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -236 mum -264 mum -2.44 m 867 keV 0 eV 0 fm 0 fm Target initStep - 1 2.96 mm 1.73 cm -2.45 m 867 keV 0 eV 1.93 cm 1.93 cm Target Transportation - 2 20.3 cm 1.12 m -2.91 m 867 keV 0 eV 1.21 m 1.23 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 225, Parent ID = 169 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -189 mum -152 mum -2.44 m 3.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 428 mum -1.35 mm -2.44 m 0 eV 88 keV 3.09 mm 3.09 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 231, Parent ID = 225 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 428 mum -1.35 mm -2.44 m 3.84 MeV 0 eV 0 fm 0 fm Target initStep - 1 581 mum -1.23 mm -2.44 m 2.93 MeV 416 keV 439 mum 439 mum Target eBrem - 2 548 mum -1.54 mm -2.44 m 0 eV 2.93 MeV 1.72 mm 2.15 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 232, Parent ID = 231 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 581 mum -1.23 mm -2.44 m 495 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.49 mm -1.52 cm -2.44 m 0 eV 88 keV 1.46 cm 1.46 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 233, Parent ID = 232 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.49 mm -1.52 cm -2.44 m 407 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.49 mm -1.53 cm -2.44 m 0 eV 407 keV 228 mum 228 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 224, Parent ID = 169 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -22.9 mum 213 mum -2.44 m 869 keV 0 eV 0 fm 0 fm Target initStep - 1 6.17 mm 6.62 mm -2.41 m 673 keV 0 eV 3.44 cm 3.44 cm Target compt - 2 3.96 mm 7.32 mm -2.41 m 625 keV 0 eV 5.54 mm 3.99 cm Target compt - 3 33 mum 1.04 cm -2.4 m 625 keV 0 eV 7.6 mm 4.75 cm Target Transportation - 4 -2.4 m 1.91 m 1.1 m 625 keV 0 eV 4.65 m 4.7 m Tracker Transportation - 5 -2.91 m 2.31 m 1.85 m 625 keV 0 eV 98.8 cm 5.69 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 235, Parent ID = 224 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.96 mm 7.32 mm -2.41 m 48.4 keV 0 eV 0 fm 0 fm Target initStep - 1 3.96 mm 7.32 mm -2.41 m 0 eV 48.4 keV 8.5 mum 8.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 234, Parent ID = 224 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.17 mm 6.62 mm -2.41 m 196 keV 0 eV 0 fm 0 fm Target initStep - 1 6.17 mm 6.62 mm -2.41 m 0 eV 196 keV 79.1 mum 79.1 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -21.6 mum 115 mum -2.45 m 19.2 MeV 0 eV 0 fm 0 fm Target initStep - 1 85.8 mum 408 mum -2.42 m 6.8 MeV 0 eV 3.34 cm 3.34 cm Target compt - 2 -1.31 mm -344 mum -2.41 m 0 eV 88 keV 5.27 mm 3.86 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.31 mm -344 mum -2.41 m 6.71 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.27 mm -159 mum -2.41 m 4.09 MeV 2.25 MeV 1.08 mm 1.08 mm Target eBrem - 2 -1.3 mm 223 mum -2.41 m 1.12 MeV 675 keV 694 mum 1.78 mm Target eBrem - 3 -1.31 mm 249 mum -2.41 m 4.44e-10 eV 1.12 MeV 821 mum 2.6 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 239, Parent ID = 237 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm 223 mum -2.41 m 2.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.68 mm 1.12 mm -2.41 m 1.41 MeV 0 eV 2.54 mm 2.54 mm Target compt - 2 -1.45 cm 2.5 cm -2.43 m 1.41 MeV 0 eV 3.39 cm 3.64 cm Target Transportation - 3 -31.6 cm 58.5 cm -2.91 m 1.41 MeV 0 eV 79.5 cm 83.2 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 239 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.68 mm 1.12 mm -2.41 m 894 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.67 mm 1.11 mm -2.41 m 3.33e-10 eV 894 keV 630 mum 630 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 238, Parent ID = 237 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.27 mm -159 mum -2.41 m 365 keV 0 eV 0 fm 0 fm Target initStep - 1 1.67 mm 947 mum -2.41 m 0 eV 88 keV 5.01 mm 5.01 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 241, Parent ID = 238 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.67 mm 947 mum -2.41 m 277 keV 0 eV 0 fm 0 fm Target initStep - 1 1.67 mm 946 mum -2.41 m 0 eV 277 keV 132 mum 132 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 85.8 mum 408 mum -2.42 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 750 mum -860 mum -2.41 m 7.92 MeV 3.94 MeV 3.27 mm 3.27 mm Target eBrem - 2 608 mum -842 mum -2.41 m 7.22 MeV 210 keV 200 mum 3.47 mm Target eBrem - 3 251 mum -503 mum -2.41 m 6.05 MeV 531 keV 539 mum 4.01 mm Target eBrem - 4 219 mum -476 mum -2.41 m 3.43 MeV 29.2 keV 41.8 mum 4.05 mm Target eBrem - 5 -276 mum -393 mum -2.41 m 2.49 MeV 634 keV 636 mum 4.69 mm Target eBrem - 6 -307 mum -597 mum -2.41 m 1.75 MeV 425 keV 464 mum 5.15 mm Target eBrem - 7 -390 mum -547 mum -2.41 m 342 keV 411 keV 392 mum 5.55 mm Target eBrem - 8 -390 mum -554 mum -2.41 m 0 eV 342 keV 179 mum 5.72 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 248, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -390 mum -547 mum -2.41 m 995 keV 0 eV 0 fm 0 fm Target initStep - 1 2.51 mm -2.5 cm -2.44 m 995 keV 0 eV 3.6 cm 3.6 cm Target Transportation - 2 5.45 cm -46.3 cm -2.91 m 995 keV 0 eV 64.4 cm 68 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 247, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -307 mum -597 mum -2.41 m 313 keV 0 eV 0 fm 0 fm Target initStep - 1 -539 mum -418 mum -2.41 m 0 eV 88 keV 317 mum 317 mum Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 249, Parent ID = 247 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -539 mum -418 mum -2.41 m 225 keV 0 eV 0 fm 0 fm Target initStep - 1 -542 mum -414 mum -2.41 m 0 eV 225 keV 97.6 mum 97.6 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 246, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -276 mum -393 mum -2.41 m 315 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.4 mm 2.41 mm -2.41 m 259 keV 0 eV 6.5 mm 6.5 mm Target compt - 2 -660 mum 3.21 mm -2.41 m 174 keV 0 eV 1.3 mm 7.8 mm Target compt - 3 -612 mum 3.12 mm -2.41 m 0 eV 88 keV 119 mum 7.92 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -612 mum 3.12 mm -2.41 m 85.8 keV 0 eV 0 fm 0 fm Target initStep - 1 -611 mum 3.12 mm -2.41 m 0 eV 85.8 keV 21.5 mum 21.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 251, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -660 mum 3.21 mm -2.41 m 85.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -660 mum 3.21 mm -2.41 m 2.78e-11 eV 85.7 keV 21.5 mum 21.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 250, Parent ID = 246 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.4 mm 2.41 mm -2.41 m 55.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.4 mm 2.41 mm -2.41 m 3.47e-11 eV 55.1 keV 10.5 mum 10.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 245, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 219 mum -476 mum -2.41 m 2.59 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.33 mm 872 mum -2.42 m 0 eV 0 eV 2.21 mm 2.21 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 254, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.33 mm 872 mum -2.42 m 927 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.37 mm 759 mum -2.42 m 22.8 keV 599 keV 631 mum 631 mum Target eBrem - 2 -1.37 mm 758 mum -2.42 m 0 eV 22.8 keV 2.11 mum 633 mum Target eIoni - 3 -1.37 mm 758 mum -2.42 m 0 eV 0 eV 0 fm 633 mum Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 257, Parent ID = 254 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm 758 mum -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 1.98 mm 2.55 mm -2.42 m 308 keV 0 eV 4.04 mm 4.04 mm Target compt - 2 1.91 mm 2.7 mm -2.42 m 0 eV 88 keV 340 mum 4.38 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 259, Parent ID = 257 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.91 mm 2.7 mm -2.42 m 220 keV 0 eV 0 fm 0 fm Target initStep - 1 1.91 mm 2.7 mm -2.42 m 5.55e-11 eV 220 keV 94.3 mum 94.3 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 258, Parent ID = 257 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.98 mm 2.55 mm -2.42 m 203 keV 0 eV 0 fm 0 fm Target initStep - 1 1.98 mm 2.55 mm -2.42 m 8.33e-11 eV 203 keV 83.3 mum 83.3 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 256, Parent ID = 254 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm 758 mum -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.45 mm -1.96 mm -2.41 m 174 keV 0 eV 6.15 mm 6.15 mm Target compt - 2 -5.57 mm -1.88 mm -2.41 m 0 eV 88 keV 960 mum 7.11 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 261, Parent ID = 256 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.57 mm -1.88 mm -2.41 m 86.3 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.57 mm -1.88 mm -2.41 m 0 eV 86.3 keV 21.8 mum 21.8 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 260, Parent ID = 256 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.45 mm -1.96 mm -2.41 m 337 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.46 mm -1.96 mm -2.41 m 0 eV 337 keV 175 mum 175 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 255, Parent ID = 254 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm 759 mum -2.42 m 305 keV 0 eV 0 fm 0 fm Target initStep - 1 1.48 mm 206 mum -2.42 m 0 eV 88 keV 4.75 mm 4.75 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 262, Parent ID = 255 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.48 mm 206 mum -2.42 m 217 keV 0 eV 0 fm 0 fm Target initStep - 1 1.48 mm 208 mum -2.42 m 2.78e-11 eV 217 keV 92.3 mum 92.3 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 245 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.33 mm 872 mum -2.42 m 638 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 mm 899 mum -2.42 m 3.33e-10 eV 638 keV 415 mum 415 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 244, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 251 mum -503 mum -2.41 m 641 keV 0 eV 0 fm 0 fm Target initStep - 1 -59.2 mum -377 mum -2.41 m 461 keV 0 eV 347 mum 347 mum Target compt - 2 -1.7 mm -1.15 mm -2.41 m 228 keV 0 eV 1.84 mm 2.19 mm Target compt - 3 -1.84 mm -936 mum -2.41 m 0 eV 88 keV 994 mum 3.18 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 265, Parent ID = 244 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.84 mm -936 mum -2.41 m 140 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm -937 mum -2.41 m 0 eV 140 keV 47.3 mum 47.3 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 264, Parent ID = 244 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.7 mm -1.15 mm -2.41 m 233 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.7 mm -1.15 mm -2.41 m 0 eV 233 keV 102 mum 102 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 263, Parent ID = 244 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -59.2 mum -377 mum -2.41 m 180 keV 0 eV 0 fm 0 fm Target initStep - 1 -60.9 mum -372 mum -2.41 m 8.33e-11 eV 180 keV 69.5 mum 69.5 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 243, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 608 mum -842 mum -2.41 m 487 keV 0 eV 0 fm 0 fm Target initStep - 1 -627 mum 59.5 mum -2.42 m 0 eV 88 keV 1.86 mm 1.86 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 266, Parent ID = 243 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -627 mum 59.5 mum -2.42 m 399 keV 0 eV 0 fm 0 fm Target initStep - 1 -640 mum 67.4 mum -2.42 m 1.11e-10 eV 399 keV 222 mum 222 mum Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 242, Parent ID = 236 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 750 mum -860 mum -2.41 m 531 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.73 mm 1.1 mm -2.42 m 0 eV 88 keV 5.84 mm 5.84 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 267, Parent ID = 242 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.73 mm 1.1 mm -2.42 m 443 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.74 mm 1.09 mm -2.42 m 0 eV 443 keV 256 mum 256 mum Target eIoni + 0 1.42 mum 177 mum -2.65 m 21.5 keV 0 eV 0 fm 0 fm World initStep + 1 -2.03 mm -1.88 mm -2.65 m 16.4 keV 5.12 keV 3.24 mm 3.24 mm World eIoni + 2 -2.03 mm -2.9 mm -2.65 m 13 keV 3.38 keV 2.52 mm 5.76 mm World eIoni + 3 -2.44 mm -1.5 mm -2.65 m 2.19 keV 10.8 keV 2.09 mm 7.85 mm World eIoni + 4 -2.44 mm -1.58 mm -2.65 m 0 eV 2.19 keV 180 mum 8.03 mm World eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -37.5 mum -1.48 mum -2.86 m 10.5 keV 0 eV 0 fm 0 fm World initStep - 1 -1.13 mm -1.04 mm -2.86 m 3.41 keV 7.08 keV 1.76 mm 1.76 mm World eIoni - 2 -1.09 mm -1.09 mm -2.86 m 4.34e-13 eV 3.41 keV 364 mum 2.13 mm World eIoni + 0 4.52 mum 37.2 mum -2.86 m 37.7 keV 0 eV 0 fm 0 fm World initStep + 1 5.01 mm -192 mum -2.86 m 27.7 keV 10 keV 6.35 mm 6.35 mm World eIoni + 2 9.26 mm -417 mum -2.86 m 20.8 keV 6.9 keV 4.29 mm 1.06 cm World eIoni + 3 9.91 mm -442 mum -2.86 m 12.5 keV 8.34 keV 3.13 mm 1.38 cm World eIoni + 4 1.01 cm 1.47 mm -2.86 m 6.73 keV 5.75 keV 2.02 mm 1.58 cm World eIoni + 5 1.06 cm 1.64 mm -2.86 m 0 eV 6.73 keV 1.12 mm 1.69 cm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 1 start. @@ -2478,157 +1664,4754 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm World initStep - 1 20.4 nm -11.3 nm -2.81 m 1e+03 GeV 25.9 keV 9.76 cm 9.76 cm World MuIoni - 2 100 nm -101 nm -2.45 m 1e+03 GeV 84.7 keV 36.2 cm 46 cm World Transportation - 3 116 nm -131 nm -2.4 m 1e+03 GeV 77.3 MeV 5 cm 51 cm Target Transportation - 4 -3.36 mum 11.5 mum -2.29 m 1e+03 GeV 20.2 keV 10.8 cm 61.8 cm Tracker MuIoni - 5 -25.7 mum 85.8 mum -1.6 m 1e+03 GeV 166 keV 69.2 cm 1.31 m Tracker Transportation - 6 -32.1 mum 107 mum -1.4 m 1e+03 GeV 187 keV 20 cm 1.51 m Chamber Transportation - 7 -51.6 mum 172 mum -80 cm 1e+03 GeV 135 keV 60 cm 2.11 m Tracker Transportation - 8 -58.1 mum 193 mum -60 cm 1e+03 GeV 184 keV 20 cm 2.31 m Chamber Transportation - 9 -78.1 mum 258 mum 0 fm 1e+03 GeV 139 keV 60 cm 2.91 m Tracker Transportation - 10 -84.7 mum 280 mum 20 cm 1e+03 GeV 184 keV 20 cm 3.11 m Chamber Transportation - 11 -104 mum 342 mum 76.8 cm 1e+03 GeV 127 keV 56.8 cm 3.68 m Tracker MuIoni - 12 -105 mum 346 mum 80 cm 1e+03 GeV 8.99 keV 3.24 cm 3.71 m Tracker Transportation - 13 -112 mum 368 mum 1 m 1e+03 GeV 112 keV 20 cm 3.91 m Chamber Transportation - 14 -123 mum 400 mum 1.3 m 1e+03 GeV 72.9 keV 29.7 cm 4.21 m Tracker MuIoni - 15 -131 mum 426 mum 1.53 m 1e+03 GeV 61.7 keV 23.8 cm 4.44 m Tracker MuIoni - 16 -133 mum 433 mum 1.6 m 1e+03 GeV 11.7 keV 6.54 cm 4.51 m Tracker Transportation - 17 -140 mum 455 mum 1.8 m 1e+03 GeV 158 keV 20 cm 4.71 m Chamber Transportation - 18 -159 mum 511 mum 2.31 m 1e+03 GeV 124 keV 51.4 cm 5.22 m Tracker MuIoni - 19 -162 mum 520 mum 2.4 m 1e+03 GeV 16.3 keV 8.57 cm 5.31 m Tracker Transportation - 20 -180 mum 575 mum 2.91 m 1e+03 GeV 115 keV 51 cm 5.82 m OutOfWorld Transportation + 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm World initStep + 1 59.5 nm 46.7 nm -2.7 m 1e+03 GeV 54.9 keV 21.4 cm 21.4 cm World MuIoni + 2 8.91 nm -59.6 nm -2.45 m 1e+03 GeV 50.6 keV 24.6 cm 46 cm World Transportation + 3 -980 nm -91.7 nm -2.42 m 999 GeV 63.3 MeV 3.25 cm 49.2 cm Target MuPairProd + 4 -1.16 mum -39.2 nm -2.41 m 999 GeV 14.1 MeV 5.91 mm 49.8 cm Target MuPairProd + 5 -1.53 mum 39.4 nm -2.4 m 999 GeV 15.8 MeV 1.16 cm 51 cm Target Transportation + 6 -45.2 mum 3.53 mum -1.6 m 999 GeV 175 keV 80 cm 1.31 m Tracker Transportation + 7 -56 mum 4.42 mum -1.4 m 999 GeV 135 keV 20 cm 1.51 m Chamber Transportation + 8 -87.5 mum 6.72 mum -82.6 cm 999 GeV 137 keV 57.4 cm 2.08 m Tracker MuIoni + 9 -88.9 mum 6.83 mum -80 cm 999 GeV 6.2 keV 2.65 cm 2.11 m Tracker Transportation + 10 -99.7 mum 7.61 mum -60 cm 999 GeV 159 keV 20 cm 2.31 m Chamber Transportation + 11 -131 mum 7.95 mum 0.114 fm 999 GeV 145 keV 60 cm 2.91 m Tracker Transportation + 12 -142 mum 8.06 mum 20 cm 999 GeV 149 keV 20 cm 3.11 m Chamber Transportation + 13 -173 mum 8.87 mum 80 cm 999 GeV 145 keV 60 cm 3.71 m Tracker Transportation + 14 -183 mum 9.03 mum 1 m 999 GeV 178 keV 20 cm 3.91 m Chamber Transportation + 15 -214 mum 9.13 mum 1.6 m 999 GeV 144 keV 60 cm 4.51 m Tracker Transportation + 16 -224 mum 9.19 mum 1.8 m 999 GeV 183 keV 20 cm 4.71 m Chamber Transportation + 17 -238 mum 9.43 mum 2.08 m 999 GeV 63.6 keV 28.4 cm 4.99 m Tracker MuIoni + 18 -253 mum 9.68 mum 2.4 m 999 GeV 72.2 keV 31.6 cm 5.31 m Tracker Transportation + 19 -255 mum 9.7 mum 2.45 m 999 GeV 7.28 keV 5.08 cm 5.36 m World MuIoni + 20 -260 mum 9.76 mum 2.55 m 999 GeV 18 keV 9.59 cm 5.46 m World MuIoni + 21 -277 mum 10 mum 2.91 m 999 GeV 82 keV 36.3 cm 5.82 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -260 mum 9.76 mum 2.55 m 86.2 keV 0 eV 0 fm 0 fm World initStep + 1 -3.98 mm -2.06 cm 2.55 m 76.4 keV 9.8 keV 2.26 cm 2.26 cm World eIoni + 2 -3.52 mm -1.39 cm 2.54 m 69.1 keV 7.32 keV 1.85 cm 4.11 cm World eIoni + 3 -1.24 cm -2.55 cm 2.53 m 58.6 keV 10.5 keV 1.58 cm 5.69 cm World eIoni + 4 -1.08 cm -2.49 cm 2.54 m 51.5 keV 7.12 keV 1.22 cm 6.91 cm World eIoni + 5 -8.21 mm -2.51 cm 2.55 m 44.7 keV 6.79 keV 9.95 mm 7.91 cm World eIoni + 6 -4.64 mm -3.07 cm 2.55 m 34 keV 10.7 keV 8.07 mm 8.71 cm World eIoni + 7 -3.39 mm -3.11 cm 2.55 m 28.1 keV 5.89 keV 5.53 mm 9.27 cm World eIoni + 8 -3.8 mm -3.49 cm 2.55 m 25.5 keV 2.67 keV 4.36 mm 9.7 cm World eIoni + 9 -5.48 mm -3.64 cm 2.55 m 22.1 keV 3.38 keV 3.88 mm 10.1 cm World eIoni + 10 -5.7 mm -3.92 cm 2.56 m 12.5 keV 9.58 keV 3.34 mm 10.4 cm World eIoni + 11 -6.69 mm -4.07 cm 2.56 m 8.35 keV 4.17 keV 2.03 mm 10.6 cm World eIoni + 12 -8.18 mm -4.01 cm 2.56 m 1.01 keV 7.34 keV 1.44 mm 10.8 cm World eIoni + 13 -8.16 mm -4.01 cm 2.56 m 0 eV 1.01 keV 58.9 mum 10.8 cm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -255 mum 9.7 mum 2.45 m 41.7 keV 0 eV 0 fm 0 fm World initStep + 1 -7.4 mm -1.85 mm 2.45 m 36.4 keV 5.31 keV 7.3 mm 7.3 mm World eIoni + 2 -1.08 cm -5.99 mm 2.45 m 32.6 keV 3.78 keV 6.02 mm 1.33 cm World eIoni + 3 -1.48 cm -5.52 mm 2.46 m 27.2 keV 5.39 keV 5.23 mm 1.85 cm World eIoni + 4 -1.56 cm -6.42 mm 2.46 m 22.3 keV 4.91 keV 4.19 mm 2.27 cm World eIoni + 5 -1.7 cm -9.1 mm 2.46 m 15.9 keV 6.36 keV 3.37 mm 2.61 cm World eIoni + 6 -1.69 cm -1.13 cm 2.46 m 7.43 keV 8.49 keV 2.46 mm 2.86 cm World eIoni + 7 -1.62 cm -9.93 mm 2.46 m 2.13 keV 5.3 keV 1.28 mm 2.98 cm World eIoni + 8 -1.61 cm -9.9 mm 2.46 m 0 eV 2.13 keV 172 mum 3 cm World eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -159 mum 511 mum 2.31 m 32 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.32 mm 4.5 mm 2.32 m 27.3 keV 4.73 keV 5.11 mm 5.11 mm Tracker eIoni - 2 -1.35 mm 7.34 mm 2.32 m 22 keV 5.23 keV 4.2 mm 9.31 mm Tracker eIoni - 3 -1.59 mm 1.04 cm 2.32 m 17.9 keV 4.16 keV 3.33 mm 1.26 cm Tracker eIoni - 4 -3.38 mm 1.14 cm 2.32 m 13.5 keV 4.39 keV 2.72 mm 1.54 cm Tracker eIoni - 5 -4.39 mm 1.23 cm 2.32 m 8.02 keV 5.46 keV 2.15 mm 1.75 cm Tracker eIoni - 6 -3.63 mm 1.21 cm 2.32 m 0 eV 8.02 keV 1.39 mm 1.89 cm Tracker eIoni + 0 -238 mum 9.43 mum 2.08 m 34.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.22 mm 1.9 mm 2.09 m 22.4 keV 2.1 keV 2.82 mm 2.82 mm Tracker eIoni + 2 2.99 mm 1.47 mm 2.09 m 16.5 keV 5.98 keV 3.39 mm 6.21 mm Tracker eIoni + 3 3.52 mm 228 mum 2.09 m 11.4 keV 5.05 keV 2.53 mm 8.74 mm Tracker eIoni + 4 1.97 mm 417 mum 2.09 m 7.79 keV 3.61 keV 1.88 mm 1.06 cm Tracker eIoni + 5 1.65 mm 237 mum 2.09 m 0 eV 7.79 keV 1.35 mm 1.2 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.22 mm 1.9 mm 2.09 m 9.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.49 mm 2.63 mm 2.08 m 4.91 keV 4.89 keV 1.67 mm 1.67 mm Tracker eIoni + 2 2.22 mm 2.77 mm 2.08 m 0 eV 4.91 keV 665 mum 2.33 mm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -131 mum 426 mum 1.53 m 8.21 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -138 mum -545 mum 1.54 m 4.72 keV 3.5 keV 1.42 mm 1.42 mm Tracker eIoni - 2 55.5 mum -401 mum 1.54 m 0 eV 4.72 keV 621 mum 2.04 mm Tracker eIoni + 0 -87.5 mum 6.72 mum -82.6 cm 11.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -1.27 mm 1.19 mm -82.5 cm 4 keV 7.62 keV 1.91 mm 1.91 mm Tracker eIoni + 2 -1.2 mm 1.37 mm -82.5 cm 0 eV 4 keV 471 mum 2.38 mm Tracker eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +* G4Track Information: Particle = e+, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -123 mum 400 mum 1.3 m 284 keV 0 eV 0 fm 0 fm Tracker initStep - 1 9.53 mm -2.6 cm 1.31 m 253 keV 11.5 keV 3.04 cm 3.04 cm Tracker eIoni - 2 1.61 cm -13.3 cm 1.36 m 222 keV 31.3 keV 13.2 cm 16.2 cm Tracker eIoni - 3 4.27 cm -20.8 cm 1.43 m 193 keV 28.8 keV 10.7 cm 26.9 cm Tracker eIoni - 4 2.8 cm -27.9 cm 1.46 m 155 keV 38.3 keV 8.52 cm 35.4 cm Tracker eIoni - 5 7.84 mm -31.5 cm 1.49 m 138 keV 16.2 keV 5.94 cm 41.3 cm Tracker eIoni - 6 -2.75 cm -34.3 cm 1.5 m 125 keV 13.3 keV 4.95 cm 46.3 cm Tracker eIoni - 7 -6.31 cm -36.2 cm 1.51 m 110 keV 15.5 keV 4.19 cm 50.5 cm Tracker eIoni - 8 -7.95 cm -38.9 cm 1.51 m 101 keV 9.1 keV 3.35 cm 53.8 cm Tracker eIoni - 9 -8.55 cm -41.7 cm 1.51 m 91.7 keV 8.89 keV 2.92 cm 56.8 cm Tracker eIoni - 10 -8.32 cm -43.9 cm 1.5 m 83 keV 8.62 keV 2.49 cm 59.3 cm Tracker eIoni - 11 -6.79 cm -42.7 cm 1.51 m 72.4 keV 10.6 keV 2.13 cm 61.4 cm Tracker eIoni - 12 -5.23 cm -42.3 cm 1.51 m 52.7 keV 19.7 keV 1.7 cm 63.1 cm Tracker eIoni - 13 -4.74 cm -41.4 cm 1.51 m 46.2 keV 6.52 keV 1.03 cm 64.1 cm Tracker eIoni - 14 -4.54 cm -40.7 cm 1.51 m 38.2 keV 7.98 keV 8.48 mm 65 cm Tracker eIoni - 15 -4.37 cm -41 cm 1.5 m 33.6 keV 4.67 keV 6.47 mm 65.6 cm Tracker eIoni - 16 -4.11 cm -40.7 cm 1.5 m 30.5 keV 3.1 keV 5.43 mm 66.2 cm Tracker eIoni - 17 -3.92 cm -40.9 cm 1.5 m 25.4 keV 5.1 keV 4.79 mm 66.6 cm Tracker eIoni - 18 -3.58 cm -41 cm 1.5 m 19.9 keV 5.48 keV 3.86 mm 67 cm Tracker eIoni - 19 -3.8 cm -41.1 cm 1.5 m 12 keV 7.83 keV 3 mm 67.3 cm Tracker eIoni - 20 -3.92 cm -41.2 cm 1.5 m 4.44 keV 7.61 keV 1.96 mm 67.5 cm Tracker eIoni - 21 -3.97 cm -41.2 cm 1.5 m 0 eV 4.44 keV 563 mum 67.6 cm Tracker eIoni + 0 -1.16 mum -39.2 nm -2.41 m 39.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.38 mum -6.3 mum -2.41 m 39 MeV 151 keV 159 mum 159 mum Target eBrem + 2 31.3 mum 35.7 mum -2.41 m 37 MeV 869 keV 562 mum 721 mum Target eBrem + 3 18.3 mum 53.7 mum -2.41 m 36.2 MeV 290 keV 290 mum 1.01 mm Target eBrem + 4 -67 mum 100 mum -2.41 m 33.4 MeV 1.06 MeV 654 mum 1.67 mm Target eBrem + 5 -678 mum 880 mum -2.41 m 27.5 MeV 5.31 MeV 3.32 mm 4.98 mm Target eBrem + 6 -675 mum 856 mum -2.41 m 12.8 MeV 101 keV 95.6 mum 5.08 mm Target eBrem + 7 -732 mum 752 mum -2.41 m 11.3 MeV 944 keV 785 mum 5.86 mm Target eBrem + 8 -532 mum 507 mum -2.41 m 9.45 MeV 873 keV 780 mum 6.64 mm Target eBrem + 9 -604 mum -182 mum -2.4 m 5.53 MeV 897 keV 856 mum 7.5 mm Target eBrem + 10 -584 mum -320 mum -2.4 m 4.89 MeV 338 keV 176 mum 7.67 mm Target eBrem + 11 -21.5 mum -883 mum -2.4 m 3.21 MeV 763 keV 748 mum 8.42 mm Target eBrem + 12 254 mum -749 mum -2.4 m 15.4 keV 1.82 MeV 1.57 mm 10 mm Target eBrem + 13 254 mum -749 mum -2.4 m 0 eV 15.4 keV 1.11 mum 10 mm Target eIoni + 14 254 mum -749 mum -2.4 m 0 eV 0 eV 0 fm 10 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +* G4Track Information: Particle = gamma, Track ID = 24, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.53 mm -2.6 cm 1.31 m 19.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.13 cm -2.69 cm 1.31 m 13.6 keV 5.93 keV 2.95 mm 2.95 mm Tracker eIoni - 2 1.26 cm -2.69 cm 1.3 m 8.81 keV 4.78 keV 2.16 mm 5.12 mm Tracker eIoni - 3 1.38 cm -2.75 cm 1.3 m 1.88 keV 6.93 keV 1.52 mm 6.64 mm Tracker eIoni - 4 1.39 cm -2.75 cm 1.3 m 4.34e-13 eV 1.88 keV 142 mum 6.78 mm Tracker eIoni + 0 254 mum -749 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.5 mm 8.43 mm -2.41 m 358 keV 0 eV 1.38 cm 1.38 cm Target compt + 2 434 mum 8.79 mm -2.41 m 0 eV 88 keV 1.47 mm 1.53 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 24 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -104 mum 342 mum 76.8 cm 163 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.06 cm -5.46 cm 78.8 cm 144 keV 19.5 keV 6.49 cm 6.49 cm Tracker eIoni - 2 2.41 cm -10.1 cm 78.6 cm 132 keV 12.1 keV 5.27 cm 11.8 cm Tracker eIoni - 3 2.19 cm -11.2 cm 77.8 cm 78.3 keV 9.14 keV 1.39 cm 13.2 cm Tracker eIoni - 4 2.08 cm -12.9 cm 78.1 cm 69.5 keV 8.82 keV 1.93 cm 15.1 cm Tracker eIoni - 5 2.31 cm -14.4 cm 78.1 cm 62.5 keV 6.99 keV 1.59 cm 16.7 cm Tracker eIoni - 6 1.65 cm -15.5 cm 77.9 cm 54.8 keV 7.69 keV 1.34 cm 18 cm Tracker eIoni - 7 2.3 cm -15.7 cm 78.7 cm 46.5 keV 8.3 keV 1.09 cm 19.1 cm Tracker eIoni - 8 2.32 cm -16.1 cm 79.3 cm 37.5 keV 8.97 keV 8.55 mm 20 cm Tracker eIoni - 9 2.52 cm -16.4 cm 79.8 cm 31.7 keV 5.8 keV 6.29 mm 20.6 cm Tracker eIoni - 10 2.68 cm -16.7 cm 80 cm 29.1 keV 2.63 keV 4.61 mm 21.1 cm Tracker Transportation - 11 2.71 cm -16.8 cm 80 cm 25.8 keV 3.26 keV 1.25 mm 21.2 cm Chamber msc - 12 2.74 cm -16.8 cm 80 cm 24.7 keV 1.15 keV 553 mum 21.2 cm Chamber Transportation - 13 2.74 cm -16.8 cm 80 cm 24.7 keV 0 eV 0 fm 21.2 cm Tracker Transportation - 14 2.77 cm -16.8 cm 80 cm 23.9 keV 797 eV 948 mum 21.3 cm Chamber msc - 15 2.73 cm -16.9 cm 80 cm 22 keV 1.87 keV 949 mum 21.4 cm Chamber msc - 16 2.72 cm -16.9 cm 80 cm 21.3 keV 662 eV 579 mum 21.5 cm Chamber Transportation - 17 2.72 cm -16.9 cm 80 cm 21.3 keV 0 eV 0 fm 21.5 cm Tracker Transportation - 18 2.73 cm -17 cm 80 cm 19.5 keV 1.83 keV 746 mum 21.6 cm Chamber msc - 19 2.73 cm -17 cm 80 cm 19.5 keV 24.7 eV 21.6 mum 21.6 cm Chamber Transportation - 20 2.75 cm -17.1 cm 79.9 cm 17.5 keV 1.94 keV 1.45 mm 21.7 cm Tracker msc - 21 2.84 cm -17.1 cm 79.8 cm 15 keV 2.53 keV 1.45 mm 21.9 cm Tracker msc - 22 2.94 cm -17.1 cm 79.7 cm 11.2 keV 3.82 keV 1.45 mm 22 cm Tracker msc - 23 2.91 cm -17.1 cm 79.6 cm 0 eV 11.2 keV 1.45 mm 22.1 cm Tracker msc + 0 434 mum 8.79 mm -2.41 m 270 keV 0 eV 0 fm 0 fm Target initStep + 1 434 mum 8.79 mm -2.41 m 1.11e-10 eV 270 keV 128 mum 128 mum Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 24 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.19 cm -11.2 cm 77.8 cm 44.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 1.94 cm -11.6 cm 77.2 cm 35.2 keV 9.02 keV 7.94 mm 7.94 mm Tracker eIoni - 2 2 cm -11.5 cm 76.7 cm 29.7 keV 5.55 keV 5.78 mm 1.37 cm Tracker eIoni - 3 2.06 cm -11.7 cm 76.3 cm 25.8 keV 3.89 keV 4.64 mm 1.84 cm Tracker eIoni - 4 1.8 cm -12 cm 76.3 cm 22 keV 3.77 keV 3.94 mm 2.23 cm Tracker eIoni - 5 1.49 cm -11.9 cm 76.3 cm 17.5 keV 4.55 keV 3.33 mm 2.56 cm Tracker eIoni - 6 1.28 cm -11.8 cm 76.4 cm 10.9 keV 6.59 keV 2.66 mm 2.83 cm Tracker eIoni - 7 1.17 cm -11.7 cm 76.3 cm 5.78 keV 5.1 keV 1.82 mm 3.01 cm Tracker eIoni - 8 1.19 cm -11.7 cm 76.3 cm 0 eV 5.78 keV 875 mum 3.1 cm Tracker eIoni + 0 1.5 mm 8.43 mm -2.41 m 153 keV 0 eV 0 fm 0 fm Target initStep + 1 1.51 mm 8.43 mm -2.41 m 0 eV 153 keV 53.8 mum 53.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 23, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 254 mum -749 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 170 mum -1.37 mm -2.4 m 505 keV 0 eV 930 mum 930 mum Target compt + 2 -208 mum -3.23 mm -2.4 m 505 keV 0 eV 3.45 mm 4.38 mm Target Transportation + 3 -48.6 cm -2.4 m 1.3 m 505 keV 0 eV 4.43 m 4.44 m Tracker Transportation + 4 -59 cm -2.91 m 2.09 m 505 keV 0 eV 94.4 cm 5.38 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 23 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 170 mum -1.37 mm -2.4 m 5.99 keV 0 eV 0 fm 0 fm Target initStep + 1 170 mum -1.37 mm -2.4 m 0 eV 5.99 keV 332 nm 332 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 22, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 254 mum -749 mum -2.4 m 1.37 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.22 cm 270 mum -2.4 m 1.2 MeV 0 eV 1.27 cm 1.27 cm Target compt + 2 -1.28 cm 410 mum -2.4 m 1.07 MeV 0 eV 624 mum 1.33 cm Target compt + 3 -1.94 cm 4.14 mm -2.4 m 609 keV 0 eV 7.84 mm 2.11 cm Target compt + 4 -2.41 cm 7.38 mm -2.4 m 609 keV 0 eV 6.88 mm 2.8 cm Target Transportation + 5 -2.4 m 1.64 m -47.3 cm 609 keV 0 eV 3.47 m 3.5 m Tracker Transportation + 6 -2.91 m 1.99 m -5.92 cm 609 keV 0 eV 74.4 cm 4.24 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.94 cm 4.14 mm -2.4 m 461 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.94 cm 4.15 mm -2.4 m 1.11e-10 eV 461 keV 270 mum 270 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.28 cm 410 mum -2.4 m 131 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.28 cm 409 mum -2.4 m 5.55e-11 eV 131 keV 42.1 mum 42.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.22 cm 270 mum -2.4 m 169 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.22 cm 269 mum -2.4 m 0 eV 169 keV 62.9 mum 62.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 21, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -21.5 mum -883 mum -2.4 m 917 keV 0 eV 0 fm 0 fm Target initStep + 1 617 mum -1.05 cm -2.4 m 917 keV 0 eV 1.08 cm 1.08 cm Target Transportation + 2 15.9 cm -2.4 m -1.22 m 917 keV 0 eV 2.67 m 2.68 m Tracker Transportation + 3 17.1 cm -2.57 m -1.13 m 614 keV 0 eV 19.4 cm 2.88 m World compt + 4 11.8 cm -2.91 m -1.22 m 614 keV 0 eV 35.3 cm 3.23 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 17.1 cm -2.57 m -1.13 m 303 keV 0 eV 0 fm 0 fm World initStep + 1 19.3 cm -2.64 m -99.4 cm 253 keV 49.8 keV 17.4 cm 17.4 cm World eIoni + 2 25.6 cm -2.6 m -89.4 cm 218 keV 34.6 keV 13.2 cm 30.6 cm World eIoni + 3 29 cm -2.6 m -79.9 cm 192 keV 26.2 keV 10.4 cm 41 cm World eIoni + 4 35.4 cm -2.56 m -77.3 cm 166 keV 26 keV 8.45 cm 49.5 cm World eIoni + 5 36.5 cm -2.57 m -77.8 cm 95.8 keV 3.96 keV 1.8 cm 51.3 cm World eIoni + 6 37.9 cm -2.58 m -76.3 cm 83 keV 12.9 keV 2.69 cm 54 cm World eIoni + 7 37.3 cm -2.6 m -75.5 cm 75.8 keV 7.23 keV 2.13 cm 56.1 cm World eIoni + 8 37.7 cm -2.61 m -74.5 cm 66.2 keV 9.52 keV 1.83 cm 57.9 cm World eIoni + 9 37.8 cm -2.62 m -73.5 cm 57.9 keV 8.31 keV 1.48 cm 59.4 cm World eIoni + 10 38.7 cm -2.63 m -73.2 cm 50.7 keV 7.26 keV 1.2 cm 60.6 cm World eIoni + 11 38.7 cm -2.64 m -72.7 cm 44.7 keV 5.94 keV 9.72 mm 61.6 cm World eIoni + 12 38.7 cm -2.64 m -72.7 cm 28.4 keV 1.07 keV 1.51 mm 61.7 cm World eIoni + 13 39.1 cm -2.64 m -72.7 cm 23.8 keV 4.58 keV 4.41 mm 62.1 cm World eIoni + 14 39.3 cm -2.64 m -73 cm 13.9 keV 9.91 keV 3.61 mm 62.5 cm World eIoni + 15 39.5 cm -2.64 m -73.1 cm 9.93 keV 3.98 keV 2.2 mm 62.7 cm World eIoni + 16 39.6 cm -2.64 m -73 cm 4.74 keV 5.18 keV 1.68 mm 62.9 cm World eIoni + 17 39.5 cm -2.64 m -73 cm 0 eV 4.74 keV 627 mum 63 cm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 31 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 38.7 cm -2.64 m -72.7 cm 15.3 keV 0 eV 0 fm 0 fm World initStep + 1 38.6 cm -2.64 m -72.9 cm 11.2 keV 4.09 keV 2.38 mm 2.38 mm World eIoni + 2 38.7 cm -2.64 m -72.9 cm 3.64 keV 7.55 keV 1.86 mm 4.24 mm World eIoni + 3 38.7 cm -2.64 m -72.9 cm 0 eV 3.64 keV 406 mum 4.64 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 31 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 36.5 cm -2.57 m -77.8 cm 66.3 keV 0 eV 0 fm 0 fm World initStep + 1 37 cm -2.57 m -79.1 cm 57.4 keV 8.82 keV 1.48 cm 1.48 cm World eIoni + 2 36.7 cm -2.58 m -80.1 cm 52.8 keV 4.68 keV 1.18 cm 2.66 cm World eIoni + 3 36.6 cm -2.58 m -80.8 cm 44.3 keV 8.52 keV 1.03 cm 3.69 cm World eIoni + 4 37 cm -2.59 m -81.3 cm 39.7 keV 4.56 keV 7.94 mm 4.48 cm World eIoni + 5 37.2 cm -2.58 m -80.9 cm 32.7 keV 6.99 keV 6.82 mm 5.16 cm World eIoni + 6 37.4 cm -2.58 m -80.4 cm 25.9 keV 6.81 keV 5.26 mm 5.69 cm World eIoni + 7 37.5 cm -2.58 m -80 cm 19.7 keV 6.16 keV 3.95 mm 6.08 cm World eIoni + 8 37.6 cm -2.58 m -79.7 cm 15.1 keV 4.62 keV 2.98 mm 6.38 cm World eIoni + 9 37.6 cm -2.58 m -79.5 cm 10.9 keV 4.24 keV 2.36 mm 6.62 cm World eIoni + 10 37.7 cm -2.58 m -79.4 cm 7.48 keV 3.39 keV 1.82 mm 6.8 cm World eIoni + 11 37.7 cm -2.58 m -79.3 cm 69.8 eV 7.41 keV 1.29 mm 6.93 cm World eIoni + 12 37.7 cm -2.58 m -79.3 cm 0 eV 69.8 eV 8 mum 6.93 cm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -584 mum -320 mum -2.4 m 299 keV 0 eV 0 fm 0 fm Target initStep + 1 -573 mum -353 mum -2.4 m 0 eV 88 keV 36.3 mum 36.3 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -573 mum -353 mum -2.4 m 211 keV 0 eV 0 fm 0 fm Target initStep + 1 -570 mum -357 mum -2.4 m 8.33e-11 eV 211 keV 88.7 mum 88.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -604 mum -182 mum -2.4 m 3.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.74 mm -5.91 mm -2.4 m 468 keV 0 eV 7.59 mm 7.59 mm Target compt + 2 1.38 mm -7.02 mm -2.4 m 194 keV 0 eV 1.77 mm 9.36 mm Target compt + 3 1.38 mm -7.01 mm -2.4 m 0 eV 88 keV 14.3 mum 9.37 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.38 mm -7.01 mm -2.4 m 106 keV 0 eV 0 fm 0 fm Target initStep + 1 1.38 mm -7.01 mm -2.4 m 2.78e-11 eV 106 keV 30 mum 30 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.38 mm -7.02 mm -2.4 m 275 keV 0 eV 0 fm 0 fm Target initStep + 1 1.38 mm -7.03 mm -2.4 m 0 eV 275 keV 131 mum 131 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.74 mm -5.91 mm -2.4 m 2.56 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.62 mm -6.27 mm -2.4 m 107 keV 2.45 MeV 506 mum 506 mum Target eBrem + 2 2.62 mm -6.27 mm -2.4 m 2.78e-11 eV 107 keV 30.8 mum 537 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -532 mum 507 mum -2.41 m 998 keV 0 eV 0 fm 0 fm Target initStep + 1 2.37 mm -1.18 cm -2.4 m 998 keV 0 eV 1.37 cm 1.37 cm Target Transportation + 2 56.4 cm -2.4 m -1.37 m 998 keV 0 eV 2.66 m 2.68 m Tracker Transportation + 3 68.4 cm -2.91 m -1.15 m 998 keV 0 eV 56.8 cm 3.24 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -732 mum 752 mum -2.41 m 492 keV 0 eV 0 fm 0 fm Target initStep + 1 3.1 mm -2.33 mm -2.4 m 492 keV 0 eV 7.8 mm 7.8 mm Target Transportation + 2 2.4 m -1.94 m 1.39 m 492 keV 0 eV 4.88 m 4.89 m Tracker Transportation + 3 2.91 m -2.35 m 2.2 m 492 keV 0 eV 1.04 m 5.93 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -675 mum 856 mum -2.41 m 14.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -111 mum -1.63 mm -2.4 m 14.6 MeV 0 eV 7.27 mm 7.27 mm Target Transportation + 2 13.3 cm -58.7 cm -80 cm 14.6 MeV 0 eV 1.71 m 1.72 m Tracker Transportation + 3 14.9 cm -66 cm -60 cm 14.6 MeV 0 eV 21.4 cm 1.93 m Chamber Transportation + 4 19.9 cm -87.9 cm 0 fm 14.6 MeV 0 eV 64.1 cm 2.57 m Tracker Transportation + 5 21.5 cm -95.2 cm 20 cm 14.6 MeV 0 eV 21.4 cm 2.78 m Chamber Transportation + 6 26.5 cm -1.17 m 80 cm 14.6 MeV 0 eV 64.1 cm 3.42 m Tracker Transportation + 7 28.2 cm -1.25 m 1 m 14.6 MeV 0 eV 21.4 cm 3.64 m Chamber Transportation + 8 33.1 cm -1.46 m 1.6 m 14.6 MeV 0 eV 64.1 cm 4.28 m Tracker Transportation + 9 34.8 cm -1.54 m 1.8 m 14.6 MeV 0 eV 21.4 cm 4.49 m Chamber Transportation + 10 39.8 cm -1.76 m 2.4 m 14.6 MeV 0 eV 64.1 cm 5.13 m Tracker Transportation + 11 44 cm -1.94 m 2.91 m 14.6 MeV 0 eV 54.5 cm 5.68 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -678 mum 880 mum -2.41 m 580 keV 0 eV 0 fm 0 fm Target initStep + 1 -238 mum -941 mum -2.4 m 580 keV 0 eV 7.15 mm 7.15 mm Target Transportation + 2 5.07 cm -21.2 cm -1.6 m 580 keV 0 eV 82.9 cm 83.6 cm Tracker Transportation + 3 5.74 cm -24 cm -1.49 m 580 keV 0 eV 10.9 cm 94.5 cm Chamber Transportation + 4 10.2 cm -42.3 cm -80 cm 580 keV 0 eV 72 cm 1.67 m Tracker Transportation + 5 11.4 cm -47.6 cm -60 cm 580 keV 0 eV 20.7 cm 1.87 m Chamber Transportation + 6 15.3 cm -63.5 cm -0.114 fm 580 keV 0 eV 62.2 cm 2.49 m Tracker Transportation + 7 16.5 cm -68.7 cm 20 cm 580 keV 0 eV 20.7 cm 2.7 m Chamber Transportation + 8 20.4 cm -84.6 cm 80 cm 580 keV 0 eV 62.2 cm 3.32 m Tracker Transportation + 9 21.6 cm -89.9 cm 1 m 580 keV 0 eV 20.7 cm 3.53 m Chamber Transportation + 10 25.5 cm -1.06 m 1.6 m 580 keV 0 eV 62.2 cm 4.15 m Tracker Transportation + 11 26.7 cm -1.11 m 1.8 m 580 keV 0 eV 20.7 cm 4.36 m Chamber Transportation + 12 30.5 cm -1.27 m 2.4 m 580 keV 0 eV 62.2 cm 4.98 m Tracker Transportation + 13 33.8 cm -1.4 m 2.91 m 580 keV 0 eV 52.8 cm 5.51 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -67 mum 100 mum -2.41 m 1.74 MeV 0 eV 0 fm 0 fm Target initStep + 1 -622 mum -151 mum -2.4 m 1.74 MeV 0 eV 9.97 mm 9.97 mm Target Transportation + 2 -4.52 cm -2.03 cm -1.6 m 1.74 MeV 0 eV 80.1 cm 81.1 cm Tracker Transportation + 3 -5.64 cm -2.54 cm -1.4 m 1.74 MeV 0 eV 20 cm 1.01 m Chamber Transportation + 4 -8.99 cm -4.05 cm -80 cm 1.74 MeV 0 eV 60.1 cm 1.61 m Tracker Transportation + 5 -10.1 cm -4.55 cm -60 cm 1.74 MeV 0 eV 20 cm 1.81 m Chamber Transportation + 6 -13.4 cm -6.07 cm 0 fm 1.74 MeV 0 eV 60.1 cm 2.41 m Tracker Transportation + 7 -14.6 cm -6.57 cm 20 cm 1.74 MeV 0 eV 20 cm 2.61 m Chamber Transportation + 8 -17.9 cm -8.08 cm 80 cm 1.74 MeV 0 eV 60.1 cm 3.22 m Tracker Transportation + 9 -19 cm -8.59 cm 1 m 1.74 MeV 0 eV 20 cm 3.42 m Chamber Transportation + 10 -22.4 cm -10.1 cm 1.6 m 1.74 MeV 0 eV 60.1 cm 4.02 m Tracker Transportation + 11 -23.5 cm -10.6 cm 1.8 m 1.74 MeV 0 eV 20 cm 4.22 m Chamber Transportation + 12 -26.8 cm -12.1 cm 2.4 m 1.74 MeV 0 eV 60.1 cm 4.82 m Tracker Transportation + 13 -29.7 cm -13.4 cm 2.91 m 1.74 MeV 0 eV 51.1 cm 5.33 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 18.3 mum 53.7 mum -2.41 m 536 keV 0 eV 0 fm 0 fm Target initStep + 1 -371 mum 262 mum -2.4 m 0 eV 88 keV 8.69 mm 8.69 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -371 mum 262 mum -2.4 m 448 keV 0 eV 0 fm 0 fm Target initStep + 1 -360 mum 269 mum -2.4 m 0 eV 448 keV 260 mum 260 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 31.3 mum 35.7 mum -2.41 m 1.06 MeV 0 eV 0 fm 0 fm Target initStep + 1 39.4 mum -84.6 mum -2.41 m 218 keV 0 eV 5.44 mm 5.44 mm Target compt + 2 148 mum -64.8 mum -2.41 m 0 eV 88 keV 216 mum 5.65 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 148 mum -64.8 mum -2.41 m 130 keV 0 eV 0 fm 0 fm Target initStep + 1 150 mum -64.2 mum -2.41 m 0 eV 130 keV 41.9 mum 41.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 39.4 mum -84.6 mum -2.41 m 846 keV 0 eV 0 fm 0 fm Target initStep + 1 35.6 mum -86.1 mum -2.41 m 1.11e-10 eV 846 keV 590 mum 590 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.38 mum -6.3 mum -2.41 m 382 keV 0 eV 0 fm 0 fm Target initStep + 1 -9.02 mum 37.6 mum -2.41 m 267 keV 0 eV 562 mum 562 mum Target compt + 2 2.62 mm 641 mum -2.41 m 0 eV 88 keV 2.98 mm 3.55 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.62 mm 641 mum -2.41 m 179 keV 0 eV 0 fm 0 fm Target initStep + 1 2.62 mm 641 mum -2.41 m 2.78e-11 eV 179 keV 69 mum 69 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.02 mum 37.6 mum -2.41 m 115 keV 0 eV 0 fm 0 fm Target initStep + 1 -10.6 mum 37.4 mum -2.41 m 0 eV 115 keV 34.4 mum 34.4 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -980 nm -91.7 nm -2.42 m 295 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.17 mum -8.14 mum -2.42 m 191 MeV 4.26 MeV 601 mum 601 mum Target eBrem + 2 16.6 mum -689 nm -2.42 m 186 MeV 999 keV 743 mum 1.34 mm Target eBrem + 3 -8.12 mum -25 mum -2.42 m 184 MeV 1.85 MeV 981 mum 2.32 mm Target eBrem + 4 -57.1 mum -4.27 mum -2.41 m 177 MeV 808 keV 632 mum 2.96 mm Target eBrem + 5 -145 mum 65.3 mum -2.41 m 147 MeV 5.33 MeV 1.2 mm 4.16 mm Target eBrem + 6 -197 mum 97.3 mum -2.41 m 142 MeV 1.6 MeV 1.1 mm 5.26 mm Target eBrem + 7 -214 mum 126 mum -2.41 m 124 MeV 352 keV 245 mum 5.5 mm Target eBrem + 8 -413 mum 260 mum -2.41 m 104 MeV 2.71 MeV 1.75 mm 7.26 mm Target eIoni + 9 -413 mum 260 mum -2.41 m 81.9 MeV 4.84 keV 4.44 mum 7.26 mm Target eBrem + 10 -421 mum 272 mum -2.41 m 81.3 MeV 299 keV 221 mum 7.48 mm Target eBrem + 11 -424 mum 275 mum -2.41 m 80.8 MeV 94.1 keV 84.3 mum 7.57 mm Target eBrem + 12 -631 mum 189 mum -2.41 m 78.2 MeV 2.24 MeV 1.86 mm 9.43 mm Target eBrem + 13 -632 mum 209 mum -2.41 m 19.9 MeV 1.36 MeV 978 mum 1.04 cm Target eBrem + 14 -633 mum 209 mum -2.41 m 17 MeV 10.1 keV 6.21 mum 1.04 cm Target eBrem + 15 -698 mum 1.68 mm -2.41 m 12.5 MeV 2.89 MeV 2.57 mm 1.3 cm Target eBrem + 16 34.8 mum 3.38 mm -2.4 m 8.74 MeV 2.66 MeV 2.29 mm 1.53 cm Target eBrem + 17 -468 mum 1.33 mm -2.4 m 5.23 MeV 3.5 MeV 2.84 mm 1.81 cm Target eIoni + 18 -1.39 mm 70.4 mum -2.4 m 2.97 MeV 2.26 MeV 2.25 mm 2.04 cm Target eIoni + 19 -1.81 mm 652 mum -2.4 m 1.35 MeV 1.16 MeV 1.31 mm 2.17 cm Target eBrem + 20 -1.91 mm 735 mum -2.4 m 786 keV 111 keV 156 mum 2.18 cm Target eBrem + 21 -1.96 mm 844 mum -2.4 m 2.22e-10 eV 786 keV 545 mum 2.24 cm Target eIoni + 22 -1.96 mm 844 mum -2.4 m 2.22e-10 eV 0 eV 0 fm 2.24 cm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.96 mm 844 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 624 mum -2.29 mm -2.4 m 511 keV 0 eV 4.24 mm 4.24 mm Target Transportation + 2 1.98 m -2.4 m -1.48 m 511 keV 0 eV 3.24 m 3.25 m Tracker Transportation + 3 2.4 m -2.91 m -1.29 m 511 keV 0 eV 68.9 cm 3.93 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.96 mm 844 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.56 mm 1.57 mm -2.4 m 0 eV 88 keV 980 mum 980 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 61 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.56 mm 1.57 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.57 mm 1.58 mm -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.91 mm 735 mum -2.4 m 459 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.96 mm 1.59 mm -2.4 m 459 keV 0 eV 2.4 mm 2.4 mm Target Transportation + 2 -2.4 m 1.01 m -1.33 m 459 keV 0 eV 2.81 m 2.81 m Tracker Transportation + 3 -2.91 m 1.22 m -1.1 m 459 keV 0 eV 59.8 cm 3.41 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.81 mm 652 mum -2.4 m 457 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.99 mm 558 mum -2.4 m 233 keV 0 eV 219 mum 219 mum Target compt + 2 -1.89 mm 499 mum -2.4 m 0 eV 88 keV 166 mum 385 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 59 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.89 mm 499 mum -2.4 m 145 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.89 mm 502 mum -2.4 m 0 eV 145 keV 49.7 mum 49.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 59 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.99 mm 558 mum -2.4 m 224 keV 0 eV 0 fm 0 fm Target initStep + 1 -2 mm 557 mum -2.4 m 8.33e-11 eV 224 keV 96.7 mum 96.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 58, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.8 mum 3.38 mm -2.4 m 1.13 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.78 mm 1.78 mm -2.4 m 1.13 MeV 0 eV 5.96 mm 5.96 mm Target Transportation + 2 -2.4 m -1 m 30.1 cm 1.13 MeV 0 eV 3.75 m 3.75 m Tracker Transportation + 3 -2.91 m -1.21 m 87.6 cm 1.13 MeV 0 eV 79.8 cm 4.55 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 57, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -698 mum 1.68 mm -2.41 m 1.57 MeV 0 eV 0 fm 0 fm Target initStep + 1 -662 mum 1.8 mm -2.4 m 402 keV 0 eV 290 mum 290 mum Target compt + 2 -5.67 mm 4.01 mm -2.4 m 184 keV 0 eV 5.48 mm 5.77 mm Target compt + 3 -5.59 mm 4.03 mm -2.4 m 0 eV 88 keV 134 mum 5.9 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.59 mm 4.03 mm -2.4 m 95.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.59 mm 4.03 mm -2.4 m 1.39e-11 eV 95.6 keV 25.7 mum 25.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.67 mm 4.01 mm -2.4 m 218 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.68 mm 4.01 mm -2.4 m 8.33e-11 eV 218 keV 93.1 mum 93.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 57 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -662 mum 1.8 mm -2.4 m 1.17 MeV 0 eV 0 fm 0 fm Target initStep + 1 -583 mum 2.04 mm -2.4 m 475 keV 409 keV 464 mum 464 mum Target eBrem + 2 -595 mum 2.06 mm -2.4 m 0 eV 475 keV 281 mum 745 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 66 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -583 mum 2.04 mm -2.4 m 288 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.28 mm 3.59 mm -2.4 m 176 keV 0 eV 1.7 mm 1.7 mm Target compt + 2 -1.26 mm 3.5 mm -2.4 m 0 eV 88 keV 507 mum 2.21 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 mm 3.5 mm -2.4 m 88.1 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.26 mm 3.5 mm -2.4 m 1.39e-11 eV 88.1 keV 22.5 mum 22.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 69 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.28 mm 3.59 mm -2.4 m 112 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.28 mm 3.59 mm -2.4 m 2.78e-11 eV 112 keV 33 mum 33 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -633 mum 209 mum -2.41 m 2.88 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.67 mm 1.42 mm -2.4 m 2.88 MeV 0 eV 7.33 mm 7.33 mm Target Transportation + 2 -11.8 cm 13.7 cm -1.6 m 2.88 MeV 0 eV 82 cm 82.7 cm Tracker Transportation + 3 -14.7 cm 17.1 cm -1.4 m 2.88 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation + 4 -23.4 cm 27.3 cm -80 cm 2.88 MeV 0 eV 61.5 cm 1.65 m Tracker Transportation + 5 -26.3 cm 30.7 cm -60 cm 2.88 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation + 6 -35 cm 40.9 cm 0 fm 2.88 MeV 0 eV 61.5 cm 2.47 m Tracker Transportation + 7 -37.9 cm 44.3 cm 20 cm 2.88 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation + 8 -46.7 cm 54.5 cm 80 cm 2.88 MeV 0 eV 61.5 cm 3.29 m Tracker Transportation + 9 -49.6 cm 57.9 cm 1 m 2.88 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation + 10 -58.3 cm 68.1 cm 1.6 m 2.88 MeV 0 eV 61.5 cm 4.11 m Tracker Transportation + 11 -61.2 cm 71.4 cm 1.8 m 2.88 MeV 0 eV 20.5 cm 4.31 m Chamber Transportation + 12 -69.9 cm 81.6 cm 2.4 m 2.88 MeV 0 eV 61.5 cm 4.93 m Tracker Transportation + 13 -77.3 cm 90.3 cm 2.91 m 2.88 MeV 0 eV 52.3 cm 5.45 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 55, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -632 mum 209 mum -2.41 m 57 MeV 0 eV 0 fm 0 fm Target initStep + 1 -666 mum 243 mum -2.41 m 0 eV 0 eV 260 mum 260 mum Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 73, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -666 mum 243 mum -2.41 m 4.08 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.25 mm 593 mum -2.41 m 2.18 MeV 1.9 MeV 2.02 mm 2.02 mm Target eIoni + 2 -2.24 mm 614 mum -2.41 m 1.8 MeV 24.1 keV 28 mum 2.04 mm Target eBrem + 3 -2.61 mm 573 mum -2.41 m 284 keV 1.51 MeV 1.32 mm 3.37 mm Target eIoni + 4 -2.62 mm 568 mum -2.41 m 0 eV 284 keV 134 mum 3.5 mm Target eIoni + 5 -2.62 mm 568 mum -2.41 m 0 eV 0 eV 0 fm 3.5 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 73 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.62 mm 568 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 463 mum 239 mum -2.4 m 0 eV 88 keV 4.51 mm 4.51 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 76 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 463 mum 239 mum -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 478 mum 242 mum -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 73 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.62 mm 568 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.89 mm 703 mum -2.41 m 0 eV 88 keV 1.86 mm 1.86 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 75 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.89 mm 703 mum -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.9 mm 694 mum -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 73 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.24 mm 614 mum -2.41 m 353 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.4 mm 4.37 mm -2.41 m 175 keV 0 eV 4.39 mm 4.39 mm Target compt + 2 -1.27 mm 4.3 mm -2.41 m 0 eV 88 keV 176 mum 4.57 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.27 mm 4.3 mm -2.41 m 86.8 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.27 mm 4.3 mm -2.41 m 0 eV 86.8 keV 22 mum 22 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 74 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.4 mm 4.37 mm -2.41 m 178 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.4 mm 4.38 mm -2.41 m 0 eV 178 keV 68.5 mum 68.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 55 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -666 mum 243 mum -2.41 m 51.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -715 mum 361 mum -2.41 m 48.5 MeV 1.46 MeV 1.2 mm 1.2 mm Target eBrem + 2 -839 mum 413 mum -2.41 m 27.7 MeV 896 keV 687 mum 1.88 mm Target eBrem + 3 -325 mum -349 mum -2.4 m 13.1 MeV 5.21 MeV 3.88 mm 5.76 mm Target eBrem + 4 -328 mum -333 mum -2.4 m 9.72 MeV 70.1 keV 60.5 mum 5.82 mm Target eBrem + 5 -108 mum -15.1 mum -2.4 m 7.22 MeV 1.52 MeV 973 mum 6.79 mm Target eBrem + 6 -122 mum -32.3 mum -2.4 m 6.6 MeV 133 keV 119 mum 6.91 mm Target eBrem + 7 -140 mum -62.2 mum -2.4 m 4.52 MeV 96.3 keV 105 mum 7.01 mm Target eBrem + 8 -148 mum -54 mum -2.4 m 4.05 MeV 37.8 keV 41.1 mum 7.06 mm Target eBrem + 9 -288 mum -220 mum -2.4 m 729 keV 1.94 MeV 1.63 mm 8.69 mm Target eBrem + 10 -286 mum -228 mum -2.4 m 681 keV 47.4 keV 51.2 mum 8.74 mm Target Transportation + 11 6.84 mm 31.1 cm -1.99 m 577 keV 104 keV 56.2 cm 57.1 cm Tracker msc + 12 -2.92 cm 32.1 cm -2.27 m 490 keV 70.1 keV 29 cm 86.1 cm Tracker eIoni + 13 2.07 cm 35.6 cm -2.4 m 465 keV 25.4 keV 14.8 cm 1.01 m Tracker Transportation + 14 -24.3 cm 40.1 cm -2.44 m 406 keV 50 keV 27.8 cm 1.29 m World eIoni + 15 -31.4 cm 46 cm -2.48 m 378 keV 18.6 keV 10.1 cm 1.39 m World eIoni + 16 -40.7 cm 58 cm -2.55 m 320 keV 36.8 keV 17.3 cm 1.56 m World eIoni + 17 -55.1 cm 69.1 cm -2.52 m 281 keV 38.6 keV 19 cm 1.75 m World eIoni + 18 -63.2 cm 80.8 cm -2.48 m 247 keV 34.2 keV 15.5 cm 1.91 m World eIoni + 19 -70.9 cm 88.4 cm -2.42 m 211 keV 36.3 keV 12.7 cm 2.03 m World eIoni + 20 -75.1 cm 92.5 cm -2.49 m 182 keV 28.6 keV 9.84 cm 2.13 m World eIoni + 21 -71 cm 93.3 cm -2.55 m 162 keV 20.6 keV 7.77 cm 2.21 m World eIoni + 22 -70.1 cm 90.6 cm -2.61 m 146 keV 15.4 keV 6.38 cm 2.27 m World eIoni + 23 -66.9 cm 91.2 cm -2.65 m 127 keV 19.2 keV 5.42 cm 2.33 m World eIoni + 24 -65.8 cm 88.4 cm -2.67 m 91 keV 7.85 keV 3.52 cm 2.36 m World eIoni + 25 -66.3 cm 86.3 cm -2.66 m 77.4 keV 13.6 keV 2.46 cm 2.39 m World eIoni + 26 -66.5 cm 84.9 cm -2.66 m 68.3 keV 9.11 keV 1.89 cm 2.41 m World eIoni + 27 -67.5 cm 83.9 cm -2.65 m 45.6 keV 22.7 keV 1.55 cm 2.42 m World eIoni + 28 -68 cm 83.3 cm -2.65 m 40.2 keV 5.41 keV 8.32 mm 2.43 m World eIoni + 29 -68.3 cm 83.5 cm -2.65 m 31.9 keV 8.33 keV 6.95 mm 2.44 m World eIoni + 30 -68.7 cm 83.4 cm -2.64 m 25.8 keV 6.1 keV 5.09 mm 2.44 m World eIoni + 31 -69 cm 83.5 cm -2.65 m 21.8 keV 4 keV 3.94 mm 2.45 m World eIoni + 32 -69.1 cm 83.2 cm -2.64 m 18.6 keV 3.17 keV 3.29 mm 2.45 m World eIoni + 33 -69.2 cm 83 cm -2.65 m 14.5 keV 4.17 keV 2.83 mm 2.45 m World eIoni + 34 -69.2 cm 82.9 cm -2.65 m 11.6 keV 2.88 keV 2.27 mm 2.45 m World eIoni + 35 -69.2 cm 82.8 cm -2.65 m 9.15 keV 2.43 keV 1.91 mm 2.46 m World eIoni + 36 -69.3 cm 82.8 cm -2.65 m 1.73e-12 eV 9.15 keV 1.57 mm 2.46 m World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -65.8 cm 88.4 cm -2.67 m 28.1 keV 0 eV 0 fm 0 fm World initStep + 1 -65.5 cm 88.5 cm -2.67 m 23.8 keV 4.32 keV 4.36 mm 4.36 mm World eIoni + 2 -65.3 cm 88.4 cm -2.67 m 19 keV 4.8 keV 3.61 mm 7.97 mm World eIoni + 3 -65.2 cm 88.6 cm -2.67 m 14.8 keV 4.17 keV 2.88 mm 1.08 cm World eIoni + 4 -65.2 cm 88.8 cm -2.67 m 10.8 keV 4.02 keV 2.32 mm 1.32 cm World eIoni + 5 -65.1 cm 88.8 cm -2.67 m 2.93 keV 7.89 keV 1.81 mm 1.5 cm World eIoni + 6 -65.1 cm 88.8 cm -2.67 m 0 eV 2.93 keV 284 mum 1.53 cm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -40.7 cm 58 cm -2.55 m 21.2 keV 0 eV 0 fm 0 fm World initStep + 1 -40.7 cm 57.9 cm -2.55 m 15.2 keV 6.03 keV 3.19 mm 3.19 mm World eIoni + 2 -40.8 cm 57.8 cm -2.55 m 6.85 keV 8.31 keV 2.36 mm 5.56 mm World eIoni + 3 -40.8 cm 57.9 cm -2.55 m 91.8 eV 6.76 keV 1.15 mm 6.71 mm World eIoni + 4 -40.8 cm 57.9 cm -2.55 m 0 eV 91.8 eV 9.17 mum 6.72 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -31.4 cm 46 cm -2.48 m 9.95 keV 0 eV 0 fm 0 fm World initStep + 1 -31.2 cm 45.9 cm -2.48 m 4.54 keV 5.41 keV 1.69 mm 1.69 mm World eIoni + 2 -31.2 cm 45.9 cm -2.48 m 0 eV 4.54 keV 584 mum 2.27 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -24.3 cm 40.1 cm -2.44 m 8.68 keV 0 eV 0 fm 0 fm World initStep + 1 -24.4 cm 40 cm -2.44 m 2.53 keV 6.15 keV 1.5 mm 1.5 mm World eIoni + 2 -24.4 cm 40 cm -2.44 m 8.67e-13 eV 2.53 keV 226 mum 1.73 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.92 cm 32.1 cm -2.27 m 16.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.15 cm 32 cm -2.27 m 10.2 keV 6.55 keV 2.57 mm 2.57 mm Tracker eIoni + 2 -3.27 cm 32.1 cm -2.27 m 5.53 keV 4.7 keV 1.73 mm 4.3 mm Tracker eIoni + 3 -3.28 cm 32.1 cm -2.27 m 0 eV 5.53 keV 813 mum 5.11 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 89, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -288 mum -220 mum -2.4 m 1.38 MeV 0 eV 0 fm 0 fm Target initStep + 1 -285 mum -225 mum -2.4 m 1.38 MeV 0 eV 27.2 mum 27.2 mum Target Transportation + 2 6.82 cm -15.3 cm -1.6 m 1.38 MeV 0 eV 81.7 cm 81.7 cm Tracker Transportation + 3 8.54 cm -19.1 cm -1.4 m 1.38 MeV 0 eV 20.4 cm 1.02 m Chamber Transportation + 4 13.7 cm -30.5 cm -80 cm 1.38 MeV 0 eV 61.3 cm 1.63 m Tracker Transportation + 5 15.4 cm -34.4 cm -60 cm 1.38 MeV 0 eV 20.4 cm 1.84 m Chamber Transportation + 6 20.5 cm -45.8 cm -0.114 fm 1.38 MeV 0 eV 61.3 cm 2.45 m Tracker Transportation + 7 22.2 cm -49.6 cm 20 cm 1.38 MeV 0 eV 20.4 cm 2.66 m Chamber Transportation + 8 27.4 cm -61.1 cm 80 cm 1.38 MeV 0 eV 61.3 cm 3.27 m Tracker Transportation + 9 29.1 cm -64.9 cm 1 m 1.38 MeV 0 eV 20.4 cm 3.47 m Chamber Transportation + 10 34.2 cm -76.3 cm 1.6 m 1.38 MeV 0 eV 61.3 cm 4.09 m Tracker Transportation + 11 35.9 cm -80.1 cm 1.8 m 1.38 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation + 12 41.1 cm -91.6 cm 2.4 m 1.38 MeV 0 eV 61.3 cm 4.9 m Tracker Transportation + 13 45.4 cm -1.01 m 2.91 m 1.38 MeV 0 eV 52.1 cm 5.42 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 88, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -148 mum -54 mum -2.4 m 436 keV 0 eV 0 fm 0 fm Target initStep + 1 -343 mum -286 mum -2.4 m 436 keV 0 eV 531 mum 531 mum Target Transportation + 2 -2.02 m -2.4 m 2.11 m 436 keV 0 eV 5.49 m 5.49 m Tracker Transportation + 3 -2.38 m -2.83 m 2.91 m 436 keV 0 eV 98 cm 6.47 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -140 mum -62.2 mum -2.4 m 1.98 MeV 0 eV 0 fm 0 fm Target initStep + 1 -148 mum 108 mum -2.4 m 1.98 MeV 0 eV 504 mum 504 mum Target Transportation + 2 -2.75 cm 57.5 cm -80 cm 1.98 MeV 0 eV 1.7 m 1.7 m Tracker Transportation + 3 -3.1 cm 64.7 cm -60 cm 1.98 MeV 0 eV 21.3 cm 1.91 m Chamber Transportation + 4 -4.12 cm 86.3 cm 0 fm 1.98 MeV 0 eV 63.8 cm 2.55 m Tracker Transportation + 5 -4.47 cm 93.5 cm 20 cm 1.98 MeV 0 eV 21.3 cm 2.76 m Chamber Transportation + 6 -5.49 cm 1.15 m 80 cm 1.98 MeV 0 eV 63.8 cm 3.4 m Tracker Transportation + 7 -5.84 cm 1.22 m 1 m 1.98 MeV 0 eV 21.3 cm 3.61 m Chamber Transportation + 8 -6.86 cm 1.44 m 1.6 m 1.98 MeV 0 eV 63.8 cm 4.25 m Tracker Transportation + 9 -7.2 cm 1.51 m 1.8 m 1.98 MeV 0 eV 21.3 cm 4.46 m Chamber Transportation + 10 -8.23 cm 1.73 m 2.4 m 1.98 MeV 0 eV 63.8 cm 5.1 m Tracker Transportation + 11 -9.11 cm 1.91 m 2.91 m 1.98 MeV 0 eV 54.2 cm 5.64 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -122 mum -32.3 mum -2.4 m 494 keV 0 eV 0 fm 0 fm Target initStep + 1 -101 mum -137 mum -2.4 m 494 keV 0 eV 577 mum 577 mum Target Transportation + 2 2.93 cm -14.7 cm -1.6 m 494 keV 0 eV 81.4 cm 81.4 cm Tracker Transportation + 3 3.66 cm -18.4 cm -1.4 m 494 keV 0 eV 20.3 cm 1.02 m Chamber Transportation + 4 5.86 cm -29.4 cm -80 cm 494 keV 0 eV 61 cm 1.63 m Tracker Transportation + 5 6.6 cm -33 cm -60 cm 494 keV 0 eV 20.3 cm 1.83 m Chamber Transportation + 6 8.8 cm -44.1 cm -0.114 fm 494 keV 0 eV 61 cm 2.44 m Tracker Transportation + 7 9.54 cm -47.7 cm 20 cm 494 keV 0 eV 20.3 cm 2.65 m Chamber Transportation + 8 11.7 cm -58.7 cm 80 cm 494 keV 0 eV 61 cm 3.26 m Tracker Transportation + 9 12.5 cm -62.4 cm 1 m 494 keV 0 eV 20.3 cm 3.46 m Chamber Transportation + 10 14.7 cm -73.4 cm 1.6 m 494 keV 0 eV 61 cm 4.07 m Tracker Transportation + 11 15.4 cm -77.1 cm 1.8 m 494 keV 0 eV 20.3 cm 4.27 m Chamber Transportation + 12 17.6 cm -88.1 cm 2.4 m 494 keV 0 eV 61 cm 4.88 m Tracker Transportation + 13 19.5 cm -97.5 cm 2.91 m 494 keV 0 eV 51.9 cm 5.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -108 mum -15.1 mum -2.4 m 982 keV 0 eV 0 fm 0 fm Target initStep + 1 -96.7 mum -31.5 mum -2.4 m 982 keV 0 eV 679 mum 679 mum Target Transportation + 2 1.35 cm -1.94 cm -1.6 m 982 keV 0 eV 80 cm 80.1 cm Tracker Transportation + 3 1.69 cm -2.43 cm -1.4 m 982 keV 0 eV 20 cm 1 m Chamber Transportation + 4 2.71 cm -3.88 cm -80 cm 982 keV 0 eV 60 cm 1.6 m Tracker Transportation + 5 3.05 cm -4.37 cm -60 cm 982 keV 0 eV 20 cm 1.8 m Chamber Transportation + 6 4.07 cm -5.83 cm 0 fm 982 keV 0 eV 60 cm 2.4 m Tracker Transportation + 7 4.41 cm -6.31 cm 20 cm 982 keV 0 eV 20 cm 2.6 m Chamber Transportation + 8 5.43 cm -7.77 cm 80 cm 982 keV 0 eV 60 cm 3.2 m Tracker Transportation + 9 5.77 cm -8.25 cm 1 m 982 keV 0 eV 20 cm 3.4 m Chamber Transportation + 10 6.79 cm -9.71 cm 1.6 m 982 keV 0 eV 60 cm 4 m Tracker Transportation + 11 7.13 cm -10.2 cm 1.8 m 982 keV 0 eV 20 cm 4.2 m Chamber Transportation + 12 8.15 cm -11.6 cm 2.4 m 982 keV 0 eV 60 cm 4.8 m Tracker Transportation + 13 9.01 cm -12.9 cm 2.91 m 982 keV 0 eV 51 cm 5.31 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -328 mum -333 mum -2.4 m 3.26 MeV 0 eV 0 fm 0 fm Target initStep + 1 -552 mum -103 mum -2.4 m 3.26 MeV 0 eV 1.23 mm 1.23 mm Target Transportation + 2 -15.2 cm 15.6 cm -1.6 m 3.26 MeV 0 eV 82.9 cm 83 cm Tracker Transportation + 3 -18.9 cm 19.4 cm -1.4 m 3.26 MeV 0 eV 20.7 cm 1.04 m Chamber Transportation + 4 -30.3 cm 31.1 cm -80 cm 3.26 MeV 0 eV 62.2 cm 1.66 m Tracker Transportation + 5 -34 cm 35 cm -60 cm 3.26 MeV 0 eV 20.7 cm 1.87 m Chamber Transportation + 6 -45.4 cm 46.7 cm 0 fm 3.26 MeV 0 eV 62.2 cm 2.49 m Tracker Transportation + 7 -49.2 cm 50.6 cm 20 cm 3.26 MeV 0 eV 20.7 cm 2.7 m Chamber Transportation + 8 -60.5 cm 62.3 cm 80 cm 3.26 MeV 0 eV 62.2 cm 3.32 m Tracker Transportation + 9 -64.3 cm 66.1 cm 1 m 3.26 MeV 0 eV 20.7 cm 3.52 m Chamber Transportation + 10 -75.6 cm 77.8 cm 1.6 m 3.26 MeV 0 eV 62.2 cm 4.15 m Tracker Transportation + 11 -79.4 cm 81.7 cm 1.8 m 3.26 MeV 0 eV 20.7 cm 4.35 m Chamber Transportation + 12 -90.7 cm 93.4 cm 2.4 m 3.26 MeV 0 eV 62.2 cm 4.97 m Tracker Transportation + 13 -1 m 1.03 m 2.91 m 3.26 MeV 0 eV 52.8 cm 5.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -325 mum -349 mum -2.4 m 9.42 MeV 0 eV 0 fm 0 fm Target initStep + 1 -470 mum -76.3 mum -2.4 m 9.42 MeV 0 eV 1.28 mm 1.28 mm Target Transportation + 2 -9.38 cm 17.6 cm -1.6 m 9.42 MeV 0 eV 82.4 cm 82.6 cm Tracker Transportation + 3 -11.7 cm 22 cm -1.4 m 9.42 MeV 0 eV 20.6 cm 1.03 m Chamber Transportation + 4 -18.7 cm 35.2 cm -80 cm 9.42 MeV 0 eV 61.8 cm 1.65 m Tracker Transportation + 5 -21 cm 39.6 cm -60 cm 9.42 MeV 0 eV 20.6 cm 1.86 m Chamber Transportation + 6 -28 cm 52.8 cm 0 fm 9.42 MeV 0 eV 61.8 cm 2.47 m Tracker Transportation + 7 -30.4 cm 57.2 cm 20 cm 9.42 MeV 0 eV 20.6 cm 2.68 m Chamber Transportation + 8 -37.4 cm 70.4 cm 80 cm 9.42 MeV 0 eV 61.8 cm 3.3 m Tracker Transportation + 9 -39.7 cm 74.7 cm 1 m 9.42 MeV 0 eV 20.6 cm 3.51 m Chamber Transportation + 10 -46.7 cm 87.9 cm 1.6 m 9.42 MeV 0 eV 61.8 cm 4.12 m Tracker Transportation + 11 -49 cm 92.3 cm 1.8 m 9.42 MeV 0 eV 20.6 cm 4.33 m Chamber Transportation + 12 -56 cm 1.06 m 2.4 m 9.42 MeV 0 eV 61.8 cm 4.95 m Tracker Transportation + 13 -62 cm 1.17 m 2.91 m 9.42 MeV 0 eV 52.6 cm 5.47 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -839 mum 413 mum -2.41 m 19.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -940 mum 689 mum -2.4 m 0 eV 0 eV 2.27 mm 2.27 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 96, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -940 mum 689 mum -2.4 m 12.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 -277 mum 1.11 mm -2.4 m 1.98 MeV 4.11 MeV 3.31 mm 3.31 mm Target eBrem + 2 -607 mum 1.61 mm -2.4 m 736 keV 1.24 MeV 1.41 mm 4.72 mm Target eIoni + 3 -626 mum 1.61 mm -2.4 m 0 eV 736 keV 502 mum 5.22 mm Target eIoni + 4 -626 mum 1.61 mm -2.4 m 0 eV 0 eV 0 fm 5.22 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -626 mum 1.61 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -273 mum 1.71 mm -2.4 m 368 keV 0 eV 636 mum 636 mum Target compt + 2 4.09 mm 398 mum -2.4 m 183 keV 0 eV 4.62 mm 5.25 mm Target compt + 3 3.99 mm 289 mum -2.4 m 0 eV 88 keV 229 mum 5.48 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 99 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.99 mm 289 mum -2.4 m 95.4 keV 0 eV 0 fm 0 fm Target initStep + 1 3.99 mm 289 mum -2.4 m 0 eV 95.4 keV 25.6 mum 25.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 99 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.09 mm 398 mum -2.4 m 184 keV 0 eV 0 fm 0 fm Target initStep + 1 4.09 mm 398 mum -2.4 m 1.11e-10 eV 184 keV 72 mum 72 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 99 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -273 mum 1.71 mm -2.4 m 143 keV 0 eV 0 fm 0 fm Target initStep + 1 -274 mum 1.72 mm -2.4 m 0 eV 143 keV 48.8 mum 48.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -626 mum 1.61 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.06 mm 1.49 mm -2.4 m 511 keV 0 eV 774 mum 774 mum Target Transportation + 2 -2.4 m -69.3 cm 1.13 m 511 keV 0 eV 4.33 m 4.33 m Tracker Transportation + 3 -2.91 m -84 cm 1.88 m 511 keV 0 eV 92 cm 5.25 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 96 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -277 mum 1.11 mm -2.4 m 6.19 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.04 mm 589 mum -2.4 m 6.19 MeV 0 eV 2.02 mm 2.02 mm Target Transportation + 2 -2.4 m -70.7 cm -1.27 m 6.19 MeV 0 eV 2.74 m 2.75 m Tracker Transportation + 3 -2.91 m -85.7 cm -1.03 m 6.19 MeV 0 eV 58.4 cm 3.33 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -940 mum 689 mum -2.4 m 6.65 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.55 mm 2.41 mm -2.4 m 3.37 MeV 2.75 MeV 2.25 mm 2.25 mm Target eBrem + 2 -996 mum 2.35 mm -2.4 m 1.25 MeV 2.13 MeV 1.83 mm 4.08 mm Target eIoni + 3 -1.19 mm 2.15 mm -2.4 m 474 keV 434 keV 520 mum 4.6 mm Target eBrem + 4 -1.19 mm 2.15 mm -2.4 m 0 eV 474 keV 281 mum 4.88 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.19 mm 2.15 mm -2.4 m 337 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.11 mm 756 mum -2.41 m 314 keV 0 eV 2.67 mm 2.67 mm Target compt + 2 -2.15 mm 746 mum -2.41 m 0 eV 88 keV 114 mum 2.78 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.15 mm 746 mum -2.41 m 226 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.15 mm 748 mum -2.41 m 0 eV 226 keV 98.2 mum 98.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 104 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.11 mm 756 mum -2.41 m 22.5 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.11 mm 756 mum -2.41 m 0 eV 22.5 keV 2.46 mum 2.46 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.55 mm 2.41 mm -2.4 m 523 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.25 mm -4.68 mm -2.41 m 211 keV 0 eV 8.94 mm 8.94 mm Target compt + 2 -3.25 mm -4.15 mm -2.41 m 0 eV 88 keV 584 mum 9.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.25 mm -4.15 mm -2.41 m 123 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.25 mm -4.15 mm -2.41 m 0 eV 123 keV 38.3 mum 38.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.25 mm -4.68 mm -2.41 m 312 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.25 mm -4.69 mm -2.41 m 0 eV 312 keV 157 mum 157 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 72 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -715 mum 361 mum -2.41 m 1.88 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.46 mm 1.05 mm -2.4 m 1.88 MeV 0 eV 5.81 mm 5.81 mm Target Transportation + 2 -10.6 cm 9.79 cm -1.6 m 1.88 MeV 0 eV 81.3 cm 81.8 cm Tracker Transportation + 3 -13.2 cm 12.2 cm -1.4 m 1.88 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation + 4 -21.1 cm 19.5 cm -80 cm 1.88 MeV 0 eV 60.9 cm 1.63 m Tracker Transportation + 5 -23.7 cm 21.9 cm -60 cm 1.88 MeV 0 eV 20.3 cm 1.83 m Chamber Transportation + 6 -31.6 cm 29.2 cm 0 fm 1.88 MeV 0 eV 60.9 cm 2.44 m Tracker Transportation + 7 -34.2 cm 31.6 cm 20 cm 1.88 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation + 8 -42.1 cm 38.9 cm 80 cm 1.88 MeV 0 eV 60.9 cm 3.26 m Tracker Transportation + 9 -44.7 cm 41.3 cm 1 m 1.88 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation + 10 -52.5 cm 48.5 cm 1.6 m 1.88 MeV 0 eV 60.9 cm 4.07 m Tracker Transportation + 11 -55.2 cm 51 cm 1.8 m 1.88 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation + 12 -63 cm 58.2 cm 2.4 m 1.88 MeV 0 eV 60.9 cm 4.88 m Tracker Transportation + 13 -69.7 cm 64.4 cm 2.91 m 1.88 MeV 0 eV 51.8 cm 5.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 54, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -631 mum 189 mum -2.41 m 341 keV 0 eV 0 fm 0 fm Target initStep + 1 -630 mum 426 mum -2.41 m 0 eV 88 keV 2.89 mm 2.89 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 54 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -630 mum 426 mum -2.41 m 253 keV 0 eV 0 fm 0 fm Target initStep + 1 -636 mum 424 mum -2.41 m 0 eV 253 keV 116 mum 116 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 53, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -424 mum 275 mum -2.41 m 395 keV 0 eV 0 fm 0 fm Target initStep + 1 -535 mum 312 mum -2.41 m 375 keV 0 eV 2.05 mm 2.05 mm Target compt + 2 -447 mum 457 mum -2.41 m 0 eV 88 keV 484 mum 2.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 53 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -447 mum 457 mum -2.41 m 287 keV 0 eV 0 fm 0 fm Target initStep + 1 -442 mum 455 mum -2.41 m 0 eV 287 keV 139 mum 139 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 53 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -535 mum 312 mum -2.41 m 20.1 keV 0 eV 0 fm 0 fm Target initStep + 1 -535 mum 312 mum -2.41 m 0 eV 20.1 keV 2.05 mum 2.05 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 52, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -421 mum 272 mum -2.41 m 287 keV 0 eV 0 fm 0 fm Target initStep + 1 -493 mum 312 mum -2.41 m 0 eV 88 keV 1.55 mm 1.55 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 52 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -493 mum 312 mum -2.41 m 199 keV 0 eV 0 fm 0 fm Target initStep + 1 -490 mum 311 mum -2.41 m 0 eV 199 keV 80.8 mum 80.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -413 mum 260 mum -2.41 m 22 MeV 0 eV 0 fm 0 fm Target initStep + 1 -650 mum 664 mum -2.41 m 0 eV 0 eV 5.01 mm 5.01 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 114, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -650 mum 664 mum -2.41 m 14.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -773 mum 558 mum -2.4 m 12.6 MeV 1.23 MeV 765 mum 765 mum Target eBrem + 2 -1.03 mm 992 mum -2.4 m 10.8 MeV 1.13 MeV 956 mum 1.72 mm Target eBrem + 3 -3.39 mm 1.82 mm -2.4 m 2.23 MeV 8.57 MeV 3.16 mm 4.88 mm Target eIoni + 4 -2.6 mm 2.51 mm -2.4 m 468 keV 1.76 MeV 1.51 mm 6.39 mm Target eIoni + 5 -2.62 mm 2.52 mm -2.4 m 0 eV 468 keV 275 mum 6.67 mm Target eIoni + 6 -2.62 mm 2.52 mm -2.4 m 0 eV 0 eV 0 fm 6.67 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.62 mm 2.52 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.97 mm 7.22 mm -2.4 m 470 keV 0 eV 4.72 mm 4.72 mm Target compt + 2 -3.06 mm 8.47 mm -2.4 m 195 keV 0 eV 1.4 mm 6.12 mm Target compt + 3 -2.73 mm 8.23 mm -2.4 m 0 eV 88 keV 412 mum 6.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.73 mm 8.23 mm -2.4 m 107 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.73 mm 8.23 mm -2.4 m 0 eV 107 keV 30.6 mum 30.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.06 mm 8.47 mm -2.4 m 275 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.06 mm 8.48 mm -2.4 m 5.55e-11 eV 275 keV 131 mum 131 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 118 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.97 mm 7.22 mm -2.4 m 41.4 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.97 mm 7.22 mm -2.4 m 0 eV 41.4 keV 6.57 mum 6.57 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.62 mm 2.52 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -545 mum -2.5 cm -2.4 m 511 keV 0 eV 2.76 cm 2.76 cm Target Transportation + 2 1.66 mm -5.43 cm -2.4 m 511 keV 0 eV 2.94 cm 5.7 cm World Transportation + 3 17.8 cm -2.4 m -2.29 m 511 keV 0 eV 2.35 m 2.41 m Tracker Transportation + 4 21.7 cm -2.91 m -2.27 m 511 keV 0 eV 51.2 cm 2.92 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.03 mm 992 mum -2.4 m 623 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.55 mm 3.74 mm -2.4 m 623 keV 0 eV 5.34 mm 5.34 mm Target Transportation + 2 -2.2 m 2.4 m 92.3 cm 623 keV 0 eV 4.65 m 4.66 m Tracker Transportation + 3 -2.67 m 2.91 m 1.63 m 623 keV 0 eV 99 cm 5.65 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 114 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -773 mum 558 mum -2.4 m 1.16 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.95 mm 1.48 mm -2.4 m 1.16 MeV 0 eV 4.84 mm 4.84 mm Target Transportation + 2 -20.6 cm 16.2 cm -1.6 m 1.16 MeV 0 eV 84.1 cm 84.6 cm Tracker Transportation + 3 -24 cm 18.9 cm -1.47 m 1.16 MeV 0 eV 14.1 cm 98.7 cm Chamber Transportation + 4 -41 cm 32.2 cm -80 cm 1.16 MeV 0 eV 70 cm 1.69 m Tracker Transportation + 5 -46.1 cm 36.2 cm -60 cm 1.16 MeV 0 eV 21 cm 1.9 m Chamber Transportation + 6 -61.4 cm 48.2 cm 0 fm 1.16 MeV 0 eV 63.1 cm 2.53 m Tracker Transportation + 7 -66.4 cm 52.2 cm 20 cm 1.16 MeV 0 eV 21 cm 2.74 m Chamber Transportation + 8 -81.7 cm 64.3 cm 80 cm 1.16 MeV 0 eV 63.1 cm 3.37 m Tracker Transportation + 9 -86.7 cm 68.2 cm 99.5 cm 927 keV 0 eV 20.5 cm 3.57 m Chamber compt + 10 -86.6 cm 68.4 cm 1 m 927 keV 0 eV 5.27 mm 3.58 m Chamber Transportation + 11 -75.5 cm 96 cm 1.6 m 927 keV 0 eV 67 cm 4.25 m Tracker Transportation + 12 -71.8 cm 1.05 m 1.8 m 927 keV 0 eV 22.3 cm 4.47 m Chamber Transportation + 13 -60.8 cm 1.33 m 2.4 m 927 keV 0 eV 67 cm 5.14 m Tracker Transportation + 14 -51.3 cm 1.56 m 2.91 m 927 keV 0 eV 56.9 cm 5.71 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 115 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -86.7 cm 68.2 cm 99.5 cm 229 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -87.5 cm 67.9 cm 1 m 219 keV 9.87 keV 1.25 cm 1.25 cm Chamber Transportation + 2 -89.6 cm 65.5 cm 1.02 m 188 keV 17.8 keV 3.85 cm 5.1 cm Tracker eIoni + 3 -90 cm 64.2 cm 1.03 m 114 keV 5.62 keV 1.92 cm 7.02 cm Tracker eIoni + 4 -87.8 cm 65.4 cm 1.01 m 103 keV 11.3 keV 3.6 cm 10.6 cm Tracker eIoni + 5 -85.2 cm 66.2 cm 1.01 m 85.6 keV 17.4 keV 3.03 cm 13.7 cm Tracker eIoni + 6 -84.9 cm 66.4 cm 1 m 83 keV 2.56 keV 8.83 mm 14.5 cm Tracker Transportation + 7 -84.6 cm 66.2 cm 99.9 cm 76.8 keV 6.16 keV 7.22 mm 15.3 cm Chamber msc + 8 -84.6 cm 66.3 cm 1 m 75.9 keV 943 eV 1.27 mm 15.4 cm Chamber Transportation + 9 -84.8 cm 66.5 cm 1 m 61.6 keV 1.46 keV 4.43 mm 15.8 cm Tracker eIoni + 10 -85 cm 66.5 cm 1.02 m 53.8 keV 7.81 keV 1.31 cm 17.1 cm Tracker eIoni + 11 -85.7 cm 66.9 cm 1.02 m 48.2 keV 5.66 keV 1.06 cm 18.2 cm Tracker eIoni + 12 -86.2 cm 67.3 cm 1.03 m 45.2 keV 2.95 keV 9.02 mm 19.1 cm Tracker eIoni + 13 -85.8 cm 68 cm 1.03 m 39.9 keV 5.26 keV 8.2 mm 19.9 cm Tracker eIoni + 14 -85.5 cm 68.5 cm 1.03 m 34 keV 5.92 keV 6.88 mm 20.6 cm Tracker eIoni + 15 -85.7 cm 68.5 cm 1.02 m 26.2 keV 7.82 keV 5.53 mm 21.2 cm Tracker eIoni + 16 -85.9 cm 68.7 cm 1.02 m 21.3 keV 4.87 keV 4.01 mm 21.6 cm Tracker eIoni + 17 -86.1 cm 68.7 cm 1.02 m 8.8 keV 12.6 keV 3.22 mm 21.9 cm Tracker eIoni + 18 -86.1 cm 68.6 cm 1.02 m 790 eV 8.01 keV 1.52 mm 22.1 cm Tracker eIoni + 19 -86.1 cm 68.6 cm 1.02 m 4.34e-13 eV 790 eV 43.5 mum 22.1 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -84.8 cm 66.5 cm 1 m 12.8 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -84.7 cm 66.6 cm 1 m 7.21 keV 5.58 keV 2.06 mm 2.06 mm Tracker eIoni + 2 -84.7 cm 66.5 cm 1 m 1.78 keV 5.43 keV 1.23 mm 3.29 mm Tracker eIoni + 3 -84.7 cm 66.5 cm 1 m 0 eV 1.78 keV 131 mum 3.42 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -90 cm 64.2 cm 1.03 m 68.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -90.6 cm 65.6 cm 1.03 m 60 keV 8.45 keV 1.56 cm 1.56 cm Tracker eIoni + 2 -91.8 cm 65.5 cm 1.04 m 54.8 keV 5.2 keV 1.26 cm 2.82 cm Tracker eIoni + 3 -92.7 cm 65.4 cm 1.03 m 48.5 keV 6.33 keV 1.1 cm 3.92 cm Tracker eIoni + 4 -93.4 cm 65.2 cm 1.03 m 44 keV 4.5 keV 9.11 mm 4.83 cm Tracker eIoni + 5 -93.7 cm 65 cm 1.02 m 38.8 keV 5.19 keV 7.87 mm 5.62 cm Tracker eIoni + 6 -93.8 cm 65.6 cm 1.02 m 33.7 keV 5.1 keV 6.61 mm 6.28 cm Tracker eIoni + 7 -94 cm 65.6 cm 1.01 m 28.3 keV 5.44 keV 5.46 mm 6.82 cm Tracker eIoni + 8 -94.4 cm 65.8 cm 1.01 m 22 keV 6.21 keV 4.38 mm 7.26 cm Tracker eIoni + 9 -94.6 cm 65.6 cm 1.01 m 19.6 keV 2.47 keV 3.33 mm 7.59 cm Tracker eIoni + 10 -94.8 cm 65.5 cm 1.01 m 12.8 keV 6.8 keV 2.96 mm 7.89 cm Tracker eIoni + 11 -94.9 cm 65.6 cm 1.01 m 8.58 keV 4.19 keV 2.06 mm 8.1 cm Tracker eIoni + 12 -94.8 cm 65.7 cm 1.01 m 4.68 keV 3.9 keV 1.48 mm 8.24 cm Tracker eIoni + 13 -94.8 cm 65.7 cm 1.01 m 1.73e-12 eV 4.68 keV 614 mum 8.31 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -89.6 cm 65.5 cm 1.02 m 13.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -89.4 cm 65.5 cm 1.02 m 6.45 keV 6.9 keV 2.13 mm 2.13 mm Tracker eIoni + 2 -89.4 cm 65.5 cm 1.02 m 0 eV 6.45 keV 1.06 mm 3.19 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 51 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -650 mum 664 mum -2.41 m 6.06 MeV 0 eV 0 fm 0 fm Target initStep + 1 -695 mum 648 mum -2.41 m 5.34 MeV 198 keV 190 mum 190 mum Target eBrem + 2 -481 mum 476 mum -2.4 m 4.03 MeV 758 keV 541 mum 731 mum Target eBrem + 3 375 mum -491 mum -2.4 m 1.49 MeV 1.97 MeV 1.72 mm 2.45 mm Target eBrem + 4 745 mum -355 mum -2.4 m 206 keV 1.28 MeV 1.12 mm 3.57 mm Target eIoni + 5 745 mum -360 mum -2.4 m 5.55e-11 eV 206 keV 85.2 mum 3.66 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 113 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 375 mum -491 mum -2.4 m 575 keV 0 eV 0 fm 0 fm Target initStep + 1 3.16 mm -3.62 mm -2.4 m 575 keV 0 eV 6.47 mm 6.47 mm Target Transportation + 2 2.13 m -2.4 m 1.37 m 575 keV 0 eV 4.95 m 4.96 m Tracker Transportation + 3 2.59 m -2.91 m 2.18 m 575 keV 0 eV 1.05 m 6.01 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 113 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -481 mum 476 mum -2.4 m 558 keV 0 eV 0 fm 0 fm Target initStep + 1 229 mum 696 mum -2.4 m 320 keV 0 eV 753 mum 753 mum Target compt + 2 1.21 mm -595 mum -2.41 m 236 keV 0 eV 2.98 mm 3.73 mm Target compt + 3 2.64 mm -279 mum -2.41 m 0 eV 88 keV 1.52 mm 5.25 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.64 mm -279 mum -2.41 m 148 keV 0 eV 0 fm 0 fm Target initStep + 1 2.65 mm -278 mum -2.41 m 2.78e-11 eV 148 keV 51.2 mum 51.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.21 mm -595 mum -2.41 m 84 keV 0 eV 0 fm 0 fm Target initStep + 1 1.21 mm -596 mum -2.41 m 0 eV 84 keV 20.8 mum 20.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 127 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 229 mum 696 mum -2.4 m 239 keV 0 eV 0 fm 0 fm Target initStep + 1 234 mum 700 mum -2.4 m 0 eV 239 keV 106 mum 106 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 113 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -695 mum 648 mum -2.41 m 516 keV 0 eV 0 fm 0 fm Target initStep + 1 -493 mum 245 mum -2.41 m 423 keV 0 eV 457 mum 457 mum Target compt + 2 -1.45 mm -6.96 mm -2.4 m 361 keV 0 eV 8.46 mm 8.91 mm Target compt + 3 -4.75 mm -1.24 cm -2.4 m 0 eV 88 keV 6.37 mm 1.53 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.75 mm -1.24 cm -2.4 m 273 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.76 mm -1.24 cm -2.4 m 0 eV 273 keV 129 mum 129 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.45 mm -6.96 mm -2.4 m 62.5 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.45 mm -6.96 mm -2.4 m 2.78e-11 eV 62.5 keV 12.9 mum 12.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 126 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -493 mum 245 mum -2.41 m 92.7 keV 0 eV 0 fm 0 fm Target initStep + 1 -492 mum 244 mum -2.41 m 0 eV 92.7 keV 24.3 mum 24.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -413 mum 260 mum -2.41 m 17.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.81 mum 712 mum -2.41 m 13.5 MeV 2.95 MeV 1.28 mm 1.28 mm Target eBrem + 2 -64.2 mum 909 mum -2.41 m 12.1 MeV 894 keV 816 mum 2.1 mm Target eBrem + 3 576 mum -1.55 mm -2.41 m 7.81 MeV 4.28 MeV 3.3 mm 5.4 mm Target eIoni + 4 -43.5 mum -2.09 mm -2.41 m 5.76 MeV 1.08 MeV 880 mum 6.28 mm Target eBrem + 5 -102 mum -2.14 mm -2.41 m 5.29 MeV 170 keV 108 mum 6.39 mm Target eBrem + 6 -504 mum -1.99 mm -2.41 m 4.37 MeV 529 keV 514 mum 6.9 mm Target eBrem + 7 -1.49 mm -856 mum -2.41 m 2.39 MeV 1.98 MeV 2.05 mm 8.95 mm Target eIoni + 8 -1.04 mm -886 mum -2.41 m 876 keV 1.22 MeV 1.13 mm 1.01 cm Target eBrem + 9 -1.05 mm -932 mum -2.41 m 2.22e-10 eV 876 keV 615 mum 1.07 cm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.04 mm -886 mum -2.41 m 290 keV 0 eV 0 fm 0 fm Target initStep + 1 -903 mum 277 mum -2.41 m 0 eV 88 keV 1.19 mm 1.19 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 140 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -903 mum 277 mum -2.41 m 202 keV 0 eV 0 fm 0 fm Target initStep + 1 -906 mum 277 mum -2.41 m 0 eV 202 keV 83.1 mum 83.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -504 mum -1.99 mm -2.41 m 392 keV 0 eV 0 fm 0 fm Target initStep + 1 -717 mum -2.09 mm -2.41 m 0 eV 88 keV 304 mum 304 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 139 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -717 mum -2.09 mm -2.41 m 304 keV 0 eV 0 fm 0 fm Target initStep + 1 -722 mum -2.09 mm -2.41 m 0 eV 304 keV 151 mum 151 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -102 mum -2.14 mm -2.41 m 298 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.52 mm -2.38 mm -2.41 m 149 keV 0 eV 2.6 mm 2.6 mm Target compt + 2 -2.48 mm -2.33 mm -2.41 m 0 eV 88 keV 66.3 mum 2.67 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.48 mm -2.33 mm -2.41 m 60.7 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.49 mm -2.33 mm -2.41 m 1.39e-11 eV 60.7 keV 12.3 mum 12.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 138 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.52 mm -2.38 mm -2.41 m 149 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.53 mm -2.38 mm -2.41 m 0 eV 149 keV 51.8 mum 51.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -43.5 mum -2.09 mm -2.41 m 973 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.51 mm -3.46 mm -2.4 m 483 keV 0 eV 6 mm 6 mm Target compt + 2 -3.87 mm -1.32 mm -2.4 m 483 keV 0 eV 3.08 mm 9.08 mm Target Transportation + 3 -40.9 cm 2.4 m 6.11 cm 483 keV 0 eV 3.46 m 3.47 m Tracker Transportation + 4 -49.5 cm 2.91 m 58.4 cm 483 keV 0 eV 73.5 cm 4.21 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 137 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.51 mm -3.46 mm -2.4 m 490 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.52 mm -3.47 mm -2.4 m 0 eV 490 keV 294 mum 294 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -64.2 mum 909 mum -2.41 m 553 keV 0 eV 0 fm 0 fm Target initStep + 1 -754 mum 260 mum -2.41 m 0 eV 88 keV 2.28 mm 2.28 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 136 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -754 mum 260 mum -2.41 m 465 keV 0 eV 0 fm 0 fm Target initStep + 1 -752 mum 266 mum -2.41 m 0 eV 465 keV 273 mum 273 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 135, Parent ID = 50 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.81 mum 712 mum -2.41 m 969 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.5 mm 2.95 mm -2.4 m 969 keV 0 eV 9.56 mm 9.56 mm Target Transportation + 2 -13.2 cm 19.8 cm -1.6 m 969 keV 0 eV 83.4 cm 84.3 cm Tracker Transportation + 3 -16 cm 24 cm -1.43 m 969 keV 0 eV 17.9 cm 1.02 m Chamber Transportation + 4 -26.2 cm 39.3 cm -80 cm 969 keV 0 eV 65.5 cm 1.68 m Tracker Transportation + 5 -29.5 cm 44.2 cm -60 cm 969 keV 0 eV 20.8 cm 1.89 m Chamber Transportation + 6 -39.3 cm 58.8 cm 0 fm 969 keV 0 eV 62.5 cm 2.51 m Tracker Transportation + 7 -42.5 cm 63.7 cm 20 cm 969 keV 0 eV 20.8 cm 2.72 m Chamber Transportation + 8 -52.3 cm 78.3 cm 80 cm 969 keV 0 eV 62.5 cm 3.34 m Tracker Transportation + 9 -55.6 cm 83.2 cm 1 m 969 keV 0 eV 20.8 cm 3.55 m Chamber Transportation + 10 -65.3 cm 97.9 cm 1.6 m 969 keV 0 eV 62.5 cm 4.18 m Tracker Transportation + 11 -68.6 cm 1.03 m 1.8 m 969 keV 0 eV 20.8 cm 4.39 m Chamber Transportation + 12 -78.4 cm 1.17 m 2.4 m 969 keV 0 eV 62.5 cm 5.01 m Tracker Transportation + 13 -86.7 cm 1.3 m 2.91 m 969 keV 0 eV 53.1 cm 5.54 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -214 mum 126 mum -2.41 m 17.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -408 mum 412 mum -2.41 m 0 eV 0 eV 2.4 mm 2.4 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 148, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -408 mum 412 mum -2.41 m 15.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 137 mum -665 mum -2.41 m 6.24 MeV 8.93 MeV 3.17 mm 3.17 mm Target eBrem + 2 2.17 mm -1.53 mm -2.41 m 3.72 MeV 2.52 MeV 2.43 mm 5.6 mm Target eIoni + 3 3.73 mm -1.51 mm -2.41 m 1.84 MeV 1.88 MeV 1.93 mm 7.53 mm Target eIoni + 4 4.34 mm -915 mum -2.41 m 690 keV 1.15 MeV 1.34 mm 8.87 mm Target eIoni + 5 4.31 mm -943 mum -2.41 m 0 eV 690 keV 462 mum 9.34 mm Target eIoni + 6 4.31 mm -943 mum -2.41 m 0 eV 0 eV 0 fm 9.34 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.31 mm -943 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 539 mum 1.56 mm -2.4 m 421 keV 0 eV 5.4 mm 5.4 mm Target compt + 2 169 mum 1.8 mm -2.4 m 199 keV 0 eV 1.36 mm 6.77 mm Target compt + 3 1.62 mm 3.72 mm -2.4 m 0 eV 88 keV 2.56 mm 9.33 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.62 mm 3.72 mm -2.4 m 111 keV 0 eV 0 fm 0 fm Target initStep + 1 1.62 mm 3.71 mm -2.4 m 0 eV 111 keV 32.5 mum 32.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 169 mum 1.8 mm -2.4 m 222 keV 0 eV 0 fm 0 fm Target initStep + 1 166 mum 1.79 mm -2.4 m 0 eV 222 keV 95.5 mum 95.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 539 mum 1.56 mm -2.4 m 89.8 keV 0 eV 0 fm 0 fm Target initStep + 1 538 mum 1.56 mm -2.4 m 0 eV 89.8 keV 23.1 mum 23.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 150, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.31 mm -943 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 8.03 mm -3.42 mm -2.41 m 311 keV 0 eV 5.34 mm 5.34 mm Target compt + 2 7.59 mm -3.86 mm -2.41 m 0 eV 88 keV 1.09 mm 6.44 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 150 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.59 mm -3.86 mm -2.41 m 223 keV 0 eV 0 fm 0 fm Target initStep + 1 7.59 mm -3.86 mm -2.41 m 2.78e-11 eV 223 keV 96.2 mum 96.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 150 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 8.03 mm -3.42 mm -2.41 m 200 keV 0 eV 0 fm 0 fm Target initStep + 1 8.03 mm -3.42 mm -2.41 m 5.55e-11 eV 200 keV 81.4 mum 81.4 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 149, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 137 mum -665 mum -2.41 m 403 keV 0 eV 0 fm 0 fm Target initStep + 1 1.77 mm -6.51 mm -2.41 m 0 eV 88 keV 8.28 mm 8.28 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.77 mm -6.51 mm -2.41 m 315 keV 0 eV 0 fm 0 fm Target initStep + 1 1.77 mm -6.52 mm -2.41 m 1.11e-10 eV 315 keV 159 mum 159 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 49 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -408 mum 412 mum -2.41 m 1.11 MeV 0 eV 0 fm 0 fm Target initStep + 1 -410 mum 385 mum -2.41 m 0 eV 1.11 MeV 810 mum 810 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -197 mum 97.3 mum -2.41 m 3.43 MeV 0 eV 0 fm 0 fm Target initStep + 1 -775 mum 1.61 mm -2.4 m 3.43 MeV 0 eV 1.24 cm 1.24 cm Target Transportation + 2 -3.84 cm 10 cm -1.6 m 3.43 MeV 0 eV 80.7 cm 81.9 cm Tracker Transportation + 3 -4.78 cm 12.5 cm -1.4 m 3.43 MeV 0 eV 20.2 cm 1.02 m Chamber Transportation + 4 -7.61 cm 19.9 cm -80 cm 3.43 MeV 0 eV 60.5 cm 1.63 m Tracker Transportation + 5 -8.55 cm 22.4 cm -60 cm 3.43 MeV 0 eV 20.2 cm 1.83 m Chamber Transportation + 6 -11.4 cm 29.8 cm 0 fm 3.43 MeV 0 eV 60.5 cm 2.43 m Tracker Transportation + 7 -12.3 cm 32.2 cm 20 cm 3.43 MeV 0 eV 20.2 cm 2.63 m Chamber Transportation + 8 -15.1 cm 39.7 cm 80 cm 3.43 MeV 0 eV 60.5 cm 3.24 m Tracker Transportation + 9 -16.1 cm 42.1 cm 1 m 3.43 MeV 0 eV 20.2 cm 3.44 m Chamber Transportation + 10 -18.9 cm 49.5 cm 1.6 m 3.43 MeV 0 eV 60.5 cm 4.05 m Tracker Transportation + 11 -19.8 cm 52 cm 1.8 m 3.43 MeV 0 eV 20.2 cm 4.25 m Chamber Transportation + 12 -22.7 cm 59.4 cm 2.4 m 3.43 MeV 0 eV 60.5 cm 4.85 m Tracker Transportation + 13 -25.1 cm 65.7 cm 2.91 m 3.43 MeV 0 eV 51.4 cm 5.37 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -145 mum 65.3 mum -2.41 m 24.8 MeV 0 eV 0 fm 0 fm Target initStep + 1 -799 mum 933 mum -2.4 m 24.8 MeV 0 eV 1.34 cm 1.34 cm Target Transportation + 2 -4 cm 5.29 cm -1.6 m 24.8 MeV 0 eV 80.3 cm 81.6 cm Tracker Transportation + 3 -4.98 cm 6.59 cm -1.4 m 24.8 MeV 0 eV 20.1 cm 1.02 m Chamber Transportation + 4 -7.91 cm 10.5 cm -80 cm 24.8 MeV 0 eV 60.2 cm 1.62 m Tracker Transportation + 5 -8.89 cm 11.8 cm -60 cm 24.8 MeV 0 eV 20.1 cm 1.82 m Chamber Transportation + 6 -11.8 cm 15.7 cm 0 fm 24.8 MeV 0 eV 60.2 cm 2.42 m Tracker Transportation + 7 -12.8 cm 17 cm 20 cm 24.8 MeV 0 eV 20.1 cm 2.62 m Chamber Transportation + 8 -15.7 cm 20.9 cm 80 cm 24.8 MeV 0 eV 60.2 cm 3.22 m Tracker Transportation + 9 -16.7 cm 22.1 cm 99.2 cm 0 eV 0 eV 19.3 cm 3.42 m Chamber conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 159, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -16.7 cm 22.1 cm 99.2 cm 13.7 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 -16.7 cm 22.2 cm 1 m 13.7 MeV 6.31 keV 7.98 mm 7.98 mm Chamber Transportation + 2 -19.3 cm 28.3 cm 1.6 m 13.6 MeV 113 keV 60.4 cm 61.2 cm Tracker Transportation + 3 -20.5 cm 29.3 cm 1.77 m 13.5 MeV 117 keV 17.2 cm 78.4 cm Chamber eBrem + 4 -20.7 cm 29.7 cm 1.8 m 13.4 MeV 40.3 keV 2.98 cm 81.4 cm Chamber Transportation + 5 -24.4 cm 39.9 cm 2.4 m 13.3 MeV 116 keV 61 cm 1.42 m Tracker Transportation + 6 -25.4 cm 41.6 cm 2.51 m 13.3 MeV 18.4 keV 10.9 cm 1.53 m World eIoni + 7 -27.7 cm 44.4 cm 2.7 m 13.2 MeV 39.7 keV 19.9 cm 1.73 m World eIoni + 8 -28.4 cm 45.4 cm 2.76 m 13.2 MeV 8.12 keV 6.08 cm 1.79 m World eIoni + 9 -29.8 cm 47.9 cm 2.91 m 13.2 MeV 24.5 keV 15 cm 1.94 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 159 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -28.4 cm 45.4 cm 2.76 m 9.71 keV 0 eV 0 fm 0 fm World initStep + 1 -28.3 cm 45.2 cm 2.76 m 3.27 keV 6.44 keV 1.65 mm 1.65 mm World eIoni + 2 -28.3 cm 45.2 cm 2.76 m 1.73e-12 eV 3.27 keV 339 mum 1.99 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 159 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -27.7 cm 44.4 cm 2.7 m 9.68 keV 0 eV 0 fm 0 fm World initStep + 1 -27.8 cm 44.2 cm 2.7 m 6.05 keV 3.63 keV 1.65 mm 1.65 mm World eIoni + 2 -27.8 cm 44.2 cm 2.7 m 0 eV 6.05 keV 950 mum 2.6 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 159 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -25.4 cm 41.6 cm 2.51 m 18.6 keV 0 eV 0 fm 0 fm World initStep + 1 -25.1 cm 41.6 cm 2.51 m 14.5 keV 4.18 keV 2.83 mm 2.83 mm World eIoni + 2 -24.9 cm 41.7 cm 2.51 m 2.8 keV 11.7 keV 2.27 mm 5.1 mm World eIoni + 3 -24.9 cm 41.7 cm 2.51 m 8.67e-13 eV 2.8 keV 264 mum 5.36 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 159 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -20.5 cm 29.3 cm 1.77 m 3.07 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -20.6 cm 29.3 cm 1.77 m 0 eV 1.15 keV 1.45 mm 1.45 mm Chamber phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 160 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -20.6 cm 29.3 cm 1.77 m 1.92 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -20.6 cm 29.3 cm 1.77 m 0 eV 1.92 keV 97.1 mum 97.1 mum Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -16.7 cm 22.1 cm 99.2 cm 10.1 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 -16.7 cm 22.2 cm 1 m 10.1 MeV 3.79 keV 7.97 mm 7.97 mm Chamber Transportation + 2 -19.2 cm 24 cm 1.3 m 9.99 MeV 48.8 keV 30.4 cm 31.2 cm Tracker eIoni + 3 -21.3 cm 24.8 cm 1.6 m 9.94 MeV 49.2 keV 29.9 cm 61.1 cm Tracker Transportation + 4 -22.1 cm 25.2 cm 1.8 m 9.81 MeV 122 keV 20.3 cm 81.3 cm Chamber Transportation + 5 -22.9 cm 27 cm 2.4 m 9.7 MeV 120 keV 60.1 cm 1.41 m Tracker Transportation + 6 -22.5 cm 26.7 cm 2.91 m 9.6 MeV 97.6 keV 51.1 cm 1.93 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -19.2 cm 24 cm 1.3 m 37.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -19 cm 23.7 cm 1.31 m 32.7 keV 4.37 keV 6.19 mm 6.19 mm Tracker eIoni + 2 -18.9 cm 23.6 cm 1.31 m 23.2 keV 989 eV 1.54 mm 7.73 mm Tracker eIoni + 3 -18.7 cm 23.4 cm 1.3 m 17.8 keV 5.39 keV 3.51 mm 1.12 cm Tracker eIoni + 4 -18.5 cm 23.3 cm 1.3 m 12.8 keV 5 keV 2.71 mm 1.39 cm Tracker eIoni + 5 -18.3 cm 23.2 cm 1.3 m 8.9 keV 3.89 keV 2.06 mm 1.6 cm Tracker eIoni + 6 -18.4 cm 23.2 cm 1.3 m 1.89 keV 7 keV 1.53 mm 1.75 cm Tracker eIoni + 7 -18.4 cm 23.2 cm 1.3 m 0 eV 1.89 keV 143 mum 1.77 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 165 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -18.9 cm 23.6 cm 1.31 m 8.53 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -19.1 cm 23.6 cm 1.31 m 4.39 keV 4.13 keV 1.47 mm 1.47 mm Tracker eIoni + 2 -19.1 cm 23.6 cm 1.31 m 0 eV 4.39 keV 554 mum 2.03 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -57.1 mum -4.27 mum -2.41 m 5.78 MeV 0 eV 0 fm 0 fm Target initStep + 1 -670 mum 239 mum -2.41 m 0 eV 0 eV 8.03 mm 8.03 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 168, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -670 mum 239 mum -2.41 m 814 keV 0 eV 0 fm 0 fm Target initStep + 1 -521 mum 187 mum -2.41 m 1.11e-10 eV 814 keV 570 mum 570 mum Target eIoni + 2 -521 mum 187 mum -2.41 m 1.11e-10 eV 0 eV 0 fm 570 mum Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -521 mum 187 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.35 cm 8.01 mm -2.4 m 275 keV 0 eV 1.69 cm 1.69 cm Target compt + 2 1.36 cm 7.93 mm -2.4 m 0 eV 88 keV 131 mum 1.7 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.36 cm 7.93 mm -2.4 m 187 keV 0 eV 0 fm 0 fm Target initStep + 1 1.36 cm 7.93 mm -2.4 m 2.78e-11 eV 187 keV 73.6 mum 73.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 171, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.35 cm 8.01 mm -2.4 m 236 keV 0 eV 0 fm 0 fm Target initStep + 1 1.35 cm 8.02 mm -2.4 m 8.33e-11 eV 236 keV 105 mum 105 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 168 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -521 mum 187 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.09 mm -4.05 mm -2.41 m 0 eV 88 keV 9.12 mm 9.12 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.09 mm -4.05 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.1 mm -4.04 mm -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -670 mum 239 mum -2.41 m 3.94 MeV 0 eV 0 fm 0 fm Target initStep + 1 -693 mum 489 mum -2.41 m 1.57 MeV 414 keV 353 mum 353 mum Target eBrem + 2 -379 mum 226 mum -2.41 m 183 keV 1.38 MeV 1.17 mm 1.52 mm Target eIoni + 3 -380 mum 229 mum -2.41 m 0 eV 183 keV 71.4 mum 1.6 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 167 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -693 mum 489 mum -2.41 m 1.96 MeV 0 eV 0 fm 0 fm Target initStep + 1 -997 mum 2.95 mm -2.4 m 695 keV 0 eV 6.33 mm 6.33 mm Target compt + 2 -752 mum 6.2 mm -2.4 m 695 keV 0 eV 3.29 mm 9.62 mm Target Transportation + 3 6.4 cm 86.4 cm -2.26 m 412 keV 0 eV 87.1 cm 88.1 cm Tracker compt + 4 -2.3 m 2.4 m -1.62 m 412 keV 0 eV 2.9 m 3.78 m Tracker Transportation + 5 -2.91 m 2.79 m -1.46 m 412 keV 0 eV 74 cm 4.52 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 174 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.4 cm 86.4 cm -2.26 m 282 keV 0 eV 0 fm 0 fm Tracker initStep + 1 13.7 cm 98.6 cm -2.31 m 246 keV 36.7 keV 15.6 cm 15.6 cm Tracker eIoni + 2 2.28 cm 97.3 cm -2.28 m 220 keV 25.3 keV 12.6 cm 28.2 cm Tracker eIoni + 3 -6.4 cm 1.02 m -2.26 m 189 keV 30.8 keV 10.6 cm 38.8 cm Tracker eIoni + 4 -11.9 cm 1.07 m -2.28 m 168 keV 21.6 keV 8.26 cm 47 cm Tracker eIoni + 5 -17.8 cm 1.1 m -2.28 m 147 keV 20.6 keV 6.81 cm 53.8 cm Tracker eIoni + 6 -22.6 cm 1.12 m -2.27 m 131 keV 16.7 keV 5.49 cm 59.3 cm Tracker eIoni + 7 -22.9 cm 1.11 m -2.22 m 113 keV 17.4 keV 4.48 cm 63.8 cm Tracker eIoni + 8 -24.6 cm 1.09 m -2.21 m 93.8 keV 10.1 keV 3.35 cm 67.1 cm Tracker eIoni + 9 -26.6 cm 1.08 m -2.2 m 83.2 keV 10.6 keV 2.59 cm 69.7 cm Tracker eIoni + 10 -27.4 cm 1.08 m -2.19 m 44.8 keV 4.17 keV 1.1 cm 70.8 cm Tracker eIoni + 11 -28.1 cm 1.08 m -2.19 m 40.8 keV 4.01 keV 8.09 mm 71.7 cm Tracker eIoni + 12 -28.7 cm 1.08 m -2.2 m 34.9 keV 5.96 keV 7.09 mm 72.4 cm Tracker eIoni + 13 -29.3 cm 1.08 m -2.2 m 29 keV 5.82 keV 5.7 mm 72.9 cm Tracker eIoni + 14 -29.6 cm 1.07 m -2.2 m 23.8 keV 5.22 keV 4.52 mm 73.4 cm Tracker eIoni + 15 -29.5 cm 1.07 m -2.2 m 19.8 keV 3.99 keV 3.61 mm 73.7 cm Tracker eIoni + 16 -29.6 cm 1.07 m -2.2 m 15.8 keV 4 keV 3 mm 74 cm Tracker eIoni + 17 -29.7 cm 1.07 m -2.2 m 12.6 keV 3.28 keV 2.45 mm 74.3 cm Tracker eIoni + 18 -29.9 cm 1.07 m -2.2 m 8.27 keV 4.29 keV 2.03 mm 74.5 cm Tracker eIoni + 19 -29.8 cm 1.07 m -2.2 m 1.73e-12 eV 8.27 keV 1.43 mm 74.6 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 176 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -27.4 cm 1.08 m -2.19 m 34.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -27.2 cm 1.07 m -2.19 m 28.9 keV 5.27 keV 5.56 mm 5.56 mm Tracker eIoni + 2 -27.4 cm 1.07 m -2.18 m 24.4 keV 4.5 keV 4.5 mm 1.01 cm Tracker eIoni + 3 -27.6 cm 1.07 m -2.19 m 21.8 keV 2.63 keV 3.7 mm 1.38 cm Tracker eIoni + 4 -27.9 cm 1.07 m -2.19 m 17.9 keV 3.84 keV 3.28 mm 1.7 cm Tracker eIoni + 5 -28 cm 1.07 m -2.19 m 11.6 keV 6.35 keV 2.73 mm 1.98 cm Tracker eIoni + 6 -28.2 cm 1.07 m -2.19 m 6.09 keV 5.5 keV 1.91 mm 2.17 cm Tracker eIoni + 7 -28.3 cm 1.07 m -2.19 m 0 eV 6.09 keV 960 mum 2.26 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 176 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -24.6 cm 1.09 m -2.21 m 9.34 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -24.7 cm 1.09 m -2.21 m 4.35 keV 4.99 keV 1.6 mm 1.6 mm Tracker eIoni + 2 -24.7 cm 1.1 m -2.21 m 0 eV 4.35 keV 545 mum 2.15 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 174 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -997 mum 2.95 mm -2.4 m 1.27 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1 mm 2.96 mm -2.4 m 0 eV 1.27 MeV 949 mum 949 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.12 mum -25 mum -2.42 m 587 keV 0 eV 0 fm 0 fm Target initStep + 1 -123 mum -11.4 mum -2.41 m 273 keV 0 eV 1.3 mm 1.3 mm Target compt + 2 3.31 mm 3.1 mm -2.41 m 258 keV 0 eV 4.64 mm 5.95 mm Target compt + 3 3.39 mm 3.18 mm -2.41 m 0 eV 88 keV 123 mum 6.07 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.39 mm 3.18 mm -2.41 m 170 keV 0 eV 0 fm 0 fm Target initStep + 1 3.39 mm 3.18 mm -2.41 m 2.78e-11 eV 170 keV 63.7 mum 63.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.31 mm 3.1 mm -2.41 m 14.7 keV 0 eV 0 fm 0 fm Target initStep + 1 3.31 mm 3.1 mm -2.41 m 1.91e-11 eV 14.7 keV 1.26 mum 1.26 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -123 mum -11.4 mum -2.41 m 315 keV 0 eV 0 fm 0 fm Target initStep + 1 -127 mum -14.3 mum -2.41 m 0 eV 315 keV 159 mum 159 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 16.6 mum -689 nm -2.42 m 3.54 MeV 0 eV 0 fm 0 fm Target initStep + 1 59.3 mum -410 mum -2.4 m 3.54 MeV 0 eV 1.62 cm 1.62 cm Target Transportation + 2 2.17 mm -2.06 cm -1.6 m 3.54 MeV 0 eV 80 cm 81.6 cm Tracker Transportation + 3 2.7 mm -2.57 cm -1.4 m 3.54 MeV 0 eV 20 cm 1.02 m Chamber Transportation + 4 4.29 mm -4.09 cm -80 cm 3.54 MeV 0 eV 60 cm 1.62 m Tracker Transportation + 5 4.81 mm -4.59 cm -60 cm 3.54 MeV 0 eV 20 cm 1.82 m Chamber Transportation + 6 6.4 mm -6.11 cm -0.114 fm 3.54 MeV 0 eV 60 cm 2.42 m Tracker Transportation + 7 6.93 mm -6.62 cm 20 cm 3.54 MeV 0 eV 20 cm 2.62 m Chamber Transportation + 8 8.51 mm -8.13 cm 80 cm 3.54 MeV 0 eV 60 cm 3.22 m Tracker Transportation + 9 9.04 mm -8.64 cm 1 m 3.54 MeV 0 eV 20 cm 3.42 m Chamber Transportation + 10 1.06 cm -10.2 cm 1.6 m 3.54 MeV 0 eV 60 cm 4.02 m Tracker Transportation + 11 1.12 cm -10.7 cm 1.8 m 3.54 MeV 0 eV 20 cm 4.22 m Chamber Transportation + 12 1.27 cm -12.2 cm 2.4 m 3.54 MeV 0 eV 60 cm 4.82 m Tracker Transportation + 13 1.41 cm -13.5 cm 2.91 m 3.54 MeV 0 eV 51 cm 5.33 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.17 mum -8.14 mum -2.42 m 99.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 730 nm -5.76 mum -2.42 m 0 eV 0 eV 642 mum 642 mum Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 183, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 730 nm -5.76 mum -2.42 m 87.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 18.9 mum -6.61 mum -2.42 m 86.2 MeV 564 keV 380 mum 380 mum Target eBrem + 2 -3.14 mum 83.8 mum -2.41 m 83.4 MeV 2.31 MeV 1.72 mm 2.1 mm Target eBrem + 3 -79.1 mum -39.3 mum -2.41 m 80 MeV 1.04 MeV 909 mum 3.01 mm Target eBrem + 4 -158 mum -148 mum -2.41 m 76.5 MeV 2.85 MeV 1.75 mm 4.76 mm Target eBrem + 5 -201 mum -173 mum -2.41 m 63.1 MeV 331 keV 304 mum 5.06 mm Target eBrem + 6 -284 mum -299 mum -2.41 m 0 eV 1.24 MeV 879 mum 5.94 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -284 mum -299 mum -2.41 m 45.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -139 mum -1.87 mm -2.4 m 45.7 MeV 0 eV 1.05 cm 1.05 cm Target Transportation + 2 1.1 cm -12.3 cm -1.6 m 45.7 MeV 0 eV 80.9 cm 82 cm Tracker Transportation + 3 1.38 cm -15.3 cm -1.4 m 45.7 MeV 0 eV 20.2 cm 1.02 m Chamber Transportation + 4 2.22 cm -24.3 cm -80 cm 45.7 MeV 0 eV 60.7 cm 1.63 m Tracker Transportation + 5 2.5 cm -27.4 cm -60 cm 45.7 MeV 0 eV 20.2 cm 1.83 m Chamber Transportation + 6 3.34 cm -36.4 cm 0 fm 45.7 MeV 0 eV 60.7 cm 2.44 m Tracker Transportation + 7 3.62 cm -39.4 cm 20 cm 45.7 MeV 0 eV 20.2 cm 2.64 m Chamber Transportation + 8 4.46 cm -48.5 cm 80 cm 45.7 MeV 0 eV 60.7 cm 3.25 m Tracker Transportation + 9 4.74 cm -51.5 cm 1 m 45.7 MeV 0 eV 20.2 cm 3.45 m Chamber Transportation + 10 5.58 cm -60.6 cm 1.6 m 45.7 MeV 0 eV 60.7 cm 4.06 m Tracker Transportation + 11 5.86 cm -63.6 cm 1.8 m 45.7 MeV 0 eV 20.2 cm 4.26 m Chamber Transportation + 12 6.7 cm -72.6 cm 2.4 m 45.7 MeV 0 eV 60.7 cm 4.87 m Tracker Transportation + 13 7.41 cm -80.3 cm 2.91 m 45.7 MeV 0 eV 51.6 cm 5.38 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -284 mum -299 mum -2.41 m 17.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -927 mum -1.32 mm -2.41 m 0 eV 0 eV 3.15 mm 3.15 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 192, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -927 mum -1.32 mm -2.41 m 1.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -598 mum -1.22 mm -2.41 m 2.22e-10 eV 1.4 MeV 1.08 mm 1.08 mm Target eIoni + 2 -598 mum -1.22 mm -2.41 m 2.22e-10 eV 0 eV 0 fm 1.08 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 194, Parent ID = 192 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -598 mum -1.22 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.23 mm -748 mum -2.4 m 0 eV 88 keV 4.48 mm 4.48 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 194 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.23 mm -748 mum -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 2.24 mm -739 mum -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 193, Parent ID = 192 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -598 mum -1.22 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.22 cm -3.15 mm -2.42 m 0 eV 88 keV 1.84 cm 1.84 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 193 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.22 cm -3.15 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.22 cm -3.15 mm -2.42 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 191, Parent ID = 189 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -927 mum -1.32 mm -2.41 m 14.8 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.03 mm -2.03 mm -2.41 m 9.53 MeV 1.63 MeV 1.35 mm 1.35 mm Target eBrem + 2 -339 mum -1.54 mm -2.4 m 6.76 MeV 2.37 MeV 2.08 mm 3.44 mm Target eBrem + 3 -265 mum -2.72 mm -2.4 m 4.36 MeV 1.71 MeV 1.74 mm 5.18 mm Target eBrem + 4 835 mum -1.75 mm -2.4 m 1.84 MeV 2.52 MeV 2.05 mm 7.23 mm Target eIoni + 5 620 mum -1.71 mm -2.4 m 1.04 MeV 371 keV 375 mum 7.6 mm Target eBrem + 6 623 mum -1.74 mm -2.4 m 0 eV 1.04 MeV 755 mum 8.35 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 200, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 620 mum -1.71 mm -2.4 m 426 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.41 mm -3.73 mm -2.41 m 0 eV 88 keV 7.9 mm 7.9 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 201, Parent ID = 200 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.41 mm -3.73 mm -2.41 m 338 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.42 mm -3.74 mm -2.41 m 0 eV 338 keV 176 mum 176 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 199, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -265 mum -2.72 mm -2.4 m 696 keV 0 eV 0 fm 0 fm Target initStep + 1 1.08 cm -3.97 mm -2.41 m 505 keV 0 eV 1.41 cm 1.41 cm Target compt + 2 1.79 cm -9.78 mm -2.41 m 0 eV 88 keV 9.23 mm 2.34 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 203, Parent ID = 199 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.79 cm -9.78 mm -2.41 m 417 keV 0 eV 0 fm 0 fm Target initStep + 1 1.79 cm -9.79 mm -2.41 m 1.11e-10 eV 417 keV 236 mum 236 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 202, Parent ID = 199 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.08 cm -3.97 mm -2.41 m 191 keV 0 eV 0 fm 0 fm Target initStep + 1 1.08 cm -3.97 mm -2.41 m 2.78e-11 eV 191 keV 76.2 mum 76.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 198, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -339 mum -1.54 mm -2.4 m 402 keV 0 eV 0 fm 0 fm Target initStep + 1 257 mum -4.04 mm -2.4 m 0 eV 88 keV 2.6 mm 2.6 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 204, Parent ID = 198 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 257 mum -4.04 mm -2.4 m 314 keV 0 eV 0 fm 0 fm Target initStep + 1 258 mum -4.05 mm -2.4 m 0 eV 314 keV 159 mum 159 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 197, Parent ID = 191 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.03 mm -2.03 mm -2.41 m 3.59 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.18 mm -4.25 mm -2.4 m 3.59 MeV 0 eV 7.06 mm 7.06 mm Target Transportation + 2 -54.6 cm -56.3 cm -80 cm 3.59 MeV 0 eV 1.78 m 1.79 m Tracker Transportation + 3 -61.3 cm -63.2 cm -60 cm 3.59 MeV 0 eV 22.2 cm 2.01 m Chamber Transportation + 4 -81.7 cm -84.2 cm -0.114 fm 3.59 MeV 0 eV 66.7 cm 2.68 m Tracker Transportation + 5 -88.4 cm -91.1 cm 20 cm 3.59 MeV 0 eV 22.2 cm 2.9 m Chamber Transportation + 6 -1.09 m -1.12 m 80 cm 3.59 MeV 0 eV 66.7 cm 3.57 m Tracker Transportation + 7 -1.16 m -1.19 m 1 m 3.59 MeV 0 eV 22.2 cm 3.79 m Chamber Transportation + 8 -1.36 m -1.4 m 1.6 m 3.59 MeV 0 eV 66.7 cm 4.46 m Tracker Transportation + 9 -1.43 m -1.47 m 1.8 m 3.59 MeV 0 eV 22.2 cm 4.68 m Chamber Transportation + 10 -1.63 m -1.68 m 2.4 m 3.59 MeV 0 eV 66.7 cm 5.34 m Tracker Transportation + 11 -1.8 m -1.86 m 2.91 m 3.59 MeV 0 eV 56.7 cm 5.91 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 188, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -201 mum -173 mum -2.41 m 13.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.25 mm -956 mum -2.4 m 0 eV 0 eV 7.64 mm 7.64 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 206, Parent ID = 188 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.25 mm -956 mum -2.4 m 8.71 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.28 mm -2.57 mm -2.4 m 5.77 MeV 2.95 MeV 2.84 mm 2.84 mm Target eIoni + 2 -1.39 mm -2.35 mm -2.4 m 4.83 MeV 374 keV 285 mum 3.13 mm Target eBrem + 3 -1.44 mm -2.25 mm -2.4 m 4.18 MeV 125 keV 120 mum 3.25 mm Target eBrem + 4 -1.26 mm -1.73 mm -2.4 m 2.95 MeV 754 keV 729 mum 3.97 mm Target eBrem + 5 -1.64 mm -1.52 mm -2.4 m 1.47 MeV 1.02 MeV 1.05 mm 5.03 mm Target eBrem + 6 -2.04 mm -1.09 mm -2.4 m 237 keV 1.24 MeV 1.13 mm 6.16 mm Target eIoni + 7 -2.04 mm -1.06 mm -2.4 m 5.55e-11 eV 237 keV 101 mum 6.26 mm Target eIoni + 8 -2.04 mm -1.06 mm -2.4 m 5.55e-11 eV 0 eV 0 fm 6.26 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 212, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.04 mm -1.06 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 mm -3.63 mm -2.41 m 234 keV 0 eV 6.4 mm 6.4 mm Target compt + 2 -2.08 mm -1.33 mm -2.41 m 0 eV 88 keV 2.46 mm 8.85 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 214, Parent ID = 212 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.08 mm -1.33 mm -2.41 m 146 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.08 mm -1.32 mm -2.41 m 5.55e-11 eV 146 keV 50.1 mum 50.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 213, Parent ID = 212 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.44 mm -3.63 mm -2.41 m 277 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.44 mm -3.63 mm -2.41 m 0 eV 277 keV 132 mum 132 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 211, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.04 mm -1.06 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.2 mm -363 mum -2.4 m 187 keV 0 eV 1.75 mm 1.75 mm Target compt + 2 -2.41 mm -1.35 mm -2.4 m 0 eV 88 keV 1.13 mm 2.88 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 216, Parent ID = 211 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.41 mm -1.35 mm -2.4 m 98.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.41 mm -1.36 mm -2.4 m 0 eV 98.6 keV 26.9 mum 26.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 215, Parent ID = 211 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.2 mm -363 mum -2.4 m 324 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.2 mm -357 mum -2.4 m 5.55e-11 eV 324 keV 166 mum 166 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 210, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.64 mm -1.52 mm -2.4 m 452 keV 0 eV 0 fm 0 fm Target initStep + 1 -6 mm -3.57 mm -2.4 m 452 keV 0 eV 5.02 mm 5.02 mm Target Transportation + 2 -2.4 m -1.13 m -1.63 m 452 keV 0 eV 2.75 m 2.76 m Tracker Transportation + 3 -2.91 m -1.37 m -1.47 m 452 keV 0 eV 58.7 cm 3.35 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 209, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.26 mm -1.73 mm -2.4 m 483 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.77 mm -1.05 mm -2.4 m 483 keV 0 eV 1.24 mm 1.24 mm Target Transportation + 2 -1.78 m 2.4 m 81.8 cm 483 keV 0 eV 4.39 m 4.39 m Tracker Transportation + 3 -2.16 m 2.91 m 1.5 m 483 keV 0 eV 93.3 cm 5.33 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 208, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.44 mm -2.25 mm -2.4 m 517 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.35 mm -679 mum -2.4 m 517 keV 0 eV 2.29 mm 2.29 mm Target Transportation + 2 -1.39 m 2.4 m -27.5 cm 517 keV 0 eV 3.49 m 3.5 m Tracker Transportation + 3 -1.69 m 2.91 m 17.7 cm 517 keV 0 eV 74.2 cm 4.24 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 207, Parent ID = 206 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.39 mm -2.35 mm -2.4 m 565 keV 0 eV 0 fm 0 fm Target initStep + 1 -2.81 mm -553 mum -2.4 m 565 keV 0 eV 2.71 mm 2.71 mm Target Transportation + 2 -1.9 m 2.4 m -47.7 cm 565 keV 0 eV 3.61 m 3.62 m Tracker Transportation + 3 -2.3 m 2.91 m -6.87 cm 565 keV 0 eV 76.8 cm 4.38 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 205, Parent ID = 188 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.25 mm -956 mum -2.4 m 3.35 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.19 mm -2.2 mm -2.4 m 1.29 MeV 2.06 MeV 1.82 mm 1.82 mm Target eIoni + 2 -1.19 mm -2.28 mm -2.4 m 0 eV 1.29 MeV 964 mum 2.79 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 187, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -158 mum -148 mum -2.41 m 590 keV 0 eV 0 fm 0 fm Target initStep + 1 -363 mum -249 mum -2.41 m 575 keV 0 eV 1.75 mm 1.75 mm Target compt + 2 -64.2 mum 46.3 mum -2.4 m 231 keV 0 eV 5.07 mm 6.82 mm Target compt + 3 -193 mum 618 mum -2.4 m 0 eV 88 keV 630 mum 7.45 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 219, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -193 mum 618 mum -2.4 m 143 keV 0 eV 0 fm 0 fm Target initStep + 1 -196 mum 619 mum -2.4 m 0 eV 143 keV 48.6 mum 48.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 218, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -64.2 mum 46.3 mum -2.4 m 344 keV 0 eV 0 fm 0 fm Target initStep + 1 -62.8 mum 43.2 mum -2.4 m 0 eV 344 keV 181 mum 181 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 217, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -363 mum -249 mum -2.41 m 14.8 keV 0 eV 0 fm 0 fm Target initStep + 1 -363 mum -249 mum -2.41 m 0 eV 14.8 keV 1.27 mum 1.27 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 186, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -79.1 mum -39.3 mum -2.41 m 2.42 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.78 mm -1.23 mm -2.4 m 2.42 MeV 0 eV 1.34 cm 1.34 cm Target Transportation + 2 -10.4 cm -7.29 cm -1.6 m 2.42 MeV 0 eV 81 cm 82.3 cm Tracker Transportation + 3 -13 cm -9.09 cm -1.4 m 2.42 MeV 0 eV 20.2 cm 1.03 m Chamber Transportation + 4 -20.6 cm -14.5 cm -80 cm 2.42 MeV 0 eV 60.7 cm 1.63 m Tracker Transportation + 5 -23.2 cm -16.3 cm -60 cm 2.42 MeV 0 eV 20.2 cm 1.84 m Chamber Transportation + 6 -30.8 cm -21.6 cm -0.114 fm 2.42 MeV 0 eV 60.7 cm 2.44 m Tracker Transportation + 7 -33.4 cm -23.4 cm 20 cm 2.42 MeV 0 eV 20.2 cm 2.64 m Chamber Transportation + 8 -41.1 cm -28.8 cm 80 cm 2.42 MeV 0 eV 60.7 cm 3.25 m Tracker Transportation + 9 -43.6 cm -30.6 cm 1 m 2.42 MeV 0 eV 20.2 cm 3.45 m Chamber Transportation + 10 -51.3 cm -36 cm 1.6 m 2.42 MeV 0 eV 60.7 cm 4.06 m Tracker Transportation + 11 -53.8 cm -37.8 cm 1.8 m 2.42 MeV 0 eV 20.2 cm 4.26 m Chamber Transportation + 12 -61.5 cm -43.1 cm 2.4 m 2.42 MeV 0 eV 60.7 cm 4.87 m Tracker Transportation + 13 -68 cm -47.7 cm 2.91 m 2.42 MeV 0 eV 51.6 cm 5.39 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 185, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.14 mum 83.8 mum -2.41 m 444 keV 0 eV 0 fm 0 fm Target initStep + 1 -231 mum -134 mum -2.41 m 404 keV 0 eV 1.73 mm 1.73 mm Target compt + 2 -5.61 mm 2.42 mm -2.4 m 0 eV 88 keV 1.21 cm 1.38 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 221, Parent ID = 185 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.61 mm 2.42 mm -2.4 m 316 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.61 mm 2.42 mm -2.4 m 0 eV 316 keV 160 mum 160 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 220, Parent ID = 185 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -231 mum -134 mum -2.41 m 39.7 keV 0 eV 0 fm 0 fm Target initStep + 1 -230 mum -135 mum -2.41 m 6.94e-12 eV 39.7 keV 6.15 mum 6.15 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 184, Parent ID = 183 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 18.9 mum -6.61 mum -2.42 m 963 keV 0 eV 0 fm 0 fm Target initStep + 1 -72.1 mum -217 mum -2.41 m 0 eV 88 keV 9.11 mm 9.11 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 222, Parent ID = 184 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -72.1 mum -217 mum -2.41 m 875 keV 0 eV 0 fm 0 fm Target initStep + 1 -78.9 mum -229 mum -2.41 m 0 eV 875 keV 614 mum 614 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 43 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 730 nm -5.76 mum -2.42 m 11 MeV 0 eV 0 fm 0 fm Target initStep + 1 199 mum -126 mum -2.42 m 9.44 MeV 1.11 MeV 880 mum 880 mum Target eBrem + 2 320 mum -35.3 mum -2.41 m 6 MeV 664 keV 590 mum 1.47 mm Target eBrem + 3 406 mum 50.6 mum -2.41 m 1.97 MeV 137 keV 158 mum 1.63 mm Target eBrem + 4 -97.2 mum -70.1 mum -2.41 m 119 keV 900 keV 896 mum 2.52 mm Target eBrem + 5 -95.2 mum -71.6 mum -2.41 m 5.55e-11 eV 119 keV 36.4 mum 2.56 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 226, Parent ID = 182 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -97.2 mum -70.1 mum -2.41 m 947 keV 0 eV 0 fm 0 fm Target initStep + 1 2.6 mm -68.5 mum -2.41 m 730 keV 0 eV 4.11 mm 4.11 mm Target compt + 2 3.8 mm 1.7 mm -2.41 m 536 keV 0 eV 5.06 mm 9.16 mm Target compt + 3 4.03 mm 483 mum -2.4 m 248 keV 0 eV 3.59 mm 1.28 cm Target compt + 4 5.82 mm 680 mum -2.4 m 0 eV 88 keV 1.82 mm 1.46 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 230, Parent ID = 226 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.82 mm 680 mum -2.4 m 160 keV 0 eV 0 fm 0 fm Target initStep + 1 5.82 mm 678 mum -2.4 m 5.55e-11 eV 160 keV 57.9 mum 57.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 229, Parent ID = 226 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.03 mm 483 mum -2.4 m 288 keV 0 eV 0 fm 0 fm Target initStep + 1 4.03 mm 480 mum -2.4 m 5.55e-11 eV 288 keV 140 mum 140 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 228, Parent ID = 226 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.8 mm 1.7 mm -2.41 m 195 keV 0 eV 0 fm 0 fm Target initStep + 1 3.8 mm 1.71 mm -2.41 m 5.55e-11 eV 195 keV 78.1 mum 78.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 227, Parent ID = 226 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.6 mm -68.5 mum -2.41 m 216 keV 0 eV 0 fm 0 fm Target initStep + 1 2.6 mm -71.5 mum -2.41 m 1.39e-10 eV 216 keV 91.7 mum 91.7 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 225, Parent ID = 182 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 406 mum 50.6 mum -2.41 m 3.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 261 mum 429 mum -2.41 m 0 eV 0 eV 1.23 mm 1.23 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 232, Parent ID = 225 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 261 mum 429 mum -2.41 m 1.76 MeV 0 eV 0 fm 0 fm Target initStep + 1 32.5 mum -269 mum -2.41 m 79.4 keV 1.69 MeV 1.31 mm 1.31 mm Target eIoni + 2 34.1 mum -270 mum -2.41 m 0 eV 79.4 keV 17.3 mum 1.32 mm Target eIoni + 3 34.1 mum -270 mum -2.41 m 0 eV 0 eV 0 fm 1.32 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 234, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.1 mum -270 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.53 mm -5.63 mm -2.41 m 457 keV 0 eV 7.66 mm 7.66 mm Target compt + 2 -6.65 mm -9 mm -2.41 m 0 eV 88 keV 6.26 mm 1.39 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 236, Parent ID = 234 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.65 mm -9 mm -2.41 m 369 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.65 mm -9.01 mm -2.41 m 0 eV 369 keV 199 mum 199 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 235, Parent ID = 234 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.53 mm -5.63 mm -2.41 m 53.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.53 mm -5.63 mm -2.41 m 2.08e-11 eV 53.6 keV 10 mum 10 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 233, Parent ID = 232 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 34.1 mum -270 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 7.5 mm 8.51 mm -2.42 m 0 eV 88 keV 1.25 cm 1.25 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 237, Parent ID = 233 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.5 mm 8.51 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 7.51 mm 8.52 mm -2.42 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 231, Parent ID = 225 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 261 mum 429 mum -2.41 m 1.12 MeV 0 eV 0 fm 0 fm Target initStep + 1 256 mum 446 mum -2.41 m 0 eV 1.12 MeV 819 mum 819 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 224, Parent ID = 182 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 320 mum -35.3 mum -2.41 m 2.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.22 cm 1.04 cm -2.4 m 2.77 MeV 0 eV 2.17 cm 2.17 cm Target Transportation + 2 2.4 m 2.11 m 59.5 cm 2.77 MeV 0 eV 4.37 m 4.39 m Tracker Transportation + 3 2.52 m 2.22 m 74 cm 1.34 MeV 0 eV 21.3 cm 4.6 m World compt + 4 2.91 m 2.15 m 1.78 m 1.34 MeV 0 eV 1.11 m 5.71 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 238, Parent ID = 224 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.52 m 2.22 m 74 cm 1.43 MeV 0 eV 0 fm 0 fm World initStep + 1 2.67 m 2.52 m 85.9 cm 1.36 MeV 60 keV 35.9 cm 35.9 cm World eIoni + 2 2.91 m 2.8 m 92.1 cm 1.3 MeV 55.6 keV 38.8 cm 74.7 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 239, Parent ID = 238 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.67 m 2.52 m 85.9 cm 11.5 keV 0 eV 0 fm 0 fm World initStep + 1 2.67 m 2.51 m 85.8 cm 8.47 keV 3.02 keV 1.9 mm 1.9 mm World eIoni + 2 2.67 m 2.51 m 85.8 cm 395 eV 8.08 keV 1.46 mm 3.36 mm World eIoni + 3 2.67 m 2.51 m 85.8 cm 5.42e-14 eV 395 eV 21.3 mum 3.38 mm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 223, Parent ID = 182 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 199 mum -126 mum -2.42 m 458 keV 0 eV 0 fm 0 fm Target initStep + 1 4.39 mm 1.72 mm -2.41 m 0 eV 88 keV 9.06 mm 9.06 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 240, Parent ID = 223 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.39 mm 1.72 mm -2.41 m 370 keV 0 eV 0 fm 0 fm Target initStep + 1 4.4 mm 1.73 mm -2.41 m 0 eV 370 keV 200 mum 200 mum Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.36 mum 11.5 mum -2.29 m 59.9 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.25 mm -9.6 mm -2.29 m 52.6 keV 7.24 keV 1.26 cm 1.26 cm Tracker eIoni - 2 -9.15 mm -1.24 cm -2.29 m 46.1 keV 6.55 keV 1.03 cm 2.28 cm Tracker eIoni - 3 -1.4 cm -1.89 cm -2.29 m 28.6 keV 17.5 keV 8.45 mm 3.13 cm Tracker eIoni - 4 -1.77 cm -2.01 cm -2.29 m 24.9 keV 3.62 keV 4.44 mm 3.57 cm Tracker eIoni - 5 -1.56 cm -1.82 cm -2.29 m 21.8 keV 3.15 keV 3.79 mm 3.95 cm Tracker eIoni - 6 -1.84 cm -1.73 cm -2.29 m 18.1 keV 3.7 keV 3.29 mm 4.28 cm Tracker eIoni - 7 -2.01 cm -1.56 cm -2.29 m 4.34 keV 13.8 keV 2.75 mm 4.56 cm Tracker eIoni - 8 -2.01 cm -1.55 cm -2.29 m 8.67e-13 eV 4.34 keV 543 mum 4.61 cm Tracker eIoni + 0 -980 nm -91.7 nm -2.42 m 327 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.6 mum 25.3 mum -2.42 m 324 MeV 2.33 MeV 1.39 mm 1.39 mm Target eBrem + 2 3.47 mum 26 mum -2.42 m 320 MeV 14.3 keV 10.2 mum 1.4 mm Target eBrem + 3 -453 nm 41 mum -2.42 m 114 MeV 288 keV 227 mum 1.63 mm Target eBrem + 4 -26.4 mum 71.6 mum -2.42 m 105 MeV 803 keV 767 mum 2.39 mm Target eBrem + 5 -66.2 mum 128 mum -2.41 m 41.1 MeV 698 keV 603 mum 3 mm Target eBrem + 6 -44.9 mum 126 mum -2.41 m 34.6 MeV 567 keV 480 mum 3.48 mm Target eBrem + 7 -162 mum 58.6 mum -2.41 m 23.5 MeV 1.42 MeV 1.11 mm 4.59 mm Target eBrem + 8 -242 mum 54.8 mum -2.41 m 22.4 MeV 723 keV 533 mum 5.12 mm Target eBrem + 9 -349 mum 3.04 mm -2.41 m 16.5 MeV 5.92 MeV 4.71 mm 9.83 mm Target eIoni + 10 99.1 mum 2.75 mm -2.41 m 8.79 MeV 870 keV 604 mum 1.04 cm Target eBrem + 11 1.09 mm 3.83 mm -2.41 m 4.51 MeV 3.87 MeV 2.79 mm 1.32 cm Target eBrem + 12 936 mum 3.84 mm -2.41 m 3.47 MeV 328 keV 344 mum 1.36 cm Target eBrem + 13 -2.9 mum 4.49 mm -2.41 m 1.5 MeV 1.97 MeV 1.85 mm 1.54 cm Target eIoni + 14 74.3 mum 4.56 mm -2.41 m 2.22e-10 eV 1.5 MeV 1.13 mm 1.66 cm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 251, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 936 mum 3.84 mm -2.41 m 719 keV 0 eV 0 fm 0 fm Target initStep + 1 2.19 mm 5.1 mm -2.41 m 665 keV 0 eV 3.05 mm 3.05 mm Target compt + 2 2.55 mm 5.6 mm -2.41 m 518 keV 0 eV 2.13 mm 5.18 mm Target compt + 3 2.08 mm 5.86 mm -2.41 m 395 keV 0 eV 978 mum 6.16 mm Target compt + 4 1.12 mm 5.38 mm -2.41 m 262 keV 0 eV 1.24 mm 7.4 mm Target compt + 5 591 mum 6.86 mm -2.42 m 0 eV 88 keV 2.66 mm 1.01 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 256, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 591 mum 6.86 mm -2.42 m 174 keV 0 eV 0 fm 0 fm Target initStep + 1 591 mum 6.86 mm -2.42 m 5.55e-11 eV 174 keV 66.2 mum 66.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 255, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.12 mm 5.38 mm -2.41 m 132 keV 0 eV 0 fm 0 fm Target initStep + 1 1.11 mm 5.38 mm -2.41 m 8.33e-11 eV 132 keV 42.9 mum 42.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 254, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.08 mm 5.86 mm -2.41 m 123 keV 0 eV 0 fm 0 fm Target initStep + 1 2.08 mm 5.86 mm -2.41 m 9.71e-11 eV 123 keV 38.6 mum 38.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 253, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.55 mm 5.6 mm -2.41 m 147 keV 0 eV 0 fm 0 fm Target initStep + 1 2.55 mm 5.6 mm -2.41 m 0 eV 147 keV 51 mum 51 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 252, Parent ID = 251 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.19 mm 5.1 mm -2.41 m 53.8 keV 0 eV 0 fm 0 fm Target initStep + 1 2.19 mm 5.1 mm -2.41 m 4.16e-11 eV 53.8 keV 10.1 mum 10.1 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 250, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.09 mm 3.83 mm -2.41 m 401 keV 0 eV 0 fm 0 fm Target initStep + 1 991 mum 4.37 mm -2.41 m 0 eV 88 keV 1.01 mm 1.01 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 257, Parent ID = 250 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 991 mum 4.37 mm -2.41 m 313 keV 0 eV 0 fm 0 fm Target initStep + 1 988 mum 4.38 mm -2.41 m 1.11e-10 eV 313 keV 158 mum 158 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 249, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 99.1 mum 2.75 mm -2.41 m 6.83 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.67 cm -4.65 mm -2.4 m 6.83 MeV 0 eV 2.04 cm 2.04 cm Target Transportation + 2 2.4 m -1.07 m -1.05 m 6.83 MeV 0 eV 2.94 m 2.96 m Tracker Transportation + 3 2.91 m -1.3 m -76.6 cm 6.83 MeV 0 eV 62.8 cm 3.59 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 248, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -242 mum 54.8 mum -2.41 m 387 keV 0 eV 0 fm 0 fm Target initStep + 1 -187 mum 63.7 mum -2.41 m 0 eV 88 keV 212 mum 212 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 258, Parent ID = 248 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -187 mum 63.7 mum -2.41 m 299 keV 0 eV 0 fm 0 fm Target initStep + 1 -189 mum 65.3 mum -2.41 m 5.55e-11 eV 299 keV 148 mum 148 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 247, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -162 mum 58.6 mum -2.41 m 9.64 MeV 0 eV 0 fm 0 fm Target initStep + 1 -199 mum -53.4 mum -2.41 m 0 eV 0 eV 5.19 mm 5.19 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 260, Parent ID = 247 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -199 mum -53.4 mum -2.41 m 2.63 MeV 0 eV 0 fm 0 fm Target initStep + 1 -377 mum -1.13 mm -2.41 m 942 keV 1.68 MeV 1.65 mm 1.65 mm Target eIoni + 2 -322 mum -1.07 mm -2.41 m 0 eV 942 keV 681 mum 2.33 mm Target eIoni + 3 -322 mum -1.07 mm -2.41 m 0 eV 0 eV 0 fm 2.33 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 262, Parent ID = 260 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -322 mum -1.07 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 6.14 mm 660 mum -2.41 m 0 eV 88 keV 7.07 mm 7.07 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 263, Parent ID = 262 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.14 mm 660 mum -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 6.15 mm 657 mum -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 261, Parent ID = 260 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -322 mum -1.07 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.99 mm -1.52 mm -2.41 m 0 eV 88 keV 1.82 mm 1.82 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 264, Parent ID = 261 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.99 mm -1.52 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.99 mm -1.53 mm -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 259, Parent ID = 247 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -199 mum -53.4 mum -2.41 m 5.99 MeV 0 eV 0 fm 0 fm Target initStep + 1 -218 mum -14.6 mum -2.41 m 4.26 MeV 324 keV 221 mum 221 mum Target eBrem + 2 -319 mum 26.2 mum -2.41 m 3.76 MeV 172 keV 170 mum 391 mum Target eBrem + 3 -637 mum 742 mum -2.41 m 1.78 MeV 1.21 MeV 1.09 mm 1.48 mm Target eBrem + 4 -846 mum 692 mum -2.41 m 381 keV 1.4 MeV 1.29 mm 2.77 mm Target eIoni + 5 -859 mum 688 mum -2.41 m 1.11e-10 eV 381 keV 208 mum 2.98 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 267, Parent ID = 259 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -637 mum 742 mum -2.41 m 772 keV 0 eV 0 fm 0 fm Target initStep + 1 -379 mum -873 mum -2.41 m 725 keV 0 eV 1.67 mm 1.67 mm Target compt + 2 4.18 mm -1.01 cm -2.4 m 0 eV 88 keV 1.06 cm 1.23 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 269, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.18 mm -1.01 cm -2.4 m 637 keV 0 eV 0 fm 0 fm Target initStep + 1 4.18 mm -1.01 cm -2.4 m 2.22e-10 eV 637 keV 413 mum 413 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 268, Parent ID = 267 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -379 mum -873 mum -2.41 m 47 keV 0 eV 0 fm 0 fm Target initStep + 1 -379 mum -873 mum -2.41 m 6.94e-11 eV 47 keV 8.09 mum 8.09 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 266, Parent ID = 259 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -319 mum 26.2 mum -2.41 m 323 keV 0 eV 0 fm 0 fm Target initStep + 1 -432 mum 38.7 mum -2.41 m 0 eV 88 keV 494 mum 494 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 270, Parent ID = 266 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -432 mum 38.7 mum -2.41 m 235 keV 0 eV 0 fm 0 fm Target initStep + 1 -434 mum 41.4 mum -2.41 m 0 eV 235 keV 104 mum 104 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 265, Parent ID = 259 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -218 mum -14.6 mum -2.41 m 1.41 MeV 0 eV 0 fm 0 fm Target initStep + 1 -4.17 mm 1.01 mum -2.4 m 1.41 MeV 0 eV 8.54 mm 8.54 mm Target Transportation + 2 -2.4 m 9.46 mm 2.19 m 1.41 MeV 0 eV 5.17 m 5.18 m Tracker Transportation + 3 -2.78 m 1.1 cm 2.91 m 1.41 MeV 0 eV 81.7 cm 6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 246, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -44.9 mum 126 mum -2.41 m 5.99 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.57 mm 1.14 mm -2.4 m 5.99 MeV 0 eV 1.42 cm 1.42 cm Target Transportation + 2 -8.83 cm 5.87 cm -1.6 m 5.99 MeV 0 eV 80.7 cm 82.1 cm Tracker Transportation + 3 -11 cm 7.31 cm -1.4 m 5.99 MeV 0 eV 20.2 cm 1.02 m Chamber Transportation + 4 -17.5 cm 11.6 cm -80 cm 5.99 MeV 0 eV 60.5 cm 1.63 m Tracker Transportation + 5 -19.7 cm 13.1 cm -60 cm 5.99 MeV 0 eV 20.2 cm 1.83 m Chamber Transportation + 6 -26.2 cm 17.4 cm -0.114 fm 5.99 MeV 0 eV 60.5 cm 2.43 m Tracker Transportation + 7 -28.3 cm 18.8 cm 20 cm 5.99 MeV 0 eV 20.2 cm 2.64 m Chamber Transportation + 8 -34.8 cm 23.1 cm 80 cm 5.99 MeV 0 eV 60.5 cm 3.24 m Tracker Transportation + 9 -37 cm 24.6 cm 1 m 5.99 MeV 0 eV 20.2 cm 3.44 m Chamber Transportation + 10 -43.5 cm 28.9 cm 1.6 m 5.99 MeV 0 eV 60.5 cm 4.05 m Tracker Transportation + 11 -45.7 cm 30.3 cm 1.8 m 5.99 MeV 0 eV 20.2 cm 4.25 m Chamber Transportation + 12 -52.2 cm 34.6 cm 2.4 m 5.99 MeV 0 eV 60.5 cm 4.85 m Tracker Transportation + 13 -57.7 cm 38.3 cm 2.91 m 5.99 MeV 0 eV 51.4 cm 5.37 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 245, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -66.2 mum 128 mum -2.41 m 63.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 -47.1 mum 357 mum -2.41 m 0 eV 0 eV 2.76 mm 2.76 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 272, Parent ID = 245 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -47.1 mum 357 mum -2.41 m 10.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.16 mm 1.53 mm -2.41 m 5.97 MeV 2.77 MeV 2.37 mm 2.37 mm Target eBrem + 2 -1.18 mm 1.48 mm -2.41 m 5.56 MeV 82.2 keV 89 mum 2.46 mm Target eBrem + 3 -1.31 mm 1.34 mm -2.41 m 1.82 MeV 452 keV 454 mum 2.91 mm Target eBrem + 4 -1.91 mm 1.83 mm -2.41 m 585 keV 1.23 MeV 1.33 mm 4.25 mm Target eIoni + 5 -1.91 mm 1.86 mm -2.41 m 0 eV 585 keV 373 mum 4.62 mm Target eIoni + 6 -1.91 mm 1.86 mm -2.41 m 0 eV 0 eV 0 fm 4.62 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 277, Parent ID = 272 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.91 mm 1.86 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 459 mum 4.1 mm -2.41 m 470 keV 0 eV 4.63 mm 4.63 mm Target compt + 2 627 mum 4.65 mm -2.41 m 234 keV 0 eV 708 mum 5.34 mm Target compt + 3 377 mum 4.66 mm -2.41 m 0 eV 88 keV 254 mum 5.59 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 280, Parent ID = 277 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 377 mum 4.66 mm -2.41 m 146 keV 0 eV 0 fm 0 fm Target initStep + 1 375 mum 4.66 mm -2.41 m 5.55e-11 eV 146 keV 50.2 mum 50.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 279, Parent ID = 277 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 627 mum 4.65 mm -2.41 m 237 keV 0 eV 0 fm 0 fm Target initStep + 1 632 mum 4.65 mm -2.41 m 0 eV 237 keV 105 mum 105 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 278, Parent ID = 277 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 459 mum 4.1 mm -2.41 m 40.7 keV 0 eV 0 fm 0 fm Target initStep + 1 459 mum 4.1 mm -2.41 m 6.94e-12 eV 40.7 keV 6.39 mum 6.39 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 276, Parent ID = 272 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.91 mm 1.86 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.27 mm 578 mum -2.41 m 0 eV 88 keV 2.64 mm 2.64 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 281, Parent ID = 276 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.27 mm 578 mum -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.26 mm 568 mum -2.41 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 275, Parent ID = 272 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.31 mm 1.34 mm -2.41 m 3.29 MeV 0 eV 0 fm 0 fm Target initStep + 1 -7.58 mm 3.27 mm -2.42 m 0 eV 0 eV 1.06 cm 1.06 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 283, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.58 mm 3.27 mm -2.42 m 1.48 MeV 0 eV 0 fm 0 fm Target initStep + 1 -7.59 mm 3.28 mm -2.42 m 378 keV 18.3 keV 14.1 mum 14.1 mum Target eBrem + 2 -7.6 mm 3.28 mm -2.42 m 0 eV 378 keV 204 mum 218 mum Target eIoni + 3 -7.6 mm 3.28 mm -2.42 m 0 eV 0 eV 0 fm 218 mum Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 286, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.6 mm 3.28 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.85 mm 3.36 mm -2.42 m 205 keV 0 eV 286 mum 286 mum Target compt + 2 -7.8 mm 3.36 mm -2.42 m 0 eV 88 keV 550 mum 836 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 288, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.8 mm 3.36 mm -2.42 m 117 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.8 mm 3.36 mm -2.42 m 0 eV 117 keV 35.5 mum 35.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 287, Parent ID = 286 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.85 mm 3.36 mm -2.42 m 306 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.86 mm 3.36 mm -2.42 m 0 eV 306 keV 153 mum 153 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 285, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.6 mm 3.28 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.25 mm 313 mum -2.42 m 0 eV 88 keV 1.13 cm 1.13 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 289, Parent ID = 285 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.25 mm 313 mum -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 2.25 mm 310 mum -2.42 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 284, Parent ID = 283 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.59 mm 3.28 mm -2.42 m 1.08 MeV 0 eV 0 fm 0 fm Target initStep + 1 -5.27 mm -1.3 cm -2.44 m 583 keV 0 eV 2.55 cm 2.55 cm Target compt + 2 -1.4 cm -2.5 cm -2.44 m 583 keV 0 eV 1.51 cm 4.06 cm Target Transportation + 3 -1.5 m -2.07 m -2.91 m 583 keV 0 eV 2.57 m 2.61 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 290, Parent ID = 284 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -5.27 mm -1.3 cm -2.44 m 502 keV 0 eV 0 fm 0 fm Target initStep + 1 -5.25 mm -1.29 cm -2.44 m 180 keV 321 keV 227 mum 227 mum Target eBrem + 2 -5.25 mm -1.29 cm -2.44 m 2.78e-11 eV 180 keV 69.8 mum 297 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 282, Parent ID = 275 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.58 mm 3.27 mm -2.42 m 788 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.61 mm 3.27 mm -2.42 m 0 eV 788 keV 541 mum 541 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 274, Parent ID = 272 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.18 mm 1.48 mm -2.41 m 323 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.53 mm 641 mum -2.41 m 257 keV 0 eV 1.3 mm 1.3 mm Target compt + 2 -1.87 mm 80.4 mum -2.41 m 0 eV 88 keV 660 mum 1.96 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 292, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.87 mm 80.4 mum -2.41 m 169 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.87 mm 77.5 mum -2.41 m 0 eV 169 keV 63.2 mum 63.2 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 291, Parent ID = 274 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.53 mm 641 mum -2.41 m 65.8 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.53 mm 641 mum -2.41 m 0 eV 65.8 keV 14 mum 14 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 273, Parent ID = 272 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.16 mm 1.53 mm -2.41 m 1.36 MeV 0 eV 0 fm 0 fm Target initStep + 1 -3.83 mm -3.48 mm -2.4 m 1.36 MeV 0 eV 1.16 cm 1.16 cm Target Transportation + 2 -1.28 m -2.39 m 2.4 m 1.36 MeV 0 eV 5.51 m 5.52 m Tracker Transportation + 3 -1.41 m -2.64 m 2.91 m 1.36 MeV 0 eV 58.5 cm 6.11 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 271, Parent ID = 245 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -47.1 mum 357 mum -2.41 m 52.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -70 mum 507 mum -2.41 m 50.5 MeV 1.34 MeV 926 mum 926 mum Target eBrem + 2 25.1 mum 645 mum -2.41 m 46.3 MeV 1.19 MeV 566 mum 1.49 mm Target eBrem + 3 25.7 mum 648 mum -2.41 m 37.7 MeV 14 keV 12.2 mum 1.5 mm Target eBrem + 4 -32.8 mum 876 mum -2.41 m 30.6 MeV 1.15 MeV 956 mum 2.46 mm Target eBrem + 5 -39.8 mum 1.05 mm -2.41 m 29 MeV 820 keV 360 mum 2.82 mm Target eBrem + 6 -67 mum 1.17 mm -2.41 m 27.2 MeV 276 keV 243 mum 3.06 mm Target eBrem + 7 -114 mum 4.86 mm -2.41 m 1.46 MeV 5.32 MeV 4.51 mm 7.57 mm Target eBrem + 8 -241 mum 5.02 mm -2.41 m 752 keV 383 keV 381 mum 7.95 mm Target eBrem + 9 -220 mum 5.06 mm -2.41 m 131 keV 621 keV 449 mum 8.4 mm Target eBrem + 10 -222 mum 5.06 mm -2.41 m 2.78e-11 eV 131 keV 42.2 mum 8.44 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 300, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -241 mum 5.02 mm -2.41 m 330 keV 0 eV 0 fm 0 fm Target initStep + 1 -704 mum 1.25 mm -2.41 m 223 keV 0 eV 3.85 mm 3.85 mm Target compt + 2 230 mum 785 mum -2.41 m 216 keV 0 eV 1.1 mm 4.95 mm Target compt + 3 268 mum 782 mum -2.41 m 0 eV 88 keV 42.4 mum 4.99 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 303, Parent ID = 300 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 268 mum 782 mum -2.41 m 128 keV 0 eV 0 fm 0 fm Target initStep + 1 270 mum 781 mum -2.41 m 2.78e-11 eV 128 keV 40.8 mum 40.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 302, Parent ID = 300 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 230 mum 785 mum -2.41 m 6.95 keV 0 eV 0 fm 0 fm Target initStep + 1 230 mum 785 mum -2.41 m 1.13e-11 eV 6.95 keV 410 nm 410 nm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 301, Parent ID = 300 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -704 mum 1.25 mm -2.41 m 107 keV 0 eV 0 fm 0 fm Target initStep + 1 -706 mum 1.25 mm -2.41 m 0 eV 107 keV 30.8 mum 30.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 299, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -114 mum 4.86 mm -2.41 m 20.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.94 mm 7.04 mm -2.4 m 0 eV 0 eV 5.86 mm 5.86 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 305, Parent ID = 299 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.94 mm 7.04 mm -2.4 m 3.76 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.41 mm 7.22 mm -2.4 m 643 keV 720 keV 712 mum 712 mum Target eBrem + 2 2.38 mm 7.18 mm -2.4 m 1.11e-10 eV 643 keV 422 mum 1.13 mm Target eIoni + 3 2.38 mm 7.18 mm -2.4 m 1.11e-10 eV 0 eV 0 fm 1.13 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 308, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.38 mm 7.18 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.45 mm 9.08 mm -2.4 m 478 keV 0 eV 1.97 mm 1.97 mm Target compt + 2 2.21 mm 9.93 mm -2.4 m 0 eV 88 keV 1 mm 2.97 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 310, Parent ID = 308 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.21 mm 9.93 mm -2.4 m 390 keV 0 eV 0 fm 0 fm Target initStep + 1 2.22 mm 9.94 mm -2.4 m 0 eV 390 keV 215 mum 215 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 309, Parent ID = 308 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.45 mm 9.08 mm -2.4 m 33.4 keV 0 eV 0 fm 0 fm Target initStep + 1 2.45 mm 9.08 mm -2.4 m 3.47e-11 eV 33.4 keV 4.63 mum 4.63 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 307, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.38 mm 7.18 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.28 mm 4.53 mm -2.4 m 511 keV 0 eV 2.74 mm 2.74 mm Target Transportation + 2 -8.92 cm -2.4 m -1.77 m 511 keV 0 eV 2.49 m 2.49 m Tracker Transportation + 3 -10.9 cm -2.91 m -1.64 m 511 keV 0 eV 52.7 cm 3.02 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 306, Parent ID = 305 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.41 mm 7.22 mm -2.4 m 2.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.1 mm 6.03 mm -2.4 m 2.4 MeV 0 eV 1.95 mm 1.95 mm Target Transportation + 2 -2.4 m -2.17 m -87.1 cm 2.4 MeV 0 eV 3.58 m 3.59 m Tracker Transportation + 3 -2.91 m -2.63 m -54.7 cm 2.4 MeV 0 eV 76.1 cm 4.35 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 304, Parent ID = 299 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.94 mm 7.04 mm -2.4 m 15.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.04 mm 7.11 mm -2.4 m 11.8 MeV 293 keV 241 mum 241 mum Target eBrem + 2 2.09 mm 7.38 mm -2.4 m 10.9 MeV 875 keV 730 mum 972 mum Target Transportation + 3 4.02 cm -1.23 cm -1.85 m 10.8 MeV 107 keV 54.8 cm 54.9 cm Tracker eIoni + 4 4.16 cm -4.03 cm -1.6 m 10.8 MeV 49.4 keV 25.6 cm 80.5 cm Tracker Transportation + 5 4.48 cm -4.63 cm -1.55 m 10.7 MeV 32.6 keV 5.3 cm 85.8 cm Chamber eIoni + 6 3.83 cm -4.95 cm -1.4 m 10.6 MeV 85.3 keV 14.9 cm 1.01 m Chamber Transportation + 7 3.77 cm -5.21 cm -1.38 m 10.6 MeV 3.11 keV 1.65 cm 1.02 m Tracker eIoni + 8 1.9 cm -9.92 cm -1.1 m 10.5 MeV 51.9 keV 29.1 cm 1.31 m Tracker eIoni + 9 1.65 cm -10.6 cm -1.02 m 10.5 MeV 14 keV 7.45 cm 1.39 m Tracker eIoni + 10 1.18 cm -12.3 cm -87.9 cm 10.2 MeV 29.6 keV 14.5 cm 1.53 m Tracker eIoni + 11 5.28 mm -13.4 cm -80 cm 10.2 MeV 17.7 keV 8.05 cm 1.61 m Tracker Transportation + 12 -9.29 mm -16.4 cm -60 cm 10.1 MeV 105 keV 20.5 cm 1.82 m Chamber Transportation + 13 -3.47 cm -24.2 cm -42.2 cm 10 MeV 41.9 keV 19.6 cm 2.02 m Tracker eIoni + 14 -10.4 cm -44.6 cm 0 fm 9.92 MeV 90.5 keV 47.4 cm 2.49 m Tracker Transportation + 15 -10.6 cm -45.9 cm 2.56 cm 9.68 MeV 14.7 keV 2.85 cm 2.52 m Chamber eBrem + 16 -11.7 cm -55.8 cm 20 cm 9.56 MeV 119 keV 20.4 cm 2.72 m Chamber Transportation + 17 -16 cm -96.3 cm 80 cm 9.43 MeV 132 keV 72.7 cm 3.45 m Tracker Transportation + 18 -16.9 cm -1.13 m 1 m 9.3 MeV 127 keV 26.4 cm 3.71 m Chamber Transportation + 19 -19.1 cm -1.6 m 1.6 m 9.16 MeV 144 keV 76.4 cm 4.48 m Tracker Transportation + 20 -18.8 cm -1.76 m 1.8 m 9 MeV 162 keV 26.3 cm 4.74 m Chamber Transportation + 21 -16.2 cm -2.07 m 2 m 8.91 MeV 77.6 keV 36.5 cm 5.1 m Tracker eIoni + 22 -12.8 cm -2.4 m 2.23 m 8.84 MeV 70.5 keV 40.8 cm 5.51 m Tracker Transportation + 23 -8.72 cm -2.91 m 2.59 m 8.72 MeV 116 keV 62.9 cm 6.14 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 320, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -16.2 cm -2.07 m 2 m 8.64 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -16.3 cm -2.07 m 2 m 2.73 keV 5.91 keV 1.49 mm 1.49 mm Tracker eIoni + 2 -16.3 cm -2.07 m 2 m 0 eV 2.73 keV 253 mum 1.75 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 319, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.6 cm -45.9 cm 2.56 cm 226 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.4 cm -54.5 cm 20 cm 226 keV 0 eV 19.5 cm 19.5 cm Chamber Transportation + 2 -14.2 cm -84.2 cm 80 cm 226 keV 0 eV 67 cm 86.5 cm Tracker Transportation + 3 -15.2 cm -94.1 cm 1 m 226 keV 0 eV 22.3 cm 1.09 m Chamber Transportation + 4 -18.1 cm -1.24 m 1.6 m 226 keV 0 eV 67 cm 1.76 m Tracker Transportation + 5 -19 cm -1.34 m 1.8 m 226 keV 0 eV 22.3 cm 1.98 m Chamber Transportation + 6 -21.9 cm -1.63 m 2.4 m 226 keV 0 eV 67 cm 2.65 m Tracker Transportation + 7 -24.3 cm -1.89 m 2.91 m 226 keV 0 eV 57 cm 3.22 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 318, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.47 cm -24.2 cm -42.2 cm 10.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.43 cm -24 cm -42.2 cm 6.26 keV 4.16 keV 1.75 mm 1.75 mm Tracker eIoni + 2 -3.41 cm -24 cm -42.2 cm 3.47e-12 eV 6.26 keV 1.01 mm 2.76 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 317, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.18 cm -12.3 cm -87.9 cm 245 keV 0 eV 0 fm 0 fm Tracker initStep + 1 7.21 cm -6.44 cm -80.4 cm 217 keV 27.8 keV 12.5 cm 12.5 cm Tracker eIoni + 2 7.49 cm -5.19 cm -80 cm 215 keV 2.21 keV 1.36 cm 13.9 cm Tracker Transportation + 3 7.4 cm -3.92 cm -79 cm 185 keV 30.2 keV 3.44 cm 17.3 cm Chamber msc + 4 8.92 cm -3.15 cm -77.9 cm 165 keV 19.3 keV 2.87 cm 20.2 cm Chamber eIoni + 5 9.25 cm -3.43 cm -79.3 cm 142 keV 23.4 keV 2.43 cm 22.6 cm Chamber eIoni + 6 8.88 cm -4.5 cm -78.5 cm 90.1 keV 52 keV 1.93 cm 24.6 cm Chamber eIoni + 7 9.26 cm -3.91 cm -78.6 cm 74.1 keV 15.9 keV 9.86 mm 25.5 cm Chamber eIoni + 8 9.04 cm -3.55 cm -78.2 cm 65.1 keV 8.99 keV 7.57 mm 26.3 cm Chamber eIoni + 9 8.84 cm -3.78 cm -78.6 cm 59.2 keV 5.98 keV 6.4 mm 26.9 cm Chamber eIoni + 10 9.05 cm -3.51 cm -78.8 cm 45.3 keV 13.9 keV 5.69 mm 27.5 cm Chamber eIoni + 11 8.93 cm -3.74 cm -78.9 cm 23.7 keV 21.6 keV 4.18 mm 27.9 cm Chamber eIoni + 12 9.01 cm -3.64 cm -78.8 cm 19.5 keV 4.19 keV 2.31 mm 28.2 cm Chamber eIoni + 13 9.01 cm -3.68 cm -78.7 cm 7.83 keV 11.6 keV 2 mm 28.4 cm Chamber eIoni + 14 9.02 cm -3.69 cm -78.7 cm 0 eV 7.83 keV 749 mum 28.4 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 316, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.65 cm -10.6 cm -1.02 m 27 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.35 cm -10.4 cm -1.02 m 21.9 keV 5.18 keV 4.16 mm 4.16 mm Tracker eIoni + 2 1.27 cm -10.1 cm -1.02 m 18.4 keV 3.51 keV 3.3 mm 7.46 mm Tracker eIoni + 3 1.02 cm -10.1 cm -1.02 m 14.6 keV 3.76 keV 2.79 mm 1.03 cm Tracker eIoni + 4 1.02 cm -9.9 cm -1.02 m 10.9 keV 3.66 keV 2.29 mm 1.25 cm Tracker eIoni + 5 8.74 mm -9.78 cm -1.02 m 6.95 keV 3.98 keV 1.82 mm 1.44 cm Tracker eIoni + 6 8.24 mm -9.76 cm -1.02 m 0 eV 6.95 keV 1.17 mm 1.55 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 315, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.9 cm -9.92 cm -1.1 m 13.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.95 cm -9.78 cm -1.1 m 9.02 keV 4.54 keV 2.16 mm 2.16 mm Tracker eIoni + 2 1.83 cm -9.75 cm -1.1 m 5.96 keV 3.07 keV 1.55 mm 3.71 mm Tracker eIoni + 3 1.78 cm -9.73 cm -1.1 m 8.67e-13 eV 5.96 keV 923 mum 4.64 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 314, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.77 cm -5.21 cm -1.38 m 8.59 keV 0 eV 0 fm 0 fm Tracker initStep + 1 3.71 cm -5.31 cm -1.38 m 4.52 keV 4.07 keV 1.48 mm 1.48 mm Tracker eIoni + 2 3.73 cm -5.29 cm -1.38 m 8.67e-13 eV 4.52 keV 579 mum 2.06 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 313, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.48 cm -4.63 cm -1.55 m 53.4 keV 0 eV 0 fm 0 fm Chamber initStep + 1 4.75 cm -4.84 cm -1.55 m 41.2 keV 12.3 keV 5.02 mm 5.02 mm Chamber eIoni + 2 4.81 cm -4.62 cm -1.55 m 35.2 keV 6.01 keV 3.78 mm 8.8 mm Chamber eIoni + 3 4.62 cm -4.67 cm -1.55 m 26.9 keV 8.24 keV 3.23 mm 1.2 cm Chamber eIoni + 4 4.52 cm -4.73 cm -1.55 m 20.1 keV 6.83 keV 2.56 mm 1.46 cm Chamber eIoni + 5 4.46 cm -4.83 cm -1.55 m 11.8 keV 8.25 keV 2.04 mm 1.66 cm Chamber eIoni + 6 4.52 cm -4.88 cm -1.55 m 3.86 keV 7.97 keV 1.33 mm 1.8 cm Chamber eIoni + 7 4.52 cm -4.88 cm -1.55 m 0 eV 3.86 keV 260 mum 1.82 cm Chamber eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 312, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.02 cm -1.23 cm -1.85 m 27.4 keV 0 eV 0 fm 0 fm Tracker initStep + 1 4.05 cm -8.06 mm -1.85 m 22.6 keV 4.79 keV 4.23 mm 4.23 mm Tracker eIoni + 2 4.04 cm -6.68 mm -1.85 m 15.1 keV 7.52 keV 3.42 mm 7.65 mm Tracker eIoni + 3 4.16 cm -5.5 mm -1.85 m 10.5 keV 4.56 keV 2.36 mm 1 cm Tracker eIoni + 4 4.18 cm -3.83 mm -1.85 m 6.73 keV 3.81 keV 1.77 mm 1.18 cm Tracker eIoni + 5 4.13 cm -3.82 mm -1.85 m 8.67e-13 eV 6.73 keV 1.12 mm 1.29 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 311, Parent ID = 304 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.04 mm 7.11 mm -2.4 m 3.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.11 mm 7.39 mm -2.4 m 3.5 MeV 0 eV 671 mum 671 mum Target Transportation + 2 36.5 cm 1.53 m 80 cm 3.5 MeV 0 eV 3.56 m 3.56 m Tracker Transportation + 3 36.8 cm 1.54 m 82.3 cm 3.5 MeV 0 eV 2.51 cm 3.59 m Chamber Transportation + 4 45.6 cm 1.9 m 1.6 m 3.5 MeV 0 eV 86.5 cm 4.45 m Tracker Transportation + 5 47.1 cm 1.97 m 1.73 m 3.5 MeV 0 eV 14.8 cm 4.6 m Chamber Transportation + 6 54.7 cm 2.28 m 2.4 m 3.5 MeV 0 eV 74.2 cm 5.34 m Tracker Transportation + 7 60.5 cm 2.53 m 2.91 m 3.5 MeV 0 eV 56.7 cm 5.91 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 298, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -67 mum 1.17 mm -2.41 m 1.55 MeV 0 eV 0 fm 0 fm Target initStep + 1 -442 mum 4.74 mm -2.4 m 1.55 MeV 0 eV 9.58 mm 9.58 mm Target Transportation + 2 -6.81 cm 64.8 cm -80 cm 1.55 MeV 0 eV 1.73 m 1.74 m Tracker Transportation + 3 -7.06 cm 67.2 cm -73.9 cm 1.55 MeV 0 eV 6.56 cm 1.8 m Chamber Transportation + 4 -10.2 cm 96.9 cm 0 fm 1.55 MeV 0 eV 79.7 cm 2.6 m Tracker Transportation + 5 -11 cm 1.05 m 20 cm 1.55 MeV 0 eV 21.6 cm 2.81 m Chamber Transportation + 6 -13.6 cm 1.29 m 80 cm 1.55 MeV 0 eV 64.7 cm 3.46 m Tracker Transportation + 7 -14.4 cm 1.37 m 1 m 1.55 MeV 0 eV 21.6 cm 3.68 m Chamber Transportation + 8 -16.9 cm 1.61 m 1.6 m 1.55 MeV 0 eV 64.7 cm 4.32 m Tracker Transportation + 9 -17.8 cm 1.69 m 1.8 m 1.55 MeV 0 eV 21.6 cm 4.54 m Chamber Transportation + 10 -20.3 cm 1.93 m 2.4 m 1.55 MeV 0 eV 64.7 cm 5.19 m Tracker Transportation + 11 -22.5 cm 2.14 m 2.91 m 1.55 MeV 0 eV 55 cm 5.74 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 297, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -39.8 mum 1.05 mm -2.41 m 759 keV 0 eV 0 fm 0 fm Target initStep + 1 -895 mum 5.07 mm -2.4 m 547 keV 0 eV 8.84 mm 8.84 mm Target compt + 2 -688 mum 5.1 mm -2.4 m 486 keV 0 eV 410 mum 9.25 mm Target compt + 3 -552 mum 5.38 mm -2.4 m 220 keV 0 eV 636 mum 9.88 mm Target compt + 4 -541 mum 5.44 mm -2.4 m 0 eV 88 keV 88.2 mum 9.97 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 324, Parent ID = 297 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -541 mum 5.44 mm -2.4 m 132 keV 0 eV 0 fm 0 fm Target initStep + 1 -539 mum 5.44 mm -2.4 m 0 eV 132 keV 42.8 mum 42.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 323, Parent ID = 297 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -552 mum 5.38 mm -2.4 m 266 keV 0 eV 0 fm 0 fm Target initStep + 1 -551 mum 5.38 mm -2.4 m 1.11e-10 eV 266 keV 125 mum 125 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 322, Parent ID = 297 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -688 mum 5.1 mm -2.4 m 61 keV 0 eV 0 fm 0 fm Target initStep + 1 -687 mum 5.1 mm -2.4 m 0 eV 61 keV 12.4 mum 12.4 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 321, Parent ID = 297 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -895 mum 5.07 mm -2.4 m 212 keV 0 eV 0 fm 0 fm Target initStep + 1 -899 mum 5.08 mm -2.4 m 1.39e-10 eV 212 keV 88.9 mum 88.9 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 296, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -32.8 mum 876 mum -2.41 m 5.95 MeV 0 eV 0 fm 0 fm Target initStep + 1 -33.1 mum 1.05 mm -2.41 m 0 eV 0 eV 437 mum 437 mum Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 326, Parent ID = 296 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -33.1 mum 1.05 mm -2.41 m 1.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 165 mum 1.18 mm -2.41 m 557 keV 1.21 MeV 1.31 mm 1.31 mm Target eIoni + 2 177 mum 1.21 mm -2.41 m 0 eV 557 keV 349 mum 1.66 mm Target eIoni + 3 177 mum 1.21 mm -2.41 m 0 eV 0 eV 0 fm 1.66 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 328, Parent ID = 326 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 177 mum 1.21 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 5.98 mm -9.62 mm -2.4 m 0 eV 88 keV 1.45 cm 1.45 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 329, Parent ID = 328 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 5.98 mm -9.62 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 5.98 mm -9.63 mm -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 327, Parent ID = 326 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 177 mum 1.21 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -539 mum 2.54 mm -2.41 m 442 keV 0 eV 1.79 mm 1.79 mm Target compt + 2 -1.53 mm 3.76 mm -2.41 m 0 eV 88 keV 3.56 mm 5.35 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 331, Parent ID = 327 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.53 mm 3.76 mm -2.41 m 354 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.53 mm 3.77 mm -2.41 m 0 eV 354 keV 188 mum 188 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 330, Parent ID = 327 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -539 mum 2.54 mm -2.41 m 69.4 keV 0 eV 0 fm 0 fm Target initStep + 1 -539 mum 2.55 mm -2.41 m 0 eV 69.4 keV 15.3 mum 15.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 325, Parent ID = 296 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -33.1 mum 1.05 mm -2.41 m 3.16 MeV 0 eV 0 fm 0 fm Target initStep + 1 -112 mum 1.14 mm -2.41 m 2.11 MeV 122 keV 126 mum 126 mum Target eBrem + 2 633 mum 1.49 mm -2.41 m 3.18 keV 2.11 MeV 1.44 mm 1.57 mm Target eIoni + 3 633 mum 1.49 mm -2.41 m 0 eV 3.18 keV 139 nm 1.57 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 332, Parent ID = 325 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -112 mum 1.14 mm -2.41 m 927 keV 0 eV 0 fm 0 fm Target initStep + 1 -146 mum 1.26 mm -2.41 m 399 keV 0 eV 139 mum 139 mum Target compt + 2 -7.58 mm 2.76 mm -2.41 m 0 eV 88 keV 7.9 mm 8.04 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 334, Parent ID = 332 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -7.58 mm 2.76 mm -2.41 m 311 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.59 mm 2.75 mm -2.41 m 0 eV 311 keV 156 mum 156 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 333, Parent ID = 332 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -146 mum 1.26 mm -2.41 m 528 keV 0 eV 0 fm 0 fm Target initStep + 1 -143 mum 1.27 mm -2.41 m 1.11e-10 eV 528 keV 324 mum 324 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 295, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 25.7 mum 648 mum -2.41 m 8.64 MeV 0 eV 0 fm 0 fm Target initStep + 1 180 mum 1.38 mm -2.41 m 0 eV 0 eV 3.35 mm 3.35 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 336, Parent ID = 295 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 180 mum 1.38 mm -2.41 m 6.07 MeV 0 eV 0 fm 0 fm Target initStep + 1 -703 mum -89.2 mum -2.41 m 3.48 MeV 2.59 MeV 2.4 mm 2.4 mm Target eIoni + 2 719 mum -94.2 mum -2.41 m 729 keV 2.75 MeV 1.88 mm 4.28 mm Target eIoni + 3 835 mum 71.2 mum -2.41 m 1.11e-10 eV 729 keV 496 mum 4.78 mm Target eIoni + 4 835 mum 71.2 mum -2.41 m 1.11e-10 eV 0 eV 0 fm 4.78 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 338, Parent ID = 336 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 835 mum 71.2 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.81 mm 2.75 mm -2.4 m 0 eV 88 keV 2.89 mm 2.89 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 339, Parent ID = 338 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.81 mm 2.75 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 1.82 mm 2.76 mm -2.4 m 5.55e-11 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 337, Parent ID = 336 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 835 mum 71.2 mum -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 336 mum -1.3 mm -2.41 m 443 keV 0 eV 1.48 mm 1.48 mm Target compt + 2 -4.3 mm -6.5 mm -2.4 m 0 eV 88 keV 7.2 mm 8.68 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 341, Parent ID = 337 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.3 mm -6.5 mm -2.4 m 355 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.31 mm -6.51 mm -2.4 m 0 eV 355 keV 189 mum 189 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 340, Parent ID = 337 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 336 mum -1.3 mm -2.41 m 68.1 keV 0 eV 0 fm 0 fm Target initStep + 1 336 mum -1.3 mm -2.41 m 0 eV 68.1 keV 14.8 mum 14.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 335, Parent ID = 295 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 180 mum 1.38 mm -2.41 m 1.55 MeV 0 eV 0 fm 0 fm Target initStep + 1 -14.5 mum 1.38 mm -2.41 m 649 keV 370 keV 398 mum 398 mum Target eBrem + 2 3.38 mum 1.39 mm -2.41 m 1.11e-10 eV 649 keV 424 mum 822 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 342, Parent ID = 335 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -14.5 mum 1.38 mm -2.41 m 533 keV 0 eV 0 fm 0 fm Target initStep + 1 1.32 mm 3.52 mm -2.4 m 309 keV 0 eV 3.91 mm 3.91 mm Target compt + 2 4.84 mm 2.93 mm -2.4 m 184 keV 0 eV 3.58 mm 7.48 mm Target compt + 3 4.83 mm 2.9 mm -2.4 m 0 eV 88 keV 45.8 mum 7.53 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 345, Parent ID = 342 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.83 mm 2.9 mm -2.4 m 96.3 keV 0 eV 0 fm 0 fm Target initStep + 1 4.83 mm 2.9 mm -2.4 m 5.55e-11 eV 96.3 keV 26 mum 26 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 344, Parent ID = 342 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.84 mm 2.93 mm -2.4 m 125 keV 0 eV 0 fm 0 fm Target initStep + 1 4.84 mm 2.93 mm -2.4 m 8.33e-11 eV 125 keV 39.3 mum 39.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 343, Parent ID = 342 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.32 mm 3.52 mm -2.4 m 224 keV 0 eV 0 fm 0 fm Target initStep + 1 1.32 mm 3.52 mm -2.4 m 8.33e-11 eV 224 keV 96.5 mum 96.5 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 294, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 25.1 mum 645 mum -2.41 m 2.99 MeV 0 eV 0 fm 0 fm Target initStep + 1 39.9 mum 707 mum -2.41 m 323 keV 0 eV 282 mum 282 mum Target compt + 2 -4.65 mm 1.26 mm -2.41 m 0 eV 88 keV 5.15 mm 5.43 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 347, Parent ID = 294 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -4.65 mm 1.26 mm -2.41 m 235 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.65 mm 1.26 mm -2.41 m 0 eV 235 keV 104 mum 104 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 346, Parent ID = 294 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 39.9 mum 707 mum -2.41 m 2.67 MeV 0 eV 0 fm 0 fm Target initStep + 1 10.4 mum 811 mum -2.41 m 1.35 MeV 703 keV 199 mum 199 mum Target eBrem + 2 313 mum 823 mum -2.41 m 184 keV 811 keV 933 mum 1.13 mm Target eBrem + 3 311 mum 818 mum -2.41 m 0 eV 184 keV 71.9 mum 1.2 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 349, Parent ID = 346 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 313 mum 823 mum -2.41 m 352 keV 0 eV 0 fm 0 fm Target initStep + 1 -795 mum -3.36 mm -2.41 m 0 eV 88 keV 4.34 mm 4.34 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 350, Parent ID = 349 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -795 mum -3.36 mm -2.41 m 264 keV 0 eV 0 fm 0 fm Target initStep + 1 -799 mum -3.37 mm -2.41 m 5.55e-11 eV 264 keV 124 mum 124 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 348, Parent ID = 346 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 10.4 mum 811 mum -2.41 m 619 keV 0 eV 0 fm 0 fm Target initStep + 1 589 mum -4.18 mm -2.41 m 0 eV 88 keV 5.04 mm 5.04 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 351, Parent ID = 348 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 589 mum -4.18 mm -2.41 m 531 keV 0 eV 0 fm 0 fm Target initStep + 1 591 mum -4.2 mm -2.41 m 0 eV 531 keV 327 mum 327 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 293, Parent ID = 271 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -70 mum 507 mum -2.41 m 380 keV 0 eV 0 fm 0 fm Target initStep + 1 17.6 mum 922 mum -2.41 m 0 eV 88 keV 1.91 mm 1.91 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 352, Parent ID = 293 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 17.6 mum 922 mum -2.41 m 292 keV 0 eV 0 fm 0 fm Target initStep + 1 14.5 mum 919 mum -2.41 m 1.11e-10 eV 292 keV 143 mum 143 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 244, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -26.4 mum 71.6 mum -2.42 m 7.88 MeV 0 eV 0 fm 0 fm Target initStep + 1 -97.3 mum 235 mum -2.41 m 0 eV 0 eV 2.48 mm 2.48 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 354, Parent ID = 244 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -97.3 mum 235 mum -2.41 m 6.31 MeV 0 eV 0 fm 0 fm Target initStep + 1 -103 mum 244 mum -2.41 m 5.41 MeV 42.4 keV 39.3 mum 39.3 mum Target eBrem + 2 -408 mum 1.4 mm -2.41 m 1.1 MeV 1.85 MeV 1.5 mm 1.54 mm Target eBrem + 3 -336 mum 1.43 mm -2.41 m 0 eV 1.1 MeV 820 mum 2.36 mm Target eIoni + 4 -336 mum 1.43 mm -2.41 m 0 eV 0 eV 0 fm 2.36 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 358, Parent ID = 354 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -336 mum 1.43 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.46 mm -833 mum -2.41 m 0 eV 88 keV 5.89 mm 5.89 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 359, Parent ID = 358 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.46 mm -833 mum -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 1.47 mm -832 mum -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 357, Parent ID = 354 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -336 mum 1.43 mm -2.41 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -789 mum 2 mm -2.41 m 0 eV 88 keV 1.49 mm 1.49 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 360, Parent ID = 357 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -789 mum 2 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -794 mum 2.02 mm -2.41 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 356, Parent ID = 354 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -408 mum 1.4 mm -2.41 m 2.46 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.05 cm 6.34 mm -2.4 m 2.46 MeV 0 eV 1.7 cm 1.7 cm Target Transportation + 2 2.4 m 1.09 m 26.7 cm 2.46 MeV 0 eV 3.74 m 3.76 m Tracker Transportation + 3 2.91 m 1.32 m 83.6 cm 2.46 MeV 0 eV 79.8 cm 4.56 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 355, Parent ID = 354 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -103 mum 244 mum -2.41 m 861 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.06 mm 3.66 mm -2.4 m 861 keV 0 eV 1.31 cm 1.31 cm Target Transportation + 2 -6.17 cm 22 cm -1.6 m 861 keV 0 eV 83.1 cm 84.4 cm Tracker Transportation + 3 -6.71 cm 24 cm -1.53 m 861 keV 0 eV 7.48 cm 91.9 cm Chamber Transportation + 4 -12.2 cm 43.7 cm -80 cm 861 keV 0 eV 75.6 cm 1.68 m Tracker Transportation + 5 -13.7 cm 49.2 cm -60 cm 861 keV 0 eV 20.8 cm 1.88 m Chamber Transportation + 6 -18.3 cm 65.4 cm -0.114 fm 861 keV 0 eV 62.3 cm 2.51 m Tracker Transportation + 7 -19.8 cm 70.8 cm 20 cm 861 keV 0 eV 20.8 cm 2.71 m Chamber Transportation + 8 -24.4 cm 87.1 cm 80 cm 861 keV 0 eV 62.3 cm 3.34 m Tracker Transportation + 9 -25.9 cm 92.5 cm 1 m 861 keV 0 eV 20.8 cm 3.55 m Chamber Transportation + 10 -30.4 cm 1.09 m 1.6 m 861 keV 0 eV 62.3 cm 4.17 m Tracker Transportation + 11 -31.9 cm 1.14 m 1.8 m 861 keV 0 eV 20.8 cm 4.38 m Chamber Transportation + 12 -36.5 cm 1.3 m 2.4 m 861 keV 0 eV 62.3 cm 5 m Tracker Transportation + 13 -40.3 cm 1.44 m 2.91 m 861 keV 0 eV 53 cm 5.53 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 353, Parent ID = 244 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -97.3 mum 235 mum -2.41 m 543 keV 0 eV 0 fm 0 fm Target initStep + 1 -86.1 mum 226 mum -2.41 m 0 eV 543 keV 336 mum 336 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 243, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -453 nm 41 mum -2.42 m 205 MeV 0 eV 0 fm 0 fm Target initStep + 1 -12.4 mum 106 mum -2.42 m 0 eV 0 eV 856 mum 856 mum Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 362, Parent ID = 243 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -12.4 mum 106 mum -2.42 m 203 MeV 0 eV 0 fm 0 fm Target initStep + 1 41.4 mum 138 mum -2.41 m 198 MeV 3.99 MeV 3.13 mm 3.13 mm Target eBrem + 2 41.6 mum 139 mum -2.41 m 198 MeV 23.1 keV 21.7 mum 3.15 mm Target eBrem + 3 42.6 mum 143 mum -2.41 m 197 MeV 92.3 keV 89.2 mum 3.24 mm Target eBrem + 4 44.8 mum 152 mum -2.41 m 196 MeV 353 keV 322 mum 3.56 mm Target eBrem + 5 53.4 mum 165 mum -2.41 m 180 MeV 708 keV 520 mum 4.08 mm Target eBrem + 6 113 mum 170 mum -2.41 m 168 MeV 626 keV 379 mum 4.46 mm Target eBrem + 7 128 mum 172 mum -2.41 m 154 MeV 95.1 keV 84 mum 4.55 mm Target eBrem + 8 157 mum 176 mum -2.41 m 153 MeV 181 keV 164 mum 4.71 mm Target eBrem + 9 215 mum 180 mum -2.41 m 67.3 MeV 433 keV 314 mum 5.03 mm Target eBrem + 10 317 mum 193 mum -2.41 m 62.3 MeV 800 keV 755 mum 5.78 mm Target eBrem + 11 364 mum 213 mum -2.41 m 58.3 MeV 308 keV 314 mum 6.09 mm Target eBrem + 12 679 mum -56 mum -2.41 m 18.4 MeV 3.8 MeV 2.99 mm 9.08 mm Target eBrem + 13 700 mum -93.6 mum -2.41 m 6.33 MeV 387 keV 431 mum 9.52 mm Target eBrem + 14 518 mum -1.77 mm -2.4 m 3.46 MeV 2.87 MeV 2.45 mm 1.2 cm Target eIoni + 15 135 mum -2.11 mm -2.4 m 1.35 MeV 903 keV 641 mum 1.26 cm Target eBrem + 16 -237 mum -1.72 mm -2.4 m 33.7 keV 1.32 MeV 1.04 mm 1.36 cm Target eIoni + 17 -237 mum -1.72 mm -2.4 m 0 eV 33.7 keV 4.09 mum 1.36 cm Target eIoni + 18 -237 mum -1.72 mm -2.4 m 0 eV 0 eV 0 fm 1.36 cm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 378, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -237 mum -1.72 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.84 mm -2.02 mm -2.4 m 0 eV 88 keV 1.97 mm 1.97 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 379, Parent ID = 378 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.84 mm -2.02 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.84 mm -2.03 mm -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 377, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -237 mum -1.72 mm -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -188 mum -1.71 mm -2.4 m 0 eV 88 keV 59.9 mum 59.9 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 380, Parent ID = 377 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -188 mum -1.71 mm -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -175 mum -1.7 mm -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 376, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 135 mum -2.11 mm -2.4 m 1.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -8.72 mm -8.28 mm -2.4 m 0 eV 88 keV 1.15 cm 1.15 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 381, Parent ID = 376 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.72 mm -8.28 mm -2.4 m 1.11 MeV 0 eV 0 fm 0 fm Target initStep + 1 -8.77 mm -8.29 mm -2.4 m 0 eV 1.11 MeV 816 mum 816 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 375, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 700 mum -93.6 mum -2.41 m 11.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.13 mm 1.04 mm -2.4 m 11.7 MeV 0 eV 5.73 mm 5.73 mm Target Transportation + 2 6.25 cm 16.3 cm -1.6 m 11.7 MeV 0 eV 81.9 cm 82.4 cm Tracker Transportation + 3 7.78 cm 20.4 cm -1.4 m 11.7 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation + 4 12.4 cm 32.5 cm -80 cm 11.7 MeV 0 eV 61.4 cm 1.64 m Tracker Transportation + 5 13.9 cm 36.6 cm -60 cm 11.7 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation + 6 18.5 cm 48.8 cm 0 fm 11.7 MeV 0 eV 61.4 cm 2.46 m Tracker Transportation + 7 20.1 cm 52.8 cm 20 cm 11.7 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation + 8 24.7 cm 65 cm 80 cm 11.7 MeV 0 eV 61.4 cm 3.28 m Tracker Transportation + 9 26.2 cm 69 cm 1 m 11.7 MeV 0 eV 20.5 cm 3.48 m Chamber Transportation + 10 30.8 cm 81.2 cm 1.6 m 11.7 MeV 0 eV 61.4 cm 4.1 m Tracker Transportation + 11 32.3 cm 85.2 cm 1.8 m 11.7 MeV 0 eV 20.5 cm 4.3 m Chamber Transportation + 12 36.9 cm 97.4 cm 2.4 m 11.7 MeV 0 eV 61.4 cm 4.92 m Tracker Transportation + 13 40.8 cm 1.08 m 2.91 m 11.7 MeV 0 eV 52.2 cm 5.44 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 374, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 679 mum -56 mum -2.41 m 36.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.35 mm -33.5 mum -2.4 m 0 eV 0 eV 4.76 mm 4.76 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 383, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.35 mm -33.5 mum -2.4 m 6.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.36 mm -110 mum -2.4 m 5.11 MeV 365 keV 298 mum 298 mum Target eBrem + 2 1.52 mm -141 mum -2.4 m 3.68 MeV 359 keV 366 mum 664 mum Target eBrem + 3 2.06 mm -68.9 mum -2.4 m 1.29 MeV 1.03 MeV 1.05 mm 1.71 mm Target eBrem + 4 1.93 mm -79.3 mum -2.4 m 0 eV 1.29 MeV 985 mum 2.7 mm Target eIoni + 5 1.93 mm -79.3 mum -2.4 m 0 eV 0 eV 0 fm 2.7 mm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 388, Parent ID = 383 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.93 mm -79.3 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.32 mm -631 mum -2.4 m 0 eV 88 keV 1.63 mm 1.63 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 389, Parent ID = 388 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.32 mm -631 mum -2.4 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.33 mm -636 mum -2.4 m 0 eV 423 keV 241 mum 241 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 387, Parent ID = 383 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.93 mm -79.3 mum -2.4 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 416 mum 524 mum -2.4 m 511 keV 0 eV 1.78 mm 1.78 mm Target Transportation + 2 -2.4 m 95.5 cm -1.28 m 511 keV 0 eV 2.81 m 2.82 m Tracker Transportation + 3 -2.91 m 1.16 m -1.05 m 511 keV 0 eV 59.8 cm 3.41 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 386, Parent ID = 383 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.06 mm -68.9 mum -2.4 m 1.37 MeV 0 eV 0 fm 0 fm Target initStep + 1 523 mum -638 mum -2.4 m 1.37 MeV 0 eV 1.78 mm 1.78 mm Target Transportation + 2 -2.4 m -89.2 cm -1.28 m 1.37 MeV 0 eV 2.79 m 2.79 m Tracker Transportation + 3 -2.91 m -1.08 m -1.05 m 1.37 MeV 0 eV 59.3 cm 3.39 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 385, Parent ID = 383 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.52 mm -141 mum -2.4 m 1.07 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.92 mm -475 mum -2.4 m 1.07 MeV 0 eV 1.6 mm 1.6 mm Target Transportation + 2 2.4 m -57.5 cm -1.19 m 1.07 MeV 0 eV 2.75 m 2.75 m Tracker Transportation + 3 2.91 m -69.7 cm -92.7 cm 1.07 MeV 0 eV 58.5 cm 3.33 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 384, Parent ID = 383 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.36 mm -110 mum -2.4 m 1.37 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.98 mm 226 mum -2.4 m 1.37 MeV 0 eV 1.25 mm 1.25 mm Target Transportation + 2 2.4 m 1.32 m 1.65 m 1.37 MeV 0 eV 4.89 m 4.89 m Tracker Transportation + 3 2.91 m 1.6 m 2.51 m 1.37 MeV 0 eV 1.04 m 5.93 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 382, Parent ID = 374 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.35 mm -33.5 mum -2.4 m 28.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.53 mm -26.8 mum -2.4 m 26.2 MeV 2.04 MeV 1.38 mm 1.38 mm Target Transportation + 2 -3.09 cm 2.35 cm -1.89 m 26.1 MeV 114 keV 51 cm 51.1 cm Tracker eIoni + 3 -5.97 cm 5.94 cm -1.6 m 26 MeV 59.7 keV 29.5 cm 80.7 cm Tracker Transportation + 4 -6.34 cm 6.41 cm -1.57 m 25 MeV 23.9 keV 3.45 cm 84.1 cm Chamber eBrem + 5 -7.89 cm 8.28 cm -1.4 m 24.9 MeV 106 keV 16.8 cm 1.01 m Chamber Transportation + 6 -9.46 cm 10.2 cm -1.25 m 20.1 MeV 30.6 keV 15 cm 1.16 m Tracker eBrem + 7 -10.6 cm 12.1 cm -1.12 m 20 MeV 22.8 keV 13.8 cm 1.3 m Tracker eIoni + 8 -13 cm 16 cm -80 cm 20 MeV 62.4 keV 31.9 cm 1.62 m Tracker Transportation + 9 -14.5 cm 18.5 cm -60 cm 19.9 MeV 95.2 keV 20.3 cm 1.82 m Chamber Transportation + 10 -12.5 cm 22.7 cm 0.114 fm 19.7 MeV 120 keV 60.2 cm 2.42 m Tracker Transportation + 11 -12.2 cm 24 cm 20 cm 19.6 MeV 140 keV 20.1 cm 2.62 m Chamber Transportation + 12 -10.5 cm 24.9 cm 63.5 cm 19.5 MeV 89.4 keV 43.6 cm 3.06 m Tracker eIoni + 13 -9.42 cm 24.7 cm 80 cm 19.5 MeV 29.7 keV 16.5 cm 3.22 m Tracker Transportation + 14 -8.23 cm 24.7 cm 1 m 19.3 MeV 129 keV 20.1 cm 3.42 m Chamber Transportation + 15 -9.12 cm 24.7 cm 1.22 m 19.1 MeV 51.1 keV 21.8 cm 3.64 m Tracker eIoni + 16 -9.44 cm 24.6 cm 1.3 m 19 MeV 13.2 keV 8.52 cm 3.73 m Tracker eIoni + 17 -9.91 cm 23.3 cm 1.6 m 19 MeV 63.2 keV 29.8 cm 4.03 m Tracker Transportation + 18 -10.7 cm 23 cm 1.8 m 18.8 MeV 155 keV 20.1 cm 4.23 m Chamber Transportation + 19 -14.7 cm 22.4 cm 2.11 m 18.7 MeV 62.8 keV 31.6 cm 4.54 m Tracker eIoni + 20 -17.7 cm 21.5 cm 2.4 m 18.7 MeV 63.9 keV 28.8 cm 4.83 m Tracker Transportation + 21 -22.8 cm 18.3 cm 2.91 m 18.6 MeV 99.4 keV 51.4 cm 5.34 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 397, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -14.7 cm 22.4 cm 2.11 m 15.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -14.5 cm 22.3 cm 2.11 m 5.22 keV 10.1 keV 2.38 mm 2.38 mm Tracker eIoni + 2 -14.5 cm 22.3 cm 2.11 m 0 eV 5.22 keV 740 mum 3.12 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 396, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.44 cm 24.6 cm 1.3 m 40.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -9.91 cm 24.5 cm 1.3 m 36.1 keV 4.51 keV 7.05 mm 7.05 mm Tracker eIoni + 2 -10.4 cm 24.2 cm 1.3 m 30.7 keV 5.43 keV 5.97 mm 1.3 cm Tracker eIoni + 3 -10.9 cm 24.1 cm 1.3 m 27.1 keV 3.65 keV 4.84 mm 1.79 cm Tracker eIoni + 4 -11.1 cm 24.4 cm 1.3 m 23.9 keV 3.2 keV 4.17 mm 2.2 cm Tracker eIoni + 5 -11.2 cm 24.7 cm 1.3 m 20.3 keV 3.6 keV 3.62 mm 2.56 cm Tracker eIoni + 6 -11.4 cm 24.9 cm 1.3 m 16.2 keV 4.07 keV 3.06 mm 2.87 cm Tracker eIoni + 7 -11.2 cm 25 cm 1.3 m 12.1 keV 4.13 keV 2.5 mm 3.12 cm Tracker eIoni + 8 -11.3 cm 24.9 cm 1.3 m 334 eV 11.7 keV 1.97 mm 3.32 cm Tracker eIoni + 9 -11.3 cm 24.9 cm 1.3 m 1.08e-13 eV 334 eV 18.6 mum 3.32 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 395, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.12 cm 24.7 cm 1.22 m 200 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -13.3 cm 29.2 cm 1.28 m 173 keV 27.4 keV 9.07 cm 9.07 cm Tracker eIoni + 2 -17.9 cm 34.3 cm 1.27 m 151 keV 22.4 keV 7.15 cm 16.2 cm Tracker eIoni + 3 -21.2 cm 38.6 cm 1.28 m 130 keV 20.8 keV 5.69 cm 21.9 cm Tracker eIoni + 4 -24 cm 40.8 cm 1.25 m 117 keV 12.7 keV 4.44 cm 26.3 cm Tracker eIoni + 5 -25.9 cm 43.9 cm 1.25 m 102 keV 14.7 keV 3.75 cm 30.1 cm Tracker eIoni + 6 -28 cm 43.4 cm 1.27 m 89.3 keV 13.1 keV 3.01 cm 33.1 cm Tracker eIoni + 7 -28.5 cm 42.3 cm 1.29 m 56.9 keV 15.2 keV 2.35 cm 35.5 cm Tracker eIoni + 8 -29.5 cm 42.4 cm 1.3 m 48.2 keV 8.75 keV 1.16 cm 36.6 cm Tracker eIoni + 9 -29.5 cm 42.4 cm 1.3 m 27.8 keV 163 eV 571 mum 36.7 cm Tracker eIoni + 10 -29.6 cm 42.6 cm 1.29 m 24.8 keV 2.99 keV 4.29 mm 37.1 cm Tracker eIoni + 11 -29.6 cm 42.9 cm 1.29 m 20.2 keV 4.6 keV 3.76 mm 37.5 cm Tracker eIoni + 12 -29.7 cm 43 cm 1.29 m 15.3 keV 4.89 keV 3.04 mm 37.8 cm Tracker eIoni + 13 -29.9 cm 43.2 cm 1.29 m 9.94 keV 5.34 keV 2.38 mm 38 cm Tracker eIoni + 14 -30 cm 43.2 cm 1.29 m 2.81 keV 7.13 keV 1.68 mm 38.2 cm Tracker eIoni + 15 -30 cm 43.2 cm 1.29 m 0 eV 2.81 keV 265 mum 38.2 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 399, Parent ID = 395 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -29.5 cm 42.4 cm 1.3 m 20.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -29.8 cm 42.3 cm 1.3 m 14.7 keV 5.58 keV 3.06 mm 3.06 mm Tracker eIoni + 2 -29.6 cm 42.3 cm 1.29 m 9.13 keV 5.54 keV 2.3 mm 5.35 mm Tracker eIoni + 3 -29.7 cm 42.3 cm 1.29 m 0 eV 9.13 keV 1.57 mm 6.92 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 398, Parent ID = 395 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -28.5 cm 42.3 cm 1.29 m 17.2 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -28.6 cm 42.1 cm 1.29 m 11.6 keV 5.65 keV 2.63 mm 2.63 mm Tracker eIoni + 2 -28.6 cm 42 cm 1.29 m 3.63 keV 7.93 keV 1.9 mm 4.53 mm Tracker eIoni + 3 -28.6 cm 41.9 cm 1.29 m 1.3e-12 eV 3.63 keV 403 mum 4.93 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 394, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.5 cm 24.9 cm 63.5 cm 18.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.7 cm 24.7 cm 63.5 cm 14.4 keV 4.46 keV 2.86 mm 2.86 mm Tracker eIoni + 2 -10.6 cm 24.8 cm 63.6 cm 10 keV 4.39 keV 2.26 mm 5.13 mm Tracker eIoni + 3 -10.6 cm 25 cm 63.8 cm 5.98 keV 4.04 keV 1.7 mm 6.82 mm Tracker eIoni + 4 -10.6 cm 25 cm 63.8 cm 0 eV 5.98 keV 931 mum 7.76 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 393, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -10.6 cm 12.1 cm -1.12 m 14.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -10.8 cm 12.2 cm -1.11 m 10.3 keV 4.18 keV 2.28 mm 2.28 mm Tracker eIoni + 2 -10.9 cm 12.2 cm -1.11 m 4.87 keV 5.47 keV 1.74 mm 4.02 mm Tracker eIoni + 3 -11 cm 12.2 cm -1.11 m 0 eV 4.87 keV 655 mum 4.67 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 392, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.46 cm 10.2 cm -1.25 m 4.79 MeV 0 eV 0 fm 0 fm Tracker initStep + 1 -13.2 cm 18.9 cm -80 cm 4.79 MeV 0 eV 46.2 cm 46.2 cm Tracker Transportation + 2 -14.8 cm 22.8 cm -60 cm 4.79 MeV 0 eV 20.4 cm 66.7 cm Chamber Transportation + 3 -19.8 cm 34.3 cm 0 fm 4.79 MeV 0 eV 61.3 cm 1.28 m Tracker Transportation + 4 -21.4 cm 38.1 cm 20 cm 4.79 MeV 0 eV 20.4 cm 1.48 m Chamber Transportation + 5 -26.4 cm 49.6 cm 80 cm 4.79 MeV 0 eV 61.3 cm 2.1 m Tracker Transportation + 6 -28 cm 53.5 cm 1 m 4.79 MeV 0 eV 20.4 cm 2.3 m Chamber Transportation + 7 -33 cm 65 cm 1.6 m 4.79 MeV 0 eV 61.3 cm 2.91 m Tracker Transportation + 8 -34.6 cm 68.8 cm 1.8 m 4.79 MeV 0 eV 20.4 cm 3.12 m Chamber Transportation + 9 -39.6 cm 80.3 cm 2.4 m 4.79 MeV 0 eV 61.3 cm 3.73 m Tracker Transportation + 10 -43.8 cm 90.1 cm 2.91 m 4.79 MeV 0 eV 52.1 cm 4.25 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 391, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.34 cm 6.41 cm -1.57 m 1 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 -11.1 cm 8.06 cm -1.4 m 1 MeV 0 eV 17.3 cm 17.3 cm Chamber Transportation + 2 -28.3 cm 14 cm -80 cm 1 MeV 0 eV 62.7 cm 80.1 cm Tracker Transportation + 3 -34 cm 16 cm -60 cm 1 MeV 0 eV 20.9 cm 1.01 m Chamber Transportation + 4 -51.3 cm 22 cm 0 fm 1 MeV 0 eV 62.7 cm 1.64 m Tracker Transportation + 5 -57 cm 24 cm 20 cm 1 MeV 0 eV 20.9 cm 1.85 m Chamber Transportation + 6 -74.2 cm 29.9 cm 80 cm 1 MeV 0 eV 62.7 cm 2.47 m Tracker Transportation + 7 -79.9 cm 31.9 cm 1 m 1 MeV 0 eV 20.9 cm 2.68 m Chamber Transportation + 8 -97.2 cm 37.9 cm 1.6 m 1 MeV 0 eV 62.7 cm 3.31 m Tracker Transportation + 9 -1.03 m 39.9 cm 1.8 m 1 MeV 0 eV 20.9 cm 3.52 m Chamber Transportation + 10 -1.2 m 45.9 cm 2.4 m 1 MeV 0 eV 62.7 cm 4.14 m Tracker Transportation + 11 -1.35 m 50.9 cm 2.91 m 1 MeV 0 eV 53.3 cm 4.68 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 390, Parent ID = 382 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.09 cm 2.35 cm -1.89 m 11.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -3.11 cm 2.49 cm -1.89 m 6.66 keV 4.39 keV 1.84 mm 1.84 mm Tracker eIoni + 2 -3.23 cm 2.49 cm -1.89 m 1.36 keV 5.3 keV 1.11 mm 2.95 mm Tracker eIoni + 3 -3.23 cm 2.49 cm -1.89 m 0 eV 1.36 keV 88.8 mum 3.04 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 373, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 364 mum 213 mum -2.41 m 3.66 MeV 0 eV 0 fm 0 fm Target initStep + 1 643 mum 330 mum -2.41 m 1.25 MeV 0 eV 2.65 mm 2.65 mm Target compt + 2 3.21 mm 6.73 mm -2.4 m 1.25 MeV 0 eV 9.37 mm 1.2 cm Target Transportation + 3 96.1 cm 2.4 m -2.86 cm 1.25 MeV 0 eV 3.5 m 3.51 m Tracker Transportation + 4 1.17 m 2.91 m 47.7 cm 1.25 MeV 0 eV 74.6 cm 4.26 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 400, Parent ID = 373 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 643 mum 330 mum -2.41 m 2.41 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.16 mm -450 mum -2.41 m 379 keV 2.03 MeV 1.55 mm 1.55 mm Target eIoni + 2 1.16 mm -441 mum -2.41 m 0 eV 379 keV 207 mum 1.76 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 372, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 317 mum 193 mum -2.41 m 4.21 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.12 mm 680 mum -2.4 m 4.21 MeV 0 eV 9.47 mm 9.47 mm Target Transportation + 2 15.8 cm 4.27 cm -1.6 m 4.21 MeV 0 eV 81.6 cm 82.6 cm Tracker Transportation + 3 19.7 cm 5.32 cm -1.4 m 4.21 MeV 0 eV 20.4 cm 1.03 m Chamber Transportation + 4 31.3 cm 8.47 cm -80 cm 4.21 MeV 0 eV 61.2 cm 1.64 m Tracker Transportation + 5 35.2 cm 9.52 cm -60 cm 4.21 MeV 0 eV 20.4 cm 1.85 m Chamber Transportation + 6 46.9 cm 12.7 cm 0 fm 4.21 MeV 0 eV 61.2 cm 2.46 m Tracker Transportation + 7 50.8 cm 13.7 cm 20 cm 4.21 MeV 0 eV 20.4 cm 2.66 m Chamber Transportation + 8 62.4 cm 16.9 cm 80 cm 4.21 MeV 0 eV 61.2 cm 3.27 m Tracker Transportation + 9 66.3 cm 17.9 cm 1 m 4.21 MeV 0 eV 20.4 cm 3.48 m Chamber Transportation + 10 78 cm 21.1 cm 1.6 m 4.21 MeV 0 eV 61.2 cm 4.09 m Tracker Transportation + 11 81.9 cm 22.1 cm 1.8 m 4.21 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation + 12 93.5 cm 25.3 cm 2.4 m 4.21 MeV 0 eV 61.2 cm 4.91 m Tracker Transportation + 13 1.03 m 27.9 cm 2.91 m 4.21 MeV 0 eV 52 cm 5.43 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 371, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 215 mum 180 mum -2.41 m 85.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.26 mm 269 mum -2.4 m 0 eV 0 eV 5.35 mm 5.35 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 402, Parent ID = 371 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.26 mm 269 mum -2.4 m 80.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.27 mm 268 mum -2.4 m 68.1 MeV 67.4 keV 46.4 mum 46.4 mum Target eBrem + 2 1.39 mm 281 mum -2.4 m 66 MeV 763 keV 697 mum 744 mum Target eBrem + 3 1.44 mm 260 mum -2.4 m 55.2 MeV 339 keV 310 mum 1.05 mm Target eBrem + 4 1.53 mm 264 mum -2.4 m 25.8 MeV 535 keV 463 mum 1.52 mm Target eBrem + 5 1.64 mm -158 mum -2.4 m 22.6 MeV 2.28 MeV 1.98 mm 3.49 mm Target eBrem + 6 1.64 mm -158 mum -2.4 m 20.1 MeV 1.09 keV 3.57 mum 3.5 mm Target eBrem + 7 1.68 mm -149 mum -2.4 m 19 MeV 281 keV 264 mum 3.76 mm Target eBrem + 8 1.68 mm -144 mum -2.4 m 13.1 MeV 33.3 keV 29.3 mum 3.79 mm Target eBrem + 9 1.79 mm 91.9 mum -2.4 m 10.7 MeV 2.46 MeV 1.27 mm 5.06 mm Target Transportation + 10 54 cm 13.8 cm -1.3 m 10.4 MeV 230 keV 1.24 m 1.24 m Tracker eIoni + 11 98.4 cm 26.2 cm -55.6 cm 10.2 MeV 169 keV 87.2 cm 2.11 m Tracker eIoni + 12 1.37 m 40.7 cm 32.1 cm 10 MeV 167 keV 97.1 cm 3.09 m Tracker eIoni + 13 1.94 m 53.3 cm 1.6 m 9.75 MeV 261 keV 1.41 m 4.5 m Tracker Transportation + 14 1.97 m 54.5 cm 1.65 m 9.73 MeV 25.3 keV 5.86 cm 4.56 m Chamber Transportation + 15 2.35 m 76 cm 2.4 m 9.56 MeV 171 keV 86.8 cm 5.42 m Tracker Transportation + 16 2.59 m 90.1 cm 2.91 m 9.45 MeV 106 keV 58.4 cm 6.01 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 413, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.37 m 40.7 cm 32.1 cm 8.28 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.37 m 40.6 cm 31.9 cm 3.14 keV 5.14 keV 1.43 mm 1.43 mm Tracker eIoni + 2 1.37 m 40.6 cm 31.9 cm 0 eV 3.14 keV 318 mum 1.75 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 412, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 98.4 cm 26.2 cm -55.6 cm 51.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 98.3 cm 27.2 cm -55.7 cm 43.4 keV 8.09 keV 9.94 mm 9.94 mm Tracker eIoni + 2 97.8 cm 27.9 cm -55.6 cm 38.3 keV 5.11 keV 7.71 mm 1.77 cm Tracker eIoni + 3 98.1 cm 28.4 cm -55.3 cm 32.8 keV 5.52 keV 6.48 mm 2.41 cm Tracker eIoni + 4 97.8 cm 28.8 cm -55.1 cm 27.9 keV 4.87 keV 5.27 mm 2.94 cm Tracker eIoni + 5 97.7 cm 28.7 cm -54.7 cm 24.9 keV 3.03 keV 4.32 mm 3.37 cm Tracker eIoni + 6 97.4 cm 28.7 cm -54.5 cm 21.8 keV 3.13 keV 3.78 mm 3.75 cm Tracker eIoni + 7 97.1 cm 28.6 cm -54.6 cm 15.3 keV 6.49 keV 3.28 mm 4.08 cm Tracker eIoni + 8 96.9 cm 28.7 cm -54.6 cm 10.4 keV 4.86 keV 2.38 mm 4.32 cm Tracker eIoni + 9 96.9 cm 28.6 cm -54.5 cm 5.89 keV 4.52 keV 1.75 mm 4.49 cm Tracker eIoni + 10 96.8 cm 28.6 cm -54.4 cm 0 eV 5.89 keV 905 mum 4.58 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 411, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 54 cm 13.8 cm -1.3 m 25.9 keV 0 eV 0 fm 0 fm Tracker initStep + 1 54.3 cm 14 cm -1.3 m 22 keV 3.88 keV 3.95 mm 3.95 mm Tracker eIoni + 2 54.5 cm 13.8 cm -1.3 m 18.9 keV 3.14 keV 3.32 mm 7.27 mm Tracker eIoni + 3 54.6 cm 13.9 cm -1.3 m 14 keV 4.85 keV 2.86 mm 1.01 cm Tracker eIoni + 4 54.8 cm 14 cm -1.3 m 10.1 keV 3.86 keV 2.21 mm 1.23 cm Tracker eIoni + 5 54.8 cm 13.8 cm -1.3 m 5.96 keV 4.19 keV 1.71 mm 1.41 cm Tracker eIoni + 6 54.9 cm 13.8 cm -1.3 m 8.67e-13 eV 5.96 keV 924 mum 1.5 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 410, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.68 mm -144 mum -2.4 m 5.88 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.79 mm 84.5 mum -2.4 m 5.88 MeV 0 eV 1.14 mm 1.14 mm Target Transportation + 2 8.55 cm 16.5 cm -1.6 m 5.88 MeV 0 eV 82.1 cm 82.2 cm Tracker Transportation + 3 10.6 cm 20.6 cm -1.4 m 5.88 MeV 0 eV 20.5 cm 1.03 m Chamber Transportation + 4 16.9 cm 33 cm -80 cm 5.88 MeV 0 eV 61.6 cm 1.64 m Tracker Transportation + 5 19 cm 37.1 cm -60 cm 5.88 MeV 0 eV 20.5 cm 1.85 m Chamber Transportation + 6 25.3 cm 49.4 cm 0.114 fm 5.88 MeV 0 eV 61.6 cm 2.46 m Tracker Transportation + 7 27.4 cm 53.6 cm 20 cm 5.88 MeV 0 eV 20.5 cm 2.67 m Chamber Transportation + 8 33.7 cm 65.9 cm 80 cm 5.88 MeV 0 eV 61.6 cm 3.29 m Tracker Transportation + 9 35.8 cm 70 cm 1 m 5.88 MeV 0 eV 20.5 cm 3.49 m Chamber Transportation + 10 42 cm 82.4 cm 1.6 m 5.88 MeV 0 eV 61.6 cm 4.11 m Tracker Transportation + 11 44.1 cm 86.5 cm 1.8 m 5.88 MeV 0 eV 20.5 cm 4.31 m Chamber Transportation + 12 50.4 cm 98.9 cm 2.4 m 5.88 MeV 0 eV 61.6 cm 4.93 m Tracker Transportation + 13 55.8 cm 1.09 m 2.91 m 5.88 MeV 0 eV 52.3 cm 5.45 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 409, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.68 mm -149 mum -2.4 m 810 keV 0 eV 0 fm 0 fm Target initStep + 1 1.83 mm 112 mum -2.4 m 810 keV 0 eV 1.18 mm 1.18 mm Target Transportation + 2 11.2 cm 18.4 cm -1.6 m 810 keV 0 eV 82.8 cm 82.9 cm Tracker Transportation + 3 13.9 cm 23 cm -1.4 m 810 keV 0 eV 20.7 cm 1.04 m Chamber Transportation + 4 22.1 cm 36.8 cm -80 cm 810 keV 0 eV 62.1 cm 1.66 m Tracker Transportation + 5 24.9 cm 41.4 cm -60 cm 810 keV 0 eV 20.7 cm 1.86 m Chamber Transportation + 6 33.1 cm 55.1 cm 0 fm 810 keV 0 eV 62.1 cm 2.49 m Tracker Transportation + 7 35.8 cm 59.7 cm 20 cm 810 keV 0 eV 20.7 cm 2.69 m Chamber Transportation + 8 44.1 cm 73.5 cm 80 cm 810 keV 0 eV 62.1 cm 3.31 m Tracker Transportation + 9 46.8 cm 78.1 cm 1 m 810 keV 0 eV 20.7 cm 3.52 m Chamber Transportation + 10 55 cm 91.9 cm 1.6 m 810 keV 0 eV 62.1 cm 4.14 m Tracker Transportation + 11 57.8 cm 96.5 cm 1.8 m 810 keV 0 eV 20.7 cm 4.35 m Chamber Transportation + 12 66 cm 1.1 m 2.4 m 810 keV 0 eV 62.1 cm 4.97 m Tracker Transportation + 13 73 cm 1.22 m 2.91 m 810 keV 0 eV 52.8 cm 5.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 408, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.64 mm -158 mum -2.4 m 2.52 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.03 mm -154 mum -2.4 m 2.52 MeV 0 eV 1.45 mm 1.45 mm Target Transportation + 2 22.4 cm 2.34 mm -1.6 m 2.52 MeV 0 eV 83 cm 83.2 cm Tracker Transportation + 3 24 cm 2.52 mm -1.54 m 2.52 MeV 0 eV 5.88 cm 89.1 cm Chamber Transportation + 4 44.6 cm 4.84 mm -80 cm 2.52 MeV 0 eV 77.1 cm 1.66 m Tracker Transportation + 5 50.2 cm 5.47 mm -60 cm 2.52 MeV 0 eV 20.8 cm 1.87 m Chamber Transportation + 6 66.9 cm 7.34 mm 0 fm 2.52 MeV 0 eV 62.3 cm 2.49 m Tracker Transportation + 7 72.4 cm 7.96 mm 20 cm 2.52 MeV 0 eV 20.8 cm 2.7 m Chamber Transportation + 8 89.1 cm 9.84 mm 80 cm 2.52 MeV 0 eV 62.3 cm 3.32 m Tracker Transportation + 9 94.7 cm 1.05 cm 1 m 2.52 MeV 0 eV 20.8 cm 3.53 m Chamber Transportation + 10 1.11 m 1.23 cm 1.6 m 2.52 MeV 0 eV 62.3 cm 4.15 m Tracker Transportation + 11 1.17 m 1.3 cm 1.8 m 2.52 MeV 0 eV 20.8 cm 4.36 m Chamber Transportation + 12 1.34 m 1.48 cm 2.4 m 2.52 MeV 0 eV 62.3 cm 4.98 m Tracker Transportation + 13 1.48 m 1.64 cm 2.91 m 2.52 MeV 0 eV 52.9 cm 5.51 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 407, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.64 mm -158 mum -2.4 m 919 keV 0 eV 0 fm 0 fm Target initStep + 1 2 mm -134 mum -2.4 m 919 keV 0 eV 1.45 mm 1.45 mm Target Transportation + 2 20.8 cm 1.4 cm -1.6 m 919 keV 0 eV 82.6 cm 82.8 cm Tracker Transportation + 3 24 cm 1.62 cm -1.48 m 919 keV 0 eV 12.8 cm 95.6 cm Chamber Transportation + 4 41.4 cm 2.82 cm -80 cm 919 keV 0 eV 69.8 cm 1.65 m Tracker Transportation + 5 46.5 cm 3.17 cm -60 cm 919 keV 0 eV 20.7 cm 1.86 m Chamber Transportation + 6 62 cm 4.24 cm -0.114 fm 919 keV 0 eV 62 cm 2.48 m Tracker Transportation + 7 67.1 cm 4.59 cm 20 cm 919 keV 0 eV 20.7 cm 2.69 m Chamber Transportation + 8 82.6 cm 5.65 cm 80 cm 919 keV 0 eV 62 cm 3.31 m Tracker Transportation + 9 87.7 cm 6.01 cm 1 m 919 keV 0 eV 20.7 cm 3.51 m Chamber Transportation + 10 1.03 m 7.07 cm 1.6 m 919 keV 0 eV 62 cm 4.13 m Tracker Transportation + 11 1.08 m 7.42 cm 1.8 m 919 keV 0 eV 20.7 cm 4.34 m Chamber Transportation + 12 1.24 m 8.49 cm 2.4 m 919 keV 0 eV 62 cm 4.96 m Tracker Transportation + 13 1.37 m 9.39 cm 2.91 m 919 keV 0 eV 52.7 cm 5.49 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 406, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.53 mm 264 mum -2.4 m 28.8 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.37 mm -74.3 mum -2.4 m 28.8 MeV 0 eV 3.42 mm 3.42 mm Target Transportation + 2 20.8 cm -8.23 cm -1.6 m 28.8 MeV 0 eV 83 cm 83.3 cm Tracker Transportation + 3 24 cm -9.51 cm -1.47 m 28.8 MeV 0 eV 13 cm 96.3 cm Chamber Transportation + 4 41.3 cm -16.4 cm -80 cm 28.8 MeV 0 eV 70 cm 1.66 m Tracker Transportation + 5 46.5 cm -18.5 cm -60 cm 28.8 MeV 0 eV 20.8 cm 1.87 m Chamber Transportation + 6 61.9 cm -24.7 cm 0 fm 28.8 MeV 0 eV 62.3 cm 2.49 m Tracker Transportation + 7 67 cm -26.7 cm 20 cm 28.8 MeV 0 eV 20.8 cm 2.7 m Chamber Transportation + 8 82.4 cm -32.9 cm 80 cm 28.8 MeV 0 eV 62.3 cm 3.32 m Tracker Transportation + 9 87.6 cm -34.9 cm 1 m 28.8 MeV 0 eV 20.8 cm 3.53 m Chamber Transportation + 10 1.03 m -41.1 cm 1.6 m 28.8 MeV 0 eV 62.3 cm 4.15 m Tracker Transportation + 11 1.08 m -43.2 cm 1.8 m 28.8 MeV 0 eV 20.8 cm 4.36 m Chamber Transportation + 12 1.24 m -49.3 cm 2.4 m 28.8 MeV 0 eV 62.3 cm 4.98 m Tracker Transportation + 13 1.37 m -54.6 cm 2.91 m 28.8 MeV 0 eV 52.9 cm 5.51 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 405, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.44 mm 260 mum -2.4 m 10.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.71 mm 188 mum -2.4 m 8.03 MeV 0 eV 1.49 mm 1.49 mm Target compt + 2 2.55 mm 138 mum -2.4 m 8.03 MeV 0 eV 2.43 mm 3.92 mm Target Transportation + 3 59.3 cm -3.47 cm -80 cm 8.03 MeV 0 eV 1.71 m 1.71 m Tracker Transportation + 4 66.7 cm -3.9 cm -60 cm 8.03 MeV 0 eV 21.3 cm 1.92 m Chamber Transportation + 5 88.8 cm -5.21 cm 0.114 fm 8.03 MeV 0 eV 64 cm 2.56 m Tracker Transportation + 6 96.2 cm -5.64 cm 20 cm 8.03 MeV 0 eV 21.3 cm 2.78 m Chamber Transportation + 7 1.18 m -6.95 cm 80 cm 8.03 MeV 0 eV 64 cm 3.42 m Tracker Transportation + 8 1.26 m -7.38 cm 1 m 8.03 MeV 0 eV 21.3 cm 3.63 m Chamber Transportation + 9 1.48 m -8.69 cm 1.6 m 8.03 MeV 0 eV 64 cm 4.27 m Tracker Transportation + 10 1.55 m -9.12 cm 1.8 m 8.03 MeV 0 eV 21.3 cm 4.48 m Chamber Transportation + 11 1.77 m -10.4 cm 2.4 m 8.03 MeV 0 eV 64 cm 5.12 m Tracker Transportation + 12 1.96 m -11.5 cm 2.91 m 8.03 MeV 0 eV 54.4 cm 5.66 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 414, Parent ID = 405 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.71 mm 188 mum -2.4 m 2.44 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.88 mm 386 mum -2.4 m 1.64 MeV 478 keV 521 mum 521 mum Target eBrem + 2 1.96 mm 805 mum -2.4 m 98.2 keV 1.54 MeV 1.15 mm 1.67 mm Target eBrem + 3 1.96 mm 806 mum -2.4 m 1.39e-11 eV 98.2 keV 26.8 mum 1.7 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 415, Parent ID = 414 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.88 mm 386 mum -2.4 m 326 keV 0 eV 0 fm 0 fm Target initStep + 1 1.33 mm 704 mum -2.4 m 0 eV 88 keV 651 mum 651 mum Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 416, Parent ID = 415 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.33 mm 704 mum -2.4 m 238 keV 0 eV 0 fm 0 fm Target initStep + 1 1.33 mm 704 mum -2.4 m 2.78e-11 eV 238 keV 106 mum 106 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 404, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.39 mm 281 mum -2.4 m 1.33 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.18 mm 107 mum -2.4 m 1.33 MeV 0 eV 4.13 mm 4.13 mm Target Transportation + 2 16 cm -3.42 cm -1.6 m 1.33 MeV 0 eV 81.6 cm 82 cm Tracker Transportation + 3 19.9 cm -4.28 cm -1.4 m 1.33 MeV 0 eV 20.4 cm 1.02 m Chamber Transportation + 4 31.8 cm -6.85 cm -80 cm 1.33 MeV 0 eV 61.2 cm 1.64 m Tracker Transportation + 5 35.7 cm -7.71 cm -60 cm 1.33 MeV 0 eV 20.4 cm 1.84 m Chamber Transportation + 6 47.5 cm -10.3 cm 0 fm 1.33 MeV 0 eV 61.2 cm 2.45 m Tracker Transportation + 7 51.5 cm -11.1 cm 20 cm 1.33 MeV 0 eV 20.4 cm 2.66 m Chamber Transportation + 8 63.3 cm -13.7 cm 80 cm 1.33 MeV 0 eV 61.2 cm 3.27 m Tracker Transportation + 9 67.3 cm -14.6 cm 1 m 1.33 MeV 0 eV 20.4 cm 3.47 m Chamber Transportation + 10 79.1 cm -17.1 cm 1.6 m 1.33 MeV 0 eV 61.2 cm 4.08 m Tracker Transportation + 11 83 cm -18 cm 1.8 m 1.33 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation + 12 94.9 cm -20.6 cm 2.4 m 1.33 MeV 0 eV 61.2 cm 4.9 m Tracker Transportation + 13 1.04 m -22.6 cm 2.87 m 862 keV 0 eV 48.2 cm 5.38 m World compt + 14 1.08 m -21.3 cm 2.91 m 862 keV 0 eV 5.49 cm 5.44 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 417, Parent ID = 404 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.04 m -22.6 cm 2.87 m 465 keV 0 eV 0 fm 0 fm World initStep + 1 1.02 m -24 cm 2.91 m 457 keV 7.41 keV 4.44 cm 4.44 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 403, Parent ID = 402 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.27 mm 268 mum -2.4 m 12.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.12 mm 82.2 mum -2.4 m 12.5 MeV 0 eV 4.82 mm 4.82 mm Target Transportation + 2 14.5 cm -3.13 cm -1.6 m 12.5 MeV 0 eV 81.3 cm 81.8 cm Tracker Transportation + 3 18 cm -3.91 cm -1.4 m 12.5 MeV 0 eV 20.3 cm 1.02 m Chamber Transportation + 4 28.8 cm -6.26 cm -80 cm 12.5 MeV 0 eV 61 cm 1.63 m Tracker Transportation + 5 32.3 cm -7.05 cm -60 cm 12.5 MeV 0 eV 20.3 cm 1.83 m Chamber Transportation + 6 43 cm -9.4 cm 0 fm 12.5 MeV 0 eV 61 cm 2.44 m Tracker Transportation + 7 46.6 cm -10.2 cm 20 cm 12.5 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation + 8 57.3 cm -12.5 cm 80 cm 12.5 MeV 0 eV 61 cm 3.26 m Tracker Transportation + 9 60.9 cm -13.3 cm 1 m 12.5 MeV 0 eV 20.3 cm 3.46 m Chamber Transportation + 10 71.6 cm -15.7 cm 1.6 m 12.5 MeV 0 eV 61 cm 4.07 m Tracker Transportation + 11 75.1 cm -16.5 cm 1.8 m 12.5 MeV 0 eV 20.3 cm 4.27 m Chamber Transportation + 12 85.8 cm -18.8 cm 2.4 m 12.5 MeV 0 eV 61 cm 4.88 m Tracker Transportation + 13 94.9 cm -20.8 cm 2.91 m 12.5 MeV 0 eV 51.8 cm 5.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 401, Parent ID = 371 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.26 mm 269 mum -2.4 m 3.62 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.41 mm 250 mum -2.4 m 2.23 MeV 953 keV 476 mum 476 mum Target eBrem + 2 1.5 mm 117 mum -2.4 m 831 keV 256 keV 199 mum 675 mum Target eBrem + 3 1.59 mm 41.7 mum -2.4 m 61.7 keV 223 keV 204 mum 879 mum Target eBrem + 4 1.59 mm 41.5 mum -2.4 m 0 eV 61.7 keV 12.6 mum 892 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 420, Parent ID = 401 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.59 mm 41.7 mum -2.4 m 546 keV 0 eV 0 fm 0 fm Target initStep + 1 1.8 cm -864 mum -2.4 m 0 eV 88 keV 1.68 cm 1.68 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 421, Parent ID = 420 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.8 cm -864 mum -2.4 m 458 keV 0 eV 0 fm 0 fm Target initStep + 1 1.8 cm -860 mum -2.4 m 0 eV 458 keV 268 mum 268 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 419, Parent ID = 401 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.5 mm 117 mum -2.4 m 1.14 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.84 mm 332 mum -2.41 m 258 keV 0 eV 1.3 mm 1.3 mm Target compt + 2 1.63 mm 890 mum -2.41 m 0 eV 88 keV 754 mum 2.05 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 423, Parent ID = 419 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.63 mm 890 mum -2.41 m 170 keV 0 eV 0 fm 0 fm Target initStep + 1 1.63 mm 887 mum -2.41 m 0 eV 170 keV 63.6 mum 63.6 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 422, Parent ID = 419 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.84 mm 332 mum -2.41 m 885 keV 0 eV 0 fm 0 fm Target initStep + 1 1.85 mm 332 mum -2.41 m 1.11e-10 eV 885 keV 622 mum 622 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 418, Parent ID = 401 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.41 mm 250 mum -2.4 m 442 keV 0 eV 0 fm 0 fm Target initStep + 1 1.96 mm -1.22 mm -2.4 m 0 eV 88 keV 1.66 mm 1.66 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 424, Parent ID = 418 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.96 mm -1.22 mm -2.4 m 354 keV 0 eV 0 fm 0 fm Target initStep + 1 1.96 mm -1.23 mm -2.4 m 0 eV 354 keV 188 mum 188 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 370, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 157 mum 176 mum -2.41 m 606 keV 0 eV 0 fm 0 fm Target initStep + 1 2.23 mm 471 mum -2.4 m 606 keV 0 eV 1.05 cm 1.05 cm Target Transportation + 2 16.2 cm 2.33 cm -1.6 m 606 keV 0 eV 81.6 cm 82.7 cm Tracker Transportation + 3 20.2 cm 2.9 cm -1.4 m 606 keV 0 eV 20.4 cm 1.03 m Chamber Transportation + 4 32.2 cm 4.61 cm -80 cm 606 keV 0 eV 61.2 cm 1.64 m Tracker Transportation + 5 36.2 cm 5.18 cm -60 cm 606 keV 0 eV 20.4 cm 1.85 m Chamber Transportation + 6 48.3 cm 6.9 cm 0.114 fm 606 keV 0 eV 61.2 cm 2.46 m Tracker Transportation + 7 52.3 cm 7.47 cm 20 cm 606 keV 0 eV 20.4 cm 2.66 m Chamber Transportation + 8 64.3 cm 9.18 cm 80 cm 606 keV 0 eV 61.2 cm 3.28 m Tracker Transportation + 9 68.3 cm 9.75 cm 1 m 606 keV 0 eV 20.4 cm 3.48 m Chamber Transportation + 10 80.3 cm 11.5 cm 1.6 m 606 keV 0 eV 61.2 cm 4.09 m Tracker Transportation + 11 84.3 cm 12 cm 1.8 m 606 keV 0 eV 20.4 cm 4.3 m Chamber Transportation + 12 96.3 cm 13.7 cm 2.4 m 606 keV 0 eV 61.2 cm 4.91 m Tracker Transportation + 13 1.06 m 15.2 cm 2.91 m 606 keV 0 eV 52 cm 5.43 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 369, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 128 mum 172 mum -2.41 m 13.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.18 mm 468 mum -2.4 m 13.6 MeV 0 eV 1.07 cm 1.07 cm Target Transportation + 2 15.8 cm 2.31 cm -1.6 m 13.6 MeV 0 eV 81.5 cm 82.6 cm Tracker Transportation + 3 19.7 cm 2.87 cm -1.4 m 13.6 MeV 0 eV 20.4 cm 1.03 m Chamber Transportation + 4 31.4 cm 4.57 cm -80 cm 13.6 MeV 0 eV 61.2 cm 1.64 m Tracker Transportation + 5 35.3 cm 5.13 cm -60 cm 13.6 MeV 0 eV 20.4 cm 1.85 m Chamber Transportation + 6 47 cm 6.83 cm 0 fm 13.6 MeV 0 eV 61.2 cm 2.46 m Tracker Transportation + 7 50.9 cm 7.39 cm 20 cm 13.6 MeV 0 eV 20.4 cm 2.66 m Chamber Transportation + 8 62.7 cm 9.09 cm 80 cm 13.6 MeV 0 eV 61.2 cm 3.27 m Tracker Transportation + 9 66.6 cm 9.66 cm 1 m 13.6 MeV 0 eV 20.4 cm 3.48 m Chamber Transportation + 10 78.3 cm 11.4 cm 1.6 m 13.6 MeV 0 eV 61.2 cm 4.09 m Tracker Transportation + 11 82.2 cm 11.9 cm 1.8 m 13.6 MeV 0 eV 20.4 cm 4.29 m Chamber Transportation + 12 93.9 cm 13.6 cm 2.4 m 13.6 MeV 0 eV 61.2 cm 4.9 m Tracker Transportation + 13 1.04 m 15.1 cm 2.91 m 13.6 MeV 0 eV 52 cm 5.42 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 368, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 113 mum 170 mum -2.41 m 11.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.98 mm 514 mum -2.4 m 11.7 MeV 0 eV 1.08 cm 1.08 cm Target Transportation + 2 14.3 cm 2.65 cm -1.6 m 11.7 MeV 0 eV 81.3 cm 82.4 cm Tracker Transportation + 3 17.9 cm 3.3 cm -1.4 m 11.7 MeV 0 eV 20.3 cm 1.03 m Chamber Transportation + 4 28.5 cm 5.25 cm -80 cm 11.7 MeV 0 eV 61 cm 1.64 m Tracker Transportation + 5 32 cm 5.9 cm -60 cm 11.7 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation + 6 42.6 cm 7.85 cm 0 fm 11.7 MeV 0 eV 61 cm 2.45 m Tracker Transportation + 7 46.1 cm 8.5 cm 20 cm 11.7 MeV 0 eV 20.3 cm 2.65 m Chamber Transportation + 8 56.7 cm 10.5 cm 80 cm 11.7 MeV 0 eV 61 cm 3.26 m Tracker Transportation + 9 60.2 cm 11.1 cm 1 m 11.7 MeV 0 eV 20.3 cm 3.47 m Chamber Transportation + 10 70.8 cm 13.1 cm 1.6 m 11.7 MeV 0 eV 61 cm 4.07 m Tracker Transportation + 11 74.4 cm 13.7 cm 1.8 m 11.7 MeV 0 eV 20.3 cm 4.28 m Chamber Transportation + 12 85 cm 15.7 cm 2.4 m 11.7 MeV 0 eV 61 cm 4.89 m Tracker Transportation + 13 94 cm 17.3 cm 2.91 m 11.7 MeV 0 eV 51.8 cm 5.41 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 367, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 53.4 mum 165 mum -2.41 m 14.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.08 mm 321 mum -2.4 m 14.9 MeV 0 eV 1.11 cm 1.11 cm Target Transportation + 2 15 cm 1.17 cm -1.6 m 14.9 MeV 0 eV 81.4 cm 82.5 cm Tracker Transportation + 3 18.7 cm 1.45 cm -1.4 m 14.9 MeV 0 eV 20.3 cm 1.03 m Chamber Transportation + 4 29.8 cm 2.31 cm -80 cm 14.9 MeV 0 eV 61 cm 1.64 m Tracker Transportation + 5 33.6 cm 2.59 cm -60 cm 14.9 MeV 0 eV 20.3 cm 1.84 m Chamber Transportation + 6 44.7 cm 3.44 cm -0.114 fm 14.9 MeV 0 eV 61 cm 2.45 m Tracker Transportation + 7 48.4 cm 3.73 cm 20 cm 14.9 MeV 0 eV 20.3 cm 2.66 m Chamber Transportation + 8 59.5 cm 4.58 cm 80 cm 14.9 MeV 0 eV 61 cm 3.27 m Tracker Transportation + 9 63.2 cm 4.86 cm 1 m 14.9 MeV 0 eV 20.3 cm 3.47 m Chamber Transportation + 10 74.3 cm 5.72 cm 1.6 m 14.9 MeV 0 eV 61 cm 4.08 m Tracker Transportation + 11 78 cm 6 cm 1.8 m 14.9 MeV 0 eV 20.3 cm 4.28 m Chamber Transportation + 12 89.1 cm 6.85 cm 2.4 m 14.9 MeV 0 eV 61 cm 4.89 m Tracker Transportation + 13 98.6 cm 7.58 cm 2.91 m 14.9 MeV 0 eV 51.9 cm 5.41 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 366, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 44.8 mum 152 mum -2.41 m 1.02 MeV 0 eV 0 fm 0 fm Target initStep + 1 46.4 mum 169 mum -2.41 m 408 keV 0 eV 513 mum 513 mum Target compt + 2 479 mum 7.27 mm -2.41 m 0 eV 88 keV 7.28 mm 7.79 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 426, Parent ID = 366 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 479 mum 7.27 mm -2.41 m 320 keV 0 eV 0 fm 0 fm Target initStep + 1 476 mum 7.28 mm -2.41 m 0 eV 320 keV 163 mum 163 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 425, Parent ID = 366 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 46.4 mum 169 mum -2.41 m 617 keV 0 eV 0 fm 0 fm Target initStep + 1 45.8 mum 159 mum -2.41 m 0 eV 617 keV 397 mum 397 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 365, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 42.6 mum 143 mum -2.41 m 592 keV 0 eV 0 fm 0 fm Target initStep + 1 44.6 mum 157 mum -2.41 m 513 keV 0 eV 353 mum 353 mum Target compt + 2 2.19 mm 814 mum -2.41 m 0 eV 88 keV 4.37 mm 4.73 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 428, Parent ID = 365 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.19 mm 814 mum -2.41 m 425 keV 0 eV 0 fm 0 fm Target initStep + 1 2.2 mm 809 mum -2.41 m 1.67e-10 eV 425 keV 242 mum 242 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 427, Parent ID = 365 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 44.6 mum 157 mum -2.41 m 79.4 keV 0 eV 0 fm 0 fm Target initStep + 1 43.5 mum 157 mum -2.41 m 5.55e-11 eV 79.4 keV 19 mum 19 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 364, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 41.6 mum 139 mum -2.41 m 498 keV 0 eV 0 fm 0 fm Target initStep + 1 68 mum 478 mum -2.4 m 324 keV 0 eV 7.54 mm 7.54 mm Target compt + 2 576 mum 74.4 mum -2.4 m 0 eV 88 keV 735 mum 8.27 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 430, Parent ID = 364 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 576 mum 74.4 mum -2.4 m 236 keV 0 eV 0 fm 0 fm Target initStep + 1 583 mum 74.6 mum -2.4 m 0 eV 236 keV 104 mum 104 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 429, Parent ID = 364 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 68 mum 478 mum -2.4 m 175 keV 0 eV 0 fm 0 fm Target initStep + 1 65.9 mum 480 mum -2.4 m 5.55e-11 eV 175 keV 66.3 mum 66.3 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 363, Parent ID = 362 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 41.4 mum 138 mum -2.41 m 712 keV 0 eV 0 fm 0 fm Target initStep + 1 111 mum 598 mum -2.4 m 287 keV 0 eV 1.08 cm 1.08 cm Target compt + 2 1.98 mm 4.71 mm -2.4 m 0 eV 88 keV 4.54 mm 1.53 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 432, Parent ID = 363 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.98 mm 4.71 mm -2.4 m 199 keV 0 eV 0 fm 0 fm Target initStep + 1 1.98 mm 4.71 mm -2.4 m 0 eV 199 keV 80.8 mum 80.8 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 431, Parent ID = 363 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 111 mum 598 mum -2.4 m 426 keV 0 eV 0 fm 0 fm Target initStep + 1 108 mum 593 mum -2.4 m 0 eV 426 keV 243 mum 243 mum Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 361, Parent ID = 243 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -12.4 mum 106 mum -2.42 m 1.47 MeV 0 eV 0 fm 0 fm Target initStep + 1 -310 mum 230 mum -2.42 m 78 keV 1.39 MeV 1.11 mm 1.11 mm Target eIoni + 2 -309 mum 229 mum -2.42 m 4.16e-11 eV 78 keV 18.4 mum 1.12 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 242, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.47 mum 26 mum -2.42 m 4.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 -203 mum 1.12 mm -2.4 m 4.05 MeV 0 eV 1.62 cm 1.62 cm Target Transportation + 2 -1.05 cm 5.56 cm -1.6 m 4.05 MeV 0 eV 80.2 cm 81.8 cm Tracker Transportation + 3 -1.3 cm 6.92 cm -1.4 m 4.05 MeV 0 eV 20 cm 1.02 m Chamber Transportation + 4 -2.07 cm 11 cm -80 cm 4.05 MeV 0 eV 60.1 cm 1.62 m Tracker Transportation + 5 -2.08 cm 11.1 cm -79.2 cm 0 eV 0 eV 7.88 mm 1.63 m Chamber conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 434, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.08 cm 11.1 cm -79.2 cm 338 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -5.67 cm 13.4 cm -76.7 cm 287 keV 51 keV 7.06 cm 7.06 cm Chamber eIoni + 2 -5.34 cm 9.18 cm -73.9 cm 257 keV 29.1 keV 5.52 cm 12.6 cm Chamber eIoni + 3 -5.4 cm 7.94 cm -70.8 cm 228 keV 29.8 keV 4.69 cm 17.3 cm Chamber eIoni + 4 -5.59 cm 10.8 cm -69.4 cm 202 keV 25.8 keV 3.88 cm 21.2 cm Chamber eIoni + 5 -7.84 cm 11.3 cm -68.7 cm 154 keV 47.5 keV 3.23 cm 24.4 cm Chamber eIoni + 6 -7.85 cm 9.98 cm -70.1 cm 99.6 keV 54.7 keV 2.12 cm 26.5 cm Chamber eIoni + 7 -8.43 cm 10.4 cm -70 cm 78.7 keV 20.9 keV 1.09 cm 27.6 cm Chamber eIoni + 8 -8.23 cm 10.9 cm -69.8 cm 66.2 keV 12.5 keV 7.77 mm 28.4 cm Chamber eIoni + 9 -7.95 cm 10.5 cm -69.8 cm 58.9 keV 7.28 keV 6.15 mm 29 cm Chamber eIoni + 10 -7.92 cm 10.1 cm -69.9 cm 47.4 keV 11.5 keV 5.3 mm 29.5 cm Chamber eIoni + 11 -8.17 cm 10.3 cm -70 cm 30.9 keV 16.5 keV 4.11 mm 29.9 cm Chamber eIoni + 12 -8.27 cm 10.4 cm -70.1 cm 17.2 keV 13.7 keV 2.69 mm 30.2 cm Chamber eIoni + 13 -8.3 cm 10.5 cm -70 cm 13.1 keV 4.12 keV 1.69 mm 30.4 cm Chamber eIoni + 14 -8.28 cm 10.5 cm -70 cm 0 eV 13.1 keV 1.32 mm 30.5 cm Chamber eIoni + 15 -8.28 cm 10.5 cm -70 cm 0 eV 0 eV 0 fm 30.5 cm Chamber annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 436, Parent ID = 434 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.28 cm 10.5 cm -70 cm 511 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.52 cm 12 cm -60 cm 511 keV 0 eV 12.2 cm 12.2 cm Chamber Transportation + 2 39 cm 21.4 cm 0 fm 511 keV 0 eV 73 cm 85.2 cm Tracker Transportation + 3 52.5 cm 24.5 cm 20 cm 511 keV 0 eV 24.3 cm 1.1 m Chamber Transportation + 4 93.1 cm 33.9 cm 80 cm 511 keV 0 eV 73 cm 1.83 m Tracker Transportation + 5 1.07 m 37 cm 1 m 511 keV 0 eV 24.3 cm 2.07 m Chamber Transportation + 6 1.47 m 46.4 cm 1.6 m 511 keV 0 eV 73 cm 2.8 m Tracker Transportation + 7 1.61 m 49.5 cm 1.8 m 511 keV 0 eV 24.3 cm 3.04 m Chamber Transportation + 8 2.01 m 58.9 cm 2.4 m 511 keV 0 eV 73 cm 3.77 m Tracker Transportation + 9 2.36 m 66.9 cm 2.91 m 511 keV 0 eV 62.1 cm 4.39 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 435, Parent ID = 434 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.28 cm 10.5 cm -70 cm 511 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -15 cm 8.92 cm -80 cm 511 keV 0 eV 12.2 cm 12.2 cm Chamber Transportation + 2 -1.23 m -16.1 cm -2.4 m 511 keV 0 eV 1.95 m 2.07 m Tracker Transportation + 3 -1.58 m -24 cm -2.91 m 511 keV 0 eV 62.1 cm 2.69 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 433, Parent ID = 242 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -2.08 cm 11.1 cm -79.2 cm 2.69 MeV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.7 cm 12.3 cm -60 cm 2.59 MeV 104 keV 21.7 cm 21.7 cm Chamber Transportation + 2 37.5 cm 63.1 cm -28.4 cm 2.43 MeV 116 keV 72 cm 93.7 cm Tracker eIoni + 3 56.6 cm 82.5 cm -20.2 cm 2.37 MeV 47.6 keV 28.6 cm 1.22 m Tracker eIoni + 4 1.19 m 1.52 m 46.1 cm 2.16 MeV 201 keV 1.17 m 2.39 m Tracker eIoni + 5 1.29 m 1.59 m 48.1 cm 2.11 MeV 21.5 keV 12.4 cm 2.52 m Tracker eIoni + 6 2.26 m 2.24 m 62.8 cm 1.89 MeV 209 keV 1.21 m 3.73 m Tracker eIoni + 7 2.27 m 2.24 m 60.9 cm 1.74 MeV 2.24 keV 2.1 cm 3.75 m Tracker eIoni + 8 2.28 m 2.24 m 59.7 cm 1.73 MeV 1.68 keV 1.46 cm 3.76 m Tracker eIoni + 9 2.39 m 2.26 m 41.3 cm 1.68 MeV 38.9 keV 21.8 cm 3.98 m Tracker eIoni + 10 2.4 m 2.25 m 39.1 cm 1.68 MeV 3.9 keV 2.38 cm 4.01 m Tracker Transportation + 11 2.91 m 2.14 m -79 cm 1.46 MeV 219 keV 1.38 m 5.39 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 444, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.39 m 2.26 m 41.3 cm 9.54 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.39 m 2.25 m 41.4 cm 3.26 keV 6.28 keV 1.63 mm 1.63 mm Tracker eIoni + 2 2.39 m 2.25 m 41.4 cm 4.34e-13 eV 3.26 keV 337 mum 1.97 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 443, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.28 m 2.24 m 59.7 cm 9.18 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.28 m 2.24 m 59.6 cm 5.07 keV 4.11 keV 1.58 mm 1.58 mm Tracker eIoni + 2 2.28 m 2.24 m 59.6 cm 1.73e-12 eV 5.07 keV 703 mum 2.28 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 442, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.27 m 2.24 m 60.9 cm 146 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.23 m 2.28 m 59.7 cm 119 keV 27.2 keV 5.43 cm 5.43 cm Tracker eIoni + 2 2.22 m 2.29 m 56.2 cm 105 keV 13.8 keV 3.86 cm 9.29 cm Tracker eIoni + 3 2.23 m 2.28 m 53.3 cm 91.2 keV 14.2 keV 3.15 cm 12.4 cm Tracker eIoni + 4 2.25 m 2.28 m 51.8 cm 79.1 keV 12 keV 2.47 cm 14.9 cm Tracker eIoni + 5 2.24 m 2.27 m 50 cm 68.7 keV 10.5 keV 1.97 cm 16.9 cm Tracker eIoni + 6 2.24 m 2.26 m 51.1 cm 60.6 keV 8.05 keV 1.57 cm 18.4 cm Tracker eIoni + 7 2.23 m 2.25 m 51.6 cm 51.4 keV 9.2 keV 1.28 cm 19.7 cm Tracker eIoni + 8 2.23 m 2.26 m 52.2 cm 47 keV 4.44 keV 9.93 mm 20.7 cm Tracker eIoni + 9 2.22 m 2.26 m 52 cm 39.6 keV 7.45 keV 8.7 mm 21.6 cm Tracker eIoni + 10 2.22 m 2.27 m 51.8 cm 34.1 keV 5.46 keV 6.79 mm 22.3 cm Tracker eIoni + 11 2.21 m 2.27 m 51.8 cm 27.2 keV 6.94 keV 5.55 mm 22.8 cm Tracker eIoni + 12 2.21 m 2.27 m 52 cm 23.9 keV 3.29 keV 4.19 mm 23.2 cm Tracker eIoni + 13 2.2 m 2.27 m 52 cm 19.6 keV 4.27 keV 3.62 mm 23.6 cm Tracker eIoni + 14 2.2 m 2.27 m 52.3 cm 14.4 keV 5.18 keV 2.96 mm 23.9 cm Tracker eIoni + 15 2.2 m 2.26 m 52.3 cm 8.74 keV 5.67 keV 2.26 mm 24.1 cm Tracker eIoni + 16 2.2 m 2.26 m 52.3 cm 0 eV 8.74 keV 1.51 mm 24.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 441, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.26 m 2.24 m 62.8 cm 8.07 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.26 m 2.24 m 62.9 cm 1.35 keV 6.72 keV 1.4 mm 1.4 mm Tracker eIoni + 2 2.26 m 2.24 m 62.9 cm 0 eV 1.35 keV 88 mum 1.48 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 440, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.29 m 1.59 m 48.1 cm 31.5 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.29 m 1.6 m 47.7 cm 24 keV 7.51 keV 5.02 mm 5.02 mm Tracker eIoni + 2 1.29 m 1.6 m 47.4 cm 14 keV 10 keV 3.64 mm 8.66 mm Tracker eIoni + 3 1.28 m 1.6 m 47.3 cm 4.92 keV 9.08 keV 2.21 mm 1.09 cm Tracker eIoni + 4 1.28 m 1.6 m 47.3 cm 0 eV 4.92 keV 668 mum 1.15 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 439, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.19 m 1.52 m 46.1 cm 8.43 keV 0 eV 0 fm 0 fm Tracker initStep + 1 1.19 m 1.52 m 46.2 cm 2.87 keV 5.56 keV 1.46 mm 1.46 mm Tracker eIoni + 2 1.19 m 1.52 m 46.2 cm 8.67e-13 eV 2.87 keV 275 mum 1.73 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 438, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 56.6 cm 82.5 cm -20.2 cm 13.7 keV 0 eV 0 fm 0 fm Tracker initStep + 1 56.7 cm 82.3 cm -20.3 cm 7.7 keV 5.97 keV 2.17 mm 2.17 mm Tracker eIoni + 2 56.6 cm 82.2 cm -20.4 cm 2 keV 5.69 keV 1.33 mm 3.5 mm Tracker eIoni + 3 56.6 cm 82.2 cm -20.4 cm 4.34e-13 eV 2 keV 157 mum 3.66 mm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 437, Parent ID = 433 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 37.5 cm 63.1 cm -28.4 cm 41 keV 0 eV 0 fm 0 fm Tracker initStep + 1 38.1 cm 63 cm -28.6 cm 35.7 keV 5.31 keV 7.14 mm 7.14 mm Tracker eIoni + 2 38.5 cm 63 cm -29.1 cm 33 keV 2.7 keV 5.89 mm 1.3 cm Tracker eIoni + 3 39 cm 63.3 cm -28.9 cm 27.8 keV 5.21 keV 5.32 mm 1.84 cm Tracker eIoni + 4 39.1 cm 63.4 cm -28.5 cm 22.9 keV 4.92 keV 4.3 mm 2.27 cm Tracker eIoni + 5 39.4 cm 63.7 cm -28.6 cm 18.3 keV 4.59 keV 3.46 mm 2.61 cm Tracker eIoni + 6 39.6 cm 63.8 cm -28.6 cm 15 keV 3.34 keV 2.78 mm 2.89 cm Tracker eIoni + 7 39.8 cm 63.9 cm -28.6 cm 9.12 keV 5.84 keV 2.34 mm 3.12 cm Tracker eIoni + 8 39.9 cm 64.1 cm -28.5 cm 2.37 keV 6.75 keV 1.57 mm 3.28 cm Tracker eIoni + 9 39.9 cm 64.1 cm -28.5 cm 4.34e-13 eV 2.37 keV 203 mum 3.3 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 241, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.6 mum 25.3 mum -2.42 m 658 keV 0 eV 0 fm 0 fm Target initStep + 1 -212 mum 1.14 mm -2.4 m 658 keV 0 eV 1.62 cm 1.62 cm Target Transportation + 2 -1.09 cm 5.63 cm -1.6 m 658 keV 0 eV 80.2 cm 81.8 cm Tracker Transportation + 3 -1.36 cm 7.01 cm -1.4 m 658 keV 0 eV 20 cm 1.02 m Chamber Transportation + 4 -2.16 cm 11.1 cm -80 cm 658 keV 0 eV 60.1 cm 1.62 m Tracker Transportation + 5 -2.42 cm 12.5 cm -60 cm 658 keV 0 eV 20 cm 1.82 m Chamber Transportation + 6 -3.23 cm 16.7 cm 0 fm 658 keV 0 eV 60.1 cm 2.42 m Tracker Transportation + 7 -3.49 cm 18 cm 20 cm 658 keV 0 eV 20 cm 2.62 m Chamber Transportation + 8 -4.29 cm 22.2 cm 80 cm 658 keV 0 eV 60.1 cm 3.22 m Tracker Transportation + 9 -4.56 cm 23.6 cm 1 m 658 keV 0 eV 20 cm 3.42 m Chamber Transportation + 10 -5.36 cm 27.7 cm 1.6 m 658 keV 0 eV 60.1 cm 4.03 m Tracker Transportation + 11 -5.63 cm 29.1 cm 1.8 m 658 keV 0 eV 20 cm 4.23 m Chamber Transportation + 12 -6.43 cm 33.2 cm 2.4 m 658 keV 0 eV 60.1 cm 4.83 m Tracker Transportation + 13 -7.11 cm 36.7 cm 2.91 m 658 keV 0 eV 51.1 cm 5.34 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 20.4 nm -11.3 nm -2.81 m 9.82 keV 0 eV 0 fm 0 fm World initStep - 1 -932 mum 740 mum -2.81 m 5.26 keV 4.56 keV 1.67 mm 1.67 mm World eIoni - 2 -466 mum 849 mum -2.81 m 0 eV 5.26 keV 749 mum 2.42 mm World eIoni + 0 59.5 nm 46.7 nm -2.7 m 50.5 keV 0 eV 0 fm 0 fm World initStep + 1 -7.32 mm 4.45 mm -2.7 m 41.5 keV 9.02 keV 9.68 mm 9.68 mm World eIoni + 2 -7.47 mm 7.72 mm -2.69 m 36.1 keV 5.47 keV 7.26 mm 1.69 cm World eIoni + 3 -1.26 cm 1.1 cm -2.69 m 31.5 keV 4.53 keV 5.95 mm 2.29 cm World eIoni + 4 -1.54 cm 9.2 mm -2.7 m 26.3 keV 5.26 keV 5.01 mm 2.79 cm World eIoni + 5 -1.26 cm 9.44 mm -2.7 m 21.3 keV 4.97 keV 4.02 mm 3.19 cm World eIoni + 6 -1.34 cm 7.77 mm -2.7 m 12.4 keV 8.85 keV 3.21 mm 3.51 cm World eIoni + 7 -1.34 cm 8.69 mm -2.71 m 5.61 keV 6.83 keV 2.02 mm 3.71 cm World eIoni + 8 -1.32 cm 8.94 mm -2.7 m 8.67e-13 eV 5.61 keV 832 mum 3.8 cm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 2 start. diff --git a/examples/novice/N02/include/ExN02ChamberParameterisation.hh b/examples/novice/N02/include/ExN02ChamberParameterisation.hh index 862e3dc852..8e6f7f5ceb 100644 --- a/examples/novice/N02/include/ExN02ChamberParameterisation.hh +++ b/examples/novice/N02/include/ExN02ChamberParameterisation.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02ChamberParameterisation.hh,v 1.6 2002/01/09 17:24:08 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/novice/N02/include/ExN02DetectorConstruction.hh b/examples/novice/N02/include/ExN02DetectorConstruction.hh index 3a02da2bde..9fd7786f2a 100644 --- a/examples/novice/N02/include/ExN02DetectorConstruction.hh +++ b/examples/novice/N02/include/ExN02DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02DetectorConstruction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02DetectorMessenger.hh b/examples/novice/N02/include/ExN02DetectorMessenger.hh index a90520a1d8..33a2b8e466 100644 --- a/examples/novice/N02/include/ExN02DetectorMessenger.hh +++ b/examples/novice/N02/include/ExN02DetectorMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN02DetectorMessenger.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN02DetectorMessenger.hh,v 1.7 2002/12/16 16:31:43 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,7 +51,8 @@ class ExN02DetectorMessenger: public G4UImessenger private: ExN02DetectorConstruction* myDetector; - G4UIdirectory* mydetDir; + G4UIdirectory* N02Dir; + G4UIdirectory* detDir; G4UIcmdWithAString* TargMatCmd; G4UIcmdWithAString* ChamMatCmd; G4UIcmdWithADoubleAndUnit* FieldCmd; diff --git a/examples/novice/N02/include/ExN02EventAction.hh b/examples/novice/N02/include/ExN02EventAction.hh index 6b7bfa5477..fa415cd6f0 100644 --- a/examples/novice/N02/include/ExN02EventAction.hh +++ b/examples/novice/N02/include/ExN02EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02EventAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02MagneticField.hh b/examples/novice/N02/include/ExN02MagneticField.hh index 567ef5d7f8..ac7ddb0b1b 100644 --- a/examples/novice/N02/include/ExN02MagneticField.hh +++ b/examples/novice/N02/include/ExN02MagneticField.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02MagneticField.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/novice/N02/include/ExN02PhysicsList.hh b/examples/novice/N02/include/ExN02PhysicsList.hh index b3522a7ccc..2c28969ec1 100644 --- a/examples/novice/N02/include/ExN02PhysicsList.hh +++ b/examples/novice/N02/include/ExN02PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02PhysicsList.hh,v 1.10 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh index 67f10bc4a8..bad6a26485 100644 --- a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh +++ b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02RunAction.hh b/examples/novice/N02/include/ExN02RunAction.hh index 9edad4344a..53360080b8 100644 --- a/examples/novice/N02/include/ExN02RunAction.hh +++ b/examples/novice/N02/include/ExN02RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02RunAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02SteppingAction.hh b/examples/novice/N02/include/ExN02SteppingAction.hh index 873b15f81b..a61a6eaa4c 100644 --- a/examples/novice/N02/include/ExN02SteppingAction.hh +++ b/examples/novice/N02/include/ExN02SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02SteppingVerbose.hh b/examples/novice/N02/include/ExN02SteppingVerbose.hh index 91b242669b..1584eabd71 100644 --- a/examples/novice/N02/include/ExN02SteppingVerbose.hh +++ b/examples/novice/N02/include/ExN02SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingVerbose.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/novice/N02/include/ExN02TrackerHit.hh b/examples/novice/N02/include/ExN02TrackerHit.hh index 96464a186d..af4b4b0725 100644 --- a/examples/novice/N02/include/ExN02TrackerHit.hh +++ b/examples/novice/N02/include/ExN02TrackerHit.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerHit.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02TrackerSD.hh b/examples/novice/N02/include/ExN02TrackerSD.hh index 33f7af7b88..16f2770b11 100644 --- a/examples/novice/N02/include/ExN02TrackerSD.hh +++ b/examples/novice/N02/include/ExN02TrackerSD.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerSD.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02VisManager.hh b/examples/novice/N02/include/ExN02VisManager.hh index 94f8a9ed04..8f5027478a 100644 --- a/examples/novice/N02/include/ExN02VisManager.hh +++ b/examples/novice/N02/include/ExN02VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN02VisManager.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N02/run2.mac b/examples/novice/N02/run2.mac index bc927df407..1b3df13572 100644 --- a/examples/novice/N02/run2.mac +++ b/examples/novice/N02/run2.mac @@ -1,4 +1,4 @@ -# $Id: run2.mac,v 1.1 2000/12/04 16:24:04 maire Exp $ +# $Id: run2.mac,v 1.2 2002/12/16 16:31:42 maire Exp $ # # Macro file for "exampleN02.cc" # @@ -17,7 +17,7 @@ # set a magnetic field # 1 events; print the hits # -/mydet/setField 2 tesla +/N02/det/setField 2 tesla /tracking/verbose 0 /hits/verbose 1 /run/beamOn 1 diff --git a/examples/novice/N02/src/ExN02ChamberParameterisation.cc b/examples/novice/N02/src/ExN02ChamberParameterisation.cc index f37e3cc561..db687c7048 100644 --- a/examples/novice/N02/src/ExN02ChamberParameterisation.cc +++ b/examples/novice/N02/src/ExN02ChamberParameterisation.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02ChamberParameterisation.cc,v 1.7 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02DetectorConstruction.cc b/examples/novice/N02/src/ExN02DetectorConstruction.cc index e18613c00c..8a56c8bb1c 100644 --- a/examples/novice/N02/src/ExN02DetectorConstruction.cc +++ b/examples/novice/N02/src/ExN02DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN02DetectorConstruction.cc,v 1.11 2002/01/09 17:24:09 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN02DetectorConstruction.cc,v 1.12 2003/03/25 16:23:24 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -140,8 +140,8 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() // physiWorld = new G4PVPlacement(0, // no rotation G4ThreeVector(), // at (0,0,0) - "World", // its name logicWorld, // its logical volume + "World", // its name 0, // its mother volume false, // no boolean operations 0); // no field specific to volume @@ -156,9 +156,9 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() logicTarget = new G4LogicalVolume(solidTarget,TargetMater,"Target",0,0,0); physiTarget = new G4PVPlacement(0, // no rotation positionTarget, // at (x,y,z) + logicTarget, // its logical volume "Target", // its name - logicTarget, // its logical volume - physiWorld, // its mother volume + logicWorld, // its mother volume false, // no boolean operations 0); // no particular field @@ -175,9 +175,9 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() logicTracker = new G4LogicalVolume(solidTracker , Air, "Tracker",0,0,0); physiTracker = new G4PVPlacement(0, // no rotation positionTracker, // at (x,y,z) + logicTracker, // its logical volume "Tracker", // its name - logicTracker, // its logical volume - physiWorld, // its mother volume + logicWorld, // its mother volume false, // no boolean operations 0); // no particular field @@ -208,7 +208,7 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() physiChamber = new G4PVParameterised( "Chamber", // their name logicChamber, // their logical volume - physiTracker, // Mother physical volume + logicTracker, // Mother logical volume kZAxis, // Are placed along this axis NbOfChambers, // Number of chambers chamberParam); // The parametrisation diff --git a/examples/novice/N02/src/ExN02DetectorMessenger.cc b/examples/novice/N02/src/ExN02DetectorMessenger.cc index cad951212e..a78a096d6b 100644 --- a/examples/novice/N02/src/ExN02DetectorMessenger.cc +++ b/examples/novice/N02/src/ExN02DetectorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN02DetectorMessenger.cc,v 1.8 2002/12/05 01:07:01 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN02DetectorMessenger.cc,v 1.9 2002/12/16 16:31:43 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -40,21 +40,23 @@ ExN02DetectorMessenger::ExN02DetectorMessenger(ExN02DetectorConstruction* myDet) :myDetector(myDet) { - - mydetDir = new G4UIdirectory("/mydet/"); - mydetDir->SetGuidance("ExN02 detector control."); + N02Dir = new G4UIdirectory("/N02/"); + N02Dir->SetGuidance("UI commands specific to this example."); - TargMatCmd = new G4UIcmdWithAString("/mydet/setTargetMate",this); + detDir = new G4UIdirectory("/N02/det/"); + detDir->SetGuidance("detector control."); + + TargMatCmd = new G4UIcmdWithAString("/N02/det/setTargetMate",this); TargMatCmd->SetGuidance("Select Material of the Target."); TargMatCmd->SetParameterName("choice",false); TargMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - ChamMatCmd = new G4UIcmdWithAString("/mydet/setChamberMate",this); + ChamMatCmd = new G4UIcmdWithAString("/N02/det/setChamberMate",this); ChamMatCmd->SetGuidance("Select Material of the Target."); ChamMatCmd->SetParameterName("choice",false); ChamMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - FieldCmd = new G4UIcmdWithADoubleAndUnit("/mydet/setField",this); + FieldCmd = new G4UIcmdWithADoubleAndUnit("/N02/det/setField",this); FieldCmd->SetGuidance("Define magnetic field."); FieldCmd->SetGuidance("Magnetic field will be in X direction."); FieldCmd->SetParameterName("Bx",false); @@ -70,7 +72,8 @@ ExN02DetectorMessenger::~ExN02DetectorMessenger() delete TargMatCmd; delete ChamMatCmd; delete FieldCmd; - delete mydetDir; + delete detDir; + delete N02Dir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02EventAction.cc b/examples/novice/N02/src/ExN02EventAction.cc index b320d85098..de7289408d 100644 --- a/examples/novice/N02/src/ExN02EventAction.cc +++ b/examples/novice/N02/src/ExN02EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02EventAction.cc,v 1.8 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02MagneticField.cc b/examples/novice/N02/src/ExN02MagneticField.cc index 61293254b9..65ef508952 100644 --- a/examples/novice/N02/src/ExN02MagneticField.cc +++ b/examples/novice/N02/src/ExN02MagneticField.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02MagneticField.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // User Field class implementation. // diff --git a/examples/novice/N02/src/ExN02PhysicsList.cc b/examples/novice/N02/src/ExN02PhysicsList.cc index d0d2776560..31c277652e 100644 --- a/examples/novice/N02/src/ExN02PhysicsList.cc +++ b/examples/novice/N02/src/ExN02PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN02PhysicsList.cc,v 1.13 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN02PhysicsList.cc,v 1.14 2003/03/25 16:23:24 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -171,105 +171,39 @@ void ExN02PhysicsList::ConstructEM() G4String particleName = particle->GetParticleName(); if (particleName == "gamma") { - // gamma - pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + } else if (particleName == "e-") { - //electron - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); - G4VProcess* theeminusIonisation = new G4eIonisation(); - G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); - // - // add processes - pmanager->AddProcess(theeminusMultipleScattering); - pmanager->AddProcess(theeminusIonisation); - pmanager->AddProcess(theeminusBremsstrahlung); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3); + //electron + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); } else if (particleName == "e+") { - //positron - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); - G4VProcess* theeplusIonisation = new G4eIonisation(); - G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); - G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); - // - // add processes - pmanager->AddProcess(theeplusMultipleScattering); - pmanager->AddProcess(theeplusIonisation); - pmanager->AddProcess(theeplusBremsstrahlung); - pmanager->AddProcess(theeplusAnnihilation); - // - // set ordering for AtRestDoIt - pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep,3); - pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep,4); - + //positron + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + } else if( particleName == "mu+" || particleName == "mu-" ) { - //muon - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); - G4VProcess* aPairProduction = new G4MuPairProduction(); - G4VProcess* anIonisation = new G4MuIonisation(); - // - // add processes - pmanager->AddProcess(anIonisation); - pmanager->AddProcess(aMultipleScattering); - pmanager->AddProcess(aBremsstrahlung); - pmanager->AddProcess(aPairProduction); - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); - pmanager->SetProcessOrdering(aBremsstrahlung, idxPostStep,3); - pmanager->SetProcessOrdering(aPairProduction, idxPostStep,4); - + //muon + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4MuIonisation, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3); + pmanager->AddProcess(new G4MuPairProduction, -1,-1,4); + } else if ((!particle->IsShortLived()) && (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { - // all others charged particles except geantino - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* anIonisation = new G4hIonisation(); - ////G4VProcess* theUserCuts = new G4UserSpecialCuts(); - - // - // add processes - pmanager->AddProcess(anIonisation); - pmanager->AddProcess(aMultipleScattering); - ////pmanager->AddProcess(theUserCuts); - - // - // set ordering for AlongStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); - pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); - - // - // set ordering for PostStepDoIt - pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); - pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); - ////pmanager->SetProcessOrdering(theUserCuts, idxPostStep,3); + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4hIonisation, -1, 2,2); + ///pmanager->AddProcess(new G4hUserSpecialCuts, -1,-1,3); } } } diff --git a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc index 411548cc37..21579ec752 100644 --- a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc +++ b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.cc,v 1.6 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02RunAction.cc b/examples/novice/N02/src/ExN02RunAction.cc index edc2579e50..0303dbb3f9 100644 --- a/examples/novice/N02/src/ExN02RunAction.cc +++ b/examples/novice/N02/src/ExN02RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02RunAction.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02SteppingAction.cc b/examples/novice/N02/src/ExN02SteppingAction.cc index 1d7b50296f..a26837e267 100644 --- a/examples/novice/N02/src/ExN02SteppingAction.cc +++ b/examples/novice/N02/src/ExN02SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02SteppingAction.cc,v 1.8 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02SteppingVerbose.cc b/examples/novice/N02/src/ExN02SteppingVerbose.cc index 2c65650096..2a140e74e4 100644 --- a/examples/novice/N02/src/ExN02SteppingVerbose.cc +++ b/examples/novice/N02/src/ExN02SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN02SteppingVerbose.cc,v 1.9 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN02SteppingVerbose.cc,v 1.10 2003/02/10 18:39:03 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void ExN02SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/novice/N02/src/ExN02TrackerHit.cc b/examples/novice/N02/src/ExN02TrackerHit.cc index 133354d6bf..079db84066 100644 --- a/examples/novice/N02/src/ExN02TrackerHit.cc +++ b/examples/novice/N02/src/ExN02TrackerHit.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerHit.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02TrackerSD.cc b/examples/novice/N02/src/ExN02TrackerSD.cc index 5c450157b9..e97dbe6ea3 100644 --- a/examples/novice/N02/src/ExN02TrackerSD.cc +++ b/examples/novice/N02/src/ExN02TrackerSD.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02TrackerSD.cc,v 1.6 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02VisManager.cc b/examples/novice/N02/src/ExN02VisManager.cc index e2f6397515..faf7ef949e 100755 --- a/examples/novice/N02/src/ExN02VisManager.cc +++ b/examples/novice/N02/src/ExN02VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN02VisManager.cc,v 1.9 2002/11/13 19:14:31 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/novice/N03/History b/examples/novice/N03/History index 8a2411b6df..f8d8cddcc7 100644 --- a/examples/novice/N03/History +++ b/examples/novice/N03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.50 2002/06/25 10:19:41 ribon Exp $ +$Id: History,v 1.58 2003/03/25 17:13:07 maire Exp $ -------------------------------------------------- ========================================================= @@ -14,6 +14,29 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +25-03-03 mma (exampleN03-V05-00-05) +- Use G4PVPlacement and G4PVReplica constructors in logical mother. + +20-02-03 V.Ivant (exampleN03-V05-00-04) +- Migrade to cut per region + +11-02-03 mma (exampleN03-V05-00-03) +- DetectorConstruction : change names of volumes + +30-01-03 mma (exampleN03-V05-00-02) +- save random number seed. In README explain the rndm handling. + commit rndmSeed.mac to show how to save and reset rndm seed + +18-12-02 mma (exampleN03-V05-00-01) +- code for smooth trajectory put in DetectorContruction::SetMagField() + and TrackingAction::PreUserTrackingAction() + +16-12-02 mma (exampleN03-V05-00-00) +- UI directory /N03/ + +19-11-02 jacek +- introducing smooth trajectory display 25-06-02 ribon (exampleN03-V04-00-02) - fixed paths to macros in visTutor/gui.mac. diff --git a/examples/novice/N03/README b/examples/novice/N03/README index 9cf0b0f02e..7bf7261439 100644 --- a/examples/novice/N03/README +++ b/examples/novice/N03/README @@ -1,4 +1,4 @@ -$Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $ +$Id: README,v 1.10 2003/01/30 14:14:17 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -117,7 +117,34 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $ As a homework try to visualize a gamma conversion alone, or the effect of the multiple scattering. - 6- USER INTERFACES + 6- RANDOM NUMBERS HANDLING + + CLHEP provides several random number engines. In this example the Ranecu + engine is choosen at beginning of the main (exampleN03.cc). + + By default, G4RunManager does not save the rndm seed. + To do so the user must set in BeginOfRunAction: + G4RunManager::GetRunManager()->SetRandomNumberStore(true); + + Then the rndm seed is systematically saved at beginning of run + (currentRun.rndm) and beginning of event (currentEvent.rndm) + Therefore, in case of abnormal end, the seed of the last event processed + is available in currentEvent.rndm + + Even in case of normal run processing, the user may wish to preserve the + rndm seed of selected events. At any time in the event, put the + following statement: + if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); + currentEvent.rndm will be copied to runXXevntYY.rndm + (see ExN03SteppingAction::UserSteppingAction() ) + + To restart a run from a given rndm seed, use the UI command : + /random/resetEngineFrom fileName + + The macro rndmSeed.mac shows how to save and reset the random number + seed between runs, with UI commands. + + 7- USER INTERFACES The default command interface, called G4UIterminal, is done via standart cin/G4cout. @@ -129,7 +156,7 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $ 2- exampleN03.cc has been compiled with G4UI_USE_XM. - 7- HOW TO START ? + 8- HOW TO START ? - compile and link to generate an executable % cd N03 diff --git a/examples/novice/N03/exampleN03.cc b/examples/novice/N03/exampleN03.cc index 2317c473b8..09dd545f3d 100644 --- a/examples/novice/N03/exampleN03.cc +++ b/examples/novice/N03/exampleN03.cc @@ -21,17 +21,12 @@ // ******************************************************************** // // -// $Id: exampleN03.cc,v 1.16 2002/01/09 17:24:10 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: exampleN03.cc,v 1.18 2002/12/18 15:17:55 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - exampleN03 -// -// -------------------------------------------------------------- -// Comments -// -// -------------------------------------------------------------- + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" @@ -54,8 +49,11 @@ #include "ExN03RunAction.hh" #include "ExN03EventAction.hh" #include "ExN03SteppingAction.hh" +#include "ExN03TrackingAction.hh" #include "ExN03SteppingVerbose.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + int main(int argc,char** argv) { // choose the Random engine @@ -98,6 +96,7 @@ int main(int argc,char** argv) { runManager->SetUserAction(new ExN03PrimaryGeneratorAction(detector)); runManager->SetUserAction(new ExN03RunAction); runManager->SetUserAction(new ExN03EventAction); + runManager->SetUserAction(new ExN03TrackingAction); runManager->SetUserAction(new ExN03SteppingAction); //Initialize G4 kernel @@ -133,3 +132,4 @@ int main(int argc,char** argv) { return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/exampleN03.in b/examples/novice/N03/exampleN03.in index c661f44b10..18f95252ca 100644 --- a/examples/novice/N03/exampleN03.in +++ b/examples/novice/N03/exampleN03.in @@ -15,13 +15,13 @@ /process/activate msc # # change detector parameter -/calor/setAbsMat Aluminium -/calor/setGapMat Aerogel -/calor/setAbsThick 2. cm -/calor/setGapThick 5. cm -/calor/setNbOfLayers 30 -/calor/setSizeYZ 1.5 m -/calor/update +/N03/det/setAbsMat Aluminium +/N03/det/setGapMat Aerogel +/N03/det/setAbsThick 2. cm +/N03/det/setGapThick 5. cm +/N03/det/setNbOfLayers 30 +/N03/det/setSizeYZ 1.5 m +/N03/det/update /gun/particle gamma /gun/energy 500 MeV /run/beamOn 1 diff --git a/examples/novice/N03/exampleN03.large_N.in b/examples/novice/N03/exampleN03.large_N.in index b0f759b2fb..3603352ddd 100644 --- a/examples/novice/N03/exampleN03.large_N.in +++ b/examples/novice/N03/exampleN03.large_N.in @@ -15,16 +15,16 @@ /process/activate msc # # change detector parameter -/calor/setAbsMat Aluminium -/calor/setGapMat Aerogel -/calor/setAbsThick 2. cm -/calor/setGapThick 5. cm -/calor/setNbOfLayers 30 -/calor/setSizeYZ 1.5 m -/calor/update +/N03/det/setAbsMat Aluminium +/N03/det/setGapMat Aerogel +/N03/det/setAbsThick 2. cm +/N03/det/setGapThick 5. cm +/N03/det/setNbOfLayers 30 +/N03/det/setSizeYZ 1.5 m +/N03/det/update # /gun/particle gamma /gun/energy 500 MeV -/event/printModulo 500 +/N03/event/printModulo 500 /run/beamOn 5000 exit diff --git a/examples/novice/N03/exampleN03.out b/examples/novice/N03/exampleN03.out index 4fdfac00fb..c959fe4a1f 100644 --- a/examples/novice/N03/exampleN03.out +++ b/examples/novice/N03/exampleN03.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** Visualization Manager instantiating... @@ -18,7 +18,7 @@ Current available graphics systems are: VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) -***** Table : Nb of materials = 12 ***** +***** Table : Nb of materials = 13 ***** Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm ---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % @@ -37,6 +37,11 @@ Current available graphics systems are: ---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 91.45 % Abundance 47.37 % ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 8.55 % Abundance 52.63 % + Material: Mylar density: 1.397 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.599 cm + ---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 62.49 % Abundance 45.45 % + ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 4.20 % Abundance 36.36 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 33.30 % Abundance 18.18 % + Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm ---> Element: Silicon Si Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 46.75 % Abundance 33.33 % ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 53.25 % Abundance 66.67 % @@ -90,7 +95,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -106,6 +112,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -129,35 +136,32 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -============= The cut Energy ============================== - gamma e- -Cut in range - Aluminium 1 mm 1 mm - liquidArgon 1 mm 1 mm - Lead 1 mm 1 mm - Water 1 mm 1 mm - Scintillator 1 mm 1 mm - quartz 1 mm 1 mm - Air 1 mm 1 mm - Aerogel 1 mm 1 mm - CarbonicGas 1 mm 1 mm - WaterSteam 1 mm 1 mm - Galactic 1 mm 1 mm - Beam 1 mm 1 mm -Cut in energy - Aluminium 6.89 keV 597 keV - liquidArgon 6.18 keV 343 keV - Lead 101 keV 1.38 MeV - Water 2.9 keV 347 keV - Scintillator 2.37 keV 356 keV - quartz 5.52 keV 534 keV - Air 990 eV 990 eV - Aerogel 1.71 keV 119 keV - CarbonicGas 990 eV 36.5 keV - WaterSteam 990 eV 990 eV - Galactic 990 eV 990 eV - Beam 990 eV 990 eV -=================================================== + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + ### Run 0 start. ---> Begin of event: 0 @@ -167,8 +171,8 @@ Cut in energy Current couple of seeds = 9876, 54321 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 271.238 MeV total track length: 18.8504 cm - Gap: total energy: 8.40916 MeV total track length: 4.16209 cm + Absorber: total energy: 280.969 MeV total track length: 19.1263 cm + Gap: total energy: 15.6581 MeV total track length: 7.72188 cm 9 hits are stored in ExN03CalorHitsCollection. Transportation, hIoni, msc, eIoni @@ -181,13 +185,13 @@ Cut in energy --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 594012148, 523050693 + Current couple of seeds = 1882600825, 646183068 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 266.99 MeV total track length: 18.6743 cm - Gap: total energy: 20.1124 MeV total track length: 9.65901 cm + Absorber: total energy: 279.503 MeV total track length: 19.5074 cm + Gap: total energy: 18.0413 MeV total track length: 8.92458 cm - 10 hits are stored in ExN03CalorHitsCollection. + 9 hits are stored in ExN03CalorHitsCollection. ------------------------------------------------------------ ---> The calorimeter is 10 layers of: [ 10mm of Aluminium + 5mm of liquidArgon ] @@ -200,18 +204,75 @@ Cut in energy ------------------------------------------------------------ ---> The calorimeter is 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ] ------------------------------------------------------------ + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuBrems: theoretical cross section + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +MuPairProd: theoretical cross sections + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. ### Run 2 start. ---> Begin of event: 0 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 696574897, 750246800 + Current couple of seeds = 802021539, 124830767 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 408.79 MeV total track length: 96.801 cm - Gap: total energy: 68.9387 MeV total track length: 1.95423 m + Absorber: total energy: 373.452 MeV total track length: 90.026 cm + Gap: total energy: 77.4747 MeV total track length: 2.1498 m - 21 hits are stored in ExN03CalorHitsCollection. + 28 hits are stored in ExN03CalorHitsCollection. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N03/exo1.mac b/examples/novice/N03/exo1.mac index a117627f26..5c086f9dbb 100644 --- a/examples/novice/N03/exo1.mac +++ b/examples/novice/N03/exo1.mac @@ -1,4 +1,4 @@ -# $Id: exo1.mac,v 1.1 2002/02/14 14:35:01 maire Exp $ +# $Id: exo1.mac,v 1.2 2002/12/16 16:37:25 maire Exp $ # # Macro file for "exampleN03.cc" # @@ -8,17 +8,17 @@ # Idle> /control/execute exo1.mac # # -/calor/setNbOfLayers 1 +/N03/det/setNbOfLayers 1 # -/calor/setAbsMat Aluminium -/calor/setAbsThick 10 cm +/N03/det/setAbsMat Aluminium +/N03/det/setAbsThick 10 cm # -/calor/setGapMat Air -/calor/setGapThick 0 cm +/N03/det/setGapMat Air +/N03/det/setGapThick 0 cm # -/calor/setSizeYZ 10 cm +/N03/det/setSizeYZ 10 cm # -/calor/update +/N03/det/update # /vis/viewer/zoom 1.3 # diff --git a/examples/novice/N03/exo2.mac b/examples/novice/N03/exo2.mac index 68e6b2a49e..0053816866 100644 --- a/examples/novice/N03/exo2.mac +++ b/examples/novice/N03/exo2.mac @@ -1,4 +1,4 @@ -# $Id: exo2.mac,v 1.1 2002/02/14 14:35:01 maire Exp $ +# $Id: exo2.mac,v 1.2 2002/12/16 16:37:25 maire Exp $ # # Macro file for "exampleN03.cc" # @@ -8,17 +8,17 @@ # Idle> /control/execute exo2.mac # # -/calor/setNbOfLayers 1 +/N03/det/setNbOfLayers 1 # -/calor/setAbsMat Aluminium -/calor/setAbsThick 10 cm +/N03/det/setAbsMat Aluminium +/N03/det/setAbsThick 10 cm # -/calor/setGapMat Air -/calor/setGapThick 0 cm +/N03/det/setGapMat Air +/N03/det/setGapThick 0 cm # -/calor/setSizeYZ 10 cm +/N03/det/setSizeYZ 10 cm # -/calor/update +/N03/det/update # /vis/viewer/zoom 1.3 # diff --git a/examples/novice/N03/include/ExN03CalorHit.hh b/examples/novice/N03/include/ExN03CalorHit.hh index d6babaf866..8769df05a5 100644 --- a/examples/novice/N03/include/ExN03CalorHit.hh +++ b/examples/novice/N03/include/ExN03CalorHit.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorHit.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03CalorimeterSD.hh b/examples/novice/N03/include/ExN03CalorimeterSD.hh index a73ac53d7b..c411501131 100644 --- a/examples/novice/N03/include/ExN03CalorimeterSD.hh +++ b/examples/novice/N03/include/ExN03CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorimeterSD.hh,v 1.4 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03DetectorConstruction.hh b/examples/novice/N03/include/ExN03DetectorConstruction.hh index 326e5b244c..14d477953f 100644 --- a/examples/novice/N03/include/ExN03DetectorConstruction.hh +++ b/examples/novice/N03/include/ExN03DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03DetectorConstruction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03DetectorMessenger.hh b/examples/novice/N03/include/ExN03DetectorMessenger.hh index 75c1fd2dc4..586e51e224 100644 --- a/examples/novice/N03/include/ExN03DetectorMessenger.hh +++ b/examples/novice/N03/include/ExN03DetectorMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03DetectorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -55,7 +55,8 @@ class ExN03DetectorMessenger: public G4UImessenger private: ExN03DetectorConstruction* ExN03Detector; - G4UIdirectory* ExN03detDir; + G4UIdirectory* N03Dir; + G4UIdirectory* detDir; G4UIcmdWithAString* AbsMaterCmd; G4UIcmdWithAString* GapMaterCmd; G4UIcmdWithADoubleAndUnit* AbsThickCmd; diff --git a/examples/novice/N03/include/ExN03EventAction.hh b/examples/novice/N03/include/ExN03EventAction.hh index 0461684492..206d8c147c 100644 --- a/examples/novice/N03/include/ExN03EventAction.hh +++ b/examples/novice/N03/include/ExN03EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03EventAction.hh,v 1.7 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03EventActionMessenger.hh b/examples/novice/N03/include/ExN03EventActionMessenger.hh index e243ab8558..d449e21cd2 100644 --- a/examples/novice/N03/include/ExN03EventActionMessenger.hh +++ b/examples/novice/N03/include/ExN03EventActionMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03EventActionMessenger.hh,v 1.6 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03EventActionMessenger.hh,v 1.7 2002/12/16 16:37:26 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -36,6 +36,7 @@ #include "G4UImessenger.hh" class ExN03EventAction; +class G4UIdirectory; class G4UIcmdWithAString; class G4UIcmdWithAnInteger; @@ -50,8 +51,9 @@ class ExN03EventActionMessenger: public G4UImessenger void SetNewValue(G4UIcommand*, G4String); private: - ExN03EventAction* eventAction; - G4UIcmdWithAString* DrawCmd; + ExN03EventAction* eventAction; + G4UIdirectory* eventDir; + G4UIcmdWithAString* DrawCmd; G4UIcmdWithAnInteger* PrintCmd; }; diff --git a/examples/novice/N03/include/ExN03PhysicsList.hh b/examples/novice/N03/include/ExN03PhysicsList.hh index 360ae7d242..290ded5215 100644 --- a/examples/novice/N03/include/ExN03PhysicsList.hh +++ b/examples/novice/N03/include/ExN03PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03PhysicsList.hh,v 1.10 2002/03/08 10:48:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh index 17057c286c..887b3126e6 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh index caca6e8a3f..7df83867cf 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -36,6 +36,7 @@ #include "globals.hh" class ExN03PrimaryGeneratorAction; +class G4UIdirectory; class G4UIcmdWithAString; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -49,7 +50,8 @@ class ExN03PrimaryGeneratorMessenger: public G4UImessenger void SetNewValue(G4UIcommand*, G4String); private: - ExN03PrimaryGeneratorAction* ExN03Action; + ExN03PrimaryGeneratorAction* ExN03Action; + G4UIdirectory* gunDir; G4UIcmdWithAString* RndmCmd; }; diff --git a/examples/novice/N03/include/ExN03RunAction.hh b/examples/novice/N03/include/ExN03RunAction.hh index 9efdf31f0e..16214a534f 100644 --- a/examples/novice/N03/include/ExN03RunAction.hh +++ b/examples/novice/N03/include/ExN03RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03RunAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03SteppingAction.hh b/examples/novice/N03/include/ExN03SteppingAction.hh index ad63054c97..0c13ea5f0b 100644 --- a/examples/novice/N03/include/ExN03SteppingAction.hh +++ b/examples/novice/N03/include/ExN03SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/include/ExN03SteppingVerbose.hh b/examples/novice/N03/include/ExN03SteppingVerbose.hh index d5e66c2119..5f4f5143f3 100644 --- a/examples/novice/N03/include/ExN03SteppingVerbose.hh +++ b/examples/novice/N03/include/ExN03SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03SteppingVerbose.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/include/ExN03TrackingAction.hh b/examples/novice/N03/include/ExN03TrackingAction.hh new file mode 100644 index 0000000000..206d515fa4 --- /dev/null +++ b/examples/novice/N03/include/ExN03TrackingAction.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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: ExN03TrackingAction.hh,v 1.2 2002/12/18 15:17:56 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03TrackingAction_h +#define ExN03TrackingAction_h + +#include "G4UserTrackingAction.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4Track; + +class ExN03TrackingAction : public G4UserTrackingAction +{ + public: + ExN03TrackingAction() {;} + ~ExN03TrackingAction() {;} + + void PreUserTrackingAction (const G4Track* aTrack); + void PostUserTrackingAction(const G4Track* aTrack) {;} +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/novice/N03/include/ExN03VisManager.hh b/examples/novice/N03/include/ExN03VisManager.hh index 32b2c62cd1..84617d015f 100644 --- a/examples/novice/N03/include/ExN03VisManager.hh +++ b/examples/novice/N03/include/ExN03VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN03VisManager.hh,v 1.6 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/newgeom.mac b/examples/novice/N03/newgeom.mac index 5964c6fb23..7c9b88aa6d 100644 --- a/examples/novice/N03/newgeom.mac +++ b/examples/novice/N03/newgeom.mac @@ -7,18 +7,18 @@ # Idle> /control/execute newgeom.mac # # -/calor/setNbOfLayers 1 +/N03/det/setNbOfLayers 1 # -/calor/setAbsMat Water -/calor/setAbsThick 40 cm +/N03/det/setAbsMat Water +/N03/det/setAbsThick 40 cm # -/calor/setGapMat Air -/calor/setGapThick 0 cm +/N03/det/setGapMat Air +/N03/det/setGapThick 0 cm # -/calor/setSizeYZ 40 cm +/N03/det/setSizeYZ 40 cm # -/calor/update +/N03/det/update # -/calor/setField 3 tesla +/N03/det/setField 3 tesla # /vis/viewer/zoom 1.3 diff --git a/examples/novice/N03/rndmSeed.mac b/examples/novice/N03/rndmSeed.mac new file mode 100644 index 0000000000..163a6791c0 --- /dev/null +++ b/examples/novice/N03/rndmSeed.mac @@ -0,0 +1,34 @@ +# $Id: rndmSeed.mac,v 1.1 2003/01/27 17:55:47 maire Exp $ +# +# This macro illustrates how to save and reset the random number seed +# +# inform the RunManager to systematically save the seed +# +/random/setSavingFlag 1 +# +# run 0 +# +/run/beamOn 7 +#look at what is saved +/control/shell ls +# +# run 1 +# +/run/beamOn +#save the seed of this current run +/random/saveThisRun +/control/shell ls +# +# run 2 +# +/run/beamOn 4 +# +# restart run 2 +# +/random/resetEngineFrom currentRun.rndm +/run/beamOn 4 +# +# restart run 1 +# +/random/resetEngineFrom run1.rndm +/run/beamOn diff --git a/examples/novice/N03/run2.mac b/examples/novice/N03/run2.mac index 362a54e544..631cc6152e 100644 --- a/examples/novice/N03/run2.mac +++ b/examples/novice/N03/run2.mac @@ -1,4 +1,4 @@ -# $Id: run2.mac,v 1.5 2000/11/21 10:59:43 maire Exp $ +# $Id: run2.mac,v 1.6 2002/12/16 16:37:25 maire Exp $ # # Macro file of "exampleN03.cc" # @@ -14,8 +14,8 @@ # # shoot randomly 20 events # -/event/printModulo 5 -/gun/random on +/N03/event/printModulo 5 +/N03/gun/rndm on /run/beamOn 20 # # activate/inactivate physic processes diff --git a/examples/novice/N03/src/ExN03CalorHit.cc b/examples/novice/N03/src/ExN03CalorHit.cc index 3b36acb68c..9a26ffae43 100644 --- a/examples/novice/N03/src/ExN03CalorHit.cc +++ b/examples/novice/N03/src/ExN03CalorHit.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorHit.cc,v 1.5 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/src/ExN03CalorimeterSD.cc b/examples/novice/N03/src/ExN03CalorimeterSD.cc index 6ce4c4f66c..b49df7b4f1 100644 --- a/examples/novice/N03/src/ExN03CalorimeterSD.cc +++ b/examples/novice/N03/src/ExN03CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03CalorimeterSD.cc,v 1.6 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/src/ExN03DetectorConstruction.cc b/examples/novice/N03/src/ExN03DetectorConstruction.cc index e6a032f2f4..07b7772a8d 100644 --- a/examples/novice/N03/src/ExN03DetectorConstruction.cc +++ b/examples/novice/N03/src/ExN03DetectorConstruction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03DetectorConstruction.cc,v 1.11 2002/01/09 17:24:12 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03DetectorConstruction.cc,v 1.15 2003/03/25 17:13:08 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -39,9 +39,11 @@ #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4UniformMagField.hh" #include "G4FieldManager.hh" +#include "G4UniformMagField.hh" #include "G4TransportationManager.hh" +#include "G4IdentityTrajectoryFilter.hh" +#include "G4PropagatorInField.hh" #include "G4SDManager.hh" #include "G4RunManager.hh" @@ -158,6 +160,12 @@ G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); Sci->AddElement(C, natoms=9); Sci->AddElement(H, natoms=10); +density = 1.397*g/cm3; +G4Material* Myl = new G4Material(name="Mylar", density, ncomponents=3); +Myl->AddElement(C, natoms=10); +Myl->AddElement(H, natoms= 8); +Myl->AddElement(O, natoms= 4); + density = 2.200*g/cm3; G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2); SiO2->AddElement(Si, natoms=1); @@ -245,8 +253,8 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() physiWorld = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume "World", //its name - logicWorld, //its logical volume 0, //its mother volume false, //no boolean operation 0); //copy number @@ -267,9 +275,9 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() physiCalor = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicCalor, //its logical volume "Calorimeter", //its name - logicCalor, //its logical volume - physiWorld, //its mother volume + logicWorld, //its mother volume false, //no boolean operation 0); //copy number @@ -285,16 +293,16 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() if (NbOfLayers > 1) physiLayer = new G4PVReplica("Layer", //its name logicLayer, //its logical volume - physiCalor, //its mother + logicCalor, //its mother kXAxis, //axis of replication NbOfLayers, //number of replica LayerThickness); //witdth of replica else physiLayer = new G4PVPlacement(0, //no rotation G4ThreeVector(), //at (0,0,0) + logicLayer, //its logical volume "Layer", //its name - logicLayer, //its logical volume - physiCalor, //its mother volume + logicCalor, //its mother volume false, //no boolean operation 0); //copy number } @@ -310,13 +318,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid AbsorberMaterial, //its material - "Absorber"); //its name + AbsorberMaterial->GetName()); //name physiAbsorber = new G4PVPlacement(0, //no rotation G4ThreeVector(-GapThickness/2,0.,0.), //its position - "Absorber", //its name - logicAbsorber, //its logical volume - physiLayer, //its mother + logicAbsorber, //its logical volume + AbsorberMaterial->GetName(), //its name + logicLayer, //its mother false, //no boulean operat 0); //copy number @@ -333,13 +341,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() logicGap = new G4LogicalVolume(solidGap, GapMaterial, - "Gap"); + GapMaterial->GetName()); physiGap = new G4PVPlacement(0, //no rotation G4ThreeVector(AbsorberThickness/2,0.,0.), //its position - "Gap", //its name - logicGap, //its logical volume - physiLayer, //its mother + logicGap, //its logical volume + GapMaterial->GetName(), //its name + logicLayer, //its mother false, //no boulean operat 0); //copy number } @@ -457,6 +465,8 @@ void ExN03DetectorConstruction::SetMagField(G4double fieldValue) { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); fieldMgr->SetDetectorField(magField); fieldMgr->CreateChordFinder(magField); + G4TransportationManager::GetTransportationManager()->GetPropagatorInField() + ->SetTrajectoryFilter(new G4IdentityTrajectoryFilter); } else { magField = 0; fieldMgr->SetDetectorField(magField); diff --git a/examples/novice/N03/src/ExN03DetectorMessenger.cc b/examples/novice/N03/src/ExN03DetectorMessenger.cc index 9a3ca45605..a188b5a5d3 100644 --- a/examples/novice/N03/src/ExN03DetectorMessenger.cc +++ b/examples/novice/N03/src/ExN03DetectorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03DetectorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03DetectorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -44,53 +44,56 @@ ExN03DetectorMessenger::ExN03DetectorMessenger( ExN03DetectorConstruction* ExN03Det) :ExN03Detector(ExN03Det) { - ExN03detDir = new G4UIdirectory("/calor/"); - ExN03detDir->SetGuidance("ExN03 detector control."); - - AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this); + N03Dir = new G4UIdirectory("/N03/"); + N03Dir->SetGuidance("UI commands of this example"); + + detDir = new G4UIdirectory("/N03/det/"); + detDir->SetGuidance("detector control"); + + AbsMaterCmd = new G4UIcmdWithAString("/N03/det/setAbsMat",this); AbsMaterCmd->SetGuidance("Select Material of the Absorber."); AbsMaterCmd->SetParameterName("choice",false); AbsMaterCmd->AvailableForStates(G4State_Idle); - GapMaterCmd = new G4UIcmdWithAString("/calor/setGapMat",this); + GapMaterCmd = new G4UIcmdWithAString("/N03/det/setGapMat",this); GapMaterCmd->SetGuidance("Select Material of the Gap."); GapMaterCmd->SetParameterName("choice",false); GapMaterCmd->AvailableForStates(G4State_Idle); - AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this); + AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setAbsThick",this); AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); AbsThickCmd->SetParameterName("Size",false); AbsThickCmd->SetRange("Size>=0."); AbsThickCmd->SetUnitCategory("Length"); AbsThickCmd->AvailableForStates(G4State_Idle); - GapThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGapThick",this); + GapThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setGapThick",this); GapThickCmd->SetGuidance("Set Thickness of the Gap"); GapThickCmd->SetParameterName("Size",false); GapThickCmd->SetRange("Size>=0."); GapThickCmd->SetUnitCategory("Length"); GapThickCmd->AvailableForStates(G4State_Idle); - SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this); + SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setSizeYZ",this); SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); SizeYZCmd->SetParameterName("Size",false); SizeYZCmd->SetRange("Size>0."); SizeYZCmd->SetUnitCategory("Length"); SizeYZCmd->AvailableForStates(G4State_Idle); - NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this); + NbLayersCmd = new G4UIcmdWithAnInteger("/N03/det/setNbOfLayers",this); NbLayersCmd->SetGuidance("Set number of layers."); NbLayersCmd->SetParameterName("NbLayers",false); NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); NbLayersCmd->AvailableForStates(G4State_Idle); - UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this); + UpdateCmd = new G4UIcmdWithoutParameter("/N03/det/update",this); UpdateCmd->SetGuidance("Update calorimeter geometry."); UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); UpdateCmd->SetGuidance("if you changed geometrical value(s)."); UpdateCmd->AvailableForStates(G4State_Idle); - MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this); + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setField",this); MagFieldCmd->SetGuidance("Define magnetic field."); MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); MagFieldCmd->SetParameterName("Bz",false); @@ -107,7 +110,8 @@ ExN03DetectorMessenger::~ExN03DetectorMessenger() delete AbsThickCmd; delete GapThickCmd; delete SizeYZCmd; delete UpdateCmd; delete MagFieldCmd; - delete ExN03detDir; + delete detDir; + delete N03Dir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03EventAction.cc b/examples/novice/N03/src/ExN03EventAction.cc index 07d9e49e9f..a1d0a3d377 100644 --- a/examples/novice/N03/src/ExN03EventAction.cc +++ b/examples/novice/N03/src/ExN03EventAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03EventAction.cc,v 1.16 2002/01/09 17:24:13 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03EventAction.cc,v 1.17 2003/02/10 18:39:49 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/src/ExN03EventActionMessenger.cc b/examples/novice/N03/src/ExN03EventActionMessenger.cc index 8e9da261f5..536505690c 100644 --- a/examples/novice/N03/src/ExN03EventActionMessenger.cc +++ b/examples/novice/N03/src/ExN03EventActionMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03EventActionMessenger.cc,v 1.8 2002/12/05 01:07:01 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03EventActionMessenger.cc,v 1.9 2002/12/16 16:37:27 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -32,6 +32,7 @@ #include "ExN03EventActionMessenger.hh" #include "ExN03EventAction.hh" +#include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" #include "G4UIcmdWithAnInteger.hh" #include "globals.hh" @@ -40,8 +41,11 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) :eventAction(EvAct) -{ - DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this); +{ + eventDir = new G4UIdirectory("/N03/event/"); + eventDir->SetGuidance("event control"); + + DrawCmd = new G4UIcmdWithAString("/N03/event/drawTracks",this); DrawCmd->SetGuidance("Draw the tracks in the event"); DrawCmd->SetGuidance(" Choice : none, charged(default),neutral, all"); DrawCmd->SetParameterName("choice",true); @@ -49,7 +53,7 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) DrawCmd->SetCandidates("none charged neutral all"); DrawCmd->AvailableForStates(G4State_Idle); - PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this); + PrintCmd = new G4UIcmdWithAnInteger("/N03/event/printModulo",this); PrintCmd->SetGuidance("Print events modulo n"); PrintCmd->SetParameterName("EventNb",false); PrintCmd->SetRange("EventNb>0"); @@ -61,7 +65,8 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) ExN03EventActionMessenger::~ExN03EventActionMessenger() { delete DrawCmd; - delete PrintCmd; + delete PrintCmd; + delete eventDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03PhysicsList.cc b/examples/novice/N03/src/ExN03PhysicsList.cc index 79e7fa1772..595460e961 100644 --- a/examples/novice/N03/src/ExN03PhysicsList.cc +++ b/examples/novice/N03/src/ExN03PhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03PhysicsList.cc,v 1.13 2002/03/08 10:48:30 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03PhysicsList.cc,v 1.14 2003/02/20 14:46:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -38,7 +38,7 @@ #include "G4ParticleTypes.hh" #include "G4ParticleTable.hh" #include "G4Material.hh" -#include "G4ios.hh" +#include "G4ios.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -292,22 +292,14 @@ void ExN03PhysicsList::SetCuts() if (verboseLevel >0){ G4cout << "ExN03PhysicsList::SetCuts:"; G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; - } + } // set cut values for gamma at first and for e- second and next for e+, // because some processes for e+/e- need cut values for gamma - // + // SetCutValue(defaultCutValue, "gamma"); SetCutValue(defaultCutValue, "e-"); SetCutValue(defaultCutValue, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - // - SetCutValue(defaultCutValue, "proton"); - SetCutValue(defaultCutValue, "anti_proton"); - - SetCutValueForOthers(defaultCutValue); if (verboseLevel>0) DumpCutValuesTable(); } diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc index 4650ecdeee..74e193aa9e 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc index b95108ad5a..d0ad9ddfb5 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -32,6 +32,7 @@ #include "ExN03PrimaryGeneratorMessenger.hh" #include "ExN03PrimaryGeneratorAction.hh" +#include "G4UIdirectory.hh" #include "G4UIcmdWithAString.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -39,8 +40,11 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( ExN03PrimaryGeneratorAction* ExN03Gun) :ExN03Action(ExN03Gun) -{ - RndmCmd = new G4UIcmdWithAString("/gun/random",this); +{ + gunDir = new G4UIdirectory("/N03/gun/"); + gunDir->SetGuidance("PrimaryGenerator control"); + + RndmCmd = new G4UIcmdWithAString("/N03/gun/rndm",this); RndmCmd->SetGuidance("Shoot randomly the incident particle."); RndmCmd->SetGuidance(" Choice : on(default), off"); RndmCmd->SetParameterName("choice",true); @@ -54,6 +58,7 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() { delete RndmCmd; + delete gunDir; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03RunAction.cc b/examples/novice/N03/src/ExN03RunAction.cc index fa81b1746b..7d46fe2ce5 100644 --- a/examples/novice/N03/src/ExN03RunAction.cc +++ b/examples/novice/N03/src/ExN03RunAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03RunAction.cc,v 1.10 2002/01/09 17:24:13 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03RunAction.cc,v 1.12 2003/01/30 14:14:19 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -32,6 +32,7 @@ #include "ExN03RunAction.hh" #include "G4Run.hh" +#include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4VVisManager.hh" #include "G4ios.hh" @@ -49,15 +50,16 @@ ExN03RunAction::~ExN03RunAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ExN03RunAction::BeginOfRunAction(const G4Run* aRun) -{ - +{ G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; - if (G4VVisManager::GetConcreteInstance()) - { - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/vis/scene/notifyHandlers"); - } + //inform the runManager to save random number seed + G4RunManager::GetRunManager()->SetRandomNumberStore(true); + + //visualization + if (G4VVisManager::GetConcreteInstance()) { + G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers"); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03SteppingAction.cc b/examples/novice/N03/src/ExN03SteppingAction.cc index bccc054cf8..f4a42e2255 100644 --- a/examples/novice/N03/src/ExN03SteppingAction.cc +++ b/examples/novice/N03/src/ExN03SteppingAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03SteppingAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03SteppingAction.cc,v 1.7 2003/01/30 14:14:19 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -31,6 +31,8 @@ #include "ExN03SteppingAction.hh" +#include "G4RunManager.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ExN03SteppingAction::ExN03SteppingAction() @@ -44,7 +46,10 @@ ExN03SteppingAction::~ExN03SteppingAction() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ExN03SteppingAction::UserSteppingAction(const G4Step*) -{ } +{ + // save the random number seed of this event, under condition + //// if(condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03SteppingVerbose.cc b/examples/novice/N03/src/ExN03SteppingVerbose.cc index 78115503d0..04f8d30098 100644 --- a/examples/novice/N03/src/ExN03SteppingVerbose.cc +++ b/examples/novice/N03/src/ExN03SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN03SteppingVerbose.cc,v 1.9 2002/01/09 17:24:13 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN03SteppingVerbose.cc,v 1.10 2003/02/10 18:39:49 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void ExN03SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -162,7 +163,8 @@ G4int prec = G4cout.precision(3); << G4std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/novice/N03/src/ExN03TrackingAction.cc b/examples/novice/N03/src/ExN03TrackingAction.cc new file mode 100644 index 0000000000..325cd1a338 --- /dev/null +++ b/examples/novice/N03/src/ExN03TrackingAction.cc @@ -0,0 +1,42 @@ +// +// ******************************************************************** +// * 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: ExN03TrackingAction.cc,v 1.3 2002/12/18 15:17:56 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03TrackingAction.hh" +#include "G4SmoothTrajectory.hh" +#include "G4TrackingManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03TrackingAction :: PreUserTrackingAction(const G4Track* aTrack) +{ + fpTrackingManager->SetTrajectory(new G4SmoothTrajectory(aTrack)); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03VisManager.cc b/examples/novice/N03/src/ExN03VisManager.cc index 62da7d9628..97b4fda245 100755 --- a/examples/novice/N03/src/ExN03VisManager.cc +++ b/examples/novice/N03/src/ExN03VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN03VisManager.cc,v 1.10 2002/11/13 19:14:38 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/examples/novice/N04/History b/examples/novice/N04/History index 29d82e1ebc..1dc1e15e29 100644 --- a/examples/novice/N04/History +++ b/examples/novice/N04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2002/06/19 10:44:13 gcosmo Exp $ +$Id: History,v 1.28 2003/03/28 09:35:36 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,15 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28-03-03 G.Cosmo (exampleN04-V05-00-02) +- Corrected text in warning printed from HadronPhysics list. + +26-03-03 mma (exampleN04-V05-00-01) +- Use G4PVPlacement and G4PVParametrised constructors in logical mother. + +Feb 27, 2003 mma (exampleN04-V05-00-00) +- added capture and fission in HadronPhysics (Hans-Peter) + Jun 19, 2002 Gabriele Cosmo (exampleN04-V04-00-02) - Added protection for usage of G4UItcsh... in exampleN04.cc. diff --git a/examples/novice/N04/exampleN04.EMtest.large_N.out b/examples/novice/N04/exampleN04.EMtest.large_N.out deleted file mode 100644 index 483a77cc49..0000000000 --- a/examples/novice/N04/exampleN04.EMtest.large_N.out +++ /dev/null @@ -1,237 +0,0 @@ -********************************************** - Geant4 version $Name: geant4-05-00 $ - (15-Dec-2000) - Copyright : Geant4 Collaboration -********************************************** - -phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z - Sandia crossSection below 50 KeV - PhysicsTables from 50 keV to 50 MeV in 100 bins. - -compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. - Scattered gamma energy according Klein-Nishina. - PhysicsTables from 10 keV to 100 GeV in 100 bins. - -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. - -eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV. - log scale extrapolation above 100 GeV - Gamma energy sampled from a parametrised formula. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - - eIoni Minimum Delta cut in range=0.1 mm. - - material min.delta energy(keV) - - Air 0.99 - Lead 228.53 - ArgonGas 0.99 - Silicon 116.88 - Scintillator 83.337 - dummyMat 126.97 - -eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -annihil: Total cross section from Heilter formula (annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. - -annihil: Total cross section from Heilter formula (annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. - - hIoni Minimum Delta cut in range=0.1 mm. - - material min.delta energy(keV) - - Air 0.99 - Lead 228.53 - ArgonGas 0.99 - Silicon 116.88 - Scintillator 83.337 - dummyMat 126.97 - -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -MuIoni: knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -MuBrems: theoretical cross section - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -MuPairProd: theoretical cross sections - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 0 - 35 hits are stored in ExN04TrackerHitsCollection. - 4 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.29811 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 0 - 18 hits are stored in ExN04TrackerHitsCollection. - 17 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.9242 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 1 - 11 hits are stored in ExN04TrackerHitsCollection. - 11 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.8511 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 2 - 12 hits are stored in ExN04TrackerHitsCollection. - 23 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 2.8904 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 3 - 24 hits are stored in ExN04TrackerHitsCollection. - 17 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.9962 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 4 - 6 hits are stored in ExN04TrackerHitsCollection. - 12 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 2.6983 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 5 - 10 hits are stored in ExN04TrackerHitsCollection. - 19 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 26.952 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 6 - 17 hits are stored in ExN04TrackerHitsCollection. - 12 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 3.9798 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 7 - 16 hits are stored in ExN04TrackerHitsCollection. - 30 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.464 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 8 - 27 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 14.589 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 9 - 6 hits are stored in ExN04TrackerHitsCollection. - 15 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 8.6695 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 10 - 22 hits are stored in ExN04TrackerHitsCollection. - 14 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 2.8606 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 11 - 56 hits are stored in ExN04TrackerHitsCollection. - 34 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 334.9 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 12 - 16 hits are stored in ExN04TrackerHitsCollection. - 18 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 2.2829 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 13 - 14 hits are stored in ExN04TrackerHitsCollection. - 25 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 10.367 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 14 - 5 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 6.7872 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 15 - 5 hits are stored in ExN04TrackerHitsCollection. - 45 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 10.928 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 16 - 5 hits are stored in ExN04TrackerHitsCollection. - 14 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 2.9975 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 17 - 16 hits are stored in ExN04TrackerHitsCollection. - 16 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.9347 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 18 - 5 hits are stored in ExN04TrackerHitsCollection. - 14 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 3.752 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. -Stage 0->1 : 1 hits found in the muon chamber. -Stage 1->2 : 1 isolated muon found. ->>> Event 19 - 15 hits are stored in ExN04TrackerHitsCollection. - 16 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 6.2639 (GeV) - 1 hits are stored in ExN04MuonHitsCollection. diff --git a/examples/novice/N04/exampleN04.EMtest.out b/examples/novice/N04/exampleN04.EMtest.out index 374a330e8e..af21f1b967 100644 --- a/examples/novice/N04/exampleN04.EMtest.out +++ b/examples/novice/N04/exampleN04.EMtest.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** @@ -16,10 +16,17 @@ Current available graphics systems are: DAWNFILE (DAWNFILE) GAGTree (GAGTree) G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) +You are using the ExN04HadronPhysics + - Note that this hadronic physics list is not optimized for any particular usage + - If you wish to have a starting point tailored for a particular area of work, + please one of the available physics lists by use-case. + + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -36,7 +43,8 @@ eBrem: Total cross sections from a NEW parametrisation based on the EEDL data l eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -55,6 +63,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -82,24 +91,24 @@ msc: Tables of transport mean free paths. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 9 hits are stored in ExN04TrackerHitsCollection. - 4 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.241565 (GeV) + 6 hits are stored in ExN04TrackerHitsCollection. + 5 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.228711 (GeV) 1 hits are stored in ExN04MuonHitsCollection. ### Run 1 start. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 5 hits are stored in ExN04TrackerHitsCollection. - 18 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 4.03393 (GeV) + 12 hits are stored in ExN04TrackerHitsCollection. + 34 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 4.49873 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 1 - 37 hits are stored in ExN04TrackerHitsCollection. - 30 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 8.44836 (GeV) + 16 hits are stored in ExN04TrackerHitsCollection. + 19 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 4.79524 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N04/exampleN04.cc b/examples/novice/N04/exampleN04.cc index 363e5c4b26..e45bac5c4e 100644 --- a/examples/novice/N04/exampleN04.cc +++ b/examples/novice/N04/exampleN04.cc @@ -22,7 +22,7 @@ // // // $Id: exampleN04.cc,v 1.6 2002/06/19 10:44:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N04/exampleN04.out b/examples/novice/N04/exampleN04.out index dcbf8ad475..aef71f98d5 100644 --- a/examples/novice/N04/exampleN04.out +++ b/examples/novice/N04/exampleN04.out @@ -1,6 +1,6 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** @@ -16,10 +16,17 @@ Current available graphics systems are: DAWNFILE (DAWNFILE) GAGTree (GAGTree) G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) RayTracer (RayTracer) VRML1FILE (VRML1FILE) VRML2FILE (VRML2FILE) +You are using the ExN04HadronPhysics + - Note that this hadronic physics list is not optimized for any particular usage + - If you wish to have a starting point tailored for a particular area of work, + please one of the available physics lists by use-case. + + compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. Scattered gamma energy according Klein-Nishina. PhysicsTables from 1 keV to 100 GeV in 80 bins. @@ -36,7 +43,8 @@ eBrem: Total cross sections from a NEW parametrisation based on the EEDL data l eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -55,6 +63,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -82,9 +91,9 @@ msc: Tables of transport mean free paths. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 102 hits are stored in ExN04TrackerHitsCollection. - 63 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.834231 (GeV) + 114 hits are stored in ExN04TrackerHitsCollection. + 44 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.61501 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted @@ -97,9 +106,9 @@ Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 0 isolated muon found. ++++++++ event aborted >>> Event 2 - 73 hits are stored in ExN04TrackerHitsCollection. + 79 hits are stored in ExN04TrackerHitsCollection. 13 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.336442 (GeV) + Total energy deposition in calorimeter : 0.332041 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N04/include/ExN04EMPhysics.hh b/examples/novice/N04/include/ExN04EMPhysics.hh index 1ef3e9240b..74d2b9b539 100644 --- a/examples/novice/N04/include/ExN04EMPhysics.hh +++ b/examples/novice/N04/include/ExN04EMPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N04/include/ExN04GeneralPhysics.hh b/examples/novice/N04/include/ExN04GeneralPhysics.hh index 7c281435b6..7459d387a0 100644 --- a/examples/novice/N04/include/ExN04GeneralPhysics.hh +++ b/examples/novice/N04/include/ExN04GeneralPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N04/include/ExN04HadronPhysics.hh b/examples/novice/N04/include/ExN04HadronPhysics.hh index 252debc97a..c5c7725453 100644 --- a/examples/novice/N04/include/ExN04HadronPhysics.hh +++ b/examples/novice/N04/include/ExN04HadronPhysics.hh @@ -20,19 +20,14 @@ // * statement, and all its terms. * // ******************************************************************** // +// $Id: ExN04HadronPhysics.hh,v 1.5 2003/03/28 09:35:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -// $Id: ExN04HadronPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// // ------------------------------------------------------------ // GEANT 4 class header file -// Class Description: +// // This class is an derived class of G4VPhysicsConstructor // -// ------------------------------------------- -// History -// first version 12 Nov. 2000 by H.Kurashige // ------------------------------------------------------------ #ifndef ExN04HadronPhysics_h #define ExN04HadronPhysics_h 1 @@ -147,6 +142,16 @@ #include "G4KaonMinusAbsorptionAtRest.hh" #endif +// quark gluon string model with chips afterburner. +#include "G4TheoFSGenerator.hh" +#include "G4ExcitationHandler.hh" +#include "G4PreCompoundModel.hh" +#include "G4GeneratorPrecompoundInterface.hh" +#include "G4QGSModel.hh" +#include "G4QGSParticipants.hh" +#include "G4QGSMFragmentation.hh" +#include "G4ExcitedStringDecay.hh" + class ExN04HadronPhysics : public G4VPhysicsConstructor { public: @@ -171,14 +176,12 @@ class ExN04HadronPhysics : public G4VPhysicsConstructor // Pi + G4PionPlusInelasticProcess thePionPlusInelastic; G4LEPionPlusInelastic* theLEPionPlusModel; - G4HEPionPlusInelastic* theHEPionPlusModel; G4MultipleScattering thePionPlusMult; G4hIonisation thePionPlusIonisation; // Pi - G4PionMinusInelasticProcess thePionMinusInelastic; G4LEPionMinusInelastic* theLEPionMinusModel; - G4HEPionMinusInelastic* theHEPionMinusModel; G4MultipleScattering thePionMinusMult; G4hIonisation thePionMinusIonisation; #ifdef TRIUMF_STOP_PIMINUS @@ -187,13 +190,23 @@ class ExN04HadronPhysics : public G4VPhysicsConstructor G4PiMinusAbsorptionAtRest thePionMinusAbsorption; #endif + // pi+ and pi- + + G4TheoFSGenerator theTheoModel; + G4ExcitationHandler theHandler; + G4PreCompoundModel * thePreEquilib; + G4GeneratorPrecompoundInterface theCascade; + G4QGSModel< G4QGSParticipants > theStringModel; + G4QGSMFragmentation theFragmentation; + G4ExcitedStringDecay * theStringDecay; + // K + G4KaonPlusInelasticProcess theKaonPlusInelastic; G4LEKaonPlusInelastic* theLEKaonPlusModel; G4HEKaonPlusInelastic* theHEKaonPlusModel; G4MultipleScattering theKaonPlusMult; G4hIonisation theKaonPlusIonisation; - + // K - G4KaonMinusInelasticProcess theKaonMinusInelastic; G4LEKaonMinusInelastic* theLEKaonMinusModel; diff --git a/examples/novice/N04/include/ExN04IonPhysics.hh b/examples/novice/N04/include/ExN04IonPhysics.hh index 9b47a177f1..bd773f85f0 100644 --- a/examples/novice/N04/include/ExN04IonPhysics.hh +++ b/examples/novice/N04/include/ExN04IonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N04/include/ExN04MuonPhysics.hh b/examples/novice/N04/include/ExN04MuonPhysics.hh index 9726af48a2..61e6d6a4c8 100644 --- a/examples/novice/N04/include/ExN04MuonPhysics.hh +++ b/examples/novice/N04/include/ExN04MuonPhysics.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.hh,v 1.4 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N04/include/ExN04RunAction.hh b/examples/novice/N04/include/ExN04RunAction.hh index 4254476845..b9d0145c5d 100644 --- a/examples/novice/N04/include/ExN04RunAction.hh +++ b/examples/novice/N04/include/ExN04RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.hh,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N04/include/ExN04SteppingVerbose.hh b/examples/novice/N04/include/ExN04SteppingVerbose.hh index a1195c7316..5f2036278e 100644 --- a/examples/novice/N04/include/ExN04SteppingVerbose.hh +++ b/examples/novice/N04/include/ExN04SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/novice/N04/include/ExN04VisManager.hh b/examples/novice/N04/include/ExN04VisManager.hh index 39748510e1..a8f9f1accf 100644 --- a/examples/novice/N04/include/ExN04VisManager.hh +++ b/examples/novice/N04/include/ExN04VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN04VisManager.hh,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04DetectorConstruction.cc b/examples/novice/N04/src/ExN04DetectorConstruction.cc index 7ed0cc02dd..c1475b3f48 100644 --- a/examples/novice/N04/src/ExN04DetectorConstruction.cc +++ b/examples/novice/N04/src/ExN04DetectorConstruction.cc @@ -128,8 +128,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() G4LogicalVolume * experimentalHall_log = new G4LogicalVolume(experimentalHall_box,Air,"expHall_L",0,0,0); G4VPhysicalVolume * experimentalHall_phys - = new G4PVPlacement(0,G4ThreeVector(),"expHall_P", - experimentalHall_log,0,false,0); + = new G4PVPlacement(0,G4ThreeVector(),experimentalHall_log,"expHall_P", + 0,false,0); G4VisAttributes* experimentalHallVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,1.0)); experimentalHallVisAtt->SetForceWireframe(true); @@ -142,8 +142,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() G4LogicalVolume * tracker_log = new G4LogicalVolume(tracker_tubs,Ar,"trackerT_L",0,0,0); G4VPhysicalVolume * tracker_phys - = new G4PVPlacement(0,G4ThreeVector(),"tracker_phys",tracker_log, - experimentalHall_phys,false,0); + = new G4PVPlacement(0,G4ThreeVector(),tracker_log,"tracker_phys", + experimentalHall_log,false,0); G4VisAttributes* tracker_logVisAtt = new G4VisAttributes(G4Colour(1.0,0.0,1.0)); tracker_logVisAtt->SetForceWireframe(true); @@ -161,7 +161,7 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() = new ExN04TrackerParametrisation; // dummy value : kXAxis -- modified by parameterised volume // G4VPhysicalVolume *trackerLayer_phys = - new G4PVParameterised("trackerLayer_phys",trackerLayer_log,tracker_phys, + new G4PVParameterised("trackerLayer_phys",trackerLayer_log,tracker_log, kXAxis, notrkLayers, trackerParam); G4VisAttributes* trackerLayer_logVisAtt = new G4VisAttributes(G4Colour(0.5,0.0,1.0)); @@ -175,8 +175,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() G4LogicalVolume * calorimeter_log = new G4LogicalVolume(calorimeter_tubs,Scinti,"caloT_L",0,0,0); G4VPhysicalVolume * calorimeter_phys - = new G4PVPlacement(0,G4ThreeVector(),"caloM_P",calorimeter_log, - experimentalHall_phys,false,0); + = new G4PVPlacement(0,G4ThreeVector(),calorimeter_log,"caloM_P", + experimentalHall_log,false,0); G4VisAttributes* calorimeter_logVisATT = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); calorimeter_logVisATT->SetForceWireframe(true); @@ -194,7 +194,7 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() = new ExN04CalorimeterParametrisation; // dummy value : kXAxis -- modified by parameterised volume // G4VPhysicalVolume * caloLayer_phys = - new G4PVParameterised("caloLayer_phys",caloLayer_log,calorimeter_phys, + new G4PVParameterised("caloLayer_phys",caloLayer_log,calorimeter_log, kXAxis, nocaloLayers, calorimeterParam); G4VisAttributes* caloLayer_logVisAtt = new G4VisAttributes(G4Colour(0.7,1.0,0.0)); @@ -220,8 +220,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct() rm.rotateZ(phi); muoncounter_phys = new G4PVPlacement(G4Transform3D(rm,G4ThreeVector(x,y,z)), - "muoncounter_P",muoncounter_log, - experimentalHall_phys,false,i); + muoncounter_log, "muoncounter_P", + experimentalHall_log,false,i); } G4VisAttributes* muoncounter_logVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,1.0)); diff --git a/examples/novice/N04/src/ExN04EMPhysics.cc b/examples/novice/N04/src/ExN04EMPhysics.cc index 53a6616a06..79b8a129ac 100644 --- a/examples/novice/N04/src/ExN04EMPhysics.cc +++ b/examples/novice/N04/src/ExN04EMPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04EMPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04GeneralPhysics.cc b/examples/novice/N04/src/ExN04GeneralPhysics.cc index 80dd10c962..bed44f674f 100644 --- a/examples/novice/N04/src/ExN04GeneralPhysics.cc +++ b/examples/novice/N04/src/ExN04GeneralPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04GeneralPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04HadronPhysics.cc b/examples/novice/N04/src/ExN04HadronPhysics.cc index 858ca34a07..5c3988a10f 100644 --- a/examples/novice/N04/src/ExN04HadronPhysics.cc +++ b/examples/novice/N04/src/ExN04HadronPhysics.cc @@ -21,10 +21,9 @@ // ******************************************************************** // // -// $Id: ExN04HadronPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN04HadronPhysics.cc,v 1.6 2003/03/28 09:35:13 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -// #include "ExN04HadronPhysics.hh" @@ -40,6 +39,7 @@ ExN04HadronPhysics::ExN04HadronPhysics(const G4String& name) ExN04HadronPhysics::~ExN04HadronPhysics() { +delete theStringDecay; } #include "G4ParticleDefinition.hh" @@ -73,20 +73,35 @@ void ExN04HadronPhysics::ConstructParticle() void ExN04HadronPhysics::ConstructProcess() { G4ProcessManager * pManager = 0; - + G4cout << "" << G4endl; + G4cout << "You are using the ExN04HadronPhysics" << G4endl; + G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl; + G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl; + G4cout << " please one of the available physics lists by use-case." << G4endl; + G4cout << "" << G4endl; // Elastic Process theElasticModel = new G4LElastic(); theElasticProcess.RegisterMe(theElasticModel); + // pi+ and pi- + + thePreEquilib = new G4PreCompoundModel(&theHandler); + theCascade.SetDeExcitation(thePreEquilib); + theTheoModel.SetTransport(&theCascade); + theTheoModel.SetHighEnergyGenerator(&theStringModel); + theStringDecay = new G4ExcitedStringDecay(&theFragmentation); + theStringModel.SetFragmentationModel(theStringDecay); + theTheoModel.SetMinEnergy(15*GeV); + theTheoModel.SetMaxEnergy(100*TeV); + // PionPlus pManager = G4PionPlus::PionPlus()->GetProcessManager(); // add process pManager->AddDiscreteProcess(&theElasticProcess); theLEPionPlusModel = new G4LEPionPlusInelastic(); - theHEPionPlusModel = new G4HEPionPlusInelastic(); thePionPlusInelastic.RegisterMe(theLEPionPlusModel); - thePionPlusInelastic.RegisterMe(theHEPionPlusModel); + thePionPlusInelastic.RegisterMe(&theTheoModel); pManager->AddDiscreteProcess(&thePionPlusInelastic); pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2); @@ -101,9 +116,8 @@ void ExN04HadronPhysics::ConstructProcess() pManager->AddDiscreteProcess(&theElasticProcess); theLEPionMinusModel = new G4LEPionMinusInelastic(); - theHEPionMinusModel = new G4HEPionMinusInelastic(); thePionMinusInelastic.RegisterMe(theLEPionMinusModel); - thePionMinusInelastic.RegisterMe(theHEPionMinusModel); + thePionMinusInelastic.RegisterMe(&theTheoModel); pManager->AddDiscreteProcess(&thePionMinusInelastic); pManager->AddProcess(&thePionMinusIonisation, ordInActive,2, 2); @@ -122,7 +136,7 @@ void ExN04HadronPhysics::ConstructProcess() theLEKaonPlusModel = new G4LEKaonPlusInelastic(); theHEKaonPlusModel = new G4HEKaonPlusInelastic(); theKaonPlusInelastic.RegisterMe(theLEKaonPlusModel); - theKaonPlusInelastic.RegisterMe(theHEKaonPlusModel); + theKaonPlusInelastic.RegisterMe(&theTheoModel); pManager->AddDiscreteProcess(&theKaonPlusInelastic); pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2); @@ -180,7 +194,7 @@ void ExN04HadronPhysics::ConstructProcess() theLEProtonModel = new G4LEProtonInelastic(); theHEProtonModel = new G4HEProtonInelastic(); theProtonInelastic.RegisterMe(theLEProtonModel); - theProtonInelastic.RegisterMe(theHEProtonModel); + theProtonInelastic.RegisterMe(&theTheoModel); pManager->AddDiscreteProcess(&theProtonInelastic); pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2); @@ -216,16 +230,16 @@ void ExN04HadronPhysics::ConstructProcess() theLENeutronModel = new G4LENeutronInelastic(); theHENeutronModel = new G4HENeutronInelastic(); theNeutronInelastic.RegisterMe(theLENeutronModel); - theNeutronInelastic.RegisterMe(theHENeutronModel); + theNeutronInelastic.RegisterMe(&theTheoModel); pManager->AddDiscreteProcess(&theNeutronInelastic); - //theNeutronFissionModel = new G4LFission(); - //theNeutronFission.RegisterMe(theNeutronFissionModel); - //pManager->AddDiscreteProcess(&NeutronFission); + theNeutronFissionModel = new G4LFission(); + theNeutronFission.RegisterMe(theNeutronFissionModel); + pManager->AddDiscreteProcess(&theNeutronFission); - //theNeutronCaptureModel = new G4LCapture(); - //theNeutronCapture.RegisterMe(theNeutronCaptureModel); - //pManager->AddDiscreteProcess(&theNeutronCapture); + theNeutronCaptureModel = new G4LCapture(); + theNeutronCapture.RegisterMe(theNeutronCaptureModel); + pManager->AddDiscreteProcess(&theNeutronCapture); // AntiNeutron pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager(); @@ -421,8 +435,3 @@ void ExN04HadronPhysics::ConstructProcess() pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxPostStep, 1); } - - - - - diff --git a/examples/novice/N04/src/ExN04IonPhysics.cc b/examples/novice/N04/src/ExN04IonPhysics.cc index e2d55bff46..4c5e55c0dd 100644 --- a/examples/novice/N04/src/ExN04IonPhysics.cc +++ b/examples/novice/N04/src/ExN04IonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04IonPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04MuonPhysics.cc b/examples/novice/N04/src/ExN04MuonPhysics.cc index 1af193ac84..f549bd14f8 100644 --- a/examples/novice/N04/src/ExN04MuonPhysics.cc +++ b/examples/novice/N04/src/ExN04MuonPhysics.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04MuonPhysics.cc,v 1.4 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04PhysicsList.cc b/examples/novice/N04/src/ExN04PhysicsList.cc index 5cc6140304..6b587de523 100644 --- a/examples/novice/N04/src/ExN04PhysicsList.cc +++ b/examples/novice/N04/src/ExN04PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04PhysicsList.cc,v 1.12 2002/01/09 17:24:15 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N04/src/ExN04RunAction.cc b/examples/novice/N04/src/ExN04RunAction.cc index 34d142fc60..33d73283bb 100644 --- a/examples/novice/N04/src/ExN04RunAction.cc +++ b/examples/novice/N04/src/ExN04RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN04RunAction.cc,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N04/src/ExN04SteppingVerbose.cc b/examples/novice/N04/src/ExN04SteppingVerbose.cc index c955c2c87e..58c69cc810 100644 --- a/examples/novice/N04/src/ExN04SteppingVerbose.cc +++ b/examples/novice/N04/src/ExN04SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: ExN04SteppingVerbose.cc,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN04SteppingVerbose.cc,v 1.2 2003/02/10 18:58:05 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -73,7 +73,8 @@ void ExN04SteppingVerbose::StepInfo() << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; // if( fStepStatus != fWorldBoundary){ if( fTrack->GetNextVolume() != 0 ) { @@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3); << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") - << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length"); + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; if(fTrack->GetNextVolume()){ G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); diff --git a/examples/novice/N04/src/ExN04VisManager.cc b/examples/novice/N04/src/ExN04VisManager.cc index 25e3ad8f26..834b3f75f2 100755 --- a/examples/novice/N04/src/ExN04VisManager.cc +++ b/examples/novice/N04/src/ExN04VisManager.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: ExN04VisManager.cc,v 1.1 2002/05/02 14:18:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: ExN04VisManager.cc,v 1.2 2002/11/13 19:14:41 duns Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// // John Allison 24th January 1998. //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -41,6 +41,7 @@ #include "G4DAWNFILE.hh" #include "G4GAGTree.hh" #include "G4HepRepFile.hh" +#include "G4HepRep.hh" #include "G4RayTracer.hh" #include "G4VRML1File.hh" #include "G4VRML2File.hh" @@ -97,6 +98,7 @@ void ExN04VisManager::RegisterGraphicsSystems () { RegisterGraphicsSystem (new G4DAWNFILE); RegisterGraphicsSystem (new G4GAGTree); RegisterGraphicsSystem (new G4HepRepFile); + RegisterGraphicsSystem (new G4HepRep); RegisterGraphicsSystem (new G4RayTracer); RegisterGraphicsSystem (new G4VRML1File); RegisterGraphicsSystem (new G4VRML2File); diff --git a/examples/novice/N05/exampleN05.cc b/examples/novice/N05/exampleN05.cc index 3ae6bf88ac..018b54c941 100644 --- a/examples/novice/N05/exampleN05.cc +++ b/examples/novice/N05/exampleN05.cc @@ -22,7 +22,7 @@ // // // $Id: exampleN05.cc,v 1.10 2002/01/09 17:24:16 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/exampleN05.out b/examples/novice/N05/exampleN05.out index 83d400b67e..45c1b5a810 100644 --- a/examples/novice/N05/exampleN05.out +++ b/examples/novice/N05/exampleN05.out @@ -1,7 +1,7 @@ RunManager construction starting.... ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** @@ -9,6 +9,22 @@ ExN05DetectorConstruction.... phot: Total cross sections from Sandia parametrisation. +Closing FastSimulation +Instantiating Visualization Manager....... +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. e+e- energies according Bethe-Heitler @@ -25,7 +41,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -41,6 +58,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -64,91 +82,43 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -Closing FastSimulation -Instantiating Visualization Manager....... -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRepFile (HepRepFile) - G4HepRep (HepRepXML) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) ### Run 0 start. ExN05EMShowerModel::DoIt >>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.989906 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.989891 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 1 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999904 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999912 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 2 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99984 (GeV) + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999921 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 3 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99992 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999917 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.989897 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999915 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 ### Run 1 start. ExN05EMShowerModel::DoIt >>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999912 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -ExN05EMShowerModel::DoIt ->>> Event 1 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999925 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -ExN05EMShowerModel::DoIt ->>> Event 2 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999907 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -ExN05EMShowerModel::DoIt ->>> Event 3 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999929 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -ExN05EMShowerModel::DoIt ->>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999927 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -number of event = 5 -### Run 2 start. -ExN05EMShowerModel::DoIt ->>> Event 0 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999919 (GeV) + Total energy deposition in EM calorimeter crytals : 0.999921 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt @@ -160,18 +130,50 @@ ExN05EMShowerModel::DoIt ExN05EMShowerModel::DoIt >>> Event 2 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999914 (GeV) + Total energy deposition in EM calorimeter crytals : 0.999919 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 3 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999775 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999911 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 4 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999906 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) +number of event = 5 +### Run 2 start. +ExN05EMShowerModel::DoIt +>>> Event 0 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999926 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) +ExN05EMShowerModel::DoIt +>>> Event 1 + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99993 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) +ExN05EMShowerModel::DoIt +>>> Event 2 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999929 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) +ExN05EMShowerModel::DoIt +>>> Event 3 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999924 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) +ExN05EMShowerModel::DoIt +>>> Event 4 + 7 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0.999912 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -179,215 +181,216 @@ number of event = 5 ### Run 3 start. ExN05EMShowerModel::DoIt >>> Event 0 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999915 (GeV) + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999905 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 1 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.99991 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999909 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999916 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999919 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 3 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999907 (GeV) + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.989904 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) ExN05EMShowerModel::DoIt >>> Event 4 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.98989 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999916 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 ### Run 4 start. ExN05PionShowerModel::DoIt >>> Event 0 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.0999924 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.479963 (GeV) + 5 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.119993 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.439976 (GeV) ExN05PionShowerModel::DoIt >>> Event 1 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.279983 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.199987 (GeV) 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.879942 (GeV) + Total energy deposition in HAD calorimeter towers : 1.01993 (GeV) ExN05PionShowerModel::DoIt >>> Event 2 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.419974 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 1.35991 (GeV) + 13 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.359979 (GeV) + 16 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 1.5999 (GeV) +ExN05PionShowerModel::DoIt >>> Event 3 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.275929 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.701091 (GeV) + 17 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.459974 (GeV) + 17 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 2.11987 (GeV) ExN05PionShowerModel::DoIt >>> Event 4 - 16 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.57996 (GeV) - 15 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 1.77988 (GeV) + 23 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.699962 (GeV) + 18 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 2.59985 (GeV) number of event = 5 ### Run 5 start. ExN05PionShowerModel::DoIt >>> Event 0 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.619958 (GeV) - 26 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 2.59984 (GeV) + 24 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.73996 (GeV) + 30 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 3.4598 (GeV) ExN05PionShowerModel::DoIt >>> Event 1 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659956 (GeV) - 31 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 3.4398 (GeV) + 24 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.73996 (GeV) + 33 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 4.37975 (GeV) ExN05PionShowerModel::DoIt >>> Event 2 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659956 (GeV) - 31 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 4.21976 (GeV) + 24 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.73996 (GeV) + 35 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 5.2797 (GeV) ExN05PionShowerModel::DoIt >>> Event 3 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659956 (GeV) - 32 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 5.0997 (GeV) + 24 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.73996 (GeV) + 37 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 6.13966 (GeV) ExN05PionShowerModel::DoIt >>> Event 4 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659956 (GeV) - 33 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 6.03965 (GeV) + 28 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.819956 (GeV) + 37 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 6.87963 (GeV) number of event = 5 ### Run 6 start. ExN05PionShowerModel::DoIt >>> Event 0 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659956 (GeV) - 46 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 6.9396 (GeV) + 31 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.879952 (GeV) + 50 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 7.67958 (GeV) ExN05PionShowerModel::DoIt >>> Event 1 - 19 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.659973 (GeV) - 51 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 7.87944 (GeV) + 34 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.939949 (GeV) + 54 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 8.53953 (GeV) ExN05PionShowerModel::DoIt >>> Event 2 - 19 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.679955 (GeV) - 55 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 8.8194 (GeV) + 37 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.01994 (GeV) + 57 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 9.37949 (GeV) ExN05PionShowerModel::DoIt >>> Event 3 - 22 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.759951 (GeV) - 59 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 9.61935 (GeV) + 38 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.03994 (GeV) + 57 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 10.2394 (GeV) ExN05PionShowerModel::DoIt >>> Event 4 - 22 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.759951 (GeV) - 60 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 10.5593 (GeV) + 38 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.03994 (GeV) + 57 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 11.0994 (GeV) number of event = 5 ### Run 7 start. ExN05PionShowerModel::DoIt >>> Event 0 - 30 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.95994 (GeV) - 68 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 11.0193 (GeV) + 45 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.23993 (GeV) + 66 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 11.5594 (GeV) ExN05PionShowerModel::DoIt >>> Event 1 - 32 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.07993 (GeV) + 52 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.43992 (GeV) 70 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 11.4393 (GeV) + Total energy deposition in HAD calorimeter towers : 12.0594 (GeV) ExN05PionShowerModel::DoIt >>> Event 2 - 37 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.27992 (GeV) - 71 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 11.9192 (GeV) + 55 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.51992 (GeV) + 70 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 12.6793 (GeV) ExN05PionShowerModel::DoIt >>> Event 3 - 43 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.49991 (GeV) - 72 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 12.3192 (GeV) + 57 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.69991 (GeV) + 71 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 13.1593 (GeV) ExN05PionShowerModel::DoIt >>> Event 4 - 46 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 1.6799 (GeV) - 73 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 12.6592 (GeV) + 65 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 1.99989 (GeV) + 71 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 13.5193 (GeV) number of event = 5 ### Run 8 start. >>> Event 0 - 31 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.989578 (GeV) + 36 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.993041 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 1 36 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.980311 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.0036638 (GeV) + Total energy deposition in EM calorimeter crytals : 0.99395 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 - 37 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.991035 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.00156932 (GeV) + 33 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.988484 (GeV) + 4 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.00617275 (GeV) >>> Event 3 - 37 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.989798 (GeV) + 38 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.995168 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 39 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.993616 (GeV) - 2 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.00270411 (GeV) + 36 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.996897 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 ### Run 9 start. >>> Event 0 - 29 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.983441 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) + 21 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.99596 (GeV) + 2 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.00294061 (GeV) >>> Event 1 - 20 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.992494 (GeV) + 21 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999915 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 2 24 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.998882 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) + Total energy deposition in EM calorimeter crytals : 0.998267 (GeV) + 1 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.00158017 (GeV) >>> Event 3 - 18 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.994512 (GeV) + 20 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.998771 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) >>> Event 4 - 24 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.996505 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) + 27 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.993723 (GeV) + 3 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.00577739 (GeV) number of event = 5 Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N05/include/ExN05CalorimeterHit.hh b/examples/novice/N05/include/ExN05CalorimeterHit.hh index 7aea134891..38b086b379 100644 --- a/examples/novice/N05/include/ExN05CalorimeterHit.hh +++ b/examples/novice/N05/include/ExN05CalorimeterHit.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05CalorimeterHit.hh,v 1.5 2002/01/09 17:24:17 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05CalorimeterHit_h diff --git a/examples/novice/N05/include/ExN05CalorimeterSD.hh b/examples/novice/N05/include/ExN05CalorimeterSD.hh index a2091fe643..278d587000 100644 --- a/examples/novice/N05/include/ExN05CalorimeterSD.hh +++ b/examples/novice/N05/include/ExN05CalorimeterSD.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05CalorimeterSD.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05CalorimeterSD_h diff --git a/examples/novice/N05/include/ExN05DetectorConstruction.hh b/examples/novice/N05/include/ExN05DetectorConstruction.hh index 1879937291..4f7ebb3b4e 100644 --- a/examples/novice/N05/include/ExN05DetectorConstruction.hh +++ b/examples/novice/N05/include/ExN05DetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05DetectorConstruction.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05DetectorConstruction_h #define ExN05DetectorConstruction_h 1 diff --git a/examples/novice/N05/include/ExN05DetectorMessenger.hh b/examples/novice/N05/include/ExN05DetectorMessenger.hh index f497c85d55..ba347a1b03 100644 --- a/examples/novice/N05/include/ExN05DetectorMessenger.hh +++ b/examples/novice/N05/include/ExN05DetectorMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05DetectorMessenger.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N05/include/ExN05EMShowerModel.hh b/examples/novice/N05/include/ExN05EMShowerModel.hh index df1cf342ec..04aec4ea4c 100644 --- a/examples/novice/N05/include/ExN05EMShowerModel.hh +++ b/examples/novice/N05/include/ExN05EMShowerModel.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05EMShowerModel.hh,v 1.7 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05EnergySpot.hh b/examples/novice/N05/include/ExN05EnergySpot.hh index 54e7d7fba1..789ee586e3 100644 --- a/examples/novice/N05/include/ExN05EnergySpot.hh +++ b/examples/novice/N05/include/ExN05EnergySpot.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05EnergySpot.hh,v 1.7 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05EnergySpot_h #define ExN05EnergySpot_h diff --git a/examples/novice/N05/include/ExN05EventAction.hh b/examples/novice/N05/include/ExN05EventAction.hh index 43e41291b8..5e3224d6d5 100644 --- a/examples/novice/N05/include/ExN05EventAction.hh +++ b/examples/novice/N05/include/ExN05EventAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05EventAction.hh,v 1.5 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05EventAction_h diff --git a/examples/novice/N05/include/ExN05EventActionMessenger.hh b/examples/novice/N05/include/ExN05EventActionMessenger.hh index 9f4e30deea..6e6c1cc52c 100644 --- a/examples/novice/N05/include/ExN05EventActionMessenger.hh +++ b/examples/novice/N05/include/ExN05EventActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05EventActionMessenger.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05EventActionMessenger_h diff --git a/examples/novice/N05/include/ExN05MaxTimeCuts.hh b/examples/novice/N05/include/ExN05MaxTimeCuts.hh index 8fa28efa59..b8ac1ea8f2 100644 --- a/examples/novice/N05/include/ExN05MaxTimeCuts.hh +++ b/examples/novice/N05/include/ExN05MaxTimeCuts.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05MaxTimeCuts.hh,v 1.5 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05MinEkineCuts.hh b/examples/novice/N05/include/ExN05MinEkineCuts.hh index 64bde396e8..80a54bf024 100644 --- a/examples/novice/N05/include/ExN05MinEkineCuts.hh +++ b/examples/novice/N05/include/ExN05MinEkineCuts.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05MinEkineCuts.hh,v 1.5 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05MinRangeCuts.hh b/examples/novice/N05/include/ExN05MinRangeCuts.hh index 4d25e75a68..b0c75338eb 100644 --- a/examples/novice/N05/include/ExN05MinRangeCuts.hh +++ b/examples/novice/N05/include/ExN05MinRangeCuts.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05MinRangeCuts.hh,v 1.5 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05PhysicsList.hh b/examples/novice/N05/include/ExN05PhysicsList.hh index 3ee93a7e8f..9fcf9e7ec6 100644 --- a/examples/novice/N05/include/ExN05PhysicsList.hh +++ b/examples/novice/N05/include/ExN05PhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05PhysicsList.hh,v 1.7 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // #ifndef ExN05PhysicsList_h diff --git a/examples/novice/N05/include/ExN05PiModel.hh b/examples/novice/N05/include/ExN05PiModel.hh index 1507a887ab..3b61210921 100644 --- a/examples/novice/N05/include/ExN05PiModel.hh +++ b/examples/novice/N05/include/ExN05PiModel.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05PiModel.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //---------------------------------------- diff --git a/examples/novice/N05/include/ExN05PionShowerModel.hh b/examples/novice/N05/include/ExN05PionShowerModel.hh index 1e35e5c559..25cca80cdd 100644 --- a/examples/novice/N05/include/ExN05PionShowerModel.hh +++ b/examples/novice/N05/include/ExN05PionShowerModel.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05PionShowerModel.hh,v 1.7 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh index 139036f9ef..59476679ea 100644 --- a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh +++ b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05PrimaryGeneratorAction.hh,v 1.4 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05PrimaryGeneratorAction_h diff --git a/examples/novice/N05/include/ExN05RunAction.hh b/examples/novice/N05/include/ExN05RunAction.hh index 4484860a80..81cd9e419c 100644 --- a/examples/novice/N05/include/ExN05RunAction.hh +++ b/examples/novice/N05/include/ExN05RunAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05RunAction.hh,v 1.8 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05RunAction_h diff --git a/examples/novice/N05/include/ExN05SpecialCuts.hh b/examples/novice/N05/include/ExN05SpecialCuts.hh index e0f9edf44b..7ffbf5ba34 100644 --- a/examples/novice/N05/include/ExN05SpecialCuts.hh +++ b/examples/novice/N05/include/ExN05SpecialCuts.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05SpecialCuts.hh,v 1.6 2002/01/09 17:24:18 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/include/ExN05SteppingAction.hh b/examples/novice/N05/include/ExN05SteppingAction.hh index 9c4967e15b..b6b2eae488 100644 --- a/examples/novice/N05/include/ExN05SteppingAction.hh +++ b/examples/novice/N05/include/ExN05SteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05SteppingAction.hh,v 1.5 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05SteppingAction_h diff --git a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh index f01ab08ccb..a0da27eee4 100644 --- a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh +++ b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05SteppingActionMessenger.hh,v 1.4 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef ExN05SteppingActionMessenger_h diff --git a/examples/novice/N05/include/ExN05VisManager.hh b/examples/novice/N05/include/ExN05VisManager.hh index 4bd3f61af1..5d134ff4df 100644 --- a/examples/novice/N05/include/ExN05VisManager.hh +++ b/examples/novice/N05/include/ExN05VisManager.hh @@ -22,7 +22,7 @@ // // // $Id: ExN05VisManager.hh,v 1.3 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N05/src/ExN05CalorimeterHit.cc b/examples/novice/N05/src/ExN05CalorimeterHit.cc index 3b7b0c79e0..b8485b8c2b 100644 --- a/examples/novice/N05/src/ExN05CalorimeterHit.cc +++ b/examples/novice/N05/src/ExN05CalorimeterHit.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05CalorimeterHit.cc,v 1.4 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05CalorimeterHit.hh" diff --git a/examples/novice/N05/src/ExN05CalorimeterSD.cc b/examples/novice/N05/src/ExN05CalorimeterSD.cc index 9c46158b99..749ea27123 100644 --- a/examples/novice/N05/src/ExN05CalorimeterSD.cc +++ b/examples/novice/N05/src/ExN05CalorimeterSD.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05CalorimeterSD.cc,v 1.4 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05DetectorConstruction.cc b/examples/novice/N05/src/ExN05DetectorConstruction.cc index 87ec6ca5ee..aae1ad9c04 100644 --- a/examples/novice/N05/src/ExN05DetectorConstruction.cc +++ b/examples/novice/N05/src/ExN05DetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05DetectorConstruction.cc,v 1.5 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05DetectorConstruction.hh" #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05DetectorMessenger.cc b/examples/novice/N05/src/ExN05DetectorMessenger.cc index b14f71ee20..2f62b3c13d 100644 --- a/examples/novice/N05/src/ExN05DetectorMessenger.cc +++ b/examples/novice/N05/src/ExN05DetectorMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05DetectorMessenger.cc,v 1.5 2002/12/05 01:07:02 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N05/src/ExN05EMShowerModel.cc b/examples/novice/N05/src/ExN05EMShowerModel.cc index f3199210f6..ae5bd87ad8 100644 --- a/examples/novice/N05/src/ExN05EMShowerModel.cc +++ b/examples/novice/N05/src/ExN05EMShowerModel.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05EMShowerModel.cc,v 1.7 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05EMShowerModel.hh" #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EnergySpot.cc b/examples/novice/N05/src/ExN05EnergySpot.cc index 4fba9e6262..df38e2ab2c 100644 --- a/examples/novice/N05/src/ExN05EnergySpot.cc +++ b/examples/novice/N05/src/ExN05EnergySpot.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05EnergySpot.cc,v 1.6 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EventAction.cc b/examples/novice/N05/src/ExN05EventAction.cc index a11779b281..74d95a13a3 100644 --- a/examples/novice/N05/src/ExN05EventAction.cc +++ b/examples/novice/N05/src/ExN05EventAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05EventAction.cc,v 1.8 2002/01/09 17:24:19 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05EventAction.hh" diff --git a/examples/novice/N05/src/ExN05EventActionMessenger.cc b/examples/novice/N05/src/ExN05EventActionMessenger.cc index 2b3b33b95f..9b29bded60 100644 --- a/examples/novice/N05/src/ExN05EventActionMessenger.cc +++ b/examples/novice/N05/src/ExN05EventActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05EventActionMessenger.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05EventActionMessenger.hh" diff --git a/examples/novice/N05/src/ExN05MaxTimeCuts.cc b/examples/novice/N05/src/ExN05MaxTimeCuts.cc index a9b4b8ea14..d47fe30fe9 100644 --- a/examples/novice/N05/src/ExN05MaxTimeCuts.cc +++ b/examples/novice/N05/src/ExN05MaxTimeCuts.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05MaxTimeCuts.cc,v 1.5 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05MinEkineCuts.cc b/examples/novice/N05/src/ExN05MinEkineCuts.cc index 60553106be..6f5667310d 100644 --- a/examples/novice/N05/src/ExN05MinEkineCuts.cc +++ b/examples/novice/N05/src/ExN05MinEkineCuts.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05MinEkineCuts.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05MinRangeCuts.cc b/examples/novice/N05/src/ExN05MinRangeCuts.cc index 5fdb91b963..305d81da4c 100644 --- a/examples/novice/N05/src/ExN05MinRangeCuts.cc +++ b/examples/novice/N05/src/ExN05MinRangeCuts.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05MinRangeCuts.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N05/src/ExN05PhysicsList.cc b/examples/novice/N05/src/ExN05PhysicsList.cc index 407aabc1eb..8188e4306c 100644 --- a/examples/novice/N05/src/ExN05PhysicsList.cc +++ b/examples/novice/N05/src/ExN05PhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05PhysicsList.cc,v 1.7 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/examples/novice/N05/src/ExN05PiModel.cc b/examples/novice/N05/src/ExN05PiModel.cc index fc1b15334e..88a59e5d33 100644 --- a/examples/novice/N05/src/ExN05PiModel.cc +++ b/examples/novice/N05/src/ExN05PiModel.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05PiModel.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05PiModel.hh" diff --git a/examples/novice/N05/src/ExN05PionShowerModel.cc b/examples/novice/N05/src/ExN05PionShowerModel.cc index 3239ee419f..6bb0556992 100644 --- a/examples/novice/N05/src/ExN05PionShowerModel.cc +++ b/examples/novice/N05/src/ExN05PionShowerModel.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05PionShowerModel.cc,v 1.8 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05PionShowerModel.hh" #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc index 92c8d8704d..c898e74f9e 100644 --- a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc +++ b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05PrimaryGeneratorAction.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05PrimaryGeneratorAction.hh" diff --git a/examples/novice/N05/src/ExN05RunAction.cc b/examples/novice/N05/src/ExN05RunAction.cc index 860f02dde4..7fca0ff244 100644 --- a/examples/novice/N05/src/ExN05RunAction.cc +++ b/examples/novice/N05/src/ExN05RunAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05RunAction.cc,v 1.7 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Make this appear first! diff --git a/examples/novice/N05/src/ExN05SpecialCuts.cc b/examples/novice/N05/src/ExN05SpecialCuts.cc index f7582a44eb..c26d74a2b9 100644 --- a/examples/novice/N05/src/ExN05SpecialCuts.cc +++ b/examples/novice/N05/src/ExN05SpecialCuts.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05SpecialCuts.cc,v 1.5 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/examples/novice/N05/src/ExN05SteppingAction.cc b/examples/novice/N05/src/ExN05SteppingAction.cc index 47bfac2dfa..1912452ebd 100644 --- a/examples/novice/N05/src/ExN05SteppingAction.cc +++ b/examples/novice/N05/src/ExN05SteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05SteppingAction.cc,v 1.6 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05SteppingAction.hh" diff --git a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc index 218d9741bd..9aaa4926ec 100644 --- a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc +++ b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05SteppingActionMessenger.cc,v 1.4 2002/01/09 17:24:20 ranjard Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "ExN05SteppingActionMessenger.hh" diff --git a/examples/novice/N05/src/ExN05VisManager.cc b/examples/novice/N05/src/ExN05VisManager.cc index 8c9651b98b..57e0affc08 100755 --- a/examples/novice/N05/src/ExN05VisManager.cc +++ b/examples/novice/N05/src/ExN05VisManager.cc @@ -22,7 +22,7 @@ // // // $Id: ExN05VisManager.cc,v 1.7 2002/11/13 19:14:43 duns Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/novice/N06/GNUmakefile b/examples/novice/N06/GNUmakefile index e06369eea4..29a510328f 100644 --- a/examples/novice/N06/GNUmakefile +++ b/examples/novice/N06/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.1 1999/01/07 16:06:19 gunter Exp $ +# $Id: GNUmakefile,v 1.2 2003/01/23 15:31:39 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -15,3 +15,7 @@ endif all: lib bin include $(G4INSTALL)/config/binmake.gmk + +visclean: + rm -f g4*.prim g4*.eps g4*.wrl + rm -f .DAWN_* diff --git a/examples/novice/N06/History b/examples/novice/N06/History index 6bb06f0458..58e92c8b1f 100644 --- a/examples/novice/N06/History +++ b/examples/novice/N06/History @@ -1,4 +1,4 @@ -$Id: History,v 1.11 2002/11/21 22:58:25 gum Exp $ +$Id: History,v 1.15 2003/04/22 12:12:03 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,21 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +April 17, 2003 Peter Gumplinger (exampleN06-V05-00-03) +- changed OpWaterSurface to dielectric_dielectric in class + ExN06DetectorConstruction + +March 26, 2003 Michel Maire (exampleN06-V05-00-02) +- G4PVPlacement in logical mother + +Febuary 11, 2003 Michel Maire (exampleN06-V05-00-01) +- add a blank in steppingVerbose ! + +January 23, 2003 Michel Maire (exampleN06-V05-00-00) +- added tools for interactive session : UItcsh, visualisation of tracks. +- added 2 messenger classes : PhysicsList and PrimaryGenerator +- exampleN06.in changed --> exampleN06.out reduced + November 21, 2002 Peter Gumplinger (exampleN06-V04-01-02) - exampleN06.out output changed because of small change in G4Scintillation @@ -22,11 +37,12 @@ November 14, 2002 Peter Gumplinger (exampleN06-V04-01-01) - reduced the scintillation photon yield to reduce the output size November 12, 2002 Peter Gumplinger (exampleN06-V04-01-00) -- add ExN06StackingAction, change user interface to new version of G4Scintillation +- add ExN06StackingAction +- change user interface to new version of G4Scintillation May 30, 2002 Gabriele Cosmo (exampleN06-V04-00-02) -- Renamed file ExN06PrimaryGeneratoraction.cc to ExN06PrimaryGeneratorAction.cc to - be consistent with class name. +- Renamed file ExN06PrimaryGeneratoraction.cc to ExN06PrimaryGeneratorAction.cc + to be consistent with class name. May 16, 2002 Peter Gumplinger (exampleN06-V04-00-01) - Add G4Scintillation to the example and update reference output diff --git a/examples/novice/N06/README b/examples/novice/N06/README index 40a6e5d56c..9a2cd2e269 100644 --- a/examples/novice/N06/README +++ b/examples/novice/N06/README @@ -1,4 +1,4 @@ -$Id: README,v 1.3 2002/11/12 23:05:04 gum Exp $ +$Id: README,v 1.4 2003/01/23 15:31:39 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -31,7 +31,7 @@ G4VUserDetectorConstruction --------------------------- ==> define material: Air and Water - define simple G4box geometry (with translation and rotation) + define simple G4box geometry *** add G4MaterialPropertiesTable to G4Material *** *** define G4LogicalSurface(s) *** *** define G4OpticalSurface *** @@ -41,6 +41,9 @@ G4VUserPrimaryGeneratorAction ----------------------------- ==> Use G4ParticleGun to shoot a charge particle into a Cerenkov radiator + + ==> A messenger command allows to define interactivly the polarization of an + primary optical photon (see for instance optPhoton.mac) G4UserRunAction --------------- @@ -52,3 +55,33 @@ G4UserStackingAction -------------------- ==> show how to count the number of secondary particles in an event + +Visualisation +------------- + + The Visualization Manager is set in the main(). + The initialisation of the drawing is done via a set of /vis/ commands + in the macro vis.mac. This macro is automatically read from + the main in case of interactive running mode. + + The detector has a default view which is a longitudinal view of the tank. + The tracks are drawn at the end of event, and erased at the end of run. + + How to start + ------------ + + - compile and link to generate an executable + % cd N06 + % gmake + + - execute N06 in 'batch' mode from macro files + % exampleN06 exampleN06.in + + - execute N06 in 'interactive mode' with visualization + % exampleN06 + .... + Idle> type your commands. For instance: + Idle> /control/execute optPhoton.mac + .... + Idle> exit + diff --git a/examples/novice/N06/exampleN06.cc b/examples/novice/N06/exampleN06.cc index 518e4e13fb..77d0001cdb 100644 --- a/examples/novice/N06/exampleN06.cc +++ b/examples/novice/N06/exampleN06.cc @@ -21,13 +21,12 @@ // ******************************************************************** // // +// $Id: exampleN06.cc,v 1.7 2003/01/23 15:31:39 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -// -------------------------------------------------------------- -// GEANT 4 - exampleExN06 +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // -// -------------------------------------------------------------- -// -// File: exampleExN06.cc // Description: Test of Continuous Process G4Cerenkov // and RestDiscrete Process G4Scintillation // -- Generation Cerenkov Photons -- @@ -36,72 +35,101 @@ // Version: 5.0 // Created: 1996-04-30 // Author: Juliet Armstrong -// Updated: 2002-11-12 by Peter Gumplinger -// Change user interface to G4Scintillation -// Add UserStackingAction -// 1998-06-03 by Peter Gumplinger for example ExN06 // mail: gum@triumf.ca -// -// -------------------------------------------------------------- -#include "ExN06RunAction.hh" -#include "ExN06DetectorConstruction.hh" -#include "ExN06PrimaryGeneratorAction.hh" -#include "ExN06StackingAction.hh" -#include "ExN06PhysicsList.hh" +// Updated: +// +// 2002-11-12 by Peter Gumplinger +// - Change user interface to G4Scintillation +// - Add UserStackingAction +// +// 1998-06-03 by Peter Gumplinger for example ExN06 +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4RunManager.hh" #include "G4UImanager.hh" #include "G4UIterminal.hh" +#include "G4UItcsh.hh" #include "G4ios.hh" #include +#include "ExN06DetectorConstruction.hh" +#include "ExN06PhysicsList.hh" +#include "ExN06PrimaryGeneratorAction.hh" +#include "ExN06RunAction.hh" +#include "ExN06EventAction.hh" +#include "ExN06StackingAction.hh" +#include "ExN06SteppingVerbose.hh" + +#ifdef G4VIS_USE +#include "ExN06VisManager.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + int main(int argc,char** argv) { // Seed the random number generator manually - // ----------------------------------------- - G4long myseed = 345354; - HepRandom::setTheSeed(myseed); - + + //my Verbose output class + G4VSteppingVerbose::SetInstance(new ExN06SteppingVerbose); + // Run manager - - G4RunManager * runManager = new G4RunManager; + G4RunManager* runManager = new G4RunManager; // UserInitialization classes - mandatory - runManager-> SetUserInitialization(new ExN06DetectorConstruction); runManager-> SetUserInitialization(new ExN06PhysicsList); + +#ifdef G4VIS_USE + // visualization manager + G4VisManager* visManager = new ExN06VisManager; + visManager->Initialize(); +#endif - // UserAction classes - optional - + // UserAction classes runManager->SetUserAction(new ExN06RunAction); runManager->SetUserAction(new ExN06PrimaryGeneratorAction); - + runManager->SetUserAction(new ExN06EventAction); runManager->SetUserAction(new ExN06StackingAction); - - // User interactions - // Define (G)UI for interactive mode - if(argc==1) - { - // G4UIterminal is a (dumb) terminal. - G4UIsession * session = new G4UIterminal; - session->SessionStart(); - delete session; - } - else - // Batch mode - { - G4UImanager * UI = G4UImanager::GetUIpointer(); - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); - } - + + //Initialize G4 kernel + runManager->Initialize(); + + // get the pointer to the User Interface manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (argc==1) //define UI session for interactive mode + { + G4UIsession* session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + UI->ApplyCommand("/control/execute vis.mac"); + session->SessionStart(); + delete session; + } + + else // Batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + // job termination +#ifdef G4VIS_USE + delete visManager; +#endif delete runManager; - return EXIT_SUCCESS; + return 0; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/exampleN06.in b/examples/novice/N06/exampleN06.in index 22aea44a7d..090ca64eb0 100644 --- a/examples/novice/N06/exampleN06.in +++ b/examples/novice/N06/exampleN06.in @@ -1,4 +1,8 @@ /control/verbose 2 -/run/initialize +/tracking/verbose 1 +# +/gun/particle e- +/gun/energy 500 keV +# /run/beamOn 1 -exit + diff --git a/examples/novice/N06/exampleN06.out b/examples/novice/N06/exampleN06.out index 8c355dd9cd..f248de97d6 100644 --- a/examples/novice/N06/exampleN06.out +++ b/examples/novice/N06/exampleN06.out @@ -1,12 +1,25 @@ ********************************************** - Geant4 version $Name: geant4-05-00 $ - (13-Dec-2002) + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) Copyright : Geant4 Collaboration ********************************************** -/run/initialize - Equal - Equal - Equal +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +Equal +Equal +Equal Surface type = 1 Surface finish = 3 Surface model = 1 @@ -16,6 +29,12 @@ 0 AddDiscreteProcess to OpticalPhoton +/tracking/verbose 1 +# +/gun/particle e- +/gun/energy 500 keV +# +/run/beamOn 1 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -24,7 +43,8 @@ msc: Tables of transport mean free paths. eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. Good description from 1 KeV to 100 GeV. @@ -45,6 +65,7 @@ hIoni: Knock-on electron cross sections . Good description above the mean excitation energy. delta ray energy sampled from differential Xsection. PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 msc: Tables of transport mean free paths. New model of MSC , computes the lateral @@ -63,21868 +84,910 @@ MuBrems: theoretical cross section MuPairProd: theoretical cross sections Good description up to 1000 PeV. PhysicsTables from 1 keV to 1000 PeV in 150 bins. -/run/beamOn 1 -/event/verbose 1 ### Run 0 start. -===================================== - G4EventManager::ProcessOneEvent() -===================================== -1 primaries are passed from G4EventTransformer. -!!!!!!! Now start processing an event !!!!!!! -### pop requested out of 1 stacked tracks. - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 224 +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 76 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 302 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.616955,-0.768087,0.171491) -Old Polarization: (-0.173028,0.0801905,0.981647) -New Polarization: (0.272726,0.100475,0.956831) -Polarization Change: (0.272726,0.100475,0.956831) -New Momentum Direction: (0.960777,0.0235322,-0.276322) -Momentum Change: (0.960777,0.0235322,-0.276322) - Photon at Boundary! - Old Momentum Direction: (0.960777,0.0235322,-0.276322) - Old Polarization: (0.272726,0.100475,0.956831) - New Momentum Direction: (0.926352,0.0319616,-0.375302) - New Polarization: (0.370485,0.102368,0.92318) - *** FresnelRefraction *** -Track (trackID 302, parentID 1) is processed with stopping code 2 -### pop requested out of 301 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0813557,-0.537745,0.839173) - Old Polarization: (0.255277,-0.802637,-0.53908) - New Momentum Direction: (0.109817,-0.725865,0.679014) - New Polarization: (0.0261388,0.685019,0.728056) - *** FresnelRefraction *** -Track (trackID 301, parentID 1) is processed with stopping code 2 -### pop requested out of 300 stacked tracks. - -** Photon absorbed! ** -Track (trackID 300, parentID 1) is processed with stopping code 2 -### pop requested out of 299 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.866116,-0.487731,0.10937) - Old Polarization: (0.342642,0.738643,0.58052) - New Momentum Direction: (0.734485,-0.66218,0.148489) - New Polarization: (0.471318,0.655179,0.590423) - *** FresnelRefraction *** -Track (trackID 299, parentID 1) is processed with stopping code 2 -### pop requested out of 298 stacked tracks. - -** Photon absorbed! ** -Track (trackID 298, parentID 1) is processed with stopping code 2 -### pop requested out of 297 stacked tracks. - -** Photon absorbed! ** -Track (trackID 297, parentID 1) is processed with stopping code 2 -### pop requested out of 296 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.286328,-0.649504,-0.704386) - Old Polarization: (0.916262,0.400567,0.00309772) - New Momentum Direction: (0.389193,-0.882843,-0.262901) - New Polarization: (0.914488,0.404585,-0.00483958) - *** FresnelRefraction *** -Track (trackID 296, parentID 1) is processed with stopping code 2 -### pop requested out of 295 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.536425,0.617743,0.575015) - Old Polarization: (0.683462,-0.0817289,0.725396) - New Momentum Direction: (-0.536425,-0.617743,0.575015) - New Polarization: (-0.683462,-0.0817289,-0.725396) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.536425,-0.617743,0.575015) - Old Polarization: (-0.683462,-0.0817289,-0.725396) - New Momentum Direction: (-0.536425,-0.617743,-0.575015) - New Polarization: (0.683462,0.0817289,-0.725396) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.536425,-0.617743,-0.575015) - Old Polarization: (0.683462,0.0817289,-0.725396) - New Momentum Direction: (0.536425,-0.617743,-0.575015) - New Polarization: (0.683462,-0.0817289,0.725396) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 295, parentID 1) is processed with stopping code 2 -### pop requested out of 294 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.720612,0.379088,0.580526) - Old Polarization: (0.539631,-0.219068,0.812901) - New Momentum Direction: (-0.342566,0.513675,0.78663) - New Polarization: (-0.760754,-0.642969,0.0885662) - *** FresnelRefraction *** -Track (trackID 294, parentID 1) is processed with stopping code 2 -### pop requested out of 293 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.666297,-0.737353,0.111169) - Old Polarization: (-0.630489,-0.477466,0.611972) - New Momentum Direction: (0.898263,-0.413112,0.149871) - New Polarization: (-0.411258,-0.670026,0.618006) - *** FresnelRefraction *** -Track (trackID 293, parentID 1) is processed with stopping code 2 -### pop requested out of 292 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.100885,0.740226,0.664746) - Old Polarization: (-0.432438,-0.569112,0.699363) - New Momentum Direction: (0.135968,0.422909,0.895913) - New Polarization: (-0.551061,0.783795,-0.286352) - *** FresnelRefraction *** -Track (trackID 292, parentID 1) is processed with stopping code 2 -### pop requested out of 291 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.395331,0.812589,-0.428266) - Old Polarization: (0.915338,-0.387404,0.109887) - New Momentum Direction: (0.532528,0.619361,-0.576893) - New Polarization: (0.253758,0.533396,0.806905) - *** FresnelRefraction *** -Track (trackID 291, parentID 1) is processed with stopping code 2 -### pop requested out of 290 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.411206,-0.756793,-0.508109) - Old Polarization: (-0.364605,0.37433,-0.852608) - New Momentum Direction: (0.554551,-0.47215,-0.685235) - New Polarization: (-0.80033,-0.528145,-0.283786) - *** FresnelRefraction *** -Track (trackID 290, parentID 1) is processed with stopping code 2 -### pop requested out of 289 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.833267,-0.11592,0.540581) - Old Polarization: (0.297427,0.918217,-0.261563) - New Momentum Direction: (0.662675,-0.157023,0.73226) - New Polarization: (0.412742,0.89245,-0.182146) - *** FresnelRefraction *** -Track (trackID 289, parentID 1) is processed with stopping code 2 -### pop requested out of 288 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.618195,0.259292,0.742026) - Old Polarization: (-0.637582,-0.71752,-0.280453) - New Momentum Direction: (-0.838913,0.351869,0.415227) - New Polarization: (-0.173985,-0.896257,0.407985) - *** FresnelRefraction *** -Track (trackID 288, parentID 1) is processed with stopping code 2 -### pop requested out of 287 stacked tracks. - -** Photon absorbed! ** -Track (trackID 287, parentID 1) is processed with stopping code 2 -### pop requested out of 286 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0318776,-0.375179,0.926404) - Old Polarization: (-0.998589,-0.051345,0.0135676) - New Momentum Direction: (0.0433183,-0.509828,0.859185) - New Polarization: (-0.998399,-0.0534022,0.0186491) - *** FresnelRefraction *** -Track (trackID 286, parentID 1) is processed with stopping code 2 -### pop requested out of 285 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.731399,-0.626807,0.26864) - Old Polarization: (-0.21256,-0.164766,-0.963157) - New Momentum Direction: (-0.374435,-0.852276,0.365273) - New Polarization: (-0.315615,-0.253265,-0.914464) - *** FresnelRefraction *** -Track (trackID 285, parentID 1) is processed with stopping code 2 -### pop requested out of 284 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.559655,-0.536983,-0.631218) - Old Polarization: (-0.81272,-0.504606,-0.291306) - New Momentum Direction: (0.559655,-0.536983,0.631218) - New Polarization: (0.81272,0.504606,-0.291306) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.559655,-0.536983,0.631218) - Old Polarization: (0.81272,0.504606,-0.291306) - New Momentum Direction: (-0.559655,-0.536983,0.631218) - New Polarization: (0.81272,-0.504606,0.291306) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.559655,-0.536983,0.631218) - Old Polarization: (0.81272,-0.504606,0.291306) - New Momentum Direction: (-0.559655,0.536983,0.631218) - New Polarization: (-0.81272,-0.504606,-0.291306) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 284, parentID 1) is processed with stopping code 2 -### pop requested out of 283 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.593056,-0.194221,-0.781386) - Old Polarization: (0.752164,0.479913,0.45159) - New Momentum Direction: (0.805945,-0.26394,-0.529894) - New Polarization: (-0.166216,0.758208,-0.63047) - *** FresnelRefraction *** -Track (trackID 283, parentID 1) is processed with stopping code 2 -### pop requested out of 282 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.504255,-0.598821,0.622205) - Old Polarization: (0.740803,-0.670236,-0.0446761) - New Momentum Direction: (-0.504255,-0.598821,-0.622205) - New Polarization: (-0.740803,0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.504255,-0.598821,-0.622205) - Old Polarization: (-0.740803,0.670236,-0.0446761) - New Momentum Direction: (-0.504255,0.598821,-0.622205) - New Polarization: (0.740803,0.670236,0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.504255,0.598821,-0.622205) - Old Polarization: (0.740803,0.670236,0.0446761) - New Momentum Direction: (0.504255,0.598821,-0.622205) - New Polarization: (0.740803,-0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,0.598821,-0.622205) - Old Polarization: (0.740803,-0.670236,-0.0446761) - New Momentum Direction: (0.504255,0.598821,0.622205) - New Polarization: (-0.740803,0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,0.598821,0.622205) - Old Polarization: (-0.740803,0.670236,-0.0446761) - New Momentum Direction: (0.504255,-0.598821,0.622205) - New Polarization: (0.740803,0.670236,0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,-0.598821,0.622205) - Old Polarization: (0.740803,0.670236,0.0446761) - New Momentum Direction: (-0.504255,-0.598821,0.622205) - New Polarization: (0.740803,-0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.504255,-0.598821,0.622205) - Old Polarization: (0.740803,-0.670236,-0.0446761) - New Momentum Direction: (-0.504255,-0.598821,-0.622205) - New Polarization: (-0.740803,0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.504255,-0.598821,-0.622205) - Old Polarization: (-0.740803,0.670236,-0.0446761) - New Momentum Direction: (-0.504255,0.598821,-0.622205) - New Polarization: (0.740803,0.670236,0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.504255,0.598821,-0.622205) - Old Polarization: (0.740803,0.670236,0.0446761) - New Momentum Direction: (0.504255,0.598821,-0.622205) - New Polarization: (0.740803,-0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,0.598821,-0.622205) - Old Polarization: (0.740803,-0.670236,-0.0446761) - New Momentum Direction: (0.504255,0.598821,0.622205) - New Polarization: (-0.740803,0.670236,-0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,0.598821,0.622205) - Old Polarization: (-0.740803,0.670236,-0.0446761) - New Momentum Direction: (0.504255,-0.598821,0.622205) - New Polarization: (0.740803,0.670236,0.0446761) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.504255,-0.598821,0.622205) - Old Polarization: (0.740803,0.670236,0.0446761) - New Momentum Direction: (-0.504255,-0.598821,0.622205) - New Polarization: (0.740803,-0.670236,-0.0446761) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 282, parentID 1) is processed with stopping code 2 -### pop requested out of 281 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.159728,0.110128,-0.980999) - Old Polarization: (0.551331,-0.814373,-0.181191) - New Momentum Direction: (-0.216549,0.149304,-0.964787) - New Polarization: (0.539549,-0.805298,-0.245726) - *** FresnelRefraction *** -Track (trackID 281, parentID 1) is processed with stopping code 2 -### pop requested out of 280 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.159857,-0.979339,-0.123861) - Old Polarization: (0.840452,0.20084,-0.503293) - New Momentum Direction: (0.21711,-0.961543,-0.168222) - New Polarization: (-0.683482,-0.272781,0.677084) - *** FresnelRefraction *** -Track (trackID 280, parentID 1) is processed with stopping code 2 -### pop requested out of 279 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.562874,-0.207722,-0.800015) - Old Polarization: (0.256114,-0.876434,0.407761) - New Momentum Direction: (0.761315,-0.280954,-0.58435) - New Polarization: (-0.630266,-0.532225,-0.565244) - *** FresnelRefraction *** -Track (trackID 279, parentID 1) is processed with stopping code 2 -### pop requested out of 278 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0963115,-0.639158,-0.763021) - Old Polarization: (0.937831,-0.19855,0.284695) - New Momentum Direction: (0.129783,-0.86129,-0.49126) - New Polarization: (0.842263,0.357198,-0.403737) - *** FresnelRefraction *** -Track (trackID 278, parentID 1) is processed with stopping code 2 -### pop requested out of 277 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.506512,-0.861843,-0.0259199) - Old Polarization: (-0.291846,-0.199652,0.935396) - New Momentum Direction: (0.687473,-0.725358,-0.0351802) - New Polarization: (-0.244706,-0.276992,0.92919) - *** FresnelRefraction *** -Track (trackID 277, parentID 1) is processed with stopping code 2 -### pop requested out of 276 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.789157,-0.56867,0.232048) - Old Polarization: (0.597009,-0.621485,0.507283) - New Momentum Direction: (-0.558239,-0.768187,0.313461) - New Polarization: (-0.808642,0.588299,0.00162158) - *** FresnelRefraction *** -Track (trackID 276, parentID 1) is processed with stopping code 2 -### pop requested out of 275 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.264872,-0.420103,0.867961) - Old Polarization: (-0.96187,0.178749,-0.207014) - New Momentum Direction: (-0.358124,-0.568006,0.741024) - New Polarization: (-0.597728,0.749183,0.285388) - *** FresnelRefraction *** -Track (trackID 275, parentID 1) is processed with stopping code 2 -### pop requested out of 274 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0466254,-0.5532,0.831743) - Old Polarization: (0.965237,0.189427,0.180099) - New Momentum Direction: (-0.062856,-0.745773,0.663228) - New Polarization: (0.957782,0.141726,0.250137) - *** FresnelRefraction *** -Track (trackID 274, parentID 1) is processed with stopping code 2 -### pop requested out of 273 stacked tracks. - -** Photon absorbed! ** -Track (trackID 273, parentID 1) is processed with stopping code 2 -### pop requested out of 272 stacked tracks. - -** Photon absorbed! ** -Track (trackID 272, parentID 1) is processed with stopping code 2 -### pop requested out of 271 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.449129,-0.891567,0.0582387) -Old Polarization: (0.108961,0.119353,0.986855) -New Polarization: (-0.226816,-0.110861,-0.967608) -Polarization Change: (-0.226816,-0.110861,-0.967608) -New Momentum Direction: (-0.972607,0.0777071,0.219085) -Momentum Change: (-0.972607,0.0777071,0.219085) - Photon at Boundary! - Old Momentum Direction: (-0.972607,0.0777071,0.219085) - Old Polarization: (-0.226816,-0.110861,-0.967608) - New Momentum Direction: (-0.948756,0.105637,0.297831) - New Polarization: (-0.308396,-0.103879,-0.945569) - *** FresnelRefraction *** -Track (trackID 271, parentID 1) is processed with stopping code 2 -### pop requested out of 270 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.363048,0.32359,0.873777) - Old Polarization: (-0.206279,0.942403,-0.263297) - New Momentum Direction: (0.489402,0.436211,0.75512) - New Polarization: (-0.865694,0.347442,0.360359) - *** FresnelRefraction *** -Track (trackID 270, parentID 1) is processed with stopping code 2 -### pop requested out of 269 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.137487,0.840818,0.523568) - Old Polarization: (-0.990471,-0.121001,-0.0657732) - New Momentum Direction: (-0.18579,0.681844,0.707511) - New Polarization: (-0.901348,0.168424,-0.399005) - *** FresnelRefraction *** -Track (trackID 269, parentID 1) is processed with stopping code 2 -### pop requested out of 268 stacked tracks. - -** Photon absorbed! ** -Track (trackID 268, parentID 1) is processed with stopping code 2 -### pop requested out of 267 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.84387,-0.249614,0.474949) - Old Polarization: (-0.360178,0.919642,-0.156622) - New Momentum Direction: (-0.68889,-0.337224,0.641647) - New Polarization: (-0.49462,0.865778,-0.0760193) - *** FresnelRefraction *** -Track (trackID 267, parentID 1) is processed with stopping code 2 -### pop requested out of 266 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.462843,-0.884948,-0.0514109) - Old Polarization: (0.148302,-0.134483,0.979755) - New Momentum Direction: (-0.629571,-0.77379,-0.0699304) - New Polarization: (0.120777,-0.186384,0.975025) - *** FresnelRefraction *** -Track (trackID 266, parentID 1) is processed with stopping code 2 -### pop requested out of 265 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.111313,-0.194696,-0.974527) - Old Polarization: (0.979877,-0.141982,0.14029) - New Momentum Direction: (0.150518,-0.263268,-0.952908) - New Polarization: (0.379956,0.905263,-0.190088) - *** FresnelRefraction *** -Track (trackID 265, parentID 1) is processed with stopping code 2 -### pop requested out of 264 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0477429,-0.398906,0.915748) - Old Polarization: (0.995337,-0.0959242,0.0101071) - New Momentum Direction: (-0.0643033,-0.537273,0.840954) - New Polarization: (0.995138,-0.0975257,0.0137852) - *** FresnelRefraction *** -Track (trackID 264, parentID 1) is processed with stopping code 2 -### pop requested out of 263 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.13628,-0.968996,-0.206095) - Old Polarization: (0.415418,0.244758,-0.876083) - New Momentum Direction: (0.184017,-0.942705,-0.278288) - New Polarization: (-0.628695,-0.33052,0.703918) - *** FresnelRefraction *** -Track (trackID 263, parentID 1) is processed with stopping code 2 -### pop requested out of 262 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.77925,0.565132,-0.270915) - Old Polarization: (-0.125506,-0.282803,-0.950931) - New Momentum Direction: (0.522646,0.768778,-0.36854) - New Polarization: (0.180863,-0.522422,-0.833285) - *** FresnelRefraction *** -Track (trackID 262, parentID 1) is processed with stopping code 2 -### pop requested out of 261 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.815093,0.157458,0.557522) - Old Polarization: (-0.502679,-0.286168,0.815734) - New Momentum Direction: (0.623811,0.212427,0.752153) - New Polarization: (0.684623,-0.612753,-0.394747) - *** FresnelRefraction *** -Track (trackID 261, parentID 1) is processed with stopping code 2 -### pop requested out of 260 stacked tracks. - -** Photon absorbed! ** -Track (trackID 260, parentID 1) is processed with stopping code 2 -### pop requested out of 259 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.646524,-0.43343,0.62781) -Old Polarization: (-0.417462,0.487793,0.766671) -New Polarization: (0.256016,0.922071,0.290244) -Polarization Change: (0.256016,0.922071,0.290244) -New Momentum Direction: (0.681643,0.0406982,-0.730552) -Momentum Change: (0.681643,0.0406982,-0.730552) - Photon at Boundary! - Old Momentum Direction: (0.681643,0.0406982,-0.730552) - Old Polarization: (0.256016,0.922071,0.290244) - New Momentum Direction: (-0.681643,0.0406982,-0.730552) - New Polarization: (0.20836,0.967909,-0.14049) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.681643,0.0406982,-0.730552) - Old Polarization: (0.20836,0.967909,-0.14049) - New Momentum Direction: (-0.92471,0.0552108,-0.376648) - New Polarization: (0.142896,0.967415,-0.209017) - *** FresnelRefraction *** -Track (trackID 259, parentID 1) is processed with stopping code 2 -### pop requested out of 258 stacked tracks. - -** Photon absorbed! ** -Track (trackID 258, parentID 1) is processed with stopping code 2 -### pop requested out of 257 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.0080004,0.154196,-0.988008) -Old Polarization: (0.27708,0.94901,0.150353) -New Polarization: (-0.328119,-0.894165,0.304643) -Polarization Change: (-0.328119,-0.894165,0.304643) -New Momentum Direction: (0.0360011,-0.334101,-0.94185) -Momentum Change: (0.0360011,-0.334101,-0.94185) - -** Photon absorbed! ** -Track (trackID 257, parentID 1) is processed with stopping code 2 -### pop requested out of 256 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.300624,0.881613,-0.363846) - Old Polarization: (-0.64744,0.0914825,0.756606) - New Momentum Direction: (-0.407951,0.767979,-0.493745) - New Polarization: (-0.658943,0.12666,0.741453) - *** FresnelRefraction *** -Track (trackID 256, parentID 1) is processed with stopping code 2 -### pop requested out of 255 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.199671,0.639551,-0.742365) -Old Polarization: (-0.978506,-0.17,0.11673) -New Polarization: (-0.935354,-0.331296,0.12392) -Polarization Change: (-0.935354,-0.331296,0.12392) -New Momentum Direction: (0.337546,-0.940738,0.0327832) -Momentum Change: (0.337546,-0.940738,0.0327832) - -** Photon absorbed! ** -Track (trackID 255, parentID 1) is processed with stopping code 2 -### pop requested out of 254 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.767308,0.622663,0.153391) - Old Polarization: (0.631336,-0.77544,-0.0103789) - New Momentum Direction: (0.493562,0.844464,0.208031) - New Polarization: (0.857853,-0.512064,0.0433421) - *** FresnelRefraction *** -Track (trackID 254, parentID 1) is processed with stopping code 2 -### pop requested out of 253 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.27589,-0.863514,-0.422172) - Old Polarization: (-0.841255,0.0044699,0.540619) - New Momentum Direction: (-0.375153,-0.727812,-0.574065) - New Polarization: (-0.833445,-0.00623824,0.552567) - *** FresnelRefraction *** -Track (trackID 253, parentID 1) is processed with stopping code 2 -### pop requested out of 252 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.252195,-0.883682,-0.39434) - Old Polarization: (0.00442717,-0.408561,0.91272) - New Momentum Direction: (-0.341372,-0.773657,-0.53378) - New Polarization: (-0.0393771,-0.555624,0.830501) - *** FresnelRefraction *** -Track (trackID 252, parentID 1) is processed with stopping code 2 -### pop requested out of 251 stacked tracks. - -** Photon absorbed! ** -Track (trackID 251, parentID 1) is processed with stopping code 2 -### pop requested out of 250 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.0989436,0.949689,-0.297154) -Old Polarization: (0.782691,-0.258678,-0.56611) -New Polarization: (-0.963116,-0.26623,-0.0391099) -Polarization Change: (-0.963116,-0.26623,-0.0391099) -New Momentum Direction: (0.192745,-0.581128,-0.790658) -Momentum Change: (0.192745,-0.581128,-0.790658) - Photon at Boundary! - Old Momentum Direction: (0.192745,-0.581128,-0.790658) - Old Polarization: (-0.963116,-0.26623,-0.0391099) - New Momentum Direction: (0.261829,-0.789415,-0.555221) - New Polarization: (-0.958772,-0.278602,-0.0560167) - *** FresnelRefraction *** -Track (trackID 250, parentID 1) is processed with stopping code 2 -### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0452204,-0.98898,-0.140973) - Old Polarization: (-0.672397,0.134498,-0.727869) - New Momentum Direction: (-0.0615059,-0.979516,-0.191742) - New Polarization: (-0.125611,-0.182982,0.975059) - *** FresnelRefraction *** -Track (trackID 249, parentID 1) is processed with stopping code 2 -### pop requested out of 248 stacked tracks. - -** Photon absorbed! ** -Track (trackID 248, parentID 1) is processed with stopping code 2 -### pop requested out of 247 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0150907,-0.990993,-0.133058) - Old Polarization: (0.149375,0.129346,-0.980284) - New Momentum Direction: (-0.0204351,-0.983421,-0.180181) - New Polarization: (0.364021,-0.175167,0.91477) - *** FresnelRefraction *** -Track (trackID 247, parentID 1) is processed with stopping code 2 -### pop requested out of 246 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.877303,0.334226,-0.344429) - Old Polarization: (-0.468441,-0.752446,0.463021) - New Momentum Direction: (-0.759624,0.45291,-0.466737) - New Polarization: (-0.635424,-0.669782,0.384225) - *** FresnelRefraction *** -Track (trackID 246, parentID 1) is processed with stopping code 2 -### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.790172,0.413187,-0.452664) - Old Polarization: (-0.205468,-0.874427,-0.439501) - New Momentum Direction: (-0.55729,0.559773,-0.613255) - New Polarization: (-0.291453,-0.823462,-0.486792) - *** FresnelRefraction *** -Track (trackID 245, parentID 1) is processed with stopping code 2 -### pop requested out of 244 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.839247,0.337496,0.426334) - Old Polarization: (-0.108034,0.871926,-0.47757) - New Momentum Direction: (0.679865,0.45517,0.574982) - New Polarization: (0.150122,0.681074,-0.71666) - *** FresnelRefraction *** -Track (trackID 244, parentID 1) is processed with stopping code 2 -### pop requested out of 243 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22457,-0.973313,0.0472307) - Old Polarization: (0.355481,0.126955,0.926022) - New Momentum Direction: (0.302508,-0.951021,0.0636223) - New Polarization: (-0.687356,-0.171422,0.705802) - *** FresnelRefraction *** -Track (trackID 243, parentID 1) is processed with stopping code 2 -### pop requested out of 242 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.174785,0.851369,0.494592) - Old Polarization: (-0.952301,0.0185552,0.304595) - New Momentum Direction: (0.235073,0.708704,0.665191) - New Polarization: (-0.950815,0.0256351,0.308698) - *** FresnelRefraction *** -Track (trackID 242, parentID 1) is processed with stopping code 2 -### pop requested out of 241 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.451125,0.544512,0.707101) - Old Polarization: (0.0754681,-0.812742,0.577715) - New Momentum Direction: (0.609267,0.735391,0.296636) - New Polarization: (0.247452,-0.531727,0.80996) - *** FresnelRefraction *** -Track (trackID 241, parentID 1) is processed with stopping code 2 -### pop requested out of 240 stacked tracks. - -** Photon absorbed! ** -Track (trackID 240, parentID 1) is processed with stopping code 2 -### pop requested out of 239 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.276461,-0.943738,-0.18146) - Old Polarization: (-0.102832,0.216785,-0.970788) - New Momentum Direction: (-0.376001,-0.893149,-0.246795) - New Polarization: (0.904695,-0.296249,-0.306209) - *** FresnelRefraction *** -Track (trackID 239, parentID 1) is processed with stopping code 2 -### pop requested out of 238 stacked tracks. - -** Photon absorbed! ** -Track (trackID 238, parentID 1) is processed with stopping code 2 -### pop requested out of 237 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.652299,0.678192,-0.33847) - Old Polarization: (-0.111754,-0.527726,-0.842031) - New Momentum Direction: (-0.883913,0.0913019,-0.458651) - New Polarization: (0.345052,0.789315,-0.50786) - *** FresnelRefraction *** -Track (trackID 237, parentID 1) is processed with stopping code 2 -### pop requested out of 236 stacked tracks. - -** Photon absorbed! ** -Track (trackID 236, parentID 1) is processed with stopping code 2 -### pop requested out of 235 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.496191,-0.450582,-0.742139) - Old Polarization: (-0.555039,0.492681,-0.670222) - New Momentum Direction: (0.669181,-0.60767,-0.427708) - New Polarization: (-0.321839,0.281786,-0.90389) - *** FresnelRefraction *** -Track (trackID 235, parentID 1) is processed with stopping code 2 -### pop requested out of 234 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.232151,-0.656729,0.717505) - Old Polarization: (0.124327,-0.751641,-0.647748) - New Momentum Direction: (-0.313434,-0.886672,0.339958) - New Polarization: (0.422564,0.19037,0.886114) - *** FresnelRefraction *** -Track (trackID 234, parentID 1) is processed with stopping code 2 -### pop requested out of 233 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.495,0.868176,0.0352899) - Old Polarization: (-0.472646,0.23496,0.849352) - New Momentum Direction: (0.670505,0.740364,0.0478021) - New Polarization: (-0.41846,0.324198,0.848402) - *** FresnelRefraction *** -Track (trackID 233, parentID 1) is processed with stopping code 2 -### pop requested out of 232 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.115205,-0.990836,-0.0705123) - Old Polarization: (0.674772,-0.0259672,-0.737569) - New Momentum Direction: (-0.156661,-0.982987,-0.0958863) - New Polarization: (0.673651,-0.0353528,-0.738204) - *** FresnelRefraction *** -Track (trackID 232, parentID 1) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.179718,-0.208388,-0.961393) - Old Polarization: (0.967538,0.139083,-0.211013) - New Momentum Direction: (-0.243748,-0.282633,-0.927742) - New Polarization: (0.950174,0.122064,-0.286827) - *** FresnelRefraction *** -Track (trackID 231, parentID 1) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.807631,-0.587532,0.0503787) - Old Polarization: (-0.177603,-0.160888,0.970862) - New Momentum Direction: (0.608501,-0.790652,0.0677955) - New Polarization: (0.248148,0.270734,0.930121) - *** FresnelRefraction *** -Track (trackID 230, parentID 1) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.441059,0.781868,-0.440624) - Old Polarization: (-0.292971,-0.338632,-0.894146) - New Momentum Direction: (0.598576,0.533029,-0.597986) - New Polarization: (-0.796178,0.478201,-0.370708) - *** FresnelRefraction *** -Track (trackID 229, parentID 1) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0474606,-0.0447631,0.99787) - Old Polarization: (0.723978,0.689814,-0.00348968) - New Momentum Direction: (0.064416,-0.0607548,0.996072) - New Polarization: (0.646377,0.763003,0.00473767) - *** FresnelRefraction *** -Track (trackID 228, parentID 1) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.577172,-0.137157,-0.805022) - Old Polarization: (0.781181,0.379998,0.495336) - New Momentum Direction: (0.781428,-0.185696,-0.595724) - New Polarization: (-0.367098,0.635196,-0.679533) - *** FresnelRefraction *** -Track (trackID 227, parentID 1) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 12 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 13 -Track (trackID 226, parentID 1) is processed with stopping code 4 -### pop requested out of 251 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.874591,0.346798,-0.338853) - Old Polarization: (-0.479081,-0.510507,0.714048) - New Momentum Direction: (-0.7571,0.467274,-0.456568) - New Polarization: (-0.64583,-0.429954,0.630906) - *** FresnelRefraction *** -Track (trackID 327, parentID 226) is processed with stopping code 2 -### pop requested out of 250 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.279562,-0.92718,0.249364) - Old Polarization: (0.251846,0.179812,0.950916) - New Momentum Direction: (-0.379696,-0.860887,0.338682) - New Polarization: (0.893478,-0.246338,0.375518) - *** FresnelRefraction *** -Track (trackID 326, parentID 226) is processed with stopping code 2 -### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.348902,0.929252,0.121485) - Old Polarization: (0.866634,0.270588,0.4192) - New Momentum Direction: (-0.472642,0.865752,0.164569) - New Polarization: (0.824378,0.368358,0.429783) - *** FresnelRefraction *** -Track (trackID 325, parentID 226) is processed with stopping code 2 -### pop requested out of 248 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.995819,0.0451359,0.0794152) - Old Polarization: (-0.089944,-0.332791,-0.938701) - New Momentum Direction: (-0.992386,0.0608582,0.107078) - New Polarization: (-0.121276,-0.331203,-0.935733) - *** FresnelRefraction *** -Track (trackID 324, parentID 226) is processed with stopping code 2 -### pop requested out of 247 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.735157,0.659466,-0.156996) - Old Polarization: (-0.544576,-0.71244,-0.442568) - New Momentum Direction: (-0.408966,0.88774,-0.21134) - New Polarization: (-0.754093,-0.459185,-0.469568) - *** FresnelRefraction *** -Track (trackID 323, parentID 226) is processed with stopping code 2 -### pop requested out of 246 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.269751,-0.891234,-0.364604) - Old Polarization: (0.951823,0.30413,-0.0392094) - New Momentum Direction: (0.365166,-0.78933,-0.493571) - New Polarization: (0.273508,-0.415822,0.867344) - *** FresnelRefraction *** -Track (trackID 322, parentID 226) is processed with stopping code 2 -### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.825951,-0.480503,0.294827) - Old Polarization: (-0.557851,0.621226,-0.550346) - New Momentum Direction: (-0.644798,-0.651492,0.399742) - New Polarization: (-0.75693,0.471541,-0.452445) - *** FresnelRefraction *** -Track (trackID 321, parentID 226) is processed with stopping code 2 -### pop requested out of 244 stacked tracks. - -** Photon absorbed! ** -Track (trackID 320, parentID 226) is processed with stopping code 2 -### pop requested out of 243 stacked tracks. - -** Photon absorbed! ** -Track (trackID 319, parentID 226) is processed with stopping code 2 -### pop requested out of 242 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.620047,0.20181,-0.758165) - Old Polarization: (0.333198,0.94261,-0.0215921) - New Momentum Direction: (-0.841115,0.273762,-0.466454) - New Polarization: (0.325083,0.945161,-0.0314779) - *** FresnelRefraction *** -Track (trackID 318, parentID 226) is processed with stopping code 2 -### pop requested out of 241 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.18376,-0.0613904,-0.981052) - Old Polarization: (0.662491,-0.729584,0.169745) - New Momentum Direction: (0.249512,-0.0833567,-0.964777) - New Polarization: (-0.954642,-0.188344,-0.230618) - *** FresnelRefraction *** -Track (trackID 317, parentID 226) is processed with stopping code 2 -### pop requested out of 240 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.813486,0.523871,0.252586) - Old Polarization: (-0.532519,0.845536,-0.0386188) - New Momentum Direction: (0.613474,0.711348,0.342979) - New Polarization: (0.727907,-0.34091,-0.594922) - *** FresnelRefraction *** -Track (trackID 316, parentID 226) is processed with stopping code 2 -### pop requested out of 239 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.689371,-0.652729,-0.314185) - Old Polarization: (-0.485062,-0.093797,-0.869435) - New Momentum Direction: (0.180394,-0.886269,-0.426598) - New Polarization: (0.720877,0.414199,-0.555676) - *** FresnelRefraction *** -Track (trackID 315, parentID 226) is processed with stopping code 2 -### pop requested out of 238 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.766405,0.368087,-0.526436) - Old Polarization: (0.621877,-0.219873,0.751615) - New Momentum Direction: (0.489798,0.499584,-0.714503) - New Polarization: (0.847369,-0.0799968,0.524944) - *** FresnelRefraction *** -Track (trackID 314, parentID 226) is processed with stopping code 2 -### pop requested out of 237 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.543578,0.00450419,-0.839346) - Old Polarization: (0.154448,-0.983447,0.0947465) - New Momentum Direction: (0.73768,0.00611254,-0.675123) - New Polarization: (-0.113321,-0.984652,-0.132737) - *** FresnelRefraction *** -Track (trackID 313, parentID 226) is processed with stopping code 2 -### pop requested out of 236 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.107673,0.714006,-0.69181) - Old Polarization: (-0.761202,0.506819,0.404607) - New Momentum Direction: (0.146111,0.312007,-0.938777) - New Polarization: (-0.674951,0.725224,0.135983) - *** FresnelRefraction *** -Track (trackID 312, parentID 226) is processed with stopping code 2 -### pop requested out of 235 stacked tracks. - -** Photon absorbed! ** -Track (trackID 311, parentID 226) is processed with stopping code 2 -### pop requested out of 234 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.769078,0.237315,-0.593466) - Old Polarization: (0.621892,-0.492184,0.609102) - New Momentum Direction: (0.495499,0.32251,-0.806516) - New Polarization: (0.847941,-0.38094,0.368619) - *** FresnelRefraction *** -Track (trackID 310, parentID 226) is processed with stopping code 2 -### pop requested out of 233 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.605176,0.0251281,-0.795695) - Old Polarization: (0.284051,-0.940528,0.186337) - New Momentum Direction: (0.821194,0.0340975,-0.569629) - New Polarization: (-0.143906,-0.953578,-0.264539) - *** FresnelRefraction *** -Track (trackID 309, parentID 226) is processed with stopping code 2 -### pop requested out of 232 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.665444,0.58027,-0.469543) - Old Polarization: (0.418264,0.231145,0.878423) - New Momentum Direction: (-0.665444,0.58027,-0.469543) - New Polarization: (0.418264,-0.231145,-0.878423) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.665444,0.58027,-0.469543) - Old Polarization: (0.418264,-0.231145,-0.878423) - New Momentum Direction: (-0.665444,-0.58027,-0.469543) - New Polarization: (-0.418264,-0.231145,0.878423) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.665444,-0.58027,-0.469543) - Old Polarization: (-0.418264,-0.231145,0.878423) - New Momentum Direction: (-0.665444,-0.58027,0.469543) - New Polarization: (0.418264,0.231145,0.878423) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 308, parentID 226) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - -** Photon absorbed! ** -Track (trackID 307, parentID 226) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0466121,0.263859,-0.963434) - Old Polarization: (-0.8846,-0.437118,-0.162513) - New Momentum Direction: (0.0633336,0.358514,-0.931373) - New Polarization: (-0.880051,-0.42004,-0.22153) - *** FresnelRefraction *** -Track (trackID 306, parentID 226) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.655901,0.598622,-0.459831) -Old Polarization: (0.384286,0.259515,0.885989) -New Polarization: (0.105911,-0.993557,-0.0403439) -Polarization Change: (0.105911,-0.993557,-0.0403439) -New Momentum Direction: (0.42488,0.0085346,0.905209) -Momentum Change: (0.42488,0.0085346,0.905209) - Photon at Boundary! - Old Momentum Direction: (0.42488,0.0085346,0.905209) - Old Polarization: (0.105911,-0.993557,-0.0403439) - New Momentum Direction: (-0.42488,0.0085346,0.905209) - New Polarization: (0.105911,0.993557,0.0403439) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.42488,0.0085346,0.905209) - Old Polarization: (0.105911,0.993557,0.0403439) - New Momentum Direction: (-0.577737,0.0116051,0.81614) - New Polarization: (0.0986742,0.993558,0.0557226) - *** FresnelRefraction *** -Track (trackID 305, parentID 226) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.752725,0.400455,-0.522533) - Old Polarization: (0.616679,-0.151047,0.772588) - New Momentum Direction: (0.458484,0.540584,-0.70538) - New Polarization: (0.839431,-0.00281323,0.543458) - *** FresnelRefraction *** -Track (trackID 304, parentID 226) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.353835,0.0173205,-0.935147) - Old Polarization: (-0.244573,-0.963327,-0.110382) - New Momentum Direction: (0.479413,0.0234676,-0.877276) - New Polarization: (-0.228987,-0.961668,-0.150862) - *** FresnelRefraction *** -Track (trackID 303, parentID 226) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 3 -Track (trackID 226, parentID 1) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.367302,-0.648747,-0.666495) - Old Polarization: (-0.929338,0.226951,0.291246) - New Momentum Direction: (-0.367302,-0.648747,0.666495) - New Polarization: (0.929338,-0.226951,0.291246) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.367302,-0.648747,0.666495) - Old Polarization: (0.929338,-0.226951,0.291246) - New Momentum Direction: (-0.367302,0.648747,0.666495) - New Polarization: (-0.929338,-0.226951,-0.291246) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.367302,0.648747,0.666495) - Old Polarization: (-0.929338,-0.226951,-0.291246) - New Momentum Direction: (0.367302,0.648747,0.666495) - New Polarization: (-0.929338,0.226951,0.291246) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 330, parentID 226) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.257925,-0.635849,0.727441) - Old Polarization: (0.85963,-0.494718,-0.127633) - New Momentum Direction: (-0.257925,-0.635849,-0.727441) - New Polarization: (0.902386,-0.42756,0.0537712) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.257925,-0.635849,-0.727441) - Old Polarization: (0.902386,-0.42756,0.0537712) - New Momentum Direction: (-0.257925,0.635849,-0.727441) - New Polarization: (-0.902386,-0.42756,-0.0537712) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.257925,0.635849,-0.727441) - Old Polarization: (-0.902386,-0.42756,-0.0537712) - New Momentum Direction: (0.257925,0.635849,-0.727441) - New Polarization: (-0.902386,0.42756,0.0537712) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.257925,0.635849,-0.727441) - Old Polarization: (-0.902386,0.42756,0.0537712) - New Momentum Direction: (0.257925,0.635849,0.727441) - New Polarization: (-0.917251,0.397681,-0.0223838) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.257925,0.635849,0.727441) - Old Polarization: (-0.917251,0.397681,-0.0223838) - New Momentum Direction: (0.257925,-0.635849,0.727441) - New Polarization: (0.917251,0.397681,0.0223838) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 329, parentID 226) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.529763,-0.742681,-0.409605) - Old Polarization: (0.431058,-0.651683,0.624098) - New Momentum Direction: (-0.72045,-0.413106,-0.557041) - New Polarization: (0.189857,-0.890026,0.414497) - *** FresnelRefraction *** -Track (trackID 328, parentID 226) is processed with stopping code 2 -### pop requested out of 225 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737956,-0.315042,0.596799) - Old Polarization: (-0.674849,-0.344503,0.652608) - New Momentum Direction: (0.402168,-0.427417,0.809676) - New Polarization: (0.915566,0.187745,-0.355655) - *** FresnelRefraction *** -Track (trackID 225, parentID 1) is processed with stopping code 2 -### pop requested out of 224 stacked tracks. - -** Photon absorbed! ** -Track (trackID 224, parentID 1) is processed with stopping code 2 -### pop requested out of 223 stacked tracks. - -** Photon absorbed! ** -Track (trackID 223, parentID 1) is processed with stopping code 2 -### pop requested out of 222 stacked tracks. - -** Photon absorbed! ** -Track (trackID 222, parentID 1) is processed with stopping code 2 -### pop requested out of 221 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738118,-0.302389,-0.603111) - Old Polarization: (-0.674672,-0.330825,-0.659828) - New Momentum Direction: (0.403169,-0.41016,-0.818061) - New Polarization: (0.915125,0.180701,0.360406) - *** FresnelRefraction *** -Track (trackID 221, parentID 1) is processed with stopping code 2 -### pop requested out of 220 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738612,-0.637482,0.219245) - Old Polarization: (-0.67413,-0.698458,0.240217) - New Momentum Direction: (0.406212,-0.864102,0.297186) - New Polarization: (0.913779,0.384129,-0.132111) - *** FresnelRefraction *** -Track (trackID 220, parentID 1) is processed with stopping code 2 -### pop requested out of 219 stacked tracks. - -** Photon absorbed! ** -Track (trackID 219, parentID 1) is processed with stopping code 2 -### pop requested out of 218 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736231,-0.00135337,-0.676728) - Old Polarization: (-0.67673,-0.00147236,-0.73623) - New Momentum Direction: (0.391287,-0.00184041,-0.920267) - New Polarization: (0.920269,0.000782521,0.391286) - *** FresnelRefraction *** -Track (trackID 218, parentID 1) is processed with stopping code 2 -### pop requested out of 217 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736636,-0.450879,0.504059) - Old Polarization: (-0.676289,-0.491112,0.549037) - New Momentum Direction: (0.393875,-0.612803,0.685081) - New Polarization: (0.919164,0.262595,-0.293567) - *** FresnelRefraction *** -Track (trackID 217, parentID 1) is processed with stopping code 2 -### pop requested out of 216 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.735789,-0.639282,-0.223457) -Old Polarization: (-0.677211,-0.694579,-0.242786) -New Polarization: (0.266747,-0.0722936,0.961051) -Polarization Change: (0.266747,-0.0722936,0.961051) -New Momentum Direction: (-0.622848,-0.773894,0.114661) -Momentum Change: (-0.622848,-0.773894,0.114661) - Photon at Boundary! - Old Momentum Direction: (-0.622848,-0.773894,0.114661) - Old Polarization: (0.266747,-0.0722936,0.961051) - New Momentum Direction: (-0.847506,-0.507338,0.156019) - New Polarization: (0.24035,-0.104736,0.965019) - *** FresnelRefraction *** -Track (trackID 216, parentID 1) is processed with stopping code 2 -### pop requested out of 215 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742575,0.6549,0.140318) - Old Polarization: (-0.669763,0.726095,0.155573) - New Momentum Direction: (0.429609,0.882975,0.189186) - New Polarization: (0.903015,-0.420075,-0.0900049) - *** FresnelRefraction *** -Track (trackID 215, parentID 1) is processed with stopping code 2 -### pop requested out of 214 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736599,0.0240631,-0.675902) - Old Polarization: (-0.67633,0.0262074,-0.736132) - New Momentum Direction: (0.393636,0.0327065,-0.918684) - New Polarization: (0.919266,-0.0140051,0.393387) - *** FresnelRefraction *** -Track (trackID 214, parentID 1) is processed with stopping code 2 -### pop requested out of 213 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743061,0.58443,-0.326039) - Old Polarization: (-0.669223,0.648912,-0.362012) - New Momentum Direction: (0.43237,0.787448,-0.439298) - New Polarization: (0.901696,-0.377587,0.210646) - *** FresnelRefraction *** -Track (trackID 213, parentID 1) is processed with stopping code 2 -### pop requested out of 212 stacked tracks. - -** Photon absorbed! ** -Track (trackID 212, parentID 1) is processed with stopping code 2 -### pop requested out of 211 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738786,0.078842,0.669313) - Old Polarization: (-0.67394,0.0864281,0.733713) - New Momentum Direction: (0.407272,0.106845,0.907036) - New Polarization: (0.913307,-0.0476454,-0.404475) - *** FresnelRefraction *** -Track (trackID 211, parentID 1) is processed with stopping code 2 -### pop requested out of 210 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739854,-0.00386876,0.672756) - Old Polarization: (-0.672767,-0.00425455,0.739842) - New Momentum Direction: (0.413727,-0.00523528,0.910386) - New Polarization: (0.910401,0.00237915,-0.41372) - *** FresnelRefraction *** -Track (trackID 210, parentID 1) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - -** Photon absorbed! ** -Track (trackID 209, parentID 1) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736692,-0.472326,-0.483935) - Old Polarization: (-0.676228,-0.514558,-0.527205) - New Momentum Direction: (0.394231,-0.641903,-0.65768) - New Polarization: (0.919012,0.275359,0.282126) - *** FresnelRefraction *** -Track (trackID 208, parentID 1) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.745087,-0.318532,0.585989) - Old Polarization: (-0.666967,-0.35584,0.654624) - New Momentum Direction: (0.443623,-0.428016,0.787402) - New Polarization: (0.896214,0.211866,-0.389761) - *** FresnelRefraction *** -Track (trackID 207, parentID 1) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743661,0.23748,-0.624958) - Old Polarization: (-0.668557,0.264157,-0.695163) - New Momentum Direction: (0.43574,0.319717,-0.841375) - New Polarization: (0.900072,-0.15478,0.407324) - *** FresnelRefraction *** -Track (trackID 206, parentID 1) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740148,-0.190799,0.644808) - Old Polarization: (-0.672444,-0.21001,0.709729) - New Momentum Direction: (0.415479,-0.258091,0.872219) - New Polarization: (0.909603,0.117888,-0.398404) - *** FresnelRefraction *** -Track (trackID 205, parentID 1) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.737751,0.287358,0.61086) -Old Polarization: (-0.675073,0.314038,0.667575) -New Polarization: (0.47772,0.529784,-0.700794) -Polarization Change: (0.47772,0.529784,-0.700794) -New Momentum Direction: (0.482427,-0.824867,-0.294718) -Momentum Change: (0.482427,-0.824867,-0.294718) - -** Photon absorbed! ** -Track (trackID 204, parentID 1) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738843,-0.0479759,0.672168) - Old Polarization: (-0.673878,-0.052601,0.736968) - New Momentum Direction: (0.407618,-0.0650108,0.910835) - New Polarization: (0.913152,0.0290199,-0.406584) - *** FresnelRefraction *** -Track (trackID 203, parentID 1) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740313,-0.505426,0.443262) - Old Polarization: (-0.672262,-0.556589,0.488131) - New Momentum Direction: (0.416461,-0.683528,0.599458) - New Polarization: (0.909154,0.313107,-0.274597) - *** FresnelRefraction *** -Track (trackID 202, parentID 1) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739376,0.0785171,0.668699) - Old Polarization: (-0.673293,0.0862235,0.734331) - New Momentum Direction: (0.410854,0.106319,0.905481) - New Polarization: (0.911701,-0.0479124,-0.408051) - *** FresnelRefraction *** -Track (trackID 201, parentID 1) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737034,-0.560843,-0.377142) - Old Polarization: (-0.675856,-0.61161,-0.411281) - New Momentum Direction: (0.396396,-0.761847,-0.512308) - New Polarization: (0.91808,0.32894,0.221198) - *** FresnelRefraction *** -Track (trackID 200, parentID 1) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744621,0.467001,0.476916) - Old Polarization: (-0.667487,0.520967,0.532028) - New Momentum Direction: (0.441068,0.627909,0.64124) - New Polarization: (0.897474,-0.308589,-0.315141) - *** FresnelRefraction *** -Track (trackID 199, parentID 1) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736555,0.369201,0.566726) - Old Polarization: (-0.676378,0.402049,0.617146) - New Momentum Direction: (0.393354,0.501848,0.770339) - New Polarization: (0.919387,-0.214712,-0.329584) - *** FresnelRefraction *** -Track (trackID 198, parentID 1) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738288,-0.47137,-0.482432) - Old Polarization: (-0.674485,-0.51596,-0.528068) - New Momentum Direction: (0.404222,-0.639219,-0.65422) - New Polarization: (0.914661,0.282494,0.289123) - *** FresnelRefraction *** -Track (trackID 197, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74384,0.509063,0.433078) - Old Polarization: (-0.668358,0.566556,0.481988) - New Momentum Direction: (0.436742,0.685182,0.582908) - New Polarization: (0.899587,-0.33265,-0.282997) - *** FresnelRefraction *** -Track (trackID 196, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.73982,-0.420838,0.524939) -Old Polarization: (-0.672804,-0.462757,0.577226) -New Polarization: (-0.528162,-0.558235,0.639858) -Polarization Change: (-0.528162,-0.558235,0.639858) -New Momentum Direction: (0.837118,-0.468666,0.282107) -Momentum Change: (0.837118,-0.468666,0.282107) - Photon at Boundary! - Old Momentum Direction: (0.837118,-0.468666,0.282107) - Old Polarization: (-0.528162,-0.558235,0.639858) - New Momentum Direction: (0.672306,-0.634237,0.38177) - New Polarization: (0.716293,0.687545,-0.119188) - *** FresnelRefraction *** -Track (trackID 195, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - -** Photon absorbed! ** -Track (trackID 194, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741754,-0.125435,0.658837) - Old Polarization: (-0.670672,-0.13873,0.728666) - New Momentum Direction: (0.424901,-0.169306,0.889266) - New Polarization: (0.90524,0.0794691,-0.417404) - *** FresnelRefraction *** -Track (trackID 193, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - -** Photon absorbed! ** -Track (trackID 192, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741048,0.595394,0.310409) - Old Polarization: (-0.671452,0.657107,0.342583) - New Momentum Direction: (0.420794,0.804399,0.419374) - New Polarization: (0.907156,-0.373129,-0.194531) - *** FresnelRefraction *** -Track (trackID 191, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736666,0.676255,0.00167989) - Old Polarization: (-0.676257,0.736664,0.00182995) - New Momentum Direction: (-0.736666,0.676255,0.00167989) - New Polarization: (0.676257,0.736664,0.00182995) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.736666,0.676255,0.00167989) - Old Polarization: (0.676257,0.736664,0.00182995) - New Momentum Direction: (-0.736666,-0.676255,0.00167989) - New Polarization: (-0.676257,0.736664,-0.00182995) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 190, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738183,-0.581462,0.342035) - Old Polarization: (-0.6746,-0.636266,0.374272) - New Momentum Direction: (0.403573,-0.788626,0.463895) - New Polarization: (0.914947,0.347854,-0.204619) - *** FresnelRefraction *** -Track (trackID 189, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737293,-0.320412,-0.594756) - Old Polarization: (-0.675573,-0.349685,-0.649093) - New Momentum Direction: (0.398028,-0.435094,-0.807631) - New Polarization: (0.917373,0.188777,0.350413) - *** FresnelRefraction *** -Track (trackID 188, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73666,0.24141,0.631707) - Old Polarization: (-0.676264,0.26297,0.688124) - New Momentum Direction: (0.394023,0.328097,0.858544) - New Polarization: (0.9191,-0.140657,-0.368063) - *** FresnelRefraction *** -Track (trackID 187, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - -** Photon absorbed! ** -Track (trackID 186, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.736372,-0.660024,0.148744) -Old Polarization: (-0.676577,-0.718356,0.16189) -New Polarization: (-0.992697,-0.0171904,-0.1194) -Polarization Change: (-0.992697,-0.0171904,-0.1194) -New Momentum Direction: (0.0224523,0.946169,-0.322893) -Momentum Change: (0.0224523,0.946169,-0.322893) - -** Photon absorbed! ** -Track (trackID 185, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737423,-0.297385,0.60644) - Old Polarization: (-0.675431,-0.32468,0.6621) - New Momentum Direction: (0.398844,-0.403754,0.823351) - New Polarization: (0.917019,0.175607,-0.358105) - *** FresnelRefraction *** -Track (trackID 184, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738505,-0.0914989,0.668011) - Old Polarization: (-0.674248,-0.100219,0.731673) - New Momentum Direction: (-0.738505,-0.0914989,0.668011) - New Polarization: (0.674248,-0.100219,0.731673) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.738505,-0.0914989,0.668011) - Old Polarization: (0.674248,-0.100219,0.731673) - New Momentum Direction: (-0.738505,-0.0914989,-0.668011) - New Polarization: (-0.674248,0.100219,0.731673) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.738505,-0.0914989,-0.668011) - Old Polarization: (-0.674248,0.100219,0.731673) - New Momentum Direction: (-0.405553,-0.124044,-0.905616) - New Polarization: (-0.914071,0.0550357,0.401802) - *** FresnelRefraction *** -Track (trackID 183, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73643,-0.202307,0.645557) - Old Polarization: (-0.676514,-0.220224,0.70273) - New Momentum Direction: (0.392556,-0.275038,0.877641) - New Polarization: (0.919728,0.117391,-0.374593) - *** FresnelRefraction *** -Track (trackID 182, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740952,0.664328,0.0982746) - Old Polarization: (-0.671558,0.732975,0.10843) - New Momentum Direction: (0.42023,0.897649,0.13279) - New Polarization: (0.907418,-0.415706,-0.0614956) - *** FresnelRefraction *** -Track (trackID 181, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738204,0.424169,0.524534) - Old Polarization: (-0.674578,0.464176,0.574008) - New Momentum Direction: (0.403699,0.575276,0.711396) - New Polarization: (0.914892,-0.253842,-0.313906) - *** FresnelRefraction *** -Track (trackID 180, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - -** Photon absorbed! ** -Track (trackID 179, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - -** Photon absorbed! ** -Track (trackID 178, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736536,0.309081,0.601651) - Old Polarization: (-0.676398,0.336561,0.655143) - New Momentum Direction: (0.393235,0.420138,0.817833) - New Polarization: (0.919438,-0.179689,-0.349779) - *** FresnelRefraction *** -Track (trackID 177, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - -** Photon absorbed! ** -Track (trackID 176, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741608,-0.668568,-0.0550881) - Old Polarization: (-0.670833,-0.739103,-0.0609) - New Momentum Direction: (0.424054,-0.902578,-0.0743698) - New Polarization: (0.905637,0.422622,0.0348229) - *** FresnelRefraction *** -Track (trackID 175, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - -** Photon absorbed! ** -Track (trackID 174, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 173, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739004,0.494932,-0.457073) - Old Polarization: (-0.673701,0.542906,-0.501377) - New Momentum Direction: (0.408599,0.670522,-0.619231) - New Polarization: (0.912714,-0.300176,0.277214) - *** FresnelRefraction *** -Track (trackID 172, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.736558,-0.535604,-0.41305) -Old Polarization: (-0.676374,-0.583263,-0.449803) -New Polarization: (-0.775096,-0.318961,-0.545427) -Polarization Change: (-0.775096,-0.318961,-0.545427) -New Momentum Direction: (0.218376,-0.945266,0.242453) -Momentum Change: (0.218376,-0.945266,0.242453) - Photon at Boundary! - Old Momentum Direction: (0.218376,-0.945266,0.242453) - Old Polarization: (-0.775096,-0.318961,-0.545427) - New Momentum Direction: (0.296833,-0.896259,0.32956) - New Polarization: (-0.742036,-0.43371,-0.511154) - *** FresnelRefraction *** -Track (trackID 171, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736839,-0.211299,-0.6422) - Old Polarization: (-0.676068,-0.230292,-0.699927) - New Momentum Direction: (0.395165,-0.287103,-0.872592) - New Polarization: (0.91861,0.123505,0.375369) - *** FresnelRefraction *** -Track (trackID 170, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739307,0.182079,0.648284) - Old Polarization: (-0.673369,0.199909,0.711766) - New Momentum Direction: (0.410437,0.246575,0.87792) - New Polarization: (0.911889,-0.110982,-0.395147) - *** FresnelRefraction *** -Track (trackID 169, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736971,-0.201368,0.645233) - Old Polarization: (-0.675925,-0.219554,0.703507) - New Momentum Direction: (0.395997,-0.27356,0.876557) - New Polarization: (0.918252,0.117973,-0.378015) - *** FresnelRefraction *** -Track (trackID 168, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738796,-0.413444,-0.532206) - Old Polarization: (-0.673929,-0.45324,-0.583433) - New Momentum Direction: (0.407337,-0.560281,-0.721222) - New Polarization: (0.913278,0.249895,0.321677) - *** FresnelRefraction *** -Track (trackID 167, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736405,-0.290831,-0.61084) - Old Polarization: (-0.676541,-0.316566,-0.66489) - New Momentum Direction: (0.392396,-0.395402,-0.830471) - New Polarization: (0.919796,0.168683,0.354289) - *** FresnelRefraction *** -Track (trackID 166, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - -** Photon absorbed! ** -Track (trackID 165, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - -** Photon absorbed! ** -Track (trackID 164, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737459,0.525809,-0.423886) - Old Polarization: (-0.675392,0.574129,-0.46284) - New Momentum Direction: (0.399069,0.713845,-0.575473) - New Polarization: (0.916921,-0.310685,0.250462) - *** FresnelRefraction *** -Track (trackID 163, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742916,0.196312,-0.639951) - Old Polarization: (-0.669385,0.217877,-0.710249) - New Momentum Direction: (0.431546,0.264559,-0.862425) - New Polarization: (0.902091,-0.126561,0.41257) - *** FresnelRefraction *** -Track (trackID 162, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741381,-0.418959,-0.52424) - Old Polarization: (-0.671084,-0.462845,-0.579154) - New Momentum Direction: (0.422736,-0.565775,-0.70795) - New Polarization: (0.906253,0.263915,0.330234) - *** FresnelRefraction *** -Track (trackID 161, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741564,0.621063,0.253697) - Old Polarization: (-0.670882,0.686498,0.280427) - New Momentum Direction: (0.423802,0.838496,0.342516) - New Polarization: (0.905755,-0.392331,-0.160263) - *** FresnelRefraction *** -Track (trackID 160, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738839,-0.519697,-0.42899) - Old Polarization: (-0.673882,-0.569791,-0.470341) - New Momentum Direction: (0.407597,-0.704229,-0.581314) - New Polarization: (0.913162,0.314338,0.259474) - *** FresnelRefraction *** -Track (trackID 159, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742052,0.00877387,0.670285) - Old Polarization: (-0.670342,0.00971246,0.741989) - New Momentum Direction: (0.426618,0.0118378,0.904354) - New Polarization: (0.904432,-0.00558386,-0.426582) - *** FresnelRefraction *** -Track (trackID 158, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741234,0.272516,0.613438) - Old Polarization: (-0.671246,0.30093,0.677399) - New Momentum Direction: (0.421882,0.368086,0.82857) - New Polarization: (0.906651,-0.171278,-0.385549) - *** FresnelRefraction *** -Track (trackID 157, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - -** Photon absorbed! ** -Track (trackID 156, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739474,0.252176,-0.624167) - Old Polarization: (-0.673185,0.277008,-0.68563) - New Momentum Direction: (0.411448,0.341424,-0.845068) - New Polarization: (0.911433,-0.154129,0.381489) - *** FresnelRefraction *** -Track (trackID 155, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - -** Photon absorbed! ** -Track (trackID 154, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - -** Photon absorbed! ** -Track (trackID 153, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742158,-0.317186,0.590418) - Old Polarization: (-0.670224,-0.351229,0.653787) - New Momentum Direction: (0.427229,-0.427889,0.796484) - New Polarization: (0.904144,0.202187,-0.376357) - *** FresnelRefraction *** -Track (trackID 152, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742213,0.159661,0.650867) - Old Polarization: (-0.670164,0.176826,0.720842) - New Momentum Direction: (0.427544,0.215369,0.877965) - New Polarization: (0.903995,-0.101858,-0.415233) - *** FresnelRefraction *** -Track (trackID 151, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739168,-0.414376,0.530964) - Old Polarization: (-0.673521,-0.454765,0.582717) - New Momentum Direction: (0.409598,-0.561261,0.719177) - New Polarization: (0.912266,0.252,-0.322903) - *** FresnelRefraction *** -Track (trackID 150, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738817,0.152456,0.656435) - Old Polarization: (-0.673906,0.16714,0.719663) - New Momentum Direction: (0.407462,0.206596,0.889547) - New Polarization: (0.913222,-0.0921788,-0.396898) - *** FresnelRefraction *** -Track (trackID 149, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738495,-0.561449,0.373362) - Old Polarization: (-0.674258,-0.614939,0.408932) - New Momentum Direction: (0.405495,-0.761161,0.506169) - New Polarization: (0.914097,0.337652,-0.224538) - *** FresnelRefraction *** -Track (trackID 148, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - -** Photon absorbed! ** -Track (trackID 147, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739179,0.661008,0.129161) - Old Polarization: (-0.673509,0.725459,0.141755) - New Momentum Direction: (0.409663,0.895305,0.174943) - New Polarization: (0.912237,-0.40206,-0.0785627) - *** FresnelRefraction *** -Track (trackID 146, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739027,-0.659811,0.135977) - Old Polarization: (-0.673676,-0.723816,0.149168) - New Momentum Direction: (0.408738,-0.893867,0.184213) - New Polarization: (0.912652,0.400325,-0.0825011) - *** FresnelRefraction *** -Track (trackID 145, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739537,0.267501,0.61768) - Old Polarization: (-0.673116,0.293897,0.67863) - New Momentum Direction: (0.411824,0.362143,0.836214) - New Polarization: (0.911263,-0.163662,-0.377907) - *** FresnelRefraction *** -Track (trackID 144, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74416,-0.0652926,-0.664803) - Old Polarization: (-0.668002,-0.0727365,-0.740596) - New Momentum Direction: (0.438519,-0.087844,-0.894419) - New Polarization: (0.898722,0.0428622,0.436419) - *** FresnelRefraction *** -Track (trackID 143, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741549,0.41201,-0.529483) - Old Polarization: (-0.670899,0.455398,-0.585242) - New Momentum Direction: (0.423711,0.556266,-0.714869) - New Polarization: (0.905797,-0.260208,0.334399) - *** FresnelRefraction *** -Track (trackID 142, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736597,0.474371,-0.482075) - Old Polarization: (-0.676331,0.516641,-0.525031) - New Momentum Direction: (0.393627,0.644766,-0.655237) - New Polarization: (0.91927,-0.276086,0.280569) - *** FresnelRefraction *** -Track (trackID 141, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737441,0.0310574,-0.674697) - Old Polarization: (-0.675411,0.0339097,-0.736661) - New Momentum Direction: (0.398958,0.042165,-0.915999) - New Polarization: (0.916969,-0.0183453,0.398536) - *** FresnelRefraction *** -Track (trackID 140, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737408,0.617303,0.274165) - Old Polarization: (-0.675448,0.67393,0.299314) - New Momentum Direction: (0.398749,0.838117,0.372235) - New Polarization: (0.91706,-0.364423,-0.161852) - *** FresnelRefraction *** -Track (trackID 139, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - -** Photon absorbed! ** -Track (trackID 138, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.738593,0.274571,0.615703) -Old Polarization: (-0.674151,0.300817,0.674558) -New Polarization: (0.728462,-0.339992,-0.594768) -Polarization Change: (0.728462,-0.339992,-0.594768) -New Momentum Direction: (0.484094,-0.358855,0.798045) -Momentum Change: (0.484094,-0.358855,0.798045) - -** Photon absorbed! ** -Track (trackID 137, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73615,0.630768,0.245387) - Old Polarization: (-0.676818,0.686063,0.266898) - New Momentum Direction: (0.390766,0.85786,0.333732) - New Polarization: (0.92049,-0.364179,-0.141676) - *** FresnelRefraction *** -Track (trackID 136, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - -** Photon absorbed! ** -Track (trackID 135, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - -** Photon absorbed! ** -Track (trackID 134, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738684,-0.626937,0.247581) - Old Polarization: (-0.674052,-0.687051,0.27132) - New Momentum Direction: (0.406649,-0.849726,0.335562) - New Polarization: (0.913584,0.378225,-0.149363) - *** FresnelRefraction *** -Track (trackID 133, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738577,0.231672,0.633113) - Old Polarization: (-0.674169,0.253806,0.693598) - New Momentum Direction: (0.405995,0.314045,0.858221) - New Polarization: (0.913875,-0.139517,-0.38127) - *** FresnelRefraction *** -Track (trackID 132, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - -** Photon absorbed! ** -Track (trackID 131, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741877,0.538043,0.400161) - Old Polarization: (-0.670536,0.595287,0.442736) - New Momentum Direction: (0.425609,0.726104,0.540029) - New Polarization: (0.904907,-0.341511,-0.253994) - *** FresnelRefraction *** -Track (trackID 130, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737839,-0.640351,-0.213409) - Old Polarization: (-0.674976,-0.699989,-0.233284) - New Momentum Direction: (0.401442,-0.868901,-0.289577) - New Polarization: (0.915884,0.380849,0.126925) - *** FresnelRefraction *** -Track (trackID 129, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738534,-0.603858,-0.299872) - Old Polarization: (-0.674216,-0.661464,-0.328478) - New Momentum Direction: (0.405731,-0.818612,-0.406517) - New Polarization: (0.913993,0.363391,0.180457) - *** FresnelRefraction *** -Track (trackID 128, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738768,-0.248028,0.626661) - Old Polarization: (-0.67396,-0.271878,0.686921) - New Momentum Direction: (0.407164,-0.336129,0.849255) - New Polarization: (0.913355,0.149843,-0.378589) - *** FresnelRefraction *** -Track (trackID 127, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741103,0.0391668,-0.670248) - Old Polarization: (-0.671392,0.0432335,-0.739841) - New Momentum Direction: (0.421112,0.052912,-0.905464) - New Polarization: (0.907009,-0.0245663,0.420395) - *** FresnelRefraction *** -Track (trackID 126, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - -** Photon absorbed! ** -Track (trackID 125, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741825,-0.59458,0.310113) - Old Polarization: (-0.670593,-0.657738,0.343054) - New Momentum Direction: (0.42531,-0.802459,0.418535) - New Polarization: (0.905048,0.3771,-0.196683) - *** FresnelRefraction *** -Track (trackID 124, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.74124,-0.385957,0.549182) -Old Polarization: (-0.67124,-0.426206,0.606453) -New Polarization: (0.0591041,-0.688226,0.723085) -Polarization Change: (0.0591041,-0.688226,0.723085) -New Momentum Direction: (0.98672,-0.0695045,-0.146807) -Momentum Change: (0.98672,-0.0695045,-0.146807) - Photon at Boundary! - Old Momentum Direction: (0.98672,-0.0695045,-0.146807) - Old Polarization: (0.0591041,-0.688226,0.723085) - New Momentum Direction: (0.975637,-0.0938789,-0.198291) - New Polarization: (0.079948,-0.689542,0.71982) - *** FresnelRefraction *** -Track (trackID 123, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74143,-0.308948,0.595678) - Old Polarization: (-0.67103,-0.341361,0.658173) - New Momentum Direction: (0.423023,-0.417185,0.804368) - New Polarization: (0.906119,0.194763,-0.37552) - *** FresnelRefraction *** -Track (trackID 122, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739298,-0.0453484,0.67185) - Old Polarization: (-0.673379,-0.0497876,0.737619) - New Momentum Direction: (0.41038,-0.0614124,0.909844) - New Polarization: (0.911914,0.0276369,-0.409449) - *** FresnelRefraction *** -Track (trackID 121, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743087,-0.00371966,0.669185) - Old Polarization: (-0.669195,-0.00413038,0.743075) - New Momentum Direction: (0.432515,-0.00501161,0.901613) - New Polarization: (0.901627,0.00240409,-0.432508) - *** FresnelRefraction *** -Track (trackID 120, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74034,-0.4975,-0.452096) - Old Polarization: (-0.672233,-0.547904,-0.4979) - New Momentum Direction: (0.416621,-0.672784,-0.611383) - New Polarization: (0.90908,0.308329,0.28019) - *** FresnelRefraction *** -Track (trackID 119, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73584,0.6065,-0.301159) - Old Polarization: (-0.677155,0.659062,-0.327259) - New Momentum Direction: (0.388767,0.825203,-0.409756) - New Polarization: (0.921336,-0.348202,0.1729) - *** FresnelRefraction *** -Track (trackID 118, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740337,0.657452,0.140208) - Old Polarization: (-0.672236,0.724055,0.154412) - New Momentum Direction: (0.416601,0.889097,0.189608) - New Polarization: (0.90909,-0.407439,-0.0868901) - *** FresnelRefraction *** -Track (trackID 117, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - -** Photon absorbed! ** -Track (trackID 116, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738874,-0.67367,0.0153338) - Old Polarization: (-0.673844,-0.738682,0.0168136) - New Momentum Direction: (0.407807,-0.912832,0.0207775) - New Polarization: (0.913068,0.407701,-0.00927994) - *** FresnelRefraction *** -Track (trackID 115, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736355,0.314762,-0.598921) - Old Polarization: (-0.676595,0.342564,-0.65182) - New Momentum Direction: (0.392079,0.427966,-0.814321) - New Polarization: (0.919932,-0.182401,0.347067) - *** FresnelRefraction *** -Track (trackID 114, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739925,-0.608842,-0.286048) - Old Polarization: (-0.67269,-0.669695,-0.314638) - New Momentum Direction: (0.414148,-0.823817,-0.387048) - New Polarization: (0.910209,0.37484,0.176108) - *** FresnelRefraction *** -Track (trackID 113, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738788,0.318676,-0.593833) - Old Polarization: (-0.673938,0.349341,-0.650975) - New Momentum Direction: (0.407284,0.431861,-0.804746) - New Polarization: (0.913301,-0.192587,0.358874) - *** FresnelRefraction *** -Track (trackID 112, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742458,-0.622451,-0.247609) - Old Polarization: (-0.669892,-0.689878,-0.274431) - New Momentum Direction: (0.428946,-0.839357,-0.333893) - New Polarization: (0.90333,0.398569,0.158549) - *** FresnelRefraction *** -Track (trackID 111, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735765,-0.621654,0.268693) - Old Polarization: (-0.677237,-0.675379,0.291914) - New Momentum Direction: (0.388277,-0.845909,0.365621) - New Polarization: (0.921543,0.35641,-0.154049) - *** FresnelRefraction *** -Track (trackID 110, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73878,-0.089943,-0.667918) - Old Polarization: (-0.673946,-0.0985956,-0.732172) - New Momentum Direction: (0.407239,-0.121889,-0.905152) - New Polarization: (0.913322,0.054349,0.403596) - *** FresnelRefraction *** -Track (trackID 109, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738318,-0.0839017,0.669214) - Old Polarization: (-0.674453,-0.0918466,0.732583) - New Momentum Direction: (0.404405,-0.113773,0.907476) - New Polarization: (0.91458,0.0503079,-0.401264) - *** FresnelRefraction *** -Track (trackID 108, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738589,-0.143681,0.658667) - Old Polarization: (-0.674156,-0.157413,0.721619) - New Momentum Direction: (0.406066,-0.194765,0.892848) - New Polarization: (0.913844,0.0865436,-0.396737) - *** FresnelRefraction *** -Track (trackID 107, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739266,0.673058,-0.0218902) - Old Polarization: (-0.673414,0.738875,-0.0240308) - New Momentum Direction: (0.410188,0.911519,-0.0296458) - New Polarization: (0.912001,-0.409971,0.0133337) - *** FresnelRefraction *** -Track (trackID 106, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - -** Photon absorbed! ** -Track (trackID 105, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - -** Photon absorbed! ** -Track (trackID 104, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742962,-0.429265,0.513555) - Old Polarization: (-0.669333,-0.476486,0.570047) - New Momentum Direction: (0.431809,-0.578459,0.692045) - New Polarization: (0.901965,0.276933,-0.331311) - *** FresnelRefraction *** -Track (trackID 103, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740086,0.435227,-0.51269) - Old Polarization: (-0.672513,0.478958,-0.564204) - New Momentum Direction: (0.41511,0.588773,-0.693564) - New Polarization: (0.909771,-0.268645,0.316459) - *** FresnelRefraction *** -Track (trackID 102, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741902,0.121929,-0.659329) - Old Polarization: (-0.670508,0.134911,-0.729532) - New Momentum Direction: (0.425754,0.164541,-0.889753) - New Polarization: (0.904839,-0.0774213,0.418655) - *** FresnelRefraction *** -Track (trackID 101, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738272,-0.388155,0.551625) - Old Polarization: (-0.674503,-0.424851,0.603777) - New Momentum Direction: (0.40412,-0.526383,0.748069) - New Polarization: (0.914706,0.232558,-0.3305) - *** FresnelRefraction *** -Track (trackID 100, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736992,0.398584,-0.54587) - Old Polarization: (-0.675902,0.434609,-0.595207) - New Momentum Direction: (0.39613,0.541466,-0.741549) - New Polarization: (0.918194,-0.233601,0.319921) - *** FresnelRefraction *** -Track (trackID 99, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736255,-0.119369,0.666093) - Old Polarization: (-0.676704,-0.129874,0.724709) - New Momentum Direction: (0.391436,-0.162323,0.905775) - New Polarization: (0.920205,0.0690486,-0.385298) - *** FresnelRefraction *** -Track (trackID 98, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737182,0.655153,0.165337) - Old Polarization: (-0.675694,0.714773,0.180383) - New Momentum Direction: (0.397332,0.889778,0.224548) - New Polarization: (0.917675,-0.385253,-0.097224) - *** FresnelRefraction *** -Track (trackID 97, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - -** Photon absorbed! ** -Track (trackID 96, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - -** Photon absorbed! ** -Track (trackID 95, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - -** Photon absorbed! ** -Track (trackID 94, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - -** Photon absorbed! ** -Track (trackID 93, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735897,0.619151,0.274057) - Old Polarization: (-0.677094,0.672923,0.297858) - New Momentum Direction: (0.389131,0.842352,0.372853) - New Polarization: (0.921182,-0.355831,-0.157503) - *** FresnelRefraction *** -Track (trackID 92, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735828,0.399436,-0.546816) - Old Polarization: (-0.677168,0.434037,-0.594184) - New Momentum Direction: (0.388689,0.543481,-0.744009) - New Polarization: (0.921369,-0.229273,0.313868) - *** FresnelRefraction *** -Track (trackID 91, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741786,0.484232,0.463975) - Old Polarization: (-0.670637,0.535605,0.513199) - New Momentum Direction: (0.425083,0.653565,0.626225) - New Polarization: (0.905154,-0.30693,-0.294091) - *** FresnelRefraction *** -Track (trackID 90, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739312,-0.621101,0.260098) - Old Polarization: (-0.673363,-0.681932,0.285572) - New Momentum Direction: (0.41047,-0.841101,0.352227) - New Polarization: (0.911874,0.378612,-0.158551) - *** FresnelRefraction *** -Track (trackID 89, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738474,-0.526187,0.421643) - Old Polarization: (-0.674282,-0.576281,0.461784) - New Momentum Direction: (0.405366,-0.713376,0.57164) - New Polarization: (0.914155,0.316334,-0.253484) - *** FresnelRefraction *** -Track (trackID 88, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.739289,-0.10052,0.665843) -Old Polarization: (-0.673388,-0.110357,0.731006) -New Polarization: (0.404689,0.46837,-0.785402) -Polarization Change: (0.404689,0.46837,-0.785402) -New Momentum Direction: (-0.705289,0.706549,0.0579368) -Momentum Change: (-0.705289,0.706549,0.0579368) - Photon at Boundary! - Old Momentum Direction: (-0.705289,0.706549,0.0579368) - Old Polarization: (0.404689,0.46837,-0.785402) - New Momentum Direction: (-0.955139,0.285576,0.078461) - New Polarization: (0.143795,0.678787,-0.720119) - *** FresnelRefraction *** -Track (trackID 87, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744879,0.243047,-0.621356) - Old Polarization: (-0.6672,0.271344,-0.693698) - New Momentum Direction: (0.442485,0.326677,-0.835158) - New Polarization: (0.896776,-0.161188,0.412081) - *** FresnelRefraction *** -Track (trackID 86, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - -** Photon absorbed! ** -Track (trackID 85, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742044,-0.294022,-0.60243) - Old Polarization: (-0.670352,-0.325467,-0.666858) - New Momentum Direction: (0.426569,-0.396702,-0.812814) - New Polarization: (0.904455,0.187097,0.383348) - *** FresnelRefraction *** -Track (trackID 84, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - -** Photon absorbed! ** -Track (trackID 83, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73852,-0.661813,-0.128809) - Old Polarization: (-0.674232,-0.724917,-0.141091) - New Momentum Direction: (0.405645,-0.897195,-0.174622) - New Polarization: (0.914031,0.398174,0.0774968) - *** FresnelRefraction *** -Track (trackID 82, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735888,0.576855,-0.354552) - Old Polarization: (-0.677104,0.626936,-0.385333) - New Momentum Direction: (0.389072,0.784819,-0.482372) - New Polarization: (0.921208,-0.331468,0.20373) - *** FresnelRefraction *** -Track (trackID 81, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738943,-0.598974,-0.308535) - Old Polarization: (-0.673768,-0.656913,-0.33838) - New Momentum Direction: (0.408228,-0.811542,-0.41803) - New Polarization: (0.91288,0.362911,0.186938) - *** FresnelRefraction *** -Track (trackID 80, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - -** Photon absorbed! ** -Track (trackID 79, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736128,0.676087,0.0319755) - Old Polarization: (-0.676842,0.735306,0.0347763) - New Momentum Direction: (0.390621,0.919524,0.0434889) - New Polarization: (0.920552,-0.390185,-0.0184538) - *** FresnelRefraction *** -Track (trackID 78, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738501,-0.228654,-0.634297) - Old Polarization: (-0.674252,-0.250443,-0.694739) - New Momentum Direction: (0.405531,-0.309986,-0.859915) - New Polarization: (0.914081,0.137525,0.3815) - *** FresnelRefraction *** -Track (trackID 77, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741415,-0.43832,-0.508113) - Old Polarization: (-0.671047,-0.484284,-0.561396) - New Momentum Direction: (0.422934,-0.591894,-0.68614) - New Polarization: (0.90616,0.276256,0.320244) - *** FresnelRefraction *** -Track (trackID 76, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744169,0.0945031,-0.661273) - Old Polarization: (-0.667991,0.10528,-0.736684) - New Momentum Direction: (0.438572,0.127142,-0.889657) - New Polarization: (0.898696,-0.0620463,0.434161) - *** FresnelRefraction *** -Track (trackID 75, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739397,-0.66549,0.102055) - Old Polarization: (-0.67327,-0.730853,0.112079) - New Momentum Direction: (0.410981,-0.90111,0.138188) - New Polarization: (0.911644,0.406232,-0.0622972) - *** FresnelRefraction *** -Track (trackID 74, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743371,-0.301172,0.59724) - Old Polarization: (-0.668879,-0.334713,0.663753) - New Momentum Direction: (0.434115,-0.405623,0.804372) - New Polarization: (0.900857,0.195466,-0.38762) - *** FresnelRefraction *** -Track (trackID 73, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74347,0.668767,-0.00169285) - Old Polarization: (-0.668769,0.743468,-0.00188194) - New Momentum Direction: (0.434674,0.900585,-0.00227965) - New Polarization: (0.900588,-0.434672,0.00110028) - *** FresnelRefraction *** -Track (trackID 72, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735925,0.0265065,-0.676544) - Old Polarization: (-0.677063,0.0288109,-0.735361) - New Momentum Direction: (0.389315,0.0360605,-0.920399) - New Polarization: (0.921105,-0.0152414,0.389016) - *** FresnelRefraction *** -Track (trackID 71, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - -** Photon absorbed! ** -Track (trackID 70, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742118,0.636407,0.210353) - Old Polarization: (-0.67027,0.704624,0.232901) - New Momentum Direction: (0.426994,0.85857,0.283785) - New Polarization: (0.904255,-0.405421,-0.134005) - *** FresnelRefraction *** -Track (trackID 69, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742797,-0.0502604,0.667628) - Old Polarization: (-0.669517,-0.0557615,0.740701) - New Momentum Direction: (0.430872,-0.0677438,0.899867) - New Polarization: (0.902413,0.0323454,-0.429656) - *** FresnelRefraction *** -Track (trackID 68, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon absorbed! ** -Track (trackID 67, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740726,-0.671508,0.0200498) - Old Polarization: (-0.671807,-0.740396,0.0221066) - New Momentum Direction: (0.418904,-0.907626,0.0270997) - New Polarization: (0.908031,0.418717,-0.012502) - *** FresnelRefraction *** -Track (trackID 66, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738119,0.580063,0.344538) - Old Polarization: (-0.67467,0.634615,0.37694) - New Momentum Direction: (0.403178,0.786797,0.467331) - New Polarization: (0.915121,-0.346642,-0.205894) - *** FresnelRefraction *** -Track (trackID 65, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744293,-0.229544,0.627167) - Old Polarization: (-0.667854,-0.255816,0.698949) - New Momentum Direction: (0.439256,-0.30877,0.843632) - New Polarization: (0.898362,0.150974,-0.412495) - *** FresnelRefraction *** -Track (trackID 64, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737639,0.486725,-0.467961) - Old Polarization: (-0.675196,0.531738,-0.511239) - New Momentum Direction: (0.400193,0.660623,-0.635155) - New Polarization: (0.916431,-0.288486,0.277364) - *** FresnelRefraction *** -Track (trackID 63, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73583,0.561965,-0.377822) - Old Polarization: (-0.677167,0.610648,-0.410553) - New Momentum Direction: (0.388697,0.76462,-0.514072) - New Polarization: (0.921366,-0.322571,0.216872) - *** FresnelRefraction *** -Track (trackID 62, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739066,-0.640621,-0.208294) - Old Polarization: (-0.673633,-0.702847,-0.228527) - New Momentum Direction: (0.408978,-0.867824,-0.282168) - New Polarization: (0.912544,0.388936,0.12646) - *** FresnelRefraction *** -Track (trackID 61, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736509,0.117822,0.666087) - Old Polarization: (-0.676427,0.128288,0.725251) - New Momentum Direction: (0.393066,0.160163,0.905454) - New Polarization: (0.91951,-0.0684656,-0.387057) - *** FresnelRefraction *** -Track (trackID 60, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736903,-0.336567,-0.586257) - Old Polarization: (-0.675999,-0.366889,-0.639076) - New Momentum Direction: (0.395565,-0.457272,-0.796512) - New Polarization: (0.918438,0.196944,0.343052) - *** FresnelRefraction *** -Track (trackID 59, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736334,-0.139962,-0.661984) - Old Polarization: (-0.676618,-0.152314,-0.720409) - New Momentum Direction: (0.391946,-0.190304,-0.90009) - New Polarization: (0.919988,0.081076,0.383469) - *** FresnelRefraction *** -Track (trackID 58, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737789,-0.0427065,0.67368) - Old Polarization: (-0.675032,-0.0466769,0.736311) - New Momentum Direction: (0.401127,-0.057953,0.914187) - New Polarization: (0.916022,0.0253777,-0.400323) - *** FresnelRefraction *** -Track (trackID 57, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon absorbed! ** -Track (trackID 56, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736998,-0.52199,0.429372) - Old Polarization: (-0.675895,-0.56918,0.468189) - New Momentum Direction: (0.396171,-0.709103,0.583285) - New Polarization: (0.918177,0.305961,-0.251673) - *** FresnelRefraction *** -Track (trackID 55, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738042,0.0334211,0.673927) - Old Polarization: (-0.674755,0.0365558,0.737136) - New Momentum Direction: (0.402699,0.0453371,0.914209) - New Polarization: (0.915333,-0.019946,-0.402204) - *** FresnelRefraction *** -Track (trackID 54, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739563,0.254049,-0.623303) - Old Polarization: (-0.673088,0.279139,-0.684861) - New Momentum Direction: (0.411979,0.343919,-0.843797) - New Polarization: (0.911193,-0.155496,0.381507) - *** FresnelRefraction *** -Track (trackID 53, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739306,-0.663882,0.112634) - Old Polarization: (-0.673369,-0.72889,0.123664) - New Momentum Direction: (0.410433,-0.899043,0.152532) - New Polarization: (0.911891,0.404651,-0.068653) - *** FresnelRefraction *** -Track (trackID 52, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73618,0.227707,0.637329) - Old Polarization: (-0.676786,0.247691,0.693261) - New Momentum Direction: (0.390956,0.309675,0.866749) - New Polarization: (0.920409,-0.131539,-0.368163) - *** FresnelRefraction *** -Track (trackID 51, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736059,0.482651,-0.474621) - Old Polarization: (-0.676918,0.52482,-0.516088) - New Momentum Direction: (0.390177,0.6565,-0.645577) - New Polarization: (0.92074,-0.278201,0.273572) - *** FresnelRefraction *** -Track (trackID 50, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738781,0.109114,0.665054) - Old Polarization: (-0.673946,0.119611,0.729034) - New Momentum Direction: (0.407243,0.147869,0.90127) - New Polarization: (0.91332,-0.0659339,-0.40187) - *** FresnelRefraction *** -Track (trackID 49, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon absorbed! ** -Track (trackID 48, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738713,-0.506215,0.445028) - Old Polarization: (-0.67402,-0.554801,0.487742) - New Momentum Direction: (0.406827,-0.686077,0.60315) - New Polarization: (0.913505,0.305542,-0.268611) - *** FresnelRefraction *** -Track (trackID 47, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743855,0.654507,-0.135276) - Old Polarization: (-0.668341,0.728459,-0.150561) - New Momentum Direction: (0.436827,0.880927,-0.182073) - New Polarization: (0.899546,-0.427785,0.0884162) - *** FresnelRefraction *** -Track (trackID 46, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.737632,0.366842,0.566856) -Old Polarization: (-0.675203,0.40076,0.619268) -New Polarization: (-0.913686,0.253387,-0.317762) -Polarization Change: (-0.913686,0.253387,-0.317762) -New Momentum Direction: (0.232719,-0.314805,-0.920185) -Momentum Change: (0.232719,-0.314805,-0.920185) - -** Photon absorbed! ** -Track (trackID 45, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742195,-0.461695,0.485783) - Old Polarization: (-0.670184,-0.511303,0.537979) - New Momentum Direction: (0.427436,-0.622804,0.655297) - New Polarization: (0.904046,0.294463,-0.309826) - *** FresnelRefraction *** -Track (trackID 44, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742575,0.619663,0.254165) - Old Polarization: (-0.669763,0.687029,0.281797) - New Momentum Direction: (0.429612,0.835466,0.342681) - New Polarization: (0.903013,-0.397476,-0.163032) - *** FresnelRefraction *** -Track (trackID 43, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737891,0.490823,-0.463259) - Old Polarization: (-0.674919,0.536618,-0.506482) - New Momentum Direction: (0.401766,0.665957,-0.628558) - New Polarization: (0.915742,-0.292177,0.275769) - *** FresnelRefraction *** -Track (trackID 42, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738895,-0.608723,0.288948) - Old Polarization: (-0.67382,-0.667511,0.316853) - New Momentum Direction: (0.407939,-0.824803,0.391516) - New Polarization: (0.913009,0.368528,-0.174932) - *** FresnelRefraction *** -Track (trackID 41, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737429,0.453098,0.500899) - Old Polarization: (-0.675425,0.494693,0.546882) - New Momentum Direction: (0.398881,0.615157,0.680055) - New Polarization: (0.917003,-0.267584,-0.295813) - *** FresnelRefraction *** -Track (trackID 40, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - -** Photon absorbed! ** -Track (trackID 39, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.739539,-0.370207,0.562164) -Old Polarization: (-0.673113,-0.406741,0.617641) -New Polarization: (-0.440222,0.37211,0.817153) -Polarization Change: (-0.440222,0.37211,0.817153) -New Momentum Direction: (-0.509216,-0.853039,0.114124) -Momentum Change: (-0.509216,-0.853039,0.114124) - Photon at Boundary! - Old Momentum Direction: (-0.509216,-0.853039,0.114124) - Old Polarization: (-0.440222,0.37211,0.817153) - New Momentum Direction: (-0.689373,-0.707739,0.1545) - New Polarization: (0.650299,-0.510639,0.562458) - *** FresnelRefraction *** -Track (trackID 38, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742089,-0.256805,-0.619156) - Old Polarization: (-0.670301,-0.284309,-0.685467) - New Momentum Direction: (0.426832,-0.346467,-0.83533) - New Polarization: (0.904331,0.163528,0.394264) - *** FresnelRefraction *** -Track (trackID 37, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738846,0.293655,0.606526) - Old Polarization: (-0.673874,0.321968,0.665004) - New Momentum Direction: (0.407641,0.397921,0.821881) - New Polarization: (0.913142,-0.177638,-0.3669) - *** FresnelRefraction *** -Track (trackID 36, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739139,0.571709,0.356122) - Old Polarization: (-0.673553,0.627377,0.390799) - New Momentum Direction: (0.409418,0.774396,0.482378) - New Polarization: (0.912347,-0.347512,-0.216468) - *** FresnelRefraction *** -Track (trackID 35, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736191,0.555437,-0.386669) - Old Polarization: (-0.676774,0.604201,-0.420616) - New Momentum Direction: (0.391025,0.755368,-0.525851) - New Polarization: (0.92038,-0.32092,0.223409) - *** FresnelRefraction *** -Track (trackID 34, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - -** Photon absorbed! ** -Track (trackID 33, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742131,-0.397463,-0.53969) - Old Polarization: (-0.670255,-0.440085,-0.597564) - New Momentum Direction: (0.427069,-0.536204,-0.728078) - New Polarization: (0.904219,0.253253,0.343876) - *** FresnelRefraction *** -Track (trackID 32, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - -** Photon absorbed! ** -Track (trackID 31, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742235,-0.639615,0.19995) - Old Polarization: (-0.67014,-0.708426,0.221461) - New Momentum Direction: (0.427668,-0.862762,0.269708) - New Polarization: (0.903936,0.408187,-0.127604) - *** FresnelRefraction *** -Track (trackID 30, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740482,-0.199898,-0.64166) - Old Polarization: (-0.672076,-0.220244,-0.70697) - New Momentum Direction: (0.417463,-0.270276,-0.867569) - New Polarization: (0.908694,0.124168,0.39857) - *** FresnelRefraction *** -Track (trackID 29, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.73872,0.120961,0.663069) - Old Polarization: (-0.674012,0.132574,0.726727) - New Momentum Direction: (0.406872,0.163938,0.898654) - New Polarization: (0.913485,-0.073019,-0.400266) - *** FresnelRefraction *** -Track (trackID 28, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.742427,0.490769,0.456014) - Old Polarization: (-0.669927,0.54388,0.505363) - New Momentum Direction: (0.428765,0.661816,0.614947) - New Polarization: (0.903416,-0.314101,-0.291857) - *** FresnelRefraction *** -Track (trackID 27, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - -** Photon absorbed! ** -Track (trackID 26, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737585,-0.656873,0.156482) - Old Polarization: (-0.675255,-0.717507,0.170926) - New Momentum Direction: (0.399856,-0.891627,0.212406) - New Polarization: (0.916578,0.388972,-0.0926617) - *** FresnelRefraction *** -Track (trackID 25, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739915,-0.572675,0.352945) - Old Polarization: (-0.672701,-0.629894,0.38821) - New Momentum Direction: (0.414089,-0.77489,0.477572) - New Polarization: (0.910237,0.352516,-0.217259) - *** FresnelRefraction *** -Track (trackID 24, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743463,0.195396,0.639596) - Old Polarization: (-0.668777,0.217218,0.711023) - New Momentum Direction: (0.434633,0.26313,0.861311) - New Polarization: (0.900608,-0.126987,-0.415669) - *** FresnelRefraction *** -Track (trackID 23, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - -** Photon absorbed! ** -Track (trackID 22, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737321,-0.646768,0.195063) - Old Polarization: (-0.675543,-0.705914,0.212901) - New Momentum Direction: (0.398202,-0.878225,0.264869) - New Polarization: (0.917298,0.38124,-0.114981) - *** FresnelRefraction *** -Track (trackID 21, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon absorbed! ** -Track (trackID 20, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740964,0.644925,-0.187203) - Old Polarization: (-0.671545,0.711592,-0.206555) - New Momentum Direction: (0.420299,0.871416,-0.252947) - New Polarization: (0.907386,-0.403638,0.117164) - *** FresnelRefraction *** -Track (trackID 19, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737884,0.56715,0.365881) - Old Polarization: (-0.674928,0.620052,0.400009) - New Momentum Direction: (0.401718,0.769527,0.496438) - New Polarization: (0.915764,-0.337568,-0.217772) - *** FresnelRefraction *** -Track (trackID 18, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738501,-0.5424,0.400523) - Old Polarization: (-0.674252,-0.594085,0.438688) - New Momentum Direction: (0.405532,-0.735329,0.542987) - New Polarization: (0.914081,0.326229,-0.240896) - *** FresnelRefraction *** -Track (trackID 17, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 16, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.741808,0.333939,-0.581555) - Old Polarization: (-0.670612,0.369391,-0.643295) - New Momentum Direction: (0.425211,0.450702,-0.784897) - New Polarization: (0.905094,-0.211738,0.368742) - *** FresnelRefraction *** -Track (trackID 15, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737694,-0.67508,-0.00864168) - Old Polarization: (-0.675136,-0.737633,-0.00944243) - New Momentum Direction: (0.400536,-0.916206,-0.0117283) - New Polarization: (0.916281,0.400503,0.00512683) - *** FresnelRefraction *** -Track (trackID 14, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736718,-0.41983,-0.530085) - Old Polarization: (-0.6762,-0.457403,-0.577525) - New Momentum Direction: (0.394393,-0.57054,-0.720374) - New Polarization: (0.918942,0.244865,0.309171) - *** FresnelRefraction *** -Track (trackID 13, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - -** Photon absorbed! ** -Track (trackID 12, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.74113,-0.487578,-0.461513) - Old Polarization: (-0.671362,-0.538248,-0.509473) - New Momentum Direction: (0.42127,-0.658664,-0.623452) - New Polarization: (0.906935,0.305949,0.289593) - *** FresnelRefraction *** -Track (trackID 11, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.743162,0.663684,0.0850488) - Old Polarization: (-0.669112,0.737134,0.0944611) - New Momentum Direction: (0.432938,0.894112,0.114577) - New Polarization: (0.901424,-0.429427,-0.0550295) - *** FresnelRefraction *** -Track (trackID 10, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736307,-0.671489,-0.0833978) - Old Polarization: (-0.676648,-0.730693,-0.0907509) - New Momentum Direction: (0.39177,-0.913048,-0.113399) - New Polarization: (0.920063,0.388783,0.0482862) - *** FresnelRefraction *** -Track (trackID 9, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737914,-0.67446,-0.0242381) - Old Polarization: (-0.674895,-0.737437,-0.0265013) - New Momentum Direction: (0.401903,-0.915091,-0.0328857) - New Polarization: (0.915682,0.401644,0.0144339) - *** FresnelRefraction *** -Track (trackID 8, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.741243,-0.434066,-0.512002) -Old Polarization: (-0.671237,-0.479336,-0.5654) -New Polarization: (0.213706,0.516428,0.829236) -Polarization Change: (0.213706,0.516428,0.829236) -New Momentum Direction: (0.954797,0.0691218,-0.289112) -Momentum Change: (0.954797,0.0691218,-0.289112) - Photon at Boundary! - Old Momentum Direction: (0.954797,0.0691218,-0.289112) - Old Polarization: (0.213706,0.516428,0.829236) - New Momentum Direction: (0.915857,0.0933617,-0.390498) - New Polarization: (0.289513,0.520305,0.803408) - *** FresnelRefraction *** -Track (trackID 7, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.736461,-0.644838,-0.204471) - Old Polarization: (-0.67648,-0.702014,-0.222601) - New Momentum Direction: (0.392756,-0.876627,-0.277969) - New Polarization: (0.919643,0.374386,0.118714) - *** FresnelRefraction *** -Track (trackID 6, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737214,-0.111409,-0.666411) - Old Polarization: (-0.675659,-0.121559,-0.727123) - New Momentum Direction: (0.397532,-0.1513,-0.905028) - New Polarization: (0.917588,0.0655487,0.392091) - *** FresnelRefraction *** -Track (trackID 5, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - -** Photon absorbed! ** -Track (trackID 4, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737215,-0.356406,-0.574012) - Old Polarization: (-0.675659,-0.388876,-0.626307) - New Momentum Direction: (0.397535,-0.484021,-0.779544) - New Polarization: (0.917587,0.209697,0.33773) - *** FresnelRefraction *** -Track (trackID 3, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7364,-0.502803,0.452665) - Old Polarization: (-0.676547,-0.547285,0.492711) - New Momentum Direction: (0.392364,-0.683593,0.615427) - New Polarization: (0.91981,0.291601,-0.262523) - *** FresnelRefraction *** -Track (trackID 2, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 285 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 81 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 367 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0865354,-0.538753,0.838008) - Old Polarization: (-0.982945,-0.183177,-0.016262) - New Momentum Direction: (0.116865,-0.727581,0.675994) - New Polarization: (-0.990176,-0.137978,0.0226733) - *** FresnelRefraction *** -Track (trackID 696, parentID 1) is processed with stopping code 2 -### pop requested out of 366 stacked tracks. - -** Photon absorbed! ** -Track (trackID 695, parentID 1) is processed with stopping code 2 -### pop requested out of 365 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.435667,0.899928,0.0179648) - Old Polarization: (-0.500196,-0.225462,-0.836045) - New Momentum Direction: (-0.586639,0.809487,0.0241902) - New Polarization: (0.387885,0.307072,-0.869052) - *** FresnelRefraction *** -Track (trackID 694, parentID 1) is processed with stopping code 2 -### pop requested out of 364 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.29322,0.775284,0.559425) - Old Polarization: (-0.626972,0.285812,-0.724719) - New Momentum Direction: (-0.29322,-0.775284,0.559425) - New Polarization: (-0.909198,0.0452069,-0.413902) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.29322,-0.775284,0.559425) - Old Polarization: (-0.909198,0.0452069,-0.413902) - New Momentum Direction: (-0.29322,-0.775284,-0.559425) - New Polarization: (0.909198,-0.0452069,-0.413902) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.29322,-0.775284,-0.559425) - Old Polarization: (0.909198,-0.0452069,-0.413902) - New Momentum Direction: (0.29322,-0.775284,-0.559425) - New Polarization: (0.909198,0.0452069,0.413902) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.29322,-0.775284,-0.559425) - Old Polarization: (0.909198,0.0452069,0.413902) - New Momentum Direction: (0.395827,-0.52251,-0.755185) - New Polarization: (0.864766,-0.0646514,0.497996) - *** FresnelRefraction *** -Track (trackID 693, parentID 1) is processed with stopping code 2 -### pop requested out of 363 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.773314,0.268419,-0.574401) - Old Polarization: (0.463921,0.857073,-0.224062) - New Momentum Direction: (-0.508839,0.364453,-0.779908) - New Polarization: (-0.647866,0.434457,0.625713) - *** FresnelRefraction *** -Track (trackID 692, parentID 1) is processed with stopping code 2 -### pop requested out of 362 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.516653,0.467234,0.717469) - Old Polarization: (-0.537384,0.829324,-0.153104) - New Momentum Direction: (0.70048,0.633477,0.328686) - New Polarization: (-0.709988,0.665296,0.230866) - *** FresnelRefraction *** -Track (trackID 691, parentID 1) is processed with stopping code 2 -### pop requested out of 361 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.290142,0.617923,0.730746) -Old Polarization: (-0.356851,-0.63866,0.681741) -New Polarization: (0.185395,-0.215658,-0.958708) -Polarization Change: (0.185395,-0.215658,-0.958708) -New Momentum Direction: (0.306142,0.939742,-0.15219) -Momentum Change: (0.306142,0.939742,-0.15219) - Photon at Boundary! - Old Momentum Direction: (0.306142,0.939742,-0.15219) - Old Polarization: (0.185395,-0.215658,-0.958708) - New Momentum Direction: (0.416022,0.885525,-0.206814) - New Polarization: (-0.847075,0.294655,-0.442315) - *** FresnelRefraction *** -Track (trackID 690, parentID 1) is processed with stopping code 2 -### pop requested out of 360 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.721004,0.0922177,-0.686767) - Old Polarization: (0.242677,0.961941,-0.125607) - New Momentum Direction: (0.721004,0.0922177,-0.686767) - New Polarization: (-0.110277,0.993744,0.0176632) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.721004,0.0922177,-0.686767) - Old Polarization: (-0.110277,0.993744,0.0176632) - New Momentum Direction: (0.721004,0.0922177,0.686767) - New Polarization: (-0.115634,0.99322,-0.0119689) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 689, parentID 1) is processed with stopping code 2 -### pop requested out of 359 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.50147,0.250544,0.828103) - Old Polarization: (-0.814707,-0.458874,-0.354525) - New Momentum Direction: (-0.50147,0.250544,-0.828103) - New Polarization: (-0.36959,-0.927458,-0.0567931) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.50147,0.250544,-0.828103) - Old Polarization: (-0.36959,-0.927458,-0.0567931) - New Momentum Direction: (0.50147,0.250544,-0.828103) - New Polarization: (-0.36959,0.927458,0.0567931) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 688, parentID 1) is processed with stopping code 2 -### pop requested out of 358 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.541652,-0.811035,0.22099) -Old Polarization: (0.26957,0.081419,0.959533) -New Polarization: (0.654006,0.0352875,-0.755666) -Polarization Change: (0.654006,0.0352875,-0.755666) -New Momentum Direction: (0.747873,0.120169,0.652874) -Momentum Change: (0.747873,0.120169,0.652874) - Photon at Boundary! - Old Momentum Direction: (0.747873,0.120169,0.652874) - Old Polarization: (0.654006,0.0352875,-0.755666) - New Momentum Direction: (0.747873,0.120169,-0.652874) - New Polarization: (-0.654006,-0.0352875,-0.755666) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 687, parentID 1) is processed with stopping code 2 -### pop requested out of 357 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.91254,-0.147176,0.381588) - Old Polarization: (-0.132853,-0.775742,-0.616907) - New Momentum Direction: (-0.831791,-0.199752,0.517903) - New Polarization: (-0.182586,-0.782633,-0.595103) - *** FresnelRefraction *** -Track (trackID 686, parentID 1) is processed with stopping code 2 -### pop requested out of 356 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.170408,-0.984799,-0.0336363) - Old Polarization: (0.983415,-0.172122,0.0571794) - New Momentum Direction: (-0.231433,-0.971778,-0.0456818) - New Polarization: (0.970738,-0.233769,0.0549488) - *** FresnelRefraction *** -Track (trackID 685, parentID 1) is processed with stopping code 2 -### pop requested out of 355 stacked tracks. - -** Photon absorbed! ** -Track (trackID 684, parentID 1) is processed with stopping code 2 -### pop requested out of 354 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.450446,-0.0785924,-0.889338) - Old Polarization: (0.295484,0.926858,-0.231569) - New Momentum Direction: (-0.611942,-0.10677,-0.783663) - New Polarization: (0.249095,0.914402,-0.319094) - *** FresnelRefraction *** -Track (trackID 683, parentID 1) is processed with stopping code 2 -### pop requested out of 353 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.226541,0.729758,0.645084) - Old Polarization: (-0.233251,0.602383,-0.763366) - New Momentum Direction: (-0.307409,0.373158,0.875359) - New Polarization: (-0.301757,0.834197,-0.461582) - *** FresnelRefraction *** -Track (trackID 682, parentID 1) is processed with stopping code 2 -### pop requested out of 352 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0530794,0.823106,0.565402) - Old Polarization: (0.37613,0.54098,-0.752242) - New Momentum Direction: (-0.0714348,0.644898,0.760923) - New Polarization: (0.350736,0.730394,-0.586097) - *** FresnelRefraction *** -Track (trackID 681, parentID 1) is processed with stopping code 2 -### pop requested out of 351 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.202394,0.959593,-0.195495) - Old Polarization: (0.103836,-0.219529,-0.970064) - New Momentum Direction: (0.273928,0.924638,-0.264591) - New Polarization: (-0.953121,0.297767,0.0538175) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.273928,0.924638,-0.264591) - Old Polarization: (-0.953121,0.297767,0.0538175) - New Momentum Direction: (0.703601,0.683174,-0.195495) - New Polarization: (0.705685,-0.639491,0.305056) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.703601,0.683174,-0.195495) - Old Polarization: (0.705685,-0.639491,0.305056) - New Momentum Direction: (0.703601,-0.683174,-0.195495) - New Polarization: (0.688718,0.587884,0.424334) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.703601,-0.683174,-0.195495) - Old Polarization: (0.688718,0.587884,0.424334) - New Momentum Direction: (0.273928,-0.924638,-0.264591) - New Polarization: (0.938776,0.197294,0.282443) - *** FresnelRefraction *** -Track (trackID 680, parentID 1) is processed with stopping code 2 -### pop requested out of 350 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0991247,0.984828,0.142436) - Old Polarization: (0.532281,-0.173418,0.828615) - New Momentum Direction: (0.134414,0.97192,0.193146) - New Polarization: (-0.584641,0.235158,-0.776463) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.134414,0.97192,0.193146) - Old Polarization: (-0.584641,0.235158,-0.776463) - New Momentum Direction: (0.0991247,0.984828,0.142436) - New Polarization: (-0.591952,0.173419,-0.787095) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.0991247,0.984828,0.142436) - Old Polarization: (-0.591952,0.173419,-0.787095) - New Momentum Direction: (0.134414,0.97192,0.193146) - New Polarization: (-0.584525,0.235159,-0.77655) - *** FresnelRefraction *** -Track (trackID 679, parentID 1) is processed with stopping code 2 -### pop requested out of 349 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.00819436,-0.18936,-0.981874) - Old Polarization: (0.969147,-0.240395,0.0544498) - New Momentum Direction: (0.0111403,-0.257436,-0.966231) - New Polarization: (0.944731,0.319343,-0.0741911) - *** FresnelRefraction *** -Track (trackID 678, parentID 1) is processed with stopping code 2 -### pop requested out of 348 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.37448,0.4567,-0.806963) -Old Polarization: (-0.689352,0.444917,0.571701) -New Polarization: (-0.834855,0.494846,0.241132) -Polarization Change: (-0.834855,0.494846,0.241132) -New Momentum Direction: (0.251074,-0.0475232,0.966801) -Momentum Change: (0.251074,-0.0475232,0.966801) - Photon at Boundary! - Old Momentum Direction: (0.251074,-0.0475232,0.966801) - Old Polarization: (-0.834855,0.494846,0.241132) - New Momentum Direction: (0.34067,-0.064482,0.937969) - New Polarization: (-0.808808,0.488544,0.327344) - *** FresnelRefraction *** -Track (trackID 677, parentID 1) is processed with stopping code 2 -### pop requested out of 347 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.203747,-0.608919,-0.766619) - Old Polarization: (0.0522917,0.788695,-0.612556) - New Momentum Direction: (0.275091,-0.822137,-0.498413) - New Polarization: (0.11669,0.543134,-0.831498) - *** FresnelRefraction *** -Track (trackID 676, parentID 1) is processed with stopping code 2 -### pop requested out of 346 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.428199,-0.00480742,0.903672) - Old Polarization: (-0.804002,0.458579,-0.378532) - New Momentum Direction: (-0.580242,-0.00651442,0.814418) - New Polarization: (0.717116,0.469949,0.514677) - *** FresnelRefraction *** -Track (trackID 675, parentID 1) is processed with stopping code 2 -### pop requested out of 345 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.670802,-0.551246,0.496138) - Old Polarization: (-0.736458,0.574033,-0.357933) - New Momentum Direction: (0.670802,-0.551246,0.496138) - New Polarization: (-0.736458,-0.574033,0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,-0.551246,0.496138) - Old Polarization: (-0.736458,-0.574033,0.357933) - New Momentum Direction: (0.670802,0.551246,0.496138) - New Polarization: (0.736458,-0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,0.551246,0.496138) - Old Polarization: (0.736458,-0.574033,-0.357933) - New Momentum Direction: (0.670802,0.551246,-0.496138) - New Polarization: (-0.736458,0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,0.551246,-0.496138) - Old Polarization: (-0.736458,0.574033,-0.357933) - New Momentum Direction: (-0.670802,0.551246,-0.496138) - New Polarization: (-0.736458,-0.574033,0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670802,0.551246,-0.496138) - Old Polarization: (-0.736458,-0.574033,0.357933) - New Momentum Direction: (-0.670802,-0.551246,-0.496138) - New Polarization: (0.736458,-0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670802,-0.551246,-0.496138) - Old Polarization: (0.736458,-0.574033,-0.357933) - New Momentum Direction: (-0.670802,-0.551246,0.496138) - New Polarization: (-0.736458,0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670802,-0.551246,0.496138) - Old Polarization: (-0.736458,0.574033,-0.357933) - New Momentum Direction: (0.670802,-0.551246,0.496138) - New Polarization: (-0.736458,-0.574033,0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,-0.551246,0.496138) - Old Polarization: (-0.736458,-0.574033,0.357933) - New Momentum Direction: (0.670802,0.551246,0.496138) - New Polarization: (0.736458,-0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,0.551246,0.496138) - Old Polarization: (0.736458,-0.574033,-0.357933) - New Momentum Direction: (0.670802,0.551246,-0.496138) - New Polarization: (-0.736458,0.574033,-0.357933) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670802,0.551246,-0.496138) - Old Polarization: (-0.736458,0.574033,-0.357933) - New Momentum Direction: (-0.670802,0.551246,-0.496138) - New Polarization: (-0.736458,-0.574033,0.357933) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 674, parentID 1) is processed with stopping code 2 -### pop requested out of 344 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.207879,0.138301,0.968328) - Old Polarization: (0.409313,-0.911413,0.0423015) - New Momentum Direction: (0.281496,0.187279,0.941109) - New Polarization: (0.412531,-0.909126,0.0575211) - *** FresnelRefraction *** -Track (trackID 673, parentID 1) is processed with stopping code 2 -### pop requested out of 343 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.302194,-0.902819,0.305936) - Old Polarization: (0.546113,0.42702,0.720704) - New Momentum Direction: (0.40741,-0.8148,0.412455) - New Polarization: (-0.651375,-0.575816,-0.494111) - *** FresnelRefraction *** -Track (trackID 672, parentID 1) is processed with stopping code 2 -### pop requested out of 342 stacked tracks. - -** Photon absorbed! ** -Track (trackID 671, parentID 1) is processed with stopping code 2 -### pop requested out of 341 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.896925,-0.425736,0.119475) - Old Polarization: (-0.41258,0.902951,0.120238) - New Momentum Direction: (-0.800733,-0.576741,0.161851) - New Polarization: (-0.560137,0.816668,0.138928) - *** FresnelRefraction *** -Track (trackID 670, parentID 1) is processed with stopping code 2 -### pop requested out of 340 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.173913,-0.984134,0.0351363) - Old Polarization: (0.153083,-0.0622642,-0.98625) - New Momentum Direction: (-0.235766,-0.970642,0.047633) - New Polarization: (0.1491,-0.0845634,-0.9852) - *** FresnelRefraction *** -Track (trackID 669, parentID 1) is processed with stopping code 2 -### pop requested out of 339 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.271243,-0.250236,-0.929413) - Old Polarization: (-0.139858,0.965612,-0.219165) - New Momentum Direction: (-0.368336,-0.339809,-0.865366) - New Polarization: (-0.163071,0.939993,-0.299703) - *** FresnelRefraction *** -Track (trackID 668, parentID 1) is processed with stopping code 2 -### pop requested out of 338 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.419118,0.841048,-0.342021) - Old Polarization: (0.635469,0.540789,0.551114) - New Momentum Direction: (-0.566448,0.682248,-0.46225) - New Polarization: (0.512974,0.730903,0.450154) - *** FresnelRefraction *** -Track (trackID 667, parentID 1) is processed with stopping code 2 -### pop requested out of 337 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.989244,-0.0658987,0.130591) - Old Polarization: (0.14423,0.290624,-0.945904) - New Momentum Direction: (0.9803,-0.088983,0.176337) - New Polarization: (0.194761,0.286863,-0.937965) - *** FresnelRefraction *** -Track (trackID 666, parentID 1) is processed with stopping code 2 -### pop requested out of 336 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0512255,0.574379,-0.816985) - Old Polarization: (-0.479147,-0.731892,-0.484512) - New Momentum Direction: (-0.0692445,0.776422,-0.626397) - New Polarization: (-0.477817,-0.577008,-0.662384) - *** FresnelRefraction *** -Track (trackID 665, parentID 1) is processed with stopping code 2 -### pop requested out of 335 stacked tracks. - -** Photon absorbed! ** -Track (trackID 664, parentID 1) is processed with stopping code 2 -### pop requested out of 334 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.175468,-0.257483,0.950218) - Old Polarization: (0.983283,0.00184286,0.182073) - New Momentum Direction: (-0.23743,-0.348407,0.906774) - New Polarization: (0.968754,-0.016011,0.247507) - *** FresnelRefraction *** -Track (trackID 663, parentID 1) is processed with stopping code 2 -### pop requested out of 333 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.481141,0.130379,0.866894) - Old Polarization: (-0.867835,-0.0689898,0.492039) - New Momentum Direction: (0.651583,0.176565,0.737743) - New Polarization: (-0.744243,-0.0393771,0.666747) - *** FresnelRefraction *** -Track (trackID 662, parentID 1) is processed with stopping code 2 -### pop requested out of 332 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.376147,-0.694017,0.613885) - Old Polarization: (-0.901581,0.426952,-0.0697439) - New Momentum Direction: (-0.511114,-0.207234,0.834156) - New Polarization: (-0.572821,-0.641428,-0.510339) - *** FresnelRefraction *** -Track (trackID 661, parentID 1) is processed with stopping code 2 -### pop requested out of 331 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.211823,0.244205,0.946306) - Old Polarization: (-0.72705,-0.686433,0.0143975) - New Momentum Direction: (-0.286361,0.330138,0.899448) - New Polarization: (-0.728206,-0.685077,0.0196119) - *** FresnelRefraction *** -Track (trackID 660, parentID 1) is processed with stopping code 2 -### pop requested out of 330 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.714521,-0.396414,-0.576468) - Old Polarization: (0.154089,-0.714577,0.682376) - New Momentum Direction: (-0.714521,-0.396414,-0.576468) - New Polarization: (0.0777979,-0.863891,0.497634) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.714521,-0.396414,-0.576468) - Old Polarization: (0.0777979,-0.863891,0.497634) - New Momentum Direction: (-0.714521,-0.396414,0.576468) - New Polarization: (-0.0777979,0.863891,0.497634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.714521,-0.396414,0.576468) - Old Polarization: (-0.0777979,0.863891,0.497634) - New Momentum Direction: (-0.714521,0.396414,0.576468) - New Polarization: (0.0777979,0.863891,-0.497634) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 659, parentID 1) is processed with stopping code 2 -### pop requested out of 329 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.383911,-0.381378,0.84093) - Old Polarization: (-0.920025,0.0805439,-0.383492) - New Momentum Direction: (-0.521565,-0.518124,0.677878) - New Polarization: (-0.142722,0.836287,0.52939) - *** FresnelRefraction *** -Track (trackID 658, parentID 1) is processed with stopping code 2 -### pop requested out of 328 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.716553,0.366496,0.593492) - Old Polarization: (-0.445146,0.414795,-0.793593) - New Momentum Direction: (-0.335541,0.494956,0.801518) - New Polarization: (-0.639134,0.505443,-0.579685) - *** FresnelRefraction *** -Track (trackID 657, parentID 1) is processed with stopping code 2 -### pop requested out of 327 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.627302,0.366652,0.687066) - Old Polarization: (-0.686918,-0.676176,-0.266326) - New Momentum Direction: (-0.627302,0.366652,-0.687066) - New Polarization: (-0.643192,-0.741338,0.19163) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.627302,0.366652,-0.687066) - Old Polarization: (-0.643192,-0.741338,0.19163) - New Momentum Direction: (0.627302,0.366652,-0.687066) - New Polarization: (-0.643192,0.741338,-0.19163) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.627302,0.366652,-0.687066) - Old Polarization: (-0.643192,0.741338,-0.19163) - New Momentum Direction: (0.627302,-0.366652,-0.687066) - New Polarization: (0.643192,0.741338,0.19163) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.627302,-0.366652,-0.687066) - Old Polarization: (0.643192,0.741338,0.19163) - New Momentum Direction: (0.627302,-0.366652,0.687066) - New Polarization: (0.606356,0.78357,-0.135461) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.627302,-0.366652,0.687066) - Old Polarization: (0.606356,0.78357,-0.135461) - New Momentum Direction: (-0.627302,-0.366652,0.687066) - New Polarization: (0.606356,-0.78357,0.135461) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 656, parentID 1) is processed with stopping code 2 -### pop requested out of 326 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.402827,0.495149,-0.769778) - Old Polarization: (-0.871391,0.0498288,0.488053) - New Momentum Direction: (-0.547464,0.672936,-0.497434) - New Polarization: (-0.234307,-0.693916,-0.680867) - *** FresnelRefraction *** -Track (trackID 655, parentID 1) is processed with stopping code 2 -### pop requested out of 325 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0443256,0.959105,-0.27956) - Old Polarization: (-0.563267,0.255108,0.785907) - New Momentum Direction: (0.0595826,0.924789,-0.375785) - New Polarization: (-0.556697,0.34326,0.756479) - *** FresnelRefraction *** -Track (trackID 654, parentID 1) is processed with stopping code 2 -### pop requested out of 324 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.790507,-0.604265,0.0998133) - Old Polarization: (-0.0859899,-0.270864,-0.958769) - New Momentum Direction: (-0.790507,-0.604265,0.0998133) - New Polarization: (0.00649329,-0.171233,-0.985209) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.790507,-0.604265,0.0998133) - Old Polarization: (0.00649329,-0.171233,-0.985209) - New Momentum Direction: (-0.790507,0.604265,0.0998133) - New Polarization: (-0.00649329,-0.171233,0.985209) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.790507,0.604265,0.0998133) - Old Polarization: (-0.00649329,-0.171233,0.985209) - New Momentum Direction: (-0.554872,0.820813,0.135583) - New Polarization: (-0.00930254,-0.169084,0.985558) - *** FresnelRefraction *** -Track (trackID 653, parentID 1) is processed with stopping code 2 -### pop requested out of 323 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.189449,-0.127592,-0.973565) - Old Polarization: (0.30796,-0.93377,0.182304) - New Momentum Direction: (0.257331,-0.17331,-0.950655) - New Polarization: (-0.965931,-0.0741444,-0.24795) - *** FresnelRefraction *** -Track (trackID 652, parentID 1) is processed with stopping code 2 -### pop requested out of 322 stacked tracks. - -** Photon absorbed! ** -Track (trackID 651, parentID 1) is processed with stopping code 2 -### pop requested out of 321 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.895278,-0.0137472,0.445296) - Old Polarization: (0.0981792,0.981039,-0.167105) - New Momentum Direction: (0.798085,-0.018593,0.602258) - New Polarization: (0.134976,0.97964,-0.14862) - *** FresnelRefraction *** -Track (trackID 650, parentID 1) is processed with stopping code 2 -### pop requested out of 320 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.265125,0.854757,-0.446206) - Old Polarization: (0.961811,0.201789,-0.184935) - New Momentum Direction: (-0.360716,0.708046,-0.607087) - New Polarization: (0.932614,0.281281,-0.226079) - *** FresnelRefraction *** -Track (trackID 649, parentID 1) is processed with stopping code 2 -### pop requested out of 319 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.689314,-0.368785,-0.623574) - Old Polarization: (-0.282518,-0.655755,0.70012) - New Momentum Direction: (-0.183294,-0.500422,-0.846157) - New Polarization: (-0.443175,-0.726249,0.525508) - *** FresnelRefraction *** -Track (trackID 648, parentID 1) is processed with stopping code 2 -### pop requested out of 318 stacked tracks. - -** Photon absorbed! ** -Track (trackID 647, parentID 1) is processed with stopping code 2 -### pop requested out of 317 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.213899,-0.366033,0.905686) -Old Polarization: (0.674982,-0.614832,-0.407898) -New Polarization: (0.905572,0.0262647,-0.423379) -Polarization Change: (0.905572,0.0262647,-0.423379) -New Momentum Direction: (0.0316971,0.991101,0.129281) -Momentum Change: (0.0316971,0.991101,0.129281) - Photon at Boundary! - Old Momentum Direction: (0.0316971,0.991101,0.129281) - Old Polarization: (0.905572,0.0262647,-0.423379) - New Momentum Direction: (0.0316971,-0.991101,0.129281) - New Polarization: (0.909483,-0.0250448,-0.414986) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0316971,-0.991101,0.129281) - Old Polarization: (0.909483,-0.0250448,-0.414986) - New Momentum Direction: (0.0316971,-0.991101,-0.129281) - New Polarization: (-0.909483,0.0250448,-0.414986) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0316971,-0.991101,-0.129281) - Old Polarization: (-0.909483,0.0250448,-0.414986) - New Momentum Direction: (0.0430595,-0.983515,-0.175624) - New Polarization: (-0.997963,-0.0340609,-0.0539358) - *** FresnelRefraction *** -Track (trackID 646, parentID 1) is processed with stopping code 2 -### pop requested out of 316 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.776172,-0.445976,0.445715) - Old Polarization: (-0.486767,0.0254856,0.87316) - New Momentum Direction: (0.515541,-0.606072,0.605718) - New Polarization: (0.677517,0.721099,0.144869) - *** FresnelRefraction *** -Track (trackID 645, parentID 1) is processed with stopping code 2 -### pop requested out of 315 stacked tracks. - -** Photon absorbed! ** -Track (trackID 644, parentID 1) is processed with stopping code 2 -### pop requested out of 314 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.236845,-0.120741,0.964015) - Old Polarization: (-0.358147,-0.933218,-0.0288918) - New Momentum Direction: (0.321435,-0.163864,0.932646) - New Polarization: (-0.542209,-0.839319,0.0394053) - *** FresnelRefraction *** -Track (trackID 643, parentID 1) is processed with stopping code 2 -### pop requested out of 313 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.418398,-0.849483,0.321436) - Old Polarization: (-0.732834,0.106669,-0.671995) - New Momentum Direction: (-0.564594,-0.702206,0.433752) - New Polarization: (-0.480271,-0.147887,-0.864563) - *** FresnelRefraction *** -Track (trackID 642, parentID 1) is processed with stopping code 2 -### pop requested out of 312 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.607287,-0.0273699,-0.794011) - Old Polarization: (0.103436,0.988176,-0.113174) - New Momentum Direction: (-0.81774,-0.0368548,-0.574407) - New Polarization: (0.0676639,0.984873,-0.159519) - *** FresnelRefraction *** -Track (trackID 641, parentID 1) is processed with stopping code 2 -### pop requested out of 311 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.233965,-0.824623,0.515032) - Old Polarization: (-0.777549,-0.159319,-0.608306) - New Momentum Direction: (-0.317538,-0.640751,0.699004) - New Polarization: (-0.79359,-0.22391,-0.565756) - *** FresnelRefraction *** -Track (trackID 640, parentID 1) is processed with stopping code 2 -### pop requested out of 310 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.597816,0.00860611,0.801587) - Old Polarization: (0.778587,-0.244278,-0.57804) - New Momentum Direction: (0.811571,0.0116833,0.584137) - New Polarization: (-0.562861,-0.252437,0.78706) - *** FresnelRefraction *** -Track (trackID 639, parentID 1) is processed with stopping code 2 -### pop requested out of 309 stacked tracks. - -** Photon absorbed! ** -Track (trackID 638, parentID 1) is processed with stopping code 2 -### pop requested out of 308 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.319997,0.545209,-0.774822) - Old Polarization: (0.851061,0.524765,0.0177719) - New Momentum Direction: (-0.433579,0.738731,-0.516029) - New Polarization: (0.869843,0.492665,-0.0255793) - *** FresnelRefraction *** -Track (trackID 637, parentID 1) is processed with stopping code 2 -### pop requested out of 307 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.285272,-0.473956,-0.833058) - Old Polarization: (-0.36276,-0.857907,0.363869) - New Momentum Direction: (0.384949,-0.63956,-0.665415) - New Polarization: (-0.865892,-0.000724496,-0.500231) - *** FresnelRefraction *** -Track (trackID 636, parentID 1) is processed with stopping code 2 -### pop requested out of 306 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.499246,0.758092,0.419582) - Old Polarization: (-0.267586,0.32568,-0.906824) - New Momentum Direction: (-0.676502,0.468073,0.568553) - New Polarization: (-0.358438,0.465136,-0.809426) - *** FresnelRefraction *** -Track (trackID 635, parentID 1) is processed with stopping code 2 -### pop requested out of 305 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.806599,-0.0766361,-0.58611) - Old Polarization: (-0.415595,-0.778626,-0.47013) - New Momentum Direction: (0.595449,-0.10416,-0.796612) - New Polarization: (0.577806,-0.633409,0.514717) - *** FresnelRefraction *** -Track (trackID 634, parentID 1) is processed with stopping code 2 -### pop requested out of 304 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.599941,-0.0871803,0.79528) - Old Polarization: (0.0176148,0.992365,0.122073) - New Momentum Direction: (-0.807352,-0.11732,0.578289) - New Polarization: (-0.0200909,0.984932,0.171769) - *** FresnelRefraction *** -Track (trackID 633, parentID 1) is processed with stopping code 2 -### pop requested out of 303 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.844442,-0.0723042,-0.530745) - Old Polarization: (0.535629,-0.122272,-0.835555) - New Momentum Direction: (-0.687242,-0.0980566,-0.71978) - New Polarization: (-0.726404,0.0847278,0.682025) - *** FresnelRefraction *** -Track (trackID 632, parentID 1) is processed with stopping code 2 -### pop requested out of 302 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.137386,-0.609997,-0.780403) - Old Polarization: (0.468666,-0.654069,0.593756) - New Momentum Direction: (0.185528,-0.823749,-0.53574) - New Polarization: (0.178489,0.564386,-0.805984) - *** FresnelRefraction *** -Track (trackID 631, parentID 1) is processed with stopping code 2 -### pop requested out of 301 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.323795,0.098278,-0.941009) - Old Polarization: (-0.624551,0.769305,-0.134558) - New Momentum Direction: (0.438384,0.133058,-0.888884) - New Polarization: (-0.606798,0.773386,-0.183494) - *** FresnelRefraction *** -Track (trackID 630, parentID 1) is processed with stopping code 2 -### pop requested out of 300 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.533469,-0.835727,0.130273) - Old Polarization: (-0.807078,-0.456882,0.37401) - New Momentum Direction: (0.722658,-0.668298,0.176472) - New Polarization: (-0.67418,-0.625183,0.393227) - *** FresnelRefraction *** -Track (trackID 629, parentID 1) is processed with stopping code 2 -### pop requested out of 299 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.796453,-0.412596,-0.442072) - Old Polarization: (-0.365095,-0.910878,0.192373) - New Momentum Direction: (0.568433,-0.56136,-0.601464) - New Polarization: (0.512798,-0.32994,0.792577) - *** FresnelRefraction *** -Track (trackID 628, parentID 1) is processed with stopping code 2 -### pop requested out of 298 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.900883,0.184145,0.393066) - Old Polarization: (-0.164858,-0.982852,0.0826066) - New Momentum Direction: (-0.807635,0.250165,0.533989) - New Polarization: (-0.227158,-0.967652,0.109763) - *** FresnelRefraction *** -Track (trackID 627, parentID 1) is processed with stopping code 2 -### pop requested out of 297 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.134157,0.848312,0.512219) - Old Polarization: (0.964152,-0.231155,0.130303) - New Momentum Direction: (0.181431,0.698018,0.692714) - New Polarization: (0.786352,0.320022,-0.528428) - *** FresnelRefraction *** -Track (trackID 626, parentID 1) is processed with stopping code 2 -### pop requested out of 296 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.669329,-0.375087,0.641333) - Old Polarization: (-0.611812,0.768006,-0.189346) - New Momentum Direction: (0.669329,-0.375087,0.641333) - New Polarization: (-0.611812,-0.768006,0.189346) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.669329,-0.375087,0.641333) - Old Polarization: (-0.611812,-0.768006,0.189346) - New Momentum Direction: (0.669329,-0.375087,-0.641333) - New Polarization: (0.611812,0.768006,0.189346) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.669329,-0.375087,-0.641333) - Old Polarization: (0.611812,0.768006,0.189346) - New Momentum Direction: (0.669329,0.375087,-0.641333) - New Polarization: (-0.611812,0.768006,-0.189346) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.669329,0.375087,-0.641333) - Old Polarization: (-0.611812,0.768006,-0.189346) - New Momentum Direction: (-0.669329,0.375087,-0.641333) - New Polarization: (-0.611812,-0.768006,0.189346) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.669329,0.375087,-0.641333) - Old Polarization: (-0.611812,-0.768006,0.189346) - New Momentum Direction: (-0.669329,0.375087,0.641333) - New Polarization: (0.611812,0.768006,0.189346) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 625, parentID 1) is processed with stopping code 2 -### pop requested out of 295 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.262122,-0.948506,-0.177842) - Old Polarization: (-0.961965,0.242125,0.126485) - New Momentum Direction: (-0.354056,-0.903848,-0.240217) - New Polarization: (0.212951,-0.328022,0.920355) - *** FresnelRefraction *** -Track (trackID 624, parentID 1) is processed with stopping code 2 -### pop requested out of 294 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.255188,-0.332291,0.907999) - Old Polarization: (0.783899,-0.478645,-0.395475) - New Momentum Direction: (0.345825,-0.450315,0.823178) - New Polarization: (-0.215572,0.815709,0.536793) - *** FresnelRefraction *** -Track (trackID 623, parentID 1) is processed with stopping code 2 -### pop requested out of 293 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.425275,-0.894132,0.140249) - Old Polarization: (0.894717,-0.391969,0.214108) - New Momentum Direction: (-0.57316,-0.797346,0.189019) - New Polarization: (0.814897,-0.530343,0.233836) - *** FresnelRefraction *** -Track (trackID 622, parentID 1) is processed with stopping code 2 -### pop requested out of 292 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.669441,-0.69466,-0.263243) - Old Polarization: (-0.158301,-0.47962,0.863079) - New Momentum Direction: (0.900512,-0.252363,-0.354107) - New Polarization: (0.0870924,-0.693176,0.715488) - *** FresnelRefraction *** -Track (trackID 621, parentID 1) is processed with stopping code 2 -### pop requested out of 291 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.501551,0.824642,-0.261558) -Old Polarization: (0.0956693,-0.353347,-0.930587) -New Polarization: (0.417782,0.603116,0.679492) -Polarization Change: (0.417782,0.603116,0.679492) -New Momentum Direction: (0.729244,0.223479,-0.646731) -Momentum Change: (0.729244,0.223479,-0.646731) - Photon at Boundary! - Old Momentum Direction: (0.729244,0.223479,-0.646731) - Old Polarization: (0.417782,0.603116,0.679492) - New Momentum Direction: (0.370894,0.303307,-0.877748) - New Polarization: (0.60187,0.64129,0.47592) - *** FresnelRefraction *** -Track (trackID 620, parentID 1) is processed with stopping code 2 -### pop requested out of 290 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.852693,0.30886,-0.421332) - Old Polarization: (0.522271,0.522788,-0.673741) - New Momentum Direction: (-0.704622,0.419519,-0.572287) - New Polarization: (-0.709401,-0.398217,0.581527) - *** FresnelRefraction *** -Track (trackID 619, parentID 1) is processed with stopping code 2 -### pop requested out of 289 stacked tracks. - -** Photon absorbed! ** -Track (trackID 618, parentID 1) is processed with stopping code 2 -### pop requested out of 288 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.209564,0.445937,0.870185) - Old Polarization: (-0.74273,0.651415,-0.154956) - New Momentum Direction: (0.284624,0.60566,0.743078) - New Polarization: (-0.958602,0.186661,0.215035) - *** FresnelRefraction *** -Track (trackID 617, parentID 1) is processed with stopping code 2 -### pop requested out of 287 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.530673,0.0552762,0.845772) - Old Polarization: (-0.363782,-0.886432,0.286185) - New Momentum Direction: (0.718814,0.0748735,0.691159) - New Polarization: (-0.290043,-0.871227,0.396029) - *** FresnelRefraction *** -Track (trackID 616, parentID 1) is processed with stopping code 2 -### pop requested out of 286 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.656787,0.420435,0.625992) - Old Polarization: (-0.733798,0.165121,0.658996) - New Momentum Direction: (-0.656787,0.420435,0.625992) - New Polarization: (-0.733798,-0.165121,-0.658996) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656787,0.420435,0.625992) - Old Polarization: (-0.733798,-0.165121,-0.658996) - New Momentum Direction: (-0.656787,0.420435,-0.625992) - New Polarization: (0.733798,0.165121,-0.658996) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656787,0.420435,-0.625992) - Old Polarization: (0.733798,0.165121,-0.658996) - New Momentum Direction: (-0.656787,-0.420435,-0.625992) - New Polarization: (-0.733798,0.165121,0.658996) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 615, parentID 1) is processed with stopping code 2 -### pop requested out of 285 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.651757,0.572425,-0.497536) - Old Polarization: (-0.740614,0.339015,-0.580138) - New Momentum Direction: (-0.651757,0.572425,-0.497536) - New Polarization: (-0.740614,-0.339015,0.580138) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 614, parentID 1) is processed with stopping code 2 -### pop requested out of 284 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.634145,0.552491,0.540938) - Old Polarization: (-0.759359,0.313154,0.570359) - New Momentum Direction: (-0.634145,0.552491,0.540938) - New Polarization: (-0.759359,-0.313154,-0.570359) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.634145,0.552491,0.540938) - Old Polarization: (-0.759359,-0.313154,-0.570359) - New Momentum Direction: (-0.634145,-0.552491,0.540938) - New Polarization: (0.759359,-0.313154,0.570359) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.634145,-0.552491,0.540938) - Old Polarization: (0.759359,-0.313154,0.570359) - New Momentum Direction: (-0.634145,-0.552491,-0.540938) - New Polarization: (-0.759359,0.313154,0.570359) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 613, parentID 1) is processed with stopping code 2 -### pop requested out of 283 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.819743,-0.271361,-0.504365) - Old Polarization: (-0.55481,-0.594814,-0.581706) - New Momentum Direction: (0.631715,-0.367291,-0.682666) - New Polarization: (0.752682,0.0798991,0.653518) - *** FresnelRefraction *** -Track (trackID 612, parentID 1) is processed with stopping code 2 -### pop requested out of 282 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.670857,0.366149,0.644892) - Old Polarization: (-0.718983,0.108069,0.686574) - New Momentum Direction: (-0.670857,0.366149,0.644892) - New Polarization: (-0.718983,-0.108069,-0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670857,0.366149,0.644892) - Old Polarization: (-0.718983,-0.108069,-0.686574) - New Momentum Direction: (-0.670857,0.366149,-0.644892) - New Polarization: (0.718983,0.108069,-0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670857,0.366149,-0.644892) - Old Polarization: (0.718983,0.108069,-0.686574) - New Momentum Direction: (-0.670857,-0.366149,-0.644892) - New Polarization: (-0.718983,0.108069,0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670857,-0.366149,-0.644892) - Old Polarization: (-0.718983,0.108069,0.686574) - New Momentum Direction: (0.670857,-0.366149,-0.644892) - New Polarization: (-0.718983,-0.108069,-0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670857,-0.366149,-0.644892) - Old Polarization: (-0.718983,-0.108069,-0.686574) - New Momentum Direction: (0.670857,-0.366149,0.644892) - New Polarization: (0.718983,0.108069,-0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.670857,-0.366149,0.644892) - Old Polarization: (0.718983,0.108069,-0.686574) - New Momentum Direction: (-0.670857,-0.366149,0.644892) - New Polarization: (0.718983,-0.108069,0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670857,-0.366149,0.644892) - Old Polarization: (0.718983,-0.108069,0.686574) - New Momentum Direction: (-0.670857,-0.366149,-0.644892) - New Polarization: (-0.718983,0.108069,0.686574) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670857,-0.366149,-0.644892) - Old Polarization: (-0.718983,0.108069,0.686574) - New Momentum Direction: (-0.670857,0.366149,-0.644892) - New Polarization: (0.718983,0.108069,-0.686574) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 611, parentID 1) is processed with stopping code 2 -### pop requested out of 281 stacked tracks. - -** Photon absorbed! ** -Track (trackID 610, parentID 1) is processed with stopping code 2 -### pop requested out of 280 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.706046,0.181076,0.684624) - Old Polarization: (-0.679963,-0.0967665,0.726833) - New Momentum Direction: (0.284339,0.245143,0.926853) - New Polarization: (0.928777,-0.310174,-0.202892) - *** FresnelRefraction *** -Track (trackID 609, parentID 1) is processed with stopping code 2 -### pop requested out of 279 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596519,0.785487,-0.164849) - Old Polarization: (-0.799598,0.56387,-0.206626) - New Momentum Direction: (0.809884,0.542214,-0.223813) - New Polarization: (-0.585272,0.772495,-0.246391) - *** FresnelRefraction *** -Track (trackID 608, parentID 1) is processed with stopping code 2 -### pop requested out of 278 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.844916,-0.399437,-0.355762) - Old Polarization: (-0.526387,-0.739082,-0.420326) - New Momentum Direction: (0.691658,-0.539324,-0.480353) - New Polarization: (0.711381,0.393921,0.582034) - *** FresnelRefraction *** -Track (trackID 607, parentID 1) is processed with stopping code 2 -### pop requested out of 277 stacked tracks. - -** Photon absorbed! ** -Track (trackID 606, parentID 1) is processed with stopping code 2 -### pop requested out of 276 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63862,0.53616,0.551993) - Old Polarization: (-0.754809,0.296847,0.584932) - New Momentum Direction: (-0.63862,0.53616,0.551993) - New Polarization: (-0.754809,-0.296847,-0.584932) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.63862,0.53616,0.551993) - Old Polarization: (-0.754809,-0.296847,-0.584932) - New Momentum Direction: (-0.63862,0.53616,-0.551993) - New Polarization: (0.754809,0.296847,-0.584932) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.63862,0.53616,-0.551993) - Old Polarization: (0.754809,0.296847,-0.584932) - New Momentum Direction: (-0.63862,-0.53616,-0.551993) - New Polarization: (-0.754809,0.296847,0.584932) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 605, parentID 1) is processed with stopping code 2 -### pop requested out of 275 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.594166,0.791258,-0.144493) - Old Polarization: (-0.801839,0.568518,-0.183963) - New Momentum Direction: (0.807559,0.55613,-0.196387) - New Polarization: (-0.58896,0.778036,-0.2186) - *** FresnelRefraction *** -Track (trackID 604, parentID 1) is processed with stopping code 2 -### pop requested out of 274 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.846779,-0.478573,0.232234) - Old Polarization: (-0.525708,-0.819542,0.227995) - New Momentum Direction: (0.692308,-0.649202,0.315035) - New Polarization: (0.713633,0.551264,-0.432245) - *** FresnelRefraction *** -Track (trackID 603, parentID 1) is processed with stopping code 2 -### pop requested out of 273 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.723895,0.105743,0.681758) - Old Polarization: (-0.660343,-0.179994,0.729074) - New Momentum Direction: (0.365176,0.142686,0.919939) - New Polarization: (0.897771,-0.315401,-0.307456) - *** FresnelRefraction *** -Track (trackID 602, parentID 1) is processed with stopping code 2 -### pop requested out of 272 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.623767,0.601505,0.499106) - Old Polarization: (-0.770423,0.365509,0.522352) - New Momentum Direction: (-0.623767,0.601505,0.499106) - New Polarization: (-0.770423,-0.365509,-0.522352) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623767,0.601505,0.499106) - Old Polarization: (-0.770423,-0.365509,-0.522352) - New Momentum Direction: (-0.623767,-0.601505,0.499106) - New Polarization: (0.770423,-0.365509,0.522352) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623767,-0.601505,0.499106) - Old Polarization: (0.770423,-0.365509,0.522352) - New Momentum Direction: (-0.623767,-0.601505,-0.499106) - New Polarization: (-0.770423,0.365509,0.522352) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 601, parentID 1) is processed with stopping code 2 -### pop requested out of 271 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.862818,-0.502563,-0.0545497) - Old Polarization: (-0.505507,-0.858377,-0.0874696) - New Momentum Direction: (0.732863,-0.676403,-0.0734188) - New Polarization: (0.680366,0.727976,0.0845826) - *** FresnelRefraction *** -Track (trackID 600, parentID 1) is processed with stopping code 2 -### pop requested out of 270 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69986,0.324263,-0.636434) - Old Polarization: (-0.686683,0.060162,-0.724464) - New Momentum Direction: (0.249388,0.439629,-0.862863) - New Polarization: (0.93992,-0.324397,0.106379) - *** FresnelRefraction *** -Track (trackID 599, parentID 1) is processed with stopping code 2 -### pop requested out of 269 stacked tracks. - -** Photon absorbed! ** -Track (trackID 598, parentID 1) is processed with stopping code 2 -### pop requested out of 268 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.794334,-0.2411,0.557589) - Old Polarization: (-0.582775,-0.561543,0.587404) - New Momentum Direction: (0.5692,-0.326317,0.754671) - New Polarization: (0.791744,-0.0299621,-0.610117) - *** FresnelRefraction *** -Track (trackID 597, parentID 1) is processed with stopping code 2 -### pop requested out of 267 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596074,0.759678,0.25997) - Old Polarization: (-0.800916,0.539633,0.259481) - New Momentum Direction: (0.807105,0.473995,0.352009) - New Polarization: (-0.58048,0.745947,0.326506) - *** FresnelRefraction *** -Track (trackID 596, parentID 1) is processed with stopping code 2 -### pop requested out of 266 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.795881,-0.151639,-0.586157) - Old Polarization: (-0.581313,-0.462035,-0.669775) - New Momentum Direction: (0.5715,-0.205525,-0.794448) - New Polarization: (0.790802,-0.12059,0.600075) - *** FresnelRefraction *** -Track (trackID 595, parentID 1) is processed with stopping code 2 -### pop requested out of 265 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.807864,-0.315569,0.497767) -Old Polarization: (-0.5686,-0.639548,0.517371) -New Polarization: (0.0329908,0.319849,0.946894) -Polarization Change: (0.0329908,0.319849,0.946894) -New Momentum Direction: (-0.599073,-0.752026,0.274897) -Momentum Change: (-0.599073,-0.752026,0.274897) - Photon at Boundary! - Old Momentum Direction: (-0.599073,-0.752026,0.274897) - Old Polarization: (0.0329908,0.319849,0.946894) - New Momentum Direction: (-0.813713,-0.44548,0.373389) - New Polarization: (0.565927,-0.460562,0.683819) - *** FresnelRefraction *** -Track (trackID 594, parentID 1) is processed with stopping code 2 -### pop requested out of 264 stacked tracks. - -** Photon absorbed! ** -Track (trackID 593, parentID 1) is processed with stopping code 2 -### pop requested out of 263 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.656142,0.423708,0.624459) - Old Polarization: (-0.734502,0.168699,0.657303) - New Momentum Direction: (-0.656142,0.423708,0.624459) - New Polarization: (-0.734502,-0.168699,-0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656142,0.423708,0.624459) - Old Polarization: (-0.734502,-0.168699,-0.657303) - New Momentum Direction: (-0.656142,0.423708,-0.624459) - New Polarization: (0.734502,0.168699,-0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656142,0.423708,-0.624459) - Old Polarization: (0.734502,0.168699,-0.657303) - New Momentum Direction: (-0.656142,-0.423708,-0.624459) - New Polarization: (-0.734502,0.168699,0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656142,-0.423708,-0.624459) - Old Polarization: (-0.734502,0.168699,0.657303) - New Momentum Direction: (0.656142,-0.423708,-0.624459) - New Polarization: (-0.734502,-0.168699,-0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656142,-0.423708,-0.624459) - Old Polarization: (-0.734502,-0.168699,-0.657303) - New Momentum Direction: (0.656142,-0.423708,0.624459) - New Polarization: (0.734502,0.168699,-0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656142,-0.423708,0.624459) - Old Polarization: (0.734502,0.168699,-0.657303) - New Momentum Direction: (0.656142,0.423708,0.624459) - New Polarization: (-0.734502,0.168699,0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656142,0.423708,0.624459) - Old Polarization: (-0.734502,0.168699,0.657303) - New Momentum Direction: (-0.656142,0.423708,0.624459) - New Polarization: (-0.734502,-0.168699,-0.657303) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656142,0.423708,0.624459) - Old Polarization: (-0.734502,-0.168699,-0.657303) - New Momentum Direction: (-0.656142,0.423708,-0.624459) - New Polarization: (0.734502,0.168699,-0.657303) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.656142,0.423708,-0.624459) -Old Polarization: (0.734502,0.168699,-0.657303) -New Polarization: (-0.25327,0.0357634,0.966734) -Polarization Change: (-0.25327,0.0357634,0.966734) -New Momentum Direction: (-0.91211,-0.341816,-0.226314) -Momentum Change: (-0.91211,-0.341816,-0.226314) - Photon at Boundary! - Old Momentum Direction: (-0.91211,-0.341816,-0.226314) - Old Polarization: (-0.25327,0.0357634,0.966734) - New Momentum Direction: (-0.831021,-0.463797,-0.307077) - New Polarization: (-0.346642,6.48842e-05,0.937997) - *** FresnelRefraction *** -Track (trackID 592, parentID 1) is processed with stopping code 2 -### pop requested out of 262 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.855144,-0.487534,-0.176181) - Old Polarization: (-0.516915,-0.827583,-0.218872) - New Momentum Direction: (0.710165,-0.662128,-0.239275) - New Polarization: (0.70214,0.641169,0.309681) - *** FresnelRefraction *** -Track (trackID 591, parentID 1) is processed with stopping code 2 -### pop requested out of 261 stacked tracks. - -** Photon absorbed! ** -Track (trackID 590, parentID 1) is processed with stopping code 2 -### pop requested out of 260 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857332,-0.504964,0.0999665) - Old Polarization: (-0.512961,-0.854304,0.0838816) - New Momentum Direction: (-0.857332,-0.504964,0.0999665) - New Polarization: (-0.490677,0.74295,-0.455259) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.857332,-0.504964,0.0999665) - Old Polarization: (-0.490677,0.74295,-0.455259) - New Momentum Direction: (-0.857332,0.504964,0.0999665) - New Polarization: (0.490677,0.74295,0.455259) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 589, parentID 1) is processed with stopping code 2 -### pop requested out of 259 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.796272,-0.250626,0.550578) - Old Polarization: (-0.580668,-0.571872,0.579471) - New Momentum Direction: (0.573949,-0.339267,0.745305) - New Polarization: (0.788925,-0.0148691,-0.614309) - *** FresnelRefraction *** -Track (trackID 588, parentID 1) is processed with stopping code 2 -### pop requested out of 258 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.770286,-0.00378448,-0.637687) - Old Polarization: (-0.608901,-0.301474,-0.733725) - New Momentum Direction: (0.509786,-0.00510553,-0.860286) - New Polarization: (0.825615,-0.278181,0.490892) - *** FresnelRefraction *** -Track (trackID 587, parentID 1) is processed with stopping code 2 -### pop requested out of 257 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60302,0.717194,0.349284) - Old Polarization: (-0.79325,0.492788,0.35765) - New Momentum Direction: (0.60302,-0.717194,0.349284) - New Polarization: (-0.189821,0.296268,0.936052) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.60302,-0.717194,0.349284) - Old Polarization: (-0.189821,0.296268,0.936052) - New Momentum Direction: (-0.60302,-0.717194,0.349284) - New Polarization: (-0.189821,-0.296268,-0.936052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.60302,-0.717194,0.349284) - Old Polarization: (-0.189821,-0.296268,-0.936052) - New Momentum Direction: (-0.60302,-0.717194,-0.349284) - New Polarization: (0.189821,0.296268,-0.936052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.60302,-0.717194,-0.349284) - Old Polarization: (0.189821,0.296268,-0.936052) - New Momentum Direction: (-0.816579,-0.330889,-0.472982) - New Polarization: (0.576866,-0.438549,-0.68913) - *** FresnelRefraction *** -Track (trackID 586, parentID 1) is processed with stopping code 2 -### pop requested out of 256 stacked tracks. - -** Photon absorbed! ** -Track (trackID 585, parentID 1) is processed with stopping code 2 -### pop requested out of 255 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.591856,0.775363,0.220268) - Old Polarization: (-0.804812,0.553357,0.214649) - New Momentum Direction: (0.803258,0.515179,0.298944) - New Polarization: (-0.589104,0.761245,0.271038) - *** FresnelRefraction *** -Track (trackID 584, parentID 1) is processed with stopping code 2 -### pop requested out of 254 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.677903,0.451847,-0.579898) - Old Polarization: (-0.711552,0.205021,-0.672057) - New Momentum Direction: (0.140036,0.608575,-0.781042) - New Polarization: (0.968289,-0.248999,-0.020408) - *** FresnelRefraction *** -Track (trackID 583, parentID 1) is processed with stopping code 2 -### pop requested out of 253 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.604863,0.762603,-0.229299) - Old Polarization: (-0.79144,0.543828,-0.279058) - New Momentum Direction: (0.81847,0.483565,-0.310276) - New Polarization: (-0.570219,0.749842,-0.335539) - *** FresnelRefraction *** -Track (trackID 582, parentID 1) is processed with stopping code 2 -### pop requested out of 252 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.591963,0.788976,0.164609) - Old Polarization: (-0.805484,0.572084,0.154646) - New Momentum Direction: (0.591963,-0.788976,0.164609) - New Polarization: (-0.116046,0.118674,0.986129) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.591963,-0.788976,0.164609) - Old Polarization: (-0.116046,0.118674,0.986129) - New Momentum Direction: (-0.591963,-0.788976,0.164609) - New Polarization: (-0.116046,-0.118674,-0.986129) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.591963,-0.788976,0.164609) - Old Polarization: (-0.116046,-0.118674,-0.986129) - New Momentum Direction: (-0.801423,-0.555029,0.222855) - New Polarization: (-0.153714,-0.168952,-0.973564) - *** FresnelRefraction *** -Track (trackID 581, parentID 1) is processed with stopping code 2 -### pop requested out of 251 stacked tracks. - -** Photon absorbed! ** -Track (trackID 580, parentID 1) is processed with stopping code 2 -### pop requested out of 250 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.606286,0.684129,0.405445) - Old Polarization: (-0.788745,0.452246,0.416359) - New Momentum Direction: (0.606286,-0.684129,0.405445) - New Polarization: (-0.177682,0.380413,0.907588) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.606286,-0.684129,0.405445) - Old Polarization: (-0.177682,0.380413,0.907588) - New Momentum Direction: (-0.606286,-0.684129,0.405445) - New Polarization: (-0.177682,-0.380413,-0.907588) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 579, parentID 1) is processed with stopping code 2 -### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.840141,-0.396685,-0.36987) - Old Polarization: (-0.53333,-0.728209,-0.43043) - New Momentum Direction: (0.676264,-0.538789,-0.502368) - New Polarization: (0.725147,0.366792,0.582775) - *** FresnelRefraction *** -Track (trackID 578, parentID 1) is processed with stopping code 2 -### pop requested out of 248 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.733046,0.0354478,0.679255) - Old Polarization: (-0.650335,-0.256044,0.715197) - New Momentum Direction: (0.382093,0.0481611,0.922868) - New Polarization: (0.890261,-0.287042,-0.353613) - *** FresnelRefraction *** -Track (trackID 577, parentID 1) is processed with stopping code 2 -### pop requested out of 247 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.797776,-0.270647,0.538798) -Old Polarization: (-0.579671,-0.590192,0.561832) -New Polarization: (0.221708,-0.756524,0.615237) -Polarization Change: (0.221708,-0.756524,0.615237) -New Momentum Direction: (0.971592,0.117818,-0.20525) -Momentum Change: (0.971592,0.117818,-0.20525) - Photon at Boundary! - Old Momentum Direction: (0.971592,0.117818,-0.20525) - Old Polarization: (0.221708,-0.756524,0.615237) - New Momentum Direction: (0.946894,0.160076,-0.278867) - New Polarization: (0.301372,-0.744175,0.596136) - *** FresnelRefraction *** -Track (trackID 576, parentID 1) is processed with stopping code 2 -### pop requested out of 246 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.816426,-0.346025,0.462293) - Old Polarization: (-0.558734,-0.675541,0.481104) - New Momentum Direction: (0.622595,-0.468923,0.626487) - New Polarization: (0.759073,0.167281,-0.629147) - *** FresnelRefraction *** -Track (trackID 575, parentID 1) is processed with stopping code 2 -### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.620187,0.615597,0.486218) - Old Polarization: (-0.774041,0.379575,0.506738) - New Momentum Direction: (-0.620187,0.615597,0.486218) - New Polarization: (-0.774041,-0.379575,-0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,0.615597,0.486218) - Old Polarization: (-0.774041,-0.379575,-0.506738) - New Momentum Direction: (-0.620187,-0.615597,0.486218) - New Polarization: (0.774041,-0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,-0.615597,0.486218) - Old Polarization: (0.774041,-0.379575,0.506738) - New Momentum Direction: (-0.620187,-0.615597,-0.486218) - New Polarization: (-0.774041,0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,-0.615597,-0.486218) - Old Polarization: (-0.774041,0.379575,0.506738) - New Momentum Direction: (0.620187,-0.615597,-0.486218) - New Polarization: (-0.774041,-0.379575,-0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.620187,-0.615597,-0.486218) - Old Polarization: (-0.774041,-0.379575,-0.506738) - New Momentum Direction: (0.620187,0.615597,-0.486218) - New Polarization: (0.774041,-0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.620187,0.615597,-0.486218) - Old Polarization: (0.774041,-0.379575,0.506738) - New Momentum Direction: (0.620187,0.615597,0.486218) - New Polarization: (-0.774041,0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.620187,0.615597,0.486218) - Old Polarization: (-0.774041,0.379575,0.506738) - New Momentum Direction: (-0.620187,0.615597,0.486218) - New Polarization: (-0.774041,-0.379575,-0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,0.615597,0.486218) - Old Polarization: (-0.774041,-0.379575,-0.506738) - New Momentum Direction: (-0.620187,-0.615597,0.486218) - New Polarization: (0.774041,-0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,-0.615597,0.486218) - Old Polarization: (0.774041,-0.379575,0.506738) - New Momentum Direction: (-0.620187,-0.615597,-0.486218) - New Polarization: (-0.774041,0.379575,0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.620187,-0.615597,-0.486218) - Old Polarization: (-0.774041,0.379575,0.506738) - New Momentum Direction: (0.620187,-0.615597,-0.486218) - New Polarization: (-0.774041,-0.379575,-0.506738) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.620187,-0.615597,-0.486218) - Old Polarization: (-0.774041,-0.379575,-0.506738) - New Momentum Direction: (0.620187,0.615597,-0.486218) - New Polarization: (0.774041,-0.379575,0.506738) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 574, parentID 1) is processed with stopping code 2 -### pop requested out of 244 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.608895,0.744014,-0.275116) - Old Polarization: (-0.786782,0.522244,-0.328991) - New Momentum Direction: (0.824556,0.425802,-0.372558) - New Polarization: (-0.556535,0.728965,-0.398597) - *** FresnelRefraction *** -Track (trackID 573, parentID 1) is processed with stopping code 2 -### pop requested out of 243 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590838,0.803045,0.0776541) - Old Polarization: (-0.806789,0.587887,0.0590036) - New Momentum Direction: (0.799737,0.591078,0.10511) - New Polarization: (-0.599211,0.796674,0.0790995) - *** FresnelRefraction *** -Track (trackID 572, parentID 1) is processed with stopping code 2 -### pop requested out of 242 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.586972,0.801795,0.112201) - Old Polarization: (-0.80952,0.579203,0.0959256) - New Momentum Direction: (0.798194,0.582758,0.152576) - New Polarization: (-0.6005,0.789835,0.12474) - *** FresnelRefraction *** -Track (trackID 571, parentID 1) is processed with stopping code 2 -### pop requested out of 241 stacked tracks. - -** Photon absorbed! ** -Track (trackID 570, parentID 1) is processed with stopping code 2 -### pop requested out of 240 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.620139,0.639183,0.454833) - Old Polarization: (-0.775523,0.412076,0.478286) - New Momentum Direction: (0.620139,-0.639183,0.454833) - New Polarization: (0.775523,0.412076,-0.478286) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.620139,-0.639183,0.454833) - Old Polarization: (0.775523,0.412076,-0.478286) - New Momentum Direction: (-0.620139,-0.639183,0.454833) - New Polarization: (0.775523,-0.412076,0.478286) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 569, parentID 1) is processed with stopping code 2 -### pop requested out of 239 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.807714,-0.20868,-0.551408) - Old Polarization: (-0.568092,-0.525641,-0.633224) - New Momentum Direction: (0.602452,-0.282507,-0.746486) - New Polarization: (0.771388,-0.034091,0.635451) - *** FresnelRefraction *** -Track (trackID 568, parentID 1) is processed with stopping code 2 -### pop requested out of 238 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.706066,0.185725,0.683357) - Old Polarization: (-0.680001,-0.0915353,0.727475) - New Momentum Direction: (0.288422,0.251124,0.923986) - New Polarization: (0.927526,-0.312852,-0.204499) - *** FresnelRefraction *** -Track (trackID 567, parentID 1) is processed with stopping code 2 -### pop requested out of 237 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (0.616205,-0.646215,0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (-0.616205,-0.646215,0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (-0.616205,-0.646215,-0.45022) - New Polarization: (-0.778961,0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,-0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (-0.616205,0.646215,-0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (0.616205,0.646215,-0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (0.616205,0.646215,0.45022) - New Polarization: (-0.778961,0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (0.616205,-0.646215,0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (-0.616205,-0.646215,0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (-0.616205,0.646215,0.45022) - New Polarization: (-0.778961,-0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,-0.41569,-0.469491) - New Momentum Direction: (-0.616205,0.646215,-0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (0.616205,0.646215,-0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (0.616205,0.646215,0.45022) - New Polarization: (-0.778961,0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (0.616205,-0.646215,0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (-0.616205,-0.646215,0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (-0.616205,-0.646215,-0.45022) - New Polarization: (-0.778961,0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,-0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (-0.616205,0.646215,-0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (0.616205,0.646215,-0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (0.616205,0.646215,0.45022) - New Polarization: (-0.778961,0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,0.41569,0.469491) - New Momentum Direction: (0.616205,-0.646215,0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (-0.616205,-0.646215,0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,-0.646215,0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (-0.616205,0.646215,0.45022) - New Polarization: (-0.778961,-0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,0.45022) - Old Polarization: (-0.778961,-0.41569,-0.469491) - New Momentum Direction: (-0.616205,0.646215,-0.45022) - New Polarization: (0.778961,0.41569,-0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,0.41569,-0.469491) - New Momentum Direction: (0.616205,0.646215,-0.45022) - New Polarization: (0.778961,-0.41569,0.469491) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.616205,0.646215,-0.45022) - Old Polarization: (0.778961,-0.41569,0.469491) - New Momentum Direction: (0.616205,-0.646215,-0.45022) - New Polarization: (-0.778961,-0.41569,-0.469491) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 566, parentID 1) is processed with stopping code 2 -### pop requested out of 236 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671761,0.451737,-0.587087) - Old Polarization: (-0.717287,0.198707,-0.667843) - New Momentum Direction: (-0.671761,0.451737,-0.587087) - New Polarization: (-0.717287,-0.198707,0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671761,0.451737,-0.587087) - Old Polarization: (-0.717287,-0.198707,0.667843) - New Momentum Direction: (-0.671761,0.451737,0.587087) - New Polarization: (0.717287,0.198707,0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671761,0.451737,0.587087) - Old Polarization: (0.717287,0.198707,0.667843) - New Momentum Direction: (-0.671761,-0.451737,0.587087) - New Polarization: (-0.717287,0.198707,-0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671761,-0.451737,0.587087) - Old Polarization: (-0.717287,0.198707,-0.667843) - New Momentum Direction: (0.671761,-0.451737,0.587087) - New Polarization: (-0.717287,-0.198707,0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671761,-0.451737,0.587087) - Old Polarization: (-0.717287,-0.198707,0.667843) - New Momentum Direction: (0.671761,-0.451737,-0.587087) - New Polarization: (0.717287,0.198707,0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671761,-0.451737,-0.587087) - Old Polarization: (0.717287,0.198707,0.667843) - New Momentum Direction: (0.671761,0.451737,-0.587087) - New Polarization: (-0.717287,0.198707,-0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671761,0.451737,-0.587087) - Old Polarization: (-0.717287,0.198707,-0.667843) - New Momentum Direction: (-0.671761,0.451737,-0.587087) - New Polarization: (-0.717287,-0.198707,0.667843) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671761,0.451737,-0.587087) - Old Polarization: (-0.717287,-0.198707,0.667843) - New Momentum Direction: (-0.671761,0.451737,0.587087) - New Polarization: (0.717287,0.198707,0.667843) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.671761,0.451737,0.587087) -Old Polarization: (0.717287,0.198707,0.667843) -New Polarization: (0.761444,0.645624,0.058076) -Polarization Change: (0.761444,0.645624,0.058076) -New Momentum Direction: (-0.248516,0.373491,-0.893725) -Momentum Change: (-0.248516,0.373491,-0.893725) - Photon at Boundary! - Old Momentum Direction: (-0.248516,0.373491,-0.893725) - Old Polarization: (0.761444,0.645624,0.058076) - New Momentum Direction: (-0.337515,0.507247,-0.792959) - New Polarization: (0.88317,0.462129,-0.0802937) - *** FresnelRefraction *** -Track (trackID 565, parentID 1) is processed with stopping code 2 -### pop requested out of 235 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.790211,-0.237076,0.56512) - Old Polarization: (-0.587987,-0.55322,0.590102) - New Momentum Direction: (0.553368,-0.322223,0.768086) - New Polarization: (0.802416,-0.0411085,-0.595347) - *** FresnelRefraction *** -Track (trackID 564, parentID 1) is processed with stopping code 2 -### pop requested out of 234 stacked tracks. - -** Photon absorbed! ** -Track (trackID 563, parentID 1) is processed with stopping code 2 -### pop requested out of 233 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857224,-0.48653,-0.168687) - Old Polarization: (-0.513608,-0.831398,-0.212094) - New Momentum Direction: (0.716962,-0.658647,-0.228363) - New Polarization: (0.695399,0.652783,0.300492) - *** FresnelRefraction *** -Track (trackID 562, parentID 1) is processed with stopping code 2 -### pop requested out of 232 stacked tracks. - -** Photon absorbed! ** -Track (trackID 561, parentID 1) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - -** Photon absorbed! ** -Track (trackID 560, parentID 1) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.746708,0.104287,-0.656926) - Old Polarization: (-0.635176,-0.181354,-0.750775) - New Momentum Direction: (-0.746708,0.104287,-0.656926) - New Polarization: (0.457657,-0.636137,-0.621192) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.746708,0.104287,-0.656926) - Old Polarization: (0.457657,-0.636137,-0.621192) - New Momentum Direction: (-0.746708,0.104287,0.656926) - New Polarization: (-0.457657,0.636137,-0.621192) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.746708,0.104287,0.656926) - Old Polarization: (-0.457657,0.636137,-0.621192) - New Momentum Direction: (-0.436559,0.141058,0.888549) - New Polarization: (-0.644187,0.640436,-0.41817) - *** FresnelRefraction *** -Track (trackID 559, parentID 1) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.633996,0.533283,0.560052) -Old Polarization: (-0.758451,0.287373,0.584952) -New Polarization: (-0.265185,0.113867,-0.95745) -Polarization Change: (-0.265185,0.113867,-0.95745) -New Momentum Direction: (0.893854,-0.343297,-0.288398) -Momentum Change: (0.893854,-0.343297,-0.288398) - Photon at Boundary! - Old Momentum Direction: (0.893854,-0.343297,-0.288398) - Old Polarization: (-0.265185,0.113867,-0.95745) - New Momentum Direction: (0.793007,-0.466458,-0.391863) - New Polarization: (0.364581,0.878699,-0.30817) - *** FresnelRefraction *** -Track (trackID 558, parentID 1) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - -** Photon absorbed! ** -Track (trackID 557, parentID 1) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.796027,-0.156869,-0.584579) - Old Polarization: (-0.581357,-0.466912,-0.666346) - New Momentum Direction: (0.570487,-0.212863,-0.793242) - New Polarization: (0.791793,-0.114045,0.600048) - *** FresnelRefraction *** -Track (trackID 556, parentID 1) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - -** Photon absorbed! ** -Track (trackID 555, parentID 1) is processed with stopping code 2 -### pop requested out of 225 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.69995,0.336124,-0.630152) -Old Polarization: (-0.686798,0.0747612,-0.722993) -New Polarization: (0.921476,0.197686,0.334368) -Polarization Change: (0.921476,0.197686,0.334368) -New Momentum Direction: (0.206667,0.479342,-0.852948) -Momentum Change: (0.206667,0.479342,-0.852948) - Photon at Boundary! - Old Momentum Direction: (0.206667,0.479342,-0.852948) - Old Polarization: (0.921476,0.197686,0.334368) - New Momentum Direction: (0.279227,0.647637,-0.708942) - New Polarization: (0.514408,-0.724317,-0.459075) - *** FresnelRefraction *** -Track (trackID 554, parentID 1) is processed with stopping code 2 -### pop requested out of 224 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.589165,0.808001,0.00437071) - Old Polarization: (-0.807764,0.589109,-0.0216076) - New Momentum Direction: (0.799587,0.600522,0.00593172) - New Polarization: (-0.600327,0.799519,-0.0193871) - *** FresnelRefraction *** -Track (trackID 553, parentID 1) is processed with stopping code 2 -### pop requested out of 223 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.756104,-0.0655761,0.651158) - Old Polarization: (-0.624951,-0.367706,0.688642) - New Momentum Direction: (0.462177,-0.0888562,0.882325) - New Polarization: (0.851914,-0.231794,-0.46959) - *** FresnelRefraction *** -Track (trackID 552, parentID 1) is processed with stopping code 2 -### pop requested out of 222 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.707984,0.289425,-0.644199) - Old Polarization: (-0.677821,0.0223643,-0.734887) - New Momentum Direction: (0.292247,0.391927,-0.872345) - New Polarization: (0.925996,-0.343933,0.155699) - *** FresnelRefraction *** -Track (trackID 551, parentID 1) is processed with stopping code 2 -### pop requested out of 221 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.658477,0.413675,0.628714) - Old Polarization: (-0.732024,0.158032,0.662697) - New Momentum Direction: (-0.658477,0.413675,0.628714) - New Polarization: (-0.732024,-0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,0.413675,0.628714) - Old Polarization: (-0.732024,-0.158032,-0.662697) - New Momentum Direction: (-0.658477,0.413675,-0.628714) - New Polarization: (0.732024,0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,0.413675,-0.628714) - Old Polarization: (0.732024,0.158032,-0.662697) - New Momentum Direction: (-0.658477,-0.413675,-0.628714) - New Polarization: (-0.732024,0.158032,0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,-0.413675,-0.628714) - Old Polarization: (-0.732024,0.158032,0.662697) - New Momentum Direction: (0.658477,-0.413675,-0.628714) - New Polarization: (-0.732024,-0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,-0.413675,-0.628714) - Old Polarization: (-0.732024,-0.158032,-0.662697) - New Momentum Direction: (0.658477,-0.413675,0.628714) - New Polarization: (0.732024,0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,-0.413675,0.628714) - Old Polarization: (0.732024,0.158032,-0.662697) - New Momentum Direction: (0.658477,0.413675,0.628714) - New Polarization: (-0.732024,0.158032,0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,0.413675,0.628714) - Old Polarization: (-0.732024,0.158032,0.662697) - New Momentum Direction: (-0.658477,0.413675,0.628714) - New Polarization: (-0.732024,-0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,0.413675,0.628714) - Old Polarization: (-0.732024,-0.158032,-0.662697) - New Momentum Direction: (-0.658477,0.413675,-0.628714) - New Polarization: (0.732024,0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,0.413675,-0.628714) - Old Polarization: (0.732024,0.158032,-0.662697) - New Momentum Direction: (0.658477,0.413675,-0.628714) - New Polarization: (0.732024,-0.158032,0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,0.413675,-0.628714) - Old Polarization: (0.732024,-0.158032,0.662697) - New Momentum Direction: (0.658477,0.413675,0.628714) - New Polarization: (-0.732024,0.158032,0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,0.413675,0.628714) - Old Polarization: (-0.732024,0.158032,0.662697) - New Momentum Direction: (0.658477,-0.413675,0.628714) - New Polarization: (0.732024,0.158032,-0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658477,-0.413675,0.628714) - Old Polarization: (0.732024,0.158032,-0.662697) - New Momentum Direction: (-0.658477,-0.413675,0.628714) - New Polarization: (0.732024,-0.158032,0.662697) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658477,-0.413675,0.628714) - Old Polarization: (0.732024,-0.158032,0.662697) - New Momentum Direction: (-0.658477,-0.413675,-0.628714) - New Polarization: (-0.732024,0.158032,0.662697) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 550, parentID 1) is processed with stopping code 2 -### pop requested out of 220 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.852363,-0.501885,0.146936) - Old Polarization: (-0.519882,-0.843622,0.134255) - New Momentum Direction: (0.704136,-0.681461,0.19951) - New Polarization: (0.70613,0.642482,-0.297653) - *** FresnelRefraction *** -Track (trackID 549, parentID 1) is processed with stopping code 2 -### pop requested out of 219 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.689533,0.37547,-0.619327) - Old Polarization: (-0.698052,0.11661,-0.706488) - New Momentum Direction: (0.191864,0.508792,-0.839237) - New Polarization: (0.955786,-0.291039,0.0420652) - *** FresnelRefraction *** -Track (trackID 548, parentID 1) is processed with stopping code 2 -### pop requested out of 218 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.831853,-0.355334,-0.426332) -Old Polarization: (-0.542702,-0.68158,-0.490839) -New Polarization: (-0.402255,0.276678,0.87272) -Polarization Change: (-0.402255,0.276678,0.87272) -New Momentum Direction: (-0.766602,-0.622921,-0.155858) -Momentum Change: (-0.766602,-0.622921,-0.155858) - Photon at Boundary! - Old Momentum Direction: (-0.766602,-0.622921,-0.155858) - Old Polarization: (-0.402255,0.276678,0.87272) - New Momentum Direction: (-0.487347,-0.847096,-0.211948) - New Polarization: (-0.56944,0.124294,0.812582) - *** FresnelRefraction *** -Track (trackID 547, parentID 1) is processed with stopping code 2 -### pop requested out of 217 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.591176,0.791353,0.155793) - Old Polarization: (-0.80615,0.573737,0.144733) - New Momentum Direction: (0.591176,-0.791353,0.155793) - New Polarization: (-0.115479,0.108122,0.987408) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.591176,-0.791353,0.155793) - Old Polarization: (-0.115479,0.108122,0.987408) - New Momentum Direction: (-0.591176,-0.791353,0.155793) - New Polarization: (-0.115479,-0.108122,-0.987408) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 546, parentID 1) is processed with stopping code 2 -### pop requested out of 216 stacked tracks. - -** Photon absorbed! ** -Track (trackID 545, parentID 1) is processed with stopping code 2 -### pop requested out of 215 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6174,0.714032,-0.330114) - Old Polarization: (-0.777924,0.491859,-0.391036) - New Momentum Direction: (0.834511,0.323259,-0.446201) - New Polarization: (-0.527748,0.701671,-0.478686) - *** FresnelRefraction *** -Track (trackID 544, parentID 1) is processed with stopping code 2 -### pop requested out of 214 stacked tracks. - -** Photon absorbed! ** -Track (trackID 543, parentID 1) is processed with stopping code 2 -### pop requested out of 213 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.683875,0.297298,0.66628) - Old Polarization: (-0.704508,0.0316511,0.708989) - New Momentum Direction: (-0.683875,0.297298,0.66628) - New Polarization: (0.684394,-0.05505,0.727031) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.683875,0.297298,0.66628) - Old Polarization: (0.684394,-0.05505,0.727031) - New Momentum Direction: (-0.683875,0.297298,-0.66628) - New Polarization: (-0.684394,0.05505,0.727031) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.683875,0.297298,-0.66628) - Old Polarization: (-0.684394,0.05505,0.727031) - New Momentum Direction: (-0.683875,-0.297298,-0.66628) - New Polarization: (0.684394,0.05505,-0.727031) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.683875,-0.297298,-0.66628) - Old Polarization: (0.684394,0.05505,-0.727031) - New Momentum Direction: (-0.165013,-0.401895,-0.900695) - New Polarization: (-0.942723,0.332692,0.0242639) - *** FresnelRefraction *** -Track (trackID 542, parentID 1) is processed with stopping code 2 -### pop requested out of 212 stacked tracks. - -** Photon absorbed! ** -Track (trackID 541, parentID 1) is processed with stopping code 2 -### pop requested out of 211 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.751305,-0.0541871,0.657727) - Old Polarization: (-0.630432,-0.35368,0.690989) - New Momentum Direction: (0.441917,-0.0736548,0.894027) - New Polarization: (0.862457,-0.239233,-0.446021) - *** FresnelRefraction *** -Track (trackID 540, parentID 1) is processed with stopping code 2 -### pop requested out of 210 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.594734,0.776484,0.20824) - Old Polarization: (-0.802868,0.560422,0.203297) - New Momentum Direction: (0.804082,0.523628,0.281541) - New Polarization: (-0.58888,0.766551,0.256163) - *** FresnelRefraction *** -Track (trackID 539, parentID 1) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.769581,-0.138099,0.623437) - Old Polarization: (-0.61041,-0.445742,0.654762) - New Momentum Direction: (0.497847,-0.187564,0.84674) - New Polarization: (0.833446,-0.166514,-0.526916) - *** FresnelRefraction *** -Track (trackID 538, parentID 1) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.850774,-0.453545,-0.265482) -Old Polarization: (-0.521317,-0.792196,-0.317259) -New Polarization: (0.372426,0.915613,0.151499) -Polarization Change: (0.372426,0.915613,0.151499) -New Momentum Direction: (-0.637173,0.370952,-0.675577) -Momentum Change: (-0.637173,0.370952,-0.675577) - Photon at Boundary! - Old Momentum Direction: (-0.637173,0.370952,-0.675577) - Old Polarization: (0.372426,0.915613,0.151499) - New Momentum Direction: (-0.637173,0.370952,0.675577) - New Polarization: (-0.372426,-0.915613,0.151499) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 537, parentID 1) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.855537,-0.496933,-0.145307) - Old Polarization: (-0.516889,-0.835899,-0.184657) - New Momentum Direction: (0.710153,-0.675751,-0.197595) - New Polarization: (0.702952,0.664898,0.252525) - *** FresnelRefraction *** -Track (trackID 536, parentID 1) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. - -** Photon absorbed! ** -Track (trackID 535, parentID 1) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. - -** Photon absorbed! ** -Track (trackID 534, parentID 1) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590825,0.798446,0.1158) - Old Polarization: (-0.806693,0.582292,0.100909) - New Momentum Direction: (0.799989,0.579166,0.156795) - New Polarization: (-0.598056,0.790772,0.130422) - *** FresnelRefraction *** -Track (trackID 533, parentID 1) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.595854,0.79854,0.0853872) - Old Polarization: (-0.803082,0.591917,0.0685127) - New Momentum Direction: (0.802023,0.586131,0.114932) - New Polarization: (-0.596033,0.797865,0.0903107) - *** FresnelRefraction *** -Track (trackID 532, parentID 1) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.719196,0.227164,-0.656623) - Old Polarization: (-0.665465,-0.0465312,-0.744978) - New Momentum Direction: (0.332921,0.308295,-0.891133) - New Polarization: (0.910681,-0.350253,0.219051) - *** FresnelRefraction *** -Track (trackID 531, parentID 1) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - -** Photon absorbed! ** -Track (trackID 530, parentID 1) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.716695,0.111577,0.688403) - Old Polarization: (-0.668173,-0.172852,0.723649) - New Momentum Direction: (-0.716695,0.111577,0.688403) - New Polarization: (0.594877,-0.417362,0.686972) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.716695,0.111577,0.688403) - Old Polarization: (0.594877,-0.417362,0.686972) - New Momentum Direction: (-0.974663,0.151739,0.164342) - New Polarization: (0.114764,-0.291404,0.949691) - *** FresnelRefraction *** -Track (trackID 529, parentID 1) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603593,0.759812,-0.241581) - Old Polarization: (-0.792039,0.536702,-0.290902) - New Momentum Direction: (0.818985,0.470976,-0.327789) - New Polarization: (-0.568409,0.744101,-0.351033) - *** FresnelRefraction *** -Track (trackID 528, parentID 1) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671878,0.356714,0.649103) - Old Polarization: (-0.71771,0.0970808,0.689542) - New Momentum Direction: (-0.671878,0.356714,0.649103) - New Polarization: (-0.71771,-0.0970808,-0.689542) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671878,0.356714,0.649103) - Old Polarization: (-0.71771,-0.0970808,-0.689542) - New Momentum Direction: (-0.671878,0.356714,-0.649103) - New Polarization: (0.71771,0.0970808,-0.689542) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671878,0.356714,-0.649103) - Old Polarization: (0.71771,0.0970808,-0.689542) - New Momentum Direction: (-0.671878,-0.356714,-0.649103) - New Polarization: (-0.71771,0.0970808,0.689542) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671878,-0.356714,-0.649103) - Old Polarization: (-0.71771,0.0970808,0.689542) - New Momentum Direction: (0.671878,-0.356714,-0.649103) - New Polarization: (-0.71771,-0.0970808,-0.689542) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671878,-0.356714,-0.649103) - Old Polarization: (-0.71771,-0.0970808,-0.689542) - New Momentum Direction: (0.671878,-0.356714,0.649103) - New Polarization: (0.71771,0.0970808,-0.689542) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 527, parentID 1) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.772726,-0.0275585,-0.634141) - Old Polarization: (-0.606544,-0.326515,-0.724908) - New Momentum Direction: (0.512067,-0.0372928,-0.858136) - New Polarization: (0.824911,-0.257092,0.503414) - *** FresnelRefraction *** -Track (trackID 526, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.651815,0.471681,0.593847) - Old Polarization: (-0.740403,0.22632,0.632916) - New Momentum Direction: (-0.651815,0.471681,0.593847) - New Polarization: (-0.740403,-0.22632,-0.632916) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.651815,0.471681,0.593847) - Old Polarization: (-0.740403,-0.22632,-0.632916) - New Momentum Direction: (-0.651815,0.471681,-0.593847) - New Polarization: (0.740403,0.22632,-0.632916) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.651815,0.471681,-0.593847) - Old Polarization: (0.740403,0.22632,-0.632916) - New Momentum Direction: (-0.651815,-0.471681,-0.593847) - New Polarization: (-0.740403,0.22632,0.632916) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 525, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - -** Photon absorbed! ** -Track (trackID 524, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.788098,-0.0946049,-0.608237) - Old Polarization: (-0.589171,-0.402102,-0.700851) - New Momentum Direction: (0.556962,-0.127647,-0.82067) - New Polarization: (0.798204,-0.190758,0.571385) - *** FresnelRefraction *** -Track (trackID 523, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603659,0.764788,-0.225155) - Old Polarization: (-0.792498,0.544874,-0.273969) - New Momentum Direction: (0.817582,0.488434,-0.304945) - New Polarization: (-0.571754,0.751392,-0.329405) - *** FresnelRefraction *** -Track (trackID 522, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - -** Photon absorbed! ** -Track (trackID 521, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.784445,-0.0980037,-0.612406) - Old Polarization: (-0.594061,-0.402371,-0.696555) - New Momentum Direction: (0.539919,-0.133008,-0.831142) - New Polarization: (0.80979,-0.187296,0.556022) - *** FresnelRefraction *** -Track (trackID 520, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - -** Photon absorbed! ** -Track (trackID 519, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - -** Photon absorbed! ** -Track (trackID 518, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.630976,0.572041,0.52406) - Old Polarization: (-0.763009,0.335408,0.552557) - New Momentum Direction: (-0.630976,0.572041,0.52406) - New Polarization: (-0.763009,-0.335408,-0.552557) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.630976,0.572041,0.52406) - Old Polarization: (-0.763009,-0.335408,-0.552557) - New Momentum Direction: (-0.630976,-0.572041,0.52406) - New Polarization: (0.763009,-0.335408,0.552557) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.630976,-0.572041,0.52406) - Old Polarization: (0.763009,-0.335408,0.552557) - New Momentum Direction: (-0.630976,-0.572041,-0.52406) - New Polarization: (-0.763009,0.335408,0.552557) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.630976,-0.572041,-0.52406) - Old Polarization: (-0.763009,0.335408,0.552557) - New Momentum Direction: (0.630976,-0.572041,-0.52406) - New Polarization: (-0.763009,-0.335408,-0.552557) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 517, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.624088,0.588311,0.514202) - Old Polarization: (-0.769404,0.348055,0.535608) - New Momentum Direction: (-0.624088,0.588311,0.514202) - New Polarization: (-0.769404,-0.348055,-0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.624088,0.588311,0.514202) - Old Polarization: (-0.769404,-0.348055,-0.535608) - New Momentum Direction: (-0.624088,-0.588311,0.514202) - New Polarization: (0.769404,-0.348055,0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.624088,-0.588311,0.514202) - Old Polarization: (0.769404,-0.348055,0.535608) - New Momentum Direction: (-0.624088,-0.588311,-0.514202) - New Polarization: (-0.769404,0.348055,0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.624088,-0.588311,-0.514202) - Old Polarization: (-0.769404,0.348055,0.535608) - New Momentum Direction: (0.624088,-0.588311,-0.514202) - New Polarization: (-0.769404,-0.348055,-0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.624088,-0.588311,-0.514202) - Old Polarization: (-0.769404,-0.348055,-0.535608) - New Momentum Direction: (0.624088,0.588311,-0.514202) - New Polarization: (0.769404,-0.348055,0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.624088,0.588311,-0.514202) - Old Polarization: (0.769404,-0.348055,0.535608) - New Momentum Direction: (0.624088,0.588311,0.514202) - New Polarization: (-0.769404,0.348055,0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.624088,0.588311,0.514202) - Old Polarization: (-0.769404,0.348055,0.535608) - New Momentum Direction: (-0.624088,0.588311,0.514202) - New Polarization: (-0.769404,-0.348055,-0.535608) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.624088,0.588311,0.514202) - Old Polarization: (-0.769404,-0.348055,-0.535608) - New Momentum Direction: (-0.624088,-0.588311,0.514202) - New Polarization: (0.769404,-0.348055,0.535608) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 516, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.650635,0.560194,-0.512696) - Old Polarization: (-0.740901,0.320204,-0.590369) - New Momentum Direction: (-0.650635,0.560194,-0.512696) - New Polarization: (-0.740901,-0.320204,0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,0.560194,-0.512696) - Old Polarization: (-0.740901,-0.320204,0.590369) - New Momentum Direction: (-0.650635,-0.560194,-0.512696) - New Polarization: (0.740901,-0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,-0.560194,-0.512696) - Old Polarization: (0.740901,-0.320204,-0.590369) - New Momentum Direction: (-0.650635,-0.560194,0.512696) - New Polarization: (-0.740901,0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,-0.560194,0.512696) - Old Polarization: (-0.740901,0.320204,-0.590369) - New Momentum Direction: (0.650635,-0.560194,0.512696) - New Polarization: (-0.740901,-0.320204,0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.650635,-0.560194,0.512696) - Old Polarization: (-0.740901,-0.320204,0.590369) - New Momentum Direction: (0.650635,0.560194,0.512696) - New Polarization: (0.740901,-0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.650635,0.560194,0.512696) - Old Polarization: (0.740901,-0.320204,-0.590369) - New Momentum Direction: (0.650635,0.560194,-0.512696) - New Polarization: (-0.740901,0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.650635,0.560194,-0.512696) - Old Polarization: (-0.740901,0.320204,-0.590369) - New Momentum Direction: (-0.650635,0.560194,-0.512696) - New Polarization: (-0.740901,-0.320204,0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,0.560194,-0.512696) - Old Polarization: (-0.740901,-0.320204,0.590369) - New Momentum Direction: (-0.650635,-0.560194,-0.512696) - New Polarization: (0.740901,-0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,-0.560194,-0.512696) - Old Polarization: (0.740901,-0.320204,-0.590369) - New Momentum Direction: (-0.650635,-0.560194,0.512696) - New Polarization: (-0.740901,0.320204,-0.590369) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.650635,-0.560194,0.512696) - Old Polarization: (-0.740901,0.320204,-0.590369) - New Momentum Direction: (0.650635,-0.560194,0.512696) - New Polarization: (-0.740901,-0.320204,0.590369) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.650635,-0.560194,0.512696) -Old Polarization: (-0.740901,-0.320204,0.590369) -New Polarization: (-0.341304,0.0979083,0.93484) -Polarization Change: (-0.341304,0.0979083,0.93484) -New Momentum Direction: (0.752382,0.6246,0.209274) -Momentum Change: (0.752382,0.6246,0.209274) - Photon at Boundary! - Old Momentum Direction: (0.752382,0.6246,0.209274) - Old Polarization: (-0.341304,0.0979083,0.93484) - New Momentum Direction: (0.452133,0.845741,0.283368) - New Polarization: (0.487662,-0.500399,0.715393) - *** FresnelRefraction *** -Track (trackID 515, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.763819,0.00269013,-0.645425) - Old Polarization: (-0.616733,-0.291828,-0.731079) - New Momentum Direction: (0.480755,0.00365469,-0.876848) - New Polarization: (0.842614,-0.278645,0.460824) - *** FresnelRefraction *** -Track (trackID 514, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.684023,0.309376,0.660605) - Old Polarization: (-0.704697,0.0462998,0.707996) - New Momentum Direction: (-0.684023,0.309376,0.660605) - New Polarization: (0.681527,-0.0518206,0.729956) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.684023,0.309376,0.660605) - Old Polarization: (0.681527,-0.0518206,0.729956) - New Momentum Direction: (-0.684023,0.309376,-0.660605) - New Polarization: (-0.681527,0.0518206,0.729956) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 513, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.636113,0.61937,-0.460153) - Old Polarization: (-0.756437,0.382954,-0.530235) - New Momentum Direction: (-0.636113,0.61937,-0.460153) - New Polarization: (-0.756437,-0.382954,0.530235) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.636113,0.61937,-0.460153) - Old Polarization: (-0.756437,-0.382954,0.530235) - New Momentum Direction: (-0.636113,-0.61937,-0.460153) - New Polarization: (0.756437,-0.382954,-0.530235) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.636113,-0.61937,-0.460153) - Old Polarization: (0.756437,-0.382954,-0.530235) - New Momentum Direction: (-0.636113,-0.61937,0.460153) - New Polarization: (-0.756437,0.382954,-0.530235) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.636113,-0.61937,0.460153) - Old Polarization: (-0.756437,0.382954,-0.530235) - New Momentum Direction: (0.636113,-0.61937,0.460153) - New Polarization: (-0.756437,-0.382954,0.530235) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.636113,-0.61937,0.460153) - Old Polarization: (-0.756437,-0.382954,0.530235) - New Momentum Direction: (0.636113,0.61937,0.460153) - New Polarization: (0.756437,-0.382954,-0.530235) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 512, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - -** Photon absorbed! ** -Track (trackID 511, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - -** Photon absorbed! ** -Track (trackID 510, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - -** Photon absorbed! ** -Track (trackID 509, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.606419,0.772639,-0.187842) - Old Polarization: (-0.791443,0.563743,-0.236245) - New Momentum Direction: (0.815881,0.520066,-0.252724) - New Polarization: (-0.576255,0.767338,-0.281289) - *** FresnelRefraction *** -Track (trackID 508, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - -** Photon absorbed! ** -Track (trackID 507, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60704,0.743788,-0.279787) - Old Polarization: (-0.788079,0.518201,-0.332265) - New Momentum Direction: (0.60704,-0.743788,-0.279787) - New Polarization: (-0.142493,0.244494,-0.959124) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.60704,-0.743788,-0.279787) - Old Polarization: (-0.142493,0.244494,-0.959124) - New Momentum Direction: (-0.60704,-0.743788,-0.279787) - New Polarization: (-0.142493,-0.244494,0.959124) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.60704,-0.743788,-0.279787) - Old Polarization: (-0.142493,-0.244494,0.959124) - New Momentum Direction: (-0.60704,-0.743788,0.279787) - New Polarization: (0.142493,0.244494,0.959124) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.60704,-0.743788,0.279787) - Old Polarization: (0.142493,0.244494,0.959124) - New Momentum Direction: (-0.824212,-0.419957,0.379882) - New Polarization: (0.534836,-0.356862,0.765898) - *** FresnelRefraction *** -Track (trackID 506, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.854065,-0.504473,0.126809) - Old Polarization: (-0.517683,-0.848138,0.112547) - New Momentum Direction: (0.708685,-0.684239,0.171997) - New Polarization: (0.702339,0.661057,-0.264052) - *** FresnelRefraction *** -Track (trackID 505, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - -** Photon absorbed! ** -Track (trackID 504, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.654194,0.426922,0.624314) - Old Polarization: (-0.736352,0.17106,0.654618) - New Momentum Direction: (-0.654194,0.426922,0.624314) - New Polarization: (-0.736352,-0.17106,-0.654618) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.654194,0.426922,0.624314) - Old Polarization: (-0.736352,-0.17106,-0.654618) - New Momentum Direction: (-0.654194,0.426922,-0.624314) - New Polarization: (0.736352,0.17106,-0.654618) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.654194,0.426922,-0.624314) - Old Polarization: (0.736352,0.17106,-0.654618) - New Momentum Direction: (-0.654194,-0.426922,-0.624314) - New Polarization: (-0.736352,0.17106,0.654618) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 503, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82118,-0.283501,-0.495268) - Old Polarization: (-0.553496,-0.60698,-0.570278) - New Momentum Direction: (0.634048,-0.384162,-0.67112) - New Polarization: (0.751688,0.102467,0.651511) - *** FresnelRefraction *** -Track (trackID 502, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.858829,-0.502128,-0.10139) - Old Polarization: (-0.51199,-0.847848,-0.137914) - New Momentum Direction: (0.720171,-0.680071,-0.137321) - New Polarization: (0.693446,0.699278,0.173615) - *** FresnelRefraction *** -Track (trackID 501, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.850217,-0.496959,0.173675) - Old Polarization: (-0.522495,-0.836888,0.16315) - New Momentum Direction: (0.698696,-0.675364,0.236024) - New Polarization: (0.710374,0.615815,-0.340795) - *** FresnelRefraction *** -Track (trackID 500, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.704288,0.313186,-0.637098) - Old Polarization: (-0.681972,0.049168,-0.729724) - New Momentum Direction: (0.28092,0.423395,-0.86129) - New Polarization: (0.93014,-0.341239,0.135629) - *** FresnelRefraction *** -Track (trackID 499, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590893,0.805683,0.0414691) - Old Polarization: (-0.806699,0.590652,0.0191666) - New Momentum Direction: (0.799882,0.597527,0.056136) - New Polarization: (-0.599563,0.79975,0.0304164) - *** FresnelRefraction *** -Track (trackID 498, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.827014,-0.313471,-0.466674) - Old Polarization: (-0.547004,-0.64028,-0.539286) - New Momentum Direction: (0.648133,-0.424625,-0.632152) - New Polarization: (0.742361,0.167237,0.648793) - *** FresnelRefraction *** -Track (trackID 497, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.608361,0.6837,0.403052) - Old Polarization: (-0.787195,0.455114,0.416168) - New Momentum Direction: (0.608361,-0.6837,0.403052) - New Polarization: (-0.180082,0.375681,0.909084) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.608361,-0.6837,0.403052) - Old Polarization: (-0.180082,0.375681,0.909084) - New Momentum Direction: (-0.608361,-0.6837,0.403052) - New Polarization: (-0.180082,-0.375681,-0.909084) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.608361,-0.6837,0.403052) - Old Polarization: (-0.180082,-0.375681,-0.909084) - New Momentum Direction: (-0.608361,-0.6837,-0.403052) - New Polarization: (0.180082,0.375681,-0.909084) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.608361,-0.6837,-0.403052) - Old Polarization: (0.180082,0.375681,-0.909084) - New Momentum Direction: (-0.608361,0.6837,-0.403052) - New Polarization: (0.268549,-0.300554,-0.915177) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.608361,0.6837,-0.403052) - Old Polarization: (0.268549,-0.300554,-0.915177) - New Momentum Direction: (0.608361,0.6837,-0.403052) - New Polarization: (0.268549,0.300554,0.915177) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.608361,0.6837,-0.403052) - Old Polarization: (0.268549,0.300554,0.915177) - New Momentum Direction: (0.824343,0.148943,-0.546144) - New Polarization: (0.424428,0.475786,0.770382) - *** FresnelRefraction *** -Track (trackID 496, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85913,-0.509325,-0.0498336) - Old Polarization: (-0.511755,-0.855286,-0.0811924) - New Momentum Direction: (0.720632,-0.690023,-0.0675135) - New Polarization: (0.693316,0.71697,0.0725759) - *** FresnelRefraction *** -Track (trackID 495, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.824649,-0.381596,0.417538) - Old Polarization: (-0.549648,-0.714903,0.432205) - New Momentum Direction: (-0.824649,-0.381596,0.417538) - New Polarization: (-0.215154,-0.47107,-0.855454) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.824649,-0.381596,0.417538) - Old Polarization: (-0.215154,-0.47107,-0.855454) - New Momentum Direction: (-0.824649,-0.381596,-0.417538) - New Polarization: (0.215154,0.47107,-0.855454) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.824649,-0.381596,-0.417538) - Old Polarization: (0.215154,0.47107,-0.855454) - New Momentum Direction: (-0.824649,0.381596,-0.417538) - New Polarization: (-0.215154,0.47107,0.855454) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.824649,0.381596,-0.417538) - Old Polarization: (-0.215154,0.47107,0.855454) - New Momentum Direction: (-0.64241,0.517005,-0.5657) - New Polarization: (-0.300933,0.508691,0.806643) - *** FresnelRefraction *** -Track (trackID 494, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.862631,-0.500848,-0.0708466) - Old Polarization: (-0.505775,-0.856178,-0.105599) - New Momentum Direction: (0.732352,-0.674215,-0.0953699) - New Polarization: (0.68085,0.722952,0.117404) - *** FresnelRefraction *** -Track (trackID 493, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.652578,0.545307,-0.526101) - Old Polarization: (-0.738459,0.302137,-0.60282) - New Momentum Direction: (-0.652578,0.545307,-0.526101) - New Polarization: (-0.738459,-0.302137,0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.652578,0.545307,-0.526101) - Old Polarization: (-0.738459,-0.302137,0.60282) - New Momentum Direction: (-0.652578,-0.545307,-0.526101) - New Polarization: (0.738459,-0.302137,-0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.652578,-0.545307,-0.526101) - Old Polarization: (0.738459,-0.302137,-0.60282) - New Momentum Direction: (-0.652578,-0.545307,0.526101) - New Polarization: (-0.738459,0.302137,-0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.652578,-0.545307,0.526101) - Old Polarization: (-0.738459,0.302137,-0.60282) - New Momentum Direction: (0.652578,-0.545307,0.526101) - New Polarization: (-0.738459,-0.302137,0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.652578,-0.545307,0.526101) - Old Polarization: (-0.738459,-0.302137,0.60282) - New Momentum Direction: (0.652578,0.545307,0.526101) - New Polarization: (0.738459,-0.302137,-0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.652578,0.545307,0.526101) - Old Polarization: (0.738459,-0.302137,-0.60282) - New Momentum Direction: (0.652578,0.545307,-0.526101) - New Polarization: (-0.738459,0.302137,-0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.652578,0.545307,-0.526101) - Old Polarization: (-0.738459,0.302137,-0.60282) - New Momentum Direction: (-0.652578,0.545307,-0.526101) - New Polarization: (-0.738459,-0.302137,0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.652578,0.545307,-0.526101) - Old Polarization: (-0.738459,-0.302137,0.60282) - New Momentum Direction: (-0.652578,-0.545307,-0.526101) - New Polarization: (0.738459,-0.302137,-0.60282) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.652578,-0.545307,-0.526101) - Old Polarization: (0.738459,-0.302137,-0.60282) - New Momentum Direction: (-0.652578,-0.545307,0.526101) - New Polarization: (-0.738459,0.302137,-0.60282) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 492, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.860018,-0.510255,-0.0029326) - Old Polarization: (-0.510107,-0.859597,-0.0297485) - New Momentum Direction: (0.723926,-0.689866,-0.00396489) - New Polarization: (0.689676,0.723842,-0.0200185) - *** FresnelRefraction *** -Track (trackID 491, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.594832,0.803781,0.0105441) - Old Polarization: (-0.803643,0.594925,-0.0148937) - New Momentum Direction: (0.802038,0.597104,0.0142171) - New Polarization: (-0.596999,0.802164,-0.0112029) - *** FresnelRefraction *** -Track (trackID 490, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84724,-0.435053,-0.304818) - Old Polarization: (-0.525384,-0.771023,-0.359856) - New Momentum Direction: (0.692891,-0.590521,-0.413747) - New Polarization: (0.713592,0.479327,0.510913) - *** FresnelRefraction *** -Track (trackID 489, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.734565,0.153445,-0.660961) - Old Polarization: (-0.648634,-0.1272,-0.750396) - New Momentum Direction: (0.390754,0.208162,-0.896649) - New Polarization: (0.886405,-0.347732,0.305562) - *** FresnelRefraction *** -Track (trackID 488, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.845125,-0.39979,-0.354869) - Old Polarization: (-0.526098,-0.739745,-0.419521) - New Momentum Direction: (0.692274,-0.539691,-0.479051) - New Polarization: (0.710841,0.395605,0.581551) - *** FresnelRefraction *** -Track (trackID 487, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - -** Photon absorbed! ** -Track (trackID 486, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.80151,-0.187241,-0.567911) - Old Polarization: (-0.575451,-0.49975,-0.647384) - New Momentum Direction: (0.583874,-0.254206,-0.771019) - New Polarization: (0.783896,-0.0705156,0.616875) - *** FresnelRefraction *** -Track (trackID 485, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.604101,0.7534,-0.259713) - Old Polarization: (-0.791057,0.527509,-0.309778) - New Momentum Direction: (0.820899,0.44897,-0.352918) - New Polarization: (-0.563742,0.735799,-0.375225) - *** FresnelRefraction *** -Track (trackID 484, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.784477,-0.20513,0.58525) - Old Polarization: (-0.594021,-0.51963,0.614104) - New Momentum Direction: (0.540048,-0.278388,0.79426) - New Polarization: (0.809707,-0.0856082,-0.580557) - *** FresnelRefraction *** -Track (trackID 483, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.774613,-0.128111,0.619324) - Old Polarization: (-0.603816,-0.441065,0.663979) - New Momentum Direction: (0.525064,-0.172397,0.833419) - New Polarization: (0.816424,-0.174505,-0.550455) - *** FresnelRefraction *** -Track (trackID 482, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.773123,-0.0307854,-0.633508) - Old Polarization: (-0.606145,-0.329928,-0.723696) - New Momentum Direction: (0.512694,-0.0416732,-0.857559) - New Polarization: (0.824626,-0.254179,0.505357) - *** FresnelRefraction *** -Track (trackID 481, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.716047,0.128996,0.68603) - Old Polarization: (-0.668944,-0.154038,0.727177) - New Momentum Direction: (0.324961,0.174765,0.929439) - New Polarization: (0.91389,-0.310883,-0.261068) - *** FresnelRefraction *** -Track (trackID 480, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.840295,-0.366786,-0.399214) - Old Polarization: (-0.531052,-0.704997,-0.470067) - New Momentum Direction: (0.682584,-0.494439,-0.538153) - New Polarization: (0.716739,0.309129,0.62508) - *** FresnelRefraction *** -Track (trackID 479, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.593169,0.80178,-0.0728012) - Old Polarization: (-0.803943,0.585105,-0.106429) - New Momentum Direction: (0.803594,0.58695,-0.0986272) - New Polarization: (-0.595147,0.794136,-0.123075) - *** FresnelRefraction *** -Track (trackID 478, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.799929,-0.283457,0.528929) - Old Polarization: (-0.577476,-0.603316,0.550028) - New Momentum Direction: (0.57803,-0.385448,0.719244) - New Polarization: (0.78799,0.0346437,-0.614712) - *** FresnelRefraction *** -Track (trackID 477, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - -** Photon absorbed! ** -Track (trackID 476, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.859429,-0.50778,-0.0595129) - Old Polarization: (-0.511239,-0.854508,-0.0919279) - New Momentum Direction: (0.721668,-0.687533,-0.0805803) - New Polarization: (0.692217,0.715813,0.0919044) - *** FresnelRefraction *** -Track (trackID 475, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.701324,0.192678,0.686309) - Old Polarization: (-0.68499,-0.0843422,0.723654) - New Momentum Direction: (0.250765,0.261658,0.932015) - New Polarization: (0.939268,-0.29878,-0.168835) - *** FresnelRefraction *** -Track (trackID 474, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.611372,0.736039,-0.29064) - Old Polarization: (-0.784269,0.514562,-0.346624) - New Momentum Direction: (0.827281,0.401167,-0.393282) - New Polarization: (-0.549919,0.72141,-0.420899) - *** FresnelRefraction *** -Track (trackID 473, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - -** Photon absorbed! ** -Track (trackID 472, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.615307,0.67016,0.41507) - Old Polarization: (-0.78116,0.447727,0.43512) - New Momentum Direction: (0.615307,-0.67016,0.41507) - New Polarization: (-0.121628,0.439529,0.889956) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.615307,-0.67016,0.41507) - Old Polarization: (-0.121628,0.439529,0.889956) - New Momentum Direction: (-0.615307,-0.67016,0.41507) - New Polarization: (-0.121628,-0.439529,-0.889956) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.615307,-0.67016,0.41507) - Old Polarization: (-0.121628,-0.439529,-0.889956) - New Momentum Direction: (-0.615307,-0.67016,-0.41507) - New Polarization: (0.121628,0.439529,-0.889956) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.615307,-0.67016,-0.41507) - Old Polarization: (0.121628,0.439529,-0.889956) - New Momentum Direction: (-0.615307,0.67016,-0.41507) - New Polarization: (0.132255,-0.431319,-0.892453) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.615307,0.67016,-0.41507) - Old Polarization: (0.132255,-0.431319,-0.892453) - New Momentum Direction: (0.615307,0.67016,-0.41507) - New Polarization: (0.132255,0.431319,0.892453) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 471, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.856057,-0.509877,0.0848082) - Old Polarization: (-0.515445,-0.854335,0.0665524) - New Momentum Direction: (0.713212,-0.691449,0.115009) - New Polarization: (0.699103,0.689797,-0.188244) - *** FresnelRefraction *** -Track (trackID 470, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - -** Photon absorbed! ** -Track (trackID 469, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.835213,-0.376476,-0.400856) -Old Polarization: (-0.539211,-0.703833,-0.462461) -New Polarization: (0.727908,0.645723,0.230632) -Polarization Change: (0.727908,0.645723,0.230632) -New Momentum Direction: (-0.514842,0.292555,0.805822) -Momentum Change: (-0.514842,0.292555,0.805822) - -** Photon absorbed! ** -Track (trackID 468, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - -** Photon absorbed! ** -Track (trackID 467, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.830521,-0.312834,-0.460836) - Old Polarization: (-0.541886,-0.645169,-0.538625) - New Momentum Direction: (0.660567,-0.421671,-0.621164) - New Polarization: (0.731692,0.176265,0.65845) - *** FresnelRefraction *** -Track (trackID 466, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.610477,0.754532,-0.240832) - Old Polarization: (-0.786688,0.542375,-0.294877) - New Momentum Direction: (0.821972,0.468202,-0.324267) - New Polarization: (-0.564428,0.745706,-0.354039) - *** FresnelRefraction *** -Track (trackID 465, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.731919,0.162625,-0.661701) - Old Polarization: (-0.651554,-0.117185,-0.749496) - New Momentum Direction: (0.379137,0.220847,-0.8986) - New Polarization: (0.891548,-0.347221,0.290826) - *** FresnelRefraction *** -Track (trackID 464, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.794949,-0.260817,0.547751) - Old Polarization: (-0.582912,-0.578598,0.570472) - New Momentum Direction: (0.565122,-0.354681,0.744875) - New Polarization: (0.79569,-0.00423495,-0.60569) - *** FresnelRefraction *** -Track (trackID 463, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.837539,-0.429345,0.337922) - Old Polarization: (-0.534858,-0.770593,0.346574) - New Momentum Direction: (0.674196,-0.580357,0.456778) - New Polarization: (0.723928,0.396825,-0.564321) - *** FresnelRefraction *** -Track (trackID 462, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.623406,0.699401,-0.349575) - Old Polarization: (-0.772201,0.480523,-0.415695) - New Momentum Direction: (0.839655,0.270725,-0.470837) - New Polarization: (-0.509655,0.692348,-0.510789) - *** FresnelRefraction *** -Track (trackID 461, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.672912,0.373731,0.638369) - Old Polarization: (-0.717343,0.119023,0.686478) - New Momentum Direction: (0.10343,0.502521,0.858356) - New Polarization: (0.974806,-0.222681,0.0129058) - *** FresnelRefraction *** -Track (trackID 460, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.609195,0.733769,-0.300773) - Old Polarization: (-0.785628,0.506756,-0.354946) - New Momentum Direction: (0.827426,0.385329,-0.408519) - New Polarization: (-0.547311,0.716241,-0.432955) - *** FresnelRefraction *** -Track (trackID 459, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.668238,0.476494,-0.571325) - Old Polarization: (-0.721454,0.227647,-0.653973) - New Momentum Direction: (-0.668238,0.476494,-0.571325) - New Polarization: (-0.721454,-0.227647,0.653973) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668238,0.476494,-0.571325) - Old Polarization: (-0.721454,-0.227647,0.653973) - New Momentum Direction: (-0.668238,0.476494,0.571325) - New Polarization: (0.721454,0.227647,0.653973) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668238,0.476494,0.571325) - Old Polarization: (0.721454,0.227647,0.653973) - New Momentum Direction: (-0.668238,-0.476494,0.571325) - New Polarization: (-0.721454,0.227647,-0.653973) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668238,-0.476494,0.571325) - Old Polarization: (-0.721454,0.227647,-0.653973) - New Momentum Direction: (0.668238,-0.476494,0.571325) - New Polarization: (-0.721454,-0.227647,0.653973) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.668238,-0.476494,0.571325) - Old Polarization: (-0.721454,-0.227647,0.653973) - New Momentum Direction: (0.668238,-0.476494,-0.571325) - New Polarization: (0.721454,0.227647,0.653973) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.668238,-0.476494,-0.571325) - Old Polarization: (0.721454,0.227647,0.653973) - New Momentum Direction: (0.668238,0.476494,-0.571325) - New Polarization: (-0.721454,0.227647,-0.653973) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 458, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - -** Photon absorbed! ** -Track (trackID 457, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.618457,0.642364,0.452636) - Old Polarization: (-0.777008,0.413874,0.474307) - New Momentum Direction: (0.618457,-0.642364,0.452636) - New Polarization: (0.777008,0.413874,-0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.618457,-0.642364,0.452636) - Old Polarization: (0.777008,0.413874,-0.474307) - New Momentum Direction: (-0.618457,-0.642364,0.452636) - New Polarization: (0.777008,-0.413874,0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.618457,-0.642364,0.452636) - Old Polarization: (0.777008,-0.413874,0.474307) - New Momentum Direction: (-0.618457,-0.642364,-0.452636) - New Polarization: (-0.777008,0.413874,0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.618457,-0.642364,-0.452636) - Old Polarization: (-0.777008,0.413874,0.474307) - New Momentum Direction: (-0.618457,0.642364,-0.452636) - New Polarization: (0.777008,0.413874,-0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.618457,0.642364,-0.452636) - Old Polarization: (0.777008,0.413874,-0.474307) - New Momentum Direction: (0.618457,0.642364,-0.452636) - New Polarization: (0.777008,-0.413874,0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.618457,0.642364,-0.452636) - Old Polarization: (0.777008,-0.413874,0.474307) - New Momentum Direction: (0.618457,0.642364,0.452636) - New Polarization: (-0.777008,0.413874,0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.618457,0.642364,0.452636) - Old Polarization: (-0.777008,0.413874,0.474307) - New Momentum Direction: (0.618457,-0.642364,0.452636) - New Polarization: (0.777008,0.413874,-0.474307) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.618457,-0.642364,0.452636) - Old Polarization: (0.777008,0.413874,-0.474307) - New Momentum Direction: (-0.618457,-0.642364,0.452636) - New Polarization: (0.777008,-0.413874,0.474307) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 456, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - -** Photon absorbed! ** -Track (trackID 455, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.791444,-0.227405,0.567366) - Old Polarization: (-0.585941,-0.546551,0.598294) - New Momentum Direction: (0.561891,-0.307754,0.767832) - New Polarization: (0.796104,-0.0509732,-0.60301) - *** FresnelRefraction *** -Track (trackID 454, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.594762,0.747738,0.295206) - Old Polarization: (-0.801084,0.520553,0.295446) - New Momentum Direction: (0.808646,0.430113,0.401366) - New Polarization: (-0.573254,0.729388,0.373326) - *** FresnelRefraction *** -Track (trackID 453, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.658625,0.50898,-0.554213) - Old Polarization: (-0.731456,0.26021,-0.630288) - New Momentum Direction: (-0.658625,0.50898,-0.554213) - New Polarization: (-0.731456,-0.26021,0.630288) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658625,0.50898,-0.554213) - Old Polarization: (-0.731456,-0.26021,0.630288) - New Momentum Direction: (-0.658625,0.50898,0.554213) - New Polarization: (0.731456,0.26021,0.630288) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.658625,0.50898,0.554213) -Old Polarization: (0.731456,0.26021,0.630288) -New Polarization: (0.0942283,-0.289573,0.952507) -Polarization Change: (0.0942283,-0.289573,0.952507) -New Momentum Direction: (0.839622,0.53721,0.0802568) -Momentum Change: (0.839622,0.53721,0.0802568) - Photon at Boundary! - Old Momentum Direction: (0.839622,0.53721,0.0802568) - Old Polarization: (0.0942283,-0.289573,0.952507) - New Momentum Direction: (0.839622,-0.53721,0.0802568) - New Polarization: (-0.0942283,-0.289573,-0.952507) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.839622,-0.53721,0.0802568) - Old Polarization: (-0.0942283,-0.289573,-0.952507) - New Momentum Direction: (0.674162,-0.730477,0.10913) - New Polarization: (0.132333,-0.0258998,-0.990867) - *** FresnelRefraction *** -Track (trackID 452, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.856409,-0.499857,0.129254) - Old Polarization: (-0.513708,-0.850023,0.11647) - New Momentum Direction: (0.716876,-0.674999,0.174542) - New Polarization: (0.693882,0.666347,-0.272964) - *** FresnelRefraction *** -Track (trackID 451, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.612036,0.732188,-0.298852) - Old Polarization: (-0.78344,0.509816,-0.3554) - New Momentum Direction: (0.828473,0.387275,-0.404537) - New Polarization: (-0.546413,0.717296,-0.432341) - *** FresnelRefraction *** -Track (trackID 450, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - -** Photon absorbed! ** -Track (trackID 449, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.661516,0.505224,-0.554207) -Old Polarization: (-0.728722,0.258545,-0.634128) -New Polarization: (0.793625,0.546192,0.268018) -Polarization Change: (0.793625,0.546192,0.268018) -New Momentum Direction: (0.310746,-0.742626,0.593248) -Momentum Change: (0.310746,-0.742626,0.593248) - Photon at Boundary! - Old Momentum Direction: (0.310746,-0.742626,0.593248) - Old Polarization: (0.793625,0.546192,0.268018) - New Momentum Direction: (0.421348,-0.418818,0.804399) - New Polarization: (0.321118,-0.760614,-0.564225) - *** FresnelRefraction *** -Track (trackID 448, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.826547,-0.398563,0.397452) - Old Polarization: (-0.548193,-0.7302,0.407789) - New Momentum Direction: (0.644577,-0.541365,0.539856) - New Polarization: (0.745998,0.290784,-0.599109) - *** FresnelRefraction *** -Track (trackID 447, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.668168,0.46487,-0.580902) - Old Polarization: (-0.721073,0.212236,-0.659553) - New Momentum Direction: (-0.668168,0.46487,-0.580902) - New Polarization: (-0.721073,-0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668168,0.46487,-0.580902) - Old Polarization: (-0.721073,-0.212236,0.659553) - New Momentum Direction: (-0.668168,0.46487,0.580902) - New Polarization: (0.721073,0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668168,0.46487,0.580902) - Old Polarization: (0.721073,0.212236,0.659553) - New Momentum Direction: (-0.668168,-0.46487,0.580902) - New Polarization: (-0.721073,0.212236,-0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668168,-0.46487,0.580902) - Old Polarization: (-0.721073,0.212236,-0.659553) - New Momentum Direction: (0.668168,-0.46487,0.580902) - New Polarization: (-0.721073,-0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.668168,-0.46487,0.580902) - Old Polarization: (-0.721073,-0.212236,0.659553) - New Momentum Direction: (0.668168,-0.46487,-0.580902) - New Polarization: (0.721073,0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.668168,-0.46487,-0.580902) - Old Polarization: (0.721073,0.212236,0.659553) - New Momentum Direction: (0.668168,0.46487,-0.580902) - New Polarization: (-0.721073,0.212236,-0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.668168,0.46487,-0.580902) - Old Polarization: (-0.721073,0.212236,-0.659553) - New Momentum Direction: (-0.668168,0.46487,-0.580902) - New Polarization: (-0.721073,-0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668168,0.46487,-0.580902) - Old Polarization: (-0.721073,-0.212236,0.659553) - New Momentum Direction: (-0.668168,0.46487,0.580902) - New Polarization: (0.721073,0.212236,0.659553) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668168,0.46487,0.580902) - Old Polarization: (0.721073,0.212236,0.659553) - New Momentum Direction: (0.668168,0.46487,0.580902) - New Polarization: (0.721073,-0.212236,-0.659553) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.668168,0.46487,0.580902) -Old Polarization: (0.721073,-0.212236,-0.659553) -New Polarization: (-0.812124,0.569882,0.125259) -Polarization Change: (-0.812124,0.569882,0.125259) -New Momentum Direction: (0.130537,0.386685,-0.912927) -Momentum Change: (0.130537,0.386685,-0.912927) - Photon at Boundary! - Old Momentum Direction: (0.130537,0.386685,-0.912927) - Old Polarization: (-0.812124,0.569882,0.125259) - New Momentum Direction: (0.130537,-0.386685,-0.912927) - New Polarization: (0.812124,0.569882,-0.125259) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.130537,-0.386685,-0.912927) - Old Polarization: (0.812124,0.569882,-0.125259) - New Momentum Direction: (0.177477,-0.525732,-0.83193) - New Polarization: (0.817806,0.549034,-0.172494) - *** FresnelRefraction *** -Track (trackID 446, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603826,0.771668,-0.199806) - Old Polarization: (-0.793113,0.556523,-0.247496) - New Momentum Direction: (0.81562,0.511785,-0.269888) - New Polarization: (-0.576046,0.761961,-0.295951) - *** FresnelRefraction *** -Track (trackID 445, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - -** Photon absorbed! ** -Track (trackID 444, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.610424,0.660293,0.437489) - Old Polarization: (-0.784183,0.426018,0.451182) - New Momentum Direction: (0.610424,-0.660293,0.437489) - New Polarization: (0.784183,0.426018,-0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.610424,-0.660293,0.437489) - Old Polarization: (0.784183,0.426018,-0.451182) - New Momentum Direction: (-0.610424,-0.660293,0.437489) - New Polarization: (0.784183,-0.426018,0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.610424,-0.660293,0.437489) - Old Polarization: (0.784183,-0.426018,0.451182) - New Momentum Direction: (-0.610424,-0.660293,-0.437489) - New Polarization: (-0.784183,0.426018,0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.610424,-0.660293,-0.437489) - Old Polarization: (-0.784183,0.426018,0.451182) - New Momentum Direction: (-0.610424,0.660293,-0.437489) - New Polarization: (0.784183,0.426018,-0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.610424,0.660293,-0.437489) - Old Polarization: (0.784183,0.426018,-0.451182) - New Momentum Direction: (0.610424,0.660293,-0.437489) - New Polarization: (0.784183,-0.426018,0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.610424,0.660293,-0.437489) - Old Polarization: (0.784183,-0.426018,0.451182) - New Momentum Direction: (0.610424,0.660293,0.437489) - New Polarization: (-0.784183,0.426018,0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.610424,0.660293,0.437489) - Old Polarization: (-0.784183,0.426018,0.451182) - New Momentum Direction: (0.610424,-0.660293,0.437489) - New Polarization: (0.784183,0.426018,-0.451182) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.610424,-0.660293,0.437489) - Old Polarization: (0.784183,0.426018,-0.451182) - New Momentum Direction: (-0.610424,-0.660293,0.437489) - New Polarization: (0.784183,-0.426018,0.451182) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 443, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.786326,-0.221209,0.576852) - Old Polarization: (-0.592316,-0.535388,0.602097) - New Momentum Direction: (0.542273,-0.300836,0.784498) - New Polarization: (0.809004,-0.0651213,-0.584185) - *** FresnelRefraction *** -Track (trackID 442, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - -** Photon absorbed! ** -Track (trackID 441, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590937,0.806559,0.0159867) - Old Polarization: (-0.806547,0.591104,-0.00888024) - New Momentum Direction: (0.800196,0.599347,0.0216478) - New Polarization: (-0.599417,0.800428,-0.00383794) - *** FresnelRefraction *** -Track (trackID 440, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - -** Photon absorbed! ** -Track (trackID 439, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.789783,-0.129171,-0.599632) -Old Polarization: (-0.588383,-0.435807,-0.681086) -New Polarization: (-0.773585,0.0811396,-0.628477) -Polarization Change: (-0.773585,0.0811396,-0.628477) -New Momentum Direction: (-0.127303,0.951652,0.279559) -Momentum Change: (-0.127303,0.951652,0.279559) - Photon at Boundary! - Old Momentum Direction: (-0.127303,0.951652,0.279559) - Old Polarization: (-0.773585,0.0811396,-0.628477) - New Momentum Direction: (-0.172948,0.90876,0.379795) - New Polarization: (-0.777198,0.110953,-0.619398) - *** FresnelRefraction *** -Track (trackID 438, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603987,0.727735,0.324963) - Old Polarization: (-0.793243,0.509391,0.333597) - New Momentum Direction: (0.81501,0.378784,0.4385) - New Polarization: (-0.558443,0.715362,0.419998) - *** FresnelRefraction *** -Track (trackID 437, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737847,0.15004,-0.658081) - Old Polarization: (-0.644929,-0.130907,-0.752947) - New Momentum Direction: (0.409182,0.20283,-0.889623) - New Polarization: (0.877888,-0.353321,0.323229) - *** FresnelRefraction *** -Track (trackID 436, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.589236,0.807652,0.0223471) - Old Polarization: (-0.807827,0.589417,-0.00192539) - New Momentum Direction: (0.799336,0.600119,0.0303153) - New Polarization: (-0.600502,0.79961,0.00468558) - *** FresnelRefraction *** -Track (trackID 435, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - -** Photon absorbed! ** -Track (trackID 434, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.858335,-0.500704,-0.112061) - Old Polarization: (-0.512704,-0.845452,-0.149484) - New Momentum Direction: (0.718734,-0.6785,-0.151852) - New Polarization: (0.694789,0.692637,0.193705) - *** FresnelRefraction *** -Track (trackID 433, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.710411,0.159274,0.685527) - Old Polarization: (-0.675158,-0.120757,0.727722) - New Momentum Direction: (0.303423,0.215641,0.928134) - New Polarization: (0.922019,-0.312245,-0.228878) - *** FresnelRefraction *** -Track (trackID 432, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.687842,0.381461,-0.617544) - Old Polarization: (-0.699858,0.122857,-0.703637) - New Momentum Direction: (0.17721,0.517213,-0.83731) - New Polarization: (0.959117,-0.281511,0.0290977) - *** FresnelRefraction *** -Track (trackID 431, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.769346,-0.115841,0.628241) - Old Polarization: (-0.61004,-0.425128,0.668668) - New Momentum Direction: (0.505827,-0.156424,0.848334) - New Polarization: (0.827997,-0.187835,-0.528336) - *** FresnelRefraction *** -Track (trackID 430, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857383,-0.510711,-0.0637846) - Old Polarization: (-0.514651,-0.852013,-0.0959579) - New Momentum Direction: (0.714739,-0.694,-0.0866763) - New Polarization: (0.699356,0.707942,0.0985863) - *** FresnelRefraction *** -Track (trackID 429, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.712079,0.169478,0.681338) - Old Polarization: (-0.673499,-0.109272,0.731067) - New Momentum Direction: (0.32422,0.228348,0.918008) - New Polarization: (0.914736,-0.323031,-0.242712) - *** FresnelRefraction *** -Track (trackID 428, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.813507,-0.30564,0.494763) -Old Polarization: (-0.560288,-0.639876,0.525962) -New Polarization: (-0.450926,-0.383486,0.80598) -Polarization Change: (-0.450926,-0.383486,0.80598) -New Momentum Direction: (0.373229,0.739248,0.560547) -Momentum Change: (0.373229,0.739248,0.560547) - Photon at Boundary! - Old Momentum Direction: (0.373229,0.739248,0.560547) - Old Polarization: (-0.450926,-0.383486,0.80598) - New Momentum Direction: (-0.373229,0.739248,0.560547) - New Polarization: (-0.450926,0.383486,-0.80598) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 427, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671574,0.455982,-0.584012) - Old Polarization: (-0.717612,0.204066,-0.665875) - New Momentum Direction: (-0.671574,0.455982,-0.584012) - New Polarization: (-0.717612,-0.204066,0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671574,0.455982,-0.584012) - Old Polarization: (-0.717612,-0.204066,0.665875) - New Momentum Direction: (-0.671574,0.455982,0.584012) - New Polarization: (0.717612,0.204066,0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671574,0.455982,0.584012) - Old Polarization: (0.717612,0.204066,0.665875) - New Momentum Direction: (-0.671574,-0.455982,0.584012) - New Polarization: (-0.717612,0.204066,-0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671574,-0.455982,0.584012) - Old Polarization: (-0.717612,0.204066,-0.665875) - New Momentum Direction: (0.671574,-0.455982,0.584012) - New Polarization: (-0.717612,-0.204066,0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671574,-0.455982,0.584012) - Old Polarization: (-0.717612,-0.204066,0.665875) - New Momentum Direction: (0.671574,-0.455982,-0.584012) - New Polarization: (0.717612,0.204066,0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671574,-0.455982,-0.584012) - Old Polarization: (0.717612,0.204066,0.665875) - New Momentum Direction: (0.671574,0.455982,-0.584012) - New Polarization: (-0.717612,0.204066,-0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671574,0.455982,-0.584012) - Old Polarization: (-0.717612,0.204066,-0.665875) - New Momentum Direction: (-0.671574,0.455982,-0.584012) - New Polarization: (-0.717612,-0.204066,0.665875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671574,0.455982,-0.584012) - Old Polarization: (-0.717612,-0.204066,0.665875) - New Momentum Direction: (-0.671574,0.455982,0.584012) - New Polarization: (0.717612,0.204066,0.665875) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 426, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.665901,0.472586,-0.577267) - Old Polarization: (-0.723432,0.219995,-0.654407) - New Momentum Direction: (-0.665901,0.472586,-0.577267) - New Polarization: (-0.723432,-0.219995,0.654407) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.665901,0.472586,-0.577267) - Old Polarization: (-0.723432,-0.219995,0.654407) - New Momentum Direction: (-0.665901,0.472586,0.577267) - New Polarization: (0.723432,0.219995,0.654407) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.665901,0.472586,0.577267) - Old Polarization: (0.723432,0.219995,0.654407) - New Momentum Direction: (-0.665901,-0.472586,0.577267) - New Polarization: (-0.723432,0.219995,-0.654407) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 425, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - -** Photon absorbed! ** -Track (trackID 424, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.670773,0.450949,-0.588819) - Old Polarization: (-0.718174,0.196708,-0.667482) - New Momentum Direction: (-0.670773,0.450949,-0.588819) - New Polarization: (-0.718174,-0.196708,0.667482) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670773,0.450949,-0.588819) - Old Polarization: (-0.718174,-0.196708,0.667482) - New Momentum Direction: (-0.670773,0.450949,0.588819) - New Polarization: (0.718174,0.196708,0.667482) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670773,0.450949,0.588819) - Old Polarization: (0.718174,0.196708,0.667482) - New Momentum Direction: (-0.670773,-0.450949,0.588819) - New Polarization: (-0.718174,0.196708,-0.667482) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.670773,-0.450949,0.588819) - Old Polarization: (-0.718174,0.196708,-0.667482) - New Momentum Direction: (0.670773,-0.450949,0.588819) - New Polarization: (-0.718174,-0.196708,0.667482) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 423, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.853715,-0.465225,-0.233957) - Old Polarization: (-0.517621,-0.807233,-0.283626) - New Momentum Direction: (0.708908,-0.630111,-0.316876) - New Polarization: (0.701304,0.581981,0.411668) - *** FresnelRefraction *** -Track (trackID 422, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.617995,0.618735,0.485025) - Old Polarization: (-0.775915,0.380643,0.503057) - New Momentum Direction: (-0.617995,0.618735,0.485025) - New Polarization: (-0.775915,-0.380643,-0.503057) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.617995,0.618735,0.485025) - Old Polarization: (-0.775915,-0.380643,-0.503057) - New Momentum Direction: (-0.617995,-0.618735,0.485025) - New Polarization: (0.775915,-0.380643,0.503057) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.617995,-0.618735,0.485025) - Old Polarization: (0.775915,-0.380643,0.503057) - New Momentum Direction: (-0.617995,-0.618735,-0.485025) - New Polarization: (-0.775915,0.380643,0.503057) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 421, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738458,0.130027,-0.661644) - Old Polarization: (-0.644413,-0.152804,-0.749255) - New Momentum Direction: (0.401611,0.176599,-0.898622) - New Polarization: (0.881523,-0.340523,0.327049) - *** FresnelRefraction *** -Track (trackID 420, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.618626,0.68762,-0.380107) -Old Polarization: (-0.774869,0.45396,-0.439884) -New Polarization: (-0.96075,-0.0633012,0.270098) -Polarization Change: (-0.96075,-0.0633012,0.270098) -New Momentum Direction: (-0.251013,0.612912,-0.749221) -Momentum Change: (-0.251013,0.612912,-0.749221) - Photon at Boundary! - Old Momentum Direction: (-0.251013,0.612912,-0.749221) - Old Polarization: (-0.96075,-0.0633012,0.270098) - New Momentum Direction: (-0.251013,-0.612912,-0.749221) - New Polarization: (0.96075,-0.0633012,-0.270098) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.251013,-0.612912,-0.749221) - Old Polarization: (0.96075,-0.0633012,-0.270098) - New Momentum Direction: (-0.251013,-0.612912,0.749221) - New Polarization: (0.880302,-0.466434,-0.0866435) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 419, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.849429,-0.489249,0.197751) - Old Polarization: (-0.522864,-0.83094,0.190135) - New Momentum Direction: (0.698113,-0.663813,0.268309) - New Polarization: (0.709795,0.592465,-0.38102) - *** FresnelRefraction *** -Track (trackID 418, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - -** Photon absorbed! ** -Track (trackID 417, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.591394,0.806379,0.00254075) - Old Polarization: (-0.80612,0.591278,-0.0236737) - New Momentum Direction: (0.800628,0.599151,0.00343967) - New Polarization: (-0.598951,0.800486,-0.0219077) - *** FresnelRefraction *** -Track (trackID 416, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - -** Photon absorbed! ** -Track (trackID 415, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.817018,-0.361924,0.448879) - Old Polarization: (-0.558948,-0.688322,0.462374) - New Momentum Direction: (0.620248,-0.49235,0.610642) - New Polarization: (0.762223,0.194475,-0.617411) - *** FresnelRefraction *** -Track (trackID 414, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.759535,-0.0921487,0.643906) - Old Polarization: (-0.621425,-0.395283,0.676448) - New Momentum Direction: (0.467779,-0.125211,0.874932) - New Polarization: (0.849394,-0.210002,-0.484178) - *** FresnelRefraction *** -Track (trackID 413, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.598549,0.799714,-0.0468657) - Old Polarization: (-0.800307,0.594363,-0.0789977) - New Momentum Direction: (0.805088,0.589796,-0.0630375) - New Polarization: (-0.593151,0.800138,-0.0891716) - *** FresnelRefraction *** -Track (trackID 412, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.628569,0.606053,0.487443) - Old Polarization: (-0.766922,0.378748,0.518054) - New Momentum Direction: (-0.628569,0.606053,0.487443) - New Polarization: (-0.766922,-0.378748,-0.518054) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.628569,0.606053,0.487443) - Old Polarization: (-0.766922,-0.378748,-0.518054) - New Momentum Direction: (-0.628569,-0.606053,0.487443) - New Polarization: (0.766922,-0.378748,0.518054) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 411, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - -** Photon absorbed! ** -Track (trackID 410, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.598816,0.725087,0.340101) - Old Polarization: (-0.79677,0.496354,0.344659) - New Momentum Direction: (0.813868,0.352068,0.462241) - New Polarization: (-0.554667,0.70774,0.43755) - *** FresnelRefraction *** -Track (trackID 409, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.595871,0.750518,0.285762) - Old Polarization: (-0.800482,0.526471,0.286456) - New Momentum Direction: (0.808539,0.442622,0.387751) - New Polarization: (-0.575068,0.734045,0.361212) - *** FresnelRefraction *** -Track (trackID 408, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.838317,-0.378081,-0.392785) - Old Polarization: (-0.534759,-0.710467,-0.45746) - New Momentum Direction: (0.673735,-0.512473,-0.532403) - New Polarization: (0.725718,0.323,0.607457) - *** FresnelRefraction *** -Track (trackID 407, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - -** Photon absorbed! ** -Track (trackID 406, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - -** Photon absorbed! ** -Track (trackID 405, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64838,0.455167,0.610267) - Old Polarization: (-0.742616,0.201545,0.638672) - New Momentum Direction: (-0.64838,0.455167,0.610267) - New Polarization: (-0.742616,-0.201545,-0.638672) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.64838,0.455167,0.610267) - Old Polarization: (-0.742616,-0.201545,-0.638672) - New Momentum Direction: (-0.64838,0.455167,-0.610267) - New Polarization: (0.742616,0.201545,-0.638672) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.64838,0.455167,-0.610267) - Old Polarization: (0.742616,0.201545,-0.638672) - New Momentum Direction: (-0.64838,-0.455167,-0.610267) - New Polarization: (-0.742616,0.201545,0.638672) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.64838,-0.455167,-0.610267) - Old Polarization: (-0.742616,0.201545,0.638672) - New Momentum Direction: (-0.64838,-0.455167,0.610267) - New Polarization: (0.742616,-0.201545,0.638672) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 404, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - -** Photon absorbed! ** -Track (trackID 403, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - -** Photon absorbed! ** -Track (trackID 402, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - -** Photon absorbed! ** -Track (trackID 401, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66053,0.420773,0.621813) - Old Polarization: (-0.73048,0.168783,0.661749) - New Momentum Direction: (-0.66053,0.420773,0.621813) - New Polarization: (-0.73048,-0.168783,-0.661749) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 400, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.845541,-0.417809,-0.332409) - Old Polarization: (-0.526734,-0.754516,-0.391482) - New Momentum Direction: (0.690373,-0.566135,-0.450417) - New Polarization: (0.714293,0.434648,0.548513) - *** FresnelRefraction *** -Track (trackID 399, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.793377,-0.116465,-0.597485) - Old Polarization: (-0.583097,-0.427229,-0.690995) - New Momentum Direction: (0.572052,-0.156928,-0.805065) - New Polarization: (0.78866,-0.164405,0.592442) - *** FresnelRefraction *** -Track (trackID 398, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744639,0.00666186,0.667435) - Old Polarization: (-0.637332,-0.289976,0.713948) - New Momentum Direction: (0.435397,0.0089851,0.900194) - New Polarization: (0.865116,-0.280762,-0.415628) - *** FresnelRefraction *** -Track (trackID 397, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon absorbed! ** -Track (trackID 396, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.600504,0.746554,0.286448) - Old Polarization: (-0.796955,0.529548,0.290589) - New Momentum Direction: (0.810694,0.439579,0.386711) - New Polarization: (-0.572276,0.734399,0.364908) - *** FresnelRefraction *** -Track (trackID 395, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.858047,-0.512342,-0.0355141) -Old Polarization: (-0.513563,-0.855569,-0.0652375) -New Polarization: (-0.891381,-0.419788,-0.170932) -Polarization Change: (-0.891381,-0.419788,-0.170932) -New Momentum Direction: (-0.400608,0.906082,-0.136121) -Momentum Change: (-0.400608,0.906082,-0.136121) - Photon at Boundary! - Old Momentum Direction: (-0.400608,0.906082,-0.136121) - Old Polarization: (-0.891381,-0.419788,-0.170932) - New Momentum Direction: (-0.54377,0.818642,-0.184766) - New Polarization: (0.729638,0.569939,0.377887) - *** FresnelRefraction *** -Track (trackID 394, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.653199,0.566641,-0.502244) - Old Polarization: (-0.739054,0.332829,-0.585682) - New Momentum Direction: (-0.653199,0.566641,-0.502244) - New Polarization: (-0.739054,-0.332829,0.585682) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.653199,0.566641,-0.502244) - Old Polarization: (-0.739054,-0.332829,0.585682) - New Momentum Direction: (-0.653199,-0.566641,-0.502244) - New Polarization: (0.739054,-0.332829,-0.585682) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.653199,-0.566641,-0.502244) - Old Polarization: (0.739054,-0.332829,-0.585682) - New Momentum Direction: (-0.653199,-0.566641,0.502244) - New Polarization: (-0.739054,0.332829,-0.585682) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 393, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - -** Photon absorbed! ** -Track (trackID 392, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.59823,0.736308,0.316182) - Old Polarization: (-0.797909,0.51096,0.319782) - New Momentum Direction: (0.811713,0.39632,0.429013) - New Polarization: (-0.564854,0.719494,0.404065) - *** FresnelRefraction *** -Track (trackID 391, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon absorbed! ** -Track (trackID 390, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596927,0.751442,0.281091) - Old Polarization: (-0.799798,0.529726,0.282336) - New Momentum Direction: (0.808728,0.448252,0.380827) - New Polarization: (-0.575584,0.736419,0.355514) - *** FresnelRefraction *** -Track (trackID 389, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.855914,-0.492965,-0.156196) - Old Polarization: (-0.516061,-0.833578,-0.197052) - New Momentum Direction: (0.711901,-0.669477,-0.212125) - New Polarization: (0.700921,0.658554,0.273893) - *** FresnelRefraction *** -Track (trackID 388, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - -** Photon absorbed! ** -Track (trackID 387, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.849126,-0.4553,-0.267742) - Old Polarization: (-0.523945,-0.7902,-0.317907) - New Momentum Direction: (0.695606,-0.619282,-0.364172) - New Polarization: (0.712986,0.532829,0.45579) - *** FresnelRefraction *** -Track (trackID 386, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.697824,0.324758,-0.638415) - Old Polarization: (-0.688757,0.059586,-0.72254) - New Momentum Direction: (0.228066,0.441453,-0.867817) - New Polarization: (0.945785,-0.312139,0.0897729) - *** FresnelRefraction *** -Track (trackID 385, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.621598,0.688502,-0.373606) - Old Polarization: (-0.772692,0.460562,-0.436839) - New Momentum Direction: (0.842166,0.185851,-0.506177) - New Polarization: (-0.479667,0.687036,-0.545804) - *** FresnelRefraction *** -Track (trackID 384, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.643766,0.59312,-0.483501) - Old Polarization: (-0.748548,0.356924,-0.558821) - New Momentum Direction: (-0.643766,0.59312,-0.483501) - New Polarization: (-0.748548,-0.356924,0.558821) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.643766,0.59312,-0.483501) - Old Polarization: (-0.748548,-0.356924,0.558821) - New Momentum Direction: (-0.643766,-0.59312,-0.483501) - New Polarization: (0.748548,-0.356924,-0.558821) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.643766,-0.59312,-0.483501) - Old Polarization: (0.748548,-0.356924,-0.558821) - New Momentum Direction: (-0.643766,-0.59312,0.483501) - New Polarization: (-0.748548,0.356924,-0.558821) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.643766,-0.59312,0.483501) - Old Polarization: (-0.748548,0.356924,-0.558821) - New Momentum Direction: (0.643766,-0.59312,0.483501) - New Polarization: (-0.748548,-0.356924,0.558821) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.643766,-0.59312,0.483501) - Old Polarization: (-0.748548,-0.356924,0.558821) - New Momentum Direction: (0.643766,0.59312,0.483501) - New Polarization: (0.748548,-0.356924,-0.558821) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.643766,0.59312,0.483501) - Old Polarization: (0.748548,-0.356924,-0.558821) - New Momentum Direction: (0.643766,0.59312,-0.483501) - New Polarization: (-0.748548,0.356924,-0.558821) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 383, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.692881,0.244621,0.67829) - Old Polarization: (-0.694411,-0.0269634,0.719073) - New Momentum Direction: (0.214853,0.331332,0.918726) - New Polarization: (0.949988,-0.289187,-0.11787) - *** FresnelRefraction *** -Track (trackID 382, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.587598,0.807028,0.0586016) - Old Polarization: (-0.809143,0.586406,0.0376274) - New Momentum Direction: (0.798286,0.596994,0.0796136) - New Polarization: (-0.601442,0.797146,0.0531476) - *** FresnelRefraction *** -Track (trackID 381, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - -** Photon absorbed! ** -Track (trackID 380, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - -** Photon absorbed! ** -Track (trackID 379, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.814669,-0.238996,-0.528389) - Old Polarization: (-0.560089,-0.560516,-0.610018) - New Momentum Direction: (0.620973,-0.323029,-0.714175) - New Polarization: (0.759002,0.0202925,0.650772) - *** FresnelRefraction *** -Track (trackID 378, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.600774,0.750303,0.275892) - Old Polarization: (-0.797003,0.535349,0.279621) - New Momentum Direction: (0.81016,0.453014,0.372047) - New Polarization: (-0.574565,0.739511,0.350711) - *** FresnelRefraction *** -Track (trackID 377, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - -** Photon absorbed! ** -Track (trackID 376, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - -** Photon absorbed! ** -Track (trackID 375, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.69506,0.225327,0.682729) - Old Polarization: (-0.691862,-0.0485854,0.720393) - New Momentum Direction: (0.218004,0.305872,0.926777) - New Polarization: (0.948767,-0.288978,-0.127803) - *** FresnelRefraction *** -Track (trackID 374, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.608406,0.752534,-0.252059) - Old Polarization: (-0.787949,0.534859,-0.30506) - New Momentum Direction: (0.822086,0.456264,-0.340586) - New Polarization: (-0.563091,0.740077,-0.367715) - *** FresnelRefraction *** -Track (trackID 373, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - -** Photon absorbed! ** -Track (trackID 372, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.587158,0.799497,0.126688) - Old Polarization: (-0.809309,0.576664,0.111705) - New Momentum Direction: (0.798466,0.576864,0.172281) - New Polarization: (-0.599751,0.787097,0.144143) - *** FresnelRefraction *** -Track (trackID 371, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.791821,-0.111386,-0.60051) - Old Polarization: (-0.584948,-0.421089,-0.693195) - New Momentum Direction: (0.567212,-0.150199,-0.80976) - New Polarization: (0.791841,-0.170833,0.586348) - *** FresnelRefraction *** -Track (trackID 370, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - -** Photon absorbed! ** -Track (trackID 369, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.597783,0.79922,-0.0624822) - Old Polarization: (-0.800665,0.591347,-0.0961441) - New Momentum Direction: (0.805277,0.586894,-0.0841701) - New Polarization: (-0.592894,0.797714,-0.110133) - *** FresnelRefraction *** -Track (trackID 368, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.833999,-0.325736,-0.445357) - Old Polarization: (-0.53763,-0.661272,-0.523138) - New Momentum Direction: (0.669716,-0.438405,-0.599401) - New Polarization: (0.724736,0.209791,0.656312) - *** FresnelRefraction *** -Track (trackID 367, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603145,0.732583,0.315497) - Old Polarization: (-0.794165,0.514708,0.323077) - New Momentum Direction: (0.813904,0.395351,0.425743) - New Polarization: (-0.562367,0.72016,0.406341) - *** FresnelRefraction *** -Track (trackID 366, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.825691,-0.386887,0.410552) - Old Polarization: (-0.548555,-0.72044,0.424327) - New Momentum Direction: (0.644669,-0.524284,0.556353) - New Polarization: (0.744818,0.266844,-0.611588) - *** FresnelRefraction *** -Track (trackID 365, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.5961,0.802336,-0.030359) - Old Polarization: (-0.802335,0.593816,-0.0603394) - New Momentum Direction: (0.803503,0.593893,-0.0409219) - New Polarization: (-0.595263,0.800771,-0.0665466) - *** FresnelRefraction *** -Track (trackID 364, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.610248,0.732053,-0.302814) - Old Polarization: (-0.784717,0.506126,-0.357847) - New Momentum Direction: (0.828122,0.381253,-0.410926) - New Polarization: (-0.545847,0.715259,-0.436413) - *** FresnelRefraction *** -Track (trackID 363, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590349,0.806248,-0.0381165) - Old Polarization: (-0.806493,0.587308,-0.0681127) - New Momentum Direction: (0.801134,0.596246,-0.051726) - New Polarization: (-0.59847,0.797505,-0.0762844) - *** FresnelRefraction *** -Track (trackID 362, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737997,0.0216902,0.674456) - Old Polarization: (-0.644834,-0.271891,0.714328) - New Momentum Direction: (0.405019,0.0293885,0.913836) - New Polarization: (0.87988,-0.284218,-0.38083) - *** FresnelRefraction *** -Track (trackID 361, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - -** Photon absorbed! ** -Track (trackID 360, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.856542,-0.456,-0.241663) - Old Polarization: (-0.512593,-0.806043,-0.295875) - New Momentum Direction: (0.719213,-0.613906,-0.325348) - New Polarization: (0.690331,0.578446,0.434561) - *** FresnelRefraction *** -Track (trackID 359, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - -** Photon absorbed! ** -Track (trackID 358, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.806195,-0.290906,0.515193) - Old Polarization: (-0.569464,-0.617753,0.542303) - New Momentum Direction: (0.600341,-0.393223,0.696395) - New Polarization: (0.77214,0.0581868,-0.632783) - *** FresnelRefraction *** -Track (trackID 357, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.61831,0.70377,-0.349857) -Old Polarization: (-0.776388,0.477775,-0.411039) -New Polarization: (-0.953575,0.286781,0.0919366) -Polarization Change: (-0.953575,0.286781,0.0919366) -New Momentum Direction: (0.0445569,0.436267,-0.898713) -Momentum Change: (0.0445569,0.436267,-0.898713) -Scattering Photon! -Old Momentum Direction: (0.0445569,0.436267,-0.898713) -Old Polarization: (-0.953575,0.286781,0.0919366) -New Polarization: (0.976338,0.131016,-0.172045) -Polarization Change: (0.976338,0.131016,-0.172045) -New Momentum Direction: (0.158165,-0.975179,0.154949) -Momentum Change: (0.158165,-0.975179,0.154949) - Photon at Boundary! - Old Momentum Direction: (0.158165,-0.975179,0.154949) - Old Polarization: (0.976338,0.131016,-0.172045) - New Momentum Direction: (0.214219,-0.953975,0.209863) - New Polarization: (0.159398,-0.17783,-0.971066) - *** FresnelRefraction *** -Track (trackID 356, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.676462,0.334503,0.65613) - Old Polarization: (-0.712685,0.0726991,0.697707) - New Momentum Direction: (-0.676462,0.334503,0.65613) - New Polarization: (0.703529,0.0300054,0.710033) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676462,0.334503,0.65613) - Old Polarization: (0.703529,0.0300054,0.710033) - New Momentum Direction: (-0.676462,0.334503,-0.65613) - New Polarization: (-0.703529,-0.0300054,0.710033) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676462,0.334503,-0.65613) - Old Polarization: (-0.703529,-0.0300054,0.710033) - New Momentum Direction: (-0.676462,-0.334503,-0.65613) - New Polarization: (0.703529,-0.0300054,-0.710033) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676462,-0.334503,-0.65613) - Old Polarization: (0.703529,-0.0300054,-0.710033) - New Momentum Direction: (0.676462,-0.334503,-0.65613) - New Polarization: (-0.691181,0.0192747,-0.722425) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.676462,-0.334503,-0.65613) - Old Polarization: (-0.691181,0.0192747,-0.722425) - New Momentum Direction: (0.676462,-0.334503,0.65613) - New Polarization: (0.691181,-0.0192747,-0.722425) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.676462,-0.334503,0.65613) - Old Polarization: (0.691181,-0.0192747,-0.722425) - New Momentum Direction: (0.0932889,-0.452213,0.887018) - New Polarization: (0.95547,-0.209843,-0.207469) - *** FresnelRefraction *** -Track (trackID 355, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - -** Photon absorbed! ** -Track (trackID 354, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.797121,-0.247546,0.550744) - Old Polarization: (-0.579394,-0.57037,0.582221) - New Momentum Direction: (0.578362,-0.334444,0.744073) - New Polarization: (0.785608,-0.0174262,-0.618479) - *** FresnelRefraction *** -Track (trackID 353, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85787,-0.497317,-0.129361) - Old Polarization: (-0.513253,-0.841546,-0.168439) - New Momentum Direction: (0.717635,-0.673991,-0.175318) - New Polarization: (0.695632,0.681768,0.226469) - *** FresnelRefraction *** -Track (trackID 352, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.643598,0.581574,-0.497548) - Old Polarization: (-0.74802,0.340357,-0.569757) - New Momentum Direction: (-0.643598,0.581574,-0.497548) - New Polarization: (-0.74802,-0.340357,0.569757) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.643598,0.581574,-0.497548) - Old Polarization: (-0.74802,-0.340357,0.569757) - New Momentum Direction: (-0.643598,-0.581574,-0.497548) - New Polarization: (0.74802,-0.340357,-0.569757) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.643598,-0.581574,-0.497548) - Old Polarization: (0.74802,-0.340357,-0.569757) - New Momentum Direction: (-0.643598,-0.581574,0.497548) - New Polarization: (-0.74802,0.340357,-0.569757) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 351, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon absorbed! ** -Track (trackID 350, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.672158,0.454421,-0.584556) - Old Polarization: (-0.717015,0.20261,-0.666962) - New Momentum Direction: (-0.672158,0.454421,-0.584556) - New Polarization: (-0.717015,-0.20261,0.666962) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.672158,0.454421,-0.584556) - Old Polarization: (-0.717015,-0.20261,0.666962) - New Momentum Direction: (-0.672158,0.454421,0.584556) - New Polarization: (0.717015,0.20261,0.666962) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.672158,0.454421,0.584556) - Old Polarization: (0.717015,0.20261,0.666962) - New Momentum Direction: (-0.672158,-0.454421,0.584556) - New Polarization: (-0.717015,0.20261,-0.666962) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.672158,-0.454421,0.584556) - Old Polarization: (-0.717015,0.20261,-0.666962) - New Momentum Direction: (0.672158,-0.454421,0.584556) - New Polarization: (-0.717015,-0.20261,0.666962) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.672158,-0.454421,0.584556) - Old Polarization: (-0.717015,-0.20261,0.666962) - New Momentum Direction: (0.672158,-0.454421,-0.584556) - New Polarization: (0.717015,0.20261,0.666962) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 349, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.860603,-0.509006,0.0166083) - Old Polarization: (-0.508942,-0.860762,-0.00817033) - New Momentum Direction: (0.726224,-0.687092,0.0224191) - New Polarization: (0.687028,0.724233,-0.0589854) - *** FresnelRefraction *** -Track (trackID 348, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.684273,0.387278,-0.617888) - Old Polarization: (-0.703478,0.127403,-0.699205) - New Momentum Direction: (0.127138,0.526771,-0.840445) - New Polarization: (0.968468,-0.248956,-0.00953484) - *** FresnelRefraction *** -Track (trackID 347, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - -** Photon absorbed! ** -Track (trackID 346, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 345, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.853867,-0.498117,0.150965) - Old Polarization: (-0.517262,-0.844349,0.139694) - New Momentum Direction: (0.709672,-0.674247,0.204345) - New Polarization: (0.700395,0.643794,-0.308181) - *** FresnelRefraction *** -Track (trackID 344, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.858192,-0.498154,0.12389) - Old Polarization: (-0.51087,-0.852426,0.11127) - New Momentum Direction: (0.722534,-0.670899,0.166851) - New Polarization: (0.688188,0.674976,-0.266092) - *** FresnelRefraction *** -Track (trackID 343, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.765169,-0.107323,0.634821) - Old Polarization: (-0.614958,-0.413785,0.671274) - New Momentum Direction: (0.489394,-0.145368,0.859861) - New Polarization: (0.837524,-0.196399,-0.509884) - *** FresnelRefraction *** -Track (trackID 342, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.734075,0.0681249,0.675642) - Old Polarization: (-0.649017,-0.222325,0.727564) - New Momentum Direction: (0.407095,0.0916319,0.908778) - New Polarization: (0.878891,-0.31015,-0.362434) - *** FresnelRefraction *** -Track (trackID 341, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.589369,0.806734,0.0427151) - Old Polarization: (-0.807817,0.58908,0.0204156) - New Momentum Direction: (0.799181,0.598293,0.0579214) - New Polarization: (-0.600477,0.799001,0.0320003) - *** FresnelRefraction *** -Track (trackID 340, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.710918,0.144807,0.688205) - Old Polarization: (-0.674501,-0.136657,0.725516) - New Momentum Direction: (0.296035,0.196674,0.93471) - New Polarization: (0.924347,-0.305603,-0.22845) - *** FresnelRefraction *** -Track (trackID 339, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.767477,0.00612534,-0.641048) - Old Polarization: (-0.612129,-0.29009,-0.735626) - New Momentum Direction: (0.500326,0.00827287,-0.865798) - New Polarization: (0.831086,-0.285041,0.477543) - *** FresnelRefraction *** -Track (trackID 338, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.623026,0.61617,0.481844) - Old Polarization: (-0.771877,0.38455,0.506287) - New Momentum Direction: (-0.623026,0.61617,0.481844) - New Polarization: (-0.771877,-0.38455,-0.506287) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623026,0.61617,0.481844) - Old Polarization: (-0.771877,-0.38455,-0.506287) - New Momentum Direction: (-0.623026,-0.61617,0.481844) - New Polarization: (0.771877,-0.38455,0.506287) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623026,-0.61617,0.481844) - Old Polarization: (0.771877,-0.38455,0.506287) - New Momentum Direction: (-0.623026,-0.61617,-0.481844) - New Polarization: (-0.771877,0.38455,0.506287) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623026,-0.61617,-0.481844) - Old Polarization: (-0.771877,0.38455,0.506287) - New Momentum Direction: (0.623026,-0.61617,-0.481844) - New Polarization: (-0.771877,-0.38455,-0.506287) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.623026,-0.61617,-0.481844) - Old Polarization: (-0.771877,-0.38455,-0.506287) - New Momentum Direction: (0.623026,0.61617,-0.481844) - New Polarization: (0.771877,-0.38455,0.506287) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 337, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85204,-0.461332,-0.247387) - Old Polarization: (-0.519925,-0.800752,-0.297446) - New Momentum Direction: (0.704133,-0.625772,-0.335568) - New Polarization: (0.705517,0.563146,0.430247) - *** FresnelRefraction *** -Track (trackID 336, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.589759,0.779417,0.211407) -Old Polarization: (-0.8065,0.554907,0.204048) -New Polarization: (-0.821998,0.509053,0.255314) -Polarization Change: (-0.821998,0.509053,0.255314) -New Momentum Direction: (0.190945,0.668728,-0.71857) -Momentum Change: (0.190945,0.668728,-0.71857) - Photon at Boundary! - Old Momentum Direction: (0.190945,0.668728,-0.71857) - Old Polarization: (-0.821998,0.509053,0.255314) - New Momentum Direction: (0.190945,-0.668728,-0.71857) - New Polarization: (0.821998,0.509053,-0.255314) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 335, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.842693,-0.383376,-0.378011) -Old Polarization: (-0.528609,-0.722404,-0.445762) -New Polarization: (-0.518933,-0.44027,-0.732715) -Polarization Change: (-0.518933,-0.44027,-0.732715) -New Momentum Direction: (-0.131169,-0.805998,0.577202) -Momentum Change: (-0.131169,-0.805998,0.577202) - Photon at Boundary! - Old Momentum Direction: (-0.131169,-0.805998,0.577202) - Old Polarization: (-0.518933,-0.44027,-0.732715) - New Momentum Direction: (-0.176956,-0.601938,0.778689) - New Polarization: (-0.535043,-0.605224,-0.589435) - *** FresnelRefraction *** -Track (trackID 334, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.67686,0.422261,-0.602956) -Old Polarization: (-0.711546,0.16547,-0.682878) -New Polarization: (-0.541187,-0.700821,-0.464723) -Polarization Change: (-0.541187,-0.700821,-0.464723) -New Momentum Direction: (0.486632,-0.71172,0.506601) -Momentum Change: (0.486632,-0.71172,0.506601) - -** Photon absorbed! ** -Track (trackID 333, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon absorbed! ** -Track (trackID 332, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857072,-0.487076,-0.16788) - Old Polarization: (-0.513881,-0.831493,-0.21106) - New Momentum Direction: (0.716407,-0.659603,-0.227344) - New Polarization: (0.695995,0.653013,0.298606) - *** FresnelRefraction *** -Track (trackID 331, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 157 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 51 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 210 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.150011,0.731549,-0.665081) - Old Polarization: (0.96201,-0.0472018,-0.268903) - New Momentum Direction: (-0.150011,-0.731549,-0.665081) - New Polarization: (0.971093,0.0173122,-0.238074) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 905, parentID 1) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.446257,0.787173,-0.425693) - Old Polarization: (-0.767324,0.581356,0.270627) - New Momentum Direction: (0.602962,0.552819,-0.575177) - New Polarization: (-0.599067,0.789881,0.131171) - *** FresnelRefraction *** -Track (trackID 904, parentID 1) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.648098,-0.761537,-0.00548339) - Old Polarization: (0.36788,0.319369,-0.873309) - New Momentum Direction: (0.878027,-0.478553,-0.00742875) - New Polarization: (-0.255424,-0.4554,-0.85286) - *** FresnelRefraction *** -Track (trackID 903, parentID 1) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.606928,-0.0358872,0.793946) - Old Polarization: (-0.302195,-0.934367,0.188777) - New Momentum Direction: (0.824816,-0.0487708,0.563294) - New Polarization: (-0.238723,-0.933155,0.268762) - *** FresnelRefraction *** -Track (trackID 902, parentID 1) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.402138,0.777718,-0.483156) - Old Polarization: (-0.429784,-0.626298,-0.650413) - New Momentum Direction: (-0.545928,0.521285,-0.655916) - New Polarization: (0.394488,0.850593,0.347666) - *** FresnelRefraction *** -Track (trackID 901, parentID 1) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.508576,-0.179728,0.84205) -Old Polarization: (0.780699,-0.316192,-0.53901) -New Polarization: (-0.423323,0.822988,-0.3788) -Polarization Change: (-0.423323,0.822988,-0.3788) -New Momentum Direction: (0.669074,0.00208119,-0.743192) -Momentum Change: (0.669074,0.00208119,-0.743192) - Photon at Boundary! - Old Momentum Direction: (0.669074,0.00208119,-0.743192) - Old Polarization: (-0.423323,0.822988,-0.3788) - New Momentum Direction: (-0.669074,0.00208119,-0.743192) - New Polarization: (-0.423323,-0.822988,0.3788) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 900, parentID 1) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.996141,-0.0807373,-0.0344247) - Old Polarization: (0.0874588,0.880077,0.466706) - New Momentum Direction: (0.992889,-0.109503,-0.0466897) - New Polarization: (0.118619,0.877116,0.465399) - *** FresnelRefraction *** -Track (trackID 899, parentID 1) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.326016,0.935314,-0.137481) - Old Polarization: (0.458579,-0.283634,-0.842174) - New Momentum Direction: (0.440234,0.878481,-0.185647) - New Polarization: (-0.881936,0.384277,-0.272983) - *** FresnelRefraction *** -Track (trackID 898, parentID 1) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - -** Photon absorbed! ** -Track (trackID 897, parentID 1) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.599374,0.394111,0.696726) - Old Polarization: (0.0822908,-0.835448,0.543373) - New Momentum Direction: (-0.599374,0.394111,-0.696726) - New Polarization: (-0.787103,-0.448572,0.423382) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.599374,0.394111,-0.696726) - Old Polarization: (-0.787103,-0.448572,0.423382) - New Momentum Direction: (0.599374,0.394111,-0.696726) - New Polarization: (-0.787103,0.448572,-0.423382) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.599374,0.394111,-0.696726) - Old Polarization: (-0.787103,0.448572,-0.423382) - New Momentum Direction: (0.599374,-0.394111,-0.696726) - New Polarization: (0.787103,0.448572,0.423382) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.599374,-0.394111,-0.696726) - Old Polarization: (0.787103,0.448572,0.423382) - New Momentum Direction: (0.81365,-0.535006,-0.227471) - New Polarization: (0.294613,0.716771,-0.632014) - *** FresnelRefraction *** -Track (trackID 896, parentID 1) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.838242,-0.207,-0.50448) - Old Polarization: (0.539629,0.447952,0.712839) - New Momentum Direction: (0.671813,-0.281185,-0.685276) - New Polarization: (0.733512,0.381303,0.562644) - *** FresnelRefraction *** -Track (trackID 895, parentID 1) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737958,-0.243724,0.629298) - Old Polarization: (0.585685,-0.231942,-0.776644) - New Momentum Direction: (0.407447,-0.329817,0.851592) - New Polarization: (0.808613,-0.303085,-0.504266) - *** FresnelRefraction *** -Track (trackID 894, parentID 1) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.156498,0.78876,0.594446) - Old Polarization: (0.55824,0.425868,-0.712042) - New Momentum Direction: (0.212552,0.550439,0.807365) - New Polarization: (0.579217,0.594466,-0.557779) - *** FresnelRefraction *** -Track (trackID 893, parentID 1) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.415496,-0.0284784,0.909149) - Old Polarization: (0.29197,0.942443,0.162957) - New Momentum Direction: (-0.562818,-0.038576,0.82568) - New Polarization: (0.263499,0.938422,0.223455) - *** FresnelRefraction *** -Track (trackID 892, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.999941,-0.00349171,-0.010309) - Old Polarization: (-0.00810551,0.871013,0.491194) - New Momentum Direction: (0.999941,-0.00349171,-0.010309) - New Polarization: (0.00810436,0.87109,0.491056) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 891, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.32646,-0.877714,0.350773) - Old Polarization: (-0.46912,0.171717,0.866279) - New Momentum Direction: (0.438933,-0.764795,0.471622) - New Polarization: (-0.871627,-0.234968,0.430182) - *** FresnelRefraction *** -Track (trackID 890, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.178703,-0.760276,0.624536) - Old Polarization: (-0.909552,-0.369712,-0.18981) - New Momentum Direction: (0.178703,0.760276,0.624536) - New Polarization: (-0.917304,-0.100823,0.385212) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.178703,0.760276,0.624536) - Old Polarization: (-0.917304,-0.100823,0.385212) - New Momentum Direction: (0.178703,0.760276,-0.624536) - New Polarization: (0.917304,0.100823,0.385212) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.178703,0.760276,-0.624536) - Old Polarization: (0.917304,0.100823,0.385212) - New Momentum Direction: (0.242231,0.473991,-0.846556) - New Polarization: (0.926383,0.146316,0.346996) - *** FresnelRefraction *** -Track (trackID 889, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.484805,-0.298538,0.822094) - Old Polarization: (-0.649958,0.751933,-0.110233) - New Momentum Direction: (-0.659379,-0.40604,0.632733) - New Polarization: (-0.405259,0.900835,0.155761) - *** FresnelRefraction *** -Track (trackID 888, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.818599,-0.529147,-0.223383) - Old Polarization: (0.556019,0.632546,0.539193) - New Momentum Direction: (0.62655,-0.718021,-0.303118) - New Polarization: (0.756326,0.466252,0.45889) - *** FresnelRefraction *** -Track (trackID 887, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.124031,0.825267,-0.550955) - Old Polarization: (-0.819443,0.227932,0.525889) - New Momentum Direction: (-0.168428,0.641777,-0.748168) - New Polarization: (-0.8282,0.319454,0.460472) - *** FresnelRefraction *** -Track (trackID 886, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0189026,-0.931971,-0.362039) - Old Polarization: (0.946401,-0.133456,0.294133) - New Momentum Direction: (-0.0255857,-0.871324,-0.490041) - New Polarization: (0.944102,-0.182223,0.274711) - *** FresnelRefraction *** -Track (trackID 885, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.955006,0.165359,-0.246212) - Old Polarization: (-0.0542709,-0.913565,-0.403056) - New Momentum Direction: (0.955006,0.165359,-0.246212) - New Polarization: (0.0415554,-0.896565,-0.440959) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 884, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.184516,0.97064,0.15431) - Old Polarization: (0.308762,0.0918092,-0.946698) - New Momentum Direction: (0.249946,0.945428,0.20903) - New Polarization: (0.314863,0.124787,-0.940898) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.249946,0.945428,0.20903) - Old Polarization: (0.314863,0.124787,-0.940898) - New Momentum Direction: (0.69934,0.697934,0.15431) - New Polarization: (0.263558,-0.0511098,-0.963289) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.69934,0.697934,0.15431) - Old Polarization: (0.263558,-0.0511098,-0.963289) - New Momentum Direction: (0.947332,0.24263,0.20903) - New Polarization: (0.195182,0.080053,-0.977494) - *** FresnelRefraction *** -Track (trackID 883, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.737317,-0.611334,-0.287462) -Old Polarization: (0.26395,-0.130998,0.955599) -New Polarization: (-0.872426,0.466347,-0.146264) -Polarization Change: (-0.872426,0.466347,-0.146264) -New Momentum Direction: (0.124334,-0.0776486,-0.989197) -Momentum Change: (0.124334,-0.0776486,-0.989197) - Photon at Boundary! - Old Momentum Direction: (0.124334,-0.0776486,-0.989197) - Old Polarization: (-0.872426,0.466347,-0.146264) - New Momentum Direction: (0.168396,-0.105166,-0.980093) - New Polarization: (-0.864678,0.461616,-0.198098) - *** FresnelRefraction *** -Track (trackID 882, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.836101,0.548227,0.0195527) - Old Polarization: (-0.546679,0.835643,-0.0533201) - New Momentum Direction: (0.668691,0.743068,0.0265018) - New Polarization: (0.741136,-0.663242,-0.104052) - *** FresnelRefraction *** -Track (trackID 881, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.506282,0.861524,0.0381565) - Old Polarization: (-0.755745,0.464562,-0.461554) - New Momentum Direction: (0.681381,0.730125,0.0513531) - New Polarization: (-0.639061,0.627664,-0.444566) - *** FresnelRefraction *** -Track (trackID 880, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.655597,-0.530263,-0.537599) - Old Polarization: (-0.214952,0.551439,-0.806046) - New Momentum Direction: (-0.655597,-0.530263,-0.537599) - New Polarization: (-0.214952,-0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,-0.530263,-0.537599) - Old Polarization: (-0.214952,-0.551439,0.806046) - New Momentum Direction: (-0.655597,-0.530263,0.537599) - New Polarization: (0.214952,0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,-0.530263,0.537599) - Old Polarization: (0.214952,0.551439,0.806046) - New Momentum Direction: (-0.655597,0.530263,0.537599) - New Polarization: (-0.214952,0.551439,-0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,0.530263,0.537599) - Old Polarization: (-0.214952,0.551439,-0.806046) - New Momentum Direction: (0.655597,0.530263,0.537599) - New Polarization: (-0.214952,-0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655597,0.530263,0.537599) - Old Polarization: (-0.214952,-0.551439,0.806046) - New Momentum Direction: (0.655597,0.530263,-0.537599) - New Polarization: (0.214952,0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655597,0.530263,-0.537599) - Old Polarization: (0.214952,0.551439,0.806046) - New Momentum Direction: (0.655597,-0.530263,-0.537599) - New Polarization: (-0.214952,0.551439,-0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655597,-0.530263,-0.537599) - Old Polarization: (-0.214952,0.551439,-0.806046) - New Momentum Direction: (-0.655597,-0.530263,-0.537599) - New Polarization: (-0.214952,-0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,-0.530263,-0.537599) - Old Polarization: (-0.214952,-0.551439,0.806046) - New Momentum Direction: (-0.655597,-0.530263,0.537599) - New Polarization: (0.214952,0.551439,0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,-0.530263,0.537599) - Old Polarization: (0.214952,0.551439,0.806046) - New Momentum Direction: (-0.655597,0.530263,0.537599) - New Polarization: (-0.214952,0.551439,-0.806046) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655597,0.530263,0.537599) - Old Polarization: (-0.214952,0.551439,-0.806046) - New Momentum Direction: (0.655597,0.530263,0.537599) - New Polarization: (-0.214952,-0.551439,0.806046) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 879, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.120876,-0.980762,0.15328) - Old Polarization: (-0.603607,0.195205,0.773016) - New Momentum Direction: (-0.163337,-0.964583,0.207123) - New Polarization: (0.600966,-0.263775,-0.754494) - *** FresnelRefraction *** -Track (trackID 878, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0270441,-0.0928942,0.995309) - Old Polarization: (0.816407,-0.572505,-0.0756161) - New Momentum Direction: (0.036635,-0.125838,0.991374) - New Polarization: (0.382121,0.918415,0.102456) - *** FresnelRefraction *** -Track (trackID 877, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - -** Photon absorbed! ** -Track (trackID 876, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.191059,-0.801618,0.566484) - Old Polarization: (-0.576646,-0.558692,-0.596106) - New Momentum Direction: (0.258085,-0.589777,0.765216) - New Polarization: (-0.501159,-0.758878,-0.415865) - *** FresnelRefraction *** -Track (trackID 875, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596525,0.501744,-0.626428) - Old Polarization: (0.79741,-0.459086,0.391635) - New Momentum Direction: (0.596525,0.501744,0.626428) - New Polarization: (-0.79741,0.459086,0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.596525,0.501744,0.626428) - Old Polarization: (-0.79741,0.459086,0.391635) - New Momentum Direction: (-0.596525,0.501744,0.626428) - New Polarization: (-0.79741,-0.459086,-0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,0.501744,0.626428) - Old Polarization: (-0.79741,-0.459086,-0.391635) - New Momentum Direction: (-0.596525,-0.501744,0.626428) - New Polarization: (0.79741,-0.459086,0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,-0.501744,0.626428) - Old Polarization: (0.79741,-0.459086,0.391635) - New Momentum Direction: (0.596525,-0.501744,0.626428) - New Polarization: (0.79741,0.459086,-0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.596525,-0.501744,0.626428) - Old Polarization: (0.79741,0.459086,-0.391635) - New Momentum Direction: (-0.596525,-0.501744,0.626428) - New Polarization: (0.79741,-0.459086,0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,-0.501744,0.626428) - Old Polarization: (0.79741,-0.459086,0.391635) - New Momentum Direction: (-0.596525,-0.501744,-0.626428) - New Polarization: (-0.79741,0.459086,0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,-0.501744,-0.626428) - Old Polarization: (-0.79741,0.459086,0.391635) - New Momentum Direction: (-0.596525,0.501744,-0.626428) - New Polarization: (0.79741,0.459086,-0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,0.501744,-0.626428) - Old Polarization: (0.79741,0.459086,-0.391635) - New Momentum Direction: (-0.596525,0.501744,0.626428) - New Polarization: (-0.79741,-0.459086,-0.391635) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.596525,0.501744,0.626428) - Old Polarization: (-0.79741,-0.459086,-0.391635) - New Momentum Direction: (0.596525,0.501744,0.626428) - New Polarization: (-0.79741,0.459086,0.391635) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.596525,0.501744,0.626428) -Old Polarization: (-0.79741,0.459086,0.391635) -New Polarization: (-0.999124,-0.0122238,-0.040031) -Polarization Change: (-0.999124,-0.0122238,-0.040031) -New Momentum Direction: (-0.0358981,0.742052,0.669381) -Momentum Change: (-0.0358981,0.742052,0.669381) - Photon at Boundary! - Old Momentum Direction: (-0.0358981,0.742052,0.669381) - Old Polarization: (-0.999124,-0.0122238,-0.040031) - New Momentum Direction: (-0.0487159,0.415279,0.908389) - New Polarization: (-0.997926,0.0180703,-0.0617787) - *** FresnelRefraction *** -Track (trackID 874, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - -** Photon absorbed! ** -Track (trackID 873, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.368835,-0.363387,-0.855518) - Old Polarization: (0.134584,-0.889834,0.435985) - New Momentum Direction: (0.501216,-0.493813,-0.710585) - New Polarization: (-0.800696,0.0467227,-0.597246) - *** FresnelRefraction *** -Track (trackID 872, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.484712,0.764032,0.425804) - Old Polarization: (0.339609,0.284229,-0.896593) - New Momentum Direction: (0.653682,0.492901,0.574238) - New Polarization: (0.413111,0.403352,-0.816484) - *** FresnelRefraction *** -Track (trackID 871, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64336,-0.052775,0.763743) - Old Polarization: (-0.687235,0.399778,0.606536) - New Momentum Direction: (0.866504,-0.0710796,0.494083) - New Polarization: (-0.439504,0.360635,0.822666) - *** FresnelRefraction *** -Track (trackID 870, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.223854,0.867965,0.443313) - Old Polarization: (-0.940895,0.0738331,0.330554) - New Momentum Direction: (0.303748,0.738848,0.601532) - New Polarization: (-0.932948,0.102596,0.345083) - *** FresnelRefraction *** -Track (trackID 869, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 868, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - -** Photon absorbed! ** -Track (trackID 867, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - -** Photon absorbed! ** -Track (trackID 866, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.771704,-0.184708,0.608569) - Old Polarization: (0.416271,0.870144,-0.263758) - New Momentum Direction: (0.514439,-0.249051,0.820564) - New Polarization: (0.580147,0.805749,-0.119159) - *** FresnelRefraction *** -Track (trackID 865, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.870417,-0.184121,0.456589) - Old Polarization: (-0.470832,-0.582304,0.662752) - New Momentum Direction: (0.743368,-0.250156,0.620344) - New Polarization: (0.640975,0.00131245,-0.767561) - *** FresnelRefraction *** -Track (trackID 864, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.900173,-0.258103,0.350815) - Old Polarization: (-0.088724,-0.897267,-0.43248) - New Momentum Direction: (0.808684,-0.348602,0.473822) - New Polarization: (0.121681,-0.688931,-0.71454) - *** FresnelRefraction *** -Track (trackID 863, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - -** Photon absorbed! ** -Track (trackID 862, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.592581,-0.777674,0.209932) - Old Polarization: (0.805425,-0.56824,0.168504) - New Momentum Direction: (-0.80171,-0.525922,0.28402) - New Polarization: (0.588817,-0.776594,0.224043) - *** FresnelRefraction *** -Track (trackID 861, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.188578,0.981117,-0.0429921) - Old Polarization: (0.947802,-0.170364,0.269531) - New Momentum Direction: (0.254044,0.965457,-0.057917) - New Polarization: (-0.72451,0.229629,0.649889) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.254044,0.965457,-0.057917) - Old Polarization: (-0.72451,0.229629,0.649889) - New Momentum Direction: (0.696093,0.716664,-0.0429921) - New Polarization: (0.568717,-0.513863,0.642266) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.696093,0.716664,-0.0429921) - Old Polarization: (0.568717,-0.513863,0.642266) - New Momentum Direction: (0.937745,0.342463,-0.057917) - New Polarization: (-0.224202,0.724206,0.652119) - *** FresnelRefraction *** -Track (trackID 860, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.252437,0.769534,-0.586595) - Old Polarization: (0.583359,-0.604702,-0.542243) - New Momentum Direction: (0.340945,0.506038,-0.792264) - New Polarization: (0.0887836,0.821659,0.563022) - *** FresnelRefraction *** -Track (trackID 859, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0288609,0.730635,0.682158) - Old Polarization: (0.74045,-0.474072,0.476434) - New Momentum Direction: (0.0288609,-0.730635,0.682158) - New Polarization: (0.945059,0.242256,0.219488) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0288609,-0.730635,0.682158) - Old Polarization: (0.945059,0.242256,0.219488) - New Momentum Direction: (0.0288609,-0.730635,-0.682158) - New Polarization: (0.976362,-0.125638,0.175874) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0288609,-0.730635,-0.682158) - Old Polarization: (0.976362,-0.125638,0.175874) - New Momentum Direction: (0.0391535,-0.376874,-0.925437) - New Polarization: (0.975297,-0.187084,0.117451) - *** FresnelRefraction *** -Track (trackID 858, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.591544,-0.590622,0.548855) - Old Polarization: (0.776538,-0.234182,0.584934) - New Momentum Direction: (-0.591544,0.590622,0.548855) - New Polarization: (-0.776538,-0.234182,-0.584934) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.591544,0.590622,0.548855) - Old Polarization: (-0.776538,-0.234182,-0.584934) - New Momentum Direction: (0.591544,0.590622,0.548855) - New Polarization: (-0.776538,0.234182,0.584934) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.591544,0.590622,0.548855) - Old Polarization: (-0.776538,0.234182,0.584934) - New Momentum Direction: (0.591544,0.590622,-0.548855) - New Polarization: (0.776538,-0.234182,0.584934) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.591544,0.590622,-0.548855) - Old Polarization: (0.776538,-0.234182,0.584934) - New Momentum Direction: (-0.591544,0.590622,-0.548855) - New Polarization: (0.776538,0.234182,-0.584934) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.591544,0.590622,-0.548855) - Old Polarization: (0.776538,0.234182,-0.584934) - New Momentum Direction: (-0.591544,-0.590622,-0.548855) - New Polarization: (-0.776538,0.234182,0.584934) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 857, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0233214,-0.128456,0.991441) - Old Polarization: (0.650081,0.751467,0.112655) - New Momentum Direction: (-0.0315796,-0.173942,0.984249) - New Polarization: (0.64861,0.745669,0.152589) - *** FresnelRefraction *** -Track (trackID 856, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - -** Photon absorbed! ** -Track (trackID 855, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 54 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 15 -Track (trackID 854, parentID 1) is processed with stopping code 4 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.54273,0.203642,0.814846) - Old Polarization: (-0.576321,-0.796026,-0.184922) - New Momentum Direction: (-0.732233,0.274746,0.623177) - New Polarization: (-0.138714,-0.956002,0.258493) - *** FresnelRefraction *** -Track (trackID 974, parentID 854) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.180274,-0.378316,-0.907953) - Old Polarization: (-0.96505,0.110473,-0.237642) - New Momentum Direction: (0.24442,-0.512929,-0.822899) - New Polarization: (-0.942748,0.07288,-0.325445) - *** FresnelRefraction *** -Track (trackID 973, parentID 854) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - -** Photon absorbed! ** -Track (trackID 972, parentID 854) is processed with stopping code 2 -### pop requested out of 225 stacked tracks. - -** Photon absorbed! ** -Track (trackID 971, parentID 854) is processed with stopping code 2 -### pop requested out of 224 stacked tracks. - -** Photon absorbed! ** -Track (trackID 970, parentID 854) is processed with stopping code 2 -### pop requested out of 223 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.414505,-0.89861,0.143826) - Old Polarization: (-0.79863,0.283413,-0.530912) - New Momentum Direction: (-0.414505,0.89861,0.143826) - New Polarization: (0.00866351,0.161932,-0.986764) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 969, parentID 854) is processed with stopping code 2 -### pop requested out of 222 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63669,-0.418517,0.647665) - Old Polarization: (-0.54065,0.356606,0.761925) - New Momentum Direction: (0.63669,-0.418517,-0.647665) - New Polarization: (0.54065,-0.356606,0.761925) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.63669,-0.418517,-0.647665) - Old Polarization: (0.54065,-0.356606,0.761925) - New Momentum Direction: (-0.63669,-0.418517,-0.647665) - New Polarization: (0.54065,0.356606,-0.761925) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 968, parentID 854) is processed with stopping code 2 -### pop requested out of 221 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.639473,0.0782005,-0.764826) - Old Polarization: (0.702347,0.345204,0.62253) - New Momentum Direction: (0.869216,0.106296,-0.482871) - New Polarization: (-0.494427,0.182636,-0.849815) - *** FresnelRefraction *** -Track (trackID 967, parentID 854) is processed with stopping code 2 -### pop requested out of 220 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.185889,0.83978,0.510112) - Old Polarization: (-0.61645,0.503951,-0.604998) - New Momentum Direction: (0.251709,0.677885,0.690735) - New Polarization: (-0.556358,0.685348,-0.469856) - *** FresnelRefraction *** -Track (trackID 966, parentID 854) is processed with stopping code 2 -### pop requested out of 219 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.74713,0.481192,-0.458531) - Old Polarization: (0.649862,0.383984,-0.655924) - New Momentum Direction: (-0.435589,0.651659,-0.62097) - New Polarization: (-0.882941,-0.44355,0.153881) - *** FresnelRefraction *** -Track (trackID 965, parentID 854) is processed with stopping code 2 -### pop requested out of 218 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.837535,0.446454,-0.314984) - Old Polarization: (0.455357,-0.251734,0.853979) - New Momentum Direction: (0.671093,0.60578,-0.427393) - New Polarization: (0.624053,-0.150353,0.76678) - *** FresnelRefraction *** -Track (trackID 964, parentID 854) is processed with stopping code 2 -### pop requested out of 217 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56071,-0.823363,0.0876251) - Old Polarization: (0.810055,0.567389,0.14792) - New Momentum Direction: (0.757237,-0.64233,0.118338) - New Polarization: (-0.637633,-0.76627,-0.0790893) - *** FresnelRefraction *** -Track (trackID 963, parentID 854) is processed with stopping code 2 -### pop requested out of 216 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.748426,0.479871,-0.457802) - Old Polarization: (0.077402,0.748755,0.658312) - New Momentum Direction: (-0.435488,0.651335,-0.62138) - New Polarization: (-0.113694,0.644949,0.755721) - *** FresnelRefraction *** -Track (trackID 962, parentID 854) is processed with stopping code 2 -### pop requested out of 215 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0648636,-0.945283,-0.319738) - Old Polarization: (-0.669128,0.278906,-0.688825) - New Momentum Direction: (-0.0877465,-0.897337,-0.432536) - New Polarization: (-0.352733,-0.378088,0.855937) - *** FresnelRefraction *** -Track (trackID 961, parentID 854) is processed with stopping code 2 -### pop requested out of 214 stacked tracks. - -** Photon absorbed! ** -Track (trackID 960, parentID 854) is processed with stopping code 2 -### pop requested out of 213 stacked tracks. - -** Photon absorbed! ** -Track (trackID 959, parentID 854) is processed with stopping code 2 -### pop requested out of 212 stacked tracks. - -** Photon absorbed! ** -Track (trackID 958, parentID 854) is processed with stopping code 2 -### pop requested out of 211 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.846504,-0.460897,0.266467) - Old Polarization: (-0.089336,-0.616394,-0.782353) - New Momentum Direction: (0.692038,-0.624934,0.361304) - New Polarization: (0.124753,-0.389447,-0.912561) - *** FresnelRefraction *** -Track (trackID 957, parentID 854) is processed with stopping code 2 -### pop requested out of 210 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.950553,0.258979,0.171403) - Old Polarization: (0.0549501,0.40295,-0.913571) - New Momentum Direction: (0.906553,0.351983,0.232957) - New Polarization: (0.0752073,0.408381,-0.909708) - *** FresnelRefraction *** -Track (trackID 956, parentID 854) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - -** Photon absorbed! ** -Track (trackID 955, parentID 854) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.350626,0.382368,0.854901) - Old Polarization: (-0.801932,0.594063,0.0631974) - New Momentum Direction: (0.471884,0.514603,0.715898) - New Polarization: (-0.791731,0.604604,0.0872668) - *** FresnelRefraction *** -Track (trackID 954, parentID 854) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.57583,-0.585082,0.571051) -Old Polarization: (-0.474569,-0.807958,-0.349269) -New Polarization: (0.0785626,-0.790299,-0.607665) -Polarization Change: (0.0785626,-0.790299,-0.607665) -New Momentum Direction: (-0.925874,-0.283815,0.249413) -Momentum Change: (-0.925874,-0.283815,0.249413) - Photon at Boundary! - Old Momentum Direction: (-0.925874,-0.283815,0.249413) - Old Polarization: (0.0785626,-0.790299,-0.607665) - New Momentum Direction: (-0.925874,0.283815,0.249413) - New Polarization: (-0.0785626,-0.790299,0.607665) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 953, parentID 854) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.220555,-0.0989445,0.970343) -Old Polarization: (-0.972298,-0.101254,0.210675) -New Polarization: (0.804117,-0.341089,-0.486882) -Polarization Change: (0.804117,-0.341089,-0.486882) -New Momentum Direction: (0.548212,0.742228,0.385435) -Momentum Change: (0.548212,0.742228,0.385435) - Photon at Boundary! - Old Momentum Direction: (0.548212,0.742228,0.385435) - Old Polarization: (0.804117,-0.341089,-0.486882) - New Momentum Direction: (0.745969,0.410436,0.524473) - New Polarization: (0.301047,0.494653,-0.815285) - *** FresnelRefraction *** -Track (trackID 952, parentID 854) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.658573,0.553919,0.509368) - Old Polarization: (-0.356068,0.825694,-0.437544) - New Momentum Direction: (-0.658573,0.553919,0.509368) - New Polarization: (-0.356068,-0.825694,0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,0.553919,0.509368) - Old Polarization: (-0.356068,-0.825694,0.437544) - New Momentum Direction: (-0.658573,-0.553919,0.509368) - New Polarization: (0.356068,-0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,-0.553919,0.509368) - Old Polarization: (0.356068,-0.825694,-0.437544) - New Momentum Direction: (-0.658573,-0.553919,-0.509368) - New Polarization: (-0.356068,0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,-0.553919,-0.509368) - Old Polarization: (-0.356068,0.825694,-0.437544) - New Momentum Direction: (0.658573,-0.553919,-0.509368) - New Polarization: (-0.356068,-0.825694,0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658573,-0.553919,-0.509368) - Old Polarization: (-0.356068,-0.825694,0.437544) - New Momentum Direction: (0.658573,0.553919,-0.509368) - New Polarization: (0.356068,-0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658573,0.553919,-0.509368) - Old Polarization: (0.356068,-0.825694,-0.437544) - New Momentum Direction: (0.658573,0.553919,0.509368) - New Polarization: (-0.356068,0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.658573,0.553919,0.509368) - Old Polarization: (-0.356068,0.825694,-0.437544) - New Momentum Direction: (-0.658573,0.553919,0.509368) - New Polarization: (-0.356068,-0.825694,0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,0.553919,0.509368) - Old Polarization: (-0.356068,-0.825694,0.437544) - New Momentum Direction: (-0.658573,-0.553919,0.509368) - New Polarization: (0.356068,-0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,-0.553919,0.509368) - Old Polarization: (0.356068,-0.825694,-0.437544) - New Momentum Direction: (-0.658573,-0.553919,-0.509368) - New Polarization: (-0.356068,0.825694,-0.437544) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.658573,-0.553919,-0.509368) - Old Polarization: (-0.356068,0.825694,-0.437544) - New Momentum Direction: (0.658573,-0.553919,-0.509368) - New Polarization: (-0.356068,-0.825694,0.437544) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 951, parentID 854) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.972687,-0.190186,0.133078) - Old Polarization: (0.0874331,-0.230894,-0.969043) - New Momentum Direction: (0.949019,-0.258272,0.180719) - New Polarization: (0.119115,-0.236975,-0.964186) - *** FresnelRefraction *** -Track (trackID 950, parentID 854) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (0.541339,-0.582917,-0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,-0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,0.797589,0.299527) - New Momentum Direction: (-0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,-0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (-0.541339,0.582917,0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (-0.541339,-0.582917,0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,-0.582917,0.605937) - Old Polarization: (-0.523579,0.797589,0.299527) - New Momentum Direction: (0.541339,-0.582917,0.605937) - New Polarization: (-0.523579,-0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (0.541339,-0.582917,-0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,-0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,0.797589,0.299527) - New Momentum Direction: (-0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,-0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (-0.541339,0.582917,0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (-0.541339,-0.582917,0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,-0.582917,0.605937) - Old Polarization: (-0.523579,0.797589,0.299527) - New Momentum Direction: (0.541339,-0.582917,0.605937) - New Polarization: (-0.523579,-0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (0.541339,-0.582917,-0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,-0.582917,-0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,0.797589,0.299527) - New Momentum Direction: (-0.541339,0.582917,-0.605937) - New Polarization: (-0.523579,-0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,-0.605937) - Old Polarization: (-0.523579,-0.797589,-0.299527) - New Momentum Direction: (-0.541339,0.582917,0.605937) - New Polarization: (0.523579,0.797589,-0.299527) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.541339,0.582917,0.605937) - Old Polarization: (0.523579,0.797589,-0.299527) - New Momentum Direction: (-0.541339,-0.582917,0.605937) - New Polarization: (-0.523579,0.797589,0.299527) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 949, parentID 854) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.264001,-0.276529,0.924032) - Old Polarization: (-0.920676,-0.357817,0.155961) - New Momentum Direction: (0.356939,-0.373877,0.856043) - New Polarization: (-0.902561,-0.374253,0.21288) - *** FresnelRefraction *** -Track (trackID 948, parentID 854) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.413528,0.472522,0.778279) - Old Polarization: (-0.703806,0.708181,-0.0560053) - New Momentum Direction: (0.560907,0.640926,0.524021) - New Polarization: (-0.781785,0.618324,0.0805479) - *** FresnelRefraction *** -Track (trackID 947, parentID 854) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - -** Photon absorbed! ** -Track (trackID 946, parentID 854) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.992184,0.0400602,0.118177) - Old Polarization: (0.113986,0.0943659,-0.98899) - New Momentum Direction: (0.98552,0.054435,0.160583) - New Polarization: (0.154915,0.0959416,-0.983258) - *** FresnelRefraction *** -Track (trackID 945, parentID 854) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.94158,-0.290752,0.169969) - Old Polarization: (0.050009,-0.378379,-0.924299) - New Momentum Direction: (0.89035,-0.393045,0.229767) - New Polarization: (0.0681585,-0.383916,-0.920849) - *** FresnelRefraction *** -Track (trackID 944, parentID 854) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.931191,-0.3127,0.187356) - Old Polarization: (0.0427137,-0.416825,-0.907982) - New Momentum Direction: (0.871629,-0.420471,0.251927) - New Polarization: (0.0579875,-0.4219,-0.904786) - *** FresnelRefraction *** -Track (trackID 943, parentID 854) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.360103,-0.469448,0.806191) - Old Polarization: (-0.779002,-0.62679,-0.0170231) - New Momentum Direction: (0.488709,-0.637105,0.596038) - New Polarization: (-0.804011,-0.594123,0.0241753) - *** FresnelRefraction *** -Track (trackID 942, parentID 854) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.444651,-0.537175,0.716749) - Old Polarization: (-0.663261,-0.735257,-0.139577) - New Momentum Direction: (0.444651,-0.537175,-0.716749) - New Polarization: (-0.72412,-0.686573,0.0653358) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.444651,-0.537175,-0.716749) - Old Polarization: (-0.72412,-0.686573,0.0653358) - New Momentum Direction: (0.444651,0.537175,-0.716749) - New Polarization: (0.72412,-0.686573,-0.0653358) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.444651,0.537175,-0.716749) - Old Polarization: (0.72412,-0.686573,-0.0653358) - New Momentum Direction: (-0.444651,0.537175,-0.716749) - New Polarization: (0.72412,0.686573,0.0653358) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.444651,0.537175,-0.716749) - Old Polarization: (0.72412,0.686573,0.0653358) - New Momentum Direction: (-0.600097,0.724967,-0.338094) - New Polarization: (0.788594,0.60705,-0.0980246) - *** FresnelRefraction *** -Track (trackID 941, parentID 854) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.870669,-0.430515,0.237891) - Old Polarization: (-0.0574878,-0.5694,-0.820048) - New Momentum Direction: (0.743803,-0.585024,0.323269) - New Polarization: (0.0799835,-0.402268,-0.912022) - *** FresnelRefraction *** -Track (trackID 940, parentID 854) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.260171,0.230784,0.937577) - Old Polarization: (-0.917244,0.362396,0.165325) - New Momentum Direction: (0.353876,0.313905,0.881042) - New Polarization: (-0.898184,0.376766,0.226524) - *** FresnelRefraction *** -Track (trackID 939, parentID 854) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.661025,-0.584951,0.469977) - Old Polarization: (-0.352463,-0.794986,-0.493728) - New Momentum Direction: (-0.661025,-0.584951,0.469977) - New Polarization: (-0.352463,0.794986,0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.661025,-0.584951,0.469977) - Old Polarization: (-0.352463,0.794986,0.493728) - New Momentum Direction: (-0.661025,0.584951,0.469977) - New Polarization: (0.352463,0.794986,-0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.661025,0.584951,0.469977) - Old Polarization: (0.352463,0.794986,-0.493728) - New Momentum Direction: (-0.661025,0.584951,-0.469977) - New Polarization: (-0.352463,-0.794986,-0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.661025,0.584951,-0.469977) - Old Polarization: (-0.352463,-0.794986,-0.493728) - New Momentum Direction: (0.661025,0.584951,-0.469977) - New Polarization: (-0.352463,0.794986,0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.661025,0.584951,-0.469977) - Old Polarization: (-0.352463,0.794986,0.493728) - New Momentum Direction: (0.661025,-0.584951,-0.469977) - New Polarization: (0.352463,0.794986,-0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.661025,-0.584951,-0.469977) - Old Polarization: (0.352463,0.794986,-0.493728) - New Momentum Direction: (0.661025,-0.584951,0.469977) - New Polarization: (-0.352463,-0.794986,-0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.661025,-0.584951,0.469977) - Old Polarization: (-0.352463,-0.794986,-0.493728) - New Momentum Direction: (-0.661025,-0.584951,0.469977) - New Polarization: (-0.352463,0.794986,0.493728) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.661025,-0.584951,0.469977) - Old Polarization: (-0.352463,0.794986,0.493728) - New Momentum Direction: (-0.661025,0.584951,0.469977) - New Polarization: (0.352463,0.794986,-0.493728) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 938, parentID 854) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.829199,0.462098,0.314475) - Old Polarization: (-0.115047,0.691664,-0.712997) - New Momentum Direction: (0.651319,0.627318,0.426914) - New Polarization: (0.161719,0.43493,-0.885823) - *** FresnelRefraction *** -Track (trackID 937, parentID 854) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.462951,-0.553753,0.692123) - Old Polarization: (-0.634954,-0.752011,-0.176957) - New Momentum Direction: (0.462951,-0.553753,-0.692123) - New Polarization: (-0.684445,-0.71948,0.117827) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.462951,-0.553753,-0.692123) - Old Polarization: (-0.684445,-0.71948,0.117827) - New Momentum Direction: (0.462951,0.553753,-0.692123) - New Polarization: (0.684445,-0.71948,-0.117827) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.462951,0.553753,-0.692123) - Old Polarization: (0.684445,-0.71948,-0.117827) - New Momentum Direction: (-0.462951,0.553753,-0.692123) - New Polarization: (0.684445,0.71948,0.117827) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.462951,0.553753,-0.692123) - Old Polarization: (0.684445,0.71948,0.117827) - New Momentum Direction: (-0.626693,0.749613,-0.212924) - New Polarization: (0.779172,0.598531,-0.186148) - *** FresnelRefraction *** -Track (trackID 936, parentID 854) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.687499,-0.573329,0.445689) - Old Polarization: (-0.313433,-0.787904,-0.530064) - New Momentum Direction: (0.199864,-0.773579,0.601357) - New Polarization: (0.481095,-0.457188,-0.748015) - *** FresnelRefraction *** -Track (trackID 935, parentID 854) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91043,0.346056,0.226635) - Old Polarization: (0.00661204,0.535628,-0.844428) - New Momentum Direction: (0.829388,0.467365,0.306082) - New Polarization: (0.00905478,0.536555,-0.843817) - *** FresnelRefraction *** -Track (trackID 934, parentID 854) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.232729,0.119175,0.965212) - Old Polarization: (-0.956824,0.205768,0.2053) - New Momentum Direction: (0.316352,0.161996,0.934708) - New Polarization: (-0.935876,0.214396,0.27959) - *** FresnelRefraction *** -Track (trackID 933, parentID 854) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - -** Photon absorbed! ** -Track (trackID 932, parentID 854) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.493926,0.52854,0.690422) - Old Polarization: (-0.589675,0.787157,-0.180741) - New Momentum Direction: (0.493926,0.52854,-0.690422) - New Polarization: (-0.637344,0.760207,0.126008) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 931, parentID 854) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.723734,0.53273,0.438644) - Old Polarization: (-0.262414,0.80035,-0.539053) - New Momentum Direction: (0.358954,0.720535,0.59328) - New Polarization: (0.38646,0.463857,-0.797173) - *** FresnelRefraction *** -Track (trackID 930, parentID 854) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.925093,-0.331214,0.185743) - Old Polarization: (0.0249886,-0.434974,-0.900096) - New Momentum Direction: (0.857873,-0.448196,0.251345) - New Polarization: (0.0341974,-0.43825,-0.898203) - *** FresnelRefraction *** -Track (trackID 929, parentID 854) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - -** Photon absorbed! ** -Track (trackID 928, parentID 854) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.500968,0.525997,0.687283) - Old Polarization: (-0.581511,0.792729,-0.182828) - New Momentum Direction: (0.677003,0.710827,0.190764) - New Polarization: (-0.730764,0.618429,0.289015) - *** FresnelRefraction *** -Track (trackID 927, parentID 854) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.867726,-0.434012,0.24225) - Old Polarization: (-0.0605553,-0.576062,-0.81516) - New Momentum Direction: (0.738032,-0.589198,0.328869) - New Polarization: (0.0842151,-0.403141,-0.911255) - *** FresnelRefraction *** -Track (trackID 926, parentID 854) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.495483,-0.573715,0.652188) - Old Polarization: (-0.587313,-0.774467,-0.235085) - New Momentum Direction: (0.495483,-0.573715,-0.652188) - New Polarization: (0.587313,0.774467,-0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.495483,-0.573715,-0.652188) - Old Polarization: (0.587313,0.774467,-0.235085) - New Momentum Direction: (0.495483,0.573715,-0.652188) - New Polarization: (-0.587313,0.774467,0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.495483,0.573715,-0.652188) - Old Polarization: (-0.587313,0.774467,0.235085) - New Momentum Direction: (-0.495483,0.573715,-0.652188) - New Polarization: (-0.587313,-0.774467,-0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.495483,0.573715,-0.652188) - Old Polarization: (-0.587313,-0.774467,-0.235085) - New Momentum Direction: (-0.495483,0.573715,0.652188) - New Polarization: (0.587313,0.774467,-0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.495483,0.573715,0.652188) - Old Polarization: (0.587313,0.774467,-0.235085) - New Momentum Direction: (-0.495483,-0.573715,0.652188) - New Polarization: (-0.587313,0.774467,0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.495483,-0.573715,0.652188) - Old Polarization: (-0.587313,0.774467,0.235085) - New Momentum Direction: (0.495483,-0.573715,0.652188) - New Polarization: (-0.587313,-0.774467,-0.235085) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.495483,-0.573715,0.652188) - Old Polarization: (-0.587313,-0.774467,-0.235085) - New Momentum Direction: (0.495483,-0.573715,-0.652188) - New Polarization: (0.587313,0.774467,-0.235085) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.495483,-0.573715,-0.652188) -Old Polarization: (0.587313,0.774467,-0.235085) -New Polarization: (-0.852679,-0.386316,0.351707) -Polarization Change: (-0.852679,-0.386316,0.351707) -New Momentum Direction: (-0.351719,0.922275,0.160319) -Momentum Change: (-0.351719,0.922275,0.160319) - Photon at Boundary! - Old Momentum Direction: (-0.351719,0.922275,0.160319) - Old Polarization: (-0.852679,-0.386316,0.351707) - New Momentum Direction: (-0.351719,0.922275,-0.160319) - New Polarization: (0.852679,0.386316,0.351707) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.351719,0.922275,-0.160319) -Old Polarization: (0.852679,0.386316,0.351707) -New Polarization: (0.271946,0.861194,0.429407) -Polarization Change: (0.271946,0.861194,0.429407) -New Momentum Direction: (0.942113,-0.329209,0.0635975) -Momentum Change: (0.942113,-0.329209,0.0635975) - -** Photon absorbed! ** -Track (trackID 925, parentID 854) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4339,-0.539541,0.721544) - Old Polarization: (-0.674353,-0.725582,-0.137038) - New Momentum Direction: (0.4339,-0.539541,-0.721544) - New Polarization: (-0.735099,-0.675052,0.0627241) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 924, parentID 854) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.609012,-0.595999,0.523345) - Old Polarization: (-0.426562,-0.802388,-0.417395) - New Momentum Direction: (-0.609012,-0.595999,0.523345) - New Polarization: (-0.426562,0.802388,0.417395) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.609012,-0.595999,0.523345) - Old Polarization: (-0.426562,0.802388,0.417395) - New Momentum Direction: (-0.609012,0.595999,0.523345) - New Polarization: (0.426562,0.802388,-0.417395) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.609012,0.595999,0.523345) - Old Polarization: (0.426562,0.802388,-0.417395) - New Momentum Direction: (-0.609012,0.595999,-0.523345) - New Polarization: (-0.426562,-0.802388,-0.417395) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 923, parentID 854) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.234271,0.0535243,0.970697) - Old Polarization: (-0.967007,0.11561,0.227006) - New Momentum Direction: (0.316027,0.0722031,0.945999) - New Polarization: (-0.944371,0.119634,0.306352) - *** FresnelRefraction *** -Track (trackID 922, parentID 854) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - -** Photon absorbed! ** -Track (trackID 921, parentID 854) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.273855,0.266347,0.924155) - Old Polarization: (-0.898725,0.41304,0.147278) - New Momentum Direction: (0.372294,0.362087,0.854571) - New Polarization: (-0.880748,0.428223,0.202257) - *** FresnelRefraction *** -Track (trackID 920, parentID 854) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 919, parentID 854) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.354876,0.404309,0.842969) - Old Polarization: (-0.788482,0.613915,0.0374888) - New Momentum Direction: (0.480693,0.547652,0.684844) - New Polarization: (-0.782087,0.620964,0.0523796) - *** FresnelRefraction *** -Track (trackID 918, parentID 854) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.976553,-0.169693,0.132469) - Old Polarization: (0.096792,-0.203532,-0.974272) - New Momentum Direction: (0.956534,-0.229873,0.179448) - New Polarization: (0.131445,-0.209436,-0.968947) - *** FresnelRefraction *** -Track (trackID 917, parentID 854) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.678644,-0.575845,0.4559) - Old Polarization: (-0.326087,-0.79242,-0.515497) - New Momentum Direction: (0.136488,-0.776694,0.614913) - New Polarization: (0.51223,-0.475971,-0.714893) - *** FresnelRefraction *** -Track (trackID 916, parentID 854) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.791168,-0.515712,0.328775) - Old Polarization: (-0.166268,-0.698686,-0.695839) - New Momentum Direction: (0.561392,-0.697807,0.444864) - New Polarization: (0.235813,-0.380391,-0.894257) - *** FresnelRefraction *** -Track (trackID 915, parentID 854) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.95939,0.229327,0.164253) - Old Polarization: (0.071887,0.364291,-0.928506) - New Momentum Direction: (0.924064,0.310753,0.222573) - New Polarization: (0.0979278,0.370388,-0.923701) - *** FresnelRefraction *** -Track (trackID 914, parentID 854) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.341417,-0.439807,0.830665) - Old Polarization: (-0.807999,-0.588834,0.0203346) - New Momentum Direction: (0.462323,-0.595556,0.656941) - New Polarization: (-0.804595,-0.593139,0.0285191) - *** FresnelRefraction *** -Track (trackID 913, parentID 854) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.582014,-0.593932,0.555432) - Old Polarization: (-0.464794,-0.803439,-0.372091) - New Momentum Direction: (0.582014,0.593932,0.555432) - New Polarization: (0.464794,-0.803439,0.372091) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.582014,0.593932,0.555432) - Old Polarization: (0.464794,-0.803439,0.372091) - New Momentum Direction: (-0.582014,0.593932,0.555432) - New Polarization: (0.464794,0.803439,-0.372091) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.582014,0.593932,0.555432) - Old Polarization: (0.464794,0.803439,-0.372091) - New Momentum Direction: (-0.582014,0.593932,-0.555432) - New Polarization: (-0.464794,-0.803439,-0.372091) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 912, parentID 854) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.381317,-0.495254,0.78059) - Old Polarization: (-0.748058,-0.661415,-0.0542172) - New Momentum Direction: (0.517989,-0.672764,0.528277) - New Polarization: (-0.818625,-0.568999,0.078059) - *** FresnelRefraction *** -Track (trackID 911, parentID 854) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.259102,0.223355,0.939669) - Old Polarization: (-0.920119,0.3529,0.169829) - New Momentum Direction: (0.352091,0.303515,0.885387) - New Polarization: (-0.90071,0.367061,0.232354) - *** FresnelRefraction *** -Track (trackID 910, parentID 854) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - -** Photon absorbed! ** -Track (trackID 909, parentID 854) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.550251,0.547589,0.630373) - Old Polarization: (-0.510239,0.818099,-0.265274) - New Momentum Direction: (0.550251,0.547589,-0.630373) - New Polarization: (0.510239,-0.818099,-0.265274) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.550251,0.547589,-0.630373) - Old Polarization: (0.510239,-0.818099,-0.265274) - New Momentum Direction: (-0.550251,0.547589,-0.630373) - New Polarization: (0.510239,0.818099,0.265274) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.550251,0.547589,-0.630373) - Old Polarization: (0.510239,0.818099,0.265274) - New Momentum Direction: (-0.550251,-0.547589,-0.630373) - New Polarization: (-0.510239,0.818099,-0.265274) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 908, parentID 854) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22544,-0.111859,0.967814) - Old Polarization: (-0.969819,-0.120478,0.211982) - New Momentum Direction: (0.305928,-0.151796,0.939876) - New Polarization: (-0.948896,-0.128967,0.288035) - *** FresnelRefraction *** -Track (trackID 907, parentID 854) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.291131,-0.356845,0.88764) - Old Polarization: (-0.877805,-0.468564,0.0995351) - New Momentum Direction: (0.394772,-0.48388,0.781035) - New Polarization: (-0.864525,-0.483422,0.137474) - *** FresnelRefraction *** -Track (trackID 906, parentID 854) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 5 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 16 -Track (trackID 854, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.295384,-0.652609,0.697746) - Old Polarization: (-0.499449,-0.517106,-0.695092) - New Momentum Direction: (-0.40167,-0.887433,0.226106) - New Polarization: (-0.0987627,0.287436,0.952694) - *** FresnelRefraction *** -Track (trackID 995, parentID 854) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.638281,0.76624,-0.073982) - Old Polarization: (0.0276123,0.0732545,0.996931) - New Momentum Direction: (0.860171,0.500165,-0.0997009) - New Polarization: (0.0540603,0.10497,0.993005) - *** FresnelRefraction *** -Track (trackID 994, parentID 854) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.669323,0.434551,-0.602638) - Old Polarization: (-0.640301,-0.748801,0.171207) - New Momentum Direction: (0.669323,0.434551,-0.602638) - New Polarization: (-0.640301,0.748801,-0.171207) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.669323,0.434551,-0.602638) - Old Polarization: (-0.640301,0.748801,-0.171207) - New Momentum Direction: (0.669323,0.434551,0.602638) - New Polarization: (0.640301,-0.748801,-0.171207) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 993, parentID 854) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.933262,0.307684,-0.185342) - Old Polarization: (0.244113,-0.921817,-0.301101) - New Momentum Direction: (0.873107,0.417613,-0.251561) - New Polarization: (0.333127,-0.887783,-0.317597) - *** FresnelRefraction *** -Track (trackID 992, parentID 854) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.154385,-0.981684,-0.11163) - Old Polarization: (-0.782779,-0.190471,0.592434) - New Momentum Direction: (0.20978,-0.965911,-0.151684) - New Polarization: (-0.770032,-0.258815,0.583152) - *** FresnelRefraction *** -Track (trackID 991, parentID 854) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.576086,-0.238216,0.781907) -Old Polarization: (-0.630993,-0.47847,-0.610668) -New Polarization: (-0.857372,0.346731,-0.380382) -Polarization Change: (-0.857372,0.346731,-0.380382) -New Momentum Direction: (-0.13877,-0.867396,-0.477877) -Momentum Change: (-0.13877,-0.867396,-0.477877) - Photon at Boundary! - Old Momentum Direction: (-0.13877,-0.867396,-0.477877) - Old Polarization: (-0.857372,0.346731,-0.380382) - New Momentum Direction: (-0.188602,-0.736612,-0.649485) - New Polarization: (-0.535523,-0.477227,0.696756) - *** FresnelRefraction *** -Track (trackID 990, parentID 854) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 989, parentID 854) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.269627,-0.542778,0.79542) - Old Polarization: (0.559957,0.760376,0.329054) - New Momentum Direction: (0.364319,-0.733399,0.573931) - New Polarization: (0.597718,0.656744,0.459805) - *** FresnelRefraction *** -Track (trackID 988, parentID 854) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.667204,0.74394,0.0373108) - Old Polarization: (0.415611,0.330239,0.847472) - New Momentum Direction: (-0.906647,0.418832,0.0507008) - New Polarization: (0.267564,0.477915,0.836664) - *** FresnelRefraction *** -Track (trackID 987, parentID 854) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.29846,0.40649,-0.863532) - Old Polarization: (0.135288,0.913652,0.383324) - New Momentum Direction: (-0.404393,0.550765,-0.730154) - New Polarization: (0.848042,-0.0731428,-0.524857) - *** FresnelRefraction *** -Track (trackID 986, parentID 854) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.580475,-0.700544,-0.415075) - Old Polarization: (0.244204,0.636052,-0.731985) - New Momentum Direction: (0.78391,-0.266978,-0.560543) - New Polarization: (-0.43487,-0.880479,-0.1888) - *** FresnelRefraction *** -Track (trackID 985, parentID 854) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - -** Photon absorbed! ** -Track (trackID 984, parentID 854) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91759,-0.397498,0.00500011) - Old Polarization: (-0.141457,-0.314735,0.93858) - New Momentum Direction: (0.841679,-0.539935,0.00679183) - New Polarization: (0.194355,0.314658,0.929094) - *** FresnelRefraction *** -Track (trackID 983, parentID 854) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - -** Photon absorbed! ** -Track (trackID 982, parentID 854) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.225585,0.321932,-0.919495) - Old Polarization: (-0.974141,-0.0868013,0.208601) - New Momentum Direction: (-0.306472,0.437365,-0.845451) - New Polarization: (-0.431805,-0.855424,-0.285997) - *** FresnelRefraction *** -Track (trackID 981, parentID 854) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.9051,-0.350003,0.241437) - Old Polarization: (0.108885,0.358099,0.927313) - New Momentum Direction: (-0.818282,-0.473162,0.326393) - New Polarization: (-0.149285,0.72327,0.674236) - *** FresnelRefraction *** -Track (trackID 980, parentID 854) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.164678,0.646622,0.744823) - Old Polarization: (-0.830629,0.316313,-0.458259) - New Momentum Direction: (-0.223725,0.878475,0.422172) - New Polarization: (-0.601119,-0.465325,0.649714) - *** FresnelRefraction *** -Track (trackID 979, parentID 854) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0181141,0.750349,0.660794) - Old Polarization: (-0.324244,0.629593,-0.70603) - New Momentum Direction: (0.0245352,0.445328,0.895031) - New Polarization: (-0.29571,0.858469,-0.41903) - *** FresnelRefraction *** -Track (trackID 978, parentID 854) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.202271,0.51096,0.835468) - Old Polarization: (-0.977976,-0.0605591,-0.199736) - New Momentum Direction: (-0.273455,0.690779,0.669363) - New Polarization: (-0.770185,-0.574122,0.277847) - *** FresnelRefraction *** -Track (trackID 977, parentID 854) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.00924306,0.755245,0.655378) - Old Polarization: (-0.340321,0.618656,-0.708128) - New Momentum Direction: (0.0125629,0.454284,0.890768) - New Polarization: (-0.31463,0.847385,-0.427722) - *** FresnelRefraction *** -Track (trackID 976, parentID 854) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.300659,0.247419,0.92108) - Old Polarization: (0.51651,-0.854118,0.0608321) - New Momentum Direction: (0.405392,0.333605,0.851096) - New Polarization: (0.523591,-0.847921,0.0829652) - *** FresnelRefraction *** -Track (trackID 975, parentID 854) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.617128,0.309217,0.723559) - Old Polarization: (-0.765135,0.0212195,0.64352) - New Momentum Direction: (0.832141,0.416951,0.365642) - New Polarization: (-0.457076,0.142292,0.877972) - *** FresnelRefraction *** -Track (trackID 853, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.555557,0.749354,0.360314) - Old Polarization: (-0.831467,0.503025,0.235859) - New Momentum Direction: (0.753115,0.440729,0.488443) - New Polarization: (-0.627653,0.703827,0.332685) - *** FresnelRefraction *** -Track (trackID 852, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.846092,-0.482714,0.226085) - Old Polarization: (-0.511435,-0.854687,0.0891331) - New Momentum Direction: (0.69298,-0.652894,0.305791) - New Polarization: (0.693335,0.487237,-0.530929) - *** FresnelRefraction *** -Track (trackID 851, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.613116,0.291571,0.734217) - Old Polarization: (-0.767324,-0.00125022,0.641259) - New Momentum Direction: (0.83408,0.396651,0.383378) - New Polarization: (-0.459504,0.115024,0.880696) - *** FresnelRefraction *** -Track (trackID 850, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - -** Photon absorbed! ** -Track (trackID 849, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72316,0.452265,-0.522011) - Old Polarization: (-0.647211,0.179837,-0.740795) - New Momentum Direction: (0.36263,0.61024,-0.704348) - New Polarization: (0.882985,-0.466703,0.0502541) - *** FresnelRefraction *** -Track (trackID 848, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.795552,0.151735,-0.586578) - Old Polarization: (-0.567202,-0.153872,-0.809077) - New Momentum Direction: (0.573477,0.205162,-0.793116) - New Polarization: (0.771344,-0.461343,0.438395) - *** FresnelRefraction *** -Track (trackID 847, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.866952,-0.22606,-0.444175) - Old Polarization: (-0.486753,-0.57553,-0.657143) - New Momentum Direction: (0.741415,-0.304373,-0.598048) - New Polarization: (0.656058,0.141465,0.741334) - *** FresnelRefraction *** -Track (trackID 846, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.606339,0.341202,0.718286) - Old Polarization: (-0.775582,0.0543086,0.628907) - New Momentum Direction: (0.822168,0.462654,0.331649) - New Polarization: (-0.457324,0.189915,0.868785) - *** FresnelRefraction *** -Track (trackID 845, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.733772,0.420224,-0.533845) - Old Polarization: (-0.635344,0.146092,-0.758285) - New Momentum Direction: (0.405464,0.565401,-0.718276) - New Polarization: (0.863345,-0.495075,0.0976489) - *** FresnelRefraction *** -Track (trackID 844, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878202,-0.380924,-0.289236) - Old Polarization: (-0.47724,-0.737944,-0.47716) - New Momentum Direction: (-0.878202,-0.380924,-0.289236) - New Polarization: (-0.470593,0.580123,0.66483) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.878202,-0.380924,-0.289236) - Old Polarization: (-0.470593,0.580123,0.66483) - New Momentum Direction: (-0.878202,0.380924,-0.289236) - New Polarization: (0.470593,0.580123,-0.66483) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.878202,0.380924,-0.289236) - Old Polarization: (0.470593,0.580123,-0.66483) - New Momentum Direction: (-0.760764,0.516906,-0.392488) - New Polarization: (-0.639019,-0.70235,0.313622) - *** FresnelRefraction *** -Track (trackID 843, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - -** Photon absorbed! ** -Track (trackID 842, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - -** Photon absorbed! ** -Track (trackID 841, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - -** Photon absorbed! ** -Track (trackID 840, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.729902,-0.186858,0.657516) -Old Polarization: (-0.639874,-0.525114,0.561086) -New Polarization: (0.962693,-0.19092,-0.191758) -Polarization Change: (0.962693,-0.19092,-0.191758) -New Momentum Direction: (-0.0508832,-0.823737,0.564684) -Momentum Change: (-0.0508832,-0.823737,0.564684) -Scattering Photon! -Old Momentum Direction: (-0.0508832,-0.823737,0.564684) -Old Polarization: (0.962693,-0.19092,-0.191758) -New Polarization: (-0.525625,-0.808857,0.26357) -Polarization Change: (-0.525625,-0.808857,0.26357) -New Momentum Direction: (0.820596,-0.563779,-0.0936759) -Momentum Change: (0.820596,-0.563779,-0.0936759) - Photon at Boundary! - Old Momentum Direction: (0.820596,-0.563779,-0.0936759) - Old Polarization: (-0.525625,-0.808857,0.26357) - New Momentum Direction: (0.820596,0.563779,-0.0936759) - New Polarization: (0.525625,-0.808857,-0.26357) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.820596,0.563779,-0.0936759) - Old Polarization: (0.525625,-0.808857,-0.26357) - New Momentum Direction: (0.631309,0.765042,-0.127117) - New Polarization: (0.71748,-0.638376,-0.278743) - *** FresnelRefraction *** -Track (trackID 839, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.773881,0.239524,-0.586291) - Old Polarization: (-0.591533,-0.0573703,-0.804237) - New Momentum Direction: (0.512448,0.324765,-0.794937) - New Polarization: (0.808027,-0.495717,0.318366) - *** FresnelRefraction *** -Track (trackID 838, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - -** Photon absorbed! ** -Track (trackID 837, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.81513,0.0718345,-0.574807) - Old Polarization: (-0.544611,-0.243089,-0.802687) - New Momentum Direction: (0.625705,0.0967327,-0.774039) - New Polarization: (0.736579,-0.399927,0.545444) - *** FresnelRefraction *** -Track (trackID 836, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - -** Photon absorbed! ** -Track (trackID 835, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - -** Photon absorbed! ** -Track (trackID 834, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.769343,0.261908,-0.58268) - Old Polarization: (-0.59638,-0.0325055,-0.802044) - New Momentum Direction: (0.50138,0.354723,-0.78917) - New Polarization: (0.813988,-0.502599,0.291235) - *** FresnelRefraction *** -Track (trackID 833, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - -** Photon absorbed! ** -Track (trackID 832, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - -** Photon absorbed! ** -Track (trackID 831, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.863876,-0.242264,-0.441619) - Old Polarization: (-0.493148,-0.585341,-0.643569) - New Momentum Direction: (0.729577,-0.32893,-0.599601) - New Polarization: (0.670259,0.169675,0.722471) - *** FresnelRefraction *** -Track (trackID 830, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - -** Photon absorbed! ** -Track (trackID 829, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.623325,0.276235,0.731546) - Old Polarization: (-0.758163,-0.0155563,0.651879) - New Momentum Direction: (0.623325,0.276235,-0.731546) - New Polarization: (0.258156,0.810378,0.525968) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.623325,0.276235,-0.731546) - Old Polarization: (0.258156,0.810378,0.525968) - New Momentum Direction: (-0.623325,0.276235,-0.731546) - New Polarization: (0.258156,-0.810378,-0.525968) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623325,0.276235,-0.731546) - Old Polarization: (0.258156,-0.810378,-0.525968) - New Momentum Direction: (-0.623325,-0.276235,-0.731546) - New Polarization: (-0.258156,-0.810378,0.525968) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623325,-0.276235,-0.731546) - Old Polarization: (-0.258156,-0.810378,0.525968) - New Momentum Direction: (-0.840769,-0.372598,-0.392782) - New Polarization: (0.530661,-0.423423,-0.734243) - *** FresnelRefraction *** -Track (trackID 828, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.837018,-0.0571923,-0.544179) - Old Polarization: (-0.521468,-0.384632,-0.761662) - New Momentum Direction: (0.672492,-0.0773578,-0.736051) - New Polarization: (0.707389,-0.225238,0.669977) - *** FresnelRefraction *** -Track (trackID 827, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - -** Photon absorbed! ** -Track (trackID 826, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.678806,0.00265234,0.734313) - Old Polarization: (-0.695854,-0.317074,0.6444) - New Momentum Direction: (0.92166,0.00360126,0.387982) - New Polarization: (-0.370333,-0.290128,0.882428) - *** FresnelRefraction *** -Track (trackID 825, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.708327,0.500362,-0.497907) - Old Polarization: (-0.663626,0.231643,-0.711296) - New Momentum Direction: (0.298938,0.67643,-0.673111) - New Polarization: (0.908622,-0.417318,-0.0158433) - *** FresnelRefraction *** -Track (trackID 824, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.635947,0.715374,-0.289501) - Old Polarization: (-0.743283,0.466857,-0.47914) - New Momentum Direction: (0.861341,0.323024,-0.392107) - New Polarization: (-0.500583,0.6713,-0.546602) - *** FresnelRefraction *** -Track (trackID 823, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.873032,-0.485232,-0.0486355) - Old Polarization: (-0.48372,-0.848999,-0.212642) - New Momentum Direction: (0.748466,-0.659867,-0.0661396) - New Polarization: (0.658054,0.751353,-0.049328) - *** FresnelRefraction *** -Track (trackID 822, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.555308,0.778106,0.29357) - Old Polarization: (-0.831087,0.532135,0.161639) - New Momentum Direction: (0.754034,0.522043,0.398629) - New Polarization: (-0.63508,0.734346,0.239601) - *** FresnelRefraction *** -Track (trackID 821, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.6785,0.607133,-0.413555) - Old Polarization: (-0.697065,0.354461,-0.623264) - New Momentum Direction: (-0.6785,0.607133,-0.413555) - New Polarization: (0.672389,0.286546,-0.682483) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.6785,0.607133,-0.413555) - Old Polarization: (0.672389,0.286546,-0.682483) - New Momentum Direction: (-0.6785,-0.607133,-0.413555) - New Polarization: (-0.672389,0.286546,0.682483) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.6785,-0.607133,-0.413555) - Old Polarization: (-0.672389,0.286546,0.682483) - New Momentum Direction: (-0.6785,-0.607133,0.413555) - New Polarization: (0.672389,-0.286546,0.682483) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 820, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.563852,0.647167,0.513076) -Old Polarization: (-0.823614,0.394682,0.407291) -New Polarization: (0.381872,-0.703847,-0.598977) -Polarization Change: (0.381872,-0.703847,-0.598977) -New Momentum Direction: (-0.919658,-0.353668,-0.17073) -Momentum Change: (-0.919658,-0.353668,-0.17073) - Photon at Boundary! - Old Momentum Direction: (-0.919658,-0.353668,-0.17073) - Old Polarization: (0.381872,-0.703847,-0.598977) - New Momentum Direction: (-0.847621,-0.477838,-0.230672) - New Polarization: (-0.516283,0.843048,0.15074) - *** FresnelRefraction *** -Track (trackID 819, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - -** Photon absorbed! ** -Track (trackID 818, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.598126,0.797924,-0.0745786) - Old Polarization: (-0.786672,0.566824,-0.244658) - New Momentum Direction: (0.805468,0.584068,-0.100431) - New Polarization: (-0.58821,0.767203,-0.255752) - *** FresnelRefraction *** -Track (trackID 817, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - -** Photon absorbed! ** -Track (trackID 816, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.879179,-0.428843,-0.207698) - Old Polarization: (-0.476488,-0.789338,-0.387176) - New Momentum Direction: (0.76239,-0.582406,-0.282071) - New Polarization: (0.647112,0.68802,0.328443) - *** FresnelRefraction *** -Track (trackID 815, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.877852,-0.46855,-0.0991806) - Old Polarization: (-0.476972,-0.836593,-0.269463) - New Momentum Direction: (0.760949,-0.634747,-0.13436) - New Polarization: (0.646268,0.759855,0.0704148) - *** FresnelRefraction *** -Track (trackID 814, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - -** Photon absorbed! ** -Track (trackID 813, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - -** Photon absorbed! ** -Track (trackID 812, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - -** Photon absorbed! ** -Track (trackID 811, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.653681,0.670915,-0.350106) -Old Polarization: (-0.723988,0.419728,-0.547421) -New Polarization: (-0.513523,0.494528,-0.70124) -Polarization Change: (-0.513523,0.494528,-0.70124) -New Momentum Direction: (-0.853563,-0.210694,0.476485) -Momentum Change: (-0.853563,-0.210694,0.476485) - Photon at Boundary! - Old Momentum Direction: (-0.853563,-0.210694,0.476485) - Old Polarization: (-0.513523,0.494528,-0.70124) - New Momentum Direction: (-0.709599,-0.28495,0.644416) - New Polarization: (-0.695039,0.433273,-0.573756) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.709599,-0.28495,0.644416) - Old Polarization: (-0.695039,0.433273,-0.573756) - New Momentum Direction: (-0.524681,-0.705458,0.476485) - New Polarization: (-0.322144,-0.353559,-0.878191) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.524681,-0.705458,0.476485) - Old Polarization: (-0.322144,-0.353559,-0.878191) - New Momentum Direction: (-0.524681,0.705458,0.476485) - New Polarization: (-0.797521,-0.211547,-0.564985) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.524681,0.705458,0.476485) - Old Polarization: (-0.797521,-0.211547,-0.564985) - New Momentum Direction: (0.524681,0.705458,0.476485) - New Polarization: (-0.797521,0.211547,0.564985) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.524681,0.705458,0.476485) - Old Polarization: (-0.797521,0.211547,0.564985) - New Momentum Direction: (0.524681,0.705458,-0.476485) - New Polarization: (0.797521,-0.211547,0.564985) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.524681,0.705458,-0.476485) -Old Polarization: (0.797521,-0.211547,0.564985) -New Polarization: (0.211726,0.21407,0.953597) -Polarization Change: (0.211726,0.21407,0.953597) -New Momentum Direction: (0.877312,-0.471611,-0.0889183) -Momentum Change: (0.877312,-0.471611,-0.0889183) - Photon at Boundary! - Old Momentum Direction: (0.877312,-0.471611,-0.0889183) - Old Polarization: (0.211726,0.21407,0.953597) - New Momentum Direction: (0.877312,0.471611,-0.0889183) - New Polarization: (-0.211726,0.21407,-0.953597) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.877312,0.471611,-0.0889183) - Old Polarization: (-0.211726,0.21407,-0.953597) - New Momentum Direction: (0.760736,0.637824,-0.120257) - New Polarization: (0.291286,-0.501063,-0.814916) - *** FresnelRefraction *** -Track (trackID 810, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - -** Photon absorbed! ** -Track (trackID 809, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - -** Photon absorbed! ** -Track (trackID 808, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.594726,0.389419,0.703316) - Old Polarization: (-0.787355,0.105415,0.607421) - New Momentum Direction: (0.809136,0.529813,0.254162) - New Polarization: (-0.443414,0.266677,0.855726) - *** FresnelRefraction *** -Track (trackID 807, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575402,0.814311,0.0762202) - Old Polarization: (-0.810913,0.580155,-0.0764223) - New Momentum Direction: (0.77723,0.620737,0.102955) - New Polarization: (-0.618969,0.783677,-0.0522185) - *** FresnelRefraction *** -Track (trackID 806, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.629378,0.732171,-0.260401) - Old Polarization: (-0.75063,0.486081,-0.447526) - New Momentum Direction: (0.852,0.387083,-0.352509) - New Polarization: (-0.521478,0.687176,-0.505816) - *** FresnelRefraction *** -Track (trackID 805, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878606,-0.454696,-0.145954) - Old Polarization: (-0.476839,-0.818684,-0.31997) - New Momentum Direction: (0.761562,-0.61708,-0.198078) - New Polarization: (0.647171,0.740375,0.181696) - *** FresnelRefraction *** -Track (trackID 804, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.769979,0.258685,-0.583278) - Old Polarization: (-0.595704,-0.0361011,-0.802393) - New Momentum Direction: (0.502883,0.350425,-0.790134) - New Polarization: (0.81319,-0.501651,0.295074) - *** FresnelRefraction *** -Track (trackID 803, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.673648,0.610459,-0.416579) - Old Polarization: (-0.701803,0.351701,-0.619499) - New Momentum Direction: (-0.673648,0.610459,-0.416579) - New Polarization: (-0.701803,-0.351701,0.619499) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.673648,0.610459,-0.416579) - Old Polarization: (-0.701803,-0.351701,0.619499) - New Momentum Direction: (-0.673648,-0.610459,-0.416579) - New Polarization: (0.701803,-0.351701,-0.619499) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 802, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.597651,0.79578,-0.0977105) - Old Polarization: (-0.785798,0.557193,-0.268435) - New Momentum Direction: (0.808538,0.573404,-0.132189) - New Polarization: (-0.585049,0.759233,-0.285102) - *** FresnelRefraction *** -Track (trackID 801, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55747,0.802859,0.211295) - Old Polarization: (-0.827983,0.556249,0.0709284) - New Momentum Direction: (0.758437,0.584924,0.287467) - New Polarization: (-0.635644,0.761297,0.127998) - *** FresnelRefraction *** -Track (trackID 800, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.824771,-0.45708,0.332914) - Old Polarization: (-0.536268,-0.818997,0.204109) - New Momentum Direction: (0.639727,-0.621278,0.452507) - New Polarization: (0.731644,0.311874,-0.606161) - *** FresnelRefraction *** -Track (trackID 799, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.558445,0.700026,0.445088) - Old Polarization: (-0.828975,0.451117,0.330595) - New Momentum Direction: (0.755704,0.257176,0.602306) - New Polarization: (-0.592393,0.660572,0.461212) - *** FresnelRefraction *** -Track (trackID 798, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.869507,-0.492883,0.032005) - Old Polarization: (-0.485764,-0.865078,-0.125189) - New Momentum Direction: (0.7438,-0.666998,0.0433111) - New Polarization: (0.657857,0.719062,-0.223993) - *** FresnelRefraction *** -Track (trackID 797, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.731538,-0.18776,0.655438) - Old Polarization: (-0.638026,-0.527434,0.561014) - New Momentum Direction: (0.383033,-0.254385,0.888017) - New Polarization: (0.873811,-0.211978,-0.43763) - *** FresnelRefraction *** -Track (trackID 796, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.763727,-0.293914,0.574748) - Old Polarization: (-0.602657,-0.643715,0.47163) - New Momentum Direction: (0.484064,-0.398402,0.779075) - New Polarization: (0.823629,-0.0932148,-0.559416) - *** FresnelRefraction *** -Track (trackID 795, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.776544,-0.336372,0.53276) - Old Polarization: (-0.58881,-0.688365,0.423624) - New Momentum Direction: (0.517807,-0.456725,0.72338) - New Polarization: (0.805334,-0.0250548,-0.592291) - *** FresnelRefraction *** -Track (trackID 794, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.571116,0.566725,0.593844) - Old Polarization: (-0.814786,0.303459,0.494001) - New Momentum Direction: (0.571116,0.566725,-0.593844) - New Polarization: (0.814786,-0.303459,0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.571116,0.566725,-0.593844) - Old Polarization: (0.814786,-0.303459,0.494001) - New Momentum Direction: (-0.571116,0.566725,-0.593844) - New Polarization: (0.814786,0.303459,-0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.571116,0.566725,-0.593844) - Old Polarization: (0.814786,0.303459,-0.494001) - New Momentum Direction: (-0.571116,-0.566725,-0.593844) - New Polarization: (-0.814786,0.303459,0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.571116,-0.566725,-0.593844) - Old Polarization: (-0.814786,0.303459,0.494001) - New Momentum Direction: (-0.571116,-0.566725,0.593844) - New Polarization: (0.814786,-0.303459,0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.571116,-0.566725,0.593844) - Old Polarization: (0.814786,-0.303459,0.494001) - New Momentum Direction: (0.571116,-0.566725,0.593844) - New Polarization: (0.814786,0.303459,-0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.571116,-0.566725,0.593844) - Old Polarization: (0.814786,0.303459,-0.494001) - New Momentum Direction: (0.571116,0.566725,0.593844) - New Polarization: (-0.814786,0.303459,0.494001) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.571116,0.566725,0.593844) - Old Polarization: (-0.814786,0.303459,0.494001) - New Momentum Direction: (0.571116,0.566725,-0.593844) - New Polarization: (0.814786,-0.303459,0.494001) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 793, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.72066,-0.146117,0.677716) - Old Polarization: (-0.649991,-0.482443,0.587163) - New Momentum Direction: (0.345963,-0.197745,0.917173) - New Polarization: (0.889962,-0.240393,-0.387528) - *** FresnelRefraction *** -Track (trackID 792, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.721929,0.454117,-0.522108) -Old Polarization: (-0.648582,0.181105,-0.739285) -New Polarization: (0.693809,0.114323,-0.711027) -Polarization Change: (0.693809,0.114323,-0.711027) -New Momentum Direction: (-0.718785,0.170883,-0.673904) -Momentum Change: (-0.718785,0.170883,-0.673904) - Photon at Boundary! - Old Momentum Direction: (-0.718785,0.170883,-0.673904) - Old Polarization: (0.693809,0.114323,-0.711027) - New Momentum Direction: (-0.970909,0.230823,-0.0636952) - New Polarization: (0.110273,0.194898,-0.974605) - *** FresnelRefraction *** -Track (trackID 791, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - -** Photon absorbed! ** -Track (trackID 790, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - -** Photon absorbed! ** -Track (trackID 789, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - -** Photon absorbed! ** -Track (trackID 788, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.589113,0.48054,0.649637) - Old Polarization: (-0.797104,0.213704,0.564762) - New Momentum Direction: (0.589113,0.48054,-0.649637) - New Polarization: (0.797104,-0.213704,0.564762) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.589113,0.48054,-0.649637) - Old Polarization: (0.797104,-0.213704,0.564762) - New Momentum Direction: (-0.589113,0.48054,-0.649637) - New Polarization: (0.797104,0.213704,-0.564762) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.589113,0.48054,-0.649637) - Old Polarization: (0.797104,0.213704,-0.564762) - New Momentum Direction: (-0.589113,-0.48054,-0.649637) - New Polarization: (-0.797104,0.213704,0.564762) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 787, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.882371,-0.41548,-0.2209) - Old Polarization: (-0.470534,-0.783353,-0.406147) - New Momentum Direction: (0.772405,-0.560795,-0.298161) - New Polarization: (0.635105,0.677773,0.370494) - *** FresnelRefraction *** -Track (trackID 786, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.740746,-0.217632,0.635556) - Old Polarization: (-0.627867,-0.56074,0.539772) - New Momentum Direction: (0.415184,-0.294719,0.860676) - New Polarization: (0.858778,-0.185226,-0.477695) - *** FresnelRefraction *** -Track (trackID 785, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.585781,0.810456,-0.00477037) - Old Polarization: (-0.799645,0.576988,-0.166293) - New Momentum Direction: (0.790704,0.612164,-0.00643919) - New Polarization: (-0.605005,0.779764,-0.16105) - *** FresnelRefraction *** -Track (trackID 784, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - -** Photon absorbed! ** -Track (trackID 783, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.747082,-0.25047,0.615738) -Old Polarization: (-0.621189,-0.592799,0.512556) -New Polarization: (0.608476,0.711395,-0.351673) -Polarization Change: (0.608476,0.711395,-0.351673) -New Momentum Direction: (-0.125038,0.523562,0.842762) -Momentum Change: (-0.125038,0.523562,0.842762) - -** Photon absorbed! ** -Track (trackID 782, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.808039,-0.422302,0.410771) - Old Polarization: (-0.554652,-0.780352,0.288813) - New Momentum Direction: (0.598485,-0.574273,0.558593) - New Polarization: (0.758001,0.180211,-0.626864) - *** FresnelRefraction *** -Track (trackID 781, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.640147,0.703125,-0.309558) - Old Polarization: (-0.738471,0.452067,-0.500295) - New Momentum Direction: (0.867883,0.265787,-0.419685) - New Polarization: (-0.480815,0.661815,-0.575168) - *** FresnelRefraction *** -Track (trackID 780, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575148,0.814486,0.0762658) - Old Polarization: (-0.811096,0.579905,-0.0763692) - New Momentum Direction: (0.7771,0.620885,0.103045) - New Polarization: (-0.619129,0.783556,-0.0521443) - *** FresnelRefraction *** -Track (trackID 779, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82707,-0.443756,0.345015) - Old Polarization: (-0.531469,-0.817213,0.222943) - New Momentum Direction: (0.652903,-0.597972,0.464916) - New Polarization: (0.718736,0.295405,-0.629408) - *** FresnelRefraction *** -Track (trackID 778, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - -** Photon absorbed! ** -Track (trackID 777, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - -** Photon absorbed! ** -Track (trackID 776, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.659875,0.0768606,0.747434) - Old Polarization: (-0.716414,-0.235544,0.656711) - New Momentum Direction: (0.897107,0.104493,0.429278) - New Polarization: (-0.406111,-0.187608,0.894359) - *** FresnelRefraction *** -Track (trackID 775, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - -** Photon absorbed! ** -Track (trackID 774, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.718001,0.458874,-0.523363) -Old Polarization: (-0.652923,0.183492,-0.734862) -New Polarization: (0.588993,0.476273,0.652879) -Polarization Change: (0.588993,0.476273,0.652879) -New Momentum Direction: (0.310224,-0.879236,0.361532) -Momentum Change: (0.310224,-0.879236,0.361532) - Photon at Boundary! - Old Momentum Direction: (0.310224,-0.879236,0.361532) - Old Polarization: (0.588993,0.476273,0.652879) - New Momentum Direction: (-0.310224,-0.879236,0.361532) - New Polarization: (0.588993,-0.476273,-0.652879) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.310224,-0.879236,0.361532) - Old Polarization: (0.588993,-0.476273,-0.652879) - New Momentum Direction: (-0.420695,-0.763314,0.490273) - New Polarization: (0.513177,-0.64588,-0.565232) - *** FresnelRefraction *** -Track (trackID 773, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.634676,0.185664,0.750144) - Old Polarization: (-0.743756,-0.116771,0.658173) - New Momentum Direction: (0.863655,0.252649,0.436198) - New Polarization: (-0.44205,-0.0362831,0.896257) - *** FresnelRefraction *** -Track (trackID 772, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.595925,0.795964,-0.106368) - Old Polarization: (-0.786673,0.552029,-0.276423) - New Momentum Direction: (0.809007,0.569786,-0.144401) - New Polarization: (-0.584817,0.755522,-0.295256) - *** FresnelRefraction *** -Track (trackID 771, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.879648,-0.392961,-0.267959) - Old Polarization: (-0.475071,-0.753134,-0.455079) - New Momentum Direction: (0.764641,-0.532447,-0.363074) - New Polarization: (0.643734,0.604383,0.469391) - *** FresnelRefraction *** -Track (trackID 770, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.616341,0.756799,-0.217665) - Old Polarization: (-0.764098,0.507888,-0.397748) - New Momentum Direction: (0.837441,0.459594,-0.295747) - New Polarization: (-0.546499,0.709788,-0.444455) - *** FresnelRefraction *** -Track (trackID 769, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.867782,-0.251485,-0.428614) - Old Polarization: (-0.487295,-0.599771,-0.634679) - New Momentum Direction: (0.740727,-0.339976,-0.579431) - New Polarization: (0.659347,0.202558,0.724039) - *** FresnelRefraction *** -Track (trackID 768, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.595962,0.794772,-0.114748) - Old Polarization: (-0.786192,0.548396,-0.284893) - New Momentum Direction: (0.810291,0.564879,-0.156015) - New Polarization: (-0.583408,0.752413,-0.305793) - *** FresnelRefraction *** -Track (trackID 767, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58727,0.809388,0.00238946) - Old Polarization: (-0.798888,0.58012,-0.158866) - New Momentum Direction: (0.7906,0.612324,0.00321676) - New Polarization: (-0.604827,0.78172,-0.151981) - *** FresnelRefraction *** -Track (trackID 766, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.755597,0.311144,-0.576422) - Old Polarization: (-0.611774,0.0207042,-0.790762) - New Momentum Direction: (0.456692,0.422574,-0.782856) - New Polarization: (0.838353,-0.498855,0.219792) - *** FresnelRefraction *** -Track (trackID 765, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon absorbed! ** -Track (trackID 764, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.859845,-0.210356,-0.465206) - Old Polarization: (-0.497362,-0.550911,-0.67017) - New Momentum Direction: (0.721134,-0.285441,-0.63126) - New Polarization: (0.675786,0.0891576,0.731686) - *** FresnelRefraction *** -Track (trackID 763, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon absorbed! ** -Track (trackID 762, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.778184,0.215035,-0.590076) - Old Polarization: (-0.587108,-0.0845498,-0.805081) - New Momentum Direction: (0.52144,0.292159,-0.801712) - New Polarization: (0.803437,-0.484545,0.345985) - *** FresnelRefraction *** -Track (trackID 761, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.855845,-0.192605,-0.480033) -Old Polarization: (-0.502498,-0.529554,-0.683424) -New Polarization: (-0.650546,-0.417173,-0.634631) -Polarization Change: (-0.650546,-0.417173,-0.634631) -New Momentum Direction: (-0.711194,0.627794,0.316351) -Momentum Change: (-0.711194,0.627794,0.316351) - -** Photon absorbed! ** -Track (trackID 760, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.876959,-0.467048,-0.113175) - Old Polarization: (-0.479026,-0.830735,-0.283573) - New Momentum Direction: (0.757502,-0.634471,-0.153745) - New Polarization: (0.650833,0.75236,0.10184) - *** FresnelRefraction *** -Track (trackID 759, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - -** Photon absorbed! ** -Track (trackID 758, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.820679,-0.44421,0.359392) - Old Polarization: (-0.540175,-0.808204,0.234557) - New Momentum Direction: (0.632075,-0.60243,0.487401) - New Polarization: (0.735533,0.268473,-0.622024) - *** FresnelRefraction *** -Track (trackID 757, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.816082,0.0573199,-0.575087) - Old Polarization: (-0.544256,-0.258509,-0.798097) - New Momentum Direction: (0.625032,0.07742,-0.77675) - New Polarization: (0.738292,-0.381773,0.556034) - *** FresnelRefraction *** -Track (trackID 756, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.843217,-0.4804,0.241251) - Old Polarization: (-0.514881,-0.850741,0.105535) - New Momentum Direction: (0.685855,-0.650339,0.326593) - New Polarization: (0.698752,0.4631,-0.545237) - *** FresnelRefraction *** -Track (trackID 755, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.633514,0.202068,0.74688) - Old Polarization: (-0.745576,-0.0986056,0.659086) - New Momentum Direction: (0.859671,0.274203,0.43102) - New Polarization: (-0.444752,-0.0133506,0.895554) - *** FresnelRefraction *** -Track (trackID 754, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.553952,0.762361,0.33458) - Old Polarization: (-0.832417,0.514315,0.206304) - New Momentum Direction: (0.75249,0.476647,0.454495) - New Polarization: (-0.632229,0.716121,0.295733) - *** FresnelRefraction *** -Track (trackID 753, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.791436,0.165288,-0.58848) - Old Polarization: (-0.572056,-0.138913,-0.808366) - New Momentum Direction: (0.560874,0.223872,-0.797058) - New Polarization: (0.77955,-0.467003,0.417385) - *** FresnelRefraction *** -Track (trackID 752, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.875261,-0.297055,-0.381677) - Old Polarization: (-0.477747,-0.653955,-0.586602) - New Momentum Direction: (0.758518,-0.400239,-0.514256) - New Polarization: (0.644019,0.339991,0.685307) - *** FresnelRefraction *** -Track (trackID 751, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - -** Photon absorbed! ** -Track (trackID 750, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.879494,-0.453495,-0.144335) - Old Polarization: (-0.475178,-0.81997,-0.319147) - New Momentum Direction: (0.764403,-0.614373,-0.195538) - New Polarization: (0.643789,0.743788,0.179766) - *** FresnelRefraction *** -Track (trackID 749, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.711939,-0.117193,0.692394) - Old Polarization: (-0.659598,-0.449948,0.60206) - New Momentum Direction: (0.308611,-0.158738,0.937849) - New Polarization: (0.904795,-0.255178,-0.340925) - *** FresnelRefraction *** -Track (trackID 748, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.61522,0.287474,0.734073) - Old Polarization: (-0.765403,-0.00524232,0.64353) - New Momentum Direction: (0.835647,0.390472,0.386297) - New Polarization: (-0.458682,0.109186,0.881867) - *** FresnelRefraction *** -Track (trackID 747, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.653626,0.105203,0.74947) - Old Polarization: (-0.723294,-0.204636,0.659522) - New Momentum Direction: (0.888287,0.142972,0.43647) - New Polarization: (-0.416749,-0.14853,0.896805) - *** FresnelRefraction *** -Track (trackID 746, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.675511,0.606785,-0.418924) - Old Polarization: (-0.69986,0.348776,-0.623338) - New Momentum Direction: (-0.675511,0.606785,-0.418924) - New Polarization: (0.689369,0.318121,-0.650822) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.675511,0.606785,-0.418924) - Old Polarization: (0.689369,0.318121,-0.650822) - New Momentum Direction: (-0.675511,-0.606785,-0.418924) - New Polarization: (-0.689369,0.318121,0.650822) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.675511,-0.606785,-0.418924) - Old Polarization: (-0.689369,0.318121,0.650822) - New Momentum Direction: (-0.675511,-0.606785,0.418924) - New Polarization: (0.689369,-0.318121,0.650822) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.675511,-0.606785,0.418924) - Old Polarization: (0.689369,-0.318121,0.650822) - New Momentum Direction: (0.675511,-0.606785,0.418924) - New Polarization: (-0.676318,-0.283554,0.679847) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.675511,-0.606785,0.418924) - Old Polarization: (-0.676318,-0.283554,0.679847) - New Momentum Direction: (0.675511,0.606785,0.418924) - New Polarization: (0.676318,-0.283554,-0.679847) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.675511,0.606785,0.418924) - Old Polarization: (0.676318,-0.283554,-0.679847) - New Momentum Direction: (0.675511,0.606785,-0.418924) - New Polarization: (-0.676318,0.283554,-0.679847) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 745, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.564631,0.660605,0.494764) - Old Polarization: (-0.823628,0.41237,0.389342) - New Momentum Direction: (0.564631,-0.660605,0.494764) - New Polarization: (0.823628,0.41237,-0.389342) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.564631,-0.660605,0.494764) - Old Polarization: (0.823628,0.41237,-0.389342) - New Momentum Direction: (-0.564631,-0.660605,0.494764) - New Polarization: (0.823628,-0.41237,0.389342) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.564631,-0.660605,0.494764) - Old Polarization: (0.823628,-0.41237,0.389342) - New Momentum Direction: (-0.564631,-0.660605,-0.494764) - New Polarization: (-0.823628,0.41237,0.389342) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 744, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.727847,0.43434,-0.530648) - Old Polarization: (-0.642012,0.159702,-0.749878) - New Momentum Direction: (0.378556,0.586252,-0.716243) - New Polarization: (0.875878,-0.477064,0.0724463) - *** FresnelRefraction *** -Track (trackID 743, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - -** Photon absorbed! ** -Track (trackID 742, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.872291,-0.29672,-0.388672) - Old Polarization: (-0.482854,-0.648166,-0.58884) - New Momentum Direction: (0.749494,-0.401711,-0.5262) - New Polarization: (0.654071,0.326604,0.682292) - *** FresnelRefraction *** -Track (trackID 741, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - -** Photon absorbed! ** -Track (trackID 740, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56213,0.797819,0.217932) - Old Polarization: (-0.825009,0.559422,0.0800432) - New Momentum Direction: (0.760494,0.57855,0.294836) - New Polarization: (-0.633042,0.761674,0.138242) - *** FresnelRefraction *** -Track (trackID 739, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.858909,-0.182376,-0.478555) - Old Polarization: (-0.496685,-0.52439,-0.691606) - New Momentum Direction: (0.722397,-0.246245,-0.646147) - New Polarization: (0.671628,0.027579,0.740375) - *** FresnelRefraction *** -Track (trackID 738, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - -** Photon absorbed! ** -Track (trackID 737, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - -** Photon absorbed! ** -Track (trackID 736, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.816342,0.0385157,-0.576284) -Old Polarization: (-0.545235,-0.277775,-0.790924) -New Polarization: (-0.7678,0.320178,-0.554949) -Polarization Change: (-0.7678,0.320178,-0.554949) -New Momentum Direction: (0.0702027,-0.818916,-0.569603) -Momentum Change: (0.0702027,-0.818916,-0.569603) -Scattering Photon! -Old Momentum Direction: (0.0702027,-0.818916,-0.569603) -Old Polarization: (-0.7678,0.320178,-0.554949) -New Polarization: (-0.718898,0.586549,0.373023) -Polarization Change: (-0.718898,0.586549,0.373023) -New Momentum Direction: (-0.454703,0.00908376,-0.890597) -Momentum Change: (-0.454703,0.00908376,-0.890597) - Photon at Boundary! - Old Momentum Direction: (-0.454703,0.00908376,-0.890597) - Old Polarization: (-0.718898,0.586549,0.373023) - New Momentum Direction: (-0.617423,0.0123345,-0.786535) - New Polarization: (0.660208,0.55175,-0.509605) - *** FresnelRefraction *** -Track (trackID 735, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - -** Photon absorbed! ** -Track (trackID 734, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.555226,0.712247,0.429451) - Old Polarization: (-0.831365,0.460658,0.310847) - New Momentum Direction: (0.753558,0.304025,0.582855) - New Polarization: (-0.604956,0.667677,0.433862) - *** FresnelRefraction *** -Track (trackID 733, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.866024,-0.253336,-0.431072) - Old Polarization: (-0.49039,-0.598592,-0.633408) - New Momentum Direction: (0.734964,-0.343576,-0.584623) - New Polarization: (0.665682,0.201283,0.718576) - *** FresnelRefraction *** -Track (trackID 732, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.701534,0.518544,-0.488838) - Old Polarization: (-0.671041,0.249746,-0.698091) - New Momentum Direction: (0.26002,0.702614,-0.662362) - New Polarization: (0.921982,-0.384499,-0.0459271) - *** FresnelRefraction *** -Track (trackID 731, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857597,-0.185899,-0.479551) - Old Polarization: (-0.499118,-0.525845,-0.688744) - New Momentum Direction: (0.717607,-0.251727,-0.649364) - New Polarization: (0.676887,0.0326592,0.735362) - *** FresnelRefraction *** -Track (trackID 730, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.661941,0.096943,0.74326) - Old Polarization: (-0.715258,-0.214829,0.665023) - New Momentum Direction: (0.892789,0.130751,0.431083) - New Polarization: (-0.409767,-0.161818,0.897723) - *** FresnelRefraction *** -Track (trackID 729, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.835593,-0.0314311,-0.54845) - Old Polarization: (-0.521624,-0.358556,-0.774174) - New Momentum Direction: (0.673332,-0.0423015,-0.738129) - New Polarization: (0.704158,-0.267616,0.65768) - *** FresnelRefraction *** -Track (trackID 728, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - -** Photon absorbed! ** -Track (trackID 727, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.562455,0.812863,0.15132) - Old Polarization: (-0.822812,0.568286,0.00565425) - New Momentum Direction: (0.764667,0.610706,0.205723) - New Polarization: (-0.631191,0.774139,0.0480253) - *** FresnelRefraction *** -Track (trackID 726, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.822927,-0.45359,0.342121) - Old Polarization: (-0.538297,-0.815097,0.214133) - New Momentum Direction: (0.635271,-0.616571,0.46505) - New Polarization: (0.734553,0.296467,-0.610359) - *** FresnelRefraction *** -Track (trackID 725, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878196,-0.441946,-0.182908) - Old Polarization: (-0.478148,-0.801515,-0.359093) - New Momentum Direction: (0.759463,-0.601103,-0.248778) - New Polarization: (0.650351,0.710983,0.267482) - *** FresnelRefraction *** -Track (trackID 724, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671468,0.0267463,0.740551) - Old Polarization: (-0.70371,-0.290146,0.648543) - New Momentum Direction: (0.913243,0.0363769,0.405787) - New Polarization: (-0.383934,-0.256403,0.887047) - *** FresnelRefraction *** -Track (trackID 723, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.66086,0.0899468,0.7451) - Old Polarization: (-0.715993,-0.222055,0.66185) - New Momentum Direction: (0.89417,0.121701,0.430871) - New Polarization: (-0.408763,-0.170764,0.896523) - *** FresnelRefraction *** -Track (trackID 722, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.772364,-0.307635,0.555711) -Old Polarization: (-0.592574,-0.664012,0.456009) -New Polarization: (0.813532,0.550381,-0.187738) -Polarization Change: (0.813532,0.550381,-0.187738) -New Momentum Direction: (-0.463354,0.418437,-0.781162) -Momentum Change: (-0.463354,0.418437,-0.781162) - Photon at Boundary! - Old Momentum Direction: (-0.463354,0.418437,-0.781162) - Old Polarization: (0.813532,0.550381,-0.187738) - New Momentum Direction: (-0.625231,0.564622,-0.538783) - New Polarization: (0.762224,0.590061,-0.266164) - *** FresnelRefraction *** -Track (trackID 721, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.638698,0.703567,-0.31154) -Old Polarization: (-0.739673,0.449843,-0.500525) -New Polarization: (-0.0594227,-0.776889,0.626827) -Polarization Change: (-0.0594227,-0.776889,0.626827) -New Momentum Direction: (0.988909,0.0398117,0.14309) -Momentum Change: (0.988909,0.0398117,0.14309) - Photon at Boundary! - Old Momentum Direction: (0.988909,0.0398117,0.14309) - Old Polarization: (-0.0594227,-0.776889,0.626827) - New Momentum Direction: (0.979431,0.0540865,0.194396) - New Polarization: (0.0808283,-0.987898,-0.132378) - *** FresnelRefraction *** -Track (trackID 720, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon absorbed! ** -Track (trackID 719, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - -** Photon absorbed! ** -Track (trackID 718, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.877528,-0.383181,-0.2883) - Old Polarization: (-0.478525,-0.738578,-0.474886) - New Momentum Direction: (0.758543,-0.520702,-0.391768) - New Polarization: (0.650322,0.566952,0.505616) - *** FresnelRefraction *** -Track (trackID 717, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.556473,0.723885,0.407832) - Old Polarization: (-0.830733,0.475991,0.288643) - New Momentum Direction: (0.753831,0.355687,0.552473) - New Polarization: (-0.614731,0.678707,0.401823) - *** FresnelRefraction *** -Track (trackID 716, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.872286,-0.488948,-0.00685169) - Old Polarization: (-0.483023,-0.859364,-0.167877) - New Momentum Direction: (0.749229,-0.662246,-0.00928014) - New Polarization: (0.654577,0.742541,-0.141992) - *** FresnelRefraction *** -Track (trackID 715, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590382,0.805495,-0.0512508) - Old Polarization: (-0.793844,0.568025,-0.217163) - New Momentum Direction: (0.798652,0.597787,-0.0693306) - New Polarization: (-0.596487,0.771073,-0.222822) - *** FresnelRefraction *** -Track (trackID 714, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.563708,0.772062,0.293518) - Old Polarization: (-0.825435,0.539406,0.166428) - New Momentum Direction: (0.758412,0.518523,0.394899) - New Polarization: (-0.630551,0.737069,0.243177) - *** FresnelRefraction *** -Track (trackID 713, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.849062,-0.476134,0.228888) - Old Polarization: (-0.506192,-0.857225,0.0945197) - New Momentum Direction: (0.70407,-0.640019,0.30767) - New Polarization: (0.681915,0.488429,-0.544453) - *** FresnelRefraction *** -Track (trackID 712, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 711, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.659704,0.654406,-0.369518) - Old Polarization: (-0.717371,0.401802,-0.569151) - New Momentum Direction: (-0.659704,0.654406,-0.369518) - New Polarization: (-0.717371,-0.401802,0.569151) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.659704,0.654406,-0.369518) - Old Polarization: (-0.717371,-0.401802,0.569151) - New Momentum Direction: (-0.659704,-0.654406,-0.369518) - New Polarization: (0.717371,-0.401802,-0.569151) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.659704,-0.654406,-0.369518) - Old Polarization: (0.717371,-0.401802,-0.569151) - New Momentum Direction: (-0.659704,-0.654406,0.369518) - New Polarization: (-0.717371,0.401802,-0.569151) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.659704,-0.654406,0.369518) - Old Polarization: (-0.717371,0.401802,-0.569151) - New Momentum Direction: (0.659704,-0.654406,0.369518) - New Polarization: (-0.717371,-0.401802,0.569151) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.659704,-0.654406,0.369518) - Old Polarization: (-0.717371,-0.401802,0.569151) - New Momentum Direction: (0.659704,0.654406,0.369518) - New Polarization: (0.717371,-0.401802,-0.569151) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 710, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - -** Photon absorbed! ** -Track (trackID 709, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.874751,-0.48454,-0.00562717) - Old Polarization: (-0.478525,-0.861947,-0.167516) - New Momentum Direction: (0.757139,-0.65321,-0.007586) - New Polarization: (0.645436,0.749819,-0.145548) - *** FresnelRefraction *** -Track (trackID 708, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.749098,-0.246952,0.614708) - Old Polarization: (-0.618714,-0.592414,0.515983) - New Momentum Direction: (0.440661,-0.334636,0.832969) - New Polarization: (0.846257,-0.154672,-0.509829) - *** FresnelRefraction *** -Track (trackID 707, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.563882,0.783326,0.261607) - Old Polarization: (-0.824791,0.550233,0.130245) - New Momentum Direction: (0.759503,0.546805,0.352363) - New Polarization: (-0.631706,0.749258,0.198897) - *** FresnelRefraction *** -Track (trackID 706, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - -** Photon absorbed! ** -Track (trackID 705, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.876522,-0.355664,-0.324364) - Old Polarization: (-0.479065,-0.710298,-0.515727) - New Momentum Direction: (0.757212,-0.482607,-0.440136) - New Polarization: (0.650186,0.4926,0.578449) - *** FresnelRefraction *** -Track (trackID 704, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575778,0.815789,0.0544839) - Old Polarization: (-0.809707,0.578188,-0.100363) - New Momentum Direction: (0.779479,0.62207,0.0737595) - New Polarization: (-0.617006,0.78276,-0.0811867) - *** FresnelRefraction *** -Track (trackID 703, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.827173,-0.00178329,-0.561945) - Old Polarization: (-0.53217,-0.323691,-0.782317) - New Momentum Direction: (0.650405,-0.00241049,-0.759584) - New Polarization: (0.721913,-0.309062,0.61913) - *** FresnelRefraction *** -Track (trackID 702, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.816365,0.05514,-0.574898) - Old Polarization: (-0.543998,-0.260864,-0.797506) - New Momentum Direction: (0.625477,0.0744932,-0.776678) - New Polarization: (0.738104,-0.3792,0.558042) - *** FresnelRefraction *** -Track (trackID 701, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.760028,-0.271399,0.590508) - Old Polarization: (-0.606324,-0.623195,0.493963) - New Momentum Direction: (0.479738,-0.366413,0.797241) - New Polarization: (0.825364,-0.119836,-0.551738) - *** FresnelRefraction *** -Track (trackID 700, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55715,0.773814,0.301324) - Old Polarization: (-0.829961,0.530848,0.171361) - New Momentum Direction: (0.7548,0.513453,0.408219) - New Polarization: (-0.633599,0.731776,0.25111) - *** FresnelRefraction *** -Track (trackID 699, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.659955,0.648432,-0.379467) - Old Polarization: (-0.716685,0.391788,-0.576945) - New Momentum Direction: (-0.659955,0.648432,-0.379467) - New Polarization: (-0.716685,-0.391788,0.576945) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.659955,0.648432,-0.379467) - Old Polarization: (-0.716685,-0.391788,0.576945) - New Momentum Direction: (-0.659955,-0.648432,-0.379467) - New Polarization: (0.716685,-0.391788,-0.576945) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.659955,-0.648432,-0.379467) - Old Polarization: (0.716685,-0.391788,-0.576945) - New Momentum Direction: (-0.659955,-0.648432,0.379467) - New Polarization: (-0.716685,0.391788,-0.576945) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.659955,-0.648432,0.379467) -Old Polarization: (-0.716685,0.391788,-0.576945) -New Polarization: (0.469713,0.709875,-0.52483) -Polarization Change: (0.469713,0.709875,-0.52483) -New Momentum Direction: (-0.857403,0.225201,-0.462757) -Momentum Change: (-0.857403,0.225201,-0.462757) - Photon at Boundary! - Old Momentum Direction: (-0.857403,0.225201,-0.462757) - Old Polarization: (0.469713,0.709875,-0.52483) - New Momentum Direction: (-0.716254,0.305364,-0.627482) - New Polarization: (-0.639738,0.071878,0.765224) - *** FresnelRefraction *** -Track (trackID 698, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.809757,0.0741831,-0.582057) - Old Polarization: (-0.552238,-0.238906,-0.798722) - New Momentum Direction: (0.605284,0.100637,-0.789622) - New Polarization: (0.75278,-0.394824,0.526722) - *** FresnelRefraction *** -Track (trackID 697, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 253 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 66 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 320 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.293075,-0.280735,0.913945) - Old Polarization: (-0.779449,-0.48343,-0.39844) - New Momentum Direction: (-0.395235,-0.378594,0.836932) - New Polarization: (0.463814,0.704191,0.53758) - *** FresnelRefraction *** -Track (trackID 1314, parentID 1) is processed with stopping code 2 -### pop requested out of 319 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.551548,-0.688933,0.470282) - Old Polarization: (0.165821,-0.461982,-0.87125) - New Momentum Direction: (0.749474,-0.172944,0.639045) - New Polarization: (0.367688,-0.693975,-0.619035) - *** FresnelRefraction *** -Track (trackID 1313, parentID 1) is processed with stopping code 2 -### pop requested out of 318 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.37021,-0.270162,-0.888795) - Old Polarization: (0.880411,-0.203183,0.428478) - New Momentum Direction: (0.50031,-0.365103,-0.785105) - New Polarization: (-0.388465,0.715715,-0.580385) - *** FresnelRefraction *** -Track (trackID 1312, parentID 1) is processed with stopping code 2 -### pop requested out of 317 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.345675,0.938311,-0.00904524) - Old Polarization: (-0.215521,0.0887728,0.972456) - New Momentum Direction: (0.468648,0.8833,-0.012263) - New Polarization: (-0.203357,0.121382,0.971551) - *** FresnelRefraction *** -Track (trackID 1311, parentID 1) is processed with stopping code 2 -### pop requested out of 316 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.549508,0.272772,0.789707) - Old Polarization: (0.259786,0.842566,-0.471799) - New Momentum Direction: (0.746181,0.370399,0.55319) - New Polarization: (-0.664379,0.361124,0.654363) - *** FresnelRefraction *** -Track (trackID 1310, parentID 1) is processed with stopping code 2 -### pop requested out of 315 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.455919,0.872802,-0.174225) - Old Polarization: (0.888505,0.457759,-0.0318717) - New Momentum Direction: (-0.619263,0.748673,-0.236646) - New Polarization: (0.779042,0.623471,-0.0661589) - *** FresnelRefraction *** -Track (trackID 1309, parentID 1) is processed with stopping code 2 -### pop requested out of 314 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.661436,0.74814,-0.0528024) - Old Polarization: (0.715184,-0.650367,-0.255997) - New Momentum Direction: (0.897911,0.434301,-0.0716802) - New Polarization: (-0.440175,0.885478,-0.148911) - *** FresnelRefraction *** -Track (trackID 1308, parentID 1) is processed with stopping code 2 -### pop requested out of 313 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.932183,0.36089,-0.0281565) - Old Polarization: (0.36064,0.932605,0.0136828) - New Momentum Direction: (-0.871034,0.489735,-0.0382089) - New Polarization: (-0.489432,-0.858594,0.152554) - *** FresnelRefraction *** -Track (trackID 1307, parentID 1) is processed with stopping code 2 -### pop requested out of 312 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.752781,-0.401289,-0.521813) - Old Polarization: (-0.269142,0.911044,-0.312348) - New Momentum Direction: (-0.459633,-0.541401,-0.704005) - New Polarization: (-0.385237,0.835783,-0.391228) - *** FresnelRefraction *** -Track (trackID 1306, parentID 1) is processed with stopping code 2 -### pop requested out of 311 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671517,0.692335,-0.264079) - Old Polarization: (-0.475679,0.676034,0.562768) - New Momentum Direction: (0.671517,-0.692335,-0.264079) - New Polarization: (0.740973,0.629778,0.233107) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671517,-0.692335,-0.264079) - Old Polarization: (0.740973,0.629778,0.233107) - New Momentum Direction: (-0.671517,-0.692335,-0.264079) - New Polarization: (0.740973,-0.629778,-0.233107) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1305, parentID 1) is processed with stopping code 2 -### pop requested out of 310 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.153957,-0.316806,0.935912) - Old Polarization: (-0.83577,-0.547006,-0.0476777) - New Momentum Direction: (0.20752,-0.427024,0.880106) - New Polarization: (-0.943529,-0.324883,0.0648418) - *** FresnelRefraction *** -Track (trackID 1304, parentID 1) is processed with stopping code 2 -### pop requested out of 309 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.342816,-0.65561,0.672795) -Old Polarization: (0.473147,-0.498215,-0.726577) -New Polarization: (-0.164192,-0.0798019,0.983195) -Polarization Change: (-0.164192,-0.0798019,0.983195) -New Momentum Direction: (0.53068,-0.84734,0.0198474) -Momentum Change: (0.53068,-0.84734,0.0198474) - Photon at Boundary! - Old Momentum Direction: (0.53068,-0.84734,0.0198474) - Old Polarization: (-0.164192,-0.0798019,0.983195) - New Momentum Direction: (0.721188,-0.692214,0.0269723) - New Polarization: (-0.144031,-0.111748,0.983243) - *** FresnelRefraction *** -Track (trackID 1303, parentID 1) is processed with stopping code 2 -### pop requested out of 308 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.842898,0.362978,0.397202) - Old Polarization: (-0.506634,0.784021,0.358655) - New Momentum Direction: (0.683947,0.492134,0.538535) - New Polarization: (0.689293,-0.194161,-0.69798) - *** FresnelRefraction *** -Track (trackID 1302, parentID 1) is processed with stopping code 2 -### pop requested out of 307 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.517947,0.344123,0.783141) - Old Polarization: (0.847693,0.0837702,0.523831) - New Momentum Direction: (-0.699449,0.464712,0.542967) - New Polarization: (0.673588,0.174747,0.718152) - *** FresnelRefraction *** -Track (trackID 1301, parentID 1) is processed with stopping code 2 -### pop requested out of 306 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1300, parentID 1) is processed with stopping code 2 -### pop requested out of 305 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1299, parentID 1) is processed with stopping code 2 -### pop requested out of 304 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.893556,-0.28348,-0.348133) - Old Polarization: (-0.448702,0.589754,0.671458) - New Momentum Direction: (-0.795416,-0.382686,-0.469963) - New Polarization: (-0.605739,0.527387,0.595772) - *** FresnelRefraction *** -Track (trackID 1298, parentID 1) is processed with stopping code 2 -### pop requested out of 303 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.239741,0.720493,0.650703) - Old Polarization: (0.967885,-0.229605,-0.102371) - New Momentum Direction: (0.325903,0.333674,0.884561) - New Polarization: (0.831343,0.344378,-0.436202) - *** FresnelRefraction *** -Track (trackID 1297, parentID 1) is processed with stopping code 2 -### pop requested out of 302 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.483051,0.723236,-0.49355) - Old Polarization: (-0.744452,-0.0425105,0.666321) - New Momentum Direction: (-0.650326,0.368195,-0.664461) - New Polarization: (-0.695581,0.0629787,0.715682) - *** FresnelRefraction *** -Track (trackID 1296, parentID 1) is processed with stopping code 2 -### pop requested out of 301 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.200525,-0.972736,-0.116513) - Old Polarization: (0.0499249,0.128921,-0.990397) - New Momentum Direction: (0.27232,-0.949108,-0.158229) - New Polarization: (-0.874495,-0.17553,-0.452159) - *** FresnelRefraction *** -Track (trackID 1295, parentID 1) is processed with stopping code 2 -### pop requested out of 300 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.878079,0.258695,0.402561) - Old Polarization: (-0.452491,-0.175223,-0.874385) - New Momentum Direction: (-0.761307,0.350532,0.545471) - New Polarization: (-0.614495,-0.121613,-0.779491) - *** FresnelRefraction *** -Track (trackID 1294, parentID 1) is processed with stopping code 2 -### pop requested out of 299 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.780831,0.126765,-0.611746) - Old Polarization: (-0.623121,-0.0875226,0.777213) - New Momentum Direction: (-0.532701,0.171722,-0.828699) - New Polarization: (-0.844343,-0.0412179,0.534216) - *** FresnelRefraction *** -Track (trackID 1293, parentID 1) is processed with stopping code 2 -### pop requested out of 298 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.764243,-0.50247,0.404298) - Old Polarization: (0.00189747,0.628637,0.777696) - New Momentum Direction: (0.487495,-0.680261,0.547352) - New Polarization: (0.00274548,0.628079,0.778145) - *** FresnelRefraction *** -Track (trackID 1292, parentID 1) is processed with stopping code 2 -### pop requested out of 297 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0978593,0.874163,-0.47567) - Old Polarization: (0.212724,-0.485291,-0.848081) - New Momentum Direction: (0.133154,0.750577,-0.647228) - New Polarization: (-0.115293,0.66034,0.742064) - *** FresnelRefraction *** -Track (trackID 1291, parentID 1) is processed with stopping code 2 -### pop requested out of 296 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.686484,-0.726973,0.0158027) - Old Polarization: (0.658576,0.630816,0.410303) - New Momentum Direction: (0.686484,0.726973,0.0158027) - New Polarization: (0.475738,-0.465466,0.746334) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.686484,0.726973,0.0158027) - Old Polarization: (0.475738,-0.465466,0.746334) - New Momentum Direction: (0.196966,0.980179,0.0213069) - New Polarization: (0.700095,-0.155831,0.696838) - *** FresnelRefraction *** -Track (trackID 1290, parentID 1) is processed with stopping code 2 -### pop requested out of 295 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0858112,-0.969422,-0.229908) - Old Polarization: (0.331518,-0.245393,0.910977) - New Momentum Direction: (-0.11595,-0.943424,-0.310657) - New Polarization: (0.322458,-0.331579,0.886609) - *** FresnelRefraction *** -Track (trackID 1289, parentID 1) is processed with stopping code 2 -### pop requested out of 294 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.813533,0.155606,-0.560312) - Old Polarization: (-0.386031,0.865119,-0.320234) - New Momentum Direction: (0.615034,0.210992,-0.759747) - New Polarization: (0.535638,0.595291,0.598933) - *** FresnelRefraction *** -Track (trackID 1288, parentID 1) is processed with stopping code 2 -### pop requested out of 293 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0716652,0.996713,-0.0377688) - Old Polarization: (0.70371,0.0773605,0.706263) - New Momentum Direction: (-0.0967437,0.994003,-0.0509856) - New Polarization: (0.701501,0.104436,0.704975) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.0967437,0.994003,-0.0509856) - Old Polarization: (0.701501,0.104436,0.704975) - New Momentum Direction: (-0.0716652,0.996713,-0.0377688) - New Polarization: (0.703872,0.077366,0.706101) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.0716652,0.996713,-0.0377688) - Old Polarization: (0.703872,0.077366,0.706101) - New Momentum Direction: (-0.0967437,0.994003,-0.0509856) - New Polarization: (0.701663,0.104443,0.704813) - *** FresnelRefraction *** -Track (trackID 1287, parentID 1) is processed with stopping code 2 -### pop requested out of 292 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.70604,-0.43539,-0.558518) - Old Polarization: (0.0602415,0.822743,-0.565212) - New Momentum Direction: (-0.70604,-0.43539,-0.558518) - New Polarization: (0.0319786,0.76827,-0.639326) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 1286, parentID 1) is processed with stopping code 2 -### pop requested out of 291 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.414157,0.640828,0.646385) - Old Polarization: (-0.887839,0.440883,0.131771) - New Momentum Direction: (0.414157,0.640828,-0.646385) - New Polarization: (0.887839,-0.440883,0.131771) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.414157,0.640828,-0.646385) - Old Polarization: (0.887839,-0.440883,0.131771) - New Momentum Direction: (0.414157,-0.640828,-0.646385) - New Polarization: (-0.887839,-0.440883,-0.131771) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.414157,-0.640828,-0.646385) - Old Polarization: (-0.887839,-0.440883,-0.131771) - New Momentum Direction: (-0.414157,-0.640828,-0.646385) - New Polarization: (-0.887839,0.440883,0.131771) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1285, parentID 1) is processed with stopping code 2 -### pop requested out of 290 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.972883,-0.107011,-0.205056) - Old Polarization: (0.222374,-0.188839,-0.956499) - New Momentum Direction: (-0.949952,-0.14453,-0.27695) - New Polarization: (-0.30042,0.665749,0.683027) - *** FresnelRefraction *** -Track (trackID 1284, parentID 1) is processed with stopping code 2 -### pop requested out of 289 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1283, parentID 1) is processed with stopping code 2 -### pop requested out of 288 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.226558,-0.9286,0.293895) - Old Polarization: (0.46201,0.368092,0.80688) - New Momentum Direction: (0.305613,-0.865697,0.396447) - New Polarization: (-0.623696,-0.496616,-0.603636) - *** FresnelRefraction *** -Track (trackID 1282, parentID 1) is processed with stopping code 2 -### pop requested out of 287 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.69242,-0.637242,-0.338344) -Old Polarization: (0.0856246,-0.538213,0.838448) -New Polarization: (-0.0219705,0.933514,-0.357866) -Polarization Change: (-0.0219705,0.933514,-0.357866) -New Momentum Direction: (0.114371,0.357949,0.92671) -Momentum Change: (0.114371,0.357949,0.92671) - Photon at Boundary! - Old Momentum Direction: (0.114371,0.357949,0.92671) - Old Polarization: (-0.0219705,0.933514,-0.357866) - New Momentum Direction: (0.155557,0.48685,0.859523) - New Polarization: (-0.536965,-0.688662,0.487251) - *** FresnelRefraction *** -Track (trackID 1281, parentID 1) is processed with stopping code 2 -### pop requested out of 286 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.974929,-0.22227,-0.0104185) - Old Polarization: (-0.217227,0.940571,0.261032) - New Momentum Direction: (-0.954024,-0.299402,-0.0140339) - New Polarization: (-0.292652,0.920356,0.259423) - *** FresnelRefraction *** -Track (trackID 1280, parentID 1) is processed with stopping code 2 -### pop requested out of 285 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.502343,0.309241,0.807479) - Old Polarization: (0.566134,0.588232,-0.577474) - New Momentum Direction: (0.680466,0.418893,0.601245) - New Polarization: (-0.604689,-0.142461,0.783618) - *** FresnelRefraction *** -Track (trackID 1279, parentID 1) is processed with stopping code 2 -### pop requested out of 284 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.986872,-0.150489,0.0586199) - Old Polarization: (-0.142786,-0.982606,-0.118731) - New Momentum Direction: (0.975718,-0.204093,0.0795005) - New Polarization: (0.193719,0.634729,-0.748059) - *** FresnelRefraction *** -Track (trackID 1278, parentID 1) is processed with stopping code 2 -### pop requested out of 283 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.805458,0.440575,-0.396399) - Old Polarization: (-0.100405,-0.760627,-0.641378) - New Momentum Direction: (-0.60139,0.593939,-0.534385) - New Polarization: (-0.141123,-0.737305,-0.660655) - *** FresnelRefraction *** -Track (trackID 1277, parentID 1) is processed with stopping code 2 -### pop requested out of 282 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0245533,-0.984855,0.171633) - Old Polarization: (0.614322,-0.12058,-0.779788) - New Momentum Direction: (0.0333474,-0.971879,0.233106) - New Polarization: (0.614807,-0.163938,-0.771451) - *** FresnelRefraction *** -Track (trackID 1276, parentID 1) is processed with stopping code 2 -### pop requested out of 281 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.991019,0.110108,0.0758845) - Old Polarization: (0.00822791,-0.616601,0.787233) - New Momentum Direction: (0.983606,0.148484,0.102333) - New Polarization: (0.0111079,-0.616278,0.78745) - *** FresnelRefraction *** -Track (trackID 1275, parentID 1) is processed with stopping code 2 -### pop requested out of 280 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.377168,0.0175998,0.925978) - Old Polarization: (0.735506,0.613293,0.287929) - New Momentum Direction: (-0.51227,0.023904,0.858492) - New Polarization: (0.687028,0.611223,0.392937) - *** FresnelRefraction *** -Track (trackID 1274, parentID 1) is processed with stopping code 2 -### pop requested out of 279 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0835913,0.0158381,0.996374) - Old Polarization: (-0.775839,-0.626451,0.0750473) - New Momentum Direction: (0.113618,0.0215273,0.993291) - New Polarization: (-0.77329,-0.625792,0.102016) - *** FresnelRefraction *** -Track (trackID 1273, parentID 1) is processed with stopping code 2 -### pop requested out of 278 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0735258,0.935632,0.345235) - Old Polarization: (0.821734,0.252992,-0.510635) - New Momentum Direction: (-0.0992607,0.879161,0.466071) - New Polarization: (0.810638,0.343079,-0.474513) - *** FresnelRefraction *** -Track (trackID 1272, parentID 1) is processed with stopping code 2 -### pop requested out of 277 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1271, parentID 1) is processed with stopping code 2 -### pop requested out of 276 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.78193,-0.622985,-0.0218072) - Old Polarization: (0.539444,-0.658716,-0.524493) - New Momentum Direction: (-0.540545,-0.8408,-0.0294317) - New Polarization: (-0.737651,0.490474,-0.464011) - *** FresnelRefraction *** -Track (trackID 1270, parentID 1) is processed with stopping code 2 -### pop requested out of 275 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1269, parentID 1) is processed with stopping code 2 -### pop requested out of 274 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.976577,-0.113543,0.182769) - Old Polarization: (0.214626,-0.574198,0.790084) - New Momentum Direction: (0.976577,-0.113543,0.182769) - New Polarization: (0.214461,0.444928,-0.869509) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.976577,-0.113543,0.182769) - Old Polarization: (0.214461,0.444928,-0.869509) - New Momentum Direction: (0.956912,-0.153231,0.246655) - New Polarization: (0.28943,0.434801,-0.852747) - *** FresnelRefraction *** -Track (trackID 1268, parentID 1) is processed with stopping code 2 -### pop requested out of 273 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.411511,0.50933,-0.755805) - Old Polarization: (0.79462,0.606638,-0.0238366) - New Momentum Direction: (-0.411511,0.50933,0.755805) - New Polarization: (0.773625,0.633618,-0.00577621) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.411511,0.50933,0.755805) - Old Polarization: (0.773625,0.633618,-0.00577621) - New Momentum Direction: (-0.411511,-0.50933,0.755805) - New Polarization: (-0.773625,0.633618,0.00577621) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.411511,-0.50933,0.755805) - Old Polarization: (-0.773625,0.633618,0.00577621) - New Momentum Direction: (0.411511,-0.50933,0.755805) - New Polarization: (-0.773625,-0.633618,-0.00577621) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.411511,-0.50933,0.755805) - Old Polarization: (-0.773625,-0.633618,-0.00577621) - New Momentum Direction: (0.555621,-0.687696,0.46729) - New Polarization: (-0.780589,-0.624988,0.00836721) - *** FresnelRefraction *** -Track (trackID 1267, parentID 1) is processed with stopping code 2 -### pop requested out of 272 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.913269,0.38153,-0.142736) - Old Polarization: (-0.405843,0.882367,-0.238159) - New Momentum Direction: (0.832671,0.51866,-0.194038) - New Polarization: (0.551768,-0.747306,0.370251) - *** FresnelRefraction *** -Track (trackID 1266, parentID 1) is processed with stopping code 2 -### pop requested out of 271 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1265, parentID 1) is processed with stopping code 2 -### pop requested out of 270 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.605253,-0.782866,0.144188) - Old Polarization: (-0.0903251,-0.247504,-0.964667) - New Momentum Direction: (0.82212,-0.534566,0.195851) - New Polarization: (-0.00637675,-0.352638,-0.935738) - *** FresnelRefraction *** -Track (trackID 1264, parentID 1) is processed with stopping code 2 -### pop requested out of 269 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.956987,0.215647,0.194092) - Old Polarization: (-0.145382,0.222503,-0.964031) - New Momentum Direction: (-0.919353,0.292431,0.263202) - New Polarization: (-0.198043,0.23408,-0.951833) - *** FresnelRefraction *** -Track (trackID 1263, parentID 1) is processed with stopping code 2 -### pop requested out of 268 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.657854,0.18688,-0.729592) - Old Polarization: (0.552086,-0.778572,0.298375) - New Momentum Direction: (0.894298,0.254049,-0.368362) - New Polarization: (0.0734354,-0.89537,-0.439226) - *** FresnelRefraction *** -Track (trackID 1262, parentID 1) is processed with stopping code 2 -### pop requested out of 267 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.976032,-0.202766,0.0790344) - Old Polarization: (0.109328,-0.770864,-0.627547) - New Momentum Direction: (-0.955249,-0.275605,0.107426) - New Polarization: (-0.148965,0.134462,-0.979658) - *** FresnelRefraction *** -Track (trackID 1261, parentID 1) is processed with stopping code 2 -### pop requested out of 266 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.371824,-0.303852,-0.877166) - Old Polarization: (-0.752511,-0.65196,-0.0931442) - New Momentum Direction: (0.50331,-0.411301,-0.759941) - New Polarization: (-0.736777,-0.66377,-0.128718) - *** FresnelRefraction *** -Track (trackID 1260, parentID 1) is processed with stopping code 2 -### pop requested out of 265 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1259, parentID 1) is processed with stopping code 2 -### pop requested out of 264 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.940533,0.284497,-0.185634) - Old Polarization: (-0.330309,0.638273,-0.695344) - New Momentum Direction: (0.887427,0.386038,-0.251888) - New Polarization: (0.448413,-0.849567,0.277779) - *** FresnelRefraction *** -Track (trackID 1258, parentID 1) is processed with stopping code 2 -### pop requested out of 263 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.215287,-0.120229,0.969121) - Old Polarization: (0.685838,-0.687844,-0.23769) - New Momentum Direction: (0.291068,-0.162549,0.942792) - New Polarization: (-0.922945,0.211758,0.32145) - *** FresnelRefraction *** -Track (trackID 1257, parentID 1) is processed with stopping code 2 -### pop requested out of 262 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.700994,-0.259814,-0.664157) - Old Polarization: (0.605693,0.708524,0.362118) - New Momentum Direction: (-0.700994,-0.259814,-0.664157) - New Polarization: (0.496117,0.491354,-0.715849) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.700994,-0.259814,-0.664157) - Old Polarization: (0.496117,0.491354,-0.715849) - New Momentum Direction: (-0.700994,-0.259814,0.664157) - New Polarization: (-0.496117,-0.491354,-0.715849) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1256, parentID 1) is processed with stopping code 2 -### pop requested out of 261 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0696201,0.746877,-0.661307) - Old Polarization: (0.973502,-0.195616,-0.118441) - New Momentum Direction: (0.0943026,0.434417,-0.895762) - New Polarization: (0.929088,0.284828,0.235944) - *** FresnelRefraction *** -Track (trackID 1255, parentID 1) is processed with stopping code 2 -### pop requested out of 260 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1254, parentID 1) is processed with stopping code 2 -### pop requested out of 259 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1253, parentID 1) is processed with stopping code 2 -### pop requested out of 258 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.159404,-0.585188,-0.795076) - Old Polarization: (0.170129,0.809608,-0.561775) - New Momentum Direction: (0.214624,-0.787907,-0.577182) - New Polarization: (0.207838,0.614262,-0.761239) - *** FresnelRefraction *** -Track (trackID 1252, parentID 1) is processed with stopping code 2 -### pop requested out of 257 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.497528,0.846936,-0.187525) - Old Polarization: (-0.863283,0.504589,-0.0114826) - New Momentum Direction: (0.674407,0.693226,-0.254192) - New Polarization: (-0.725595,0.685974,-0.0543351) - *** FresnelRefraction *** -Track (trackID 1251, parentID 1) is processed with stopping code 2 -### pop requested out of 256 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.468877,0.768414,0.43554) - Old Polarization: (-0.512092,0.165276,-0.84288) - New Momentum Direction: (-0.632809,0.504007,0.587817) - New Polarization: (-0.553611,0.23626,-0.798559) - *** FresnelRefraction *** -Track (trackID 1250, parentID 1) is processed with stopping code 2 -### pop requested out of 255 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1249, parentID 1) is processed with stopping code 2 -### pop requested out of 254 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1248, parentID 1) is processed with stopping code 2 -### pop requested out of 253 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1247, parentID 1) is processed with stopping code 2 -### pop requested out of 252 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.502351,0.843504,-0.190116) - Old Polarization: (-0.851504,0.520814,0.0607741) - New Momentum Direction: (0.678985,0.687713,-0.256963) - New Polarization: (-0.708882,0.705185,0.0141857) - *** FresnelRefraction *** -Track (trackID 1246, parentID 1) is processed with stopping code 2 -### pop requested out of 251 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.494991,0.846147,-0.197533) - Old Polarization: (-0.856418,0.513499,0.0535414) - New Momentum Direction: (0.673437,0.688664,-0.268745) - New Polarization: (-0.713985,0.700143,0.00498513) - *** FresnelRefraction *** -Track (trackID 1245, parentID 1) is processed with stopping code 2 -### pop requested out of 250 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.814133,0.247908,0.525099) - Old Polarization: (-0.505956,-0.140902,0.850973) - New Momentum Direction: (0.617162,0.335923,0.711524) - New Polarization: (0.692254,-0.661667,-0.288064) - *** FresnelRefraction *** -Track (trackID 1244, parentID 1) is processed with stopping code 2 -### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.637927,0.0119461,-0.770005) - Old Polarization: (-0.701346,-0.403952,-0.587312) - New Momentum Direction: (0.637927,0.0119461,0.770005) - New Polarization: (0.297531,-0.926063,-0.232128) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.637927,0.0119461,0.770005) - Old Polarization: (0.297531,-0.926063,-0.232128) - New Momentum Direction: (-0.637927,0.0119461,0.770005) - New Polarization: (0.297531,0.926063,0.232128) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.637927,0.0119461,0.770005) - Old Polarization: (0.297531,0.926063,0.232128) - New Momentum Direction: (-0.860016,0.0161051,0.510013) - New Polarization: (0.212684,0.919855,0.329594) - *** FresnelRefraction *** -Track (trackID 1243, parentID 1) is processed with stopping code 2 -### pop requested out of 248 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1242, parentID 1) is processed with stopping code 2 -### pop requested out of 247 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.483282,0.645665,-0.591232) - Old Polarization: (-0.872633,0.300996,-0.384595) - New Momentum Direction: (0.483282,-0.645665,-0.591232) - New Polarization: (0.872633,0.300996,0.384595) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.483282,-0.645665,-0.591232) - Old Polarization: (0.872633,0.300996,0.384595) - New Momentum Direction: (0.483282,-0.645665,0.591232) - New Polarization: (-0.872633,-0.300996,0.384595) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.483282,-0.645665,0.591232) - Old Polarization: (-0.872633,-0.300996,0.384595) - New Momentum Direction: (-0.483282,-0.645665,0.591232) - New Polarization: (-0.872633,0.300996,-0.384595) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1241, parentID 1) is processed with stopping code 2 -### pop requested out of 246 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.582562,0.797805,0.155333) - Old Polarization: (-0.762452,0.470204,0.444494) - New Momentum Direction: (0.787322,0.579701,0.20993) - New Polarization: (-0.60138,0.647025,0.468721) - *** FresnelRefraction *** -Track (trackID 1240, parentID 1) is processed with stopping code 2 -### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.918769,-0.369237,0.139739) - Old Polarization: (-0.392561,-0.816829,0.422713) - New Momentum Direction: (0.843509,-0.502344,0.190114) - New Polarization: (0.534154,0.82167,-0.198839) - *** FresnelRefraction *** -Track (trackID 1239, parentID 1) is processed with stopping code 2 -### pop requested out of 244 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671812,-0.103685,-0.733429) - Old Polarization: (-0.662867,-0.526041,-0.532812) - New Momentum Direction: (0.914143,-0.141085,-0.380049) - New Polarization: (-0.394002,-0.529864,-0.751004) - *** FresnelRefraction *** -Track (trackID 1238, parentID 1) is processed with stopping code 2 -### pop requested out of 243 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.850336,0.116302,0.513228) - Old Polarization: (-0.466139,-0.286145,0.837159) - New Momentum Direction: (0.700771,0.157662,0.695746) - New Polarization: (0.635796,-0.580354,-0.508874) - *** FresnelRefraction *** -Track (trackID 1237, parentID 1) is processed with stopping code 2 -### pop requested out of 242 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.802723,0.288067,0.522161) - Old Polarization: (-0.51823,-0.0962942,0.849803) - New Momentum Direction: (0.590503,0.389838,0.706635) - New Polarization: (0.708943,-0.668955,-0.223381) - *** FresnelRefraction *** -Track (trackID 1236, parentID 1) is processed with stopping code 2 -### pop requested out of 241 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54706,0.836869,0.0193779) - Old Polarization: (-0.802995,0.518095,0.294577) - New Momentum Direction: (0.73723,0.675137,0.0261142) - New Polarization: (-0.65175,0.700442,0.290867) - *** FresnelRefraction *** -Track (trackID 1235, parentID 1) is processed with stopping code 2 -### pop requested out of 240 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1234, parentID 1) is processed with stopping code 2 -### pop requested out of 239 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.681194,0.615813,0.395915) - Old Polarization: (-0.6528,0.266123,0.709246) - New Momentum Direction: (0.13158,0.833843,0.53609) - New Polarization: (0.915938,-0.309096,0.255962) - *** FresnelRefraction *** -Track (trackID 1233, parentID 1) is processed with stopping code 2 -### pop requested out of 238 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.906013,-0.421623,-0.0370763) - Old Polarization: (-0.40272,-0.885703,0.230969) - New Momentum Direction: (0.820584,-0.569329,-0.0500651) - New Polarization: (0.544553,0.752258,0.370904) - *** FresnelRefraction *** -Track (trackID 1232, parentID 1) is processed with stopping code 2 -### pop requested out of 237 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.626627,0.723129,0.290556) - Old Polarization: (-0.712585,0.380703,0.589311) - New Momentum Direction: (0.851264,0.345759,0.394716) - New Polarization: (-0.524727,0.555949,0.644657) - *** FresnelRefraction *** -Track (trackID 1231, parentID 1) is processed with stopping code 2 -### pop requested out of 236 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.894856,-0.437092,-0.0904567) - Old Polarization: (-0.418448,-0.892035,0.170808) - New Momentum Direction: (0.794781,-0.594304,-0.122992) - New Polarization: (0.570179,0.661782,0.486765) - *** FresnelRefraction *** -Track (trackID 1230, parentID 1) is processed with stopping code 2 -### pop requested out of 235 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.504536,0.491612,-0.709761) - Old Polarization: (-0.848208,0.128741,-0.513779) - New Momentum Direction: (0.683167,0.665667,-0.300284) - New Polarization: (-0.611255,0.296264,-0.73389) - *** FresnelRefraction *** -Track (trackID 1229, parentID 1) is processed with stopping code 2 -### pop requested out of 234 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.917479,-0.250696,0.308842) - Old Polarization: (-0.393245,-0.688582,0.609273) - New Momentum Direction: (0.84138,-0.340605,0.419604) - New Polarization: (0.534434,0.408908,-0.739712) - *** FresnelRefraction *** -Track (trackID 1228, parentID 1) is processed with stopping code 2 -### pop requested out of 233 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479389,0.727911,-0.490237) - Old Polarization: (-0.877582,0.39379,-0.273458) - New Momentum Direction: (0.647272,0.378023,-0.66192) - New Polarization: (-0.727601,0.565267,-0.388676) - *** FresnelRefraction *** -Track (trackID 1227, parentID 1) is processed with stopping code 2 -### pop requested out of 232 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.478636,0.776051,-0.410673) - Old Polarization: (-0.877096,0.443986,-0.183246) - New Momentum Direction: (0.647812,0.520957,-0.555826) - New Polarization: (-0.735235,0.618556,-0.277161) - *** FresnelRefraction *** -Track (trackID 1226, parentID 1) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.904154,-0.111482,0.412405) - Old Polarization: (-0.402895,-0.543532,0.736375) - New Momentum Direction: (0.818354,-0.149975,0.554801) - New Polarization: (0.542876,-0.115125,-0.831885) - *** FresnelRefraction *** -Track (trackID 1225, parentID 1) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.917025,-0.391205,0.0776174) - Old Polarization: (-0.391919,-0.84783,0.357188) - New Momentum Direction: (0.841655,-0.529691,0.105094) - New Polarization: (0.53089,0.847238,0.0185373) - *** FresnelRefraction *** -Track (trackID 1224, parentID 1) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.478053,0.780891,-0.402089) - Old Polarization: (-0.87718,0.447888,-0.173064) - New Momentum Direction: (0.64769,0.532657,-0.54477) - New Polarization: (-0.735628,0.623349,-0.265117) - *** FresnelRefraction *** -Track (trackID 1223, parentID 1) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90565,-0.423643,-0.0180376) - Old Polarization: (-0.406109,-0.87883,0.250466) - New Momentum Direction: (0.81748,-0.575436,-0.0245005) - New Polarization: (0.552319,0.771158,0.316636) - *** FresnelRefraction *** -Track (trackID 1222, parentID 1) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.473956,0.773864,-0.420118) - Old Polarization: (-0.879836,0.435386,-0.190598) - New Momentum Direction: (0.644346,0.508529,-0.571154) - New Polarization: (-0.73731,0.611324,-0.287501) - *** FresnelRefraction *** -Track (trackID 1221, parentID 1) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1220, parentID 1) is processed with stopping code 2 -### pop requested out of 225 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.592526,0.784076,0.184761) - Old Polarization: (-0.751464,0.455381,0.47742) - New Momentum Direction: (0.80055,0.544799,0.249627) - New Polarization: (-0.587267,0.630274,0.507811) - *** FresnelRefraction *** -Track (trackID 1219, parentID 1) is processed with stopping code 2 -### pop requested out of 224 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.592991,0.785212,0.178339) -Old Polarization: (-0.751652,0.460375,0.472307) -New Polarization: (-0.622897,0.687886,0.372576) -Polarization Change: (-0.622897,0.687886,0.372576) -New Momentum Direction: (0.552755,0.72402,-0.412623) -Momentum Change: (0.552755,0.72402,-0.412623) - Photon at Boundary! - Old Momentum Direction: (0.552755,0.72402,-0.412623) - Old Polarization: (-0.622897,0.687886,0.372576) - New Momentum Direction: (0.744889,0.368715,-0.556048) - New Polarization: (-0.335047,0.927436,0.166149) - *** FresnelRefraction *** -Track (trackID 1218, parentID 1) is processed with stopping code 2 -### pop requested out of 223 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1217, parentID 1) is processed with stopping code 2 -### pop requested out of 222 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.540605,0.841209,0.0106613) - Old Polarization: (-0.80844,0.515956,0.283223) - New Momentum Direction: (0.731765,0.681404,0.0144312) - New Polarization: (-0.657598,0.700318,0.277705) - *** FresnelRefraction *** -Track (trackID 1216, parentID 1) is processed with stopping code 2 -### pop requested out of 221 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.902395,-0.428739,-0.0432071) - Old Polarization: (-0.409623,-0.884618,0.222845) - New Momentum Direction: (0.810864,-0.582286,-0.0586811) - New Polarization: (0.557182,0.737432,0.381762) - *** FresnelRefraction *** -Track (trackID 1215, parentID 1) is processed with stopping code 2 -### pop requested out of 220 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.55292,0.830482,0.0676701) - Old Polarization: (-0.793965,0.500483,0.345161) - New Momentum Direction: (0.750199,0.654807,0.0918143) - New Polarization: (-0.639697,0.683623,0.351352) - *** FresnelRefraction *** -Track (trackID 1214, parentID 1) is processed with stopping code 2 -### pop requested out of 219 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.472884,0.72782,-0.496647) - Old Polarization: (-0.881083,0.385072,-0.274614) - New Momentum Direction: (0.642804,0.361987,-0.675106) - New Polarization: (-0.728885,0.560134,-0.39367) - *** FresnelRefraction *** -Track (trackID 1213, parentID 1) is processed with stopping code 2 -### pop requested out of 218 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.610135,0.753078,0.246189) - Old Polarization: (-0.730942,0.415127,0.541658) - New Momentum Direction: (0.827902,0.450537,0.334058) - New Polarization: (-0.556833,0.58889,0.585786) - *** FresnelRefraction *** -Track (trackID 1212, parentID 1) is processed with stopping code 2 -### pop requested out of 217 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.887141,-0.437072,-0.148153) - Old Polarization: (-0.424897,-0.898844,0.107428) - New Momentum Direction: (0.780817,-0.591692,-0.200564) - New Polarization: (0.576865,0.559528,0.59511) - *** FresnelRefraction *** -Track (trackID 1211, parentID 1) is processed with stopping code 2 -### pop requested out of 216 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575873,0.807772,0.125996) - Old Polarization: (-0.770644,0.484909,0.413486) - New Momentum Direction: (0.776398,0.606919,0.169869) - New Polarization: (-0.612281,0.662468,0.431565) - *** FresnelRefraction *** -Track (trackID 1210, parentID 1) is processed with stopping code 2 -### pop requested out of 215 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.509183,0.849324,-0.139219) - Old Polarization: (-0.843155,0.524715,0.117315) - New Momentum Direction: (0.68933,0.699501,-0.188474) - New Polarization: (-0.698912,0.710597,0.0810845) - *** FresnelRefraction *** -Track (trackID 1209, parentID 1) is processed with stopping code 2 -### pop requested out of 214 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.554577,0.264435,-0.788998) - Old Polarization: (-0.792083,-0.12286,-0.597922) - New Momentum Direction: (0.752571,0.358843,-0.55215) - New Polarization: (-0.580428,-0.0345646,-0.813578) - *** FresnelRefraction *** -Track (trackID 1208, parentID 1) is processed with stopping code 2 -### pop requested out of 213 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.510114,0.447398,-0.734587) - Old Polarization: (-0.840469,0.0778236,-0.536242) - New Momentum Direction: (0.693083,0.607871,-0.387465) - New Polarization: (-0.618163,0.224682,-0.753255) - *** FresnelRefraction *** -Track (trackID 1207, parentID 1) is processed with stopping code 2 -### pop requested out of 212 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.919942,-0.351956,0.172726) - Old Polarization: (-0.391341,-0.797757,0.458734) - New Momentum Direction: (0.84583,-0.478891,0.235021) - New Polarization: (0.532504,0.78422,-0.318493) - *** FresnelRefraction *** -Track (trackID 1206, parentID 1) is processed with stopping code 2 -### pop requested out of 211 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.924924,-0.298558,0.235328) - Old Polarization: (-0.379781,-0.753045,0.537299) - New Momentum Direction: (0.859228,-0.401786,0.316694) - New Polarization: (0.511104,0.647103,-0.565712) - *** FresnelRefraction *** -Track (trackID 1205, parentID 1) is processed with stopping code 2 -### pop requested out of 210 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.875598,0.0214441,0.482564) - Old Polarization: (-0.436516,-0.392649,0.809494) - New Momentum Direction: (0.758064,0.0289529,0.651537) - New Polarization: (0.591647,-0.450853,-0.668346) - *** FresnelRefraction *** -Track (trackID 1204, parentID 1) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.480903,0.685968,-0.546059) - Old Polarization: (-0.87583,0.346957,-0.335473) - New Momentum Direction: (0.480903,-0.685968,-0.546059) - New Polarization: (-0.541531,0.257425,-0.800298) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480903,-0.685968,-0.546059) - Old Polarization: (-0.541531,0.257425,-0.800298) - New Momentum Direction: (0.480903,-0.685968,0.546059) - New Polarization: (0.541531,-0.257425,-0.800298) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480903,-0.685968,0.546059) - Old Polarization: (0.541531,-0.257425,-0.800298) - New Momentum Direction: (-0.480903,-0.685968,0.546059) - New Polarization: (0.541531,0.257425,0.800298) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480903,-0.685968,0.546059) - Old Polarization: (0.541531,0.257425,0.800298) - New Momentum Direction: (-0.649395,-0.1859,0.737379) - New Polarization: (0.734947,-0.402447,0.545792) - *** FresnelRefraction *** -Track (trackID 1203, parentID 1) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.536129,0.844046,0.0122957) - Old Polarization: (-0.811408,0.511272,0.28323) - New Momentum Direction: (0.729372,0.683913,0.0167275) - New Polarization: (-0.660428,0.697527,0.278012) - *** FresnelRefraction *** -Track (trackID 1202, parentID 1) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.616241,0.74195,0.264115) - Old Polarization: (-0.724058,0.401819,0.560608) - New Momentum Direction: (0.836866,0.413531,0.358673) - New Polarization: (-0.545524,0.575723,0.609054) - *** FresnelRefraction *** -Track (trackID 1201, parentID 1) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.539253,0.329389,-0.775054) - Old Polarization: (-0.809524,-0.0509168,-0.584875) - New Momentum Direction: (0.7307,0.446329,-0.516594) - New Polarization: (-0.59871,0.0553203,-0.799053) - *** FresnelRefraction *** -Track (trackID 1200, parentID 1) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1199, parentID 1) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.917761,-0.206231,0.339388) - Old Polarization: (-0.387808,-0.649516,0.654014) - New Momentum Direction: (0.845207,-0.277533,0.456728) - New Polarization: (0.522179,0.246847,-0.816331) - *** FresnelRefraction *** -Track (trackID 1198, parentID 1) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1197, parentID 1) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1196, parentID 1) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.646071,0.684974,0.336753) - Old Polarization: (-0.691118,0.337724,0.638982) - New Momentum Direction: (0.646071,-0.684974,0.336753) - New Polarization: (-0.201461,0.272517,0.940823) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646071,-0.684974,0.336753) - Old Polarization: (-0.201461,0.272517,0.940823) - New Momentum Direction: (-0.646071,-0.684974,0.336753) - New Polarization: (-0.201461,-0.272517,-0.940823) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1195, parentID 1) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.919744,-0.27262,0.282398) - Old Polarization: (-0.390142,-0.713979,0.581397) - New Momentum Direction: (0.846316,-0.369969,0.383239) - New Polarization: (0.529536,0.506263,-0.680654) - *** FresnelRefraction *** -Track (trackID 1194, parentID 1) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.648936,0.688798,0.323171) - Old Polarization: (-0.689027,0.35189,0.633573) - New Momentum Direction: (0.648936,-0.688798,0.323171) - New Polarization: (-0.206532,0.249332,0.946139) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.648936,-0.688798,0.323171) - Old Polarization: (-0.206532,0.249332,0.946139) - New Momentum Direction: (-0.648936,-0.688798,0.323171) - New Polarization: (-0.206532,-0.249332,-0.946139) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.648936,-0.688798,0.323171) - Old Polarization: (-0.206532,-0.249332,-0.946139) - New Momentum Direction: (-0.648936,-0.688798,-0.323171) - New Polarization: (0.206532,0.249332,-0.946139) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.648936,-0.688798,-0.323171) - Old Polarization: (0.206532,0.249332,-0.946139) - New Momentum Direction: (-0.875003,-0.210925,-0.435753) - New Polarization: (0.484113,-0.385326,-0.785594) - *** FresnelRefraction *** -Track (trackID 1193, parentID 1) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878863,-0.0134641,0.476885) - Old Polarization: (-0.436214,-0.42744,0.791841) - New Momentum Direction: (0.760774,-0.0183166,0.648758) - New Polarization: (0.595534,-0.377659,-0.709023) - *** FresnelRefraction *** -Track (trackID 1192, parentID 1) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.865109,-0.427352,-0.262596) - Old Polarization: (-0.447771,-0.893916,-0.020391) - New Momentum Direction: (0.736426,-0.576397,-0.35418) - New Polarization: (0.606816,0.331343,0.722486) - *** FresnelRefraction *** -Track (trackID 1191, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.831153,-0.4097,-0.375939) - Old Polarization: (-0.488493,-0.860987,-0.141688) - New Momentum Direction: (0.653922,-0.557445,-0.511509) - New Polarization: (0.670051,0.112779,0.733697) - *** FresnelRefraction *** -Track (trackID 1190, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1189, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.901788,-0.117082,0.416017) - Old Polarization: (-0.408534,-0.544973,0.732192) - New Momentum Direction: (0.811115,-0.158453,0.563014) - New Polarization: (0.55381,-0.101533,-0.82643) - *** FresnelRefraction *** -Track (trackID 1188, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1187, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1186, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.810612,0.25279,0.528209) - Old Polarization: (-0.51078,-0.135899,0.848903) - New Momentum Direction: (0.605039,0.34371,0.718186) - New Polarization: (0.701635,-0.656537,-0.276889) - *** FresnelRefraction *** -Track (trackID 1185, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1184, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.474804,0.767035,-0.43153) - Old Polarization: (-0.879617,0.429692,-0.204058) - New Momentum Direction: (0.644648,0.491077,-0.585894) - New Polarization: (-0.736447,0.604553,-0.303583) - *** FresnelRefraction *** -Track (trackID 1183, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.882238,-0.00726113,0.470748) - Old Polarization: (-0.428869,-0.424909,0.797198) - New Momentum Direction: (0.772266,-0.00979813,0.635224) - New Polarization: (0.580631,-0.394894,-0.711987) - *** FresnelRefraction *** -Track (trackID 1182, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.768245,-0.296481,-0.567361) - Old Polarization: (-0.55574,-0.748778,-0.361227) - New Momentum Direction: (0.505531,-0.3996,-0.764695) - New Polarization: (0.75988,-0.213601,0.613968) - *** FresnelRefraction *** -Track (trackID 1181, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60116,0.768773,0.218163) - Old Polarization: (-0.741146,0.434269,0.51197) - New Momentum Direction: (0.814619,0.498999,0.295628) - New Polarization: (-0.572263,0.608555,0.549705) - *** FresnelRefraction *** -Track (trackID 1180, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.707548,-0.175689,-0.684477) - Old Polarization: (-0.623621,-0.61081,-0.48786) - New Momentum Direction: (0.295266,-0.237533,-0.925417) - New Polarization: (0.864278,-0.346452,0.364685) - *** FresnelRefraction *** -Track (trackID 1179, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1178, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.683832,-0.127088,-0.718487) - Old Polarization: (-0.649807,-0.553941,-0.520481) - New Momentum Direction: (0.683832,-0.127088,0.718487) - New Polarization: (0.168514,-0.930582,-0.324991) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.683832,-0.127088,0.718487) - Old Polarization: (0.168514,-0.930582,-0.324991) - New Momentum Direction: (0.140995,-0.17244,0.974877) - New Polarization: (0.275668,-0.938931,-0.205951) - *** FresnelRefraction *** -Track (trackID 1177, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.776089,0.372214,0.509059) - Old Polarization: (-0.547554,-0.00272093,0.836766) - New Momentum Direction: (0.522523,0.503248,0.688267) - New Polarization: (0.750575,-0.654446,-0.0913086) - *** FresnelRefraction *** -Track (trackID 1176, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.923888,-0.347017,0.161278) - Old Polarization: (-0.381683,-0.805528,0.453258) - New Momentum Direction: (0.856795,-0.467622,0.21733) - New Polarization: (0.514365,0.804851,-0.296045) - *** FresnelRefraction *** -Track (trackID 1175, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.619904,0.0415249,-0.783578) - Old Polarization: (-0.719811,-0.367468,-0.588931) - New Momentum Direction: (0.84284,0.0564584,-0.535195) - New Polarization: (-0.488779,-0.335848,-0.805172) - *** FresnelRefraction *** -Track (trackID 1174, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.872826,0.0239777,0.487441) - Old Polarization: (-0.441207,-0.388128,0.809131) - New Momentum Direction: (0.750029,0.0324958,0.660607) - New Polarization: (0.6004,-0.452425,-0.659417) - *** FresnelRefraction *** -Track (trackID 1173, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.488313,0.836232,-0.249532) -Old Polarization: (-0.864001,0.503477,-0.00352683) -New Polarization: (0.583831,0.578832,-0.569294) -Polarization Change: (0.583831,0.578832,-0.569294) -New Momentum Direction: (-0.757878,0.640016,-0.126492) -Momentum Change: (-0.757878,0.640016,-0.126492) - Photon at Boundary! - Old Momentum Direction: (-0.757878,0.640016,-0.126492) - Old Polarization: (0.583831,0.578832,-0.569294) - New Momentum Direction: (-0.757878,-0.640016,-0.126492) - New Polarization: (-0.583831,0.578832,0.569294) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.757878,-0.640016,-0.126492) - Old Polarization: (-0.583831,0.578832,0.569294) - New Momentum Direction: (-0.461573,-0.870268,-0.171999) - New Polarization: (-0.804991,0.329431,0.493421) - *** FresnelRefraction *** -Track (trackID 1172, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.496636,0.561369,-0.66198) - Old Polarization: (-0.859183,0.209778,-0.466688) - New Momentum Direction: (0.496636,0.561369,0.66198) - New Polarization: (0.859183,-0.209778,-0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.496636,0.561369,0.66198) - Old Polarization: (0.859183,-0.209778,-0.466688) - New Momentum Direction: (0.496636,-0.561369,0.66198) - New Polarization: (-0.859183,-0.209778,0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.496636,-0.561369,0.66198) - Old Polarization: (-0.859183,-0.209778,0.466688) - New Momentum Direction: (-0.496636,-0.561369,0.66198) - New Polarization: (-0.859183,0.209778,-0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.496636,-0.561369,0.66198) - Old Polarization: (-0.859183,0.209778,-0.466688) - New Momentum Direction: (-0.496636,-0.561369,-0.66198) - New Polarization: (0.859183,-0.209778,-0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.496636,-0.561369,-0.66198) - Old Polarization: (0.859183,-0.209778,-0.466688) - New Momentum Direction: (-0.496636,0.561369,-0.66198) - New Polarization: (-0.859183,-0.209778,0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.496636,0.561369,-0.66198) - Old Polarization: (-0.859183,-0.209778,0.466688) - New Momentum Direction: (0.496636,0.561369,-0.66198) - New Polarization: (-0.859183,0.209778,-0.466688) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.496636,0.561369,-0.66198) - Old Polarization: (-0.859183,0.209778,-0.466688) - New Momentum Direction: (0.496636,0.561369,0.66198) - New Polarization: (0.859183,-0.209778,-0.466688) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1171, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.521331,0.402118,-0.752672) - Old Polarization: (-0.828888,0.0289315,-0.558665) - New Momentum Direction: (0.707112,0.545417,-0.450014) - New Polarization: (-0.614111,0.158219,-0.773198) - *** FresnelRefraction *** -Track (trackID 1170, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.487274,0.80202,-0.345437) - Old Polarization: (-0.870048,0.479727,-0.113483) - New Momentum Direction: (0.656403,0.5938,-0.465335) - New Polarization: (-0.729767,0.656147,-0.192123) - *** FresnelRefraction *** -Track (trackID 1169, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.867804,-0.433879,-0.24221) -Old Polarization: (-0.446428,-0.894813,0.00342268) -New Polarization: (-0.494467,-0.38032,-0.781575) -Polarization Change: (-0.494467,-0.38032,-0.781575) -New Momentum Direction: (-0.205314,-0.822641,0.530196) -Momentum Change: (-0.205314,-0.822641,0.530196) - Photon at Boundary! - Old Momentum Direction: (-0.205314,-0.822641,0.530196) - Old Polarization: (-0.494467,-0.38032,-0.781575) - New Momentum Direction: (-0.278034,-0.638116,0.717987) - New Polarization: (-0.523889,-0.52577,-0.670154) - *** FresnelRefraction *** -Track (trackID 1168, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1167, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.919636,-0.281357,0.274059) -Old Polarization: (-0.391002,-0.72197,0.570856) -New Polarization: (-0.78514,-0.107902,0.609846) -Polarization Change: (-0.78514,-0.107902,0.609846) -New Momentum Direction: (-0.271284,0.945128,-0.182037) -Momentum Change: (-0.271284,0.945128,-0.182037) -Scattering Photon! -Old Momentum Direction: (-0.271284,0.945128,-0.182037) -Old Polarization: (-0.78514,-0.107902,0.609846) -New Polarization: (-0.88332,-0.161186,0.440188) -Polarization Change: (-0.88332,-0.161186,0.440188) -New Momentum Direction: (0.395662,0.247222,0.884496) -Momentum Change: (0.395662,0.247222,0.884496) - Photon at Boundary! - Old Momentum Direction: (0.395662,0.247222,0.884496) - Old Polarization: (-0.88332,-0.161186,0.440188) - New Momentum Direction: (0.537686,0.335962,0.77332) - New Polarization: (-0.792557,-0.111525,0.599513) - *** FresnelRefraction *** -Track (trackID 1166, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.753092,0.429815,0.498108) - Old Polarization: (-0.573733,0.0584995,0.816951) - New Momentum Direction: (0.448199,0.584006,0.676797) - New Polarization: (0.79327,-0.60887,6.10058e-05) - *** FresnelRefraction *** -Track (trackID 1165, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.789973,-0.333912,-0.514242) - Old Polarization: (-0.531336,-0.791357,-0.302383) - New Momentum Direction: (0.56375,-0.449803,-0.692722) - New Polarization: (0.724289,-0.133883,0.676373) - *** FresnelRefraction *** -Track (trackID 1164, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.822054,-0.385368,-0.419188) - Old Polarization: (-0.495986,-0.846217,-0.194715) - New Momentum Direction: (0.639923,-0.520069,-0.565709) - New Polarization: (0.675198,0.0290544,0.737064) - *** FresnelRefraction *** -Track (trackID 1163, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1162, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.4725,0.724503,-0.501835) -Old Polarization: (-0.881254,0.380856,-0.279895) -New Polarization: (-0.95788,-0.0341601,-0.285131) -Polarization Change: (-0.95788,-0.0341601,-0.285131) -New Momentum Direction: (0.0210659,-0.998583,0.0488654) -Momentum Change: (0.0210659,-0.998583,0.0488654) - Photon at Boundary! - Old Momentum Direction: (0.0210659,-0.998583,0.0488654) - Old Polarization: (-0.95788,-0.0341601,-0.285131) - New Momentum Direction: (0.0286487,-0.997378,0.0664548) - New Polarization: (-0.957547,-0.0464612,-0.284507) - *** FresnelRefraction *** -Track (trackID 1161, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1160, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.640346,-0.00908425,-0.768033) - Old Polarization: (-0.697851,-0.424612,-0.57681) - New Momentum Direction: (0.867857,-0.0123118,-0.496662) - New Polarization: (-0.458355,-0.405514,-0.790866) - *** FresnelRefraction *** -Track (trackID 1159, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.625102,0.724896,0.289436) - Old Polarization: (-0.714086,0.381382,0.587051) - New Momentum Direction: (0.850046,0.350013,0.393591) - New Polarization: (-0.52668,0.556983,0.642167) - *** FresnelRefraction *** -Track (trackID 1158, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1157, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1156, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.551707,0.831074,0.0702533) - Old Polarization: (-0.794608,0.498164,0.347032) - New Momentum Direction: (0.750021,0.654482,0.0955061) - New Polarization: (-0.640138,0.681958,0.353774) - *** FresnelRefraction *** -Track (trackID 1155, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.675211,0.629933,0.383763) - Old Polarization: (-0.659459,0.282443,0.696664) - New Momentum Direction: (0.0614591,0.852388,0.519285) - New Polarization: (0.92998,-0.237825,0.280316) - *** FresnelRefraction *** -Track (trackID 1154, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58442,0.154192,-0.796667) - Old Polarization: (-0.758808,-0.244018,-0.603876) - New Momentum Direction: (0.794297,0.209565,-0.570241) - New Polarization: (-0.540648,-0.184308,-0.820811) - *** FresnelRefraction *** -Track (trackID 1153, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1152, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479345,0.811653,-0.333838) - Old Polarization: (-0.873858,0.47662,-0.0959415) - New Momentum Direction: (0.651759,0.607595,-0.453915) - New Polarization: (-0.73342,0.657342,-0.173194) - *** FresnelRefraction *** -Track (trackID 1151, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.911029,-0.157823,0.380945) - Old Polarization: (-0.395664,-0.594687,0.699855) - New Momentum Direction: (0.831696,-0.212513,0.512953) - New Polarization: (0.533334,0.0488791,-0.844491) - *** FresnelRefraction *** -Track (trackID 1150, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.569613,0.204857,-0.795974) - Old Polarization: (-0.775056,-0.188437,-0.603142) - New Momentum Direction: (0.77416,0.278421,-0.568469) - New Polarization: (-0.560522,-0.115722,-0.820015) - *** FresnelRefraction *** -Track (trackID 1149, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.829876,-0.399736,-0.389251) - Old Polarization: (-0.48816,-0.858037,-0.159598) - New Momentum Direction: (0.655644,-0.540963,-0.526773) - New Polarization: (0.66596,0.0855071,0.741071) - *** FresnelRefraction *** -Track (trackID 1148, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.843872,-0.422318,-0.33095) - Old Polarization: (-0.474431,-0.875404,-0.0926441) - New Momentum Direction: (0.683726,-0.574382,-0.450116) - New Polarization: (0.649666,0.198198,0.733929) - *** FresnelRefraction *** -Track (trackID 1147, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.63476,0.707582,0.310494) - Old Polarization: (-0.703596,0.363162,0.610791) - New Momentum Direction: (0.862645,0.278909,0.421964) - New Polarization: (-0.504125,0.542142,0.672265) - *** FresnelRefraction *** -Track (trackID 1146, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1145, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1144, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.799329,-0.360241,-0.480936) - Old Polarization: (-0.522367,-0.812167,-0.25984) - New Momentum Direction: (0.580255,-0.488261,-0.651847) - New Polarization: (0.71604,-0.0755154,0.693962) - *** FresnelRefraction *** -Track (trackID 1143, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1142, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.883336,-0.437408,-0.168501) - Old Polarization: (-0.429096,-0.899259,0.0849081) - New Momentum Direction: (-0.883336,-0.437408,-0.168501) - New Polarization: (-0.312413,0.281392,0.907313) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.883336,-0.437408,-0.168501) - Old Polarization: (-0.312413,0.281392,0.907313) - New Momentum Direction: (-0.883336,0.437408,-0.168501) - New Polarization: (0.312413,0.281392,-0.907313) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.883336,0.437408,-0.168501) - Old Polarization: (0.312413,0.281392,-0.907313) - New Momentum Direction: (-0.772885,0.59213,-0.228104) - New Polarization: (-0.427617,-0.751617,-0.502211) - *** FresnelRefraction *** -Track (trackID 1141, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479368,0.671012,-0.565641) - Old Polarization: (-0.87603,0.327144,-0.354329) - New Momentum Direction: (0.479368,-0.671012,-0.565641) - New Polarization: (0.87603,0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479368,-0.671012,-0.565641) - Old Polarization: (0.87603,0.327144,0.354329) - New Momentum Direction: (0.479368,-0.671012,0.565641) - New Polarization: (-0.87603,-0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479368,-0.671012,0.565641) - Old Polarization: (-0.87603,-0.327144,0.354329) - New Momentum Direction: (-0.479368,-0.671012,0.565641) - New Polarization: (-0.87603,0.327144,-0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,-0.671012,0.565641) - Old Polarization: (-0.87603,0.327144,-0.354329) - New Momentum Direction: (-0.479368,0.671012,0.565641) - New Polarization: (0.87603,0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,0.671012,0.565641) - Old Polarization: (0.87603,0.327144,0.354329) - New Momentum Direction: (-0.479368,0.671012,-0.565641) - New Polarization: (-0.87603,-0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,0.671012,-0.565641) - Old Polarization: (-0.87603,-0.327144,0.354329) - New Momentum Direction: (0.479368,0.671012,-0.565641) - New Polarization: (-0.87603,0.327144,-0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479368,0.671012,-0.565641) - Old Polarization: (-0.87603,0.327144,-0.354329) - New Momentum Direction: (0.479368,-0.671012,-0.565641) - New Polarization: (0.87603,0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479368,-0.671012,-0.565641) - Old Polarization: (0.87603,0.327144,0.354329) - New Momentum Direction: (0.479368,-0.671012,0.565641) - New Polarization: (-0.87603,-0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479368,-0.671012,0.565641) - Old Polarization: (-0.87603,-0.327144,0.354329) - New Momentum Direction: (-0.479368,-0.671012,0.565641) - New Polarization: (-0.87603,0.327144,-0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,-0.671012,0.565641) - Old Polarization: (-0.87603,0.327144,-0.354329) - New Momentum Direction: (-0.479368,0.671012,0.565641) - New Polarization: (0.87603,0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,0.671012,0.565641) - Old Polarization: (0.87603,0.327144,0.354329) - New Momentum Direction: (-0.479368,0.671012,-0.565641) - New Polarization: (-0.87603,-0.327144,0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,0.671012,-0.565641) - Old Polarization: (-0.87603,-0.327144,0.354329) - New Momentum Direction: (-0.479368,-0.671012,-0.565641) - New Polarization: (0.87603,-0.327144,-0.354329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479368,-0.671012,-0.565641) - Old Polarization: (0.87603,-0.327144,-0.354329) - New Momentum Direction: (0.479368,-0.671012,-0.565641) - New Polarization: (0.87603,0.327144,0.354329) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1140, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.919859,-0.361568,0.15208) - Old Polarization: (-0.390701,-0.810133,0.437079) - New Momentum Direction: (0.84612,-0.491302,0.206648) - New Polarization: (0.53094,0.810927,-0.245967) - *** FresnelRefraction *** -Track (trackID 1139, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.660201,0.659526,0.359388) - Old Polarization: (-0.675894,0.312998,0.667232) - New Momentum Direction: (-0.660201,0.659526,0.359388) - New Polarization: (-0.675894,-0.312998,-0.667232) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660201,0.659526,0.359388) - Old Polarization: (-0.675894,-0.312998,-0.667232) - New Momentum Direction: (-0.660201,-0.659526,0.359388) - New Polarization: (0.675894,-0.312998,0.667232) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1138, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.841263,0.169307,0.513431) - Old Polarization: (-0.473266,-0.228446,0.850783) - New Momentum Direction: (0.686802,0.227625,0.690282) - New Polarization: (0.640614,-0.638243,-0.426919) - *** FresnelRefraction *** -Track (trackID 1137, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878851,-0.0121656,0.476941) - Old Polarization: (-0.436024,-0.42626,0.792581) - New Momentum Direction: (0.761005,-0.0165425,0.648535) - New Polarization: (0.595003,-0.380596,-0.707897) - *** FresnelRefraction *** -Track (trackID 1136, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1135, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4998,0.515685,-0.695895) - Old Polarization: (-0.853255,0.155072,-0.497904) - New Momentum Direction: (0.4998,0.515685,0.695895) - New Polarization: (-0.365854,0.853943,-0.370044) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.4998,0.515685,0.695895) - Old Polarization: (-0.365854,0.853943,-0.370044) - New Momentum Direction: (0.4998,-0.515685,0.695895) - New Polarization: (0.365854,0.853943,0.370044) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.4998,-0.515685,0.695895) - Old Polarization: (0.365854,0.853943,0.370044) - New Momentum Direction: (-0.4998,-0.515685,0.695895) - New Polarization: (0.365854,-0.853943,-0.370044) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.4998,-0.515685,0.695895) -Old Polarization: (0.365854,-0.853943,-0.370044) -New Polarization: (-0.506128,-0.194537,-0.840232) -Polarization Change: (-0.506128,-0.194537,-0.840232) -New Momentum Direction: (-0.536963,0.833454,0.130481) -Momentum Change: (-0.536963,0.833454,0.130481) - Photon at Boundary! - Old Momentum Direction: (-0.536963,0.833454,0.130481) - Old Polarization: (-0.506128,-0.194537,-0.840232) - New Momentum Direction: (-0.727358,0.663107,0.176747) - New Polarization: (0.0136841,0.271515,-0.962337) - *** FresnelRefraction *** -Track (trackID 1134, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.78396,-0.326813,-0.527826) - Old Polarization: (-0.538401,-0.781211,-0.315965) - New Momentum Direction: (0.546203,-0.440965,-0.712188) - New Polarization: (0.735712,-0.15395,0.659566) - *** FresnelRefraction *** -Track (trackID 1133, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.518679,0.452,-0.725719) - Old Polarization: (-0.835777,0.089214,-0.541773) - New Momentum Direction: (0.697413,0.607758,-0.379797) - New Polarization: (-0.614761,0.234946,-0.752907) - *** FresnelRefraction *** -Track (trackID 1132, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.764084,0.400336,0.505872) - Old Polarization: (-0.561503,0.0266173,0.827047) - New Momentum Direction: (0.482935,0.5434,0.686651) - New Polarization: (0.774253,-0.631277,-0.0449684) - *** FresnelRefraction *** -Track (trackID 1131, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.870694,-0.431161,-0.236625) - Old Polarization: (-0.441833,-0.897055,0.00876518) - New Momentum Direction: (0.747895,-0.58194,-0.319373) - New Polarization: (0.5989,0.384022,0.702741) - *** FresnelRefraction *** -Track (trackID 1130, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.656806,0.671593,0.342884) - Old Polarization: (-0.680094,0.331192,0.654052) - New Momentum Direction: (0.656806,-0.671593,0.342884) - New Polarization: (0.680094,0.331192,-0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656806,-0.671593,0.342884) - Old Polarization: (0.680094,0.331192,-0.654052) - New Momentum Direction: (-0.656806,-0.671593,0.342884) - New Polarization: (0.680094,-0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,-0.671593,0.342884) - Old Polarization: (0.680094,-0.331192,0.654052) - New Momentum Direction: (-0.656806,-0.671593,-0.342884) - New Polarization: (-0.680094,0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,-0.671593,-0.342884) - Old Polarization: (-0.680094,0.331192,0.654052) - New Momentum Direction: (-0.656806,0.671593,-0.342884) - New Polarization: (0.680094,0.331192,-0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,0.671593,-0.342884) - Old Polarization: (0.680094,0.331192,-0.654052) - New Momentum Direction: (0.656806,0.671593,-0.342884) - New Polarization: (0.680094,-0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656806,0.671593,-0.342884) - Old Polarization: (0.680094,-0.331192,0.654052) - New Momentum Direction: (0.656806,-0.671593,-0.342884) - New Polarization: (-0.680094,-0.331192,-0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656806,-0.671593,-0.342884) - Old Polarization: (-0.680094,-0.331192,-0.654052) - New Momentum Direction: (-0.656806,-0.671593,-0.342884) - New Polarization: (-0.680094,0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,-0.671593,-0.342884) - Old Polarization: (-0.680094,0.331192,0.654052) - New Momentum Direction: (-0.656806,-0.671593,0.342884) - New Polarization: (0.680094,-0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,-0.671593,0.342884) - Old Polarization: (0.680094,-0.331192,0.654052) - New Momentum Direction: (-0.656806,0.671593,0.342884) - New Polarization: (-0.680094,-0.331192,-0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,0.671593,0.342884) - Old Polarization: (-0.680094,-0.331192,-0.654052) - New Momentum Direction: (0.656806,0.671593,0.342884) - New Polarization: (-0.680094,0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656806,0.671593,0.342884) - Old Polarization: (-0.680094,0.331192,0.654052) - New Momentum Direction: (0.656806,-0.671593,0.342884) - New Polarization: (0.680094,0.331192,-0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.656806,-0.671593,0.342884) - Old Polarization: (0.680094,0.331192,-0.654052) - New Momentum Direction: (-0.656806,-0.671593,0.342884) - New Polarization: (0.680094,-0.331192,0.654052) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.656806,-0.671593,0.342884) - Old Polarization: (0.680094,-0.331192,0.654052) - New Momentum Direction: (-0.656806,-0.671593,-0.342884) - New Polarization: (-0.680094,0.331192,0.654052) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1129, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.91008,-0.173408,0.376411) - Old Polarization: (-0.399806,-0.606528,0.687225) - New Momentum Direction: (0.827569,-0.234886,0.509861) - New Polarization: (0.542081,0.0983712,-0.834549) - *** FresnelRefraction *** -Track (trackID 1128, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.920644,-0.362406,0.145179) - Old Polarization: (-0.388548,-0.814347,0.431126) - New Momentum Direction: (0.848484,-0.491269,0.1968) - New Polarization: (0.526767,0.819755,-0.224762) - *** FresnelRefraction *** -Track (trackID 1127, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.486416,0.824679,-0.288624) - Old Polarization: (-0.867542,0.495097,-0.0474319) - New Momentum Direction: (0.659527,0.641775,-0.391343) - New Polarization: (-0.726922,0.677068,-0.114732) - *** FresnelRefraction *** -Track (trackID 1126, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.867286,0.0474054,0.495548) - Old Polarization: (-0.447423,-0.362171,0.817707) - New Momentum Direction: (0.737981,0.0642619,0.671755) - New Polarization: (0.609305,-0.491326,-0.622372) - *** FresnelRefraction *** -Track (trackID 1125, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.609932,0.759791,0.225167) - Old Polarization: (-0.732831,0.432666,0.525127) - New Momentum Direction: (0.821521,0.482831,0.303279) - New Polarization: (-0.563161,0.603909,0.564043) - *** FresnelRefraction *** -Track (trackID 1124, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.887862,-0.440908,-0.131534) - Old Polarization: (-0.426229,-0.895828,0.125785) - New Momentum Direction: (0.780018,-0.599642,-0.178888) - New Polarization: (0.581276,0.588477,0.561973) - *** FresnelRefraction *** -Track (trackID 1123, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1122, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.874752,-0.437709,-0.207892) - Old Polarization: (-0.439183,-0.897436,0.0415576) - New Momentum Direction: (0.754003,-0.593347,-0.281813) - New Polarization: (0.597686,0.441748,0.669052) - *** FresnelRefraction *** -Track (trackID 1121, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.764166,0.410852,0.497243) - Old Polarization: (-0.560438,0.0412916,0.827167) - New Momentum Direction: (0.492795,0.554248,0.670792) - New Polarization: (0.767456,-0.640152,-0.0348764) - *** FresnelRefraction *** -Track (trackID 1120, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1119, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.800041,-0.355627,-0.483182) - Old Polarization: (-0.520795,-0.811492,-0.265054) - New Momentum Direction: (0.585651,-0.480473,-0.652808) - New Polarization: (0.711408,-0.0813012,0.698061) - *** FresnelRefraction *** -Track (trackID 1118, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.902934,-0.114988,0.414111) - Old Polarization: (-0.405909,-0.544814,0.733768) - New Momentum Direction: (0.814568,-0.155198,0.55892) - New Polarization: (0.548744,-0.106177,-0.82922) - *** FresnelRefraction *** -Track (trackID 1117, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.484341,0.65425,-0.580836) - Old Polarization: (-0.872546,0.312771,-0.375284) - New Momentum Direction: (0.484341,-0.65425,-0.580836) - New Polarization: (0.872546,0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.484341,-0.65425,-0.580836) - Old Polarization: (0.872546,0.312771,0.375284) - New Momentum Direction: (0.484341,-0.65425,0.580836) - New Polarization: (-0.872546,-0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.484341,-0.65425,0.580836) - Old Polarization: (-0.872546,-0.312771,0.375284) - New Momentum Direction: (-0.484341,-0.65425,0.580836) - New Polarization: (-0.872546,0.312771,-0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.484341,-0.65425,0.580836) - Old Polarization: (-0.872546,0.312771,-0.375284) - New Momentum Direction: (-0.484341,0.65425,0.580836) - New Polarization: (0.872546,0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.484341,0.65425,0.580836) - Old Polarization: (0.872546,0.312771,0.375284) - New Momentum Direction: (-0.484341,0.65425,-0.580836) - New Polarization: (-0.872546,-0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.484341,0.65425,-0.580836) - Old Polarization: (-0.872546,-0.312771,0.375284) - New Momentum Direction: (0.484341,0.65425,-0.580836) - New Polarization: (-0.872546,0.312771,-0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.484341,0.65425,-0.580836) - Old Polarization: (-0.872546,0.312771,-0.375284) - New Momentum Direction: (0.484341,-0.65425,-0.580836) - New Polarization: (0.872546,0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.484341,-0.65425,-0.580836) - Old Polarization: (0.872546,0.312771,0.375284) - New Momentum Direction: (0.484341,-0.65425,0.580836) - New Polarization: (-0.872546,-0.312771,0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.484341,-0.65425,0.580836) - Old Polarization: (-0.872546,-0.312771,0.375284) - New Momentum Direction: (-0.484341,-0.65425,0.580836) - New Polarization: (-0.872546,0.312771,-0.375284) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.484341,-0.65425,0.580836) - Old Polarization: (-0.872546,0.312771,-0.375284) - New Momentum Direction: (-0.484341,0.65425,0.580836) - New Polarization: (0.872546,0.312771,0.375284) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1116, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1115, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.505867,0.483866,-0.714123) - Old Polarization: (-0.846667,0.120075,-0.518399) - New Momentum Direction: (0.505867,0.483866,0.714123) - New Polarization: (-0.363172,0.870381,-0.332479) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.505867,0.483866,0.714123) - Old Polarization: (-0.363172,0.870381,-0.332479) - New Momentum Direction: (-0.505867,0.483866,0.714123) - New Polarization: (-0.363172,-0.870381,0.332479) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.505867,0.483866,0.714123) - Old Polarization: (-0.363172,-0.870381,0.332479) - New Momentum Direction: (-0.505867,-0.483866,0.714123) - New Polarization: (0.363172,-0.870381,-0.332479) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.505867,-0.483866,0.714123) - Old Polarization: (0.363172,-0.870381,-0.332479) - New Momentum Direction: (-0.685068,-0.655273,0.318275) - New Polarization: (0.710367,-0.504085,0.4912) - *** FresnelRefraction *** -Track (trackID 1114, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.686188,-0.126216,-0.716391) - Old Polarization: (-0.647302,-0.555272,-0.522182) - New Momentum Direction: (0.928439,-0.170775,-0.329905) - New Polarization: (-0.366628,-0.564364,-0.739647) - *** FresnelRefraction *** -Track (trackID 1113, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1112, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.590713,0.142439,-0.79421) - Old Polarization: (-0.752686,-0.257374,-0.605988) - New Momentum Direction: (0.800449,0.193013,-0.567474) - New Polarization: (-0.533854,-0.20091,-0.821362) - *** FresnelRefraction *** -Track (trackID 1111, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.815202,0.254879,0.52008) - Old Polarization: (-0.503301,-0.132585,0.853879) - New Momentum Direction: (0.624865,0.343577,0.70107) - New Polarization: (0.684801,-0.672453,-0.280811) - *** FresnelRefraction *** -Track (trackID 1110, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479642,0.64995,-0.589498) - Old Polarization: (-0.874811,0.301997,-0.378819) - New Momentum Direction: (0.479642,-0.64995,-0.589498) - New Polarization: (0.874811,0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479642,-0.64995,-0.589498) - Old Polarization: (0.874811,0.301997,0.378819) - New Momentum Direction: (0.479642,-0.64995,0.589498) - New Polarization: (-0.874811,-0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479642,-0.64995,0.589498) - Old Polarization: (-0.874811,-0.301997,0.378819) - New Momentum Direction: (-0.479642,-0.64995,0.589498) - New Polarization: (-0.874811,0.301997,-0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479642,-0.64995,0.589498) - Old Polarization: (-0.874811,0.301997,-0.378819) - New Momentum Direction: (-0.479642,0.64995,0.589498) - New Polarization: (0.874811,0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479642,0.64995,0.589498) - Old Polarization: (0.874811,0.301997,0.378819) - New Momentum Direction: (-0.479642,0.64995,-0.589498) - New Polarization: (-0.874811,-0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479642,0.64995,-0.589498) - Old Polarization: (-0.874811,-0.301997,0.378819) - New Momentum Direction: (0.479642,0.64995,-0.589498) - New Polarization: (-0.874811,0.301997,-0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479642,0.64995,-0.589498) - Old Polarization: (-0.874811,0.301997,-0.378819) - New Momentum Direction: (0.479642,-0.64995,-0.589498) - New Polarization: (0.874811,0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479642,-0.64995,-0.589498) - Old Polarization: (0.874811,0.301997,0.378819) - New Momentum Direction: (0.479642,-0.64995,0.589498) - New Polarization: (-0.874811,-0.301997,0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479642,-0.64995,0.589498) - Old Polarization: (-0.874811,-0.301997,0.378819) - New Momentum Direction: (-0.479642,-0.64995,0.589498) - New Polarization: (-0.874811,0.301997,-0.378819) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479642,-0.64995,0.589498) - Old Polarization: (-0.874811,0.301997,-0.378819) - New Momentum Direction: (-0.479642,0.64995,0.589498) - New Polarization: (0.874811,0.301997,0.378819) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1109, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.498074,0.841,-0.211283) - Old Polarization: (-0.855662,0.516176,0.0374885) - New Momentum Direction: (0.674001,0.681158,-0.285912) - New Polarization: (-0.713602,0.70042,-0.0135408) - *** FresnelRefraction *** -Track (trackID 1108, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1107, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.801044,-0.368033,-0.472102) - Old Polarization: (-0.521205,-0.816696,-0.247695) - New Momentum Direction: (0.581282,-0.500279,-0.641742) - New Polarization: (0.716536,-0.059031,0.695048) - *** FresnelRefraction *** -Track (trackID 1106, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.813806,0.25344,0.52296) - Old Polarization: (-0.505703,-0.13454,0.852152) - New Momentum Direction: (0.61856,0.342669,0.707079) - New Polarization: (0.690345,-0.66677,-0.280787) - *** FresnelRefraction *** -Track (trackID 1105, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.556045,0.826447,0.0883151) - Old Polarization: (-0.78963,0.492112,0.366484) - New Momentum Direction: (0.756413,0.642967,0.120139) - New Polarization: (-0.633907,0.675318,0.376971) - *** FresnelRefraction *** -Track (trackID 1104, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8746,0.0179281,0.484514) - Old Polarization: (-0.438947,-0.395131,0.806968) - New Momentum Direction: (0.754216,0.0242801,0.656177) - New Polarization: (0.596813,-0.44206,-0.669625) - *** FresnelRefraction *** -Track (trackID 1103, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.829244,-0.403438,-0.386772) - Old Polarization: (-0.489755,-0.857949,-0.155122) - New Momentum Direction: (0.651714,-0.547506,-0.524887) - New Polarization: (0.670118,0.0914996,0.736593) - *** FresnelRefraction *** -Track (trackID 1102, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.492548,0.83694,-0.238594) - Old Polarization: (-0.860843,0.508813,0.00770927) - New Momentum Direction: (0.667758,0.670424,-0.323466) - New Polarization: (-0.719408,0.692849,-0.049117) - *** FresnelRefraction *** -Track (trackID 1101, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.775032,0.370134,0.512178) -Old Polarization: (-0.549264,-0.00619378,0.835626) -New Polarization: (-0.82222,-0.102983,0.559776) -Polarization Change: (-0.82222,-0.102983,0.559776) -New Momentum Direction: (-0.528715,-0.225968,-0.818168) -Momentum Change: (-0.528715,-0.225968,-0.818168) - Photon at Boundary! - Old Momentum Direction: (-0.528715,-0.225968,-0.818168) - Old Polarization: (-0.82222,-0.102983,0.559776) - New Momentum Direction: (-0.716911,-0.306401,-0.626224) - New Polarization: (0.475327,0.442279,-0.760561) - *** FresnelRefraction *** -Track (trackID 1100, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1099, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.890875,-0.435736,-0.128361) - Old Polarization: (-0.42058,-0.897989,0.129338) - New Momentum Direction: (0.788759,-0.58965,-0.173702) - New Polarization: (0.570603,0.597229,0.563675) - *** FresnelRefraction *** -Track (trackID 1098, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.521852,0.851229,-0.0555037) - Old Polarization: (-0.827534,0.520968,0.209235) - New Momentum Direction: (0.709112,0.70105,-0.0754206) - New Polarization: (-0.679939,0.708207,0.19007) - *** FresnelRefraction *** -Track (trackID 1097, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.791976,0.313541,0.523895) - Old Polarization: (-0.531169,-0.0692712,0.844429) - New Momentum Direction: (0.557746,0.426241,0.712206) - New Polarization: (0.73107,-0.658573,-0.178376) - *** FresnelRefraction *** -Track (trackID 1096, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1095, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.492157,0.821251,-0.288667) - Old Polarization: (-0.86432,0.500475,-0.049767) - New Momentum Direction: (0.663311,0.639261,-0.389054) - New Polarization: (-0.723783,0.680126,-0.116476) - *** FresnelRefraction *** -Track (trackID 1094, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1093, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.913474,-0.405184,0.0373107) - Old Polarization: (-0.395781,-0.863485,0.312653) - New Momentum Direction: (0.834592,-0.548548,0.0505122) - New Polarization: (0.536205,0.829969,0.153738) - *** FresnelRefraction *** -Track (trackID 1092, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.612331,0.0871882,-0.785779) - Old Polarization: (-0.729838,-0.319775,-0.604219) - New Momentum Direction: (0.825871,0.117594,-0.551461) - New Polarization: (-0.505889,-0.277405,-0.816776) - *** FresnelRefraction *** -Track (trackID 1091, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479691,0.730261,-0.486432) - Old Polarization: (-0.877429,0.396839,-0.269512) - New Momentum Direction: (0.647466,0.386927,-0.656564) - New Polarization: (-0.728242,0.568047,-0.383388) - *** FresnelRefraction *** -Track (trackID 1090, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.480573,0.747576,-0.458454) - Old Polarization: (-0.876864,0.417146,-0.238953) - New Momentum Direction: (0.480573,-0.747576,-0.458454) - New Polarization: (-0.55231,0.148057,-0.820386) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480573,-0.747576,-0.458454) - Old Polarization: (-0.55231,0.148057,-0.820386) - New Momentum Direction: (-0.480573,-0.747576,-0.458454) - New Polarization: (-0.55231,-0.148057,0.820386) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480573,-0.747576,-0.458454) - Old Polarization: (-0.55231,-0.148057,0.820386) - New Momentum Direction: (-0.480573,-0.747576,0.458454) - New Polarization: (0.55231,0.148057,0.820386) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480573,-0.747576,0.458454) - Old Polarization: (0.55231,0.148057,0.820386) - New Momentum Direction: (-0.648167,-0.444456,0.618335) - New Polarization: (0.747183,-0.214494,0.629055) - *** FresnelRefraction *** -Track (trackID 1089, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92401,-0.302668,0.233662) - Old Polarization: (-0.382077,-0.754719,0.533307) - New Momentum Direction: (0.856737,-0.408249,0.315172) - New Polarization: (0.515368,0.654051,-0.553726) - *** FresnelRefraction *** -Track (trackID 1088, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.492999,0.573041,-0.654658) - Old Polarization: (-0.862184,0.220957,-0.455869) - New Momentum Direction: (0.492999,0.573041,0.654658) - New Polarization: (0.862184,-0.220957,-0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.492999,0.573041,0.654658) - Old Polarization: (0.862184,-0.220957,-0.455869) - New Momentum Direction: (0.492999,-0.573041,0.654658) - New Polarization: (-0.862184,-0.220957,0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.492999,-0.573041,0.654658) - Old Polarization: (-0.862184,-0.220957,0.455869) - New Momentum Direction: (-0.492999,-0.573041,0.654658) - New Polarization: (-0.862184,0.220957,-0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.492999,-0.573041,0.654658) - Old Polarization: (-0.862184,0.220957,-0.455869) - New Momentum Direction: (-0.492999,-0.573041,-0.654658) - New Polarization: (0.862184,-0.220957,-0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.492999,-0.573041,-0.654658) - Old Polarization: (0.862184,-0.220957,-0.455869) - New Momentum Direction: (-0.492999,0.573041,-0.654658) - New Polarization: (-0.862184,-0.220957,0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.492999,0.573041,-0.654658) - Old Polarization: (-0.862184,-0.220957,0.455869) - New Momentum Direction: (0.492999,0.573041,-0.654658) - New Polarization: (-0.862184,0.220957,-0.455869) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.492999,0.573041,-0.654658) - Old Polarization: (-0.862184,0.220957,-0.455869) - New Momentum Direction: (0.492999,0.573041,0.654658) - New Polarization: (0.862184,-0.220957,-0.455869) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1087, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1086, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (-0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (0.671215,0.640017,-0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,-0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (-0.671215,-0.640017,0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (0.671215,0.640017,0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (0.671215,0.640017,-0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,-0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (0.671215,0.640017,-0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (0.671215,0.640017,0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (0.671215,0.640017,0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (0.671215,0.640017,-0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,-0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,-0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,-0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (0.671215,-0.640017,0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (0.671215,0.640017,0.373964) - New Polarization: (-0.663965,0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,0.294798,0.6872) - New Momentum Direction: (-0.671215,0.640017,0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,0.640017,0.373964) - Old Polarization: (-0.663965,-0.294798,-0.6872) - New Momentum Direction: (-0.671215,-0.640017,0.373964) - New Polarization: (0.663965,-0.294798,0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,-0.294798,0.6872) - New Momentum Direction: (0.671215,-0.640017,0.373964) - New Polarization: (0.663965,0.294798,-0.6872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.671215,-0.640017,0.373964) - Old Polarization: (0.663965,0.294798,-0.6872) - New Momentum Direction: (0.671215,-0.640017,-0.373964) - New Polarization: (-0.663965,-0.294798,-0.6872) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1085, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.868763,0.0344261,0.49403) - Old Polarization: (-0.446886,-0.375396,0.812017) - New Momentum Direction: (0.739562,0.0467902,0.67146) - New Polarization: (0.610094,-0.467977,-0.639361) - *** FresnelRefraction *** -Track (trackID 1084, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.918216,-0.258036,0.300493) -Old Polarization: (-0.392311,-0.696901,0.600351) -New Polarization: (-0.0897389,-0.683116,0.724776) -Polarization Change: (-0.0897389,-0.683116,0.724776) -New Momentum Direction: (0.951567,0.156045,0.264895) -Momentum Change: (0.951567,0.156045,0.264895) - Photon at Boundary! - Old Momentum Direction: (0.951567,0.156045,0.264895) - Old Polarization: (-0.0897389,-0.683116,0.724776) - New Momentum Direction: (0.90863,0.211959,0.359813) - New Polarization: (0.122679,-0.95908,0.255179) - *** FresnelRefraction *** -Track (trackID 1083, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.900173,-0.42987,-0.069998) - Old Polarization: (-0.410425,-0.891033,0.193935) - New Momentum Direction: (0.807734,-0.581883,-0.0947511) - New Polarization: (0.55656,0.699619,0.448079) - *** FresnelRefraction *** -Track (trackID 1082, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92154,-0.292409,0.255464) - Old Polarization: (-0.387367,-0.737546,0.553148) - New Momentum Direction: (0.850384,-0.396243,0.346178) - New Polarization: (0.52495,0.594281,-0.609309) - *** FresnelRefraction *** -Track (trackID 1081, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.521637,0.3994,-0.753906) - Old Polarization: (-0.82841,0.0257807,-0.559529) - New Momentum Direction: (0.70776,0.541908,-0.453224) - New Polarization: (-0.613853,0.154212,-0.774211) - *** FresnelRefraction *** -Track (trackID 1080, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1079, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.648828,0.679689,0.342117) - Old Polarization: (-0.688121,0.33217,0.645099) - New Momentum Direction: (0.648828,-0.679689,0.342117) - New Polarization: (-0.183796,0.296304,0.937242) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.648828,-0.679689,0.342117) - Old Polarization: (-0.183796,0.296304,0.937242) - New Momentum Direction: (-0.648828,-0.679689,0.342117) - New Polarization: (-0.183796,-0.296304,-0.937242) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.648828,-0.679689,0.342117) - Old Polarization: (-0.183796,-0.296304,-0.937242) - New Momentum Direction: (-0.648828,-0.679689,-0.342117) - New Polarization: (0.183796,0.296304,-0.937242) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.648828,-0.679689,-0.342117) - Old Polarization: (0.183796,0.296304,-0.937242) - New Momentum Direction: (-0.882062,-0.0751756,-0.465098) - New Polarization: (0.438883,-0.490074,-0.753133) - *** FresnelRefraction *** -Track (trackID 1078, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.730662,-0.218237,-0.64692) - Old Polarization: (-0.597669,-0.662496,-0.451543) - New Momentum Direction: (0.39378,-0.293823,-0.870979) - New Polarization: (0.82037,-0.315087,0.477193) - *** FresnelRefraction *** -Track (trackID 1077, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1076, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.694276,0.58475,0.419581) - Old Polarization: (-0.638319,0.230993,0.734296) - New Momentum Direction: (0.220749,0.792437,0.568606) - New Polarization: (0.890944,-0.401047,0.213029) - *** FresnelRefraction *** -Track (trackID 1075, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.918148,-0.385662,0.0909316) - Old Polarization: (-0.390546,-0.842052,0.372051) - New Momentum Direction: (0.84398,-0.522059,0.123091) - New Polarization: (0.528859,0.848228,-0.0286038) - *** FresnelRefraction *** -Track (trackID 1074, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.619016,0.0442718,-0.78413) - Old Polarization: (-0.720792,-0.364472,-0.589593) - New Momentum Direction: (0.841601,0.0601909,-0.536735) - New Polarization: (-0.490175,-0.332177,-0.805846) - *** FresnelRefraction *** -Track (trackID 1073, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.920504,-0.293383,0.258067) - Old Polarization: (-0.38977,-0.73579,0.553798) - New Momentum Direction: (0.847551,-0.398488,0.35052) - New Polarization: (0.529438,0.589102,-0.610454) - *** FresnelRefraction *** -Track (trackID 1072, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.667757,0.639719,0.380604) - Old Polarization: (-0.667341,0.287955,0.686832) - New Momentum Direction: (-0.667757,0.639719,0.380604) - New Polarization: (-0.667341,-0.287955,-0.686832) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.667757,0.639719,0.380604) - Old Polarization: (-0.667341,-0.287955,-0.686832) - New Momentum Direction: (-0.667757,-0.639719,0.380604) - New Polarization: (0.667341,-0.287955,0.686832) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.667757,-0.639719,0.380604) -Old Polarization: (0.667341,-0.287955,0.686832) -New Polarization: (0.763577,-0.547952,0.341613) -Polarization Change: (0.763577,-0.547952,0.341613) -New Momentum Direction: (-0.0495443,0.477767,0.877088) -Momentum Change: (-0.0495443,0.477767,0.877088) - Photon at Boundary! - Old Momentum Direction: (-0.0495443,0.477767,0.877088) - Old Polarization: (0.763577,-0.547952,0.341613) - New Momentum Direction: (-0.0673791,0.649753,0.757153) - New Polarization: (0.747429,-0.469826,0.469695) - *** FresnelRefraction *** -Track (trackID 1071, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.832359,0.202761,0.515817) - Old Polarization: (-0.483065,-0.190856,0.854531) - New Momentum Direction: (0.667438,0.272426,0.693045) - New Polarization: (0.653966,-0.659569,-0.370535) - *** FresnelRefraction *** -Track (trackID 1070, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.809235,0.272348,0.520543) - Old Polarization: (-0.510273,-0.113254,0.852523) - New Momentum Direction: (0.609435,0.367545,0.702496) - New Polarization: (0.695536,-0.673144,-0.25121) - *** FresnelRefraction *** -Track (trackID 1069, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.611064,0.751652,0.248234) - Old Polarization: (-0.729949,0.413749,0.544045) - New Momentum Direction: (0.829043,0.44639,0.336784) - New Polarization: (-0.555401,0.587396,0.588639) - *** FresnelRefraction *** -Track (trackID 1068, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1067, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.47632,0.768213,-0.427748) - Old Polarization: (-0.878731,0.432965,-0.200931) - New Momentum Direction: (0.645773,0.496658,-0.579921) - New Polarization: (-0.735882,0.607386,-0.299264) - *** FresnelRefraction *** -Track (trackID 1066, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1065, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.853381,-0.414897,-0.315598) - Old Polarization: (-0.459818,-0.884331,-0.0807795) - New Momentum Direction: (0.713,-0.558062,-0.424498) - New Polarization: (0.622041,0.224058,0.750242) - *** FresnelRefraction *** -Track (trackID 1064, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1063, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.805883,0.276848,0.523363) - Old Polarization: (-0.514858,-0.108804,0.850343) - New Momentum Direction: (0.597807,0.374838,0.708606) - New Polarization: (0.704457,-0.6675,-0.241213) - *** FresnelRefraction *** -Track (trackID 1062, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.825748,0.210229,0.523396) - Old Polarization: (-0.492802,-0.182504,0.850787) - New Momentum Direction: (0.645823,0.284568,0.708473) - New Polarization: (0.672725,-0.650912,-0.351788) - *** FresnelRefraction *** -Track (trackID 1061, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.82976,-0.402627,-0.38651) - Old Polarization: (-0.488899,-0.85839,-0.155386) - New Momentum Direction: (0.653711,-0.545914,-0.524061) - New Polarization: (0.66829,0.0915603,0.738244) - *** FresnelRefraction *** -Track (trackID 1060, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4771,0.671657,-0.566792) - Old Polarization: (-0.877258,0.325169,-0.353106) - New Momentum Direction: (0.4771,-0.671657,-0.566792) - New Polarization: (0.877258,0.325169,0.353106) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.4771,-0.671657,-0.566792) - Old Polarization: (0.877258,0.325169,0.353106) - New Momentum Direction: (0.4771,-0.671657,0.566792) - New Polarization: (-0.877258,-0.325169,0.353106) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.4771,-0.671657,0.566792) - Old Polarization: (-0.877258,-0.325169,0.353106) - New Momentum Direction: (-0.4771,-0.671657,0.566792) - New Polarization: (-0.877258,0.325169,-0.353106) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (-0.4771,-0.671657,0.566792) -Old Polarization: (-0.877258,0.325169,-0.353106) -New Polarization: (0.688906,-0.435944,0.579104) -Polarization Change: (0.688906,-0.435944,0.579104) -New Momentum Direction: (0.716346,0.287434,-0.635791) -Momentum Change: (0.716346,0.287434,-0.635791) - -** Photon absorbed! ** -Track (trackID 1059, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.685966,0.613047,0.391949) - Old Polarization: (-0.647757,0.269123,0.71273) - New Momentum Direction: (0.202048,0.825145,0.527553) - New Polarization: (0.897898,-0.371173,0.236665) - *** FresnelRefraction *** -Track (trackID 1058, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.478315,0.787404,-0.388857) - Old Polarization: (-0.876637,0.454416,-0.158156) - New Momentum Direction: (0.648349,0.549381,-0.52709) - New Polarization: (-0.735502,0.630809,-0.24722) - *** FresnelRefraction *** -Track (trackID 1057, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.729276,-0.235978,-0.642239) -Old Polarization: (-0.599907,-0.671919,-0.434323) -New Polarization: (-0.722417,-0.673002,0.158686) -Polarization Change: (-0.722417,-0.673002,0.158686) -New Momentum Direction: (-0.0172134,-0.21192,-0.977135) -Momentum Change: (-0.0172134,-0.21192,-0.977135) - Photon at Boundary! - Old Momentum Direction: (-0.0172134,-0.21192,-0.977135) - Old Polarization: (-0.722417,-0.673002,0.158686) - New Momentum Direction: (-0.0233978,-0.288058,-0.957327) - New Polarization: (-0.604297,0.766923,-0.215996) - *** FresnelRefraction *** -Track (trackID 1056, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.519546,0.851483,-0.0710565) - Old Polarization: (-0.830488,0.522785,0.192317) - New Momentum Direction: (0.705287,0.702329,-0.0964596) - New Polarization: (-0.683581,0.709805,0.169979) - *** FresnelRefraction *** -Track (trackID 1055, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1054, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.480694,0.661515,-0.575614) - Old Polarization: (-0.87487,0.317277,-0.365976) - New Momentum Direction: (0.480694,-0.661515,-0.575614) - New Polarization: (0.87487,0.317277,0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480694,-0.661515,-0.575614) - Old Polarization: (0.87487,0.317277,0.365976) - New Momentum Direction: (0.480694,-0.661515,0.575614) - New Polarization: (-0.87487,-0.317277,0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480694,-0.661515,0.575614) - Old Polarization: (-0.87487,-0.317277,0.365976) - New Momentum Direction: (-0.480694,-0.661515,0.575614) - New Polarization: (-0.87487,0.317277,-0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480694,-0.661515,0.575614) - Old Polarization: (-0.87487,0.317277,-0.365976) - New Momentum Direction: (-0.480694,0.661515,0.575614) - New Polarization: (0.87487,0.317277,0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480694,0.661515,0.575614) - Old Polarization: (0.87487,0.317277,0.365976) - New Momentum Direction: (-0.480694,0.661515,-0.575614) - New Polarization: (-0.87487,-0.317277,0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480694,0.661515,-0.575614) - Old Polarization: (-0.87487,-0.317277,0.365976) - New Momentum Direction: (0.480694,0.661515,-0.575614) - New Polarization: (-0.87487,0.317277,-0.365976) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480694,0.661515,-0.575614) - Old Polarization: (-0.87487,0.317277,-0.365976) - New Momentum Direction: (0.480694,-0.661515,-0.575614) - New Polarization: (0.87487,0.317277,0.365976) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1053, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.782854,0.343535,0.51877) - Old Polarization: (-0.54098,-0.036078,0.840261) - New Momentum Direction: (0.534645,0.466588,0.704592) - New Polarization: (0.744653,-0.65432,-0.131745) - *** FresnelRefraction *** -Track (trackID 1052, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1051, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.908967,-0.416726,0.0109029) - Old Polarization: (-0.402612,-0.8708,0.282156) - New Momentum Direction: (0.824133,-0.566203,0.0148137) - New Polarization: (0.547567,0.80315,0.234779) - *** FresnelRefraction *** -Track (trackID 1050, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.758531,-0.284092,-0.586449) - Old Polarization: (-0.567024,-0.731241,-0.379172) - New Momentum Direction: (0.473243,-0.384057,-0.792806) - New Polarization: (0.778888,-0.238024,0.58024) - *** FresnelRefraction *** -Track (trackID 1049, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.777072,-0.322094,-0.540754) - Old Polarization: (-0.546801,-0.770956,-0.32655) - New Momentum Direction: (0.52273,-0.436256,-0.732417) - New Polarization: (0.750917,-0.171101,0.637847) - *** FresnelRefraction *** -Track (trackID 1048, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.611224,0.749965,0.252899) - Old Polarization: (-0.729442,0.409806,0.547698) - New Momentum Direction: (0.83057,0.43824,0.343656) - New Polarization: (-0.553741,0.584069,0.593494) - *** FresnelRefraction *** -Track (trackID 1047, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.884178,-0.440529,-0.155444) - Old Polarization: (-0.429663,-0.897488,0.0995254) - New Momentum Direction: (0.772933,-0.598331,-0.211125) - New Polarization: (0.585378,0.544111,0.601062) - *** FresnelRefraction *** -Track (trackID 1046, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84083,-0.414932,-0.347616) - Old Polarization: (-0.47672,-0.871833,-0.112449) - New Momentum Direction: (0.67915,-0.562646,-0.471365) - New Polarization: (0.650994,0.165079,0.740915) - *** FresnelRefraction *** -Track (trackID 1045, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.922447,-0.3419,0.179433) - Old Polarization: (-0.38569,-0.793856,0.470145) - New Momentum Direction: (0.852583,-0.462737,0.24285) - New Polarization: (0.522018,0.77587,-0.354293) - *** FresnelRefraction *** -Track (trackID 1044, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.806192,-0.36358,-0.466758) - Old Polarization: (-0.513746,-0.821478,-0.247463) - New Momentum Direction: (0.601709,-0.490823,-0.630111) - New Polarization: (0.700725,-0.0542119,0.711369) - *** FresnelRefraction *** -Track (trackID 1043, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1042, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.532615,0.344799,-0.772939) -Old Polarization: (-0.815574,-0.0349733,-0.577595) -New Polarization: (0.484346,0.58387,0.65154) -Polarization Change: (0.484346,0.58387,0.65154) -New Momentum Direction: (0.707381,-0.699571,0.101055) -Momentum Change: (0.707381,-0.699571,0.101055) - Photon at Boundary! - Old Momentum Direction: (0.707381,-0.699571,0.101055) - Old Polarization: (0.484346,0.58387,0.65154) - New Momentum Direction: (0.277148,-0.950957,0.137369) - New Polarization: (0.703507,0.298217,0.645093) - *** FresnelRefraction *** -Track (trackID 1041, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.474941,0.786986,-0.393807) - Old Polarization: (-0.878607,0.44938,-0.161577) - New Momentum Direction: (0.645865,0.544117,-0.535532) - New Polarization: (-0.737216,0.626804,-0.252249) - *** FresnelRefraction *** -Track (trackID 1040, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.556046,0.268632,-0.786543) - Old Polarization: (-0.791462,-0.117805,-0.599758) - New Momentum Direction: (0.752422,0.363504,-0.549295) - New Polarization: (-0.580275,-0.0287925,-0.813912) - *** FresnelRefraction *** -Track (trackID 1039, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1038, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.690009,0.592958,0.415076) - Old Polarization: (-0.643005,0.238882,0.727654) - New Momentum Direction: (0.188388,0.80456,0.5632) - New Polarization: (0.900725,-0.370101,0.227419) - *** FresnelRefraction *** -Track (trackID 1037, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.922338,-0.346576,0.170813) - Old Polarization: (-0.385689,-0.799336,0.460767) - New Momentum Direction: (0.85244,-0.468961,0.231131) - New Polarization: (0.521908,0.789457,-0.323064) - *** FresnelRefraction *** -Track (trackID 1036, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.593433,0.124613,-0.795178) - Old Polarization: (-0.748919,-0.276466,-0.602235) - New Momentum Direction: (0.806551,0.169364,-0.566384) - New Polarization: (-0.528082,-0.224223,-0.819056) - *** FresnelRefraction *** -Track (trackID 1035, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.531242,0.349431,-0.771803) - Old Polarization: (-0.816965,-0.0299935,-0.575906) - New Momentum Direction: (0.722347,0.475133,-0.502458) - New Polarization: (-0.605224,0.0828603,-0.791731) - *** FresnelRefraction *** -Track (trackID 1034, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.919789,-0.265219,0.289219) - Old Polarization: (-0.389465,-0.707171,0.590108) - New Momentum Direction: (0.846794,-0.359506,0.392039) - New Polarization: (0.52802,0.479034,-0.701229) - *** FresnelRefraction *** -Track (trackID 1033, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1032, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1031, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.482117,0.80727,-0.340409) - Old Polarization: (-0.872657,0.476935,-0.104895) - New Momentum Direction: (0.653238,0.600454,-0.461233) - New Polarization: (-0.732258,0.655935,-0.183161) - *** FresnelRefraction *** -Track (trackID 1030, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.65755,-0.0575184,-0.751212) - Old Polarization: (-0.678817,-0.477801,-0.557597) - New Momentum Direction: (0.65755,-0.0575184,0.751212) - New Polarization: (0.219058,-0.939409,-0.263674) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.65755,-0.0575184,0.751212) - Old Polarization: (0.219058,-0.939409,-0.263674) - New Momentum Direction: (-0.65755,-0.0575184,0.751212) - New Polarization: (0.219058,0.939409,0.263674) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.65755,-0.0575184,0.751212) - Old Polarization: (0.219058,0.939409,0.263674) - New Momentum Direction: (-0.65755,-0.0575184,-0.751212) - New Polarization: (-0.175886,0.98125,0.0788243) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.65755,-0.0575184,-0.751212) - Old Polarization: (-0.175886,0.98125,0.0788243) - New Momentum Direction: (0.65755,-0.0575184,-0.751212) - New Polarization: (-0.175886,-0.98125,-0.0788243) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1029, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.625027,0.727376,0.283312) - Old Polarization: (-0.714579,0.387064,0.582717) - New Momentum Direction: (0.847954,0.365023,0.38436) - New Polarization: (-0.529814,0.561099,0.635976) - *** FresnelRefraction *** -Track (trackID 1028, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.905979,-0.421155,-0.0427831) - Old Polarization: (-0.401979,-0.887581,0.224972) - New Momentum Direction: (0.821123,-0.567829,-0.0576831) - New Polarization: (0.542741,0.745555,0.386754) - *** FresnelRefraction *** -Track (trackID 1027, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.612171,0.0783908,-0.78683) - Old Polarization: (-0.729299,-0.328557,-0.600144) - New Momentum Direction: (0.828334,0.106071,-0.550102) - New Polarization: (-0.503884,-0.288132,-0.814298) - *** FresnelRefraction *** -Track (trackID 1026, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.551423,0.271177,-0.78892) - Old Polarization: (-0.795022,-0.115676,-0.595449) - New Momentum Direction: (0.749417,0.368546,-0.550044) - New Polarization: (-0.583379,-0.0253277,-0.811805) - *** FresnelRefraction *** -Track (trackID 1025, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.606397,0.758826,0.237626) - Old Polarization: (-0.734947,0.420787,0.531781) - New Momentum Direction: (0.823239,0.467127,0.322599) - New Polarization: (-0.562563,0.595041,0.573976) - *** FresnelRefraction *** -Track (trackID 1024, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.744349,0.456076,0.487791) - Old Polarization: (-0.583186,0.0880985,0.807547) - New Momentum Direction: (0.422851,0.6189,0.661937) - New Polarization: (0.806239,-0.590431,0.0370108) - *** FresnelRefraction *** -Track (trackID 1023, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.632606,0.716896,0.293036) - Old Polarization: (-0.706776,0.379682,0.596916) - New Momentum Direction: (0.855392,0.33362,0.396235) - New Polarization: (-0.51798,0.553027,0.652578) - *** FresnelRefraction *** -Track (trackID 1022, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48139,0.77175,-0.41553) - Old Polarization: (-0.875722,0.443532,-0.190762) - New Momentum Direction: (0.64954,0.513556,-0.560676) - New Polarization: (-0.733782,0.616558,-0.285342) - *** FresnelRefraction *** -Track (trackID 1021, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1020, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.714822,-0.186836,-0.673886) - Old Polarization: (-0.615467,-0.625596,-0.479407) - New Momentum Direction: (0.332388,-0.251983,-0.908858) - New Polarization: (0.84895,-0.339853,0.404703) - *** FresnelRefraction *** -Track (trackID 1019, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479552,0.69032,-0.541746) - Old Polarization: (-0.876706,0.35043,-0.329522) - New Momentum Direction: (0.479552,-0.69032,-0.541746) - New Polarization: (-0.545421,0.249144,-0.800277) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479552,-0.69032,-0.541746) - Old Polarization: (-0.545421,0.249144,-0.800277) - New Momentum Direction: (0.479552,-0.69032,0.541746) - New Polarization: (0.545421,-0.249144,-0.800277) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.479552,-0.69032,0.541746) - Old Polarization: (0.545421,-0.249144,-0.800277) - New Momentum Direction: (-0.479552,-0.69032,0.541746) - New Polarization: (0.545421,0.249144,0.800277) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.479552,-0.69032,0.541746) - Old Polarization: (0.545421,0.249144,0.800277) - New Momentum Direction: (-0.648309,-0.208089,0.73239) - New Polarization: (0.742244,-0.387027,0.547069) - *** FresnelRefraction *** -Track (trackID 1018, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.473755,0.769203,-0.428815) -Old Polarization: (-0.880126,0.430452,-0.200225) -New Polarization: (0.796536,-0.476263,0.372429) -Polarization Change: (0.796536,-0.476263,0.372429) -New Momentum Direction: (-0.505533,-0.186791,0.842345) -Momentum Change: (-0.505533,-0.186791,0.842345) - Photon at Boundary! - Old Momentum Direction: (-0.505533,-0.186791,0.842345) - Old Polarization: (0.796536,-0.476263,0.372429) - New Momentum Direction: (-0.687186,-0.253911,0.680665) - New Polarization: (0.695231,-0.501688,0.514745) - *** FresnelRefraction *** -Track (trackID 1017, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.480905,0.691331,-0.539251) - Old Polarization: (-0.876017,0.353341,-0.328244) - New Momentum Direction: (0.480905,-0.691331,-0.539251) - New Polarization: (-0.545671,0.245415,-0.801258) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480905,-0.691331,-0.539251) - Old Polarization: (-0.545671,0.245415,-0.801258) - New Momentum Direction: (0.480905,-0.691331,0.539251) - New Polarization: (0.545671,-0.245415,-0.801258) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.480905,-0.691331,0.539251) - Old Polarization: (0.545671,-0.245415,-0.801258) - New Momentum Direction: (-0.480905,-0.691331,0.539251) - New Polarization: (0.545671,0.245415,0.801258) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.480905,-0.691331,0.539251) - Old Polarization: (0.545671,0.245415,0.801258) - New Momentum Direction: (-0.649174,-0.220642,0.727935) - New Polarization: (0.744805,-0.378645,0.549449) - *** FresnelRefraction *** -Track (trackID 1016, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1015, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1014, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.668915,0.637576,0.382164) - Old Polarization: (-0.666091,0.285906,0.688898) - New Momentum Direction: (-0.668915,0.637576,0.382164) - New Polarization: (-0.666091,-0.285906,-0.688898) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668915,0.637576,0.382164) - Old Polarization: (-0.666091,-0.285906,-0.688898) - New Momentum Direction: (-0.668915,-0.637576,0.382164) - New Polarization: (0.666091,-0.285906,0.688898) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668915,-0.637576,0.382164) - Old Polarization: (0.666091,-0.285906,0.688898) - New Momentum Direction: (-0.668915,-0.637576,-0.382164) - New Polarization: (-0.666091,0.285906,0.688898) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1013, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1012, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.498509,0.837455,-0.22396) - Old Polarization: (-0.856348,0.515889,0.0229348) - New Momentum Direction: (0.673021,0.674996,-0.302361) - New Polarization: (-0.714617,0.698849,-0.0305331) - *** FresnelRefraction *** -Track (trackID 1011, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.840051,-0.419064,-0.344528) - Old Polarization: (-0.478723,-0.871377,-0.107361) - New Momentum Direction: (0.674718,-0.570132,-0.468727) - New Polarization: (0.655997,0.172176,0.734863) - *** FresnelRefraction *** -Track (trackID 1010, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90815,-0.418641,0.00191127) - Old Polarization: (-0.403279,-0.873582,0.272433) - New Momentum Direction: (0.822645,-0.568549,0.00259567) - New Polarization: (0.548271,0.794496,0.261102) - *** FresnelRefraction *** -Track (trackID 1009, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.767914,0.385767,0.511362) - Old Polarization: (-0.557623,0.00973922,0.830037) - New Momentum Direction: (0.491001,0.524648,0.695459) - New Polarization: (0.770182,-0.634493,-0.0650999) - *** FresnelRefraction *** -Track (trackID 1008, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.686247,0.601363,0.409179) - Old Polarization: (-0.647141,0.247961,0.720919) - New Momentum Direction: (0.160011,0.816113,0.555298) - New Polarization: (0.908545,-0.341699,0.24039) - *** FresnelRefraction *** -Track (trackID 1007, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.845991,0.128332,0.517523) - Old Polarization: (-0.471676,-0.272482,0.838615) - New Momentum Direction: (0.689472,0.174331,0.70302) - New Polarization: (0.644969,-0.589458,-0.486369) - *** FresnelRefraction *** -Track (trackID 1006, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479776,0.68274,-0.551072) - Old Polarization: (-0.876309,0.341697,-0.339596) - New Momentum Direction: (0.648788,0.154114,-0.7452) - New Polarization: (-0.689883,0.532398,-0.490524) - *** FresnelRefraction *** -Track (trackID 1005, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.568055,0.814488,0.117997) - Old Polarization: (-0.777585,0.484204,0.401134) - New Momentum Direction: (0.770042,0.617616,0.159954) - New Polarization: (-0.619696,0.664457,0.4177) - *** FresnelRefraction *** -Track (trackID 1004, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.756592,0.437087,0.486337) - Old Polarization: (-0.568499,0.0722166,0.819508) - New Momentum Direction: (0.475756,0.587948,0.654196) - New Polarization: (0.776717,-0.629849,0.00120899) - *** FresnelRefraction *** -Track (trackID 1003, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.777695,-0.323137,-0.539234) - Old Polarization: (-0.546107,-0.772146,-0.324897) - New Momentum Direction: (0.524464,-0.437656,-0.730338) - New Polarization: (0.749884,-0.168821,0.639667) - *** FresnelRefraction *** -Track (trackID 1002, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.514004,0.852274,-0.0970999) - Old Polarization: (-0.836422,0.523087,0.163639) - New Momentum Direction: (0.698016,0.703837,-0.131861) - New Polarization: (-0.690597,0.710351,0.13593) - *** FresnelRefraction *** -Track (trackID 1001, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.646001,0.686562,0.33364) - Old Polarization: (-0.691353,0.340947,0.637013) - New Momentum Direction: (0.646001,-0.686562,0.33364) - New Polarization: (-0.205087,0.264905,0.942213) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646001,-0.686562,0.33364) - Old Polarization: (-0.205087,0.264905,0.942213) - New Momentum Direction: (-0.646001,-0.686562,0.33364) - New Polarization: (-0.205087,-0.264905,-0.942213) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1000, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54628,0.836063,0.0507646) - Old Polarization: (-0.800468,0.503255,0.325553) - New Momentum Direction: (0.742827,0.665915,0.0690293) - New Polarization: (-0.647247,0.687975,0.328272) - *** FresnelRefraction *** -Track (trackID 999, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.718361,0.524453,0.457062) - Old Polarization: (-0.611785,0.163487,0.773945) - New Momentum Direction: (0.330274,0.711578,0.620142) - New Polarization: (0.849643,-0.510301,0.133041) - *** FresnelRefraction *** -Track (trackID 998, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.845838,0.133171,0.51655) - Old Polarization: (-0.471174,-0.267498,0.8405) - New Momentum Direction: (0.690541,0.180567,0.700392) - New Polarization: (0.643069,-0.596519,-0.480237) - *** FresnelRefraction *** -Track (trackID 997, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.822212,-0.388535,-0.415943) - Old Polarization: (-0.496346,-0.84711,-0.189857) - New Momentum Direction: (0.638647,-0.525276,-0.56233) - New Polarization: (0.676931,0.0360084,0.735165) - *** FresnelRefraction *** -Track (trackID 996, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 227 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 51 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 279 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0772847,0.790356,0.607754) - Old Polarization: (0.81217,-0.403471,0.421417) - New Momentum Direction: (0.104915,0.55526,0.825033) - New Polarization: (0.681536,0.564014,-0.466258) - *** FresnelRefraction *** -Track (trackID 1592, parentID 1) is processed with stopping code 2 -### pop requested out of 278 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.273865,-0.837552,-0.472763) - Old Polarization: (0.95392,0.17388,0.244545) - New Momentum Direction: (0.372285,-0.66962,-0.642661) - New Polarization: (0.707286,-0.243664,0.663607) - *** FresnelRefraction *** -Track (trackID 1591, parentID 1) is processed with stopping code 2 -### pop requested out of 277 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.223161,0.0573077,-0.973096) - Old Polarization: (0.911188,-0.342399,-0.229128) - New Momentum Direction: (-0.303077,0.0778302,-0.949782) - New Polarization: (0.888864,-0.336272,-0.311194) - *** FresnelRefraction *** -Track (trackID 1590, parentID 1) is processed with stopping code 2 -### pop requested out of 276 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.458833,0.840264,-0.288842) - Old Polarization: (-0.8552,0.505831,0.112996) - New Momentum Direction: (0.622562,0.677364,-0.391912) - New Polarization: (-0.723406,0.689148,0.0419452) - *** FresnelRefraction *** -Track (trackID 1589, parentID 1) is processed with stopping code 2 -### pop requested out of 275 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.794736,0.568952,-0.211397) - Old Polarization: (-0.594545,-0.799814,0.0825508) - New Momentum Direction: (-0.564504,0.773747,-0.28749) - New Polarization: (-0.810165,-0.586046,0.0135286) - *** FresnelRefraction *** -Track (trackID 1588, parentID 1) is processed with stopping code 2 -### pop requested out of 274 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1587, parentID 1) is processed with stopping code 2 -### pop requested out of 273 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575361,-0.390759,-0.718517) - Old Polarization: (0.687698,0.706679,0.166362) - New Momentum Direction: (0.781156,-0.530525,-0.329147) - New Polarization: (0.469222,0.846645,-0.251046) - *** FresnelRefraction *** -Track (trackID 1586, parentID 1) is processed with stopping code 2 -### pop requested out of 272 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1585, parentID 1) is processed with stopping code 2 -### pop requested out of 271 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0465289,-0.384613,-0.921904) - Old Polarization: (0.634734,-0.70125,0.324593) - New Momentum Direction: (0.0632396,-0.522745,-0.85014) - New Polarization: (0.451423,0.774703,-0.442779) - *** FresnelRefraction *** -Track (trackID 1584, parentID 1) is processed with stopping code 2 -### pop requested out of 270 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.793804,-0.588498,-0.153445) - Old Polarization: (-0.0548278,0.18203,-0.981763) - New Momentum Direction: (0.562746,-0.799887,-0.208563) - New Polarization: (0.0784552,0.302848,-0.949804) - *** FresnelRefraction *** -Track (trackID 1583, parentID 1) is processed with stopping code 2 -### pop requested out of 269 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.454389,-0.877892,0.151118) -Old Polarization: (0.799423,-0.476709,-0.365611) -New Polarization: (0.294791,-0.894067,0.337257) -Polarization Change: (0.294791,-0.894067,0.337257) -New Momentum Direction: (-0.760351,-0.00570475,0.649487) -Momentum Change: (-0.760351,-0.00570475,0.649487) - -** Photon absorbed! ** -Track (trackID 1582, parentID 1) is processed with stopping code 2 -### pop requested out of 268 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.516216,0.304463,0.800514) - Old Polarization: (0.779783,-0.219472,0.58632) - New Momentum Direction: (-0.702343,0.414241,0.578894) - New Polarization: (0.589173,-0.118109,0.799329) - *** FresnelRefraction *** -Track (trackID 1581, parentID 1) is processed with stopping code 2 -### pop requested out of 267 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.150719,0.512173,-0.845555) - Old Polarization: (0.446622,0.727782,0.520444) - New Momentum Direction: (0.203134,0.690291,-0.694431) - New Polarization: (0.016719,-0.71156,-0.702427) - *** FresnelRefraction *** -Track (trackID 1580, parentID 1) is processed with stopping code 2 -### pop requested out of 266 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.480095,-0.757009,0.443221) - Old Polarization: (-0.240614,-0.372239,-0.896406) - New Momentum Direction: (-0.652742,-0.45912,0.602608) - New Polarization: (-0.341584,-0.531628,-0.775043) - *** FresnelRefraction *** -Track (trackID 1579, parentID 1) is processed with stopping code 2 -### pop requested out of 265 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.972903,0.217424,-0.0786579) - Old Polarization: (-4.3162e-05,-0.340023,-0.940417) - New Momentum Direction: (0.950243,0.292931,-0.105974) - New Polarization: (5.83544e-05,-0.340362,-0.940295) - *** FresnelRefraction *** -Track (trackID 1578, parentID 1) is processed with stopping code 2 -### pop requested out of 264 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.958358,-0.171017,0.228697) - Old Polarization: (0.0430127,-0.705268,-0.707635) - New Momentum Direction: (0.921959,-0.231932,0.310159) - New Polarization: (0.0586683,-0.707968,-0.703803) - *** FresnelRefraction *** -Track (trackID 1577, parentID 1) is processed with stopping code 2 -### pop requested out of 263 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60182,-0.618723,0.50497) - Old Polarization: (0.70722,0.706621,0.0229397) - New Momentum Direction: (0.60182,0.618723,0.50497) - New Polarization: (-0.70722,0.706621,-0.0229397) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.60182,0.618723,0.50497) - Old Polarization: (-0.70722,0.706621,-0.0229397) - New Momentum Direction: (-0.60182,0.618723,0.50497) - New Polarization: (-0.70722,-0.706621,0.0229397) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.60182,0.618723,0.50497) - Old Polarization: (-0.70722,-0.706621,0.0229397) - New Momentum Direction: (-0.60182,0.618723,-0.50497) - New Polarization: (0.70722,0.706621,0.0229397) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1576, parentID 1) is processed with stopping code 2 -### pop requested out of 262 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.211568,0.874757,-0.435935) - Old Polarization: (0.0337135,0.439235,0.89774) - New Momentum Direction: (0.287739,0.752125,-0.592886) - New Polarization: (0.0739065,0.599782,0.796743) - *** FresnelRefraction *** -Track (trackID 1575, parentID 1) is processed with stopping code 2 -### pop requested out of 261 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.483233,0.83537,-0.261999) - Old Polarization: (-0.87549,0.460495,-0.146497) - New Momentum Direction: (0.65551,0.666328,-0.355405) - New Polarization: (-0.74968,0.630892,-0.199889) - *** FresnelRefraction *** -Track (trackID 1574, parentID 1) is processed with stopping code 2 -### pop requested out of 260 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1573, parentID 1) is processed with stopping code 2 -### pop requested out of 259 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.673807,-0.574535,-0.464643) - Old Polarization: (-0.734974,0.585925,0.341328) - New Momentum Direction: (0.673807,-0.574535,-0.464643) - New Polarization: (-0.734756,-0.454416,-0.503626) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.673807,-0.574535,-0.464643) - Old Polarization: (-0.734756,-0.454416,-0.503626) - New Momentum Direction: (0.673807,0.574535,-0.464643) - New Polarization: (0.734756,-0.454416,0.503626) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1572, parentID 1) is processed with stopping code 2 -### pop requested out of 258 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.973261,-0.1968,0.118461) - Old Polarization: (-0.227899,-0.762807,0.605134) - New Momentum Direction: (0.950372,-0.266552,0.160448) - New Polarization: (0.308691,0.872162,-0.37953) - *** FresnelRefraction *** -Track (trackID 1571, parentID 1) is processed with stopping code 2 -### pop requested out of 257 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1570, parentID 1) is processed with stopping code 2 -### pop requested out of 256 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0718048,-0.706831,-0.703729) - Old Polarization: (0.932465,0.202877,-0.298915) - New Momentum Direction: (-0.0967578,-0.302321,-0.948283) - New Polarization: (0.952503,-0.304528,-0.000102253) - *** FresnelRefraction *** -Track (trackID 1569, parentID 1) is processed with stopping code 2 -### pop requested out of 255 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0384584,-0.697565,0.715488) - Old Polarization: (-0.21078,-0.70557,-0.676566) - New Momentum Direction: (0.0521101,-0.945184,0.322354) - New Polarization: (-0.240752,0.301382,0.922609) - *** FresnelRefraction *** -Track (trackID 1568, parentID 1) is processed with stopping code 2 -### pop requested out of 254 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.588573,0.774762,-0.230924) - Old Polarization: (-0.464386,-0.557815,-0.687886) - New Momentum Direction: (-0.793226,0.523388,-0.311219) - New Polarization: (0.59946,0.760971,-0.248135) - *** FresnelRefraction *** -Track (trackID 1567, parentID 1) is processed with stopping code 2 -### pop requested out of 253 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.108727,-0.596491,0.795222) - Old Polarization: (0.94358,-0.313638,-0.106247) - New Momentum Direction: (-0.14791,-0.811454,0.565389) - New Polarization: (0.985632,-0.0737961,0.151935) - *** FresnelRefraction *** -Track (trackID 1566, parentID 1) is processed with stopping code 2 -### pop requested out of 252 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.866904,-0.419429,0.269365) - Old Polarization: (-0.277109,0.0436818,0.959845) - New Momentum Direction: (0.734818,-0.570707,0.366518) - New Polarization: (0.383627,0.795345,0.469315) - *** FresnelRefraction *** -Track (trackID 1565, parentID 1) is processed with stopping code 2 -### pop requested out of 251 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.746916,-0.658422,0.092715) - Old Polarization: (-0.0406019,-0.184341,-0.982023) - New Momentum Direction: (0.427582,-0.895145,0.126049) - New Polarization: (0.0599508,-0.111051,-0.992005) - *** FresnelRefraction *** -Track (trackID 1564, parentID 1) is processed with stopping code 2 -### pop requested out of 250 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0523635,-0.869608,-0.490959) - Old Polarization: (0.00595872,-0.491353,0.87094) - New Momentum Direction: (0.070905,-0.743646,-0.664803) - New Polarization: (0.0169875,-0.665484,0.746219) - *** FresnelRefraction *** -Track (trackID 1563, parentID 1) is processed with stopping code 2 -### pop requested out of 249 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.435442,0.0158964,0.900077) - Old Polarization: (0.890057,0.142187,-0.433106) - New Momentum Direction: (0.589148,0.0215076,0.807739) - New Polarization: (-0.806426,0.0785103,0.586099) - *** FresnelRefraction *** -Track (trackID 1562, parentID 1) is processed with stopping code 2 -### pop requested out of 248 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.358044,-0.302102,0.883481) - Old Polarization: (0.0288339,0.949337,0.312936) - New Momentum Direction: (0.486606,-0.410577,0.77113) - New Polarization: (0.0772472,0.899446,0.430151) - *** FresnelRefraction *** -Track (trackID 1561, parentID 1) is processed with stopping code 2 -### pop requested out of 247 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1560, parentID 1) is processed with stopping code 2 -### pop requested out of 246 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.545556,-0.706814,0.450313) - Old Polarization: (-0.0947175,-0.481876,-0.871105) - New Momentum Direction: (-0.741816,-0.273468,0.61231) - New Polarization: (-0.282013,-0.701194,-0.654825) - *** FresnelRefraction *** -Track (trackID 1559, parentID 1) is processed with stopping code 2 -### pop requested out of 245 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.251854,0.911593,-0.324912) - Old Polarization: (0.664933,-0.406939,-0.626311) - New Momentum Direction: (0.340143,0.831713,-0.438812) - New Polarization: (-0.393924,0.549742,0.736619) - *** FresnelRefraction *** -Track (trackID 1558, parentID 1) is processed with stopping code 2 -### pop requested out of 244 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.947088,0.320711,-0.0130162) - Old Polarization: (-0.250639,-0.713609,0.654174) - New Momentum Direction: (-0.901239,0.432965,-0.0175721) - New Polarization: (-0.339339,-0.679972,0.64999) - *** FresnelRefraction *** -Track (trackID 1557, parentID 1) is processed with stopping code 2 -### pop requested out of 243 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.547429,0.7713,-0.324682) - Old Polarization: (0.215127,0.245238,0.945293) - New Momentum Direction: (0.739978,0.50972,-0.438883) - New Polarization: (0.288404,0.349032,0.891628) - *** FresnelRefraction *** -Track (trackID 1556, parentID 1) is processed with stopping code 2 -### pop requested out of 242 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.478946,-0.747327,-0.460557) - Old Polarization: (-0.698863,0.00711555,0.71522) - New Momentum Direction: (-0.647239,-0.440128,-0.622389) - New Polarization: (-0.689417,-0.0103891,0.72429) - *** FresnelRefraction *** -Track (trackID 1555, parentID 1) is processed with stopping code 2 -### pop requested out of 241 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.165727,0.0470811,0.985047) - Old Polarization: (-0.662705,-0.745026,-0.075886) - New Momentum Direction: (-0.223734,0.0635604,0.972575) - New Polarization: (0.167467,-0.980524,0.102604) - *** FresnelRefraction *** -Track (trackID 1554, parentID 1) is processed with stopping code 2 -### pop requested out of 240 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.574398,-0.330562,-0.748863) - Old Polarization: (-0.683462,0.697141,0.216502) - New Momentum Direction: (-0.780184,-0.448991,-0.435569) - New Polarization: (-0.334668,0.887857,-0.315764) - *** FresnelRefraction *** -Track (trackID 1553, parentID 1) is processed with stopping code 2 -### pop requested out of 239 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.450004,-0.740063,0.499803) - Old Polarization: (0.576791,0.186409,0.795339) - New Momentum Direction: (-0.61046,-0.409431,0.678016) - New Polarization: (0.791125,-0.273894,0.546904) - *** FresnelRefraction *** -Track (trackID 1552, parentID 1) is processed with stopping code 2 -### pop requested out of 238 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.639586,0.0195555,-0.768471) - Old Polarization: (0.702271,0.421438,-0.573764) - New Momentum Direction: (-0.869693,0.0265911,-0.492876) - New Polarization: (0.460058,0.405448,-0.78991) - *** FresnelRefraction *** -Track (trackID 1551, parentID 1) is processed with stopping code 2 -### pop requested out of 237 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1550, parentID 1) is processed with stopping code 2 -### pop requested out of 236 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1549, parentID 1) is processed with stopping code 2 -### pop requested out of 235 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1548, parentID 1) is processed with stopping code 2 -### pop requested out of 234 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.105431,-0.47145,-0.875568) - Old Polarization: (-0.774253,-0.513607,0.369784) - New Momentum Direction: (-0.142853,-0.638789,-0.756004) - New Polarization: (-0.492402,0.708469,-0.505581) - *** FresnelRefraction *** -Track (trackID 1547, parentID 1) is processed with stopping code 2 -### pop requested out of 233 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1546, parentID 1) is processed with stopping code 2 -### pop requested out of 232 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.359151,0.263086,0.895431) - Old Polarization: (0.675114,0.589215,-0.4439) - New Momentum Direction: (0.484984,0.355261,0.799112) - New Polarization: (-0.687218,-0.410305,0.599484) - *** FresnelRefraction *** -Track (trackID 1545, parentID 1) is processed with stopping code 2 -### pop requested out of 231 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.578023,0.00618186,0.815997) - Old Polarization: (-0.604258,0.668801,-0.433102) - New Momentum Direction: (-0.779096,0.0083323,0.626849) - New Polarization: (0.484455,0.642629,0.593576) - *** FresnelRefraction *** -Track (trackID 1544, parentID 1) is processed with stopping code 2 -### pop requested out of 230 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1543, parentID 1) is processed with stopping code 2 -### pop requested out of 229 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0307507,0.737487,-0.674661) - Old Polarization: (-0.559974,-0.546396,-0.6228) - New Momentum Direction: (0.0416718,0.402964,-0.914267) - New Polarization: (-0.568404,0.762115,0.309996) - *** FresnelRefraction *** -Track (trackID 1542, parentID 1) is processed with stopping code 2 -### pop requested out of 228 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.561669,-0.173855,-0.80889) - Old Polarization: (-0.768262,-0.472471,-0.431909) - New Momentum Direction: (0.761172,-0.235608,-0.60424) - New Polarization: (-0.628294,-0.498918,-0.596932) - *** FresnelRefraction *** -Track (trackID 1541, parentID 1) is processed with stopping code 2 -### pop requested out of 227 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1540, parentID 1) is processed with stopping code 2 -### pop requested out of 226 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92115,-0.35979,0.148439) - Old Polarization: (-0.367989,-0.680892,0.633222) - New Momentum Direction: (0.850062,-0.486874,0.200871) - New Polarization: (0.498599,0.866785,-0.0090853) - *** FresnelRefraction *** -Track (trackID 1539, parentID 1) is processed with stopping code 2 -### pop requested out of 225 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1538, parentID 1) is processed with stopping code 2 -### pop requested out of 224 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1537, parentID 1) is processed with stopping code 2 -### pop requested out of 223 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.928174,-0.31377,0.200105) - Old Polarization: (-0.360945,-0.628077,0.689375) - New Momentum Direction: (0.863545,-0.425169,0.271149) - New Polarization: (0.489404,0.836224,-0.247415) - *** FresnelRefraction *** -Track (trackID 1536, parentID 1) is processed with stopping code 2 -### pop requested out of 222 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.779647,0.556254,0.287632) - Old Polarization: (-0.526947,0.334587,0.781267) - New Momentum Direction: (0.523324,0.756928,0.391398) - New Polarization: (0.729212,-0.635444,0.253889) - *** FresnelRefraction *** -Track (trackID 1535, parentID 1) is processed with stopping code 2 -### pop requested out of 221 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1534, parentID 1) is processed with stopping code 2 -### pop requested out of 220 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.767194,-0.502738,-0.39833) -Old Polarization: (-0.539454,-0.841692,0.0233103) -New Polarization: (0.411165,0.754542,-0.511478) -Polarization Change: (0.411165,0.754542,-0.511478) -New Momentum Direction: (-0.368038,-0.375925,-0.850428) -Momentum Change: (-0.368038,-0.375925,-0.850428) - Photon at Boundary! - Old Momentum Direction: (-0.368038,-0.375925,-0.850428) - Old Polarization: (0.411165,0.754542,-0.511478) - New Momentum Direction: (-0.497588,-0.508252,-0.702912) - New Polarization: (0.315999,0.648453,-0.69257) - *** FresnelRefraction *** -Track (trackID 1533, parentID 1) is processed with stopping code 2 -### pop requested out of 219 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.934639,-0.23858,0.263683) - Old Polarization: (-0.353586,-0.544775,0.760393) - New Momentum Direction: (0.876332,-0.323191,0.357197) - New Polarization: (0.479035,0.662697,-0.575638) - *** FresnelRefraction *** -Track (trackID 1532, parentID 1) is processed with stopping code 2 -### pop requested out of 218 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.849432,-0.508294,-0.141785) - Old Polarization: (-0.449988,-0.838052,0.308511) - New Momentum Direction: (0.696197,-0.691453,-0.192877) - New Polarization: (0.617104,0.439217,0.652894) - *** FresnelRefraction *** -Track (trackID 1531, parentID 1) is processed with stopping code 2 -### pop requested out of 217 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.696165,-0.444021,-0.564092) -Old Polarization: (-0.618841,-0.769449,-0.158065) -New Polarization: (0.839949,0.309635,0.445659) -Polarization Change: (0.839949,0.309635,0.445659) -New Momentum Direction: (0.137578,-0.915914,0.377059) -Momentum Change: (0.137578,-0.915914,0.377059) - Photon at Boundary! - Old Momentum Direction: (0.137578,-0.915914,0.377059) - Old Polarization: (0.839949,0.309635,0.445659) - New Momentum Direction: (-0.137578,-0.915914,0.377059) - New Polarization: (0.839949,-0.309635,-0.445659) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1530, parentID 1) is processed with stopping code 2 -### pop requested out of 216 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.455421,0.58654,-0.669748) - Old Polarization: (-0.88604,0.37192,-0.276784) - New Momentum Direction: (0.455421,0.58654,0.669748) - New Polarization: (0.88604,-0.37192,-0.276784) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.455421,0.58654,0.669748) - Old Polarization: (0.88604,-0.37192,-0.276784) - New Momentum Direction: (0.455421,-0.58654,0.669748) - New Polarization: (-0.88604,-0.37192,0.276784) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.455421,-0.58654,0.669748) - Old Polarization: (-0.88604,-0.37192,0.276784) - New Momentum Direction: (-0.455421,-0.58654,0.669748) - New Polarization: (-0.88604,0.37192,-0.276784) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1529, parentID 1) is processed with stopping code 2 -### pop requested out of 215 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.545154,-0.120829,-0.829583) - Old Polarization: (-0.7871,-0.41441,-0.456878) - New Momentum Direction: (0.737811,-0.16353,-0.654899) - New Polarization: (-0.650618,-0.430733,-0.625432) - *** FresnelRefraction *** -Track (trackID 1528, parentID 1) is processed with stopping code 2 -### pop requested out of 214 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1527, parentID 1) is processed with stopping code 2 -### pop requested out of 213 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1526, parentID 1) is processed with stopping code 2 -### pop requested out of 212 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.868031,-0.490209,-0.0788454) -Old Polarization: (-0.428881,-0.820295,0.378386) -New Polarization: (-0.756597,-0.600034,0.259848) -Polarization Change: (-0.756597,-0.600034,0.259848) -New Momentum Direction: (0.652975,-0.672397,0.348577) -Momentum Change: (0.652975,-0.672397,0.348577) -Scattering Photon! -Old Momentum Direction: (0.652975,-0.672397,0.348577) -Old Polarization: (-0.756597,-0.600034,0.259848) -New Polarization: (-0.385647,-0.887375,0.25267) -Polarization Change: (-0.385647,-0.887375,0.25267) -New Momentum Direction: (-0.906259,0.415701,0.0767254) -Momentum Change: (-0.906259,0.415701,0.0767254) - Photon at Boundary! - Old Momentum Direction: (-0.906259,0.415701,0.0767254) - Old Polarization: (-0.385647,-0.887375,0.25267) - New Momentum Direction: (-0.81869,0.564698,0.104226) - New Polarization: (-0.525213,-0.809741,0.261671) - *** FresnelRefraction *** -Track (trackID 1525, parentID 1) is processed with stopping code 2 -### pop requested out of 211 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596066,-0.249217,-0.76328) - Old Polarization: (-0.731267,-0.561074,-0.387872) - New Momentum Direction: (0.803772,-0.33606,-0.490932) - New Polarization: (-0.58421,-0.601831,-0.544516) - *** FresnelRefraction *** -Track (trackID 1524, parentID 1) is processed with stopping code 2 -### pop requested out of 210 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1523, parentID 1) is processed with stopping code 2 -### pop requested out of 209 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.478844,0.163188,-0.8626) - Old Polarization: (-0.86217,-0.0977525,-0.497098) - New Momentum Direction: (0.646665,0.220381,-0.730244) - New Polarization: (-0.738216,-0.0601491,-0.671877) - *** FresnelRefraction *** -Track (trackID 1522, parentID 1) is processed with stopping code 2 -### pop requested out of 208 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.719351,0.674175,0.167396) - Old Polarization: (-0.593016,0.470513,0.653413) - New Momentum Direction: (-0.719351,0.674175,0.167396) - New Polarization: (0.41643,0.225654,0.880719) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.719351,0.674175,0.167396) - Old Polarization: (0.41643,0.225654,0.880719) - New Momentum Direction: (-0.719351,-0.674175,0.167396) - New Polarization: (-0.41643,0.225654,-0.880719) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.719351,-0.674175,0.167396) - Old Polarization: (-0.41643,0.225654,-0.880719) - New Momentum Direction: (-0.338697,-0.913167,0.226738) - New Polarization: (-0.602965,0.02566,-0.797355) - *** FresnelRefraction *** -Track (trackID 1521, parentID 1) is processed with stopping code 2 -### pop requested out of 207 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.482151,0.169677,-0.8595) -Old Polarization: (-0.860897,-0.0901454,-0.50073) -New Polarization: (-0.99359,-0.113028,0.00168517) -Polarization Change: (-0.99359,-0.113028,0.00168517) -New Momentum Direction: (0.00341556,-0.0151174,0.99988) -Momentum Change: (0.00341556,-0.0151174,0.99988) - -** Photon absorbed! ** -Track (trackID 1520, parentID 1) is processed with stopping code 2 -### pop requested out of 206 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.933981,-0.151444,0.323642) - Old Polarization: (-0.356785,-0.444916,0.821434) - New Momentum Direction: (0.873934,-0.206,0.440232) - New Polarization: (0.485329,0.320689,-0.813397) - *** FresnelRefraction *** -Track (trackID 1519, parentID 1) is processed with stopping code 2 -### pop requested out of 205 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.844996,0.386108,0.370003) - Old Polarization: (-0.45328,0.149995,0.878657) - New Momentum Direction: (0.689362,0.523032,0.501216) - New Polarization: (0.619215,-0.784529,-0.0329787) - *** FresnelRefraction *** -Track (trackID 1518, parentID 1) is processed with stopping code 2 -### pop requested out of 204 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.892127,-0.451783,-0.00111666) - Old Polarization: (-0.398679,-0.788423,0.468449) - New Momentum Direction: (0.792923,-0.60932,-0.00150604) - New Polarization: (0.539755,0.701245,0.465746) - *** FresnelRefraction *** -Track (trackID 1517, parentID 1) is processed with stopping code 2 -### pop requested out of 203 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.465217,0.217671,-0.858016) - Old Polarization: (-0.874421,-0.0377765,-0.483695) - New Momentum Direction: (0.631603,0.295522,-0.71676) - New Polarization: (-0.752362,0.0104509,-0.658667) - *** FresnelRefraction *** -Track (trackID 1516, parentID 1) is processed with stopping code 2 -### pop requested out of 202 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.79895,-0.517961,-0.305608) - Old Polarization: (-0.504772,-0.853795,0.127432) - New Momentum Direction: (0.578716,-0.702383,-0.414422) - New Polarization: (0.694013,0.157286,0.702572) - *** FresnelRefraction *** -Track (trackID 1515, parentID 1) is processed with stopping code 2 -### pop requested out of 201 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.530563,0.784277,-0.321579) - Old Polarization: (-0.801668,0.58752,0.110216) - New Momentum Direction: (0.721118,0.537544,-0.437076) - New Polarization: (-0.595966,0.802998,0.00431454) - *** FresnelRefraction *** -Track (trackID 1514, parentID 1) is processed with stopping code 2 -### pop requested out of 200 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.778982,-0.510535,-0.364062) - Old Polarization: (-0.526626,-0.847825,0.0621111) - New Momentum Direction: (0.528208,-0.691341,-0.492995) - New Polarization: (0.724872,0.0647595,0.685833) - *** FresnelRefraction *** -Track (trackID 1513, parentID 1) is processed with stopping code 2 -### pop requested out of 199 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.457923,0.36781,-0.809335) - Old Polarization: (-0.887305,0.13304,-0.441577) - New Momentum Direction: (0.61667,0.495317,-0.611865) - New Polarization: (-0.768228,0.208942,-0.605119) - *** FresnelRefraction *** -Track (trackID 1512, parentID 1) is processed with stopping code 2 -### pop requested out of 198 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.660897,-0.379581,-0.647405) - Old Polarization: (-0.658399,-0.707274,-0.257437) - New Momentum Direction: (-0.660897,-0.379581,-0.647405) - New Polarization: (-0.658399,0.707274,0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660897,-0.379581,-0.647405) - Old Polarization: (-0.658399,0.707274,0.257437) - New Momentum Direction: (-0.660897,-0.379581,0.647405) - New Polarization: (0.658399,-0.707274,0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660897,-0.379581,0.647405) - Old Polarization: (0.658399,-0.707274,0.257437) - New Momentum Direction: (-0.660897,0.379581,0.647405) - New Polarization: (-0.658399,-0.707274,-0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660897,0.379581,0.647405) - Old Polarization: (-0.658399,-0.707274,-0.257437) - New Momentum Direction: (0.660897,0.379581,0.647405) - New Polarization: (-0.658399,0.707274,0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.660897,0.379581,0.647405) - Old Polarization: (-0.658399,0.707274,0.257437) - New Momentum Direction: (0.660897,0.379581,-0.647405) - New Polarization: (0.658399,-0.707274,0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.660897,0.379581,-0.647405) - Old Polarization: (0.658399,-0.707274,0.257437) - New Momentum Direction: (-0.660897,0.379581,-0.647405) - New Polarization: (0.658399,0.707274,-0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660897,0.379581,-0.647405) - Old Polarization: (0.658399,0.707274,-0.257437) - New Momentum Direction: (-0.660897,0.379581,0.647405) - New Polarization: (-0.658399,-0.707274,-0.257437) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.660897,0.379581,0.647405) - Old Polarization: (-0.658399,-0.707274,-0.257437) - New Momentum Direction: (-0.660897,-0.379581,0.647405) - New Polarization: (0.658399,-0.707274,0.257437) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1511, parentID 1) is processed with stopping code 2 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.448083,0.522272,-0.725571) - Old Polarization: (-0.893047,0.298791,-0.336438) - New Momentum Direction: (0.608683,0.709462,-0.355202) - New Polarization: (-0.766612,0.410515,-0.493744) - *** FresnelRefraction *** -Track (trackID 1510, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.852419,-0.50595,-0.131895) - Old Polarization: (-0.446627,-0.835749,0.319451) - New Momentum Direction: (0.703049,-0.688143,-0.179391) - New Polarization: (0.612186,0.457284,0.645073) - *** FresnelRefraction *** -Track (trackID 1509, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.797176,0.517919,0.310275) - Old Polarization: (-0.506908,0.295003,0.809949) - New Momentum Direction: (0.57345,0.702778,0.421021) - New Polarization: (0.697596,-0.688346,0.198844) - *** FresnelRefraction *** -Track (trackID 1508, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1507, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1506, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1505, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.832787,-0.515597,-0.201556) - Old Polarization: (-0.46748,-0.849997,0.242832) - New Momentum Direction: (0.660019,-0.699687,-0.27352) - New Polarization: (0.640645,0.33406,0.691359) - *** FresnelRefraction *** -Track (trackID 1504, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.467364,0.216673,-0.857102) - Old Polarization: (-0.873187,-0.0384844,-0.485864) - New Momentum Direction: (0.633214,0.293563,-0.716143) - New Polarization: (-0.751032,0.00942704,-0.660199) - *** FresnelRefraction *** -Track (trackID 1503, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.51144,0.763317,-0.394685) -Old Polarization: (-0.823437,0.566671,0.0289116) -New Polarization: (-0.67966,-0.198008,0.706297) -Polarization Change: (-0.67966,-0.198008,0.706297) -New Momentum Direction: (-0.5719,0.746002,-0.341193) -Momentum Change: (-0.5719,0.746002,-0.341193) - Photon at Boundary! - Old Momentum Direction: (-0.5719,0.746002,-0.341193) - Old Polarization: (-0.67966,-0.198008,0.706297) - New Momentum Direction: (-0.776143,0.428011,-0.463044) - New Polarization: (-0.36764,0.289447,0.883777) - *** FresnelRefraction *** -Track (trackID 1502, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1501, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.616689,-0.314351,-0.721719) - Old Polarization: (-0.706573,-0.625231,-0.331422) - New Momentum Direction: (0.838248,-0.427289,-0.338771) - New Polarization: (-0.544861,-0.680967,-0.489296) - *** FresnelRefraction *** -Track (trackID 1500, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1499, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.931691,-0.283526,0.227079) - Old Polarization: (-0.356634,-0.595171,0.720128) - New Momentum Direction: (0.87066,-0.383927,0.307492) - New Polarization: (0.483099,0.785054,-0.387691) - *** FresnelRefraction *** -Track (trackID 1498, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.691744,-0.434668,-0.576675) - Old Polarization: (-0.623728,-0.762082,-0.173766) - New Momentum Direction: (0.204916,-0.589141,-0.781615) - New Polarization: (0.877146,-0.243806,0.41373) - *** FresnelRefraction *** -Track (trackID 1497, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.622477,-0.307594,-0.719659) - Old Polarization: (-0.701608,-0.626775,-0.33897) - New Momentum Direction: (0.839308,-0.41474,-0.3515) - New Polarization: (-0.542554,-0.68012,-0.493023) - *** FresnelRefraction *** -Track (trackID 1496, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8102,0.481743,0.333917) - Old Polarization: (-0.493274,0.252634,0.83238) - New Momentum Direction: (0.60328,0.655465,0.454332) - New Polarization: (0.679697,-0.720576,0.137048) - *** FresnelRefraction *** -Track (trackID 1495, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.887545,-0.460721,0.000264321) - Old Polarization: (-0.40798,-0.785677,0.465042) - New Momentum Direction: (0.779244,-0.62672,0.000359557) - New Polarization: (0.557321,0.693218,0.456992) - *** FresnelRefraction *** -Track (trackID 1494, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1493, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.553133,0.795035,-0.248924) - Old Polarization: (-0.776907,0.600135,0.190404) - New Momentum Direction: (0.751449,0.566537,-0.338172) - New Polarization: (-0.568361,0.816139,0.10432) - *** FresnelRefraction *** -Track (trackID 1492, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.859963,0.33802,0.382369) - Old Polarization: (-0.436022,0.0972416,0.894667) - New Momentum Direction: (0.723497,0.457219,0.517207) - New Polarization: (0.593832,-0.794253,-0.128554) - *** FresnelRefraction *** -Track (trackID 1491, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.554202,0.794412,-0.248535) - Old Polarization: (-0.776069,0.601095,0.190793) - New Momentum Direction: (0.752133,0.566151,-0.337298) - New Polarization: (-0.567601,0.816587,0.104951) - *** FresnelRefraction *** -Track (trackID 1490, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.723167,0.666232,0.182111) - Old Polarization: (-0.589038,0.457245,0.666305) - New Momentum Direction: (0.344729,0.905484,0.24751) - New Polarization: (0.82265,-0.418414,0.384937) - *** FresnelRefraction *** -Track (trackID 1489, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.664711,-0.401889,-0.629797) - Old Polarization: (-0.65354,-0.721253,-0.229521) - New Momentum Direction: (-0.664711,-0.401889,-0.629797) - New Polarization: (-0.65354,0.721253,0.229521) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.664711,-0.401889,-0.629797) - Old Polarization: (-0.65354,0.721253,0.229521) - New Momentum Direction: (-0.664711,-0.401889,0.629797) - New Polarization: (0.65354,-0.721253,0.229521) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.664711,-0.401889,0.629797) - Old Polarization: (0.65354,-0.721253,0.229521) - New Momentum Direction: (-0.664711,0.401889,0.629797) - New Polarization: (-0.65354,-0.721253,-0.229521) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.664711,0.401889,0.629797) - Old Polarization: (-0.65354,-0.721253,-0.229521) - New Momentum Direction: (0.664711,0.401889,0.629797) - New Polarization: (-0.65354,0.721253,0.229521) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1488, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.456869,0.495049,-0.739052) - Old Polarization: (-0.889184,0.27747,-0.363817) - New Momentum Direction: (0.614561,0.665919,-0.422926) - New Polarization: (-0.767114,0.379434,-0.517269) - *** FresnelRefraction *** -Track (trackID 1487, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.933209,-0.125393,0.336745) - Old Polarization: (-0.357591,-0.416256,0.835978) - New Momentum Direction: (0.872427,-0.170552,0.45802) - New Polarization: (0.486421,0.211745,-0.847678) - *** FresnelRefraction *** -Track (trackID 1486, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.809339,-0.517043,-0.278634) - Old Polarization: (-0.492689,-0.8559,0.157142) - New Momentum Direction: (0.60668,-0.699799,-0.37712) - New Polarization: (0.67513,0.203115,0.709185) - *** FresnelRefraction *** -Track (trackID 1485, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1484, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1483, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1482, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.504667,0.0410086,-0.862339) - Old Polarization: (-0.833991,-0.234964,-0.49925) - New Momentum Direction: (0.680495,0.0552962,-0.730663) - New Polarization: (-0.705378,-0.220571,-0.673639) - *** FresnelRefraction *** -Track (trackID 1481, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.85911,-0.498167,-0.117298) - Old Polarization: (-0.437507,-0.833786,0.336731) - New Momentum Direction: (0.720785,-0.674708,-0.158866) - New Polarization: (0.596691,0.487321,0.637557) - *** FresnelRefraction *** -Track (trackID 1480, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.89597,-0.443943,0.0123503) - Old Polarization: (-0.393793,-0.781283,0.484277) - New Momentum Direction: (0.801266,-0.598077,0.0166382) - New Polarization: (0.532366,0.72537,0.436377) - *** FresnelRefraction *** -Track (trackID 1479, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.472301,0.224239,-0.852437) - Old Polarization: (-0.871123,-0.028765,-0.490221) - New Momentum Direction: (0.636007,0.301963,-0.71015) - New Polarization: (-0.749022,0.0201831,-0.662238) - *** FresnelRefraction *** -Track (trackID 1478, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1477, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.528469,-0.0685982,-0.846177) - Old Polarization: (-0.805364,-0.355783,-0.474137) - New Momentum Direction: (0.715806,-0.0929156,-0.69209) - New Polarization: (-0.671775,-0.362196,-0.646168) - *** FresnelRefraction *** -Track (trackID 1476, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479689,0.682709,-0.551186) - Old Polarization: (-0.861652,0.485141,-0.148978) - New Momentum Direction: (0.647298,0.166737,-0.743777) - New Polarization: (-0.596316,0.71856,-0.357881) - *** FresnelRefraction *** -Track (trackID 1475, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1474, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.530079,-0.053391,-0.846266) - Old Polarization: (-0.806008,-0.341715,-0.483303) - New Momentum Direction: (0.713794,-0.0718953,-0.696656) - New Polarization: (-0.673105,-0.3452,-0.654038) - *** FresnelRefraction *** -Track (trackID 1473, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.930794,-0.0418754,0.363139) - Old Polarization: (-0.356183,-0.327286,0.875224) - New Momentum Direction: (0.869584,-0.056566,0.490534) - New Polarization: (0.481383,-0.124132,-0.867676) - *** FresnelRefraction *** -Track (trackID 1472, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1471, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.739894,0.637081,0.216067) - Old Polarization: (-0.570648,0.424284,0.703096) - New Momentum Direction: (0.403705,0.866416,0.293846) - New Polarization: (0.794591,-0.491246,0.356795) - *** FresnelRefraction *** -Track (trackID 1470, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1469, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.445809,0.473019,-0.759939) - Old Polarization: (-0.895087,0.243702,-0.373402) - New Momentum Direction: (0.606073,0.643063,-0.46813) - New Polarization: (-0.7743,0.342298,-0.532252) - *** FresnelRefraction *** -Track (trackID 1468, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1467, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1466, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857897,-0.50079,-0.114983) - Old Polarization: (-0.440153,-0.831718,0.338395) - New Momentum Direction: (0.715992,-0.680405,-0.156223) - New Polarization: (0.602313,0.488937,0.630999) - *** FresnelRefraction *** -Track (trackID 1465, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.602024,0.790364,-0.113545) - Old Polarization: (-0.723589,0.600143,0.34095) - New Momentum Direction: (0.81525,0.558324,-0.153761) - New Polarization: (-0.503099,0.814322,0.289433) - *** FresnelRefraction *** -Track (trackID 1464, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48234,0.149794,-0.863082) - Old Polarization: (-0.858908,-0.112721,-0.499571) - New Momentum Direction: (0.650598,0.202047,-0.732051) - New Polarization: (-0.734461,-0.0777083,-0.674187) - *** FresnelRefraction *** -Track (trackID 1463, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1462, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.599137,-0.279126,-0.750416) - Old Polarization: (-0.725706,-0.585243,-0.36172) - New Momentum Direction: (0.815274,-0.37982,-0.437109) - New Polarization: (-0.573654,-0.632783,-0.520102) - *** FresnelRefraction *** -Track (trackID 1461, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.629572,0.776048,-0.0372552) - Old Polarization: (-0.69275,0.582414,0.425313) - New Momentum Direction: (0.853523,0.518602,-0.0505076) - New Polarization: (-0.460594,0.796251,0.392221) - *** FresnelRefraction *** -Track (trackID 1460, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.893071,0.193115,0.406362) -Old Polarization: (-0.401578,-0.0651289,0.913506) -New Polarization: (-0.404334,0.515277,0.755648) -Polarization Change: (-0.404334,0.515277,0.755648) -New Momentum Direction: (-0.1227,-0.849287,0.513475) -Momentum Change: (-0.1227,-0.849287,0.513475) -Scattering Photon! -Old Momentum Direction: (-0.1227,-0.849287,0.513475) -Old Polarization: (-0.404334,0.515277,0.755648) -New Polarization: (-0.389068,-0.836609,-0.385631) -Polarization Change: (-0.389068,-0.836609,-0.385631) -New Momentum Direction: (-0.756662,0.0514542,0.651779) -Momentum Change: (-0.756662,0.0514542,0.651779) - -** Photon absorbed! ** -Track (trackID 1459, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1458, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.773448,0.578862,0.25826) - Old Polarization: (-0.531718,0.370726,0.761471) - New Momentum Direction: (0.5207,0.779663,0.347847) - New Polarization: (0.728028,-0.618312,0.296082) - *** FresnelRefraction *** -Track (trackID 1457, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.914679,-0.387831,0.113797) - Old Polarization: (-0.375535,-0.711363,0.594084) - New Momentum Direction: (0.836954,-0.525135,0.154084) - New Polarization: (0.509403,0.850436,0.131401) - *** FresnelRefraction *** -Track (trackID 1456, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.797087,-0.516607,-0.31268) - Old Polarization: (-0.506584,-0.853884,0.119389) - New Momentum Direction: (0.575115,-0.699863,-0.423597) - New Polarization: (0.695928,0.146361,0.703039) - *** FresnelRefraction *** -Track (trackID 1455, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1454, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.847033,-0.507785,-0.15713) - Old Polarization: (-0.451259,-0.843178,0.292259) - New Momentum Direction: (0.693459,-0.688296,-0.212988) - New Polarization: (0.616726,0.414216,0.669383) - *** FresnelRefraction *** -Track (trackID 1453, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.508755,0.739708,-0.440455) - Old Polarization: (-0.831062,0.555526,-0.02697) - New Momentum Direction: (0.683646,0.426989,-0.591868) - New Polarization: (-0.622542,0.764429,-0.167598) - *** FresnelRefraction *** -Track (trackID 1452, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.754198,-0.498203,-0.427761) - Old Polarization: (-0.554396,-0.832213,-0.00821189) - New Momentum Direction: (0.455454,-0.675446,-0.579943) - New Polarization: (0.767057,-0.0329122,0.640735) - *** FresnelRefraction *** -Track (trackID 1451, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1450, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1449, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.933109,-0.270658,0.236751) - Old Polarization: (-0.354487,-0.581816,0.732004) - New Momentum Direction: (0.873698,-0.366155,0.320285) - New Polarization: (0.479695,0.757947,-0.44205) - *** FresnelRefraction *** -Track (trackID 1448, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1447, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1446, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.840767,0.409396,0.354268) - Old Polarization: (-0.455353,0.180772,0.871766) - New Momentum Direction: (0.685391,0.550634,0.476488) - New Polarization: (0.617725,-0.786142,0.0199232) - *** FresnelRefraction *** -Track (trackID 1445, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.639633,0.768668,-0.00435582) -Old Polarization: (-0.681191,0.569448,0.460116) -New Polarization: (0.698221,0.329804,-0.635387) -Polarization Change: (0.698221,0.329804,-0.635387) -New Momentum Direction: (0.33899,-0.934061,-0.112321) -Momentum Change: (0.33899,-0.934061,-0.112321) - -** Photon absorbed! ** -Track (trackID 1444, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.593158,-0.251794,-0.764698) - Old Polarization: (-0.733594,-0.560338,-0.384528) - New Momentum Direction: (0.802803,-0.340787,-0.489256) - New Polarization: (-0.586087,-0.601845,-0.54248) - *** FresnelRefraction *** -Track (trackID 1443, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.884124,-0.46693,-0.0173698) - Old Polarization: (-0.411007,-0.794841,0.446432) - New Momentum Direction: (0.772832,-0.634172,-0.0235912) - New Polarization: (0.560761,0.665021,0.493249) - *** FresnelRefraction *** -Track (trackID 1442, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.471543,0.208449,-0.856853) - Old Polarization: (-0.870242,-0.0470969,-0.490368) - New Momentum Direction: (0.636924,0.281557,-0.717672) - New Polarization: (-0.747749,-0.000928359,-0.663981) - *** FresnelRefraction *** -Track (trackID 1441, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.630756,-0.341622,-0.696737) - Old Polarization: (-0.691087,-0.655656,-0.304162) - New Momentum Direction: (0.857132,-0.464229,-0.223196) - New Polarization: (-0.511971,-0.720131,-0.468292) - *** FresnelRefraction *** -Track (trackID 1440, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.936526,-0.22314,0.270422) - Old Polarization: (-0.349414,-0.530697,0.772185) - New Momentum Direction: (0.88089,-0.301247,0.36508) - New Polarization: (0.471751,0.621558,-0.625393) - *** FresnelRefraction *** -Track (trackID 1439, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.449812,0.54546,-0.707207) - Old Polarization: (-0.891302,0.324699,-0.316467) - New Momentum Direction: (0.610861,0.740754,-0.279522) - New Polarization: (-0.758146,0.445529,-0.476149) - *** FresnelRefraction *** -Track (trackID 1438, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.524092,-0.0577211,-0.849703) - Old Polarization: (-0.809704,-0.343064,-0.476116) - New Momentum Direction: (0.710779,-0.0782819,-0.699046) - New Polarization: (-0.676693,-0.347415,-0.649145) - *** FresnelRefraction *** -Track (trackID 1437, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.49918,0.74585,-0.441053) - Old Polarization: (-0.836889,0.546919,-0.022307) - New Momentum Direction: (0.677636,0.427005,-0.598729) - New Polarization: (-0.626499,0.761554,-0.165936) - *** FresnelRefraction *** -Track (trackID 1436, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1435, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.459663,0.585339,-0.667899) - Old Polarization: (-0.883806,0.375309,-0.279339) - New Momentum Direction: (0.459663,0.585339,0.667899) - New Polarization: (0.883806,-0.375309,-0.279339) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.459663,0.585339,0.667899) - Old Polarization: (0.883806,-0.375309,-0.279339) - New Momentum Direction: (0.459663,-0.585339,0.667899) - New Polarization: (-0.883806,-0.375309,0.279339) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.459663,-0.585339,0.667899) - Old Polarization: (-0.883806,-0.375309,0.279339) - New Momentum Direction: (-0.459663,-0.585339,0.667899) - New Polarization: (-0.883806,0.375309,-0.279339) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1434, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1433, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.554553,-0.159447,-0.81673) - Old Polarization: (-0.77549,-0.454986,-0.437726) - New Momentum Direction: (0.753035,-0.216515,-0.621336) - New Polarization: (-0.636552,-0.478754,-0.604646) - *** FresnelRefraction *** -Track (trackID 1432, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.931076,-0.0670662,0.358608) - Old Polarization: (-0.358285,-0.353387,0.864147) - New Momentum Direction: (0.868994,-0.0909637,0.486389) - New Polarization: (0.486129,-0.0264977,-0.873485) - *** FresnelRefraction *** -Track (trackID 1431, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.589111,0.793474,-0.152796) - Old Polarization: (-0.738246,0.605392,0.29748) - New Momentum Direction: (0.796892,0.567664,-0.206688) - New Polarization: (-0.522332,0.819324,0.236385) - *** FresnelRefraction *** -Track (trackID 1430, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.862962,-0.495035,-0.101181) - Old Polarization: (-0.433713,-0.828477,0.354286) - New Momentum Direction: (0.728429,-0.671244,-0.137197) - New Polarization: (0.591988,0.515855,0.619229) - *** FresnelRefraction *** -Track (trackID 1429, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1428, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.567026,-0.177074,-0.804442) - Old Polarization: (-0.763588,-0.47924,-0.432739) - New Momentum Direction: (0.765344,-0.239005,-0.5976) - New Polarization: (-0.623409,-0.506143,-0.59597) - *** FresnelRefraction *** -Track (trackID 1427, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.58617,-0.229589,-0.776977) - Old Polarization: (-0.741917,-0.537425,-0.400916) - New Momentum Direction: (0.791776,-0.310119,-0.526229) - New Polarization: (-0.597111,-0.574429,-0.559901) - *** FresnelRefraction *** -Track (trackID 1426, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.646575,-0.366664,-0.668953) - Old Polarization: (-0.673819,-0.685625,-0.275476) - New Momentum Direction: (0.646575,-0.366664,0.668953) - New Polarization: (0.673819,0.685625,-0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646575,-0.366664,0.668953) - Old Polarization: (0.673819,0.685625,-0.275476) - New Momentum Direction: (-0.646575,-0.366664,0.668953) - New Polarization: (0.673819,-0.685625,0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646575,-0.366664,0.668953) - Old Polarization: (0.673819,-0.685625,0.275476) - New Momentum Direction: (-0.646575,0.366664,0.668953) - New Polarization: (-0.673819,-0.685625,-0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646575,0.366664,0.668953) - Old Polarization: (-0.673819,-0.685625,-0.275476) - New Momentum Direction: (-0.646575,0.366664,-0.668953) - New Polarization: (0.673819,0.685625,-0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646575,0.366664,-0.668953) - Old Polarization: (0.673819,0.685625,-0.275476) - New Momentum Direction: (0.646575,0.366664,-0.668953) - New Polarization: (0.673819,-0.685625,0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646575,0.366664,-0.668953) - Old Polarization: (0.673819,-0.685625,0.275476) - New Momentum Direction: (0.646575,0.366664,0.668953) - New Polarization: (-0.673819,0.685625,0.275476) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646575,0.366664,0.668953) - Old Polarization: (-0.673819,0.685625,0.275476) - New Momentum Direction: (-0.646575,0.366664,0.668953) - New Polarization: (-0.673819,-0.685625,-0.275476) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1425, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1424, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.456178,0.600646,-0.656602) - Old Polarization: (-0.8846,0.3864,-0.26111) - New Momentum Direction: (0.456178,0.600646,0.656602) - New Polarization: (0.8846,-0.3864,-0.26111) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.456178,0.600646,0.656602) - Old Polarization: (0.8846,-0.3864,-0.26111) - New Momentum Direction: (0.456178,-0.600646,0.656602) - New Polarization: (-0.8846,-0.3864,0.26111) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.456178,-0.600646,0.656602) - Old Polarization: (-0.8846,-0.3864,0.26111) - New Momentum Direction: (-0.456178,-0.600646,0.656602) - New Polarization: (-0.8846,0.3864,-0.26111) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1423, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.558846,-0.177809,-0.809985) - Old Polarization: (-0.770073,-0.47369,-0.427324) - New Momentum Direction: (0.760442,-0.241952,-0.60265) - New Polarization: (-0.629804,-0.501052,-0.593544) - *** FresnelRefraction *** -Track (trackID 1422, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.728216,0.658301,0.190635) - Old Polarization: (-0.583394,0.449449,0.676496) - New Momentum Direction: (0.365622,0.894031,0.2589) - New Polarization: (0.812997,-0.442185,0.378826) - *** FresnelRefraction *** -Track (trackID 1421, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.450711,0.385769,-0.80501) - Old Polarization: (-0.891549,0.149356,-0.42759) - New Momentum Direction: (0.610806,0.522796,-0.594643) - New Polarization: (-0.772642,0.229431,-0.591933) - *** FresnelRefraction *** -Track (trackID 1420, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.936852,-0.163432,0.309191) - Old Polarization: (-0.349582,-0.463116,0.814442) - New Momentum Direction: (0.8813,-0.220832,0.417783) - New Polarization: (0.472363,0.386412,-0.792186) - *** FresnelRefraction *** -Track (trackID 1419, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.618452,0.783298,-0.0629403) - Old Polarization: (-0.704857,0.588359,0.396246) - New Momentum Direction: (0.839555,0.536514,-0.085442) - New Polarization: (-0.476964,0.803205,0.356885) - *** FresnelRefraction *** -Track (trackID 1418, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1417, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.554594,0.794401,-0.247696) - Old Polarization: (-0.77568,0.601302,0.191717) - New Momentum Direction: (0.752563,0.566284,-0.336114) - New Polarization: (-0.567176,0.816732,0.106114) - *** FresnelRefraction *** -Track (trackID 1416, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1415, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1414, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.911262,-0.40344,0.0826935) - Old Polarization: (-0.37669,-0.735377,0.563316) - New Momentum Direction: (0.831897,-0.543627,0.111428) - New Polarization: (0.508689,0.827292,0.238378) - *** FresnelRefraction *** -Track (trackID 1413, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1412, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.499557,0.0392922,-0.865389) - Old Polarization: (-0.837031,-0.235504,-0.49388) - New Momentum Direction: (0.677347,0.0532761,-0.733732) - New Polarization: (-0.708488,-0.221339,-0.670115) - *** FresnelRefraction *** -Track (trackID 1411, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.453501,0.396267,-0.798316) - Old Polarization: (-0.890441,0.163156,-0.424848) - New Momentum Direction: (0.612552,0.535245,-0.581629) - New Polarization: (-0.771518,0.244868,-0.587197) - *** FresnelRefraction *** -Track (trackID 1410, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.926747,0.016386,0.375329) - Old Polarization: (-0.358111,-0.263467,0.895735) - New Momentum Direction: (0.862977,0.0220368,0.504762) - New Polarization: (0.482063,-0.335046,-0.809543) - *** FresnelRefraction *** -Track (trackID 1409, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.835279,0.423951,0.350107) - Old Polarization: (-0.462074,0.196158,0.864875) - New Momentum Direction: (0.671953,0.571044,0.47158) - New Polarization: (0.628147,-0.77676,0.0455464) - *** FresnelRefraction *** -Track (trackID 1408, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.452324,0.589201,-0.669511) - Old Polarization: (-0.887531,0.371197,-0.272948) - New Momentum Direction: (0.452324,0.589201,0.669511) - New Polarization: (0.887531,-0.371197,-0.272948) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.452324,0.589201,0.669511) - Old Polarization: (0.887531,-0.371197,-0.272948) - New Momentum Direction: (0.452324,-0.589201,0.669511) - New Polarization: (-0.887531,-0.371197,0.272948) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.452324,-0.589201,0.669511) - Old Polarization: (-0.887531,-0.371197,0.272948) - New Momentum Direction: (-0.452324,-0.589201,0.669511) - New Polarization: (-0.887531,0.371197,-0.272948) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1407, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.458234,0.627524,-0.629472) - Old Polarization: (-0.881141,0.413679,-0.229042) - New Momentum Direction: (0.458234,0.627524,0.629472) - New Polarization: (0.881141,-0.413679,-0.229042) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.458234,0.627524,0.629472) - Old Polarization: (0.881141,-0.413679,-0.229042) - New Momentum Direction: (0.458234,-0.627524,0.629472) - New Polarization: (-0.881141,-0.413679,0.229042) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1406, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.683572,-0.426549,-0.592272) - Old Polarization: (-0.632772,-0.750761,-0.189623) - New Momentum Direction: (0.134592,-0.579089,-0.804077) - New Polarization: (0.897247,-0.273142,0.346902) - *** FresnelRefraction *** -Track (trackID 1405, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.854166,0.359235,0.375967) - Old Polarization: (-0.442187,0.121332,0.888678) - New Momentum Direction: (0.711347,0.485547,0.508163) - New Polarization: (0.60211,-0.793958,-0.0842338) - *** FresnelRefraction *** -Track (trackID 1404, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.869856,0.2977,0.393352) - Old Polarization: (-0.42602,0.0513195,0.903257) - New Momentum Direction: (0.74341,0.403628,0.533316) - New Polarization: (0.581033,-0.784678,-0.21606) - *** FresnelRefraction *** -Track (trackID 1403, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.633384,0.773566,-0.0205032) - Old Polarization: (-0.688108,0.575138,0.442407) - New Momentum Direction: (0.861177,0.507541,-0.0278771) - New Polarization: (-0.452402,0.790315,0.413201) - *** FresnelRefraction *** -Track (trackID 1402, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84867,-0.504615,-0.158504) - Old Polarization: (-0.448113,-0.845163,0.291366) - New Momentum Direction: (0.699635,-0.681663,-0.214117) - New Polarization: (0.610164,0.414086,0.67545) - *** FresnelRefraction *** -Track (trackID 1401, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.900655,0.176881,0.396905) - Old Polarization: (-0.388345,-0.0821563,0.917845) - New Momentum Direction: (0.810883,0.238214,0.534531) - New Polarization: (0.524617,-0.700648,-0.4836) - *** FresnelRefraction *** -Track (trackID 1400, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1399, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.710991,0.690012,0.13556) - Old Polarization: (-0.602042,0.497678,0.62439) - New Momentum Direction: (0.324231,0.928234,0.182362) - New Polarization: (0.83215,-0.371547,0.411678) - *** FresnelRefraction *** -Track (trackID 1398, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.926688,-0.331807,0.176503) - Old Polarization: (-0.360544,-0.652272,0.666745) - New Momentum Direction: (0.861666,-0.448032,0.238328) - New Polarization: (0.48725,0.861678,-0.141768) - *** FresnelRefraction *** -Track (trackID 1397, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.927688,-0.308524,0.210258) - Old Polarization: (-0.36356,-0.618321,0.69678) - New Momentum Direction: (0.861525,-0.419551,0.285922) - New Polarization: (0.494678,0.820439,-0.28666) - *** FresnelRefraction *** -Track (trackID 1396, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.486823,0.715088,-0.50165) - Old Polarization: (-0.851709,0.516074,-0.0908864) - New Momentum Direction: (0.659378,0.321798,-0.679461) - New Polarization: (-0.627075,0.733956,-0.260933) - *** FresnelRefraction *** -Track (trackID 1395, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1394, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.451814,0.547483,-0.704363) - Old Polarization: (-0.890167,0.328777,-0.315448) - New Momentum Direction: (0.612461,0.742146,-0.272231) - New Polarization: (-0.756383,0.4501,-0.474652) - *** FresnelRefraction *** -Track (trackID 1393, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.805837,0.495146,0.324743) - Old Polarization: (-0.497581,0.268934,0.824674) - New Momentum Direction: (0.594287,0.672516,0.441073) - New Polarization: (0.684708,-0.710771,0.16118) - *** FresnelRefraction *** -Track (trackID 1392, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1391, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.7137,-0.466137,-0.522827) - Old Polarization: (-0.599505,-0.792527,-0.111778) - New Momentum Direction: (0.305297,-0.63371,-0.710778) - New Polarization: (0.83975,-0.172788,0.514747) - *** FresnelRefraction *** -Track (trackID 1390, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1389, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.459049,0.265188,-0.847909) - Old Polarization: (-0.881228,0.0147992,-0.472459) - New Momentum Direction: (0.623249,0.360045,-0.69421) - New Polarization: (-0.760468,0.0720516,-0.645366) - *** FresnelRefraction *** -Track (trackID 1388, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.918593,-0.367875,0.144412) - Old Polarization: (-0.37283,-0.685451,0.625424) - New Momentum Direction: (0.843775,-0.499582,0.196115) - New Polarization: (0.507022,0.86182,0.0139599) - *** FresnelRefraction *** -Track (trackID 1387, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4458,0.4856,-0.751967) - Old Polarization: (-0.894978,0.257415,-0.364352) - New Momentum Direction: (0.606181,0.6603,-0.443338) - New Polarization: (-0.773299,0.359044,-0.522586) - *** FresnelRefraction *** -Track (trackID 1386, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.581227,-0.235128,-0.779032) - Old Polarization: (-0.745596,-0.537383,-0.394087) - New Momentum Direction: (0.790395,-0.319745,-0.522531) - New Polarization: (-0.600049,-0.575856,-0.555276) - *** FresnelRefraction *** -Track (trackID 1385, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.491684,0.0776551,-0.867304) - Old Polarization: (-0.846058,-0.193014,-0.496921) - New Momentum Direction: (0.666285,0.105231,-0.738235) - New Polarization: (-0.719067,-0.171539,-0.673437) - *** FresnelRefraction *** -Track (trackID 1384, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.749558,-0.492352,-0.442439) - Old Polarization: (-0.559288,-0.828582,-0.0254596) - New Momentum Direction: (0.444463,-0.666297,-0.598749) - New Polarization: (0.772777,-0.0528625,0.632473) - *** FresnelRefraction *** -Track (trackID 1383, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.836495,-0.511987,-0.195308) - Old Polarization: (-0.462324,-0.850732,0.250022) - New Momentum Direction: (0.671009,-0.692756,-0.264266) - New Polarization: (0.631387,0.347021,0.693489) - *** FresnelRefraction *** -Track (trackID 1382, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1381, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.721143,0.671679,0.169706) - Old Polarization: (-0.590978,0.468594,0.656631) - New Momentum Direction: (0.347254,0.9092,0.229718) - New Polarization: (0.821475,-0.413076,0.393124) - *** FresnelRefraction *** -Track (trackID 1380, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.907734,0.120264,0.401939) - Old Polarization: (-0.384371,-0.145603,0.911624) - New Momentum Direction: (0.822164,0.163178,0.545362) - New Polarization: (0.522766,-0.595615,-0.609884) - *** FresnelRefraction *** -Track (trackID 1379, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.745258,0.628065,0.223883) - Old Polarization: (-0.564575,0.415754,0.713024) - New Momentum Direction: (0.423844,0.853152,0.304119) - New Polarization: (0.784188,-0.513675,0.34812) - *** FresnelRefraction *** -Track (trackID 1378, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.454488,0.292743,-0.841274) - Old Polarization: (-0.88536,0.0446937,-0.462753) - New Momentum Direction: (0.618033,0.398086,-0.677911) - New Polarization: (-0.765288,0.107306,-0.63468) - *** FresnelRefraction *** -Track (trackID 1377, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.595415,-0.249251,-0.763777) -Old Polarization: (-0.731843,-0.560507,-0.387605) -New Polarization: (0.926306,0.375455,-0.0314844) -Polarization Change: (0.926306,0.375455,-0.0314844) -New Momentum Direction: (0.165427,-0.480362,-0.861328) -Momentum Change: (0.165427,-0.480362,-0.861328) - Photon at Boundary! - Old Momentum Direction: (0.165427,-0.480362,-0.861328) - Old Polarization: (0.926306,0.375455,-0.0314844) - New Momentum Direction: (0.223209,-0.648147,-0.728068) - New Polarization: (0.928532,0.368688,-0.0435498) - *** FresnelRefraction *** -Track (trackID 1376, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.455019,0.305442,-0.836458) - Old Polarization: (-0.885837,0.0594504,-0.460172) - New Momentum Direction: (0.617619,0.414591,-0.668327) - New Polarization: (-0.765974,0.124322,-0.630736) - *** FresnelRefraction *** -Track (trackID 1375, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.84396,-0.506416,-0.176848) - Old Polarization: (-0.452876,-0.849381,0.271028) - New Momentum Direction: (0.690185,-0.683174,-0.238575) - New Polarization: (0.616085,0.381815,0.688953) - *** FresnelRefraction *** -Track (trackID 1374, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.859906,0.332825,0.387026) - Old Polarization: (-0.437472,0.0898385,0.894733) - New Momentum Direction: (0.721166,0.451695,0.525253) - New Polarization: (0.597842,-0.788856,-0.142448) - *** FresnelRefraction *** -Track (trackID 1373, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.931583,-0.0512967,0.359892) - Old Polarization: (-0.355309,-0.337824,0.871568) - New Momentum Direction: (0.87112,-0.0692936,0.486156) - New Polarization: (0.480178,-0.0871547,-0.872831) - *** FresnelRefraction *** -Track (trackID 1372, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.751933,0.618153,0.229095) - Old Polarization: (-0.556651,0.409171,0.722993) - New Momentum Direction: (0.451628,0.8366,0.310053) - New Polarization: (0.768884,-0.541235,0.340414) - *** FresnelRefraction *** -Track (trackID 1371, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1370, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1369, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.469101,0.199617,-0.860289) - Old Polarization: (-0.870829,-0.0575635,-0.488205) - New Momentum Direction: (0.636058,0.270662,-0.722615) - New Polarization: (-0.74818,-0.012842,-0.663371) - *** FresnelRefraction *** -Track (trackID 1368, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.497147,0.744342,-0.445869) - Old Polarization: (-0.838708,0.543904,-0.0271619) - New Momentum Direction: (0.675487,0.420365,-0.605814) - New Polarization: (-0.627494,0.759188,-0.172872) - *** FresnelRefraction *** -Track (trackID 1367, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.649148,0.760392,0.0202623) - Old Polarization: (-0.67065,0.559559,0.486952) - New Momentum Direction: (0.883219,0.46815,0.0275685) - New Polarization: (-0.425358,0.774959,0.46745) - *** FresnelRefraction *** -Track (trackID 1366, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.860991,-0.498023,-0.103284) - Old Polarization: (-0.43688,-0.828122,0.351212) - New Momentum Direction: (0.722586,-0.676878,-0.140376) - New Polarization: (0.597853,0.50996,0.618477) - *** FresnelRefraction *** -Track (trackID 1365, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.460286,0.254566,-0.85049) - Old Polarization: (-0.879839,0.00303442,-0.475262) - New Momentum Direction: (0.624951,0.345635,-0.69998) - New Polarization: (-0.75881,0.0582734,-0.6487) - *** FresnelRefraction *** -Track (trackID 1364, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.90655,-0.416492,0.0685657) - Old Polarization: (-0.383724,-0.745514,0.544944) - New Momentum Direction: (0.82122,-0.563033,0.0926902) - New Polarization: (0.520052,0.805364,0.28449) - *** FresnelRefraction *** -Track (trackID 1363, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1362, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1361, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.928321,-0.00513682,0.371744) - Old Polarization: (-0.357469,-0.287087,0.888705) - New Momentum Direction: (0.865477,-0.00692152,0.5009) - New Polarization: (0.482039,-0.260624,-0.836489) - *** FresnelRefraction *** -Track (trackID 1360, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.613177,-0.296788,-0.732073) - Old Polarization: (-0.711299,-0.610551,-0.348254) - New Momentum Direction: (0.829841,-0.401657,-0.387344) - New Polarization: (-0.555389,-0.661614,-0.503795) - *** FresnelRefraction *** -Track (trackID 1359, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.726785,0.663123,0.179031) - Old Polarization: (-0.58461,0.460373,0.668048) - New Momentum Direction: (0.370514,0.896721,0.242098) - New Polarization: (0.810551,-0.439439,0.387171) - *** FresnelRefraction *** -Track (trackID 1358, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.512591,-0.00233104,-0.85863) - Old Polarization: (-0.823928,-0.282768,-0.491106) - New Momentum Direction: (0.692919,-0.00315109,-0.721008) - New Polarization: (-0.693491,-0.276573,-0.665265) - *** FresnelRefraction *** -Track (trackID 1357, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1356, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1355, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.935324,-0.239871,0.260059) - Old Polarization: (-0.351582,-0.548155,0.758891) - New Momentum Direction: (0.878208,-0.324273,0.351565) - New Polarization: (0.475346,0.673047,-0.566616) - *** FresnelRefraction *** -Track (trackID 1354, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.772226,-0.509216,-0.379955) -Old Polarization: (-0.534434,-0.844014,0.0449557) -New Polarization: (0.167039,-0.659202,-0.733178) -Polarization Change: (0.167039,-0.659202,-0.733178) -New Momentum Direction: (-0.673761,-0.619225,0.403245) -Momentum Change: (-0.673761,-0.619225,0.403245) - Photon at Boundary! - Old Momentum Direction: (-0.673761,-0.619225,0.403245) - Old Polarization: (0.167039,-0.659202,-0.733178) - New Momentum Direction: (-0.673761,0.619225,0.403245) - New Polarization: (-0.167039,-0.659202,0.733178) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.673761,0.619225,0.403245) - Old Polarization: (-0.167039,-0.659202,0.733178) - New Momentum Direction: (0.673761,0.619225,0.403245) - New Polarization: (-0.167039,0.659202,-0.733178) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.673761,0.619225,0.403245) - Old Polarization: (-0.167039,0.659202,-0.733178) - New Momentum Direction: (0.673761,0.619225,-0.403245) - New Polarization: (0.167039,-0.659202,-0.733178) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.673761,0.619225,-0.403245) - Old Polarization: (0.167039,-0.659202,-0.733178) - New Momentum Direction: (0.673761,-0.619225,-0.403245) - New Polarization: (-0.167039,-0.659202,0.733178) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.673761,-0.619225,-0.403245) -Old Polarization: (-0.167039,-0.659202,0.733178) -New Polarization: (-0.384858,-0.695095,0.607229) -Polarization Change: (-0.384858,-0.695095,0.607229) -New Momentum Direction: (-0.814717,-0.0533223,-0.577401) -Momentum Change: (-0.814717,-0.0533223,-0.577401) - -** Photon absorbed! ** -Track (trackID 1353, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.460344,0.250457,-0.851678) - Old Polarization: (-0.879513,-0.00163909,-0.475871) - New Momentum Direction: (0.625318,0.340214,-0.702305) - New Polarization: (-0.758391,0.0528525,-0.649653) - *** FresnelRefraction *** -Track (trackID 1352, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1351, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1350, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.575187,-0.21383,-0.78958) - Old Polarization: (-0.752887,-0.515822,-0.408765) - New Momentum Direction: (0.780446,-0.290137,-0.553828) - New Polarization: (-0.609582,-0.550006,-0.57088) - *** FresnelRefraction *** -Track (trackID 1349, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.516112,-0.026253,-0.856119) - Old Polarization: (-0.818821,-0.308404,-0.484169) - New Momentum Direction: (0.699532,-0.035583,-0.713715) - New Polarization: (-0.687337,-0.306753,-0.658385) - *** FresnelRefraction *** -Track (trackID 1348, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.933175,-0.122854,0.337773) - Old Polarization: (-0.35753,-0.413563,0.83734) - New Momentum Direction: (0.872406,-0.167071,0.459342) - New Polarization: (0.486262,0.201362,-0.850295) - *** FresnelRefraction *** -Track (trackID 1347, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.693133,0.711096,0.117934) -Old Polarization: (-0.622192,0.507634,0.595973) -New Polarization: (-0.820767,0.433215,0.372378) -Polarization Change: (-0.820767,0.433215,0.372378) -New Momentum Direction: (-0.524176,-0.311968,-0.792411) -Momentum Change: (-0.524176,-0.311968,-0.792411) - Photon at Boundary! - Old Momentum Direction: (-0.524176,-0.311968,-0.792411) - Old Polarization: (-0.820767,0.433215,0.372378) - New Momentum Direction: (-0.711979,-0.423741,-0.559937) - New Polarization: (-0.0936809,0.847594,-0.522311) - *** FresnelRefraction *** -Track (trackID 1346, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.860286,0.332087,0.386815) - Old Polarization: (-0.436893,0.0892018,0.89508) - New Momentum Direction: (0.722254,0.450521,0.524767) - New Polarization: (0.596795,-0.789431,-0.143648) - *** FresnelRefraction *** -Track (trackID 1345, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.462126,0.239951,-0.853735) - Old Polarization: (-0.877801,-0.0131385,-0.478845) - New Momentum Direction: (0.627452,0.325793,-0.707222) - New Polarization: (-0.75638,0.0393261,-0.652949) - *** FresnelRefraction *** -Track (trackID 1344, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.935344,-0.229109,0.269519) - Old Polarization: (-0.352312,-0.534986,0.767898) - New Momentum Direction: (0.877923,-0.31011,0.364806) - New Polarization: (0.476906,0.634092,-0.608677) - *** FresnelRefraction *** -Track (trackID 1343, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.64379,-0.348831,-0.681066) - Old Polarization: (-0.67767,-0.673278,-0.295737) - New Momentum Direction: (0.64379,-0.348831,0.681066) - New Polarization: (-0.267352,-0.936494,-0.226938) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.64379,-0.348831,0.681066) - Old Polarization: (-0.267352,-0.936494,-0.226938) - New Momentum Direction: (-0.64379,-0.348831,0.681066) - New Polarization: (-0.267352,0.936494,0.226938) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1342, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.466608,0.616172,-0.634515) - Old Polarization: (-0.877429,0.412784,-0.244392) - New Momentum Direction: (0.466608,0.616172,0.634515) - New Polarization: (0.877429,-0.412784,-0.244392) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.466608,0.616172,0.634515) - Old Polarization: (0.877429,-0.412784,-0.244392) - New Momentum Direction: (0.466608,-0.616172,0.634515) - New Polarization: (-0.877429,-0.412784,0.244392) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.466608,-0.616172,0.634515) - Old Polarization: (-0.877429,-0.412784,0.244392) - New Momentum Direction: (-0.466608,-0.616172,0.634515) - New Polarization: (-0.877429,0.412784,-0.244392) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1341, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.835359,-0.51367,-0.195753) - Old Polarization: (-0.464181,-0.849911,0.249374) - New Momentum Direction: (0.667034,-0.696187,-0.265309) - New Polarization: (0.6351,0.345165,0.69102) - *** FresnelRefraction *** -Track (trackID 1340, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1339, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.460491,0.638891,-0.616252) - Old Polarization: (-0.878726,0.426369,-0.214592) - New Momentum Direction: (0.460491,-0.638891,-0.616252) - New Polarization: (0.878726,0.426369,0.214592) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.460491,-0.638891,-0.616252) - Old Polarization: (0.878726,0.426369,0.214592) - New Momentum Direction: (0.460491,-0.638891,0.616252) - New Polarization: (-0.878726,-0.426369,0.214592) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.460491,-0.638891,0.616252) - Old Polarization: (-0.878726,-0.426369,0.214592) - New Momentum Direction: (-0.460491,-0.638891,0.616252) - New Polarization: (-0.878726,0.426369,-0.214592) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.460491,-0.638891,0.616252) - Old Polarization: (-0.878726,0.426369,-0.214592) - New Momentum Direction: (-0.460491,0.638891,0.616252) - New Polarization: (0.878726,0.426369,0.214592) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.460491,0.638891,0.616252) - Old Polarization: (0.878726,0.426369,0.214592) - New Momentum Direction: (-0.460491,0.638891,-0.616252) - New Polarization: (-0.878726,-0.426369,0.214592) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.460491,0.638891,-0.616252) - Old Polarization: (-0.878726,-0.426369,0.214592) - New Momentum Direction: (0.460491,0.638891,-0.616252) - New Polarization: (-0.878726,0.426369,-0.214592) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.460491,0.638891,-0.616252) -Old Polarization: (-0.878726,0.426369,-0.214592) -New Polarization: (-0.894626,-0.171988,0.41239) -Polarization Change: (-0.894626,-0.171988,0.41239) -New Momentum Direction: (0.409901,-0.68325,0.604276) -Momentum Change: (0.409901,-0.68325,0.604276) - Photon at Boundary! - Old Momentum Direction: (0.409901,-0.68325,0.604276) - Old Polarization: (-0.894626,-0.171988,0.41239) - New Momentum Direction: (0.409901,-0.68325,-0.604276) - New Polarization: (0.894626,0.171988,0.41239) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.409901,-0.68325,-0.604276) - Old Polarization: (0.894626,0.171988,0.41239) - New Momentum Direction: (0.557416,-0.118431,-0.821743) - New Polarization: (0.773366,-0.285943,0.565811) - *** FresnelRefraction *** -Track (trackID 1338, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1337, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1336, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.901163,0.155702,0.404552) - Old Polarization: (-0.391873,-0.106349,0.913852) - New Momentum Direction: (0.808563,0.211351,0.549141) - New Polarization: (0.533509,-0.656965,-0.532696) - *** FresnelRefraction *** -Track (trackID 1335, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.622762,-0.322404,-0.712898) - Old Polarization: (-0.700186,-0.636254,-0.323914) - New Momentum Direction: (0.622762,-0.322404,0.712898) - New Polarization: (-0.283634,-0.942204,-0.178335) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.622762,-0.322404,0.712898) - Old Polarization: (-0.283634,-0.942204,-0.178335) - New Momentum Direction: (-0.622762,-0.322404,0.712898) - New Polarization: (-0.283634,0.942204,0.178335) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.622762,-0.322404,0.712898) - Old Polarization: (-0.283634,0.942204,0.178335) - New Momentum Direction: (-0.622762,0.322404,0.712898) - New Polarization: (0.283634,0.942204,-0.178335) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.622762,0.322404,0.712898) - Old Polarization: (0.283634,0.942204,-0.178335) - New Momentum Direction: (-0.84491,0.437411,0.307894) - New Polarization: (0.51851,0.811159,0.270498) - *** FresnelRefraction *** -Track (trackID 1334, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.638805,-0.349705,-0.685299) - Old Polarization: (-0.682621,-0.668507,-0.295173) - New Momentum Direction: (0.865252,-0.47367,-0.164245) - New Polarization: (-0.491477,-0.736763,-0.464359) - *** FresnelRefraction *** -Track (trackID 1333, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.651194,-0.378898,-0.657558) - Old Polarization: (-0.668493,-0.696544,-0.26066) - New Momentum Direction: (0.651194,-0.378898,0.657558) - New Polarization: (0.668493,0.696544,-0.26066) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.651194,-0.378898,0.657558) - Old Polarization: (0.668493,0.696544,-0.26066) - New Momentum Direction: (-0.651194,-0.378898,0.657558) - New Polarization: (0.668493,-0.696544,0.26066) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.651194,-0.378898,0.657558) - Old Polarization: (0.668493,-0.696544,0.26066) - New Momentum Direction: (-0.651194,0.378898,0.657558) - New Polarization: (-0.668493,-0.696544,-0.26066) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.651194,0.378898,0.657558) - Old Polarization: (-0.668493,-0.696544,-0.26066) - New Momentum Direction: (-0.651194,0.378898,-0.657558) - New Polarization: (0.668493,0.696544,-0.26066) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.651194,0.378898,-0.657558) - Old Polarization: (0.668493,0.696544,-0.26066) - New Momentum Direction: (0.651194,0.378898,-0.657558) - New Polarization: (0.668493,-0.696544,0.26066) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1332, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.57731,-0.226767,-0.784404) - Old Polarization: (-0.749764,-0.527673,-0.399268) - New Momentum Direction: (0.785502,-0.308545,-0.536458) - New Polarization: (-0.605129,-0.564526,-0.561364) - *** FresnelRefraction *** -Track (trackID 1331, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.730449,0.654983,0.193499) -Old Polarization: (-0.580851,0.446749,0.680461) -New Polarization: (0.643243,0.172167,-0.746054) -Polarization Change: (0.643243,0.172167,-0.746054) -New Momentum Direction: (0.106785,-0.98504,-0.135249) -Momentum Change: (0.106785,-0.98504,-0.135249) - Photon at Boundary! - Old Momentum Direction: (0.106785,-0.98504,-0.135249) - Old Polarization: (0.643243,0.172167,-0.746054) - New Momentum Direction: (0.144913,-0.972272,-0.18354) - New Polarization: (-0.56863,-0.233641,0.788716) - *** FresnelRefraction *** -Track (trackID 1330, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.710782,-0.462736,-0.529778) - Old Polarization: (-0.602719,-0.788949,-0.119535) - New Momentum Direction: (0.292815,-0.62901,-0.720143) - New Polarization: (0.844873,-0.18245,0.502893) - *** FresnelRefraction *** -Track (trackID 1329, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.547657,-0.134662,-0.825796) -Old Polarization: (-0.783615,-0.428512,-0.449806) -New Polarization: (0.910781,0.405215,-0.0792422) -Polarization Change: (0.910781,0.405215,-0.0792422) -New Momentum Direction: (0.0150858,0.159134,0.987142) -Momentum Change: (0.0150858,0.159134,0.987142) - Photon at Boundary! - Old Momentum Direction: (0.0150858,0.159134,0.987142) - Old Polarization: (0.910781,0.405215,-0.0792422) - New Momentum Direction: (0.0204566,0.215788,0.976226) - New Polarization: (0.818508,-0.564331,0.10759) - *** FresnelRefraction *** -Track (trackID 1328, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.668102,-0.404234,-0.624687) - Old Polarization: (-0.649884,-0.725857,-0.225349) - New Momentum Direction: (-0.668102,-0.404234,-0.624687) - New Polarization: (-0.649884,0.725857,0.225349) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668102,-0.404234,-0.624687) - Old Polarization: (-0.649884,0.725857,0.225349) - New Momentum Direction: (-0.668102,-0.404234,0.624687) - New Polarization: (0.649884,-0.725857,0.225349) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.668102,-0.404234,0.624687) - Old Polarization: (0.649884,-0.725857,0.225349) - New Momentum Direction: (-0.668102,0.404234,0.624687) - New Polarization: (-0.649884,-0.725857,-0.225349) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1327, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.521202,0.776108,-0.354973) - Old Polarization: (-0.812106,0.578891,0.0732753) - New Momentum Direction: (0.708218,0.515531,-0.482343) - New Polarization: (-0.606639,0.793854,-0.0422452) - *** FresnelRefraction *** -Track (trackID 1326, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.888092,0.22973,0.398141) - Old Polarization: (-0.403951,-0.0232781,0.914484) - New Momentum Direction: (0.783897,0.310307,0.537787) - New Polarization: (0.547918,-0.75314,-0.364097) - *** FresnelRefraction *** -Track (trackID 1325, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.786751,-0.51645,-0.338085) - Old Polarization: (-0.518604,-0.85008,0.0917269) - New Momentum Direction: (0.545503,-0.701219,-0.45904) - New Polarization: (0.715179,0.103897,0.691176) - *** FresnelRefraction *** -Track (trackID 1324, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.691923,0.715271,0.098138) - Old Polarization: (-0.623562,0.52355,0.580574) - New Momentum Direction: (0.93249,0.336111,0.132259) - New Polarization: (-0.34791,0.737408,0.578954) - *** FresnelRefraction *** -Track (trackID 1323, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.918729,0.0410382,0.392751) - Old Polarization: (-0.373464,-0.232853,0.897944) - New Momentum Direction: (0.84357,0.055809,0.534112) - New Polarization: (0.508574,-0.40243,-0.761185) - *** FresnelRefraction *** -Track (trackID 1322, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.918746,-0.373728,0.12741) - Old Polarization: (-0.369362,-0.699415,0.611874) - New Momentum Direction: (0.846063,-0.504567,0.172015) - New Polarization: (0.499429,0.863085,0.0751985) - *** FresnelRefraction *** -Track (trackID 1321, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.748972,-0.497182,-0.438008) - Old Polarization: (-0.560479,-0.82796,-0.0185757) - New Momentum Direction: (0.435645,-0.675403,-0.595017) - New Polarization: (0.778014,-0.0498945,0.626263) - *** FresnelRefraction *** -Track (trackID 1320, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.609877,0.786901,-0.0940105) - Old Polarization: (-0.715007,0.597518,0.362955) - New Momentum Direction: (0.825256,0.550246,-0.12721) - New Polarization: (-0.492048,0.811089,0.316265) - *** FresnelRefraction *** -Track (trackID 1319, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1318, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1317, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1316, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.67072,-0.409021,-0.618738) - Old Polarization: (-0.646967,-0.730582,-0.218364) - New Momentum Direction: (-0.67072,-0.409021,-0.618738) - New Polarization: (-0.646967,0.730582,0.218364) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.67072,-0.409021,-0.618738) - Old Polarization: (-0.646967,0.730582,0.218364) - New Momentum Direction: (-0.67072,-0.409021,0.618738) - New Polarization: (0.646967,-0.730582,0.218364) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1315, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 164 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 32 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 197 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.357973,0.808359,-0.467344) - Old Polarization: (0.778759,0.0176705,0.627074) - New Momentum Direction: (0.48599,0.601048,-0.634473) - New Polarization: (0.782009,0.0250837,0.622762) - *** FresnelRefraction *** -Track (trackID 1788, parentID 1) is processed with stopping code 2 -### pop requested out of 196 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.764942,-0.0899807,0.637783) - Old Polarization: (0.387622,-0.726501,-0.567402) - New Momentum Direction: (0.485798,-0.122108,0.8655) - New Polarization: (0.548625,-0.728252,-0.410683) - *** FresnelRefraction *** -Track (trackID 1787, parentID 1) is processed with stopping code 2 -### pop requested out of 195 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.872969,-0.479461,-0.0896773) - Old Polarization: (-0.17515,-0.136533,-0.975029) - New Momentum Direction: (0.749882,-0.650294,-0.12163) - New Polarization: (0.242336,0.441074,-0.864134) - *** FresnelRefraction *** -Track (trackID 1786, parentID 1) is processed with stopping code 2 -### pop requested out of 194 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.204104,-0.578904,-0.789438) - Old Polarization: (0.43623,0.775707,-0.456051) - New Momentum Direction: (0.277362,-0.786687,-0.551538) - New Polarization: (0.472786,0.611502,-0.634459) - *** FresnelRefraction *** -Track (trackID 1785, parentID 1) is processed with stopping code 2 -### pop requested out of 193 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.467683,-0.737288,-0.487523) - Old Polarization: (0.768359,0.611759,-0.188082) - New Momentum Direction: (0.629322,-0.416646,-0.656019) - New Polarization: (0.021193,-0.834625,0.550411) - *** FresnelRefraction *** -Track (trackID 1784, parentID 1) is processed with stopping code 2 -### pop requested out of 192 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0643551,0.939917,-0.335281) - Old Polarization: (-0.757253,0.172825,0.629841) - New Momentum Direction: (-0.086641,0.888111,-0.451388) - New Polarization: (-0.759844,0.234122,0.606485) - *** FresnelRefraction *** -Track (trackID 1783, parentID 1) is processed with stopping code 2 -### pop requested out of 191 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1782, parentID 1) is processed with stopping code 2 -### pop requested out of 190 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.658836,-0.741342,-0.127853) - Old Polarization: (-0.409646,-0.496086,0.765564) - New Momentum Direction: (0.891998,-0.417584,-0.1731) - New Polarization: (-0.191913,-0.696539,0.691377) - *** FresnelRefraction *** -Track (trackID 1781, parentID 1) is processed with stopping code 2 -### pop requested out of 189 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.567097,0.811116,0.143148) - Old Polarization: (0.589352,0.521013,-0.617422) - New Momentum Direction: (-0.765353,0.613931,0.193192) - New Polarization: (0.427029,0.708969,-0.561257) - *** FresnelRefraction *** -Track (trackID 1780, parentID 1) is processed with stopping code 2 -### pop requested out of 188 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1779, parentID 1) is processed with stopping code 2 -### pop requested out of 187 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.698581,0.457492,-0.550168) - Old Polarization: (-0.66644,0.695902,-0.267542) - New Momentum Direction: (0.233197,0.621747,-0.747697) - New Polarization: (0.921896,0.103287,0.373416) - *** FresnelRefraction *** -Track (trackID 1778, parentID 1) is processed with stopping code 2 -### pop requested out of 186 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.364961,-0.010711,-0.930961) - Old Polarization: (0.0882907,0.995826,0.0231549) - New Momentum Direction: (0.494506,-0.014513,-0.869053) - New Polarization: (-0.0263859,0.999149,-0.0316995) - *** FresnelRefraction *** -Track (trackID 1777, parentID 1) is processed with stopping code 2 -### pop requested out of 185 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.737625,0.0487974,-0.673445) - Old Polarization: (-0.650673,0.317808,-0.689654) - New Momentum Direction: (0.398579,0.0662812,-0.914736) - New Polarization: (0.889085,0.216856,0.403115) - *** FresnelRefraction *** -Track (trackID 1776, parentID 1) is processed with stopping code 2 -### pop requested out of 184 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.541419,0.836697,-0.0824813) - Old Polarization: (-0.155791,0.196246,0.968099) - New Momentum Direction: (0.732394,0.671677,-0.111575) - New Polarization: (-0.104814,0.273135,0.956249) - *** FresnelRefraction *** -Track (trackID 1775, parentID 1) is processed with stopping code 2 -### pop requested out of 183 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.918726,-0.0276443,-0.393928) - Old Polarization: (-0.250536,-0.730276,0.635554) - New Momentum Direction: (-0.845978,-0.0373274,-0.53191) - New Polarization: (-0.340773,-0.729399,0.59317) - *** FresnelRefraction *** -Track (trackID 1774, parentID 1) is processed with stopping code 2 -### pop requested out of 182 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.563696,-0.693339,0.448919) - Old Polarization: (-0.722322,0.677399,0.139217) - New Momentum Direction: (-0.563696,0.693339,0.448919) - New Polarization: (-0.774092,-0.633048,0.00571187) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.563696,0.693339,0.448919) - Old Polarization: (-0.774092,-0.633048,0.00571187) - New Momentum Direction: (0.563696,0.693339,0.448919) - New Polarization: (-0.774092,0.633048,-0.00571187) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.563696,0.693339,0.448919) - Old Polarization: (-0.774092,0.633048,-0.00571187) - New Momentum Direction: (0.563696,0.693339,-0.448919) - New Polarization: (0.774092,-0.633048,-0.00571187) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1773, parentID 1) is processed with stopping code 2 -### pop requested out of 181 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.942706,-0.0141623,-0.333323) - Old Polarization: (-0.0858522,-0.955154,0.283391) - New Momentum Direction: (-0.892928,-0.0191109,-0.449793) - New Polarization: (-0.116726,-0.955105,0.272305) - *** FresnelRefraction *** -Track (trackID 1772, parentID 1) is processed with stopping code 2 -### pop requested out of 180 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.428039,0.542359,0.722931) - Old Polarization: (-0.361592,0.835874,-0.412997) - New Momentum Direction: (0.581516,0.736827,0.344855) - New Polarization: (-0.740386,0.303656,0.599685) - *** FresnelRefraction *** -Track (trackID 1771, parentID 1) is processed with stopping code 2 -### pop requested out of 179 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1770, parentID 1) is processed with stopping code 2 -### pop requested out of 178 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.562273,0.556197,-0.611959) - Old Polarization: (-0.826777,-0.393302,0.402186) - New Momentum Direction: (-0.562273,0.556197,0.611959) - New Polarization: (0.826777,0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.562273,0.556197,0.611959) - Old Polarization: (0.826777,0.393302,0.402186) - New Momentum Direction: (0.562273,0.556197,0.611959) - New Polarization: (0.826777,-0.393302,-0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,0.556197,0.611959) - Old Polarization: (0.826777,-0.393302,-0.402186) - New Momentum Direction: (0.562273,-0.556197,0.611959) - New Polarization: (-0.826777,-0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,-0.556197,0.611959) - Old Polarization: (-0.826777,-0.393302,0.402186) - New Momentum Direction: (0.562273,-0.556197,-0.611959) - New Polarization: (0.826777,0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,-0.556197,-0.611959) - Old Polarization: (0.826777,0.393302,0.402186) - New Momentum Direction: (-0.562273,-0.556197,-0.611959) - New Polarization: (0.826777,-0.393302,-0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.562273,-0.556197,-0.611959) - Old Polarization: (0.826777,-0.393302,-0.402186) - New Momentum Direction: (-0.562273,0.556197,-0.611959) - New Polarization: (-0.826777,-0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.562273,0.556197,-0.611959) - Old Polarization: (-0.826777,-0.393302,0.402186) - New Momentum Direction: (-0.562273,0.556197,0.611959) - New Polarization: (0.826777,0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.562273,0.556197,0.611959) - Old Polarization: (0.826777,0.393302,0.402186) - New Momentum Direction: (0.562273,0.556197,0.611959) - New Polarization: (0.826777,-0.393302,-0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,0.556197,0.611959) - Old Polarization: (0.826777,-0.393302,-0.402186) - New Momentum Direction: (0.562273,-0.556197,0.611959) - New Polarization: (-0.826777,-0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,-0.556197,0.611959) - Old Polarization: (-0.826777,-0.393302,0.402186) - New Momentum Direction: (0.562273,-0.556197,-0.611959) - New Polarization: (0.826777,0.393302,0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.562273,-0.556197,-0.611959) - Old Polarization: (0.826777,0.393302,0.402186) - New Momentum Direction: (-0.562273,-0.556197,-0.611959) - New Polarization: (0.826777,-0.393302,-0.402186) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.562273,-0.556197,-0.611959) - Old Polarization: (0.826777,-0.393302,-0.402186) - New Momentum Direction: (-0.562273,0.556197,-0.611959) - New Polarization: (-0.826777,-0.393302,0.402186) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1769, parentID 1) is processed with stopping code 2 -### pop requested out of 177 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.578545,-0.542148,-0.609395) - Old Polarization: (0.13167,0.675251,-0.725741) - New Momentum Direction: (-0.578545,-0.542148,0.609395) - New Polarization: (-0.13167,-0.675251,-0.725741) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.578545,-0.542148,0.609395) - Old Polarization: (-0.13167,-0.675251,-0.725741) - New Momentum Direction: (0.578545,-0.542148,0.609395) - New Polarization: (-0.13167,0.675251,0.725741) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.578545,-0.542148,0.609395) - Old Polarization: (-0.13167,0.675251,0.725741) - New Momentum Direction: (0.578545,0.542148,0.609395) - New Polarization: (0.13167,0.675251,-0.725741) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1768, parentID 1) is processed with stopping code 2 -### pop requested out of 176 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.285959,-0.889958,-0.355249) - Old Polarization: (0.425005,-0.450063,0.785375) - New Momentum Direction: (-0.384804,-0.789557,-0.478044) - New Polarization: (0.365235,-0.605905,0.706741) - *** FresnelRefraction *** -Track (trackID 1767, parentID 1) is processed with stopping code 2 -### pop requested out of 175 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.242498,-0.968792,0.051343) - Old Polarization: (-0.0295242,0.0602676,0.997746) - New Momentum Direction: (-0.329508,-0.941572,0.0697653) - New Polarization: (0.425749,-0.0822267,0.901097) - *** FresnelRefraction *** -Track (trackID 1766, parentID 1) is processed with stopping code 2 -### pop requested out of 174 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.115624,0.178509,-0.977121) - Old Polarization: (-0.603848,0.768435,0.211838) - New Momentum Direction: (-0.157002,0.242392,-0.95739) - New Polarization: (0.443899,-0.848651,-0.287656) - *** FresnelRefraction *** -Track (trackID 1765, parentID 1) is processed with stopping code 2 -### pop requested out of 173 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1764, parentID 1) is processed with stopping code 2 -### pop requested out of 172 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.139907,-0.281721,0.949242) - Old Polarization: (0.944592,-0.249519,-0.213275) - New Momentum Direction: (0.189556,-0.381697,0.904641) - New Polarization: (0.38223,0.877352,0.290091) - *** FresnelRefraction *** -Track (trackID 1763, parentID 1) is processed with stopping code 2 -### pop requested out of 171 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.151543,0.389724,0.908378) - Old Polarization: (0.891698,0.342636,-0.295762) - New Momentum Direction: (0.203881,0.524324,0.826751) - New Polarization: (0.440875,-0.803184,0.400655) - *** FresnelRefraction *** -Track (trackID 1762, parentID 1) is processed with stopping code 2 -### pop requested out of 170 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.606429,0.368535,0.704575) - Old Polarization: (-0.791416,-0.365394,-0.49005) - New Momentum Direction: (-0.816239,0.49604,0.29614) - New Polarization: (-0.167887,-0.694151,0.699977) - *** FresnelRefraction *** -Track (trackID 1761, parentID 1) is processed with stopping code 2 -### pop requested out of 169 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.830948,-0.0215302,0.555933) - Old Polarization: (0.42891,0.611646,0.664775) - New Momentum Direction: (-0.657338,-0.0291635,0.753032) - New Polarization: (-0.589139,0.642987,-0.48937) - *** FresnelRefraction *** -Track (trackID 1760, parentID 1) is processed with stopping code 2 -### pop requested out of 168 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1759, parentID 1) is processed with stopping code 2 -### pop requested out of 167 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.250375,-0.955331,0.157022) - Old Polarization: (0.694487,0.0642239,-0.716633) - New Momentum Direction: (0.336753,-0.917603,0.211194) - New Polarization: (0.348576,-0.0868698,-0.933246) - *** FresnelRefraction *** -Track (trackID 1758, parentID 1) is processed with stopping code 2 -### pop requested out of 166 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1757, parentID 1) is processed with stopping code 2 -### pop requested out of 165 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.437203,-0.202274,-0.876321) - Old Polarization: (-0.752788,-0.615453,-0.233511) - New Momentum Direction: (0.590902,-0.273384,-0.75901) - New Polarization: (-0.704798,-0.632731,-0.320797) - *** FresnelRefraction *** -Track (trackID 1756, parentID 1) is processed with stopping code 2 -### pop requested out of 164 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.977174,-0.211998,0.0137168) - Old Polarization: (-0.145891,-0.622723,0.768721) - New Momentum Direction: (0.957581,-0.287563,0.0186061) - New Polarization: (0.198212,0.70416,0.681815) - *** FresnelRefraction *** -Track (trackID 1755, parentID 1) is processed with stopping code 2 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.962452,-0.268243,-0.0416097) - Old Polarization: (-0.161025,-0.687585,0.708024) - New Momentum Direction: (0.92997,-0.36329,-0.0563532) - New Polarization: (0.218812,0.423787,0.878935) - *** FresnelRefraction *** -Track (trackID 1754, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.565431,-0.364914,-0.739679) - Old Polarization: (-0.607131,-0.791168,-0.0737918) - New Momentum Direction: (0.565431,-0.364914,0.739679) - New Polarization: (-0.518124,-0.854919,-0.0256983) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.565431,-0.364914,0.739679) - Old Polarization: (-0.518124,-0.854919,-0.0256983) - New Momentum Direction: (-0.565431,-0.364914,0.739679) - New Polarization: (-0.518124,0.854919,0.0256983) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1753, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.244581,0.53372,-0.80952) - Old Polarization: (-0.96543,0.211653,-0.152143) - New Momentum Direction: (0.332327,0.725198,-0.603032) - New Polarization: (-0.943157,0.253049,-0.215455) - *** FresnelRefraction *** -Track (trackID 1752, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.290769,0.105087,-0.951005) -Old Polarization: (-0.913021,-0.266722,-0.308629) -New Polarization: (0.854162,-0.24674,0.457742) -Polarization Change: (0.854162,-0.24674,0.457742) -New Momentum Direction: (-0.352127,-0.922176,0.159995) -Momentum Change: (-0.352127,-0.922176,0.159995) - -** Photon absorbed! ** -Track (trackID 1751, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.362677,-0.079381,-0.928528) - Old Polarization: (-0.83364,-0.472989,-0.285178) - New Momentum Direction: (0.362677,-0.079381,0.928528) - New Polarization: (-0.713502,-0.664595,0.221872) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.362677,-0.079381,0.928528) - Old Polarization: (-0.713502,-0.664595,0.221872) - New Momentum Direction: (-0.362677,-0.079381,0.928528) - New Polarization: (-0.713502,0.664595,-0.221872) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.362677,-0.079381,0.928528) - Old Polarization: (-0.713502,0.664595,-0.221872) - New Momentum Direction: (-0.492736,-0.107848,0.86347) - New Polarization: (0.336913,0.891253,0.303576) - *** FresnelRefraction *** -Track (trackID 1750, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.535361,-0.335228,-0.775249) - Old Polarization: (-0.640839,-0.759121,-0.114287) - New Momentum Direction: (0.72713,-0.455309,-0.513785) - New Polarization: (-0.604456,-0.779418,-0.164742) - *** FresnelRefraction *** -Track (trackID 1749, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.973159,-0.230126,0.00181983) -Old Polarization: (-0.152799,-0.640204,0.752856) -New Polarization: (-0.33186,0.331156,-0.883292) -Polarization Change: (-0.33186,0.331156,-0.883292) -New Momentum Direction: (0.758129,0.650825,-0.0408343) -Momentum Change: (0.758129,0.650825,-0.0408343) - -** Photon absorbed! ** -Track (trackID 1748, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.812905,-0.445974,-0.374556) - Old Polarization: (-0.330671,-0.882848,0.333521) - New Momentum Direction: (0.611773,-0.60574,-0.508737) - New Polarization: (0.462192,-0.248209,0.851335) - *** FresnelRefraction *** -Track (trackID 1747, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.984217,0.0585768,0.166988) - Old Polarization: (-0.140086,-0.318693,0.937449) - New Momentum Direction: (0.970628,0.0796354,0.227021) - New Polarization: (0.190598,-0.830355,-0.523625) - *** FresnelRefraction *** -Track (trackID 1746, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.374072,0.806811,-0.457302) - Old Polarization: (-0.821142,0.517332,0.241028) - New Momentum Direction: (0.508026,0.59682,-0.62106) - New Polarization: (-0.695192,0.709816,0.113445) - *** FresnelRefraction *** -Track (trackID 1745, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.655908,-0.422216,-0.625714) - Old Polarization: (-0.505809,-0.861145,0.0508613) - New Momentum Direction: (-0.655908,-0.422216,-0.625714) - New Polarization: (-0.505809,0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,-0.422216,-0.625714) - Old Polarization: (-0.505809,0.861145,-0.0508613) - New Momentum Direction: (-0.655908,-0.422216,0.625714) - New Polarization: (0.505809,-0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,-0.422216,0.625714) - Old Polarization: (0.505809,-0.861145,-0.0508613) - New Momentum Direction: (-0.655908,0.422216,0.625714) - New Polarization: (-0.505809,-0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,0.422216,0.625714) - Old Polarization: (-0.505809,-0.861145,0.0508613) - New Momentum Direction: (0.655908,0.422216,0.625714) - New Polarization: (-0.505809,0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,0.422216,0.625714) - Old Polarization: (-0.505809,0.861145,-0.0508613) - New Momentum Direction: (0.655908,0.422216,-0.625714) - New Polarization: (0.505809,-0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,0.422216,-0.625714) - Old Polarization: (0.505809,-0.861145,-0.0508613) - New Momentum Direction: (0.655908,-0.422216,-0.625714) - New Polarization: (-0.505809,-0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,-0.422216,-0.625714) - Old Polarization: (-0.505809,-0.861145,0.0508613) - New Momentum Direction: (-0.655908,-0.422216,-0.625714) - New Polarization: (-0.505809,0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,-0.422216,-0.625714) - Old Polarization: (-0.505809,0.861145,-0.0508613) - New Momentum Direction: (-0.655908,-0.422216,0.625714) - New Polarization: (0.505809,-0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,-0.422216,0.625714) - Old Polarization: (0.505809,-0.861145,-0.0508613) - New Momentum Direction: (0.655908,-0.422216,0.625714) - New Polarization: (0.505809,0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,-0.422216,0.625714) - Old Polarization: (0.505809,0.861145,0.0508613) - New Momentum Direction: (0.655908,-0.422216,-0.625714) - New Polarization: (-0.505809,-0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,-0.422216,-0.625714) - Old Polarization: (-0.505809,-0.861145,0.0508613) - New Momentum Direction: (0.655908,0.422216,-0.625714) - New Polarization: (0.505809,-0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.655908,0.422216,-0.625714) - Old Polarization: (0.505809,-0.861145,-0.0508613) - New Momentum Direction: (-0.655908,0.422216,-0.625714) - New Polarization: (0.505809,0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,0.422216,-0.625714) - Old Polarization: (0.505809,0.861145,0.0508613) - New Momentum Direction: (-0.655908,0.422216,0.625714) - New Polarization: (-0.505809,-0.861145,0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,0.422216,0.625714) - Old Polarization: (-0.505809,-0.861145,0.0508613) - New Momentum Direction: (-0.655908,-0.422216,0.625714) - New Polarization: (0.505809,-0.861145,-0.0508613) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.655908,-0.422216,0.625714) - Old Polarization: (0.505809,-0.861145,-0.0508613) - New Momentum Direction: (0.655908,-0.422216,0.625714) - New Polarization: (0.505809,0.861145,0.0508613) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1744, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.456776,-0.226193,-0.860344) - Old Polarization: (-0.73181,-0.645414,-0.218849) - New Momentum Direction: (0.615689,-0.304885,-0.726617) - New Polarization: (-0.684204,-0.664264,-0.301028) - *** FresnelRefraction *** -Track (trackID 1743, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.950971,-0.30033,-0.0738658) - Old Polarization: (-0.175682,-0.721112,0.670174) - New Momentum Direction: (0.907649,-0.407583,-0.100245) - New Polarization: (0.239562,0.306943,0.921084) - *** FresnelRefraction *** -Track (trackID 1742, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1741, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.884451,-0.403598,-0.234211) - Old Polarization: (-0.251085,-0.83468,0.49017) - New Momentum Direction: (0.773215,-0.548482,-0.318288) - New Polarization: (0.346177,-0.055456,0.936529) - *** FresnelRefraction *** -Track (trackID 1740, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.897579,-0.385402,-0.214048) - Old Polarization: (-0.231274,-0.825003,0.515638) - New Momentum Direction: (0.803876,-0.519984,-0.288792) - New Polarization: (0.315742,-0.0384191,0.948067) - *** FresnelRefraction *** -Track (trackID 1739, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.856061,0.486071,0.175767) -Old Polarization: (-0.28357,0.157353,0.945954) -New Polarization: (-0.0316288,-0.756001,0.653806) -Polarization Change: (-0.0316288,-0.756001,0.653806) -New Momentum Direction: (0.310643,-0.629173,-0.71249) -Momentum Change: (0.310643,-0.629173,-0.71249) - -** Photon absorbed! ** -Track (trackID 1738, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.677605,0.735411,-0.00456726) - Old Polarization: (-0.480747,0.447641,0.753989) - New Momentum Direction: (0.913583,0.406607,-0.00615781) - New Polarization: (-0.276479,0.632167,0.723826) - *** FresnelRefraction *** -Track (trackID 1737, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.24466,0.387481,-0.888819) -Old Polarization: (-0.968294,0.0499255,-0.244772) -New Polarization: (0.673587,0.637277,-0.374378) -Polarization Change: (0.673587,0.637277,-0.374378) -New Momentum Direction: (0.72119,-0.455844,0.521624) -Momentum Change: (0.72119,-0.455844,0.521624) - Photon at Boundary! - Old Momentum Direction: (0.72119,-0.455844,0.521624) - Old Polarization: (0.673587,0.637277,-0.374378) - New Momentum Direction: (0.345792,-0.61744,0.706538) - New Polarization: (0.917162,0.381383,-0.115586) - *** FresnelRefraction *** -Track (trackID 1736, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.239266,0.464492,-0.852643) - Old Polarization: (-0.970716,0.133883,-0.199465) - New Momentum Direction: (0.325329,0.631568,-0.703764) - New Polarization: (-0.944207,0.176569,-0.278023) - *** FresnelRefraction *** -Track (trackID 1735, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.827717,-0.436598,-0.352515) - Old Polarization: (-0.311549,-0.88004,0.358422) - New Momentum Direction: (0.651651,-0.590163,-0.476506) - New Polarization: (0.431513,-0.22821,0.872764) - *** FresnelRefraction *** -Track (trackID 1734, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.603784,-0.39236,-0.693901) - Old Polarization: (-0.564415,-0.825126,-0.0245557) - New Momentum Direction: (0.818864,-0.532125,-0.215186) - New Polarization: (-0.551671,-0.833147,-0.0390556) - *** FresnelRefraction *** -Track (trackID 1733, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.817387,-0.437676,-0.374591) - Old Polarization: (-0.321676,-0.886175,0.333495) - New Momentum Direction: (-0.817387,-0.437676,-0.374591) - New Polarization: (-0.0273308,-0.620037,0.784097) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.817387,-0.437676,-0.374591) - Old Polarization: (-0.0273308,-0.620037,0.784097) - New Momentum Direction: (-0.817387,0.437676,-0.374591) - New Polarization: (0.0273308,-0.620037,-0.784097) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.817387,0.437676,-0.374591) - Old Polarization: (0.0273308,-0.620037,-0.784097) - New Momentum Direction: (-0.817387,0.437676,0.374591) - New Polarization: (-0.0273308,0.620037,-0.784097) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1732, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.887222,-0.395047,-0.238276) - Old Polarization: (-0.241989,-0.838228,0.488687) - New Momentum Direction: (0.783402,-0.532202,-0.321002) - New Polarization: (0.330355,-0.0809163,0.940382) - *** FresnelRefraction *** -Track (trackID 1731, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.295808,0.716192,-0.632112) -Old Polarization: (-0.908377,0.415633,0.0458269) -New Polarization: (0.224518,-0.97342,-0.0452206) -Polarization Change: (0.224518,-0.97342,-0.0452206) -New Momentum Direction: (0.973925,0.225702,-0.0230006) -Momentum Change: (0.973925,0.225702,-0.0230006) - Photon at Boundary! - Old Momentum Direction: (0.973925,0.225702,-0.0230006) - Old Polarization: (0.224518,-0.97342,-0.0452206) - New Momentum Direction: (0.951319,0.30662,-0.0312466) - New Polarization: (0.305033,-0.951182,-0.0469828) - *** FresnelRefraction *** -Track (trackID 1730, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.909143,0.365994,0.198766) - Old Polarization: (-0.222974,0.0246329,0.974513) - New Momentum Direction: (0.824699,0.497007,0.269917) - New Polarization: (0.305989,-0.79346,0.526111) - *** FresnelRefraction *** -Track (trackID 1729, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93629,0.2867,0.20289) - Old Polarization: (-0.192587,-0.0640088,0.97919) - New Momentum Direction: (0.878939,0.389312,0.275505) - New Polarization: (0.263269,-0.877715,0.400382) - *** FresnelRefraction *** -Track (trackID 1728, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.470823,0.836499,-0.28035) - Old Polarization: (-0.712416,0.547928,0.43845) - New Momentum Direction: (0.640446,0.666633,-0.381352) - New Polarization: (-0.566691,0.745334,0.351195) - *** FresnelRefraction *** -Track (trackID 1727, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.731165,0.679119,0.0647722) - Old Polarization: (-0.421797,0.375406,0.825323) - New Momentum Direction: (0.377803,0.921703,0.0879091) - New Polarization: (0.606324,-0.318046,0.728847) - *** FresnelRefraction *** -Track (trackID 1726, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.767047,0.63335,0.102498) - Old Polarization: (-0.382141,0.322671,0.86594) - New Momentum Direction: (0.489605,0.860746,0.139298) - New Polarization: (0.5418,-0.425489,0.724853) - *** FresnelRefraction *** -Track (trackID 1725, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1724, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.988153,0.0315022,0.150204) - Old Polarization: (-0.12973,-0.35146,0.927171) - New Momentum Direction: (0.978271,0.042557,0.202913) - New Polarization: (0.17533,-0.692166,-0.700119) - *** FresnelRefraction *** -Track (trackID 1723, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.935146,0.294413,0.197034) - Old Polarization: (-0.189567,-0.0539941,0.980382) - New Momentum Direction: (0.878085,0.397666,0.266137) - New Polarization: (0.257767,-0.861691,0.437086) - *** FresnelRefraction *** -Track (trackID 1722, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1721, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.443199,-0.219733,-0.869076) - Old Polarization: (-0.744138,-0.630758,-0.220007) - New Momentum Direction: (0.60154,-0.298237,-0.741083) - New Polarization: (-0.696944,-0.64931,-0.304409) - *** FresnelRefraction *** -Track (trackID 1720, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.987677,0.0379372,0.151835) - Old Polarization: (-0.129711,-0.344413,0.929814) - New Momentum Direction: (0.977421,0.0512203,0.204998) - New Polarization: (0.175212,-0.738732,-0.650827) - *** FresnelRefraction *** -Track (trackID 1719, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.980169,0.0968907,0.172863) - Old Polarization: (-0.140249,-0.277097,0.950551) - New Momentum Direction: (0.963381,0.131101,0.233899) - New Polarization: (0.190014,-0.949271,-0.250556) - *** FresnelRefraction *** -Track (trackID 1718, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.754413,0.651054,0.0836033) - Old Polarization: (-0.394572,0.348009,0.850413) - New Momentum Direction: (0.460212,0.880579,0.113077) - New Polarization: (0.558324,-0.386088,0.73431) - *** FresnelRefraction *** -Track (trackID 1717, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.393866,-0.127474,-0.910285) - Old Polarization: (-0.802073,-0.531365,-0.272634) - New Momentum Direction: (0.532045,-0.172195,-0.829022) - New Polarization: (-0.753841,-0.542169,-0.371182) - *** FresnelRefraction *** -Track (trackID 1716, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.54949,0.817536,-0.172322) - Old Polarization: (-0.626174,0.539514,0.562877) - New Momentum Direction: (0.741515,0.629349,-0.232541) - New Polarization: (-0.464038,0.731391,0.499736) - *** FresnelRefraction *** -Track (trackID 1715, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.52817,0.824052,-0.204875) - Old Polarization: (-0.650473,0.547735,0.526185) - New Momentum Direction: (0.712383,0.645098,-0.27633) - New Polarization: (-0.493567,0.740459,0.456194) - *** FresnelRefraction *** -Track (trackID 1714, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1713, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1712, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.965378,0.177283,0.191353) - Old Polarization: (-0.157969,-0.186438,0.969684) - New Momentum Direction: (0.935481,0.240163,0.259224) - New Polarization: (0.214641,-0.968908,0.123074) - *** FresnelRefraction *** -Track (trackID 1711, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.273224,0.662599,-0.69736) - Old Polarization: (-0.933977,0.356281,-0.0274083) - New Momentum Direction: (0.371018,0.89976,-0.229733) - New Polarization: (-0.927471,0.371369,-0.0433789) - *** FresnelRefraction *** -Track (trackID 1710, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.48528,0.834482,-0.261041) - Old Polarization: (-0.697079,0.549465,0.460618) - New Momentum Direction: (0.658568,0.663921,-0.354256) - New Polarization: (-0.548614,0.745814,0.377867) - *** FresnelRefraction *** -Track (trackID 1709, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.912972,0.355368,0.20049) - Old Polarization: (-0.219119,0.0125176,0.975618) - New Momentum Direction: (0.832253,0.482853,0.272413) - New Polarization: (0.300709,-0.805972,0.509886) - *** FresnelRefraction *** -Track (trackID 1708, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1707, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.815233,-0.442811,-0.373247) - Old Polarization: (-0.326671,-0.88378,0.334992) - New Momentum Direction: (-0.815233,-0.442811,-0.373247) - New Polarization: (-0.0211518,-0.621296,0.78329) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.815233,-0.442811,-0.373247) - Old Polarization: (-0.0211518,-0.621296,0.78329) - New Momentum Direction: (-0.815233,0.442811,-0.373247) - New Polarization: (0.0211518,-0.621296,-0.78329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.815233,0.442811,-0.373247) - Old Polarization: (0.0211518,-0.621296,-0.78329) - New Momentum Direction: (-0.815233,0.442811,0.373247) - New Polarization: (-0.0211518,0.621296,-0.78329) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.815233,0.442811,0.373247) - Old Polarization: (-0.0211518,0.621296,-0.78329) - New Momentum Direction: (0.815233,0.442811,0.373247) - New Polarization: (0.0011324,0.643272,-0.765637) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.815233,0.442811,0.373247) - Old Polarization: (0.0011324,0.643272,-0.765637) - New Momentum Direction: (0.620236,0.599772,0.505549) - New Polarization: (0.00159784,0.643525,-0.765424) - *** FresnelRefraction *** -Track (trackID 1706, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1705, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.242965,0.362893,-0.899598) - Old Polarization: (-0.967292,0.0209401,-0.252801) - New Momentum Direction: (0.330111,0.493054,-0.804937) - New Polarization: (-0.93585,0.0595359,-0.347332) - *** FresnelRefraction *** -Track (trackID 1704, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.249194,0.331532,-0.909939) - Old Polarization: (-0.963189,-0.0129917,-0.268511) - New Momentum Direction: (0.337535,0.449063,-0.827292) - New Polarization: (-0.930035,0.0234596,-0.366721) - *** FresnelRefraction *** -Track (trackID 1703, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.273053,0.668719,-0.691561) - Old Polarization: (-0.932464,0.360746,-0.0193403) - New Momentum Direction: (0.371524,0.909878,-0.184638) - New Polarization: (-0.927554,0.372367,-0.0314127) - *** FresnelRefraction *** -Track (trackID 1702, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.932666,0.300415,0.199713) - Old Polarization: (-0.194371,-0.0478916,0.979758) - New Momentum Direction: (0.872583,0.40678,0.270424) - New Polarization: (0.265062,-0.859337,0.437359) - *** FresnelRefraction *** -Track (trackID 1701, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.458453,0.835341,-0.303359) - Old Polarization: (-0.726732,0.548853,0.413064) - New Momentum Direction: (0.622765,0.665094,-0.412085) - New Polarization: (-0.583985,0.745644,0.3209) - *** FresnelRefraction *** -Track (trackID 1700, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.330923,0.00990801,-0.943606) - Old Polarization: (-0.873215,-0.375874,-0.310184) - New Momentum Direction: (0.447065,0.0133854,-0.894401) - New Polarization: (-0.828022,-0.372074,-0.419453) - *** FresnelRefraction *** -Track (trackID 1699, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.253065,0.576294,-0.777074) - Old Polarization: (-0.957986,0.26134,-0.118166) - New Momentum Direction: (0.343093,0.781312,-0.521381) - New Polarization: (-0.93901,0.299134,-0.169647) - *** FresnelRefraction *** -Track (trackID 1698, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1697, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.269866,0.198273,-0.942263) - Old Polarization: (-0.938915,-0.16286,-0.303177) - New Momentum Direction: (0.365963,0.268876,-0.890942) - New Polarization: (-0.900716,-0.138443,-0.411758) - *** FresnelRefraction *** -Track (trackID 1696, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.560105,0.815332,-0.146682) - Old Polarization: (-0.613218,0.527102,0.588325) - New Momentum Direction: (0.760557,0.617965,-0.199177) - New Polarization: (-0.446772,0.72071,0.530069) - *** FresnelRefraction *** -Track (trackID 1695, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.261703,0.227709,-0.937902) - Old Polarization: (-0.946409,-0.130018,-0.295643) - New Momentum Direction: (0.355553,0.309368,-0.881972) - New Polarization: (-0.909563,-0.102661,-0.402686) - *** FresnelRefraction *** -Track (trackID 1694, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.41075,-0.157653,-0.898014) - Old Polarization: (-0.783013,-0.565584,-0.258856) - New Momentum Direction: (0.554808,-0.212945,-0.804265) - New Polarization: (-0.734602,-0.579199,-0.353397) - *** FresnelRefraction *** -Track (trackID 1693, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.268401,0.230323,-0.935368) - Old Polarization: (-0.944806,-0.126448,-0.302246) - New Momentum Direction: (0.362254,0.31086,-0.878714) - New Polarization: (-0.907191,-0.098811,-0.40895) - *** FresnelRefraction *** -Track (trackID 1692, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.988878,-0.133258,0.0660553) - Old Polarization: (-0.128195,-0.538478,0.832831) - New Momentum Direction: (0.979637,-0.179887,0.0891689) - New Polarization: (0.173115,0.981754,0.0786737) - *** FresnelRefraction *** -Track (trackID 1691, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1690, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.470507,0.835972,-0.282443) - Old Polarization: (-0.713085,0.548759,0.436318) - New Momentum Direction: (0.639455,0.666143,-0.383862) - New Polarization: (-0.567605,0.745806,0.348708) - *** FresnelRefraction *** -Track (trackID 1689, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1688, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1687, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.881706,-0.40226,-0.246537) - Old Polarization: (-0.250318,-0.841785,0.478266) - New Momentum Direction: (0.770433,-0.543557,-0.333135) - New Polarization: (0.343142,-0.0868368,0.935261) - *** FresnelRefraction *** -Track (trackID 1686, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.746768,-0.44476,-0.494495) - Old Polarization: (-0.402021,-0.894162,0.197112) - New Momentum Direction: (0.443348,-0.599413,-0.666443) - New Polarization: (0.567665,-0.387638,0.726287) - *** FresnelRefraction *** -Track (trackID 1685, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.492141,-0.284537,-0.8227) - Old Polarization: (-0.689594,-0.70421,-0.16896) - New Momentum Direction: (0.66746,-0.3859,-0.63685) - New Polarization: (-0.645927,-0.725578,-0.237308) - *** FresnelRefraction *** -Track (trackID 1684, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.585968,0.802266,-0.114064) - Old Polarization: (-0.584471,0.515933,0.626264) - New Momentum Direction: (0.793907,0.588072,-0.154541) - New Polarization: (-0.411772,0.706998,0.574976) - *** FresnelRefraction *** -Track (trackID 1683, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.832665,0.532437,0.152247) - Old Polarization: (-0.30642,0.213978,0.927534) - New Momentum Direction: (0.66236,0.720316,0.20597) - New Polarization: (0.424384,-0.587306,0.68918) - *** FresnelRefraction *** -Track (trackID 1682, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.458194,-0.243849,-0.854749) - Old Polarization: (-0.726833,-0.656319,-0.202385) - New Momentum Direction: (0.62271,-0.331404,-0.708805) - New Polarization: (-0.680611,-0.676312,-0.281729) - *** FresnelRefraction *** -Track (trackID 1681, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.676104,-0.432491,-0.596518) - Old Polarization: (-0.483198,-0.871456,0.0841633) - New Momentum Direction: (-0.676104,-0.432491,-0.596518) - New Polarization: (0.454459,-0.882037,0.124408) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676104,-0.432491,-0.596518) - Old Polarization: (0.454459,-0.882037,0.124408) - New Momentum Direction: (-0.676104,-0.432491,0.596518) - New Polarization: (-0.454459,0.882037,0.124408) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676104,-0.432491,0.596518) - Old Polarization: (-0.454459,0.882037,0.124408) - New Momentum Direction: (-0.676104,0.432491,0.596518) - New Polarization: (0.454459,0.882037,-0.124408) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1680, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.974259,-0.225349,0.00615393) - Old Polarization: (-0.151622,-0.634825,0.757633) - New Momentum Direction: (0.951831,-0.306509,0.0083703) - New Polarization: (0.206631,0.661361,0.721044) - *** FresnelRefraction *** -Track (trackID 1679, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.954274,0.221898,0.200304) - Old Polarization: (-0.172997,-0.136515,0.975416) - New Momentum Direction: (0.913798,0.3015,0.272159) - New Polarization: (0.236088,-0.93952,0.248123) - *** FresnelRefraction *** -Track (trackID 1678, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.856315,-0.425031,-0.293383) - Old Polarization: (-0.281733,-0.860541,0.424377) - New Momentum Direction: (0.713187,-0.576887,-0.398203) - New Polarization: (0.389825,-0.145717,0.909287) - *** FresnelRefraction *** -Track (trackID 1677, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.892493,-0.394358,-0.218948) - Old Polarization: (-0.24084,-0.827054,0.507916) - New Momentum Direction: (0.79096,-0.534949,-0.297005) - New Polarization: (0.330969,-0.034206,0.943021) - *** FresnelRefraction *** -Track (trackID 1676, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.431771,0.832047,-0.348242) - Old Polarization: (-0.756305,0.544348,0.362887) - New Momentum Direction: (0.58682,0.656988,-0.473296) - New Polarization: (-0.619133,0.740772,0.260636) - *** FresnelRefraction *** -Track (trackID 1675, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.259127,0.600002,-0.756869) - Old Polarization: (-0.952347,0.289271,-0.096735) - New Momentum Direction: (0.350864,0.812416,-0.465698) - New Polarization: (-0.935712,0.323589,-0.140476) - *** FresnelRefraction *** -Track (trackID 1674, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.816257,-0.440895,-0.373278) - Old Polarization: (-0.324604,-0.884551,0.334965) - New Momentum Direction: (0.624473,-0.596099,-0.504678) - New Polarization: (0.450846,-0.252529,0.856135) - *** FresnelRefraction *** -Track (trackID 1673, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.268695,0.621651,-0.735767) - Old Polarization: (-0.945037,0.317878,-0.0765427) - New Momentum Direction: (0.362427,0.838507,-0.406882) - New Polarization: (-0.93081,0.347814,-0.112331) - *** FresnelRefraction *** -Track (trackID 1672, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.973853,0.137477,0.180859) - Old Polarization: (-0.145932,-0.231569,0.96181) - New Momentum Direction: (0.951739,0.185726,0.244333) - New Polarization: (0.197546,-0.979986,-0.0245707) - *** FresnelRefraction *** -Track (trackID 1671, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.793449,-0.446272,-0.413861) - Old Polarization: (-0.350281,-0.890905,0.289122) - New Momentum Direction: (0.568408,-0.603264,-0.559451) - New Polarization: (0.489156,-0.298959,0.81936) - *** FresnelRefraction *** -Track (trackID 1670, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.957904,0.213034,0.192447) - Old Polarization: (-0.163529,-0.146071,0.975665) - New Momentum Direction: (0.921808,0.287654,0.259856) - New Polarization: (0.221663,-0.941076,0.255426) - *** FresnelRefraction *** -Track (trackID 1669, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1668, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.941223,-0.322255,-0.101242) - Old Polarization: (-0.186536,-0.745754,0.639574) - New Momentum Direction: (0.888756,-0.437307,-0.137387) - New Polarization: (0.254661,0.221854,0.941238) - *** FresnelRefraction *** -Track (trackID 1667, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.947766,0.245896,0.203164) - Old Polarization: (-0.181003,-0.10984,0.977329) - New Momentum Direction: (0.90102,0.334404,0.276291) - New Polarization: (0.247441,-0.919375,0.305814) - *** FresnelRefraction *** -Track (trackID 1666, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.966391,-0.25565,-0.0270484) - Old Polarization: (-0.157569,-0.672172,0.723434) - New Momentum Direction: (0.937291,-0.346614,-0.0366726) - New Polarization: (0.21425,0.489957,0.845009) - *** FresnelRefraction *** -Track (trackID 1665, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.4939,0.832763,-0.250139) - Old Polarization: (-0.687934,0.550181,0.473336) - New Momentum Direction: (0.669177,0.661319,-0.338909) - New Polarization: (-0.537876,0.745741,0.393141) - *** FresnelRefraction *** -Track (trackID 1664, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.248877,0.316939,-0.91521) -Old Polarization: (-0.961847,-0.0299809,-0.271941) -New Polarization: (-0.693584,-0.654481,-0.300992) -Polarization Change: (-0.693584,-0.654481,-0.300992) -New Momentum Direction: (-0.670217,0.739447,-0.0634642) -Momentum Change: (-0.670217,0.739447,-0.0634642) - Photon at Boundary! - Old Momentum Direction: (-0.670217,0.739447,-0.0634642) - Old Polarization: (-0.693584,-0.654481,-0.300992) - New Momentum Direction: (-0.909468,0.406756,-0.0861195) - New Polarization: (0.415746,0.892073,-0.17709) - *** FresnelRefraction *** -Track (trackID 1663, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.600519,0.794457,-0.0906321) - Old Polarization: (-0.568024,0.50362,0.650934) - New Momentum Direction: (0.81551,0.565504,-0.123079) - New Polarization: (-0.39042,0.694546,0.604299) - *** FresnelRefraction *** -Track (trackID 1662, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.454771,-0.240488,-0.857525) - Old Polarization: (-0.730344,-0.651735,-0.204548) - New Momentum Direction: (0.618535,-0.327087,-0.714443) - New Polarization: (-0.684043,-0.671563,-0.284759) - *** FresnelRefraction *** -Track (trackID 1661, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1660, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.273967,0.167199,-0.947094) - Old Polarization: (-0.931829,-0.197536,-0.304424) - New Momentum Direction: (0.3726,0.227393,-0.899701) - New Polarization: (-0.892868,-0.176366,-0.414345) - *** FresnelRefraction *** -Track (trackID 1659, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.579581,0.806465,-0.117048) - Old Polarization: (-0.591315,0.515025,0.620561) - New Momentum Direction: (0.788106,0.594607,-0.15916) - New Polarization: (-0.419295,0.70789,0.568405) - *** FresnelRefraction *** -Track (trackID 1658, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.950168,-0.301934,-0.077567) -Old Polarization: (-0.175697,-0.724214,0.666816) -New Polarization: (0.361381,0.599379,-0.714247) -Polarization Change: (0.361381,0.599379,-0.714247) -New Momentum Direction: (0.775607,-0.618406,-0.126524) -Momentum Change: (0.775607,-0.618406,-0.126524) - Photon at Boundary! - Old Momentum Direction: (0.775607,-0.618406,-0.126524) - Old Polarization: (0.361381,0.599379,-0.714247) - New Momentum Direction: (0.517409,-0.838371,-0.171528) - New Polarization: (0.509784,0.462973,-0.725105) - *** FresnelRefraction *** -Track (trackID 1657, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.485653,0.835486,-0.257107) - Old Polarization: (-0.696045,0.547531,0.464469) - New Momentum Direction: (0.66032,0.664661,-0.349577) - New Polarization: (-0.547102,0.744632,0.382365) - *** FresnelRefraction *** -Track (trackID 1656, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.391954,0.81073,-0.434844) - Old Polarization: (-0.804633,0.531254,0.265208) - New Momentum Direction: (0.529105,0.612761,-0.587002) - New Polarization: (-0.676452,0.722233,0.144193) - *** FresnelRefraction *** -Track (trackID 1655, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.860024,-0.423635,-0.284414) -Old Polarization: (-0.278466,-0.85675,0.434092) -New Polarization: (0.0345485,-0.946993,0.319392) -Polarization Change: (0.0345485,-0.946993,0.319392) -New Momentum Direction: (0.914092,-0.0992568,-0.393172) -Momentum Change: (0.914092,-0.0992568,-0.393172) - Photon at Boundary! - Old Momentum Direction: (0.914092,-0.0992568,-0.393172) - Old Polarization: (0.0345485,-0.946993,0.319392) - New Momentum Direction: (0.834385,-0.134914,-0.534415) - New Polarization: (0.0476114,-0.948315,0.313739) - *** FresnelRefraction *** -Track (trackID 1654, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1653, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.311904,0.722264,-0.617293) - Old Polarization: (-0.89822,0.435935,0.0562159) - New Momentum Direction: (0.311904,-0.722264,-0.617293) - New Polarization: (-0.741079,0.22164,-0.63378) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.311904,-0.722264,-0.617293) - Old Polarization: (-0.741079,0.22164,-0.63378) - New Momentum Direction: (0.311904,-0.722264,0.617293) - New Polarization: (0.741079,-0.22164,-0.63378) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1652, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1651, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.985591,-0.162622,0.0465225) - Old Polarization: (-0.132485,-0.571206,0.810044) - New Momentum Direction: (0.973552,-0.219656,0.0628388) - New Polarization: (0.179076,0.904454,0.387163) - *** FresnelRefraction *** -Track (trackID 1650, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.960641,0.197986,0.194859) -Old Polarization: (-0.16372,-0.163173,0.972918) -New Polarization: (0.493768,-0.241693,-0.835331) -Polarization Change: (0.493768,-0.241693,-0.835331) -New Momentum Direction: (0.496091,-0.710656,0.498861) -Momentum Change: (0.496091,-0.710656,0.498861) - Photon at Boundary! - Old Momentum Direction: (0.496091,-0.710656,0.498861) - Old Polarization: (0.493768,-0.241693,-0.835331) - New Momentum Direction: (-0.496091,-0.710656,0.498861) - New Polarization: (0.493768,0.241693,0.835331) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.496091,-0.710656,0.498861) - Old Polarization: (0.493768,0.241693,0.835331) - New Momentum Direction: (-0.672376,-0.301259,0.676131) - New Polarization: (0.736445,-0.364263,0.570054) - *** FresnelRefraction *** -Track (trackID 1649, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.267414,0.198855,-0.94284) -Old Polarization: (-0.939794,-0.162248,-0.30077) -New Polarization: (-0.942481,0.327609,0.0663486) -Polarization Change: (-0.942481,0.327609,0.0663486) -New Momentum Direction: (0.298409,0.735219,0.608609) -Momentum Change: (0.298409,0.735219,0.608609) - Photon at Boundary! - Old Momentum Direction: (0.298409,0.735219,0.608609) - Old Polarization: (-0.942481,0.327609,0.0663486) - New Momentum Direction: (0.405532,0.38919,0.827088) - New Polarization: (-0.856605,0.477597,0.195269) - *** FresnelRefraction *** -Track (trackID 1648, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.494351,0.834181,-0.244458) -Old Polarization: (-0.686554,0.547175,0.478793) -New Polarization: (-0.0599884,-0.411065,0.90963) -Polarization Change: (-0.0599884,-0.411065,0.90963) -New Momentum Direction: (0.693802,-0.672336,-0.258076) -Momentum Change: (0.693802,-0.672336,-0.258076) - Photon at Boundary! - Old Momentum Direction: (0.693802,-0.672336,-0.258076) - Old Polarization: (-0.0599884,-0.411065,0.90963) - New Momentum Direction: (0.206208,-0.913521,-0.350654) - New Polarization: (0.0960152,-0.337736,0.936331) - *** FresnelRefraction *** -Track (trackID 1647, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.46721,-0.25329,-0.847089) - Old Polarization: (-0.717367,-0.668635,-0.195732) - New Momentum Direction: (0.633951,-0.343686,-0.69281) - New Polarization: (-0.671483,-0.689051,-0.272615) - *** FresnelRefraction *** -Track (trackID 1646, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.835281,-0.438315,-0.331941) - Old Polarization: (-0.306347,-0.872341,0.381016) - New Momentum Direction: (0.664019,-0.596074,-0.451413) - New Polarization: (0.426627,-0.193771,0.883426) - *** FresnelRefraction *** -Track (trackID 1645, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596754,0.796818,-0.0946888) - Old Polarization: (-0.572203,0.505297,0.645955) - New Momentum Direction: (0.81091,0.57085,-0.12867) - New Polarization: (-0.395509,0.696725,0.598454) - *** FresnelRefraction *** -Track (trackID 1644, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1643, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.238507,0.452175,-0.859449) - Old Polarization: (-0.971093,0.119826,-0.206447) - New Momentum Direction: (0.238507,0.452175,0.859449) - New Polarization: (-0.925645,0.373551,0.0603436) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.238507,0.452175,0.859449) - Old Polarization: (-0.925645,0.373551,0.0603436) - New Momentum Direction: (0.238507,-0.452175,0.859449) - New Polarization: (0.925645,0.373551,-0.0603436) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.238507,-0.452175,0.859449) - Old Polarization: (0.925645,0.373551,-0.0603436) - New Momentum Direction: (0.324459,-0.615128,0.718571) - New Polarization: (0.837323,0.540166,0.0843257) - *** FresnelRefraction *** -Track (trackID 1642, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.961619,0.199334,0.188562) - Old Polarization: (-0.157543,-0.16155,0.974208) - New Momentum Direction: (0.929128,0.268616,0.254101) - New Polarization: (0.213024,-0.950565,0.225936) - *** FresnelRefraction *** -Track (trackID 1641, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.416175,0.822575,-0.387516) - Old Polarization: (-0.776706,0.543187,0.318868) - New Momentum Direction: (0.562316,0.640041,-0.523592) - New Polarization: (-0.643748,0.736247,0.208633) - *** FresnelRefraction *** -Track (trackID 1640, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.272529,0.216838,-0.937395) - Old Polarization: (-0.941295,-0.141652,-0.30643) - New Momentum Direction: (0.36735,0.292283,-0.882964) - New Polarization: (-0.903,-0.115344,-0.413867) - *** FresnelRefraction *** -Track (trackID 1639, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1638, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.462058,0.836455,-0.294695) - Old Polarization: (-0.722148,0.547752,0.422457) - New Momentum Direction: (0.628573,0.666466,-0.400897) - New Polarization: (-0.578334,0.745176,0.332028) - *** FresnelRefraction *** -Track (trackID 1637, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1636, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1635, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.284572,0.695412,-0.659864) - Old Polarization: (-0.920157,0.391244,0.0154954) - New Momentum Direction: (0.386955,0.212537,-0.89727) - New Polarization: (-0.780879,0.593042,-0.196286) - *** FresnelRefraction *** -Track (trackID 1634, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.973554,0.143379,0.177861) - Old Polarization: (-0.142878,-0.225364,0.963741) - New Momentum Direction: (0.951549,0.192985,0.239399) - New Polarization: (0.192707,-0.980943,0.0248026) - *** FresnelRefraction *** -Track (trackID 1633, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87358,0.452153,0.180044) - Old Polarization: (-0.260911,0.122813,0.957519) - New Momentum Direction: (0.752104,0.612288,0.243809) - New Polarization: (0.358985,-0.690855,0.627575) - *** FresnelRefraction *** -Track (trackID 1632, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.463613,-0.24876,-0.850401) - Old Polarization: (-0.721319,-0.663338,-0.199201) - New Momentum Direction: (0.629196,-0.337607,-0.700095) - New Polarization: (-0.675215,-0.683549,-0.277208) - *** FresnelRefraction *** -Track (trackID 1631, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.378966,0.806343,-0.454088) - Old Polarization: (-0.817537,0.521632,0.243995) - New Momentum Direction: (0.513081,0.598985,-0.614788) - New Polarization: (-0.691202,0.712994,0.117812) - *** FresnelRefraction *** -Track (trackID 1630, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1629, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.398364,0.816325,-0.418235) - Old Polarization: (-0.796157,0.534161,0.284264) - New Momentum Direction: (0.538907,0.62407,-0.565788) - New Polarization: (-0.666441,0.726671,0.166748) - *** FresnelRefraction *** -Track (trackID 1628, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.253952,0.550772,-0.795084) - Old Polarization: (-0.96101,0.236661,-0.143008) - New Momentum Direction: (0.342816,0.743502,-0.574179) - New Polarization: (-0.93936,0.277134,-0.201989) - *** FresnelRefraction *** -Track (trackID 1627, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1626, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.778224,-0.452715,-0.43522) - Old Polarization: (-0.369407,-0.890467,0.265719) - New Momentum Direction: (0.522054,-0.614864,-0.591103) - New Polarization: (0.521321,-0.318479,0.791704) - *** FresnelRefraction *** -Track (trackID 1625, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1624, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.98666,0.0343133,0.159135) - Old Polarization: (-0.13769,-0.345613,0.92822) - New Momentum Direction: (0.975184,0.0466656,0.216421) - New Polarization: (0.187351,-0.694789,-0.694383) - *** FresnelRefraction *** -Track (trackID 1623, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1622, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.289139,0.11943,-0.949808) - Old Polarization: (-0.91674,-0.251161,-0.310654) - New Momentum Direction: (0.392364,0.162067,-0.90542) - New Polarization: (-0.875762,-0.235144,-0.421602) - *** FresnelRefraction *** -Track (trackID 1621, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.276309,0.670112,-0.688914) - Old Polarization: (-0.930802,0.365069,-0.0182197) - New Momentum Direction: (0.375087,0.90967,-0.178353) - New Polarization: (-0.926119,0.37607,-0.0295777) - *** FresnelRefraction *** -Track (trackID 1620, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.281408,0.67779,-0.679272) - Old Polarization: (-0.926627,0.375879,-0.00882275) - New Momentum Direction: (0.281408,0.67779,0.679272) - New Polarization: (-0.920944,0.389627,-0.0072489) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.281408,0.67779,0.679272) - Old Polarization: (-0.920944,0.389627,-0.0072489) - New Momentum Direction: (0.281408,-0.67779,0.679272) - New Polarization: (-0.693337,0.345763,0.632243) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 1619, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.247982,0.530372,-0.810685) - Old Polarization: (-0.964801,0.210829,-0.157195) - New Momentum Direction: (0.335805,0.718203,-0.609442) - New Polarization: (-0.941918,0.252508,-0.221429) - *** FresnelRefraction *** -Track (trackID 1618, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.283412,0.688977,-0.667074) - Old Polarization: (-0.922576,0.385761,0.00646275) - New Momentum Direction: (0.384857,0.17699,-0.905848) - New Polarization: (-0.776979,0.591869,-0.214463) - *** FresnelRefraction *** -Track (trackID 1617, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.24027,0.437812,-0.866367) -Old Polarization: (-0.970699,0.104864,-0.216213) -New Polarization: (0.530418,-0.262214,-0.806164) -Polarization Change: (0.530418,-0.262214,-0.806164) -New Momentum Direction: (-0.834017,0.00898137,-0.551665) -Momentum Change: (-0.834017,0.00898137,-0.551665) - Photon at Boundary! - Old Momentum Direction: (-0.834017,0.00898137,-0.551665) - Old Polarization: (0.530418,-0.262214,-0.806164) - New Momentum Direction: (-0.834017,0.00898137,0.551665) - New Polarization: (-0.530418,0.262214,-0.806164) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.834017,0.00898137,0.551665) - Old Polarization: (-0.530418,0.262214,-0.806164) - New Momentum Direction: (-0.66221,0.0121976,0.749219) - New Polarization: (-0.722209,0.256122,-0.642507) - *** FresnelRefraction *** -Track (trackID 1616, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.989927,-0.114602,0.0831267) - Old Polarization: (-0.130713,-0.51428,0.847603) - New Momentum Direction: (0.981422,-0.155306,0.112651) - New Polarization: (0.177173,0.958928,-0.221512) - *** FresnelRefraction *** -Track (trackID 1615, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.943776,0.268179,0.193305) - Old Polarization: (-0.177249,-0.083085,0.980653) - New Momentum Direction: (0.895445,0.361135,0.260308) - New Polarization: (0.240008,-0.884106,0.400941) - *** FresnelRefraction *** -Track (trackID 1614, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.757435,0.647975,0.0801291) - Old Polarization: (-0.389521,0.34997,0.851936) - New Momentum Direction: (0.476753,0.872392,0.107881) - New Polarization: (0.547037,-0.390513,0.740439) - *** FresnelRefraction *** -Track (trackID 1613, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1612, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1611, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.393432,0.813267,-0.428727) - Old Polarization: (-0.80203,0.531573,0.272357) - New Momentum Direction: (0.531948,0.617263,-0.57967) - New Polarization: (-0.673321,0.723455,0.152483) - *** FresnelRefraction *** -Track (trackID 1610, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.966631,0.176347,0.185813) - Old Polarization: (-0.152289,-0.187682,0.970352) - New Momentum Direction: (0.938462,0.237758,0.250521) - New Polarization: (0.205904,-0.967487,0.146874) - *** FresnelRefraction *** -Track (trackID 1609, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.299266,0.704057,-0.644006) - Old Polarization: (-0.910738,0.412081,0.0272905) - New Momentum Direction: (0.403465,0.288762,-0.868235) - New Polarization: (-0.782226,0.60114,-0.163567) - *** FresnelRefraction *** -Track (trackID 1608, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1607, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1606, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.616879,0.784271,-0.0661747) -Old Polarization: (-0.549742,0.48952,0.676871) -New Polarization: (0.191768,0.542086,0.818149) -Polarization Change: (0.191768,0.542086,0.818149) -New Momentum Direction: (-0.980269,0.146512,0.132692) -Momentum Change: (-0.980269,0.146512,0.132692) - Photon at Boundary! - Old Momentum Direction: (-0.980269,0.146512,0.132692) - Old Polarization: (0.191768,0.542086,0.818149) - New Momentum Direction: (-0.980269,-0.146512,0.132692) - New Polarization: (-0.191768,0.542086,-0.818149) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1605, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1604, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.948277,0.244657,0.202272) - Old Polarization: (-0.179815,-0.111122,0.977404) - New Momentum Direction: (-0.948277,0.244657,0.202272) - New Polarization: (-0.141434,-0.896071,0.420776) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.948277,0.244657,0.202272) - Old Polarization: (-0.141434,-0.896071,0.420776) - New Momentum Direction: (-0.902168,0.332472,0.274873) - New Polarization: (-0.19337,-0.881261,0.431263) - *** FresnelRefraction *** -Track (trackID 1603, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1602, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.596121,-0.389047,-0.70234) - Old Polarization: (-0.572923,-0.818959,-0.0326307) - New Momentum Direction: (0.809827,-0.528519,-0.254652) - New Polarization: (-0.557041,-0.828911,-0.0510976) - *** FresnelRefraction *** -Track (trackID 1601, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1600, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.566544,0.812675,-0.136337) - Old Polarization: (-0.605928,0.522979,0.599453) - New Momentum Direction: (0.769868,0.610721,-0.185266) - New Polarization: (-0.437604,0.716457,0.543315) - *** FresnelRefraction *** -Track (trackID 1599, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1598, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1597, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.882542,-0.403887,-0.240824) - Old Polarization: (-0.251717,-0.83835,0.483537) - New Momentum Direction: (0.770356,-0.54765,-0.326545) - New Polarization: (0.346317,-0.0706303,0.935455) - *** FresnelRefraction *** -Track (trackID 1596, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.844736,0.508334,0.167383) - Old Polarization: (-0.295744,0.18272,0.937629) - New Momentum Direction: (0.685872,0.691215,0.227601) - New Polarization: (0.410993,-0.626028,0.662701) - *** FresnelRefraction *** -Track (trackID 1595, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1594, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.925585,0.322695,0.197887) - Old Polarization: (-0.201521,-0.0224705,0.979226) - New Momentum Direction: (0.858966,0.436495,0.267673) - New Polarization: (0.274776,-0.834069,0.478358) - *** FresnelRefraction *** -Track (trackID 1593, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 127 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 35 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 163 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.810067,-0.51806,0.274601) - Old Polarization: (-0.579358,-0.779264,0.238941) - New Momentum Direction: (0.604514,-0.703833,0.373071) - New Polarization: (0.787901,0.459289,-0.410202) - *** FresnelRefraction *** -Track (trackID 1950, parentID 1) is processed with stopping code 2 -### pop requested out of 162 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.220666,0.975276,0.0119214) - Old Polarization: (0.865761,-0.190229,-0.462894) - New Momentum Direction: (0.297793,0.954495,0.0160882) - New Polarization: (-0.793734,0.25693,-0.551338) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.297793,0.954495,0.0160882) - Old Polarization: (-0.793734,0.25693,-0.551338) - New Momentum Direction: (-0.537157,-0.732958,0.417416) - New Polarization: (0.790172,-0.264128,0.55305) - *** LambertianReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.537157,-0.732958,0.417416) - Old Polarization: (0.790172,-0.264128,0.55305) - New Momentum Direction: (-0.398036,-0.863653,0.309307) - New Polarization: (0.833639,-0.199795,0.514906) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (-0.398036,-0.863653,0.309307) - Old Polarization: (0.833639,-0.199795,0.514906) - New Momentum Direction: (-0.537157,-0.732958,0.417416) - New Polarization: (0.795279,-0.275198,0.540183) - *** FresnelRefraction *** -Track (trackID 1949, parentID 1) is processed with stopping code 2 -### pop requested out of 161 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.64202,0.676719,0.360363) - Old Polarization: (0.660113,0.248846,0.70875) - New Momentum Direction: (-0.64202,-0.676719,0.360363) - New Polarization: (-0.660113,0.248846,-0.70875) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.64202,-0.676719,0.360363) - Old Polarization: (-0.660113,0.248846,-0.70875) - New Momentum Direction: (0.64202,-0.676719,0.360363) - New Polarization: (-0.660113,-0.248846,0.70875) - *** TotalInternalReflection *** -Scattering Photon! -Old Momentum Direction: (0.64202,-0.676719,0.360363) -Old Polarization: (-0.660113,-0.248846,0.70875) -New Polarization: (0.469363,0.499589,-0.728086) -Polarization Change: (0.469363,0.499589,-0.728086) -New Momentum Direction: (-0.687003,0.72462,0.054332) -Momentum Change: (-0.687003,0.72462,0.054332) - Photon at Boundary! - Old Momentum Direction: (-0.687003,0.72462,0.054332) - Old Polarization: (0.469363,0.499589,-0.728086) - New Momentum Direction: (-0.154315,0.985256,0.0738745) - New Polarization: (-0.707839,-0.0580802,-0.703982) - *** FresnelRefraction *** -Track (trackID 1948, parentID 1) is processed with stopping code 2 -### pop requested out of 160 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.285069,-0.922077,-0.261745) - Old Polarization: (-0.0245102,0.279999,-0.959687) - New Momentum Direction: (-0.384265,-0.853144,-0.352825) - New Polarization: (0.921219,-0.379494,-0.0856762) - *** FresnelRefraction *** -Track (trackID 1947, parentID 1) is processed with stopping code 2 -### pop requested out of 159 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.473314,0.824268,-0.310735) - Old Polarization: (-0.0659769,-0.384931,-0.920584) - New Momentum Direction: (-0.641597,0.64104,-0.421215) - New Polarization: (0.767023,0.532303,-0.35823) - *** FresnelRefraction *** -Track (trackID 1946, parentID 1) is processed with stopping code 2 -### pop requested out of 158 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.00886247,-0.449604,0.893184) - Old Polarization: (-0.771222,0.571634,0.280092) - New Momentum Direction: (-0.0120445,-0.611033,0.791514) - New Polarization: (-0.766744,0.513743,0.384932) - *** FresnelRefraction *** -Track (trackID 1945, parentID 1) is processed with stopping code 2 -### pop requested out of 157 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.00228893,0.88232,-0.470645) - Old Polarization: (0.309536,0.446906,0.839323) - New Momentum Direction: (0.00310615,0.769466,-0.63868) - New Polarization: (0.304239,0.60768,0.733597) - *** FresnelRefraction *** -Track (trackID 1944, parentID 1) is processed with stopping code 2 -### pop requested out of 156 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.94211,-0.222571,-0.250779) - Old Polarization: (-0.196754,-0.238655,0.950964) - New Momentum Direction: (-0.890823,-0.301594,-0.339818) - New Polarization: (-0.268086,-0.254946,0.929049) - *** FresnelRefraction *** -Track (trackID 1943, parentID 1) is processed with stopping code 2 -### pop requested out of 155 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1942, parentID 1) is processed with stopping code 2 -### pop requested out of 154 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0764466,0.205085,0.975754) - Old Polarization: (0.23533,0.954681,-0.182219) - New Momentum Direction: (-0.103941,0.278845,0.954695) - New Polarization: (0.795772,-0.552485,0.248007) - *** FresnelRefraction *** -Track (trackID 1941, parentID 1) is processed with stopping code 2 -### pop requested out of 153 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1940, parentID 1) is processed with stopping code 2 -### pop requested out of 152 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.106566,-0.991831,-0.0701098) - Old Polarization: (-0.911243,-0.0692072,-0.406014) - New Momentum Direction: (0.144681,-0.984889,-0.0951861) - New Polarization: (-0.908287,-0.0940312,-0.407643) - *** FresnelRefraction *** -Track (trackID 1939, parentID 1) is processed with stopping code 2 -### pop requested out of 151 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0829267,0.811278,-0.57875) - Old Polarization: (-0.996514,0.0621948,-0.0556033) - New Momentum Direction: (0.112576,0.608313,-0.785673) - New Polarization: (-0.993349,0.088129,-0.0740985) - *** FresnelRefraction *** -Track (trackID 1938, parentID 1) is processed with stopping code 2 -### pop requested out of 150 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.418601,-0.786831,-0.453508) - Old Polarization: (-0.809307,-0.0966168,-0.579385) - New Momentum Direction: (0.564844,-0.5536,-0.611946) - New Polarization: (-0.786615,-0.137113,-0.602028) - *** FresnelRefraction *** -Track (trackID 1937, parentID 1) is processed with stopping code 2 -### pop requested out of 149 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.163776,-0.985961,0.0325338) - Old Polarization: (-0.973126,0.156056,-0.169331) - New Momentum Direction: (-0.220927,-0.974302,0.0438868) - New Polarization: (0.824138,-0.210561,-0.525795) - *** FresnelRefraction *** -Track (trackID 1936, parentID 1) is processed with stopping code 2 -### pop requested out of 148 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1935, parentID 1) is processed with stopping code 2 -### pop requested out of 147 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.732311,-0.206919,-0.648772) - Old Polarization: (-0.496249,0.490255,-0.71651) - New Momentum Direction: (0.396953,-0.278894,-0.874441) - New Polarization: (0.695723,0.712842,0.0884695) - *** FresnelRefraction *** -Track (trackID 1934, parentID 1) is processed with stopping code 2 -### pop requested out of 146 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1933, parentID 1) is processed with stopping code 2 -### pop requested out of 145 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1932, parentID 1) is processed with stopping code 2 -### pop requested out of 144 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1931, parentID 1) is processed with stopping code 2 -### pop requested out of 143 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.190859,0.438914,-0.878025) - Old Polarization: (-0.272643,0.83557,0.476957) - New Momentum Direction: (-0.25647,0.589798,-0.765742) - New Polarization: (0.379113,-0.667372,-0.641006) - *** FresnelRefraction *** -Track (trackID 1930, parentID 1) is processed with stopping code 2 -### pop requested out of 142 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0530117,-0.0642186,0.996527) - Old Polarization: (0.614769,-0.784302,-0.0832458) - New Momentum Direction: (0.0716856,-0.0868403,0.99364) - New Polarization: (-0.651774,0.750012,0.11257) - *** FresnelRefraction *** -Track (trackID 1929, parentID 1) is processed with stopping code 2 -### pop requested out of 141 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.697435,0.53348,0.478522) - Old Polarization: (-0.682002,0.288975,0.671838) - New Momentum Direction: (0.258616,0.719085,0.645007) - New Polarization: (0.929802,-0.366335,0.0356032) - *** FresnelRefraction *** -Track (trackID 1928, parentID 1) is processed with stopping code 2 -### pop requested out of 140 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1927, parentID 1) is processed with stopping code 2 -### pop requested out of 139 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1926, parentID 1) is processed with stopping code 2 -### pop requested out of 138 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.398456,0.822031,0.406814) - Old Polarization: (0.794488,-0.0877205,-0.600911) - New Momentum Direction: (0.536099,0.642661,0.547344) - New Polarization: (0.633501,0.12225,-0.764024) - *** FresnelRefraction *** -Track (trackID 1925, parentID 1) is processed with stopping code 2 -### pop requested out of 137 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.089899,0.232131,0.968521) - Old Polarization: (-0.525932,0.814748,-0.244093) - New Momentum Direction: (-0.089899,0.232131,-0.968521) - New Polarization: (0.121785,-0.962599,-0.242016) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 1924, parentID 1) is processed with stopping code 2 -### pop requested out of 136 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.689176,-0.0820457,-0.719934) - Old Polarization: (0.437363,-0.839264,-0.323032) - New Momentum Direction: (-0.927659,-0.110437,-0.356726) - New Polarization: (0.280154,-0.837432,-0.469278) - *** FresnelRefraction *** -Track (trackID 1923, parentID 1) is processed with stopping code 2 -### pop requested out of 135 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1922, parentID 1) is processed with stopping code 2 -### pop requested out of 134 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1921, parentID 1) is processed with stopping code 2 -### pop requested out of 133 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.129806,0.011016,0.991478) - Old Polarization: (0.456351,0.888401,0.0498755) - New Momentum Direction: (-0.175762,0.0149161,0.98432) - New Polarization: (0.453957,0.888456,0.0675959) - *** FresnelRefraction *** -Track (trackID 1920, parentID 1) is processed with stopping code 2 -### pop requested out of 132 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.964329,0.174319,-0.199207) - Old Polarization: (-0.240322,0.261041,-0.934935) - New Momentum Direction: (0.933449,0.236221,-0.269947) - New Polarization: (0.325943,-0.872781,0.363337) - *** FresnelRefraction *** -Track (trackID 1919, parentID 1) is processed with stopping code 2 -### pop requested out of 131 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,-0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (-0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (0.587169,0.621217,0.518962) - New Polarization: (-0.0850626,0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (-0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (-0.587169,-0.621217,-0.518962) - New Polarization: (-0.0850626,0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,-0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (-0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (0.587169,0.621217,0.518962) - New Polarization: (-0.0850626,0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (-0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (-0.587169,-0.621217,-0.518962) - New Polarization: (-0.0850626,0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,-0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (-0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (0.587169,0.621217,0.518962) - New Polarization: (-0.0850626,0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,0.621217,0.518962) - Old Polarization: (-0.0850626,0.684922,-0.723634) - New Momentum Direction: (0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (-0.587169,-0.621217,0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,-0.621217,0.518962) - Old Polarization: (0.0850626,-0.684922,-0.723634) - New Momentum Direction: (-0.587169,0.621217,0.518962) - New Polarization: (-0.0850626,-0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,0.621217,0.518962) - Old Polarization: (-0.0850626,-0.684922,0.723634) - New Momentum Direction: (-0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,0.684922,0.723634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.587169,0.621217,-0.518962) - Old Polarization: (0.0850626,0.684922,0.723634) - New Momentum Direction: (0.587169,0.621217,-0.518962) - New Polarization: (0.0850626,-0.684922,-0.723634) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1918, parentID 1) is processed with stopping code 2 -### pop requested out of 130 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.204026,0.291094,-0.934686) - Old Polarization: (0.232554,-0.94185,-0.242562) - New Momentum Direction: (0.277195,0.395487,-0.875645) - New Polarization: (0.251091,-0.909504,-0.331294) - *** FresnelRefraction *** -Track (trackID 1917, parentID 1) is processed with stopping code 2 -### pop requested out of 129 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.11607,-0.992107,-0.0474515) - Old Polarization: (0.977557,-0.10565,-0.182266) - New Momentum Direction: (-0.157279,-0.985459,-0.0642984) - New Polarization: (0.972451,-0.143201,-0.183934) - *** FresnelRefraction *** -Track (trackID 1916, parentID 1) is processed with stopping code 2 -### pop requested out of 128 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.955708,0.237679,0.173582) - Old Polarization: (-0.149119,-0.117436,0.981821) - New Momentum Direction: (0.916604,0.32286,0.235792) - New Polarization: (0.203518,-0.884456,0.419902) - *** FresnelRefraction *** -Track (trackID 1915, parentID 1) is processed with stopping code 2 -### pop requested out of 127 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1914, parentID 1) is processed with stopping code 2 -### pop requested out of 126 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.991867,0.0411218,0.120452) - Old Polarization: (-0.0991289,-0.344003,0.933721) - New Momentum Direction: (0.98521,0.0553606,0.16216) - New Polarization: (0.133505,-0.841237,-0.523924) - *** FresnelRefraction *** -Track (trackID 1913, parentID 1) is processed with stopping code 2 -### pop requested out of 125 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.714015,0.700063,0.00974678) - Old Polarization: (-0.421074,0.41826,0.804832) - New Momentum Direction: (0.332377,0.943055,0.0131299) - New Polarization: (0.606038,-0.224222,0.763179) - *** FresnelRefraction *** -Track (trackID 1912, parentID 1) is processed with stopping code 2 -### pop requested out of 124 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1911, parentID 1) is processed with stopping code 2 -### pop requested out of 123 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.959211,-0.273661,-0.0708784) - Old Polarization: (-0.146499,-0.695647,0.703287) - New Momentum Direction: (0.923091,-0.372297,-0.0964254) - New Polarization: (0.200157,0.250986,0.947071) - *** FresnelRefraction *** -Track (trackID 1910, parentID 1) is processed with stopping code 2 -### pop requested out of 122 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.994399,-0.0488395,0.0937354) - Old Polarization: (-0.105676,-0.44216,0.890689) - New Momentum Direction: (0.98963,-0.0663726,0.127386) - New Polarization: (0.143613,0.474425,-0.868502) - *** FresnelRefraction *** -Track (trackID 1909, parentID 1) is processed with stopping code 2 -### pop requested out of 121 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.932076,-0.332317,-0.144221) - Old Polarization: (-0.176148,-0.76363,0.621161) - New Momentum Direction: (0.870468,-0.451536,-0.19596) - New Polarization: (0.241244,0.0443396,0.969451) - *** FresnelRefraction *** -Track (trackID 1908, parentID 1) is processed with stopping code 2 -### pop requested out of 120 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.282929,0.692028,-0.664115) - Old Polarization: (-0.915081,0.402207,0.029265) - New Momentum Direction: (0.383074,0.211475,-0.899184) - New Polarization: (-0.774019,0.604756,-0.187521) - *** FresnelRefraction *** -Track (trackID 1907, parentID 1) is processed with stopping code 2 -### pop requested out of 119 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.994844,-0.0111738,0.100797) - Old Polarization: (-0.0967003,-0.404014,0.909627) - New Momentum Direction: (0.990617,-0.0150579,0.135834) - New Polarization: (0.130321,-0.195246,-0.972057) - *** FresnelRefraction *** -Track (trackID 1906, parentID 1) is processed with stopping code 2 -### pop requested out of 118 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.235818,0.496456,-0.835417) - Old Polarization: (-0.969507,0.179166,-0.167197) - New Momentum Direction: (0.3191,0.671786,-0.668489) - New Polarization: (-0.947659,0.218117,-0.233168) - *** FresnelRefraction *** -Track (trackID 1905, parentID 1) is processed with stopping code 2 -### pop requested out of 117 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.352586,0.784284,-0.510472) - Old Polarization: (-0.836085,0.509028,0.204577) - New Momentum Direction: (0.476964,0.543739,-0.690545) - New Polarization: (-0.711114,0.700478,0.0603902) - *** FresnelRefraction *** -Track (trackID 1904, parentID 1) is processed with stopping code 2 -### pop requested out of 116 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.366545,-0.0964841,-0.925384) - Old Polarization: (-0.821255,-0.500974,-0.273066) - New Momentum Direction: (0.494979,-0.130291,-0.859081) - New Polarization: (-0.777223,-0.508431,-0.370705) - *** FresnelRefraction *** -Track (trackID 1903, parentID 1) is processed with stopping code 2 -### pop requested out of 115 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.295175,0.0536906,-0.953933) - Old Polarization: (-0.897822,-0.325896,-0.296155) - New Momentum Direction: (0.401233,0.0729818,-0.913064) - New Polarization: (-0.858466,-0.317684,-0.402633) - *** FresnelRefraction *** -Track (trackID 1902, parentID 1) is processed with stopping code 2 -### pop requested out of 114 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.234417,0.452854,-0.860216) - Old Polarization: (-0.971872,0.12979,-0.196518) - New Momentum Direction: (0.316965,0.612322,-0.724289) - New Polarization: (-0.947428,0.169199,-0.271573) - *** FresnelRefraction *** -Track (trackID 1901, parentID 1) is processed with stopping code 2 -### pop requested out of 113 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.994758,-0.0682946,0.076114) -Old Polarization: (-0.0993279,-0.468267,0.877986) -New Polarization: (-0.106122,-0.981919,-0.156759) -Polarization Change: (-0.106122,-0.981919,-0.156759) -New Momentum Direction: (0.0678876,0.150126,-0.986333) -Momentum Change: (0.0678876,0.150126,-0.986333) - Photon at Boundary! - Old Momentum Direction: (0.0678876,0.150126,-0.986333) - Old Polarization: (-0.106122,-0.981919,-0.156759) - New Momentum Direction: (0.0917134,0.202815,-0.974913) - New Polarization: (-0.102149,-0.971958,-0.211809) - *** FresnelRefraction *** -Track (trackID 1900, parentID 1) is processed with stopping code 2 -### pop requested out of 112 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.305428,0.0225053,-0.951949) - Old Polarization: (-0.885525,-0.360837,-0.292647) - New Momentum Direction: (0.41553,0.030618,-0.909064) - New Polarization: (-0.845322,-0.35598,-0.398383) - *** FresnelRefraction *** -Track (trackID 1899, parentID 1) is processed with stopping code 2 -### pop requested out of 111 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.514708,-0.323005,-0.794193) - Old Polarization: (-0.649085,-0.752001,-0.11482) - New Momentum Direction: (0.699924,-0.439238,-0.563184) - New Polarization: (-0.615714,-0.770685,-0.164137) - *** FresnelRefraction *** -Track (trackID 1898, parentID 1) is processed with stopping code 2 -### pop requested out of 110 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1897, parentID 1) is processed with stopping code 2 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23906,0.392836,-0.887992) - Old Polarization: (-0.970347,0.0629966,-0.233362) - New Momentum Direction: (0.322028,0.529174,-0.785031) - New Polarization: (-0.942501,0.1009,-0.318609) - *** FresnelRefraction *** -Track (trackID 1896, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23343,0.34932,-0.907461) - Old Polarization: (-0.96931,0.00957306,-0.245655) - New Momentum Direction: (0.3168,0.474079,-0.821515) - New Polarization: (-0.940535,0.045059,-0.336695) - *** FresnelRefraction *** -Track (trackID 1895, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.329854,-0.0318841,-0.943493) - Old Polarization: (-0.85948,-0.423558,-0.286169) - New Momentum Direction: (0.447799,-0.0432848,-0.893086) - New Polarization: (-0.817469,-0.424477,-0.389311) - *** FresnelRefraction *** -Track (trackID 1894, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.965929,0.194411,0.170839) - Old Polarization: (-0.139134,-0.166528,0.976171) - New Momentum Direction: (0.935933,0.264549,0.232473) - New Polarization: (0.189979,-0.935074,0.299241) - *** FresnelRefraction *** -Track (trackID 1893, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.234499,0.522667,-0.819652) - Old Polarization: (-0.967651,0.206226,-0.145337) - New Momentum Direction: (0.318394,0.709657,-0.6285) - New Polarization: (-0.947926,0.243872,-0.20485) - *** FresnelRefraction *** -Track (trackID 1892, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.549397,-0.353936,-0.756896) - Old Polarization: (-0.61005,-0.788909,-0.0739024) - New Momentum Direction: (0.746088,-0.480649,-0.460793) - New Polarization: (-0.584665,-0.804061,-0.107945) - *** FresnelRefraction *** -Track (trackID 1891, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1890, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.735951,-0.4444,-0.510769) - Old Polarization: (-0.397779,-0.894298,0.204946) - New Momentum Direction: (0.396762,-0.602515,-0.692499) - New Polarization: (0.57116,-0.428537,0.700095) - *** FresnelRefraction *** -Track (trackID 1889, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.988575,0.0628799,0.13699) - Old Polarization: (-0.110458,-0.316188,0.942244) - New Momentum Direction: (0.978874,0.0852951,0.185824) - New Polarization: (0.149937,-0.917352,-0.368759) - *** FresnelRefraction *** -Track (trackID 1888, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.277942,0.665395,-0.692819) - Old Polarization: (-0.925576,0.378481,-0.00781915) - New Momentum Direction: (0.277942,0.665395,0.692819) - New Polarization: (-0.920924,0.389713,-0.00483521) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.277942,0.665395,0.692819) - Old Polarization: (-0.920924,0.389713,-0.00483521) - New Momentum Direction: (0.277942,-0.665395,0.692819) - New Polarization: (0.920924,0.389713,0.00483521) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.277942,-0.665395,0.692819) - Old Polarization: (0.920924,0.389713,0.00483521) - New Momentum Direction: (-0.277942,-0.665395,0.692819) - New Polarization: (0.920924,-0.389713,-0.00483521) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.277942,-0.665395,0.692819) - Old Polarization: (0.920924,-0.389713,-0.00483521) - New Momentum Direction: (-0.374325,-0.896135,0.238375) - New Polarization: (0.923419,-0.38372,0.00752406) - *** FresnelRefraction *** -Track (trackID 1887, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.56163,0.811271,-0.162512) - Old Polarization: (-0.59611,0.532968,0.600498) - New Momentum Direction: (0.763022,0.607495,-0.220787) - New Polarization: (-0.425578,0.729256,0.535788) - *** FresnelRefraction *** -Track (trackID 1886, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.747545,-0.447072,-0.491225) - Old Polarization: (-0.385214,-0.894296,0.227696) - New Momentum Direction: (-0.747545,-0.447072,-0.491225) - New Polarization: (0.138861,-0.828412,0.542634) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,-0.447072,-0.491225) - Old Polarization: (0.138861,-0.828412,0.542634) - New Momentum Direction: (-0.747545,-0.447072,0.491225) - New Polarization: (-0.138861,0.828412,0.542634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,-0.447072,0.491225) - Old Polarization: (-0.138861,0.828412,0.542634) - New Momentum Direction: (-0.747545,0.447072,0.491225) - New Polarization: (0.138861,0.828412,-0.542634) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,0.447072,0.491225) - Old Polarization: (0.138861,0.828412,-0.542634) - New Momentum Direction: (0.747545,0.447072,0.491225) - New Polarization: (-0.0425541,0.77028,-0.636285) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.747545,0.447072,0.491225) - Old Polarization: (-0.0425541,0.77028,-0.636285) - New Momentum Direction: (0.747545,0.447072,-0.491225) - New Polarization: (0.0425541,-0.77028,-0.636285) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.747545,0.447072,-0.491225) - Old Polarization: (0.0425541,-0.77028,-0.636285) - New Momentum Direction: (-0.747545,0.447072,-0.491225) - New Polarization: (0.0128028,-0.729727,-0.683619) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,0.447072,-0.491225) - Old Polarization: (0.0128028,-0.729727,-0.683619) - New Momentum Direction: (-0.747545,-0.447072,-0.491225) - New Polarization: (-0.0128028,-0.729727,0.683619) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,-0.447072,-0.491225) - Old Polarization: (-0.0128028,-0.729727,0.683619) - New Momentum Direction: (-0.747545,-0.447072,0.491225) - New Polarization: (0.0128028,0.729727,0.683619) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.747545,-0.447072,0.491225) - Old Polarization: (0.0128028,0.729727,0.683619) - New Momentum Direction: (0.747545,-0.447072,0.491225) - New Polarization: (-0.00384529,0.736637,0.676277) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.747545,-0.447072,0.491225) - Old Polarization: (-0.00384529,0.736637,0.676277) - New Momentum Direction: (0.747545,-0.447072,-0.491225) - New Polarization: (0.00384529,-0.736637,0.676277) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.747545,-0.447072,-0.491225) - Old Polarization: (0.00384529,-0.736637,0.676277) - New Momentum Direction: (0.747545,0.447072,-0.491225) - New Polarization: (-0.00384529,-0.736637,-0.676277) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.747545,0.447072,-0.491225) - Old Polarization: (-0.00384529,-0.736637,-0.676277) - New Momentum Direction: (0.431354,0.607248,-0.667221) - New Polarization: (0.00566669,-0.741372,-0.671071) - *** FresnelRefraction *** -Track (trackID 1885, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1884, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.369605,-0.118555,-0.921595) -Old Polarization: (-0.81338,-0.520791,-0.25921) -New Polarization: (-0.626713,-0.767986,0.132016) -Polarization Change: (-0.626713,-0.767986,0.132016) -New Momentum Direction: (0.547767,-0.31368,0.7756) -Momentum Change: (0.547767,-0.31368,0.7756) - Photon at Boundary! - Old Momentum Direction: (0.547767,-0.31368,0.7756) - Old Polarization: (-0.626713,-0.767986,0.132016) - New Momentum Direction: (-0.547767,-0.31368,0.7756) - New Polarization: (-0.626713,0.767986,-0.132016) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.547767,-0.31368,0.7756) - Old Polarization: (-0.626713,0.767986,-0.132016) - New Momentum Direction: (-0.744755,-0.426485,0.513275) - New Polarization: (-0.385717,0.90275,0.190433) - *** FresnelRefraction *** -Track (trackID 1883, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.879463,-0.397347,-0.262029) - Old Polarization: (-0.234307,-0.840622,0.488319) - New Momentum Direction: (0.763893,-0.538746,-0.355275) - New Polarization: (0.322815,-0.157695,0.933232) - *** FresnelRefraction *** -Track (trackID 1882, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.705454,-0.441766,-0.554236) - Old Polarization: (-0.433052,-0.887704,0.156358) - New Momentum Direction: (0.269423,-0.60025,-0.753068) - New Polarization: (0.638029,-0.474477,0.606458) - *** FresnelRefraction *** -Track (trackID 1881, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.972891,-0.229244,-0.0305051) - Old Polarization: (-0.129079,-0.647716,0.750868) - New Momentum Direction: (0.949435,-0.311219,-0.0414134) - New Polarization: (0.175683,0.417308,0.891622) - *** FresnelRefraction *** -Track (trackID 1880, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.839366,-0.424956,-0.338937) - Old Polarization: (-0.279864,-0.872403,0.400735) - New Momentum Direction: (0.676057,-0.576061,-0.459456) - New Polarization: (0.388479,-0.251191,0.886559) - *** FresnelRefraction *** -Track (trackID 1879, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.353183,-0.081298,-0.932015) - Old Polarization: (-0.833358,-0.480085,-0.273921) - New Momentum Direction: (0.479202,-0.110306,-0.870746) - New Polarization: (-0.790185,-0.486067,-0.373291) - *** FresnelRefraction *** -Track (trackID 1878, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1877, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.801565,-0.435783,-0.409373) - Old Polarization: (-0.320996,-0.891286,0.320266) - New Momentum Direction: (0.590101,-0.588419,-0.552759) - New Polarization: (0.447439,-0.331537,0.830591) - *** FresnelRefraction *** -Track (trackID 1876, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.991266,0.0395427,0.125812) - Old Polarization: (-0.104724,-0.343827,0.933175) - New Momentum Direction: (0.983956,0.0534946,0.170203) - New Polarization: (0.141731,-0.813811,-0.563581) - *** FresnelRefraction *** -Track (trackID 1875, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1874, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.237609,0.472446,-0.848727) - Old Polarization: (-0.970421,0.153884,-0.186018) - New Momentum Direction: (0.320577,0.637415,-0.700665) - New Polarization: (-0.946793,0.193368,-0.257276) - *** FresnelRefraction *** -Track (trackID 1873, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.271555,0.649163,-0.710524) - Old Polarization: (-0.932753,0.359419,-0.0281089) - New Momentum Direction: (0.271555,0.649163,0.710524) - New Polarization: (-0.916951,0.39876,-0.0138738) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 1872, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.983572,0.100735,0.149794) - Old Polarization: (-0.117486,-0.27278,0.954876) - New Momentum Direction: (0.969472,0.136834,0.203472) - New Polarization: (0.159789,-0.981974,-0.100966) - *** FresnelRefraction *** -Track (trackID 1871, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.846444,-0.419201,-0.328334) - Old Polarization: (-0.270378,-0.869576,0.413199) - New Momentum Direction: (0.69382,-0.566948,-0.444054) - New Polarization: (0.373757,-0.243579,0.894972) - *** FresnelRefraction *** -Track (trackID 1870, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.843565,-0.424653,-0.328737) - Old Polarization: (-0.276517,-0.868222,0.411981) - New Momentum Direction: (0.683742,-0.577027,-0.446694) - New Polarization: (0.384555,-0.235318,0.892605) - *** FresnelRefraction *** -Track (trackID 1869, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.800722,0.589969,0.103829) - Old Polarization: (-0.324934,0.282148,0.902668) - New Momentum Direction: (0.581226,0.801425,0.141044) - New Polarization: (0.456475,-0.464597,0.758802) - *** FresnelRefraction *** -Track (trackID 1868, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1867, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.556813,0.813224,-0.169194) - Old Polarization: (-0.60158,0.535267,0.592951) - New Momentum Direction: (0.756437,0.612348,-0.229853) - New Polarization: (-0.432328,0.731809,0.526828) - *** FresnelRefraction *** -Track (trackID 1866, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.925336,0.337778,0.172217) - Old Polarization: (-0.181875,-0.00310281,0.983317) - New Momentum Direction: (0.857814,0.457882,0.233452) - New Polarization: (0.248718,-0.767317,0.59107) - *** FresnelRefraction *** -Track (trackID 1865, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.860112,-0.412498,-0.300087) - Old Polarization: (-0.25627,-0.858082,0.444995) - New Momentum Direction: (0.722336,-0.559218,-0.406823) - New Polarization: (0.354271,-0.205985,0.912174) - *** FresnelRefraction *** -Track (trackID 1864, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.432619,0.820242,-0.374224) - Old Polarization: (-0.746869,0.55855,0.360844) - New Momentum Direction: (0.582331,0.638083,-0.503727) - New Polarization: (-0.608244,0.753087,0.250796) - *** FresnelRefraction *** -Track (trackID 1863, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.87527,-0.400136,-0.271649) - Old Polarization: (-0.238298,-0.845577,0.477716) - New Momentum Direction: (0.755637,-0.541908,-0.367897) - New Polarization: (0.32814,-0.172907,0.92867) - *** FresnelRefraction *** -Track (trackID 1862, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.985714,-0.167934,0.0128944) - Old Polarization: (-0.109798,-0.582646,0.805275) - New Momentum Direction: (0.973764,-0.226891,0.0174213) - New Polarization: (0.148501,0.691605,0.706845) - *** FresnelRefraction *** -Track (trackID 1861, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.314778,0.00122912,-0.949165) - Old Polarization: (-0.875706,-0.385367,-0.290915) - New Momentum Direction: (0.427831,0.00167056,-0.903857) - New Polarization: (-0.834745,-0.382784,-0.395825) - *** FresnelRefraction *** -Track (trackID 1860, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1859, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1858, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.902078,-0.369893,-0.22234) - Old Polarization: (-0.203614,-0.819011,0.536434) - New Momentum Direction: (0.813627,-0.498295,-0.299522) - New Polarization: (0.277555,-0.119772,0.953214) - *** FresnelRefraction *** -Track (trackID 1857, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1856, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1855, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1854, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.237744,0.407426,-0.881749) - Old Polarization: (-0.971086,0.0794279,-0.22513) - New Momentum Direction: (0.3205,0.549249,-0.771755) - New Polarization: (-0.94401,0.117893,-0.308133) - *** FresnelRefraction *** -Track (trackID 1853, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.878311,-0.400248,-0.261479) - Old Polarization: (-0.237435,-0.839886,0.488073) - New Momentum Direction: (0.76,-0.544104,-0.355459) - New Polarization: (0.328139,-0.150857,0.932506) - *** FresnelRefraction *** -Track (trackID 1852, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.22753,0.448065,-0.864562) - Old Polarization: (-0.973622,0.120219,-0.193927) - New Momentum Direction: (0.309536,0.609557,-0.729813) - New Polarization: (-0.949673,0.15939,-0.269659) - *** FresnelRefraction *** -Track (trackID 1851, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.940088,-0.314966,-0.130503) - Old Polarization: (-0.162669,-0.750783,0.640206) - New Momentum Direction: (0.887466,-0.425772,-0.176414) - New Polarization: (0.221361,0.0580544,0.973462) - *** FresnelRefraction *** -Track (trackID 1850, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.260923,0.638067,-0.724424) - Old Polarization: (-0.939672,0.339831,-0.0391299) - New Momentum Direction: (0.353491,0.864437,-0.357481) - New Polarization: (-0.932275,0.356957,-0.0587002) - *** FresnelRefraction *** -Track (trackID 1849, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.474051,0.831627,-0.289261) - Old Polarization: (-0.695221,0.555122,0.456627) - New Momentum Direction: (0.644399,0.655849,-0.393206) - New Polarization: (-0.545753,0.754623,0.364278) - *** FresnelRefraction *** -Track (trackID 1848, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.23879,0.32201,-0.916127) - Old Polarization: (-0.96567,-0.0206199,-0.258951) - New Momentum Direction: (0.323265,0.435925,-0.839922) - New Polarization: (-0.935449,0.0131247,-0.353218) - *** FresnelRefraction *** -Track (trackID 1847, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1846, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.357097,-0.08157,-0.930499) - Old Polarization: (-0.830998,-0.482631,-0.276603) - New Momentum Direction: (0.48301,-0.110332,-0.868636) - New Polarization: (-0.787419,-0.488627,-0.375785) - *** FresnelRefraction *** -Track (trackID 1845, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.278365,0.108997,-0.954271) - Old Polarization: (-0.917576,-0.263435,-0.297751) - New Momentum Direction: (0.378069,0.148038,-0.913865) - New Polarization: (-0.879935,-0.249319,-0.40442) - *** FresnelRefraction *** -Track (trackID 1844, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1843, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.92442,-0.340313,-0.172149) - Old Polarization: (-0.178066,-0.784308,0.594267) - New Momentum Direction: (0.857824,-0.458606,-0.231987) - New Polarization: (0.242042,-0.0377002,0.969533) - *** FresnelRefraction *** -Track (trackID 1842, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.424438,0.825505,-0.372013) - Old Polarization: (-0.752007,0.550219,0.362966) - New Momentum Direction: (0.576245,0.64253,-0.50507) - New Polarization: (-0.613523,0.748368,0.252062) - *** FresnelRefraction *** -Track (trackID 1841, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.676659,-0.432692,-0.595744) - Old Polarization: (-0.465608,-0.878249,0.109029) - New Momentum Direction: (-0.676659,-0.432692,-0.595744) - New Polarization: (0.45951,-0.880367,0.117493) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676659,-0.432692,-0.595744) - Old Polarization: (0.45951,-0.880367,0.117493) - New Momentum Direction: (-0.676659,-0.432692,0.595744) - New Polarization: (-0.45951,0.880367,0.117493) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676659,-0.432692,0.595744) - Old Polarization: (-0.45951,0.880367,0.117493) - New Momentum Direction: (-0.676659,0.432692,0.595744) - New Polarization: (0.45951,0.880367,-0.117493) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.676659,0.432692,0.595744) - Old Polarization: (0.45951,0.880367,-0.117493) - New Momentum Direction: (0.676659,0.432692,0.595744) - New Polarization: (-0.45339,0.882375,-0.125903) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.676659,0.432692,0.595744) - Old Polarization: (-0.45339,0.882375,-0.125903) - New Momentum Direction: (0.676659,0.432692,-0.595744) - New Polarization: (0.45339,-0.882375,-0.125903) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.676659,0.432692,-0.595744) - Old Polarization: (0.45339,-0.882375,-0.125903) - New Momentum Direction: (0.676659,-0.432692,-0.595744) - New Polarization: (-0.45339,-0.882375,0.125903) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.676659,-0.432692,-0.595744) - Old Polarization: (-0.45339,-0.882375,0.125903) - New Momentum Direction: (-0.676659,-0.432692,-0.595744) - New Polarization: (0.447251,-0.884275,0.134255) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 1840, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.969315,0.189352,0.156762) - Old Polarization: (-0.124362,-0.172349,0.977154) - New Momentum Direction: (0.943759,0.254681,0.210846) - New Polarization: (0.167758,-0.918369,0.358407) - *** FresnelRefraction *** -Track (trackID 1839, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.896,0.414795,0.158521) - Old Polarization: (-0.212443,0.0869351,0.973299) - New Momentum Direction: (0.800274,0.560124,0.214062) - New Polarization: (0.290607,-0.674551,0.678622) - *** FresnelRefraction *** -Track (trackID 1838, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.93799,-0.32095,-0.131021) - Old Polarization: (-0.16845,-0.752308,0.636913) - New Momentum Direction: (0.882412,-0.43558,-0.177816) - New Polarization: (0.230231,0.0701825,0.970602) - *** FresnelRefraction *** -Track (trackID 1837, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.420785,0.826427,-0.374109) - Old Polarization: (-0.755067,0.547643,0.3605) - New Momentum Direction: (0.572549,0.642704,-0.509038) - New Polarization: (-0.616957,0.746644,0.248769) - *** FresnelRefraction *** -Track (trackID 1836, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1835, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.920219,-0.348139,-0.178876) - Old Polarization: (-0.185013,-0.789627,0.585029) - New Momentum Direction: (0.84874,-0.470356,-0.241672) - New Polarization: (0.25231,-0.0414419,0.966758) - *** FresnelRefraction *** -Track (trackID 1834, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.697859,0.716211,0.00588369) - Old Polarization: (-0.441826,0.424011,0.790572) - New Momentum Direction: (0.948914,0.315432,0.00800035) - New Polarization: (-0.212227,0.619268,0.755954) - *** FresnelRefraction *** -Track (trackID 1833, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.984382,0.101314,0.14397) - Old Polarization: (-0.111601,-0.273344,0.95542) - New Momentum Direction: (0.971286,0.13692,0.194567) - New Polarization: (0.151003,-0.986745,-0.0594261) - *** FresnelRefraction *** -Track (trackID 1832, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1831, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.239207,0.307826,-0.920882) - Old Polarization: (-0.964117,-0.0371674,-0.262862) - New Momentum Direction: (0.324183,0.417179,-0.849039) - New Polarization: (-0.933475,-0.00446096,-0.358615) - *** FresnelRefraction *** -Track (trackID 1830, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.317361,0.023867,-0.948004) - Old Polarization: (-0.880403,-0.364058,-0.303896) - New Momentum Direction: (0.427183,0.0321261,-0.903594) - New Polarization: (-0.838793,-0.359013,-0.409312) - *** FresnelRefraction *** -Track (trackID 1829, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.417173,-0.182703,-0.890273) - Old Polarization: (-0.763742,-0.60144,-0.234453) - New Momentum Direction: (0.562605,-0.246396,-0.789154) - New Polarization: (-0.719309,-0.616418,-0.320348) - *** FresnelRefraction *** -Track (trackID 1828, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.504666,0.823848,-0.258042) - Old Polarization: (-0.66315,0.561312,0.495138) - New Momentum Direction: (0.679874,0.645697,-0.347629) - New Polarization: (-0.508638,0.756692,0.410737) - *** FresnelRefraction *** -Track (trackID 1827, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.518399,0.824442,-0.227065) - Old Polarization: (-0.645661,0.551463,0.528215) - New Momentum Direction: (0.702768,0.641376,-0.307821) - New Polarization: (-0.486499,0.748967,0.449852) - *** FresnelRefraction *** -Track (trackID 1826, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.270394,0.140846,-0.952391) -Old Polarization: (-0.927421,-0.227416,-0.296937) -New Polarization: (-0.826443,-0.504789,-0.249358) -Polarization Change: (-0.826443,-0.504789,-0.249358) -New Momentum Direction: (0.466521,-0.861917,0.198639) -Momentum Change: (0.466521,-0.861917,0.198639) - Photon at Boundary! - Old Momentum Direction: (0.466521,-0.861917,0.198639) - Old Polarization: (-0.826443,-0.504789,-0.249358) - New Momentum Direction: (0.633048,-0.725669,0.269544) - New Polarization: (-0.700855,-0.68513,-0.198493) - *** FresnelRefraction *** -Track (trackID 1825, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.563858,0.809574,-0.163261) - Old Polarization: (-0.593882,0.53484,0.601041) - New Momentum Direction: (0.764244,0.605777,-0.221282) - New Polarization: (-0.423405,0.730093,0.536369) - *** FresnelRefraction *** -Track (trackID 1824, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.964978,-0.255947,-0.0575233) - Old Polarization: (-0.137165,-0.679193,0.721029) - New Momentum Direction: (0.934566,-0.347131,-0.0780166) - New Polarization: (0.186687,0.291776,0.938091) - *** FresnelRefraction *** -Track (trackID 1823, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.783743,0.614497,0.0902174) - Old Polarization: (-0.344492,0.309236,0.886396) - New Momentum Direction: (0.535934,0.835306,0.122635) - New Polarization: (0.486856,-0.42445,0.763423) - *** FresnelRefraction *** -Track (trackID 1822, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.497142,0.827795,-0.260009) - Old Polarization: (-0.670138,0.556667,0.490956) - New Momentum Direction: (0.673393,0.650004,-0.35219) - New Polarization: (-0.51615,0.75443,0.405494) - *** FresnelRefraction *** -Track (trackID 1821, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.227731,0.434586,-0.871363) - Old Polarization: (-0.973716,0.105185,-0.202021) - New Momentum Direction: (0.309709,0.591027,-0.744827) - New Polarization: (-0.949046,0.144171,-0.280226) - *** FresnelRefraction *** -Track (trackID 1820, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1819, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.738551,-0.445444,-0.506085) - Old Polarization: (-0.39507,-0.894205,0.210517) - New Momentum Direction: (0.403954,-0.604397,-0.686677) - New Polarization: (0.567184,-0.423466,0.706384) - *** FresnelRefraction *** -Track (trackID 1818, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1817, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.278297,0.669458,-0.68875) - Old Polarization: (-0.92422,0.381853,-0.00228365) - New Momentum Direction: (0.37519,0.902542,-0.211308) - New Polarization: (-0.923685,0.383136,-0.00360438) - *** FresnelRefraction *** -Track (trackID 1816, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1815, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.267236,0.63992,-0.720477) - Old Polarization: (-0.936848,0.347581,-0.0387743) - New Momentum Direction: (0.267236,0.63992,0.720477) - New Polarization: (-0.915735,0.401427,-0.0168832) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.267236,0.63992,0.720477) - Old Polarization: (-0.915735,0.401427,-0.0168832) - New Momentum Direction: (0.267236,-0.63992,0.720477) - New Polarization: (0.915735,0.401427,0.0168832) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.267236,-0.63992,0.720477) - Old Polarization: (0.915735,0.401427,0.0168832) - New Momentum Direction: (-0.267236,-0.63992,0.720477) - New Polarization: (0.915735,-0.401427,-0.0168832) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.267236,-0.63992,0.720477) - Old Polarization: (0.915735,-0.401427,-0.0168832) - New Momentum Direction: (-0.360332,-0.862847,0.354479) - New Polarization: (0.926112,-0.376406,0.025185) - *** FresnelRefraction *** -Track (trackID 1814, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.841263,-0.424586,-0.334669) - Old Polarization: (-0.278157,-0.870751,0.405489) - New Momentum Direction: (0.679775,-0.575999,-0.454017) - New Polarization: (0.386296,-0.245023,0.889235) - *** FresnelRefraction *** -Track (trackID 1813, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.366419,0.798724,-0.47726) - Old Polarization: (-0.818292,0.520773,0.243298) - New Momentum Direction: (0.49717,0.577481,-0.647563) - New Polarization: (-0.690889,0.714974,0.107163) - *** FresnelRefraction *** -Track (trackID 1812, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.864891,-0.411633,-0.287265) - Old Polarization: (-0.253045,-0.851795,0.458708) - New Momentum Direction: (0.730603,-0.559935,-0.390759) - New Polarization: (0.350828,-0.183131,0.918359) - *** FresnelRefraction *** -Track (trackID 1811, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.760882,-0.445634,-0.471666) - Old Polarization: (-0.36952,-0.895079,0.249577) - New Momentum Direction: (-0.760882,-0.445634,-0.471666) - New Polarization: (0.0999532,-0.798697,0.593374) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.760882,-0.445634,-0.471666) - Old Polarization: (0.0999532,-0.798697,0.593374) - New Momentum Direction: (-0.760882,-0.445634,0.471666) - New Polarization: (-0.0999532,0.798697,0.593374) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.760882,-0.445634,0.471666) - Old Polarization: (-0.0999532,0.798697,0.593374) - New Momentum Direction: (-0.760882,0.445634,0.471666) - New Polarization: (0.0999532,0.798697,-0.593374) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1810, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.829784,0.543518,0.126671) - Old Polarization: (-0.292004,0.229407,0.928497) - New Momentum Direction: (0.652071,0.738371,0.172082) - New Polarization: (0.407224,-0.532555,0.741993) - *** FresnelRefraction *** -Track (trackID 1809, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.631388,0.771437,-0.0789579) - Old Polarization: (-0.516797,0.494504,0.698847) - New Momentum Direction: (0.854011,0.509176,-0.106798) - New Polarization: (-0.326773,0.684716,0.651448) - *** FresnelRefraction *** -Track (trackID 1808, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.264865,0.660343,-0.702705) - Old Polarization: (-0.932328,0.361422,-0.0117812) - New Momentum Direction: (0.264865,0.660343,0.702705) - New Polarization: (-0.925538,0.378591,-0.00691203) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.264865,0.660343,0.702705) - Old Polarization: (-0.925538,0.378591,-0.00691203) - New Momentum Direction: (0.264865,-0.660343,0.702705) - New Polarization: (0.925538,0.378591,0.00691203) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1807, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.696852,0.717215,0.000116723) - Old Polarization: (-0.442253,0.429568,0.787327) - New Momentum Direction: (0.944484,0.328558,0.000158202) - New Polarization: (-0.216608,0.622305,0.752209) - *** FresnelRefraction *** -Track (trackID 1806, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.462221,-0.245822,-0.852011) - Old Polarization: (-0.71218,-0.675371,-0.191504) - New Momentum Direction: (0.622763,-0.331203,-0.708852) - New Polarization: (-0.669749,-0.694024,-0.264135) - *** FresnelRefraction *** -Track (trackID 1805, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1804, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.333789,-0.0447711,-0.941584) - Old Polarization: (-0.853973,-0.437312,-0.281937) - New Momentum Direction: (0.453794,-0.0608673,-0.889026) - New Polarization: (-0.811839,-0.439581,-0.384299) - *** FresnelRefraction *** -Track (trackID 1803, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.302442,0.736,-0.605667) - Old Polarization: (-0.889366,0.446472,0.0984398) - New Momentum Direction: (0.411226,0.390781,-0.823519) - New Polarization: (-0.765449,0.638604,-0.0791944) - *** FresnelRefraction *** -Track (trackID 1802, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1801, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.42972,0.82182,-0.374101) - Old Polarization: (-0.74888,0.555845,0.360854) - New Momentum Direction: (0.579979,0.639287,-0.504912) - New Polarization: (-0.610359,0.751505,0.250403) - *** FresnelRefraction *** -Track (trackID 1800, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.630308,-0.413901,-0.656808) - Old Polarization: (-0.518299,-0.85422,0.040917) - New Momentum Direction: (0.630308,-0.413901,0.656808) - New Polarization: (0.518299,0.85422,0.040917) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.630308,-0.413901,0.656808) - Old Polarization: (0.518299,0.85422,0.040917) - New Momentum Direction: (-0.630308,-0.413901,0.656808) - New Polarization: (0.518299,-0.85422,-0.040917) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1799, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.541424,0.819149,-0.189354) - Old Polarization: (-0.618896,0.540755,0.569695) - New Momentum Direction: (0.736089,0.626019,-0.257436) - New Polarization: (-0.453396,0.738398,0.499199) - *** FresnelRefraction *** -Track (trackID 1798, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.490637,-0.290422,-0.821542) - Old Polarization: (-0.677549,-0.719994,-0.150118) - New Momentum Direction: (0.664614,-0.393404,-0.635234) - New Polarization: (-0.639216,-0.739585,-0.210752) - *** FresnelRefraction *** -Track (trackID 1797, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.291705,0.70345,-0.648125) - Old Polarization: (-0.907073,0.41846,0.0459288) - New Momentum Direction: (0.394024,0.279836,-0.875464) - New Polarization: (-0.775486,0.612483,-0.153251) - *** FresnelRefraction *** -Track (trackID 1796, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.282273,0.108349,-0.953196) - Old Polarization: (-0.915977,-0.264891,-0.301361) - New Momentum Direction: (0.382122,0.146676,-0.912397) - New Polarization: (-0.877861,-0.250825,-0.40798) - *** FresnelRefraction *** -Track (trackID 1795, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.364662,0.789489,-0.49369) - Old Polarization: (-0.824445,0.520196,0.222905) - New Momentum Direction: (0.491688,0.561372,-0.665661) - New Polarization: (-0.69815,0.711015,0.0839347) - *** FresnelRefraction *** -Track (trackID 1794, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.772039,-0.446941,-0.451885) -Old Polarization: (-0.357654,-0.893237,0.272418) -New Polarization: (0.402908,-0.589329,0.700255) -Polarization Change: (0.402908,-0.589329,0.700255) -New Momentum Direction: (0.718175,0.677859,0.157262) -Momentum Change: (0.718175,0.677859,0.157262) - Photon at Boundary! - Old Momentum Direction: (0.718175,0.677859,0.157262) - Old Polarization: (0.402908,-0.589329,0.700255) - New Momentum Direction: (0.325056,0.921228,0.213723) - New Polarization: (0.58922,-0.374057,0.716171) - *** FresnelRefraction *** -Track (trackID 1793, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.955132,-0.282853,-0.0878506) - Old Polarization: (-0.147389,-0.711191,0.687375) - New Momentum Direction: (0.915965,-0.383201,-0.119017) - New Polarization: (0.200627,0.180495,0.962897) - *** FresnelRefraction *** -Track (trackID 1792, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.694974,-0.439921,-0.568754) - Old Polarization: (-0.445088,-0.884438,0.140234) - New Momentum Direction: (-0.694974,-0.439921,-0.568754) - New Polarization: (0.330279,-0.897922,0.290951) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.694974,-0.439921,-0.568754) - Old Polarization: (0.330279,-0.897922,0.290951) - New Momentum Direction: (-0.694974,-0.439921,0.568754) - New Polarization: (-0.330279,0.897922,0.290951) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.694974,-0.439921,0.568754) - Old Polarization: (-0.330279,0.897922,0.290951) - New Momentum Direction: (-0.694974,0.439921,0.568754) - New Polarization: (0.330279,0.897922,-0.290951) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1791, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1790, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.60801,-0.394642,-0.688899) - Old Polarization: (-0.543557,-0.839372,0.00110852) - New Momentum Direction: (0.823396,-0.534443,-0.19076) - New Polarization: (-0.544731,-0.838609,-0.00178088) - *** FresnelRefraction *** -Track (trackID 1789, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 91 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 17 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 109 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.469266,-0.453314,-0.757823) - Old Polarization: (-0.625266,-0.77657,0.0773456) - New Momentum Direction: (0.469266,-0.453314,0.757823) - New Polarization: (-0.678458,-0.734389,-0.019176) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.469266,-0.453314,0.757823) - Old Polarization: (-0.678458,-0.734389,-0.019176) - New Momentum Direction: (-0.469266,-0.453314,0.757823) - New Polarization: (-0.678458,0.734389,0.019176) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.469266,-0.453314,0.757823) - Old Polarization: (-0.678458,0.734389,0.019176) - New Momentum Direction: (-0.469266,0.453314,0.757823) - New Polarization: (0.678458,0.734389,-0.019176) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 2058, parentID 1) is processed with stopping code 2 -### pop requested out of 108 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.829521,-0.349276,0.435777) - Old Polarization: (0.196549,0.912958,0.357598) - New Momentum Direction: (0.658347,-0.470755,0.587341) - New Polarization: (0.272905,0.876485,0.396607) - *** FresnelRefraction *** -Track (trackID 2057, parentID 1) is processed with stopping code 2 -### pop requested out of 107 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2056, parentID 1) is processed with stopping code 2 -### pop requested out of 106 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.399618,-0.481337,0.780141) - Old Polarization: (-0.881722,-0.434621,0.183496) - New Momentum Direction: (0.542704,-0.653683,0.527419) - New Polarization: (-0.83588,-0.48188,0.262862) - *** FresnelRefraction *** -Track (trackID 2055, parentID 1) is processed with stopping code 2 -### pop requested out of 105 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.391735,-0.377827,0.838922) - Old Polarization: (-0.2681,-0.825353,-0.496905) - New Momentum Direction: (-0.531358,-0.512492,0.674545) - New Polarization: (0.721154,0.144171,0.677608) - *** FresnelRefraction *** -Track (trackID 2054, parentID 1) is processed with stopping code 2 -### pop requested out of 104 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.418007,-0.39486,-0.818142) - Old Polarization: (0.651682,0.757784,-0.0327709) - New Momentum Direction: (0.565981,-0.53464,-0.627556) - New Polarization: (0.658438,0.751219,-0.0461604) - *** FresnelRefraction *** -Track (trackID 2053, parentID 1) is processed with stopping code 2 -### pop requested out of 103 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2052, parentID 1) is processed with stopping code 2 -### pop requested out of 102 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.798986,0.59945,-0.0477622) - Old Polarization: (-0.43981,0.636676,0.633412) - New Momentum Direction: (0.580435,0.811734,-0.0646762) - New Polarization: (0.608571,-0.379645,0.696787) - *** FresnelRefraction *** -Track (trackID 2051, parentID 1) is processed with stopping code 2 -### pop requested out of 101 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.237619,0.935636,-0.261002) -Old Polarization: (-0.960755,0.265975,0.0787824) -New Polarization: (-0.820249,0.534329,-0.204167) -Polarization Change: (-0.820249,0.534329,-0.204167) -New Momentum Direction: (0.520267,0.548574,-0.654514) -Momentum Change: (0.520267,0.548574,-0.654514) - Photon at Boundary! - Old Momentum Direction: (0.520267,0.548574,-0.654514) - Old Polarization: (-0.820249,0.534329,-0.204167) - New Momentum Direction: (0.520267,-0.548574,-0.654514) - New Polarization: (0.820249,0.534329,0.204167) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.520267,-0.548574,-0.654514) - Old Polarization: (0.820249,0.534329,0.204167) - New Momentum Direction: (0.520267,-0.548574,0.654514) - New Polarization: (-0.820249,-0.534329,0.204167) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.520267,-0.548574,0.654514) - Old Polarization: (-0.820249,-0.534329,0.204167) - New Momentum Direction: (-0.520267,-0.548574,0.654514) - New Polarization: (-0.820249,0.534329,-0.204167) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 2050, parentID 1) is processed with stopping code 2 -### pop requested out of 100 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.262891,-0.562078,-0.784191) - Old Polarization: (-0.875178,0.203217,-0.439052) - New Momentum Direction: (0.354858,-0.758709,-0.546293) - New Polarization: (-0.790877,0.0680074,-0.608184) - *** FresnelRefraction *** -Track (trackID 2049, parentID 1) is processed with stopping code 2 -### pop requested out of 99 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.686251,-0.466722,0.557881) - Old Polarization: (0.666381,0.0959996,-0.739405) - New Momentum Direction: (0.194204,-0.629445,0.752386) - New Polarization: (0.919866,-0.149596,-0.362585) - *** FresnelRefraction *** -Track (trackID 2048, parentID 1) is processed with stopping code 2 -### pop requested out of 98 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.768144,-0.563559,-0.303901) - Old Polarization: (0.617757,0.527549,0.583154) - New Momentum Direction: (0.497183,-0.763685,-0.411819) - New Polarization: (0.840656,0.306535,0.446467) - *** FresnelRefraction *** -Track (trackID 2047, parentID 1) is processed with stopping code 2 -### pop requested out of 97 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2046, parentID 1) is processed with stopping code 2 -### pop requested out of 96 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.896897,0.441257,-0.0294555) - Old Polarization: (-0.001399,-0.0637741,-0.997963) - New Momentum Direction: (0.802147,0.5958,-0.0397719) - New Polarization: (0.00192064,-0.0691794,-0.997602) - *** FresnelRefraction *** -Track (trackID 2045, parentID 1) is processed with stopping code 2 -### pop requested out of 95 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.657083,-0.510161,0.554958) - Old Polarization: (0.172057,0.615262,0.769317) - New Momentum Direction: (0.657083,-0.510161,0.554958) - New Polarization: (0.172057,-0.615262,-0.769317) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 2044, parentID 1) is processed with stopping code 2 -### pop requested out of 94 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.466235,0.884623,-0.00820386) - Old Polarization: (0.213288,0.103403,-0.971502) - New Momentum Direction: (-0.631783,0.775065,-0.0111168) - New Polarization: (0.192261,0.142793,-0.9709) - *** FresnelRefraction *** -Track (trackID 2043, parentID 1) is processed with stopping code 2 -### pop requested out of 93 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.215813,-0.382268,-0.898497) - Old Polarization: (0.5463,0.715413,-0.435592) - New Momentum Direction: (-0.29152,-0.516368,-0.80522) - New Polarization: (0.499171,0.63596,-0.588544) - *** FresnelRefraction *** -Track (trackID 2042, parentID 1) is processed with stopping code 2 -### pop requested out of 92 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.00593938,0.511232,-0.859422) - Old Polarization: (-0.97489,-0.194283,-0.108833) - New Momentum Direction: (-0.00802995,0.691177,-0.722641) - New Polarization: (-0.974009,-0.168997,-0.150816) - *** FresnelRefraction *** -Track (trackID 2041, parentID 1) is processed with stopping code 2 -### pop requested out of 91 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.281904,0.0438398,-0.958441) - Old Polarization: (-0.632509,-0.74265,-0.220008) - New Momentum Direction: (0.382684,0.0595124,-0.921961) - New Polarization: (-0.606725,-0.736385,-0.29937) - *** FresnelRefraction *** -Track (trackID 2040, parentID 1) is processed with stopping code 2 -### pop requested out of 90 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.347751,0.931254,-0.108787) - Old Polarization: (-0.55599,0.298251,0.775836) - New Momentum Direction: (0.471347,0.869534,-0.147452) - New Polarization: (-0.511269,0.405626,0.757675) - *** FresnelRefraction *** -Track (trackID 2039, parentID 1) is processed with stopping code 2 -### pop requested out of 89 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.968648,0.24344,-0.0495743) - Old Polarization: (0.171096,-0.509005,0.843587) - New Momentum Direction: (0.941403,0.330501,-0.0673036) - New Polarization: (0.232814,-0.49236,0.838677) - *** FresnelRefraction *** -Track (trackID 2038, parentID 1) is processed with stopping code 2 -### pop requested out of 88 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.893804,-0.102418,-0.436607) - Old Polarization: (0.0858718,-0.916472,0.390776) - New Momentum Direction: (0.794233,-0.138765,-0.591556) - New Polarization: (0.118356,-0.919593,0.374621) - *** FresnelRefraction *** -Track (trackID 2037, parentID 1) is processed with stopping code 2 -### pop requested out of 87 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2036, parentID 1) is processed with stopping code 2 -### pop requested out of 86 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.312111,0.93825,-0.149247) - Old Polarization: (-0.600951,0.316647,0.733889) - New Momentum Direction: (0.420266,0.884867,-0.200965) - New Polarization: (-0.559147,0.426968,0.710671) - *** FresnelRefraction *** -Track (trackID 2035, parentID 1) is processed with stopping code 2 -### pop requested out of 85 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2034, parentID 1) is processed with stopping code 2 -### pop requested out of 84 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2033, parentID 1) is processed with stopping code 2 -### pop requested out of 83 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.68068,0.730021,0.0611895) - Old Polarization: (-0.161296,0.067869,0.98457) - New Momentum Direction: (0.916829,0.390682,0.082418) - New Polarization: (-0.131227,0.0998851,0.986307) - *** FresnelRefraction *** -Track (trackID 2032, parentID 1) is processed with stopping code 2 -### pop requested out of 82 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0134657,0.841212,-0.540537) - Old Polarization: (-0.944386,0.188332,0.269566) - New Momentum Direction: (0.0183126,0.677713,-0.735099) - New Polarization: (-0.939304,0.263588,0.219611) - *** FresnelRefraction *** -Track (trackID 2031, parentID 1) is processed with stopping code 2 -### pop requested out of 81 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.301838,0.941939,-0.14712) - Old Polarization: (-0.60945,0.309312,0.729998) - New Momentum Direction: (0.409513,0.890201,-0.199603) - New Polarization: (-0.568791,0.420193,0.707047) - *** FresnelRefraction *** -Track (trackID 2030, parentID 1) is processed with stopping code 2 -### pop requested out of 80 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.959443,-4.74292e-05,-0.281901) - Old Polarization: (0.168799,-0.800812,0.574637) - New Momentum Direction: (0.924847,-6.39914e-05,-0.38034) - New Polarization: (0.22854,-0.799244,0.555859) - *** FresnelRefraction *** -Track (trackID 2029, parentID 1) is processed with stopping code 2 -### pop requested out of 79 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.954552,0.297349,-0.0203662) - Old Polarization: (0.157904,-0.446583,0.880699) - New Momentum Direction: (0.914919,0.402694,-0.0275814) - New Polarization: (0.214828,-0.42796,0.877895) - *** FresnelRefraction *** -Track (trackID 2028, parentID 1) is processed with stopping code 2 -### pop requested out of 78 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2027, parentID 1) is processed with stopping code 2 -### pop requested out of 77 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.368213,0.924483,-0.0987446) - Old Polarization: (-0.533335,0.297021,0.792043) - New Momentum Direction: (0.49685,0.857547,-0.133242) - New Polarization: (-0.486885,0.402538,0.775181) - *** FresnelRefraction *** -Track (trackID 2026, parentID 1) is processed with stopping code 2 -### pop requested out of 76 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2025, parentID 1) is processed with stopping code 2 -### pop requested out of 75 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.126252,0.232327,-0.964409) - Old Polarization: (-0.819056,-0.52406,-0.233471) - New Momentum Direction: (0.170625,0.313981,-0.933972) - New Polarization: (-0.805098,-0.502047,-0.315858) - *** FresnelRefraction *** -Track (trackID 2024, parentID 1) is processed with stopping code 2 -### pop requested out of 74 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0466197,0.366687,-0.929176) - Old Polarization: (-0.911452,-0.365019,-0.18978) - New Momentum Direction: (0.0630978,0.496295,-0.865858) - New Polarization: (-0.905397,-0.336519,-0.258866) - *** FresnelRefraction *** -Track (trackID 2023, parentID 1) is processed with stopping code 2 -### pop requested out of 73 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.766359,0.637221,0.0815061) - Old Polarization: (-0.0657671,-0.0483862,0.996661) - New Momentum Direction: (0.4889,0.86529,0.110678) - New Polarization: (0.0954349,-0.179167,0.979179) - *** FresnelRefraction *** -Track (trackID 2022, parentID 1) is processed with stopping code 2 -### pop requested out of 72 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.970349,0.0226678,-0.240641) - Old Polarization: (0.171497,-0.766143,0.619366) - New Momentum Direction: (0.944494,0.0308102,-0.327081) - New Polarization: (0.233575,-0.763097,0.602599) - *** FresnelRefraction *** -Track (trackID 2021, parentID 1) is processed with stopping code 2 -### pop requested out of 71 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.249239,0.0858811,-0.964626) - Old Polarization: (-0.674848,-0.699,-0.236599) - New Momentum Direction: (0.336182,0.115839,-0.934646) - New Polarization: (-0.650672,-0.688909,-0.319422) - *** FresnelRefraction *** -Track (trackID 2020, parentID 1) is processed with stopping code 2 -### pop requested out of 70 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2019, parentID 1) is processed with stopping code 2 -### pop requested out of 69 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.439507,0.897301,-0.0410412) - Old Polarization: (-0.448234,0.258686,0.855668) - New Momentum Direction: (0.595579,0.801369,-0.0556153) - New Polarization: (-0.397929,0.354466,0.846171) - *** FresnelRefraction *** -Track (trackID 2018, parentID 1) is processed with stopping code 2 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.148638,0.934868,-0.322379) - Old Polarization: (-0.792898,0.307481,0.526088) - New Momentum Direction: (0.20081,0.877489,-0.435532) - New Polarization: (-0.76962,0.416381,0.484058) - *** FresnelRefraction *** -Track (trackID 2017, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.981669,0.102246,-0.16085) - Old Polarization: (0.187254,-0.674743,0.713903) - New Momentum Direction: (0.965987,0.138721,-0.218232) - New Polarization: (0.254076,-0.666152,0.701204) - *** FresnelRefraction *** -Track (trackID 2016, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.581013,0.812903,0.0401472) - Old Polarization: (-0.282934,0.155481,0.946453) - New Momentum Direction: (0.790049,0.610609,0.0545913) - New Polarization: (-0.235501,0.220075,0.946629) - *** FresnelRefraction *** -Track (trackID 2015, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.479123,0.877575,-0.0174084) - Old Polarization: (-0.401666,0.236843,0.88463) - New Momentum Direction: (0.648624,0.760744,-0.023567) - New Polarization: (-0.350261,0.325842,0.878148) - *** FresnelRefraction *** -Track (trackID 2014, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0300821,0.654732,-0.755263) - Old Polarization: (-0.999504,-0.0267207,0.0166463) - New Momentum Direction: (-0.0407825,0.887623,-0.458762) - New Polarization: (-0.997997,-0.0584101,-0.0242944) - *** FresnelRefraction *** -Track (trackID 2013, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.923703,0.38245,0.0224835) - Old Polarization: (0.120781,-0.346402,0.930278) - New Momentum Direction: (0.854668,0.51828,0.0304687) - New Polarization: (0.16541,-0.327457,0.930275) - *** FresnelRefraction *** -Track (trackID 2012, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.898943,-0.0966646,-0.427268) - Old Polarization: (0.0930188,-0.910988,0.401806) - New Momentum Direction: (0.805217,-0.130848,-0.578364) - New Polarization: (0.127915,-0.914059,0.384883) - *** FresnelRefraction *** -Track (trackID 2011, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2010, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0233903,0.571115,-0.820536) - Old Polarization: (-0.990355,-0.125352,-0.0590173) - New Momentum Direction: (-0.0233903,0.571115,0.820536) - New Polarization: (-0.99886,-0.0475209,0.00460222) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 2009, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.411931,0.909245,-0.0598832) - Old Polarization: (-0.480633,0.272641,0.833462) - New Momentum Direction: (0.558243,0.825699,-0.0811529) - New Polarization: (-0.431591,0.372537,0.82155) - *** FresnelRefraction *** -Track (trackID 2008, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2007, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.216201,0.949101,-0.22905) - Old Polarization: (-0.708063,0.313943,0.632524) - New Momentum Direction: (0.294044,0.9036,-0.31152) - New Polarization: (-0.676527,0.426999,0.599986) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.294044,0.9036,-0.31152) - Old Polarization: (-0.676527,0.426999,0.599986) - New Momentum Direction: (0.711425,0.664387,-0.22905) - New Polarization: (0.527805,-0.28994,0.798346) - *** FresnelRefraction *** - -** Photon absorbed! ** -Track (trackID 2006, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.857161,-0.129313,-0.498551) - Old Polarization: (0.0420965,-0.947141,0.318044) - New Momentum Direction: (0.715814,-0.175319,-0.675924) - New Polarization: (0.058633,-0.94946,0.308362) - *** FresnelRefraction *** -Track (trackID 2005, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.912748,0.40705,0.0346744) - Old Polarization: (0.105823,-0.317562,0.942314) - New Momentum Direction: (0.832142,0.552562,0.0470698) - New Polarization: (0.14554,-0.299503,0.94293) - *** FresnelRefraction *** -Track (trackID 2004, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.733099,0.676424,0.070826) - Old Polarization: (-0.0992805,0.00341026,0.995054) - New Momentum Direction: (0.399591,0.911709,0.0954619) - New Polarization: (0.145725,-0.16599,0.975301) - *** FresnelRefraction *** -Track (trackID 2003, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.978729,0.07363,-0.19149) - Old Polarization: (0.186301,-0.70986,0.679258) - New Momentum Direction: (0.960624,0.0997197,-0.259341) - New Polarization: (0.252438,-0.703208,0.664661) - *** FresnelRefraction *** -Track (trackID 2002, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0322739,0.659283,-0.751202) - Old Polarization: (-0.999477,-0.0227447,0.022979) - New Momentum Direction: (-0.0438346,0.895442,-0.443016) - New Polarization: (-0.99728,-0.0655193,-0.0337534) - *** FresnelRefraction *** -Track (trackID 2001, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0140246,0.539023,-0.842174) - Old Polarization: (-0.982946,-0.161884,-0.0872431) - New Momentum Direction: (-0.0189816,0.729538,-0.683677) - New Polarization: (-0.982693,-0.139635,-0.121719) - *** FresnelRefraction *** -Track (trackID 2000, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.353479,0.928668,-0.112375) - Old Polarization: (-0.551265,0.303854,0.777033) - New Momentum Direction: (0.353479,-0.928668,-0.112375) - New Polarization: (-0.363626,-0.247092,0.898177) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.353479,-0.928668,-0.112375) - Old Polarization: (-0.363626,-0.247092,0.898177) - New Momentum Direction: (-0.353479,-0.928668,-0.112375) - New Polarization: (-0.363626,0.247092,-0.898177) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.353479,-0.928668,-0.112375) - Old Polarization: (-0.363626,0.247092,-0.898177) - New Momentum Direction: (-0.47639,-0.866092,-0.151449) - New Polarization: (0.777918,-0.33492,-0.531669) - *** FresnelRefraction *** -Track (trackID 1999, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.085152,0.294724,-0.951781) - Old Polarization: (-0.866347,-0.44992,-0.216829) - New Momentum Direction: (0.115217,0.398783,-0.909779) - New Polarization: (-0.856408,-0.424154,-0.294378) - *** FresnelRefraction *** -Track (trackID 1998, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.981496,0.0985898,-0.164149) - Old Polarization: (0.18694,-0.678962,0.709974) - New Momentum Direction: (0.96566,0.133771,-0.222726) - New Polarization: (0.253678,-0.670622,0.697075) - *** FresnelRefraction *** -Track (trackID 1997, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.927948,-0.0651788,-0.366966) - Old Polarization: (0.125619,-0.872287,0.472584) - New Momentum Direction: (0.863037,-0.0883381,-0.497356) - New Polarization: (0.17191,-0.874456,0.453623) - *** FresnelRefraction *** -Track (trackID 1996, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1995, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.430498,-0.067506,-0.900063) - Old Polarization: (-0.458811,-0.875119,-0.153813) - New Momentum Direction: (0.583418,-0.0914852,-0.807003) - New Polarization: (-0.43013,-0.87765,-0.211466) - *** FresnelRefraction *** -Track (trackID 1994, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.706667,-0.162828,-0.688556) - Old Polarization: (-0.134634,-0.986324,0.0950692) - New Momentum Direction: (0.282136,-0.220782,-0.933625) - New Polarization: (0.206768,-0.936295,0.283898) - *** FresnelRefraction *** -Track (trackID 1993, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0921792,0.278001,-0.956148) - Old Polarization: (-0.855692,-0.468936,-0.218838) - New Momentum Direction: (0.125,0.376983,-0.917747) - New Polarization: (-0.845068,-0.444202,-0.297566) - *** FresnelRefraction *** -Track (trackID 1992, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.975428,0.0515372,-0.214205) - Old Polarization: (0.182136,-0.735668,0.652395) - New Momentum Direction: (0.954427,0.0698126,-0.290163) - New Polarization: (0.246978,-0.730573,0.636604) - *** FresnelRefraction *** -Track (trackID 1991, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.165033,0.939567,-0.299964) - Old Polarization: (-0.772959,0.312118,0.552373) - New Momentum Direction: (0.223092,0.886457,-0.405492) - New Polarization: (-0.747591,0.422538,0.512416) - *** FresnelRefraction *** -Track (trackID 1990, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.214432,0.117371,-0.969661) - Old Polarization: (-0.713697,-0.65893,-0.237587) - New Momentum Direction: (0.290208,0.158847,-0.943688) - New Polarization: (-0.692168,-0.646115,-0.321618) - *** FresnelRefraction *** -Track (trackID 1989, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.386598,-0.0431473,-0.921238) - Old Polarization: (-0.509592,-0.842558,-0.174389) - New Momentum Direction: (0.525636,-0.0586649,-0.848684) - New Polarization: (-0.480801,-0.843493,-0.23948) - *** FresnelRefraction *** -Track (trackID 1988, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0120556,0.834338,-0.551121) - Old Polarization: (-0.949016,0.183175,0.256547) - New Momentum Direction: (0.0163567,0.663783,-0.747746) - New Polarization: (-0.944232,0.256235,0.206808) - *** FresnelRefraction *** -Track (trackID 1987, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.246059,0.0779725,-0.966113) - Old Polarization: (-0.6742,-0.702346,-0.228396) - New Momentum Direction: (0.334161,0.105891,-0.936549) - New Polarization: (-0.650587,-0.693059,-0.310491) - *** FresnelRefraction *** -Track (trackID 1986, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.837686,-0.130924,-0.530228) -Old Polarization: (0.0266715,-0.959877,0.27915) -New Polarization: (-0.773911,0.496393,-0.393263) -Polarization Change: (-0.773911,0.496393,-0.393263) -New Momentum Direction: (-0.557403,-0.828679,0.0509315) -Momentum Change: (-0.557403,-0.828679,0.0509315) - Photon at Boundary! - Old Momentum Direction: (-0.557403,-0.828679,0.0509315) - Old Polarization: (-0.773911,0.496393,-0.393263) - New Momentum Direction: (-0.750246,-0.657595,0.0685521) - New Polarization: (0.543956,-0.672862,-0.501368) - *** FresnelRefraction *** -Track (trackID 1985, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0727564,0.893117,-0.443901) - Old Polarization: (-0.886083,0.262175,0.382259) - New Momentum Direction: (0.0727564,-0.893117,-0.443901) - New Polarization: (-0.983984,-0.136903,0.114167) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0727564,-0.893117,-0.443901) - Old Polarization: (-0.983984,-0.136903,0.114167) - New Momentum Direction: (0.0727564,-0.893117,0.443901) - New Polarization: (0.983984,0.136903,0.114167) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0727564,-0.893117,0.443901) - Old Polarization: (0.983984,0.136903,0.114167) - New Momentum Direction: (0.0980102,-0.795496,0.59798) - New Polarization: (0.898737,-0.187301,-0.396472) - *** FresnelRefraction *** -Track (trackID 1984, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.76036,-0.164026,-0.628448) - Old Polarization: (-0.0739633,-0.983159,0.167117) - New Momentum Direction: (0.468829,-0.223067,-0.854658) - New Polarization: (0.108028,-0.945842,0.306125) - *** FresnelRefraction *** -Track (trackID 1983, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.684347,-0.16395,-0.710485) - Old Polarization: (-0.162114,-0.984217,0.0709649) - New Momentum Direction: (0.92998,-0.222796,-0.292401) - New Polarization: (-0.263962,-0.958316,-0.109338) - *** FresnelRefraction *** -Track (trackID 1982, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.666769,-0.156436,-0.728661) - Old Polarization: (-0.180164,-0.982556,0.0460838) - New Momentum Direction: (0.901899,-0.211602,-0.376568) - New Polarization: (-0.254919,-0.964529,-0.0685537) - *** FresnelRefraction *** -Track (trackID 1981, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.290616,0.0331206,-0.956266) - Old Polarization: (-0.621404,-0.753429,-0.214945) - New Momentum Direction: (0.395215,0.0450413,-0.917484) - New Polarization: (-0.595291,-0.748123,-0.293155) - *** FresnelRefraction *** -Track (trackID 1980, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1979, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0342303,0.389853,-0.920241) - Old Polarization: (-0.924375,-0.337701,-0.177449) - New Momentum Direction: (0.046392,0.528364,-0.847749) - New Polarization: (-0.919554,-0.30893,-0.242863) - *** FresnelRefraction *** -Track (trackID 1978, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.00940595,0.464713,-0.885411) - Old Polarization: (-0.958191,-0.249039,-0.140889) - New Momentum Direction: (0.00940595,0.464713,0.885411) - New Polarization: (-0.993886,-0.0930714,0.0594074) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.00940595,0.464713,0.885411) - Old Polarization: (-0.993886,-0.0930714,0.0594074) - New Momentum Direction: (0.00940595,-0.464713,0.885411) - New Polarization: (0.993886,-0.0930714,-0.0594074) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.00940595,-0.464713,0.885411) - Old Polarization: (0.993886,-0.0930714,-0.0594074) - New Momentum Direction: (0.012703,-0.627607,0.778427) - New Polarization: (0.989227,0.121428,0.0817585) - *** FresnelRefraction *** -Track (trackID 1977, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.900149,-0.099671,-0.424026) -Old Polarization: (0.0902485,-0.909669,0.405411) -New Polarization: (-0.382471,-0.890377,0.246871) -Polarization Change: (-0.382471,-0.890377,0.246871) -New Momentum Direction: (0.87979,-0.269316,0.391711) -Momentum Change: (0.87979,-0.269316,0.391711) - Photon at Boundary! - Old Momentum Direction: (0.87979,-0.269316,0.391711) - Old Polarization: (-0.382471,-0.890377,0.246871) - New Momentum Direction: (0.76355,-0.365848,0.532115) - New Polarization: (0.523462,-0.13185,-0.841786) - *** FresnelRefraction *** -Track (trackID 1976, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.120357,0.235326,-0.964435) - Old Polarization: (-0.823232,-0.519274,-0.229441) - New Momentum Direction: (0.163112,0.318921,-0.93364) - New Polarization: (-0.809875,-0.497175,-0.311319) - *** FresnelRefraction *** -Track (trackID 1975, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.759579,0.645087,0.0830794) -Old Polarization: (-0.0748377,-0.0402022,0.996385) -New Polarization: (0.344893,0.0678411,0.936187) -Polarization Change: (0.344893,0.0678411,0.936187) -New Momentum Direction: (-0.905707,-0.237834,0.350899) -Momentum Change: (-0.905707,-0.237834,0.350899) - -** Photon absorbed! ** -Track (trackID 1974, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1973, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.961167,0.273872,-0.0339404) - Old Polarization: (0.165652,-0.474206,0.86469) - New Momentum Direction: (0.927531,0.370909,-0.0459659) - New Polarization: (0.225115,-0.456253,0.860904) - *** FresnelRefraction *** -Track (trackID 1972, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.614596,0.787817,0.0401867) - Old Polarization: (-0.239693,0.13797,0.960995) - New Momentum Direction: (0.82696,0.559655,0.0540726) - New Polarization: (-0.19458,0.194629,0.961383) - *** FresnelRefraction *** -Track (trackID 1971, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.641694,0.764863,0.0566852) - Old Polarization: (-0.210087,0.104211,0.972113) - New Momentum Direction: (0.868587,0.489561,0.0767281) - New Polarization: (-0.170788,0.150399,0.973761) - *** FresnelRefraction *** -Track (trackID 1970, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1969, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.619282,0.783884,0.0448903) - Old Polarization: (-0.23507,0.130552,0.963171) - New Momentum Direction: (0.619282,-0.783884,0.0448903) - New Polarization: (-0.056041,0.0128983,0.998345) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.619282,-0.783884,0.0448903) - Old Polarization: (-0.056041,0.0128983,0.998345) - New Momentum Direction: (-0.619282,-0.783884,0.0448903) - New Polarization: (-0.056041,-0.0128983,-0.998345) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1968, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.689172,0.721011,0.0720105) -Old Polarization: (-0.155633,0.0502308,0.986537) -New Polarization: (0.371779,-0.282466,0.884304) -Polarization Change: (0.371779,-0.282466,0.884304) -New Momentum Direction: (0.755896,-0.460861,-0.465004) -Momentum Change: (0.755896,-0.460861,-0.465004) - Photon at Boundary! - Old Momentum Direction: (0.755896,-0.460861,-0.465004) - Old Polarization: (0.371779,-0.282466,0.884304) - New Momentum Direction: (0.459059,-0.625381,-0.631002) - New Polarization: (0.529807,-0.377431,0.759507) - *** FresnelRefraction *** -Track (trackID 1967, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.308562,0.0165491,-0.95106) -Old Polarization: (-0.600264,-0.772231,-0.208187) -New Polarization: (-0.673198,-0.670066,-0.312754) -Polarization Change: (-0.673198,-0.670066,-0.312754) -New Momentum Direction: (-0.392742,0.682357,-0.616557) -Momentum Change: (-0.392742,0.682357,-0.616557) - Photon at Boundary! - Old Momentum Direction: (-0.392742,0.682357,-0.616557) - Old Polarization: (-0.673198,-0.670066,-0.312754) - New Momentum Direction: (-0.392742,0.682357,0.616557) - New Polarization: (0.673198,0.670066,-0.312754) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 1966, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1965, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.704222,-0.165803,-0.690348) - Old Polarization: (-0.139182,-0.985722,0.0947638) - New Momentum Direction: (-0.704222,-0.165803,-0.690348) - New Polarization: (0.081287,-0.984784,0.153598) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.704222,-0.165803,-0.690348) - Old Polarization: (0.081287,-0.984784,0.153598) - New Momentum Direction: (-0.957399,-0.225411,-0.180491) - New Polarization: (0.26599,-0.931705,-0.247337) - *** FresnelRefraction *** -Track (trackID 1964, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.809153,0.582431,0.0777517) - Old Polarization: (-0.014871,-0.111981,0.993599) - New Momentum Direction: (0.603746,0.790167,0.105483) - New Polarization: (0.0210821,-0.148101,0.988747) - *** FresnelRefraction *** -Track (trackID 1963, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.340649,0.933223,-0.114249) - Old Polarization: (-0.564221,0.300116,0.769146) - New Momentum Direction: (0.461857,0.873324,-0.1549) - New Polarization: (-0.520088,0.408127,0.750294) - *** FresnelRefraction *** -Track (trackID 1962, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0168515,0.839804,-0.542628) - Old Polarization: (-0.944813,0.190961,0.266201) - New Momentum Direction: (0.0228384,0.677239,-0.735409) - New Polarization: (-0.939407,0.26621,0.215979) - *** FresnelRefraction *** -Track (trackID 1961, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.668759,0.740484,0.066672) - Old Polarization: (-0.179256,0.0735611,0.981048) - New Momentum Direction: (0.907008,0.41129,0.0904243) - New Polarization: (-0.147282,0.108657,0.983108) - *** FresnelRefraction *** -Track (trackID 1960, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.00972767,0.461132,-0.887278) - Old Polarization: (-0.956848,-0.253421,-0.142197) - New Momentum Direction: (0.013147,0.62322,-0.781936) - New Polarization: (-0.954517,-0.225131,-0.195483) - *** FresnelRefraction *** -Track (trackID 1959, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0243361,0.568325,-0.822444) - Old Polarization: (-0.989801,-0.129207,-0.0599967) - New Momentum Direction: (-0.033063,0.772125,-0.634611) - New Polarization: (-0.990085,-0.112038,-0.0847319) - *** FresnelRefraction *** -Track (trackID 1958, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - -** Photon absorbed! ** -Track (trackID 1957, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.8179,0.57121,0.068991) - Old Polarization: (0.00145765,-0.121966,0.992533) - New Momentum Direction: (0.631141,0.770071,0.0930096) - New Polarization: (0.00204169,-0.121558,0.992582) - *** FresnelRefraction *** -Track (trackID 1956, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.623349,-0.148995,-0.767618) - Old Polarization: (-0.231682,-0.972791,0.000679594) - New Momentum Direction: (0.623349,-0.148995,0.767618) - New Polarization: (-0.232327,-0.972638,-0.000126155) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.623349,-0.148995,0.767618) - Old Polarization: (-0.232327,-0.972638,-0.000126155) - New Momentum Direction: (-0.623349,-0.148995,0.767618) - New Polarization: (-0.232327,0.972638,0.000126155) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.623349,-0.148995,0.767618) - Old Polarization: (-0.232327,0.972638,0.000126155) - New Momentum Direction: (-0.843708,-0.201665,0.497482) - New Polarization: (-0.232373,0.972627,0.000182067) - *** FresnelRefraction *** -Track (trackID 1955, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.509009,0.860738,0.00635327) - Old Polarization: (-0.366941,0.210307,0.90616) - New Momentum Direction: (0.692641,0.72123,0.00864532) - New Polarization: (-0.31596,0.292617,0.902521) - *** FresnelRefraction *** -Track (trackID 1954, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.880265,0.47178,0.0505756) - Old Polarization: (0.0734039,-0.240712,0.967817) - New Momentum Direction: (0.7676,0.637277,0.0683173) - New Polarization: (0.101147,-0.225703,0.968931) - *** FresnelRefraction *** -Track (trackID 1953, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.318485,0.937672,-0.13906) - Old Polarization: (-0.591976,0.311317,0.743402) - New Momentum Direction: (0.430128,0.883017,-0.187806) - New Polarization: (-0.549654,0.421185,0.721445) - *** FresnelRefraction *** -Track (trackID 1952, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.258537,0.946776,-0.191763) - Old Polarization: (-0.661452,0.31818,0.679149) - New Momentum Direction: (0.350042,0.900034,-0.259634) - New Polarization: (-0.625134,0.430869,0.650814) - *** FresnelRefraction *** -Track (trackID 1951, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 48 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 16 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.917634,-0.183595,-0.352478) - Old Polarization: (0.048679,0.932145,-0.358797) - New Momentum Direction: (0.841798,-0.249363,-0.478742) - New Polarization: (0.0669749,0.928297,-0.365757) - *** FresnelRefraction *** -Track (trackID 2122, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.968871,0.182885,0.166858) - Old Polarization: (0.0650781,-0.462145,0.884413) - New Momentum Direction: (-0.94192,0.248095,0.226354) - New Polarization: (-0.0886338,-0.833742,0.544994) - *** FresnelRefraction *** -Track (trackID 2121, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2120, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.107342,0.99398,0.0219386) - Old Polarization: (0.652654,-0.0538015,-0.755743) - New Momentum Direction: (0.145577,0.988899,0.029753) - New Polarization: (-0.301655,0.0730082,-0.950618) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.145577,0.988899,0.029753) - Old Polarization: (-0.301655,0.0730082,-0.950618) - New Momentum Direction: (0.0701785,-0.997487,-0.00970597) - New Polarization: (0.304888,0.0121841,0.95231) - *** LambertianReflection *** - Photon at Boundary! - Old Momentum Direction: (0.0701785,-0.997487,-0.00970597) - Old Polarization: (0.304888,0.0121841,0.95231) - New Momentum Direction: (0.0517466,-0.998635,-0.00715677) - New Polarization: (-0.0351955,-0.00898556,0.99934) - *** FresnelRefraction *** - Photon at Boundary! - Old Momentum Direction: (0.0517466,-0.998635,-0.00715677) - Old Polarization: (-0.0351955,-0.00898556,0.99934) - New Momentum Direction: (0.0701785,-0.997487,-0.00970597) - New Polarization: (-0.0350294,-0.0121882,0.999312) - *** FresnelRefraction *** -Track (trackID 2119, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.327145,0.8379,0.436921) - Old Polarization: (-0.882797,0.435936,-0.175015) - New Momentum Direction: (0.441908,0.675566,0.590193) - New Polarization: (-0.798934,0.595588,-0.0835387) - *** FresnelRefraction *** -Track (trackID 2118, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.1502,0.381778,0.911968) - Old Polarization: (-0.628,-0.675592,0.386254) - New Momentum Direction: (0.202861,0.515633,0.832449) - New Polarization: (-0.597265,-0.608518,0.522475) - *** FresnelRefraction *** -Track (trackID 2117, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.161704,-0.20308,-0.965718) - Old Polarization: (0.0399167,0.97645,-0.212021) - New Momentum Direction: (-0.218667,-0.27462,-0.936359) - New Polarization: (0.0271042,0.957502,-0.28715) - *** FresnelRefraction *** -Track (trackID 2116, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.842412,0.253859,0.475287) - Old Polarization: (-0.23248,0.624508,-0.745615) - New Momentum Direction: (-0.681909,0.344599,0.645176) - New Polarization: (-0.323838,0.648666,-0.688739) - *** FresnelRefraction *** -Track (trackID 2115, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2114, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.159493,0.932176,-0.324977) - Old Polarization: (0.649564,0.148796,0.745605) - New Momentum Direction: (0.216848,0.87049,-0.441842) - New Polarization: (0.657912,0.204062,0.724921) - *** FresnelRefraction *** -Track (trackID 2113, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.726732,-0.372366,0.577238) - Old Polarization: (0.112813,0.764219,0.635014) - New Momentum Direction: (0.726732,-0.372366,0.577238) - New Polarization: (-0.0472006,0.811271,0.582762) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.726732,-0.372366,0.577238) - Old Polarization: (-0.0472006,0.811271,0.582762) - New Momentum Direction: (0.726732,-0.372366,-0.577238) - New Polarization: (0.0472006,-0.811271,0.582762) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.726732,-0.372366,-0.577238) - Old Polarization: (0.0472006,-0.811271,0.582762) - New Momentum Direction: (0.726732,0.372366,-0.577238) - New Polarization: (-0.0472006,-0.811271,-0.582762) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.726732,0.372366,-0.577238) - Old Polarization: (-0.0472006,-0.811271,-0.582762) - New Momentum Direction: (0.364972,0.504687,-0.78236) - New Polarization: (0.0706697,-0.85292,-0.517236) - *** FresnelRefraction *** -Track (trackID 2112, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.835068,-0.258538,-0.485613) - Old Polarization: (-0.490791,-0.748914,-0.445254) - New Momentum Direction: (0.670859,-0.348503,-0.654595) - New Polarization: (0.665843,-0.10556,0.738586) - *** FresnelRefraction *** -Track (trackID 2111, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.796044,-0.601991,0.0626161) - Old Polarization: (-0.353798,0.546778,0.758855) - New Momentum Direction: (-0.568704,-0.818128,0.0850976) - New Polarization: (-0.496858,0.424133,0.757128) - *** FresnelRefraction *** -Track (trackID 2110, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2109, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.29178,-0.313914,0.903506) - Old Polarization: (-0.941376,-0.0729902,-0.329369) - New Momentum Direction: (-0.395527,-0.425531,0.81393) - New Polarization: (-0.0356875,0.892646,0.449342) - *** FresnelRefraction *** -Track (trackID 2108, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.645172,0.155199,0.748108) -Old Polarization: (0.156103,0.985273,-0.0697766) -New Polarization: (-0.454346,-0.725994,0.516239) -Polarization Change: (-0.454346,-0.725994,0.516239) -New Momentum Direction: (0.382132,-0.682316,-0.623233) -Momentum Change: (0.382132,-0.682316,-0.623233) - Photon at Boundary! - Old Momentum Direction: (0.382132,-0.682316,-0.623233) - Old Polarization: (-0.454346,-0.725994,0.516239) - New Momentum Direction: (0.518256,-0.130293,-0.845242) - New Polarization: (-0.149487,-0.986913,0.0604741) - *** FresnelRefraction *** -Track (trackID 2107, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2106, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.179658,-0.378375,0.90805) - Old Polarization: (0.703539,0.595754,0.38744) - New Momentum Direction: (-0.243307,-0.512424,0.823543) - New Polarization: (0.666401,0.528624,0.525801) - *** FresnelRefraction *** -Track (trackID 2105, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.915882,-0.0926768,0.390605) - Old Polarization: (-0.203275,0.946095,-0.252159) - New Momentum Direction: (-0.83858,-0.125765,0.530063) - New Polarization: (-0.278592,0.935138,-0.218869) - *** FresnelRefraction *** -Track (trackID 2104, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0493705,-0.537281,0.841957) - Old Polarization: (0.864356,0.399404,0.305557) - New Momentum Direction: (-0.0668708,-0.72773,0.682596) - New Polarization: (0.848434,0.31854,0.42272) - *** FresnelRefraction *** -Track (trackID 2103, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0524058,-0.9781,0.201431) - Old Polarization: (0.861609,-0.146261,-0.486044) - New Momentum Direction: (-0.0709252,-0.959506,0.272614) - New Polarization: (0.857586,-0.198236,-0.474605) - *** FresnelRefraction *** -Track (trackID 2102, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.927735,-0.372882,-0.0163266) - Old Polarization: (-0.229911,0.605385,-0.762004) - New Momentum Direction: (0.927735,-0.372882,-0.0163266) - New Polarization: (0.163042,0.444224,-0.880955) - *** FresnelReflection *** - -** Photon absorbed! ** -Track (trackID 2101, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.921585,-0.0951731,0.376328) - Old Polarization: (-0.207292,0.940332,-0.269827) - New Momentum Direction: (-0.849331,-0.129421,0.511749) - New Polarization: (-0.284396,0.928932,-0.237075) - *** FresnelRefraction *** -Track (trackID 2100, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.778568,-0.0509614,0.625487) - Old Polarization: (-0.0353707,0.998676,0.0373395) - New Momentum Direction: (-0.525399,-0.0690943,0.848046) - New Polarization: (-0.0508437,0.997466,0.0497685) - *** FresnelRefraction *** -Track (trackID 2099, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2098, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2097, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.680696,-0.0736548,0.728854) -Old Polarization: (0.0797195,0.981576,0.173646) -New Polarization: (-0.564049,0.806445,-0.177471) -Polarization Change: (-0.564049,0.806445,-0.177471) -New Momentum Direction: (-0.692349,-0.579005,-0.430588) -Momentum Change: (-0.692349,-0.579005,-0.430588) - Photon at Boundary! - Old Momentum Direction: (-0.692349,-0.579005,-0.430588) - Old Polarization: (-0.564049,0.806445,-0.177471) - New Momentum Direction: (0.692349,-0.579005,-0.430588) - New Polarization: (-0.441408,0.132199,-0.887514) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.692349,-0.579005,-0.430588) - Old Polarization: (-0.441408,0.132199,-0.887514) - New Momentum Direction: (0.692349,0.579005,-0.430588) - New Polarization: (0.441408,0.132199,0.887514) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.692349,0.579005,-0.430588) - Old Polarization: (0.441408,0.132199,0.887514) - New Momentum Direction: (0.692349,0.579005,0.430588) - New Polarization: (-0.441408,-0.132199,0.887514) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.692349,0.579005,0.430588) - Old Polarization: (-0.441408,-0.132199,0.887514) - New Momentum Direction: (0.23969,0.779041,0.579348) - New Polarization: (0.64645,-0.573285,0.503435) - *** FresnelRefraction *** -Track (trackID 2096, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.733446,-0.0513326,0.677807) -Old Polarization: (0.0222945,0.994791,0.0994635) -New Polarization: (-0.301417,0.608003,0.734493) -Polarization Change: (-0.301417,0.608003,0.734493) -New Momentum Direction: (-0.302976,-0.791469,0.530832) -Momentum Change: (-0.302976,-0.791469,0.530832) - Photon at Boundary! - Old Momentum Direction: (-0.302976,-0.791469,0.530832) - Old Polarization: (-0.301417,0.608003,0.734493) - New Momentum Direction: (-0.302976,-0.791469,-0.530832) - New Polarization: (0.301417,-0.608003,0.734493) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.302976,-0.791469,-0.530832) - Old Polarization: (0.301417,-0.608003,0.734493) - New Momentum Direction: (-0.411758,-0.556777,-0.721425) - New Polarization: (0.190378,-0.826739,0.529395) - *** FresnelRefraction *** -Track (trackID 2095, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2094, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0254692,-0.969705,0.242948) - Old Polarization: (0.891339,-0.132063,-0.433675) - New Momentum Direction: (-0.0345634,-0.943454,0.329698) - New Polarization: (0.888997,-0.179746,-0.42116) - *** FresnelRefraction *** -Track (trackID 2093, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.962121,-0.226513,0.15171) - Old Polarization: (-0.272576,0.78877,-0.550949) - New Momentum Direction: (-0.930182,-0.305009,0.204284) - New Polarization: (-0.367035,0.762291,-0.533102) - *** FresnelRefraction *** -Track (trackID 2092, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0493927,-0.888345,0.456513) - Old Polarization: (0.984738,-0.0330586,-0.170874) - New Momentum Direction: (0.06697,-0.782553,0.618972) - New Polarization: (0.985341,-0.0456843,-0.164367) - *** FresnelRefraction *** -Track (trackID 2091, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2090, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2089, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2088, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2087, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2086, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.950634,-0.150159,0.271563) - Old Polarization: (-0.253352,0.880892,-0.399803) - New Momentum Direction: (-0.90793,-0.202811,0.366784) - New Polarization: (-0.342967,0.862529,-0.372046) - *** FresnelRefraction *** -Track (trackID 2085, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2084, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.357032,-0.927896,-0.107412) - Old Polarization: (0.484969,-0.0858587,-0.870306) - New Momentum Direction: (-0.482547,-0.863755,-0.145173) - New Polarization: (0.472604,-0.117224,-0.873444) - *** FresnelRefraction *** -Track (trackID 2083, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.92965,-0.367921,-0.0196373) - Old Polarization: (-0.225062,0.609262,-0.760359) - New Momentum Direction: (-0.866971,-0.497651,-0.0265614) - New Polarization: (-0.306414,0.574329,-0.759116) - *** FresnelRefraction *** -Track (trackID 2082, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.641306,-0.740098,-0.202438) - Old Polarization: (0.13494,0.150937,-0.97929) - New Momentum Direction: (-0.871252,-0.406548,-0.275025) - New Polarization: (0.38653,-0.222947,-0.894924) - *** FresnelRefraction *** -Track (trackID 2081, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.818266,-0.555635,-0.147343) - Old Polarization: (-0.0895025,0.376342,-0.922147) - New Momentum Direction: (-0.630929,-0.749921,-0.198864) - New Polarization: (-0.125416,0.351533,-0.927737) - *** FresnelRefraction *** -Track (trackID 2080, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2079, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.305042,-0.257594,0.91684) - Old Polarization: (0.546437,0.741135,0.390033) - New Momentum Direction: (-0.4151,-0.350534,0.839534) - New Polarization: (0.490878,0.690647,0.531079) - *** FresnelRefraction *** -Track (trackID 2078, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.952838,-0.300136,0.0449219) - Old Polarization: (-0.249777,0.691516,-0.677803) - New Momentum Direction: (-0.911389,-0.407013,0.0609184) - New Polarization: (-0.339453,0.659763,-0.670436) - *** FresnelRefraction *** -Track (trackID 2077, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.752766,-0.0564837,0.65586) - Old Polarization: (-0.00684882,0.99693,0.0779964) - New Momentum Direction: (-0.457097,-0.0763155,0.886137) - New Polarization: (-0.00995438,0.996689,0.0807016) - *** FresnelRefraction *** -Track (trackID 2076, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.880546,-0.464427,-0.094582) - Old Polarization: (-0.166497,0.489942,-0.855708) - New Momentum Direction: (-0.768386,-0.627114,-0.127714) - New Polarization: (-0.228841,0.45559,-0.860273) - *** FresnelRefraction *** -Track (trackID 2075, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2074, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2073, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2072, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.943015,-0.332614,0.00948897) - Old Polarization: (-0.236957,0.651245,-0.720924) - New Momentum Direction: (-0.892294,-0.451271,0.0128741) - New Polarization: (-0.322812,0.617838,-0.716986) - *** FresnelRefraction *** -Track (trackID 2071, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.350222,-0.92994,-0.112053) - Old Polarization: (0.491495,-0.080615,-0.867141) - New Momentum Direction: (-0.476243,-0.866011,-0.152372) - New Polarization: (0.479867,-0.110761,-0.870322) - *** FresnelRefraction *** -Track (trackID 2070, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.945272,-0.325385,0.0241937) - Old Polarization: (-0.246219,0.662701,-0.707251) - New Momentum Direction: (-0.897595,-0.439608,0.0326867) - New Polarization: (-0.333755,0.629277,-0.701867) - *** FresnelRefraction *** -Track (trackID 2069, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.578851,-0.100956,0.80916) - Old Polarization: (0.209677,0.940513,0.267341) - New Momentum Direction: (-0.782758,-0.136519,0.607167) - New Polarization: (0.129825,0.918354,0.373859) - *** FresnelRefraction *** -Track (trackID 2068, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.697172,-0.0573808,0.714604) - Old Polarization: (0.0667908,0.987257,0.144436) - New Momentum Direction: (-0.697172,-0.0573808,-0.714604) - New Polarization: (-0.156369,0.984963,0.0734644) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.697172,-0.0573808,-0.714604) - Old Polarization: (-0.156369,0.984963,0.0734644) - New Momentum Direction: (-0.224853,-0.0779901,-0.971267) - New Polarization: (-0.246344,0.96896,-0.020775) - *** FresnelRefraction *** -Track (trackID 2067, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2066, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2065, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.831696,-0.0519579,0.552795) - Old Polarization: (-0.0978192,0.993751,-0.0537678) - New Momentum Direction: (-0.656034,-0.0706267,0.751419) - New Polarization: (-0.137677,0.990105,-0.0271389) - *** FresnelRefraction *** -Track (trackID 2064, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0565796,-0.860218,0.506778) - Old Polarization: (0.994062,0.00128001,-0.10881) - New Momentum Direction: (0.0766918,-0.722674,0.686921) - New Polarization: (0.993615,-0.00178112,-0.112807) - *** FresnelRefraction *** -Track (trackID 2063, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.950283,-0.308718,0.0406956) - Old Polarization: (-0.251229,0.682901,-0.685952) - New Momentum Direction: (-0.907049,-0.417415,0.0550242) - New Polarization: (-0.340508,0.650428,-0.678968) - *** FresnelRefraction *** -Track (trackID 2062, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0244025,-0.93475,0.354468) - Old Polarization: (0.950981,-0.087637,-0.296571) - New Momentum Direction: (0.0331535,-0.875772,0.481585) - New Polarization: (0.951254,-0.120177,-0.284031) - *** FresnelRefraction *** -Track (trackID 2061, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.963438,-0.225895,0.14408) - Old Polarization: (-0.267627,0.785707,-0.55771) - New Momentum Direction: (-0.93208,-0.305416,0.1948) - New Polarization: (-0.361844,0.759435,-0.540674) - *** FresnelRefraction *** -Track (trackID 2060, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2059, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. - - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 45 - - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 22 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 68 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.510485,0.561702,0.651073) - Old Polarization: (0.166215,-0.678423,0.715622) - New Momentum Direction: (-0.510485,0.561702,-0.651073) - New Polarization: (-0.166215,0.678423,0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.510485,0.561702,-0.651073) - Old Polarization: (-0.166215,0.678423,0.715622) - New Momentum Direction: (-0.510485,-0.561702,-0.651073) - New Polarization: (0.166215,0.678423,-0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.510485,-0.561702,-0.651073) - Old Polarization: (0.166215,0.678423,-0.715622) - New Momentum Direction: (0.510485,-0.561702,-0.651073) - New Polarization: (0.166215,-0.678423,0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.510485,-0.561702,-0.651073) - Old Polarization: (0.166215,-0.678423,0.715622) - New Momentum Direction: (0.510485,-0.561702,0.651073) - New Polarization: (-0.166215,0.678423,0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.510485,-0.561702,0.651073) - Old Polarization: (-0.166215,0.678423,0.715622) - New Momentum Direction: (0.510485,0.561702,0.651073) - New Polarization: (0.166215,0.678423,-0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.510485,0.561702,0.651073) - Old Polarization: (0.166215,0.678423,-0.715622) - New Momentum Direction: (-0.510485,0.561702,0.651073) - New Polarization: (0.166215,-0.678423,0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.510485,0.561702,0.651073) - Old Polarization: (0.166215,-0.678423,0.715622) - New Momentum Direction: (-0.510485,0.561702,-0.651073) - New Polarization: (-0.166215,0.678423,0.715622) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.510485,0.561702,-0.651073) - Old Polarization: (-0.166215,0.678423,0.715622) - New Momentum Direction: (-0.510485,-0.561702,-0.651073) - New Polarization: (0.166215,0.678423,-0.715622) - *** TotalInternalReflection *** - -** Photon absorbed! ** -Track (trackID 2189, parentID 1) is processed with stopping code 2 -### pop requested out of 67 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.833804,-0.509967,-0.211436) - Old Polarization: (-0.247735,0.687903,-0.682215) - New Momentum Direction: (-0.663511,-0.69112,-0.286544) - New Polarization: (-0.344997,0.622476,-0.702496) - *** FresnelRefraction *** -Track (trackID 2188, parentID 1) is processed with stopping code 2 -### pop requested out of 66 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2187, parentID 1) is processed with stopping code 2 -### pop requested out of 65 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.373018,-0.14652,-0.916182) - Old Polarization: (0.911168,-0.244114,-0.331937) - New Momentum Direction: (-0.506204,-0.198835,-0.839179) - New Polarization: (0.852618,-0.261625,-0.452321) - *** FresnelRefraction *** -Track (trackID 2186, parentID 1) is processed with stopping code 2 -### pop requested out of 64 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.571092,0.374874,0.73029) - Old Polarization: (0.543346,-0.839487,0.00602623) - New Momentum Direction: (0.771363,0.506334,0.385519) - New Polarization: (0.545609,-0.837992,0.00892608) - *** FresnelRefraction *** -Track (trackID 2185, parentID 1) is processed with stopping code 2 -### pop requested out of 63 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.498173,-0.417414,-0.759993) - Old Polarization: (0.856623,0.372628,0.356854) - New Momentum Direction: (0.670251,-0.561595,-0.485154) - New Polarization: (0.312397,0.80649,-0.501978) - *** FresnelRefraction *** -Track (trackID 2184, parentID 1) is processed with stopping code 2 -### pop requested out of 62 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.248175,-0.761025,-0.599375) - Old Polarization: (0.359338,0.64691,-0.672595) - New Momentum Direction: (0.336865,-0.473946,-0.813571) - New Polarization: (-0.116534,-0.878416,0.46347) - *** FresnelRefraction *** -Track (trackID 2183, parentID 1) is processed with stopping code 2 -### pop requested out of 61 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.768688,-0.585509,-0.257484) -Old Polarization: (-0.0486472,0.454906,-0.88921) -New Polarization: (0.337292,-0.275319,0.900241) -Polarization Change: (0.337292,-0.275319,0.900241) -New Momentum Direction: (0.802964,0.583313,-0.122452) -Momentum Change: (0.802964,0.583313,-0.122452) - -** Photon absorbed! ** -Track (trackID 2182, parentID 1) is processed with stopping code 2 -### pop requested out of 60 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.475733,0.847105,-0.236836) - Old Polarization: (0.851996,0.376878,-0.363408) - New Momentum Direction: (-0.645195,0.69322,-0.3212) - New Polarization: (0.756049,0.518741,-0.399122) - *** FresnelRefraction *** -Track (trackID 2181, parentID 1) is processed with stopping code 2 -### pop requested out of 59 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.578482,0.364595,0.729678) - Old Polarization: (-0.577519,0.448665,-0.682034) - New Momentum Direction: (-0.578482,0.364595,-0.729678) - New Polarization: (-0.512685,0.533254,0.6729) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.578482,0.364595,-0.729678) - Old Polarization: (-0.512685,0.533254,0.6729) - New Momentum Direction: (0.578482,0.364595,-0.729678) - New Polarization: (-0.512685,-0.533254,-0.6729) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.578482,0.364595,-0.729678) - Old Polarization: (-0.512685,-0.533254,-0.6729) - New Momentum Direction: (0.578482,-0.364595,-0.729678) - New Polarization: (0.512685,-0.533254,0.6729) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.578482,-0.364595,-0.729678) - Old Polarization: (0.512685,-0.533254,0.6729) - New Momentum Direction: (0.784414,-0.494386,-0.374536) - New Polarization: (-0.398923,0.060239,-0.915004) - *** FresnelRefraction *** -Track (trackID 2180, parentID 1) is processed with stopping code 2 -### pop requested out of 58 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.0455832,0.950529,0.307273) - Old Polarization: (0.719091,-0.244734,0.650394) - New Momentum Direction: (0.0619024,0.906667,0.417279) - New Polarization: (0.501383,0.333253,-0.798472) - *** FresnelRefraction *** -Track (trackID 2179, parentID 1) is processed with stopping code 2 -### pop requested out of 57 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 0 fm 0 fm 0 fm 500 keV 0 eV 0 fm 0 fm Tank initStep -** Photon absorbed! ** -Track (trackID 2178, parentID 1) is processed with stopping code 2 -### pop requested out of 56 stacked tracks. + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 33 + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 23 + 1 289 mum -585 mum -1.25 mm 33.6 keV 466 keV 1.5 mm 1.5 mm Tank eIoni + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 57, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 46.7 mum -94.3 mum -202 mum 2.35 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.816363,0.298992,0.49412) - Old Polarization: (-0.158329,-0.938646,0.306391) - New Momentum Direction: (-0.619538,0.406378,0.671587) - New Polarization: (-0.223636,-0.911482,0.345234) + Old Momentum Direction: (-0.0609896,-0.601167,-0.796793) + Old Polarization: (-0.988808,0.145287,-0.0339299) + New Momentum Direction: (-0.082191,-0.810147,-0.580437) + New Polarization: (-0.989725,0.134725,-0.0478952) *** FresnelRefraction *** -Track (trackID 2177, parentID 1) is processed with stopping code 2 -### pop requested out of 55 stacked tracks. + 1 -38.3 cm -3.77 m -5 m 2.35 eV 0 eV 6.27 m 6.27 m Tank Transportation + 2 -1.01 m -10 m -9.46 m 2.35 eV 0 eV 7.69 m 14 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 56, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 28.1 mum -56.7 mum -121 mum 2.69 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.0180381,0.917291,0.397809) - Old Polarization: (0.751666,-0.249918,0.610359) - New Momentum Direction: (-0.0244066,0.842426,0.538258) - New Polarization: (0.797946,0.340767,-0.497152) + Old Momentum Direction: (-0.0298438,-0.999531,0.0068841) + Old Polarization: (-0.839564,0.0213288,-0.542842) + New Momentum Direction: (-0.0403382,-0.999143,0.00930484) + New Polarization: (0.516711,-0.0288298,-0.855674) *** FresnelRefraction *** -Track (trackID 2176, parentID 1) is processed with stopping code 2 -### pop requested out of 54 stacked tracks. + 1 -14.9 cm -5 m 3.43 cm 2.69 eV 0 eV 5 m 5 m Tank Transportation + 2 -35.1 cm -10 m 8.09 cm 2.69 eV 0 eV 5 m 10 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 55, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 97.1 mum -196 mum -420 mum 3.42 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.835846,-0.214265,-0.505423) - Old Polarization: (-0.494387,0.106407,-0.862705) - New Momentum Direction: (0.667195,-0.290734,-0.685802) - New Polarization: (0.675031,0.625254,0.391652) + Old Momentum Direction: (-0.361596,-0.285887,-0.887421) + Old Polarization: (-0.390374,0.9108,-0.134354) + New Momentum Direction: (-0.490723,-0.387979,-0.780169) + New Polarization: (-0.410693,0.892682,-0.185607) *** FresnelRefraction *** -Track (trackID 2175, parentID 1) is processed with stopping code 2 -### pop requested out of 53 stacked tracks. + 1 -2.04 m -1.61 m -5 m 3.42 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 -5.18 m -4.1 m -10 m 3.42 eV 0 eV 6.41 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 54, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 16 mum -32.3 mum -69.3 mum 3.58 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.494661,-0.85483,0.156769) - Old Polarization: (0.845954,-0.432256,0.312276) - New Momentum Direction: (-0.66772,-0.713701,0.211615) - New Polarization: (0.735363,-0.588198,0.336548) + Old Momentum Direction: (0.689152,0.716785,-0.106251) + Old Polarization: (-0.594966,0.476031,-0.647619) + New Momentum Direction: (0.93598,0.321118,-0.144306) + New Polarization: (-0.334859,0.685509,-0.646488) *** FresnelRefraction *** -Track (trackID 2174, parentID 1) is processed with stopping code 2 -### pop requested out of 52 stacked tracks. + 1 4.81 m 5 m -74.1 cm 3.58 eV 0 eV 6.98 m 6.98 m Tank Transportation + 2 10 m 6.78 m -1.54 m 3.58 eV 0 eV 5.55 m 12.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 53, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 45.1 mum -91.1 mum -195 mum 3.75 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.255734,0.609082,0.750746) - Old Polarization: (0.475006,-0.597199,0.646315) - New Momentum Direction: (-0.347326,0.827227,0.441656) - New Polarization: (0.344566,-0.325449,0.880544) + Old Momentum Direction: (0.986005,-0.0896971,0.140531) + Old Polarization: (0.0660662,0.984143,0.164613) + New Momentum Direction: (0.973997,-0.121893,0.190974) + New Polarization: (0.0899211,0.981683,0.167967) *** FresnelRefraction *** -Track (trackID 2173, parentID 1) is processed with stopping code 2 -### pop requested out of 51 stacked tracks. + 1 5 m -45.5 cm 71.2 cm 3.75 eV 0 eV 5.07 m 5.07 m Tank Transportation + 2 10 m -1.08 m 1.69 m 3.75 eV 0 eV 5.13 m 10.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 52, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 140 mum -283 mum -606 mum 3.84 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.314444,0.211291,0.925463) - Old Polarization: (0.899175,-0.378833,-0.219021) - New Momentum Direction: (0.426179,0.286372,0.858116) - New Polarization: (0.0384297,-0.953448,0.2991) + Old Momentum Direction: (-0.647721,0.114574,-0.753213) + Old Polarization: (-0.748978,-0.276913,0.601957) + New Momentum Direction: (-0.880488,0.155747,-0.447753) + New Polarization: (0.342531,-0.44395,-0.827998) *** FresnelRefraction *** -Track (trackID 2172, parentID 1) is processed with stopping code 2 -### pop requested out of 50 stacked tracks. + 1 -4.3 m 76 cm -5 m 3.84 eV 0 eV 6.64 m 6.64 m Tank Transportation + 2 -10 m 1.77 m -7.9 m 3.84 eV 0 eV 6.47 m 13.1 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2171, parentID 1) is processed with stopping code 2 -### pop requested out of 49 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 51, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2170, parentID 1) is processed with stopping code 2 -### pop requested out of 48 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 265 mum -536 mum -1.15 mm 4.07 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2169, parentID 1) is processed with stopping code 2 -### pop requested out of 47 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.786713,-0.263919,0.558058) - Old Polarization: (-0.610915,0.462726,-0.642393) - New Momentum Direction: (-0.550998,-0.356772,0.754397) - New Polarization: (-0.826704,0.356694,-0.43512) - *** FresnelRefraction *** -Track (trackID 2168, parentID 1) is processed with stopping code 2 -### pop requested out of 46 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.634856,-0.40222,0.65968) - Old Polarization: (0.0693693,0.820689,0.567149) - New Momentum Direction: (-0.634856,-0.40222,-0.65968) - New Polarization: (-0.0693693,-0.820689,0.567149) - *** TotalInternalReflection *** + 1 24.4 cm -1.16 m 1.52 m 4.07 eV 0 eV 1.93 m 1.93 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 50, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 260 mum -526 mum -1.13 mm 3.4 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.634856,-0.40222,-0.65968) - Old Polarization: (-0.0693693,-0.820689,0.567149) - New Momentum Direction: (0.634856,-0.40222,-0.65968) - New Polarization: (-0.0693693,0.820689,-0.567149) - *** TotalInternalReflection *** + Old Momentum Direction: (-0.737715,-0.0467659,-0.67349) + Old Polarization: (0.0826205,-0.996353,-0.0213144) + New Momentum Direction: (0.737715,-0.0467659,-0.67349) + New Polarization: (-0.0293614,-0.998876,0.0371988) + *** FresnelReflection *** + 1 -5 m -31.8 cm -4.57 m 3.4 eV 0 eV 6.78 m 6.78 m Tank Transportation + 2 -5 m -31.8 cm -4.57 m 3.4 eV 0 eV 0 fm 6.78 m World Transportation Photon at Boundary! - Old Momentum Direction: (0.634856,-0.40222,-0.65968) - Old Polarization: (-0.0693693,0.820689,-0.567149) - New Momentum Direction: (0.634856,0.40222,-0.65968) - New Polarization: (0.0693693,0.820689,0.567149) + Old Momentum Direction: (0.737715,-0.0467659,-0.67349) + Old Polarization: (-0.0293614,-0.998876,0.0371988) + New Momentum Direction: (0.737715,-0.0467659,0.67349) + New Polarization: (0.0293614,0.998876,0.0371988) *** TotalInternalReflection *** + 3 -4.52 m -34.8 cm -5 m 3.4 eV 0 eV 64.4 cm 7.42 m Tank Transportation + 4 -4.52 m -34.8 cm -5 m 3.4 eV 0 eV 0 fm 7.42 m World Transportation ** Photon absorbed! ** -Track (trackID 2167, parentID 1) is processed with stopping code 2 -### pop requested out of 45 stacked tracks. - -** Photon absorbed! ** -Track (trackID 2166, parentID 1) is processed with stopping code 2 -### pop requested out of 44 stacked tracks. + 5 -1.32 mm -63.4 cm -87 cm 3.4 eV 0 eV 6.13 m 13.6 m Tank OpAbsorption -** Photon absorbed! ** -Track (trackID 2165, parentID 1) is processed with stopping code 2 -### pop requested out of 43 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 49, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2164, parentID 1) is processed with stopping code 2 -### pop requested out of 42 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.75406,-0.574485,-0.318372) - Old Polarization: (-0.0933283,0.573527,-0.813853) - New Momentum Direction: (-0.452707,-0.779903,-0.432212) - New Polarization: (-0.136449,0.539613,-0.830783) - *** FresnelRefraction *** -Track (trackID 2163, parentID 1) is processed with stopping code 2 -### pop requested out of 41 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 135 mum -274 mum -586 mum 3.38 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.154867,-0.732565,0.662846) - Old Polarization: (0.747674,0.351646,0.563319) - New Momentum Direction: (-0.209911,-0.385672,0.89844) - New Polarization: (0.860216,-0.509619,-0.0177828) + Old Momentum Direction: (0.489564,0.730777,0.475702) + Old Polarization: (0.0432801,-0.565242,0.823789) + New Momentum Direction: (0.664298,0.376901,0.645488) + New Polarization: (-0.59518,0.789134,0.151748) *** FresnelRefraction *** -Track (trackID 2162, parentID 1) is processed with stopping code 2 -### pop requested out of 40 stacked tracks. + 1 3.35 m 5 m 3.25 m 3.38 eV 0 eV 6.84 m 6.84 m Tank Transportation + 2 10 m 8.77 m 9.72 m 3.38 eV 0 eV 10 m 16.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 48, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 221 mum -447 mum -957 mum 3.32 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.931043,-0.364855,0.00630234) - Old Polarization: (-0.342548,0.867908,-0.359717) - New Momentum Direction: (-0.868871,-0.494965,0.00854982) - New Polarization: (-0.465276,0.810613,-0.355563) + Old Momentum Direction: (-0.245066,0.0121532,-0.96943) + Old Polarization: (-0.131953,-0.991035,0.0209328) + New Momentum Direction: (-0.332442,0.0164863,-0.94298) + New Polarization: (0.0313348,-0.999102,-0.0285145) *** FresnelRefraction *** -Track (trackID 2161, parentID 1) is processed with stopping code 2 -### pop requested out of 39 stacked tracks. + 1 -1.26 m 6.22 cm -5 m 3.32 eV 0 eV 5.16 m 5.16 m Tank Transportation + 2 -3.03 m 15 cm -10 m 3.32 eV 0 eV 5.3 m 10.5 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2160, parentID 1) is processed with stopping code 2 -### pop requested out of 38 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 47, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2159, parentID 1) is processed with stopping code 2 -### pop requested out of 37 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 17.8 mum -36 mum -77.1 mum 3.55 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2158, parentID 1) is processed with stopping code 2 -### pop requested out of 36 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.918348,-0.392529,-0.0505752) - Old Polarization: (-0.331648,0.832978,-0.442896) - New Momentum Direction: (-0.844847,-0.530622,-0.0683678) - New Polarization: (-0.449977,0.773871,-0.445696) - *** FresnelRefraction *** -Track (trackID 2157, parentID 1) is processed with stopping code 2 -### pop requested out of 35 stacked tracks. + 1 -1.1 m 59.2 cm -4.26 m 3.55 eV 0 eV 4.44 m 4.44 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 46, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 131 mum -265 mum -567 mum 3.99 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.230903,-0.66848,0.706978) - Old Polarization: (0.641463,0.441751,0.627201) - New Momentum Direction: (-0.312721,-0.905351,0.287307) - New Polarization: (0.479414,0.110676,0.870582) + Old Momentum Direction: (-0.924114,0.330171,0.192355) + Old Polarization: (-0.139786,-0.760603,0.63399) + New Momentum Direction: (-0.854368,0.449023,0.261598) + New Polarization: (-0.192081,-0.740608,0.643897) *** FresnelRefraction *** -Track (trackID 2156, parentID 1) is processed with stopping code 2 -### pop requested out of 34 stacked tracks. + 1 -5 m 1.79 m 1.04 m 3.99 eV 0 eV 5.41 m 5.41 m Tank Transportation + 2 -10 m 4.41 m 2.57 m 3.99 eV 0 eV 5.85 m 11.3 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2155, parentID 1) is processed with stopping code 2 -### pop requested out of 33 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.454995,-0.804266,-0.382278) - Old Polarization: (0.325456,0.2494,-0.912073) - New Momentum Direction: (-0.454995,0.804266,-0.382278) - New Polarization: (0.643529,0.000247733,-0.765422) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.454995,0.804266,-0.382278) - Old Polarization: (0.643529,0.000247733,-0.765422) - New Momentum Direction: (0.454995,0.804266,-0.382278) - New Polarization: (0.643529,-0.000247733,0.765422) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.454995,0.804266,-0.382278) - Old Polarization: (0.643529,-0.000247733,0.765422) - New Momentum Direction: (0.454995,0.804266,0.382278) - New Polarization: (-0.643529,0.000247733,0.765422) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.454995,0.804266,0.382278) - Old Polarization: (-0.643529,0.000247733,0.765422) - New Momentum Direction: (0.454995,-0.804266,0.382278) - New Polarization: (-0.643273,-2.23358e-07,0.765637) - *** FresnelReflection *** +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 45, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 36.6 mum -73.9 mum -158 mum 3.03 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.454995,-0.804266,0.382278) - Old Polarization: (-0.643273,-2.23358e-07,0.765637) - New Momentum Direction: (0.615383,-0.594963,0.517032) - New Polarization: (-0.643273,-3.15945e-07,0.765637) + Old Momentum Direction: (0.88445,-0.276275,-0.376059) + Old Polarization: (-0.0686685,0.720063,-0.690502) + New Momentum Direction: (0.77491,-0.374223,-0.509383) + New Polarization: (0.0948396,0.865611,-0.491653) *** FresnelRefraction *** -Track (trackID 2154, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. + 1 5 m -1.56 m -2.13 m 3.03 eV 0 eV 5.65 m 5.65 m Tank Transportation + 2 10 m -3.98 m -5.41 m 3.03 eV 0 eV 6.45 m 12.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 44, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 151 mum -305 mum -654 mum 2.39 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.882966,-0.310362,0.352203) - Old Polarization: (-0.282717,0.950513,0.128828) - New Momentum Direction: (-0.773207,-0.419261,0.475785) - New Polarization: (-0.386727,0.906352,0.1702) + Old Momentum Direction: (-0.918113,-0.343787,-0.197175) + Old Polarization: (0.364751,-0.538408,-0.759654) + New Momentum Direction: (-0.845332,-0.46343,-0.265794) + New Polarization: (-0.4926,0.868699,0.0520305) *** FresnelRefraction *** -Track (trackID 2153, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. + 1 -5 m -1.87 m -1.07 m 2.39 eV 0 eV 5.45 m 5.45 m Tank Transportation + 2 -10 m -4.61 m -2.65 m 2.39 eV 0 eV 5.91 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 43, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 184 mum -371 mum -796 mum 2.49 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.0116416,-0.992889,0.118475) - Old Polarization: (0.979262,-0.0126458,-0.202202) - New Momentum Direction: (0.0158009,-0.98686,0.160804) - New Polarization: (0.979305,-0.0171795,-0.201659) + Old Momentum Direction: (-0.93211,-0.185549,-0.311035) + Old Polarization: (0.309395,-0.854375,-0.417514) + New Momentum Direction: (-0.872448,-0.250373,-0.419699) + New Polarization: (-0.418589,-0.0603913,0.906166) *** FresnelRefraction *** -Track (trackID 2152, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. + 1 -5 m -99.6 cm -1.67 m 2.49 eV 0 eV 5.36 m 5.36 m Tank Transportation + 2 -10 m -2.43 m -4.07 m 2.49 eV 0 eV 5.73 m 11.1 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2151, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 42, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 24.4 mum -49.3 mum -106 mum 3.46 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.0490361,-0.840137,0.540153) - Old Polarization: (0.898029,0.199636,0.392031) - New Momentum Direction: (-0.0664079,-0.678588,0.731511) - New Polarization: (0.94508,-0.277913,-0.172011) + Old Momentum Direction: (-0.389908,0.25233,-0.885608) + Old Polarization: (0.164722,-0.927101,-0.336675) + New Momentum Direction: (-0.52922,0.342486,-0.776292) + New Polarization: (0.106575,-0.880838,-0.461265) *** FresnelRefraction *** -Track (trackID 2150, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. + 1 -2.2 m 1.42 m -5 m 3.46 eV 0 eV 5.65 m 5.65 m Tank Transportation + 2 -5.61 m 3.63 m -10 m 3.46 eV 0 eV 6.44 m 12.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 41, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 180 mum -363 mum -778 mum 2.69 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.0188527,-0.95195,0.305672) - Old Polarization: (0.997268,0.0397444,0.0622681) - New Momentum Direction: (0.0254874,-0.910263,0.413246) - New Polarization: (0.98223,-0.0540867,-0.179718) + Old Momentum Direction: (0.278981,0.949592,-0.142984) + Old Polarization: (-0.848452,0.174002,-0.499852) + New Momentum Direction: (0.377098,0.905783,-0.193271) + New Polarization: (-0.828171,0.236348,-0.508205) *** FresnelRefraction *** -Track (trackID 2149, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. + 1 1.47 m 5 m -75.4 cm 2.69 eV 0 eV 5.27 m 5.27 m Tank Transportation + 2 3.55 m 10 m -1.82 m 2.69 eV 0 eV 5.52 m 10.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 40, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 51.8 mum -105 mum -224 mum 3.36 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 27.8 cm 29.4 cm -14.5 cm 3.36 eV 0 eV 42.9 cm 42.9 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 39, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 197 mum -397 mum -851 mum 2.84 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.773315,-0.338073,0.536368) - Old Polarization: (-0.1273,0.911541,0.391008) - New Momentum Direction: (-0.516593,-0.456559,0.724352) - New Polarization: (-0.181969,0.885193,0.42816) - *** FresnelRefraction *** -Track (trackID 2148, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. + Old Momentum Direction: (-0.618444,-0.0241854,-0.785457) + Old Polarization: (0.0824315,0.992015,-0.0954496) + New Momentum Direction: (-0.618444,-0.0241854,0.785457) + New Polarization: (-0.0505926,0.998678,-0.00908425) + *** FresnelReflection *** + 1 -3.94 m -15.4 cm -5 m 2.84 eV 0 eV 6.36 m 6.36 m Tank Transportation + 2 -3.94 m -15.4 cm -5 m 2.84 eV 0 eV 0 fm 6.36 m World Transportation Photon at Boundary! - Old Momentum Direction: (0.0261851,-0.976391,0.214416) - Old Polarization: (0.997619,0.0118335,-0.0679452) - New Momentum Direction: (0.0355766,-0.955964,0.291319) - New Polarization: (0.984756,-0.0161294,-0.17319) - *** FresnelRefraction *** -Track (trackID 2147, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. + Old Momentum Direction: (-0.618444,-0.0241854,0.785457) + Old Polarization: (-0.0505926,0.998678,-0.00908425) + New Momentum Direction: (0.618444,-0.0241854,0.785457) + New Polarization: (-0.0505926,-0.998678,0.00908425) + *** TotalInternalReflection *** + 3 -5 m -19.6 cm -3.65 m 2.84 eV 0 eV 1.72 m 8.09 m Tank Transportation + 4 -5 m -19.6 cm -3.65 m 2.84 eV 0 eV 0 fm 8.09 m World Transportation Photon at Boundary! - Old Momentum Direction: (-0.139918,-0.750023,0.646443) - Old Polarization: (0.772166,0.326032,0.545402) - New Momentum Direction: (-0.189159,-0.447702,0.873946) - New Polarization: (0.883384,-0.466223,-0.0476331) + Old Momentum Direction: (0.618444,-0.0241854,0.785457) + Old Polarization: (-0.0505926,-0.998678,0.00908425) + New Momentum Direction: (0.836845,-0.0327264,0.54646) + New Polarization: (-0.0475304,-0.998786,0.0129725) *** FresnelRefraction *** -Track (trackID 2146, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. + 5 1.81 m -46.2 cm 5 m 2.84 eV 0 eV 11 m 19.1 m Tank Transportation + 6 9.47 m -76.2 cm 10 m 2.84 eV 0 eV 9.15 m 28.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 38, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 202 mum -409 mum -876 mum 2.09 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.251934,-0.920815,-0.297706) - Old Polarization: (0.610692,0.0873692,-0.787034) - New Momentum Direction: (-0.341648,-0.848697,-0.40372) - New Polarization: (0.867748,-0.119875,-0.482331) + Old Momentum Direction: (-0.419899,-0.209925,0.882959) + Old Polarization: (0.0601095,0.964313,0.257852) + New Momentum Direction: (-0.564472,-0.282203,0.775715) + New Polarization: (0.0146436,0.936174,0.351233) *** FresnelRefraction *** -Track (trackID 2145, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. + 1 -2.38 m -1.19 m 5 m 2.09 eV 0 eV 5.66 m 5.66 m Tank Transportation + 2 -6.02 m -3.01 m 10 m 2.09 eV 0 eV 6.45 m 12.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 37, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 172 mum -347 mum -742 mum 4 eV 0 eV 0 fm 0 fm Tank initStep Scattering Photon! -Old Momentum Direction: (-0.676793,-0.640026,-0.363756) -Old Polarization: (0.015366,0.481727,-0.876186) -New Polarization: (0.436544,-0.0198818,-0.899463) -Polarization Change: (0.436544,-0.0198818,-0.899463) -New Momentum Direction: (-0.528774,0.803187,-0.274388) -Momentum Change: (-0.528774,0.803187,-0.274388) - Photon at Boundary! - Old Momentum Direction: (-0.528774,0.803187,-0.274388) - Old Polarization: (0.436544,-0.0198818,-0.899463) - New Momentum Direction: (0.528774,0.803187,-0.274388) - New Polarization: (0.436544,0.0198818,0.899463) - *** TotalInternalReflection *** +Old Momentum Direction: (-0.887274,0.458122,0.053569) +Old Polarization: (-0.459017,-0.865619,-0.200015) +New Polarization: (-0.518288,-0.776444,-0.358487) +Polarization Change: (-0.518288,-0.776444,-0.358487) +New Momentum Direction: (-0.261537,0.543002,-0.797964) +Momentum Change: (-0.261537,0.543002,-0.797964) + 1 -1.25 m 64.5 cm 7.47 cm 4 eV 0 eV 1.41 m 1.41 m Tank OpRayleigh +Scattering Photon! +Old Momentum Direction: (-0.261537,0.543002,-0.797964) +Old Polarization: (-0.518288,-0.776444,-0.358487) +New Polarization: (0.0943035,-0.984354,0.148841) +Polarization Change: (0.0943035,-0.984354,0.148841) +New Momentum Direction: (-0.774866,-0.166443,-0.60982) +Momentum Change: (-0.774866,-0.166443,-0.60982) + 2 -2.39 m 3.02 m -3.41 m 4 eV 0 eV 4.37 m 5.78 m Tank OpRayleigh ** Photon absorbed! ** -Track (trackID 2144, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. + 3 -4.18 m 2.63 m -4.82 m 4 eV 0 eV 2.31 m 8.08 m Tank OpAbsorption -** Photon absorbed! ** -Track (trackID 2143, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.626576,-0.397411,0.670423) - Old Polarization: (0.0865893,0.819399,0.566646) - New Momentum Direction: (-0.626576,-0.397411,-0.670423) - New Polarization: (-0.0865893,-0.819399,0.566646) - *** TotalInternalReflection *** +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2142, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 61 mum -123 mum -264 mum 3.11 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.0206034,-0.999084,0.0375177) - Old Polarization: (0.946995,-0.0315344,-0.319695) - New Momentum Direction: (-0.0277707,-0.998334,0.050569) - New Polarization: (0.946712,-0.0425065,-0.319264) + Old Momentum Direction: (-0.787431,0.381242,-0.484362) + Old Polarization: (-0.505768,-0.848785,0.154153) + New Momentum Direction: (-0.549848,0.516607,-0.656341) + New Polarization: (-0.697019,-0.716781,0.0197468) *** FresnelRefraction *** -Track (trackID 2141, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. + 1 -5 m 2.42 m -3.08 m 3.11 eV 0 eV 6.35 m 6.35 m Tank Transportation + 2 -10 m 7.12 m -9.04 m 3.11 eV 0 eV 9.09 m 15.4 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2140, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2139, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 98 mum -198 mum -424 mum 2.36 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.343003,-0.870055,-0.354054) - Old Polarization: (0.481757,0.160631,-0.861457) - New Momentum Direction: (-0.466154,-0.742411,-0.481172) - New Polarization: (0.849236,-0.223044,-0.478591) + Old Momentum Direction: (-0.536569,0.0885964,0.839193) + Old Polarization: (-0.461745,0.801561,-0.379857) + New Momentum Direction: (-0.723116,0.119398,0.680328) + New Polarization: (0.591036,0.616682,0.51998) *** FresnelRefraction *** -Track (trackID 2138, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. + 1 -3.2 m 52.8 cm 5 m 2.36 eV 0 eV 5.96 m 5.96 m Tank Transportation + 2 -8.51 m 1.41 m 10 m 2.36 eV 0 eV 7.35 m 13.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 253 mum 0 fm 0 fm 2.47 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.921125,-0.387709,-0.0347906) - Old Polarization: (-0.338188,0.841313,-0.421688) - New Momentum Direction: (-0.850778,-0.523421,-0.0469686) - New Polarization: (-0.457881,0.782166,-0.422564) + Old Momentum Direction: (0.859063,-0.303539,-0.412158) + Old Polarization: (-0.511869,-0.509426,-0.691719) + New Momentum Direction: (0.723289,-0.409495,-0.556028) + New Polarization: (0.690546,0.428912,0.582393) *** FresnelRefraction *** -Track (trackID 2137, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. + 1 5 m -1.77 m -2.4 m 2.47 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 10 m -4.6 m -6.24 m 2.47 eV 0 eV 6.91 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 284 mum 0 fm 0 fm 3.12 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.408813,-0.832483,-0.373958) - Old Polarization: (0.390488,0.210798,-0.896149) - New Momentum Direction: (-0.55391,-0.660647,-0.506685) - New Polarization: (0.811993,-0.294172,-0.504114) + Old Momentum Direction: (0.855224,0.499404,0.138518) + Old Polarization: (-0.518259,0.824111,0.22858) + New Momentum Direction: (0.711877,0.676755,0.187709) + New Polarization: (0.702304,-0.685979,-0.190267) *** FresnelRefraction *** -Track (trackID 2136, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.69508,-0.36355,0.620238) - Old Polarization: (-0.00934304,0.867216,0.497845) - New Momentum Direction: (0.69508,-0.36355,0.620238) - New Polarization: (-0.00611034,0.859702,0.510759) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.69508,-0.36355,0.620238) - Old Polarization: (-0.00611034,0.859702,0.510759) - New Momentum Direction: (0.69508,-0.36355,-0.620238) - New Polarization: (0.00611034,-0.859702,0.510759) - *** TotalInternalReflection *** + 1 5 m 2.92 m 81 cm 3.12 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m 7.67 m 2.13 m 3.12 eV 0 eV 7.02 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 53.4 mum 0 fm 0 fm 2.46 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.859184,-0.48836,0.152666) +Old Polarization: (-0.511666,-0.820048,0.256356) +New Polarization: (-0.362441,-0.747728,0.556362) +Polarization Change: (-0.362441,-0.747728,0.556362) +New Momentum Direction: (0.504922,0.344226,0.791557) +Momentum Change: (0.504922,0.344226,0.791557) + 1 3.52 m -2 m 62.6 cm 2.46 eV 0 eV 4.1 m 4.1 m Tank OpRayleigh Photon at Boundary! - Old Momentum Direction: (0.69508,-0.36355,-0.620238) - Old Polarization: (0.00611034,-0.859702,0.510759) - New Momentum Direction: (0.69508,0.36355,-0.620238) - New Polarization: (-0.00611034,-0.859702,-0.510759) + Old Momentum Direction: (0.504922,0.344226,0.791557) + Old Polarization: (-0.362441,-0.747728,0.556362) + New Momentum Direction: (-0.504922,0.344226,0.791557) + New Polarization: (-0.362441,0.747728,-0.556362) *** TotalInternalReflection *** + 2 5 m -99.7 cm 2.94 m 2.46 eV 0 eV 2.92 m 7.02 m Tank Transportation + 3 5 m -99.7 cm 2.94 m 2.46 eV 0 eV 0 fm 7.02 m World Transportation Photon at Boundary! - Old Momentum Direction: (0.69508,0.36355,-0.620238) - Old Polarization: (-0.00611034,-0.859702,-0.510759) - New Momentum Direction: (0.211498,0.494241,-0.843205) - New Polarization: (0.00977642,-0.863747,-0.50383) - *** FresnelRefraction *** -Track (trackID 2135, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.312612,-0.599208,0.737037) - Old Polarization: (0.523804,0.538542,0.660002) - New Momentum Direction: (-0.425123,-0.814866,0.394036) - New Polarization: (0.353382,0.251361,0.901076) + Old Momentum Direction: (-0.504922,0.344226,0.791557) + Old Polarization: (-0.362441,0.747728,-0.556362) + New Momentum Direction: (-0.681078,0.464319,0.566163) + New Polarization: (0.652962,0.0352686,0.756569) *** FresnelRefraction *** -Track (trackID 2134, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. + 4 3.69 m -10.1 cm 5 m 2.46 eV 0 eV 2.6 m 9.63 m Tank Transportation + 5 -2.33 m 4 m 10 m 2.46 eV 0 eV 8.83 m 18.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 93.8 mum 0 fm 0 fm 2.74 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.0907795,-0.790188,0.606104) - Old Polarization: (0.834403,0.271881,0.479429) - New Momentum Direction: (-0.123324,-0.553912,0.823391) - New Polarization: (0.914625,-0.385374,-0.122261) + Old Momentum Direction: (0.857155,-0.153195,-0.491748) + Old Polarization: (-0.515058,-0.254947,-0.818363) + New Momentum Direction: (0.717659,-0.207131,-0.664878) + New Polarization: (0.696395,0.213456,0.68518) *** FresnelRefraction *** -Track (trackID 2133, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. + 1 5 m -89.4 cm -2.87 m 2.74 eV 0 eV 5.83 m 5.83 m Tank Transportation + 2 10 m -2.34 m -7.5 m 2.74 eV 0 eV 6.97 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 289 mum 0 fm 0 fm 3.15 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.855116,0.093041,0.51002) +Old Polarization: (-0.518437,0.153463,0.841232) +New Polarization: (-0.724608,-0.241586,0.64543) +Polarization Change: (-0.724608,-0.241586,0.64543) +New Momentum Direction: (-0.254899,-0.776177,-0.576694) +Momentum Change: (-0.254899,-0.776177,-0.576694) + 1 57 cm 6.2 cm 34 cm 3.15 eV 0 eV 66.6 cm 66.6 cm Tank OpRayleigh Photon at Boundary! - Old Momentum Direction: (-0.075861,-0.808265,0.583911) - Old Polarization: (0.857929,0.245515,0.451309) - New Momentum Direction: (-0.102882,-0.601929,0.791894) - New Polarization: (0.927716,-0.345261,-0.14191) + Old Momentum Direction: (-0.254899,-0.776177,-0.576694) + Old Polarization: (-0.724608,-0.241586,0.64543) + New Momentum Direction: (-0.345464,-0.519394,-0.781591) + New Polarization: (-0.752438,-0.344405,0.561447) *** FresnelRefraction *** -Track (trackID 2132, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. + 2 -1.09 m -5 m -3.42 m 3.15 eV 0 eV 6.52 m 7.19 m Tank Transportation + 3 -4 m -9.37 m -10 m 3.15 eV 0 eV 8.42 m 15.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 76.3 mum 0 fm 0 fm 2.43 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.772371,-0.331237,0.541963) - Old Polarization: (-0.118114,0.913273,0.389847) - New Momentum Direction: (-0.505458,-0.449971,0.736232) - New Polarization: (-0.170575,0.888526,0.425942) + Old Momentum Direction: (0.859406,0.374558,0.348033) + Old Polarization: (-0.511293,0.629576,0.58499) + New Momentum Direction: (0.724292,0.505103,0.469332) + New Polarization: (0.689494,-0.530595,-0.493019) *** FresnelRefraction *** -Track (trackID 2131, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. + 1 5 m 2.18 m 2.02 m 2.43 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 10 m 5.67 m 5.26 m 2.43 eV 0 eV 6.9 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 18.9 mum 0 fm 0 fm 2.41 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.399081,-0.537049,0.743178) - Old Polarization: (0.403312,0.625086,0.668287) - New Momentum Direction: (-0.542775,-0.73042,0.414587) - New Polarization: (0.210873,0.359298,0.909086) + Old Momentum Direction: (0.859587,0.0551321,0.508006) + Old Polarization: (-0.510989,0.0927434,0.854569) + New Momentum Direction: (0.72482,0.0743315,0.684917) + New Polarization: (0.688938,-0.0782029,-0.720589) *** FresnelRefraction *** -Track (trackID 2130, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. + 1 5 m 32.1 cm 2.95 m 2.41 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 10 m 83.3 cm 7.68 m 2.41 eV 0 eV 6.9 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 24.9 mum 0 fm 0 fm 3.47 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.797752,-0.53577,-0.276662) - Old Polarization: (-0.158654,0.629156,-0.760915) - New Momentum Direction: (-0.577731,-0.725242,-0.374502) - New Polarization: (-0.224555,0.58234,-0.781316) + Old Momentum Direction: (0.853801,-0.506427,0.120642) + Old Polarization: (-0.520599,-0.830559,0.197858) + New Momentum Direction: (0.707562,-0.687415,0.163758) + New Polarization: (0.706651,0.688301,-0.163969) *** FresnelRefraction *** -Track (trackID 2129, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. + 1 5 m -2.97 m 70.6 cm 3.47 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -7.82 m 1.86 m 3.47 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 37.2 mum 0 fm 0 fm 2.83 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.934133,-0.351706,0.0608098) - Old Polarization: (-0.353943,0.890814,-0.284912) - New Momentum Direction: (-0.875889,-0.475459,0.0822066) - New Polarization: (-0.478559,0.834243,-0.273898) + Old Momentum Direction: (0.856498,-0.439402,0.270808) + Old Polarization: (-0.51615,-0.729143,0.449378) + New Momentum Direction: (0.715701,-0.594558,0.366432) + New Polarization: (0.698407,0.609281,-0.375506) *** FresnelRefraction *** -Track (trackID 2128, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. + 1 5 m -2.57 m 1.58 m 2.83 eV 0 eV 5.84 m 5.84 m Tank Transportation + 2 10 m -6.72 m 4.14 m 2.83 eV 0 eV 6.99 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 106 mum 0 fm 0 fm 2.27 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2127, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.765429,-0.564583,-0.308811) - Old Polarization: (-0.11,0.587604,-0.801637) - New Momentum Direction: (-0.487517,-0.766013,-0.418988) - New Polarization: (-0.159282,0.549853,-0.819933) - *** FresnelRefraction *** -Track (trackID 2126, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.911865,-0.401741,-0.0842957) - Old Polarization: (-0.314316,0.815424,-0.486096) - New Momentum Direction: (-0.830337,-0.545385,-0.114436) - New Polarization: (-0.429193,0.756861,-0.492905) - *** FresnelRefraction *** -Track (trackID 2125, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. + 1 21.9 cm 3.79 cm 12.4 cm 2.27 eV 0 eV 25.5 cm 25.5 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 61.7 nm 0 fm 0 fm 3.98 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.770489,-0.563228,-0.29853) - Old Polarization: (-0.12352,0.591355,-0.796895) - New Momentum Direction: (-0.509094,-0.76049,-0.403086) - New Polarization: (-0.176825,0.550738,-0.815733) + Old Momentum Direction: (0.852203,0.21766,-0.475788) + Old Polarization: (-0.523211,0.354524,-0.77496) + New Momentum Direction: (0.702657,0.296002,-0.647036) + New Polarization: (0.711529,-0.292311,0.638969) *** FresnelRefraction *** -Track (trackID 2124, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. + 1 5 m 1.28 m -2.79 m 3.98 eV 0 eV 5.87 m 5.87 m Tank Transportation + 2 10 m 3.38 m -7.4 m 3.98 eV 0 eV 7.12 m 13 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 216 mum 0 fm 0 fm 3.53 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.0726525,-0.810715,0.580915) - Old Polarization: (0.861508,0.242458,0.446115) - New Momentum Direction: (-0.098588,-0.607355,0.78829) - New Polarization: (0.928574,-0.340976,-0.146579) + Old Momentum Direction: (0.853496,-0.498904,0.150468) + Old Polarization: (-0.5211,-0.817141,0.246447) + New Momentum Direction: (0.706628,-0.677445,0.204315) + New Polarization: (0.707585,0.676529,-0.204039) *** FresnelRefraction *** -Track (trackID 2123, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. + 1 5 m -2.92 m 88.1 cm 3.53 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -7.72 m 2.33 m 3.53 eV 0 eV 7.08 m 12.9 m OutOfWorld Transportation - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 16 +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 +********************************************************************************************************* - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 16 -Track (trackID 1, parentID 0) is processed with stopping code 4 -### pop requested out of 33 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.776688,0.618207,-0.120731) -Old Polarization: (-0.582083,-0.631195,0.512614) -New Polarization: (0.693271,0.685025,0.223865) -Polarization Change: (0.693271,0.685025,0.223865) -New Momentum Direction: (-0.118536,-0.198013,0.973006) -Momentum Change: (-0.118536,-0.198013,0.973006) +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 281 mum 0 fm 0 fm 2.16 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.118536,-0.198013,0.973006) - Old Polarization: (0.693271,0.685025,0.223865) - New Momentum Direction: (-0.161218,-0.269314,0.949462) - New Polarization: (0.680913,0.666042,0.304541) + Old Momentum Direction: (0.861464,0.185267,-0.472816) + Old Polarization: (-0.507818,0.314288,-0.802087) + New Momentum Direction: (0.730258,0.249241,-0.636083) + New Polarization: (0.683171,-0.26642,0.679925) *** FresnelRefraction *** -Track (trackID 2221, parentID 1) is processed with stopping code 2 -### pop requested out of 32 stacked tracks. + 1 5 m 1.08 m -2.74 m 2.16 eV 0 eV 5.8 m 5.8 m Tank Transportation + 2 10 m 2.78 m -7.1 m 2.16 eV 0 eV 6.85 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 262 mum 0 fm 0 fm 2.65 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.102288,-0.604573,0.789955) - Old Polarization: (0.00671616,-0.794522,-0.607198) - New Momentum Direction: (-0.137821,-0.814591,0.563425) - New Polarization: (0.223861,0.528514,0.818877) + Old Momentum Direction: (0.857713,0.493749,-0.143321) + Old Polarization: (-0.514129,0.823713,-0.2391) + New Momentum Direction: (0.719312,0.667149,-0.193654) + New Polarization: (0.694687,-0.690798,0.200519) *** FresnelRefraction *** -Track (trackID 2220, parentID 1) is processed with stopping code 2 -### pop requested out of 31 stacked tracks. + 1 5 m 2.88 m -83.5 cm 2.65 eV 0 eV 5.83 m 5.83 m Tank Transportation + 2 10 m 7.52 m -2.18 m 2.65 eV 0 eV 6.95 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 267 mum 0 fm 0 fm 3.36 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2219, parentID 1) is processed with stopping code 2 -### pop requested out of 30 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.951622,-0.11594,0.284557) - Old Polarization: (-0.267754,-0.141422,-0.953052) - New Momentum Direction: (-0.908544,-0.157642,0.386906) - New Polarization: (-0.364676,-0.152647,-0.918537) - *** FresnelRefraction *** -Track (trackID 2218, parentID 1) is processed with stopping code 2 -### pop requested out of 29 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.847728,0.364436,-0.385414) - Old Polarization: (-0.411818,-0.910144,0.0451982) - New Momentum Direction: (-0.695015,0.49399,-0.522425) - New Polarization: (-0.564761,-0.824761,-0.0285337) - *** FresnelRefraction *** -Track (trackID 2217, parentID 1) is processed with stopping code 2 -### pop requested out of 28 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.498056,-0.347278,0.794568) - Old Polarization: (0.455688,0.884402,0.100904) - New Momentum Direction: (0.675892,-0.471277,0.566628) - New Polarization: (0.482029,0.864266,0.143849) - *** FresnelRefraction *** -Track (trackID 2216, parentID 1) is processed with stopping code 2 -### pop requested out of 27 stacked tracks. + 1 87.8 cm 44.9 cm 29 cm 3.36 eV 0 eV 1.03 m 1.03 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 206 mum 0 fm 0 fm 3.21 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.607553,0.397914,-0.687418) - Old Polarization: (-0.790923,0.223611,-0.569595) - New Momentum Direction: (0.826091,0.541044,-0.157623) - New Polarization: (-0.409976,0.385095,-0.826814) + Old Momentum Direction: (0.854862,-0.417391,0.308213) + Old Polarization: (-0.518855,-0.687691,0.50781) + New Momentum Direction: (0.710785,-0.565855,0.417843) + New Polarization: (0.70341,0.571788,-0.422224) *** FresnelRefraction *** -Track (trackID 2215, parentID 1) is processed with stopping code 2 -### pop requested out of 26 stacked tracks. + 1 5 m -2.44 m 1.8 m 3.21 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m -6.42 m 4.74 m 3.21 eV 0 eV 7.03 m 12.9 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2214, parentID 1) is processed with stopping code 2 -### pop requested out of 25 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.831813,0.492487,-0.256016) - Old Polarization: (0.246182,-0.0860523,-0.965396) - New Momentum Direction: (0.831813,0.492487,-0.256016) - New Polarization: (0.0366291,-0.508943,-0.86002) - *** FresnelReflection *** - Photon at Boundary! - Old Momentum Direction: (0.831813,0.492487,-0.256016) - Old Polarization: (0.0366291,-0.508943,-0.86002) - New Momentum Direction: (0.831813,-0.492487,-0.256016) - New Polarization: (-0.0366291,-0.508943,0.86002) - *** TotalInternalReflection *** +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 203 mum 0 fm 0 fm 3.18 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.831813,-0.492487,-0.256016) - Old Polarization: (-0.0366291,-0.508943,0.86002) - New Momentum Direction: (0.657718,-0.668351,-0.347438) - New Polarization: (0.051493,-0.420272,0.905936) + Old Momentum Direction: (0.854991,0.218376,0.470428) + Old Polarization: (-0.518643,0.359995,0.775508) + New Momentum Direction: (0.711173,0.296006,0.637662) + New Polarization: (0.703017,-0.299441,-0.64506) *** FresnelRefraction *** -Track (trackID 2213, parentID 1) is processed with stopping code 2 -### pop requested out of 24 stacked tracks. + 1 5 m 1.28 m 2.75 m 3.18 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m 3.36 m 7.23 m 3.18 eV 0 eV 7.03 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 85.3 mum 0 fm 0 fm 2.51 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.489886,0.828522,-0.271225) - Old Polarization: (0.268125,0.152843,0.951182) - New Momentum Direction: (0.662472,0.653151,-0.366777) - New Polarization: (0.303545,0.213565,0.928574) + Old Momentum Direction: (0.85869,0.255203,-0.444436) + Old Polarization: (-0.512495,0.427594,-0.744655) + New Momentum Direction: (0.722193,0.344435,-0.599834) + New Polarization: (0.691691,-0.359624,0.626285) *** FresnelRefraction *** -Track (trackID 2212, parentID 1) is processed with stopping code 2 -### pop requested out of 23 stacked tracks. + 1 5 m 1.49 m -2.59 m 2.51 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 10 m 3.87 m -6.74 m 2.51 eV 0 eV 6.92 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 118 mum 0 fm 0 fm 3.44 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.368006,0.120456,0.921988) - Old Polarization: (-0.446831,-0.846665,0.288965) - New Momentum Direction: (0.499358,0.163451,0.850838) - New Polarization: (-0.40101,-0.826916,0.394209) + Old Momentum Direction: (0.853927,-0.52035,-0.00666098) + Old Polarization: (-0.520392,-0.853857,-0.0109302) + New Momentum Direction: (0.707946,-0.706208,-0.00904016) + New Polarization: (0.706266,0.707888,0.00906166) *** FresnelRefraction *** -Track (trackID 2211, parentID 1) is processed with stopping code 2 -### pop requested out of 22 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.257067,0.0331023,0.965826) -Old Polarization: (-0.366145,-0.921568,0.12904) -New Polarization: (0.721125,0.672488,0.166548) -Polarization Change: (0.721125,0.672488,0.166548) -New Momentum Direction: (-0.504866,0.674717,-0.538393) -Momentum Change: (-0.504866,0.674717,-0.538393) + 1 5 m -3.05 m -3.9 cm 3.44 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -8.03 m -10.3 cm 3.44 eV 0 eV 7.06 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 41.8 mum 0 fm 0 fm 3.76 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2210, parentID 1) is processed with stopping code 2 -### pop requested out of 21 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.495353,0.85273,0.165761) - Old Polarization: (0.579612,0.46657,-0.668103) - New Momentum Direction: (-0.672829,0.704705,0.22515) - New Polarization: (0.460913,0.63736,-0.617521) - *** FresnelRefraction *** -Track (trackID 2209, parentID 1) is processed with stopping code 2 -### pop requested out of 20 stacked tracks. -Scattering Photon! -Old Momentum Direction: (0.0794032,-0.900116,-0.428353) -Old Polarization: (0.723902,0.347488,-0.596002) -New Polarization: (-0.503711,0.271322,0.820158) -Polarization Change: (-0.503711,0.271322,0.820158) -New Momentum Direction: (-0.524664,-0.850325,-0.0409273) -Momentum Change: (-0.524664,-0.850325,-0.0409273) - Photon at Boundary! - Old Momentum Direction: (-0.524664,-0.850325,-0.0409273) - Old Polarization: (-0.503711,0.271322,0.820158) - New Momentum Direction: (-0.706744,-0.705318,-0.0551307) - New Polarization: (0.303755,-0.372899,0.876744) - *** FresnelRefraction *** -Track (trackID 2208, parentID 1) is processed with stopping code 2 -### pop requested out of 19 stacked tracks. + 1 4.18 m -1.59 m -2.01 m 3.76 eV 0 eV 4.9 m 4.9 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 49.1 mum 0 fm 0 fm 2.3 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.986431,-0.124093,-0.107497) - Old Polarization: (-0.147141,0.958661,0.243554) - New Momentum Direction: (-0.974792,-0.16864,-0.146087) - New Polarization: (-0.200033,0.95059,0.237414) + Old Momentum Direction: (0.860366,0.509488,0.0138279) + Old Polarization: (-0.509676,0.86005,0.0233425) + New Momentum Direction: (0.727087,0.686293,0.0186266) + New Polarization: (0.686546,-0.726819,-0.0197265) *** FresnelRefraction *** -Track (trackID 2207, parentID 1) is processed with stopping code 2 -### pop requested out of 18 stacked tracks. + 1 5 m 2.96 m 8.04 cm 2.3 eV 0 eV 5.81 m 5.81 m Tank Transportation + 2 10 m 7.68 m 20.8 cm 2.3 eV 0 eV 6.88 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 260 mum 0 fm 0 fm 2.63 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.55699,0.754653,-0.346786) - Old Polarization: (0.781795,0.335502,-0.525581) - New Momentum Direction: (-0.755796,0.455346,-0.470565) - New Polarization: (0.653581,0.480631,-0.58466) + Old Momentum Direction: (0.857905,-0.373155,-0.353206) + Old Polarization: (-0.513809,-0.623056,-0.589748) + New Momentum Direction: (0.71988,-0.504091,-0.477142) + New Polarization: (0.694098,0.522815,0.494866) *** FresnelRefraction *** -Track (trackID 2206, parentID 1) is processed with stopping code 2 -### pop requested out of 17 stacked tracks. + 1 5 m -2.17 m -2.06 m 2.63 eV 0 eV 5.83 m 5.83 m Tank Transportation + 2 10 m -5.68 m -5.37 m 2.63 eV 0 eV 6.95 m 12.8 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2205, parentID 1) is processed with stopping code 2 -### pop requested out of 16 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.642106,0.598764,0.47873) - Old Polarization: (0.736369,-0.308046,-0.602386) - New Momentum Direction: (-0.642106,0.598764,0.47873) - New Polarization: (0.736369,0.308046,0.602386) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.642106,0.598764,0.47873) - Old Polarization: (0.736369,0.308046,0.602386) - New Momentum Direction: (-0.642106,-0.598764,0.47873) - New Polarization: (-0.736369,0.308046,-0.602386) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.642106,-0.598764,0.47873) - Old Polarization: (-0.736369,0.308046,-0.602386) - New Momentum Direction: (-0.642106,-0.598764,-0.47873) - New Polarization: (0.736369,-0.308046,-0.602386) - *** TotalInternalReflection *** +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 28.9 mum 0 fm 0 fm 2.31 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2204, parentID 1) is processed with stopping code 2 -### pop requested out of 15 stacked tracks. + 1 1.91 m 1.13 m 14.4 cm 2.31 eV 0 eV 2.23 m 2.23 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 149 mum 0 fm 0 fm 3.94 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.599648,0.405496,0.689924) - Old Polarization: (0.662263,-0.735428,-0.143365) - New Momentum Direction: (0.812007,0.549098,0.197828) - New Polarization: (0.506782,-0.831462,0.227693) + Old Momentum Direction: (0.852322,-0.51903,-0.0644626) + Old Polarization: (-0.523017,-0.845824,-0.10505) + New Momentum Direction: (0.703024,-0.705744,-0.0876522) + New Polarization: (0.711166,0.697664,0.0866487) *** FresnelRefraction *** -Track (trackID 2203, parentID 1) is processed with stopping code 2 -### pop requested out of 14 stacked tracks. + 1 5 m -3.04 m -37.8 cm 3.94 eV 0 eV 5.87 m 5.87 m Tank Transportation + 2 10 m -8.06 m -1 m 3.94 eV 0 eV 7.11 m 13 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2202, parentID 1) is processed with stopping code 2 -### pop requested out of 13 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 130 mum 0 fm 0 fm 3.35 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.210629,0.91655,0.339959) - Old Polarization: (-0.195116,0.380179,-0.904098) - New Momentum Direction: (0.286171,0.839505,0.461884) - New Polarization: (-0.160241,0.517186,-0.840739) + Old Momentum Direction: (0.854182,-0.519639,-0.0186743) + Old Polarization: (-0.519974,-0.853631,-0.030677) + New Momentum Direction: (0.708721,-0.705034,-0.0253368) + New Polarization: (0.705489,0.708264,0.0254529) *** FresnelRefraction *** -Track (trackID 2201, parentID 1) is processed with stopping code 2 -### pop requested out of 12 stacked tracks. + 1 5 m -3.04 m -10.9 cm 3.35 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m -8.02 m -28.8 cm 3.35 eV 0 eV 7.05 m 12.9 m OutOfWorld Transportation -** Photon absorbed! ** -Track (trackID 2200, parentID 1) is processed with stopping code 2 -### pop requested out of 11 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 +********************************************************************************************************* -** Photon absorbed! ** -Track (trackID 2199, parentID 1) is processed with stopping code 2 -### pop requested out of 10 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.646639,0.496246,0.579308) - Old Polarization: (0.753884,-0.531518,-0.386197) - New Momentum Direction: (-0.646639,0.496246,0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (-0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,-0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (-0.646639,-0.496246,-0.579308) - New Polarization: (0.753884,-0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,-0.496246,-0.579308) - Old Polarization: (0.753884,-0.531518,-0.386197) - New Momentum Direction: (0.646639,-0.496246,-0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,-0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (0.646639,-0.496246,0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (0.646639,0.496246,0.579308) - New Polarization: (0.753884,-0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,0.496246,0.579308) - Old Polarization: (0.753884,-0.531518,-0.386197) - New Momentum Direction: (-0.646639,0.496246,0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (-0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,-0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (-0.646639,-0.496246,-0.579308) - New Polarization: (0.753884,-0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,-0.496246,-0.579308) - Old Polarization: (0.753884,-0.531518,-0.386197) - New Momentum Direction: (0.646639,-0.496246,-0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,-0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (0.646639,-0.496246,0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (-0.646639,-0.496246,0.579308) - New Polarization: (-0.753884,0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,-0.496246,0.579308) - Old Polarization: (-0.753884,0.531518,-0.386197) - New Momentum Direction: (-0.646639,0.496246,0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (-0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,-0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,0.496246,-0.579308) - Old Polarization: (-0.753884,0.531518,-0.386197) - New Momentum Direction: (0.646639,-0.496246,-0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,-0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (0.646639,-0.496246,0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.646639,-0.496246,0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (-0.646639,-0.496246,0.579308) - New Polarization: (-0.753884,0.531518,-0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,-0.496246,0.579308) - Old Polarization: (-0.753884,0.531518,-0.386197) - New Momentum Direction: (-0.646639,0.496246,0.579308) - New Polarization: (0.753884,0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,0.579308) - Old Polarization: (0.753884,0.531518,0.386197) - New Momentum Direction: (-0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,-0.531518,0.386197) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.646639,0.496246,-0.579308) - Old Polarization: (-0.753884,-0.531518,0.386197) - New Momentum Direction: (0.646639,0.496246,-0.579308) - New Polarization: (-0.753884,0.531518,-0.386197) - *** TotalInternalReflection *** +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 25.6 mum 0 fm 0 fm 2.61 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2198, parentID 1) is processed with stopping code 2 -### pop requested out of 9 stacked tracks. + 1 2.7 m -1.05 m -1.23 m 2.61 eV 0 eV 3.15 m 3.15 m Tank OpAbsorption -** Photon absorbed! ** -Track (trackID 2197, parentID 1) is processed with stopping code 2 -### pop requested out of 8 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 257 mum 0 fm 0 fm 3.87 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.136,0.721936,0.678463) - Old Polarization: (-0.98574,-0.0301057,-0.16556) - New Momentum Direction: (-0.183324,0.360549,0.914547) - New Polarization: (-0.97596,0.0447969,-0.213295) + Old Momentum Direction: (0.8525,-0.498277,-0.157998) + Old Polarization: (-0.522727,-0.812626,-0.257675) + New Momentum Direction: (0.703574,-0.677383,-0.214791) + New Polarization: (0.710622,0.670665,0.212661) *** FresnelRefraction *** -Track (trackID 2196, parentID 1) is processed with stopping code 2 -### pop requested out of 7 stacked tracks. + 1 5 m -2.92 m -92.7 cm 3.87 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -7.74 m -2.45 m 3.87 eV 0 eV 7.11 m 13 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 47.4 mum 0 fm 0 fm 3.56 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2195, parentID 1) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.0576883,0.85603,0.513697) - Old Polarization: (-0.800159,0.268058,-0.536554) - New Momentum Direction: (-0.0779068,0.716003,0.693736) - New Polarization: (-0.80129,0.369055,-0.470885) - *** FresnelRefraction *** -Track (trackID 2194, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (-0.128225,0.753206,0.645165) - Old Polarization: (-0.969625,0.0414173,-0.241064) - New Momentum Direction: (-0.172794,0.462888,0.869412) - New Polarization: (-0.972479,0.0598852,-0.225162) - *** FresnelRefraction *** -Track (trackID 2193, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. + 1 1.21 m -12.2 cm -72.7 cm 3.56 eV 0 eV 1.41 m 1.41 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 256 mum 0 fm 0 fm 4.06 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.851952,-0.40742,-0.328917) +Old Polarization: (-0.523619,-0.66289,-0.535163) +New Polarization: (-0.19806,-0.927088,-0.318245) +Polarization Change: (-0.19806,-0.927088,-0.318245) +New Momentum Direction: (0.757814,-0.350756,0.550172) +Momentum Change: (0.757814,-0.350756,0.550172) + 1 4.4 m -2.1 m -1.7 m 4.06 eV 0 eV 5.17 m 5.17 m Tank OpRayleigh ** Photon absorbed! ** -Track (trackID 2192, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.645574,0.547111,0.532826) - Old Polarization: (0.762491,-0.422545,-0.489963) - New Momentum Direction: (-0.645574,0.547111,0.532826) - New Polarization: (0.762491,0.422545,0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.645574,0.547111,0.532826) - Old Polarization: (0.762491,0.422545,0.489963) - New Momentum Direction: (-0.645574,-0.547111,0.532826) - New Polarization: (-0.762491,0.422545,-0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.645574,-0.547111,0.532826) - Old Polarization: (-0.762491,0.422545,-0.489963) - New Momentum Direction: (-0.645574,-0.547111,-0.532826) - New Polarization: (0.762491,-0.422545,-0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (-0.645574,-0.547111,-0.532826) - Old Polarization: (0.762491,-0.422545,-0.489963) - New Momentum Direction: (0.645574,-0.547111,-0.532826) - New Polarization: (0.762491,0.422545,0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.645574,-0.547111,-0.532826) - Old Polarization: (0.762491,0.422545,0.489963) - New Momentum Direction: (0.645574,0.547111,-0.532826) - New Polarization: (-0.762491,0.422545,-0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.645574,0.547111,-0.532826) - Old Polarization: (-0.762491,0.422545,-0.489963) - New Momentum Direction: (0.645574,0.547111,0.532826) - New Polarization: (0.762491,-0.422545,-0.489963) - *** TotalInternalReflection *** - Photon at Boundary! - Old Momentum Direction: (0.645574,0.547111,0.532826) - Old Polarization: (0.762491,-0.422545,-0.489963) - New Momentum Direction: (-0.645574,0.547111,0.532826) - New Polarization: (0.762491,0.422545,0.489963) - *** TotalInternalReflection *** + 2 4.69 m -2.24 m -1.49 m 4.06 eV 0 eV 37.5 cm 5.54 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 73.9 mum 0 fm 0 fm 3.56 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2191, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.313327,0.893417,0.32192) - Old Polarization: (0.0273892,0.330347,-0.943462) - New Momentum Direction: (0.425669,0.792173,0.437342) - New Polarization: (0.0711171,0.452532,-0.888908) - *** FresnelRefraction *** -Track (trackID 2190, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. + 1 3.88 m -1.25 m -2.01 m 3.56 eV 0 eV 4.54 m 4.54 m Tank OpAbsorption - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 4 -Track (trackID 1, parentID 0) is processed with stopping code 2 -### pop requested out of 6 stacked tracks. -Track (trackID 2227, parentID 1) is processed with stopping code 2 -### pop requested out of 5 stacked tracks. -Track (trackID 2226, parentID 1) is processed with stopping code 2 -### pop requested out of 4 stacked tracks. - Photon at Boundary! - Old Momentum Direction: (0.646805,-0.755794,0.102073) - Old Polarization: (-0.756822,-0.619561,0.208241) - New Momentum Direction: (0.877427,-0.459291,0.138468) - New Polarization: (-0.47958,-0.846582,0.230872) - *** FresnelRefraction *** -Track (trackID 2225, parentID 1) is processed with stopping code 2 -### pop requested out of 3 stacked tracks. +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 123 mum 0 fm 0 fm 3.89 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.189028,0.975388,-0.113522) - Old Polarization: (-0.549627,-0.200894,-0.810896) - New Momentum Direction: (-0.25708,0.953978,-0.154391) - New Polarization: (0.957168,0.273374,0.0953724) + Old Momentum Direction: (0.852429,-0.388571,0.349824) + Old Polarization: (-0.522842,-0.633517,0.570344) + New Momentum Direction: (0.703355,-0.528288,0.475609) + New Polarization: (0.710839,0.522726,-0.470601) *** FresnelRefraction *** + 1 5 m -2.28 m 2.05 m 3.89 eV 0 eV 5.87 m 5.87 m Tank Transportation + 2 10 m -6.03 m 5.43 m 3.89 eV 0 eV 7.11 m 13 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.86 mum 0 fm 0 fm 3.42 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.25708,0.953978,-0.154391) - Old Polarization: (0.957168,0.273374,0.0953724) - New Momentum Direction: (-0.70362,0.70145,-0.113522) - New Polarization: (-0.705454,-0.670428,0.229915) + Old Momentum Direction: (0.85399,-0.520013,-0.0169462) + Old Polarization: (-0.520289,-0.853537,-0.0278151) + New Momentum Direction: (0.708138,-0.7057,-0.0229974) + New Polarization: (0.706074,0.707762,0.0230646) *** FresnelRefraction *** + 1 5 m -3.04 m -9.92 cm 3.42 eV 0 eV 5.85 m 5.85 m Tank Transportation + 2 10 m -8.03 m -26.2 cm 3.42 eV 0 eV 7.06 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 229 mum 0 fm 0 fm 3.51 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (-0.70362,0.70145,-0.113522) - Old Polarization: (-0.705454,-0.670428,0.229915) - New Momentum Direction: (-0.956929,0.245866,-0.154391) - New Polarization: (0.184386,0.925461,0.330945) + Old Momentum Direction: (0.85358,0.116025,-0.507877) + Old Polarization: (-0.520961,0.190104,-0.832142) + New Momentum Direction: (0.706887,0.157531,-0.689561) + New Polarization: (0.707327,-0.157433,0.689133) *** FresnelRefraction *** -Track (trackID 2224, parentID 1) is processed with stopping code 2 -### pop requested out of 2 stacked tracks. + 1 5 m 68 cm -2.97 m 3.51 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m 1.79 m -7.85 m 3.51 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 1 289 mum -585 mum -1.25 mm 33.6 keV 0 eV 0 fm 1.5 mm Tank initStep + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 2 + 2 297 mum -590 mum -1.26 mm 0 eV 33.6 keV 21.3 mum 1.52 mm Tank eIoni + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 59, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 295 mum -589 mum -1.26 mm 3.92 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** -Track (trackID 2223, parentID 1) is processed with stopping code 2 -### pop requested out of 1 stacked tracks. -Scattering Photon! -Old Momentum Direction: (-0.362023,-0.115446,-0.924993) -Old Polarization: (0.163085,-0.984841,0.0590877) -New Polarization: (-0.030959,-0.997054,-0.0701733) -Polarization Change: (-0.030959,-0.997054,-0.0701733) -New Momentum Direction: (0.833195,-0.0645243,0.549202) -Momentum Change: (0.833195,-0.0645243,0.549202) -Scattering Photon! -Old Momentum Direction: (0.833195,-0.0645243,0.549202) -Old Polarization: (-0.030959,-0.997054,-0.0701733) -New Polarization: (0.0311709,0.897761,-0.439378) -Polarization Change: (0.0311709,0.897761,-0.439378) -New Momentum Direction: (0.00795547,0.439355,0.898278) -Momentum Change: (0.00795547,0.439355,0.898278) + 1 63.7 cm -4.4 m -15.2 cm 3.92 eV 0 eV 4.45 m 4.45 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 58, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 296 mum -589 mum -1.26 mm 2.18 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.00795547,0.439355,0.898278) - Old Polarization: (0.0311709,0.897761,-0.439378) - New Momentum Direction: (0.0107397,0.593121,0.805042) - New Polarization: (9.59924e-05,-0.805089,0.593154) + Old Momentum Direction: (-0.159332,-0.41423,-0.896117) + Old Polarization: (-0.653237,-0.636346,0.410298) + New Momentum Direction: (-0.214383,-0.557352,-0.802121) + New Polarization: (-0.0840492,0.828695,-0.553353) *** FresnelRefraction *** -Track (trackID 2222, parentID 1) is processed with stopping code 2 -### pop requested out of 0 stacked tracks. -### 0 waiting tracks are re-classified to -Number of optical photons produces in this event : 2222 - 0 urgent tracks and 0 waiting tracks. -NULL returned from G4StackManager. -Terminate current event processing. -number of event = 1 User=2.6s Real=5.84s Sys=3.17s + 1 -88.8 cm -2.31 m -5 m 2.18 eV 0 eV 5.58 m 5.58 m Tank Transportation + 2 -2.22 m -5.79 m -10 m 2.18 eV 0 eV 6.23 m 11.8 m OutOfWorld Transportation +Number of optical photons produces in this event : 58 +number of event = 1 User=0.08s Real=0.23s Sys=0.15s +Graphics systems deleted. +Visualization Manager deleting... diff --git a/examples/novice/N06/include/ExN06DetectorConstruction.hh b/examples/novice/N06/include/ExN06DetectorConstruction.hh index 22bae419e6..ada732cd31 100644 --- a/examples/novice/N06/include/ExN06DetectorConstruction.hh +++ b/examples/novice/N06/include/ExN06DetectorConstruction.hh @@ -21,6 +21,11 @@ // ******************************************************************** // // +// $Id: ExN06DetectorConstruction.hh,v 1.4 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef ExN06DetectorConstruction_h #define ExN06DetectorConstruction_h 1 @@ -28,19 +33,18 @@ #include "globals.hh" #include "G4VUserDetectorConstruction.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class ExN06DetectorConstruction : public G4VUserDetectorConstruction { public: - ExN06DetectorConstruction(); - ~ExN06DetectorConstruction(); + ~ExN06DetectorConstruction(); public: - G4VPhysicalVolume* Construct(); private: - G4double expHall_x; G4double expHall_y; G4double expHall_z; @@ -52,7 +56,8 @@ class ExN06DetectorConstruction : public G4VUserDetectorConstruction G4double bubble_x; G4double bubble_y; G4double bubble_z; - }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif /*ExN06DetectorConstruction_h*/ diff --git a/examples/novice/N06/include/ExN06EventAction.hh b/examples/novice/N06/include/ExN06EventAction.hh new file mode 100644 index 0000000000..23b518ad42 --- /dev/null +++ b/examples/novice/N06/include/ExN06EventAction.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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: ExN06EventAction.hh,v 1.1 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN06EventAction_h +#define ExN06EventAction_h 1 + +#include "G4UserEventAction.hh" + +class G4Event; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06EventAction : public G4UserEventAction +{ + public: + ExN06EventAction(); + ~ExN06EventAction(); + + public: + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/novice/N06/include/ExN06PhysicsList.hh b/examples/novice/N06/include/ExN06PhysicsList.hh index 19d51a3141..9fa868e7ce 100644 --- a/examples/novice/N06/include/ExN06PhysicsList.hh +++ b/examples/novice/N06/include/ExN06PhysicsList.hh @@ -21,6 +21,11 @@ // ******************************************************************** // // +// $Id: ExN06PhysicsList.hh,v 1.6 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef ExN06PhysicsList_h #define ExN06PhysicsList_h 1 @@ -28,34 +33,53 @@ #include "globals.hh" #include "G4VUserPhysicsList.hh" +class G4Cerenkov; +class G4Scintillation; +class G4OpAbsorption; +class G4OpRayleigh; +class G4OpBoundaryProcess; +class ExN06PhysicsListMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class ExN06PhysicsList : public G4VUserPhysicsList { public: ExN06PhysicsList(); - virtual ~ExN06PhysicsList(); + ~ExN06PhysicsList(); - protected: - // Construct particles and processes - virtual void ConstructParticle(); - virtual void ConstructProcess(); + public: + void ConstructParticle(); + void ConstructProcess(); - // - virtual void SetCuts(); + void SetCuts(); - protected: - // these methods Construct particles - virtual void ConstructBosons(); - virtual void ConstructLeptons(); - virtual void ConstructMesons(); - virtual void ConstructBaryons(); - - protected: - // these methods Construct physics processes and register them - virtual void ConstructGeneral(); - virtual void ConstructEM(); - virtual void ConstructOp(); + //these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); + //these methods Construct physics processes and register them + void ConstructGeneral(); + void ConstructEM(); + void ConstructOp(); + + //for the Messenger + void SetVerbose(G4int); + void SetNbOfPhotonsCerenkov(G4int); + + private: + G4Cerenkov* theCerenkovProcess; + G4Scintillation* theScintillationProcess; + G4OpAbsorption* theAbsorptionProcess; + G4OpRayleigh* theRayleighScatteringProcess; + G4OpBoundaryProcess* theBoundaryProcess; + + ExN06PhysicsListMessenger* pMessenger; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif /* ExN06PhysicsList_h */ diff --git a/examples/novice/N06/include/ExN06PhysicsListMessenger.hh b/examples/novice/N06/include/ExN06PhysicsListMessenger.hh new file mode 100644 index 0000000000..b46e8861c0 --- /dev/null +++ b/examples/novice/N06/include/ExN06PhysicsListMessenger.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: ExN06PhysicsListMessenger.hh,v 1.1 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN06PhysicsListMessenger_h +#define ExN06PhysicsListMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class ExN06PhysicsList; +class G4UIdirectory; +class G4UIcmdWithAnInteger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06PhysicsListMessenger: public G4UImessenger +{ + public: + ExN06PhysicsListMessenger(ExN06PhysicsList* ); + ~ExN06PhysicsListMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ExN06PhysicsList* pPhysicsList; + + G4UIdirectory* N06Dir; + G4UIdirectory* physDir; + G4UIcmdWithAnInteger* verboseCmd; + G4UIcmdWithAnInteger* cerenkovCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh b/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh index 4d82a93bb9..b122cd32d0 100644 --- a/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh +++ b/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh @@ -21,29 +21,39 @@ // ******************************************************************** // // +// $Id: ExN06PrimaryGeneratorAction.hh,v 1.4 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef ExN06PrimaryGeneratorAction_h #define ExN06PrimaryGeneratorAction_h 1 #include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" class G4ParticleGun; class G4Event; +class ExN06PrimaryGeneratorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... class ExN06PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction { public: - ExN06PrimaryGeneratorAction(); - ~ExN06PrimaryGeneratorAction(); + ~ExN06PrimaryGeneratorAction(); public: - - void GeneratePrimaries(G4Event* anEvent); + void GeneratePrimaries(G4Event*); + void SetOptPhotonPolar(G4double); private: - G4ParticleGun* particleGun; + ExN06PrimaryGeneratorMessenger* gunMessenger; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif /*ExN06PrimaryGeneratorAction_h*/ diff --git a/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh b/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..0bc4f563ac --- /dev/null +++ b/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh @@ -0,0 +1,61 @@ +// +// ******************************************************************** +// * 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: ExN06PrimaryGeneratorMessenger.hh,v 1.1 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN06PrimaryGeneratorMessenger_h +#define ExN06PrimaryGeneratorMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class ExN06PrimaryGeneratorAction; +class G4UIdirectory; +class G4UIcmdWithADoubleAndUnit; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06PrimaryGeneratorMessenger: public G4UImessenger +{ + public: + ExN06PrimaryGeneratorMessenger(ExN06PrimaryGeneratorAction*); + ~ExN06PrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ExN06PrimaryGeneratorAction* ExN06Action; + G4UIdirectory* gunDir; + G4UIcmdWithADoubleAndUnit* polarCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/novice/N06/include/ExN06RunAction.hh b/examples/novice/N06/include/ExN06RunAction.hh index 4113197994..4ed6596875 100644 --- a/examples/novice/N06/include/ExN06RunAction.hh +++ b/examples/novice/N06/include/ExN06RunAction.hh @@ -21,6 +21,11 @@ // ******************************************************************** // // +// $Id: ExN06RunAction.hh,v 1.8 2003/01/23 15:34:23 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #ifndef ExN06RunAction_h #define ExN06RunAction_h 1 @@ -28,24 +33,25 @@ #include "globals.hh" #include "G4UserRunAction.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class G4Timer; class G4Run; class ExN06RunAction : public G4UserRunAction { public: - ExN06RunAction(); - virtual ~ExN06RunAction(); + ~ExN06RunAction(); public: - - virtual void BeginOfRunAction(const G4Run* aRun); - virtual void EndOfRunAction(const G4Run* aRun); + void BeginOfRunAction(const G4Run* aRun); + void EndOfRunAction(const G4Run* aRun); private: - G4Timer* timer; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif /*ExN06RunAction_h*/ diff --git a/examples/novice/N06/include/ExN06StackingAction.hh b/examples/novice/N06/include/ExN06StackingAction.hh index a69f39faeb..1c6180409e 100644 --- a/examples/novice/N06/include/ExN06StackingAction.hh +++ b/examples/novice/N06/include/ExN06StackingAction.hh @@ -19,26 +19,37 @@ // * based on the Program) you indicate your acceptance of this * // * statement, and all its terms. * // ******************************************************************** +// +// $Id: ExN06StackingAction.hh,v 1.4 2003/01/23 15:34:24 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #ifndef ExN06StackingAction_H #define ExN06StackingAction_H 1 #include "globals.hh" #include "G4UserStackingAction.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class ExN06StackingAction : public G4UserStackingAction { -public: - ExN06StackingAction(); - virtual ~ExN06StackingAction(); + public: + ExN06StackingAction(); + ~ExN06StackingAction(); -public: - virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack); - virtual void NewStage(); - virtual void PrepareNewEvent(); + public: + G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack); + void NewStage(); + void PrepareNewEvent(); -private: - G4int gammaCounter; + private: + G4int gammaCounter; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/examples/novice/N06/include/ExN06SteppingVerbose.hh b/examples/novice/N06/include/ExN06SteppingVerbose.hh new file mode 100644 index 0000000000..03c3cd6cc8 --- /dev/null +++ b/examples/novice/N06/include/ExN06SteppingVerbose.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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: ExN06SteppingVerbose.hh,v 1.1 2003/01/23 15:34:24 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06SteppingVerbose; + +#ifndef ExN06SteppingVerbose_h +#define ExN06SteppingVerbose_h 1 + +#include "G4SteppingVerbose.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06SteppingVerbose : public G4SteppingVerbose +{ + public: + + ExN06SteppingVerbose(); + ~ExN06SteppingVerbose(); + + void StepInfo(); + void TrackingStarted(); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif diff --git a/examples/novice/N06/include/ExN06VisManager.hh b/examples/novice/N06/include/ExN06VisManager.hh new file mode 100644 index 0000000000..8bcf6a8e35 --- /dev/null +++ b/examples/novice/N06/include/ExN06VisManager.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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: ExN06VisManager.hh,v 1.1 2003/01/23 15:34:24 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// Example Visualization Manager implementing virtual function +// RegisterGraphicsSystems. Exploits C-pre-processor variables +// G4VIS_USE_DAWN, etc., which are set by the GNUmakefiles if +// environment variables of the same name are set. + +// So all you have to do is set environment variables and compile and +// instantiate this in your main(). + +// Alternatively, you can implement an empty function here and just +// register the systems you want in your main(), e.g.: +// G4VisManager* myVisManager = new MyVisManager; +// myVisManager -> RegisterGraphicsSystem (new MyGraphicsSystem); + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN06VisManager_h +#define ExN06VisManager_h 1 + +#ifdef G4VIS_USE + +#include "G4VisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN06VisManager: public G4VisManager { + +public: + + ExN06VisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + +#endif diff --git a/examples/novice/N06/optPhoton.mac b/examples/novice/N06/optPhoton.mac new file mode 100644 index 0000000000..0158c3c3a7 --- /dev/null +++ b/examples/novice/N06/optPhoton.mac @@ -0,0 +1,11 @@ +/control/verbose 2 +# +/gun/particle opticalphoton +/gun/energy 3 eV +/gun/direction 5 -3 0 +/N06/gun/optPhotonPolar 90 deg +# +/tracking/verbose 1 +# +/run/beamOn 1 + diff --git a/examples/novice/N06/src/ExN06DetectorConstruction.cc b/examples/novice/N06/src/ExN06DetectorConstruction.cc index bcef972967..4217cfb733 100644 --- a/examples/novice/N06/src/ExN06DetectorConstruction.cc +++ b/examples/novice/N06/src/ExN06DetectorConstruction.cc @@ -21,6 +21,11 @@ // ******************************************************************** // // +// $Id: ExN06DetectorConstruction.cc,v 1.11 2003/04/17 21:11:13 gum Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "ExN06DetectorConstruction.hh" @@ -36,87 +41,66 @@ #include "G4ThreeVector.hh" #include "G4Transform3D.hh" #include "G4PVPlacement.hh" - #include "G4OpBoundaryProcess.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + ExN06DetectorConstruction::ExN06DetectorConstruction() { - expHall_x = 10.*m; - expHall_y = 10.*m; - expHall_z = 10.*m; - - tank_x = 5.*m; - tank_y = 5.*m; - tank_z = 5.*m; - - bubble_x = 0.5*m; - bubble_y = 0.5*m; - bubble_z = 0.5*m; + expHall_x = expHall_y = expHall_z = 10*m; + tank_x = tank_y = tank_z = 5*m; + bubble_x = bubble_y = bubble_z = 0.5*m; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + ExN06DetectorConstruction::~ExN06DetectorConstruction(){;} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + G4VPhysicalVolume* ExN06DetectorConstruction::Construct() { // ------------- Materials ------------- G4double a, z, density; - G4String name, symbol; - G4int nel; + G4int nelements; // Air -// --- +// + G4Element* elN = new G4Element("Nitrogen", "N", z=7 , a=14.01*g/mole); + G4Element* elO = new G4Element("Oxygen" , "O", z=8 , a=16.00*g/mole); - a = 14.01*g/mole; - G4Element* elN = new G4Element(name="Nitrogen", symbol="N", z=7., a); - a = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen", symbol="O", z=8., a); - - density = 1.29e-03*g/cm3; - G4Material* Air = new G4Material(name="Air", density, nel=2); - Air->AddElement(elN, .7); - Air->AddElement(elO, .3); + G4Material* Air = new G4Material("Air", density=1.29*mg/cm3, nelements=2); + Air->AddElement(elN, 70*perCent); + Air->AddElement(elO, 30*perCent); // Water -// ----- - - a = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen", symbol="H", z=1., a); - - density = 1.0*g/cm3; - G4Material* Water = new G4Material(name="Water", density, nel=2); +// + G4Element* elH = new G4Element("Hydrogen", "H", z=1 , a=1.01*g/mole); + G4Material* Water = new G4Material("Water", density= 1.0*g/cm3, nelements=2); Water->AddElement(elH, 2); Water->AddElement(elO, 1); -///////////////////////////////////////////// -// Generate & Add Material Properties Table -///////////////////////////////////////////// - - const G4int NUMENTRIES = 32; - - G4double PPCKOV[NUMENTRIES] = - { 2.034E-9*GeV, 2.068E-9*GeV, 2.103E-9*GeV, 2.139E-9*GeV, - 2.177E-9*GeV, 2.216E-9*GeV, 2.256E-9*GeV, 2.298E-9*GeV, - 2.341E-9*GeV, 2.386E-9*GeV, 2.433E-9*GeV, 2.481E-9*GeV, - 2.532E-9*GeV, 2.585E-9*GeV, 2.640E-9*GeV, 2.697E-9*GeV, - 2.757E-9*GeV, 2.820E-9*GeV, 2.885E-9*GeV, 2.954E-9*GeV, - 3.026E-9*GeV, 3.102E-9*GeV, 3.181E-9*GeV, 3.265E-9*GeV, - 3.353E-9*GeV, 3.446E-9*GeV, 3.545E-9*GeV, 3.649E-9*GeV, - 3.760E-9*GeV, 3.877E-9*GeV, 4.002E-9*GeV, 4.136E-9*GeV }; - -// { 2.038E-9*GeV, 2.072E-9*GeV, 2.107E-9*GeV, 2.143E-9*GeV, -// 2.181E-9*GeV, 2.220E-9*GeV, 2.260E-9*GeV, 2.302E-9*GeV, -// 2.346E-9*GeV, 2.391E-9*GeV, 2.438E-9*GeV, 2.486E-9*GeV, -// 2.537E-9*GeV, 2.590E-9*GeV, 2.645E-9*GeV, 2.702E-9*GeV, -// 2.763E-9*GeV, 2.825E-9*GeV, 2.891E-9*GeV, 2.960E-9*GeV, -// 3.032E-9*GeV, 3.108E-9*GeV, 3.188E-9*GeV, 3.271E-9*GeV, -// 3.360E-9*GeV, 3.453E-9*GeV, 3.552E-9*GeV, 3.656E-9*GeV, -// 3.767E-9*GeV, 3.884E-9*GeV, 4.010E-9*GeV, 4.144E-9*GeV }; - - G4double RINDEX1[NUMENTRIES] = +// +// ------------ Generate & Add Material Properties Table ------------ +// + const G4int nEntries = 32; + G4double PhotonEnergy[nEntries] = + { 2.034*eV, 2.068*eV, 2.103*eV, 2.139*eV, + 2.177*eV, 2.216*eV, 2.256*eV, 2.298*eV, + 2.341*eV, 2.386*eV, 2.433*eV, 2.481*eV, + 2.532*eV, 2.585*eV, 2.640*eV, 2.697*eV, + 2.757*eV, 2.820*eV, 2.885*eV, 2.954*eV, + 3.026*eV, 3.102*eV, 3.181*eV, 3.265*eV, + 3.353*eV, 3.446*eV, 3.545*eV, 3.649*eV, + 3.760*eV, 3.877*eV, 4.002*eV, 4.136*eV }; +// +// Water +// + G4double RefractiveIndex1[nEntries] = { 1.3435, 1.344, 1.3445, 1.345, 1.3455, 1.346, 1.3465, 1.347, 1.3475, 1.348, 1.3485, 1.3492, 1.35, 1.3505, 1.351, @@ -125,194 +109,154 @@ G4VPhysicalVolume* ExN06DetectorConstruction::Construct() 1.3572, 1.358, 1.3585, 1.359, 1.3595, 1.36, 1.3608}; -// { 1.33, 1.33, 1.33, 1.33, 1.33, 1.33, 1.33, -// 1.33, 1.33, 1.34, 1.34, 1.34, 1.34, 1.34, -// 1.34, 1.34, 1.34, 1.34, 1.34, 1.34, 1.34, -// 1.34, 1.34, 1.35, 1.35, 1.35, 1.35, 1.35, -// 1.35, 1.35, 1.35, 1.35 }; + G4double Absorption1[nEntries] = + {3.448*m, 4.082*m, 6.329*m, 9.174*m, 12.346*m, 13.889*m, + 15.152*m, 17.241*m, 18.868*m, 20.000*m, 26.316*m, 35.714*m, + 45.455*m, 47.619*m, 52.632*m, 52.632*m, 55.556*m, 52.632*m, + 52.632*m, 47.619*m, 45.455*m, 41.667*m, 37.037*m, 33.333*m, + 30.000*m, 28.500*m, 27.000*m, 24.500*m, 22.000*m, 19.500*m, + 17.500*m, 14.500*m }; - G4double RINDEX2[NUMENTRIES] = + G4double ScintilFast[nEntries] = { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 }; - - G4double ABSORPTION1[NUMENTRIES] = - {344.8*cm, 408.2*cm, 632.9*cm, 917.4*cm, 1234.6*cm, 1388.9*cm, - 1515.2*cm, 1724.1*cm, 1886.8*cm, 2000.0*cm, 2631.6*cm, 3571.4*cm, - 4545.5*cm, 4761.9*cm, 5263.2*cm, 5263.2*cm, 5555.6*cm, 5263.2*cm, - 5263.2*cm, 4761.9*cm, 4545.5*cm, 4166.7*cm, 3703.7*cm, 3333.3*cm, - 3000.0*cm, 2850.0*cm, 2700.0*cm, 2450.0*cm, 2200.0*cm, 1950.0*cm, - 1750.0*cm, 1450.0*cm }; - - G4double SCINTILLATION_FAST[NUMENTRIES] = - { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, - 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, - 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, - 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, - 1.00, 1.00, 1.00, 1.00 }; - G4double SCINTILLATION_SLOW[NUMENTRIES] = + G4double ScintilSlow[nEntries] = { 0.01, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 8.00, 7.00, 6.00, 4.00, 3.00, 2.00, 1.00, 0.01, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 8.00, 7.00, 6.00, 5.00, 4.00 }; - G4MaterialPropertiesTable *myMPT1 = new G4MaterialPropertiesTable(); - myMPT1->AddProperty("RINDEX", PPCKOV, RINDEX1, NUMENTRIES); - myMPT1->AddProperty("ABSLENGTH",PPCKOV, ABSORPTION1, NUMENTRIES); - myMPT1->AddProperty("FASTCOMPONENT",PPCKOV, SCINTILLATION_FAST, NUMENTRIES); - myMPT1->AddProperty("SLOWCOMPONENT",PPCKOV, SCINTILLATION_SLOW, NUMENTRIES); + G4MaterialPropertiesTable* myMPT1 = new G4MaterialPropertiesTable(); + myMPT1->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex1,nEntries); + myMPT1->AddProperty("ABSLENGTH", PhotonEnergy, Absorption1, nEntries); + myMPT1->AddProperty("FASTCOMPONENT",PhotonEnergy, ScintilFast, nEntries); + myMPT1->AddProperty("SLOWCOMPONENT",PhotonEnergy, ScintilSlow, nEntries); + myMPT1->AddConstProperty("SCINTILLATIONYIELD",50./MeV); myMPT1->AddConstProperty("RESOLUTIONSCALE",1.0); myMPT1->AddConstProperty("FASTTIMECONSTANT", 1.*ns); myMPT1->AddConstProperty("SLOWTIMECONSTANT",10.*ns); myMPT1->AddConstProperty("YIELDRATIO",0.8); + Water->SetMaterialPropertiesTable(myMPT1); - G4MaterialPropertiesTable *myMPT2 = new G4MaterialPropertiesTable(); - myMPT2->AddProperty("RINDEX", PPCKOV, RINDEX2, NUMENTRIES); +// +// Air +// + G4double RefractiveIndex2[nEntries] = + { 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, + 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, + 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, + 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, + 1.00, 1.00, 1.00, 1.00 }; + + G4MaterialPropertiesTable* myMPT2 = new G4MaterialPropertiesTable(); + myMPT2->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex2, nEntries); + Air->SetMaterialPropertiesTable(myMPT2); +// // ------------- Volumes -------------- -// The experimental Hall -// --------------------- +// The experimental Hall +// + G4Box* expHall_box = new G4Box("World",expHall_x,expHall_y,expHall_z); - G4Box * expHall_box - = new G4Box("World",expHall_x,expHall_y,expHall_z); - - G4LogicalVolume * expHall_log + G4LogicalVolume* expHall_log = new G4LogicalVolume(expHall_box,Air,"World",0,0,0); - G4VPhysicalVolume * expHall_phys - = new G4PVPlacement(0,G4ThreeVector(),"World",expHall_log,0,false,0); + G4VPhysicalVolume* expHall_phys + = new G4PVPlacement(0,G4ThreeVector(),expHall_log,"World",0,false,0); -// The Water Tank -// -------------- +// The Water Tank +// + G4Box* waterTank_box = new G4Box("Tank",tank_x,tank_y,tank_z); - G4Box * waterTank_box - = new G4Box("Tank",tank_x,tank_y,tank_z); - - G4LogicalVolume * waterTank_log + G4LogicalVolume* waterTank_log = new G4LogicalVolume(waterTank_box,Water,"Tank",0,0,0); - G4RotationMatrix *rot1=new G4RotationMatrix(); - rot1->rotateZ(M_PI*0.125); + G4VPhysicalVolume* waterTank_phys + = new G4PVPlacement(0,G4ThreeVector(),waterTank_log,"Tank", + expHall_log,false,0); -// G4VPhysicalVolume * waterTank_phys -// = new G4PVPlacement(rot1,G4ThreeVector(),"Tank", -// waterTank_log,expHall_phys,false,0); +// The Air Bubble +// + G4Box* bubbleAir_box = new G4Box("Bubble",bubble_x,bubble_y,bubble_z); - G4VPhysicalVolume * waterTank_phys - = new G4PVPlacement(0,G4ThreeVector(),"Tank", - waterTank_log,expHall_phys,false,0); - -// The Air Bubble -// -------------- - - G4Box * bubbleAir_box - = new G4Box("Bubble",bubble_x,bubble_y,bubble_z); - - G4LogicalVolume * bubbleAir_log + G4LogicalVolume* bubbleAir_log = new G4LogicalVolume(bubbleAir_box,Air,"Bubble",0,0,0); - G4RotationMatrix *rot2=new G4RotationMatrix(); - rot2->rotateZ(M_PI*0.25); - -// G4VPhysicalVolume * bubbleAir_phys -// = new G4PVPlacement(rot2,G4ThreeVector(0,2.5*m,0),"Bubble", -// bubbleAir_log,waterTank_phys,false,0); - -// G4VPhysicalVolume * bubbleAir_phys = - new G4PVPlacement(0,G4ThreeVector(0,2.5*m,0),"Bubble", - bubbleAir_log,waterTank_phys,false,0); +//G4VPhysicalVolume* bubbleAir_phys = + new G4PVPlacement(0,G4ThreeVector(0,2.5*m,0),bubbleAir_log,"Bubble", + waterTank_log,false,0); // ------------- Surfaces -------------- - - G4OpticalSurface * OpWaterSurface = - new G4OpticalSurface("WaterSurface"); - - G4LogicalBorderSurface * WaterSurface = - new G4LogicalBorderSurface("WaterSurface", - waterTank_phys,expHall_phys, - OpWaterSurface); - - OpWaterSurface->SetType(dielectric_metal); +// +// Water Tank +// + G4OpticalSurface* OpWaterSurface = new G4OpticalSurface("WaterSurface"); + OpWaterSurface->SetType(dielectric_dielectric); OpWaterSurface->SetFinish(polished); OpWaterSurface->SetModel(glisur); - if( WaterSurface->GetVolume1() == waterTank_phys ) G4cout << " Equal " << G4endl; - if( WaterSurface->GetVolume2() == expHall_phys ) G4cout << " Equal " << G4endl; + G4LogicalBorderSurface* WaterSurface = + new G4LogicalBorderSurface("WaterSurface", + waterTank_phys,expHall_phys,OpWaterSurface); - G4OpticalSurface * OpAirSurface = - new G4OpticalSurface("AirSurface"); - - G4LogicalSkinSurface * AirSurface = - new G4LogicalSkinSurface("AirSurface", - bubbleAir_log, - OpAirSurface); + if(WaterSurface->GetVolume1() == waterTank_phys) G4cout << "Equal" << G4endl; + if(WaterSurface->GetVolume2() == expHall_phys ) G4cout << "Equal" << G4endl; +// Air Bubble +// + G4OpticalSurface* OpAirSurface = new G4OpticalSurface("AirSurface"); OpAirSurface->SetType(dielectric_dielectric); OpAirSurface->SetFinish(ground); OpAirSurface->SetModel(unified); - if( AirSurface->GetLogicalVolume() == bubbleAir_log ) G4cout << " Equal " << G4endl; + G4LogicalSkinSurface* AirSurface = + new G4LogicalSkinSurface("AirSurface", bubbleAir_log, OpAirSurface); + +if(AirSurface->GetLogicalVolume() == bubbleAir_log) G4cout << "Equal" << G4endl; + AirSurface->GetSurface(bubbleAir_log)->GetOpticalSurface()->DumpInfo(); -// G4LogicalBorderSurface * Tmp1Surface = WaterSurface-> -// GetSurface(waterTank_phys,expHall_phys); // -// if (Tmp1Surface == *WaterSurface) G4cout << " Equal " << G4endl; +// Generate & Add Material Properties Table attached to the optical surfaces +// + const G4int num = 2; + G4double Ephoton[num] = {2.038*eV, 4.144*eV}; - G4LogicalSkinSurface * Tmp2Surface = AirSurface->GetSurface(bubbleAir_log); + //OpticalWaterSurface + G4double RefractiveIndex[num] = {1.35, 1.40}; + G4double SpecularLobe[num] = {0.3, 0.3}; + G4double SpecularSpike[num] = {0.2, 0.2}; + G4double Backscatter[num] = {0.2, 0.2}; -// if (Tmp2Surface == *AirSurface ) G4cout << " Equal " << G4endl; - - G4OpticalSurface * TmpOpSurface = Tmp2Surface->GetOpticalSurface(); - TmpOpSurface->DumpInfo(); - -///////////////////////////////////////////// -// Generate & Add Material Properties Table -///////////////////////////////////////////// - - const G4int NUM = 2; - - G4double PP[NUM] = - { 2.038E-9*GeV, 4.144E-9*GeV }; - - G4double RINDEX[NUM] = - { 1.35, 1.40 }; - G4double SPECULARLOBECONSTANT[NUM] = - { 0.3, 0.3 }; - G4double SPECULARSPIKECONSTANT[NUM] = - { 0.2, 0.2 }; - G4double BACKSCATTERCONSTANT[NUM] = - { 0.2, 0.2 }; - - G4MaterialPropertiesTable *myST1 = new G4MaterialPropertiesTable(); - - myST1->AddProperty("RINDEX", PP, RINDEX, NUM); - myST1-> - AddProperty("SPECULARLOBECONSTANT", PP, SPECULARLOBECONSTANT, NUM); - myST1-> - AddProperty("SPECULARSPIKECONSTANT", PP, SPECULARSPIKECONSTANT, NUM); - myST1-> - AddProperty("BACKSCATTERCONSTANT", PP, BACKSCATTERCONSTANT, NUM); + G4MaterialPropertiesTable* myST1 = new G4MaterialPropertiesTable(); + + myST1->AddProperty("RINDEX", Ephoton, RefractiveIndex, num); + myST1->AddProperty("SPECULARLOBECONSTANT", Ephoton, SpecularLobe, num); + myST1->AddProperty("SPECULARSPIKECONSTANT", Ephoton, SpecularSpike, num); + myST1->AddProperty("BACKSCATTERCONSTANT", Ephoton, Backscatter, num); OpWaterSurface->SetMaterialPropertiesTable(myST1); - G4double REFLECTIVITY[NUM] = - { 0.3, 0.5 }; - G4double EFFICIENCY[NUM] = - { 0.8, 1.0 }; + //OpticalAirSurface + G4double Reflectivity[num] = {0.3, 0.5}; + G4double Efficiency[num] = {0.8, 1.0}; G4MaterialPropertiesTable *myST2 = new G4MaterialPropertiesTable(); - myST2->AddProperty("REFLECTIVITY", PP, REFLECTIVITY, NUM); - myST2->AddProperty("EFFICIENCY", PP, EFFICIENCY, NUM); + myST2->AddProperty("REFLECTIVITY", Ephoton, Reflectivity, num); + myST2->AddProperty("EFFICIENCY", Ephoton, Efficiency, num); OpAirSurface->SetMaterialPropertiesTable(myST2); +//always return the physical World return expHall_phys; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06EventAction.cc b/examples/novice/N06/src/ExN06EventAction.cc new file mode 100644 index 0000000000..fe18af99ed --- /dev/null +++ b/examples/novice/N06/src/ExN06EventAction.cc @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * 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: ExN06EventAction.cc,v 1.1 2003/01/23 15:34:31 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN06EventAction.hh" + +#include "G4Event.hh" +#include "G4EventManager.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06EventAction::ExN06EventAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06EventAction::~ExN06EventAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06EventAction::BeginOfEventAction(const G4Event*) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06EventAction::EndOfEventAction(const G4Event* evt) +{ + // get number of stored trajectories + // + G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); + G4int n_trajectories = 0; + if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); + + // extract the trajectories and draw them + // + if (G4VVisManager::GetConcreteInstance()) + { + for (G4int i=0; iGetTrajectoryContainer()))[i]); + trj->DrawTrajectory(50); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06PhysicsList.cc b/examples/novice/N06/src/ExN06PhysicsList.cc index a207c9b50b..a047f8be34 100644 --- a/examples/novice/N06/src/ExN06PhysicsList.cc +++ b/examples/novice/N06/src/ExN06PhysicsList.cc @@ -21,12 +21,18 @@ // ******************************************************************** // // +// $Id: ExN06PhysicsList.cc,v 1.8 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4ios.hh" #include "g4std/iomanip" #include "globals.hh" #include "ExN06PhysicsList.hh" +#include "ExN06PhysicsListMessenger.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" @@ -39,9 +45,31 @@ #include "G4ProcessManager.hh" #include "G4ProcessVector.hh" -ExN06PhysicsList::ExN06PhysicsList() : G4VUserPhysicsList() {} +#include "G4Cerenkov.hh" +#include "G4Scintillation.hh" +#include "G4OpAbsorption.hh" +#include "G4OpRayleigh.hh" +#include "G4OpBoundaryProcess.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -ExN06PhysicsList::~ExN06PhysicsList() {} +ExN06PhysicsList::ExN06PhysicsList() : G4VUserPhysicsList() +{ + theCerenkovProcess = 0; + theScintillationProcess = 0; + theAbsorptionProcess = 0; + theRayleighScatteringProcess = 0; + theBoundaryProcess = 0; + + pMessenger = new ExN06PhysicsListMessenger(this); + SetVerboseLevel(0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06PhysicsList::~ExN06PhysicsList() { delete pMessenger;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ExN06PhysicsList::ConstructParticle() { @@ -54,9 +82,10 @@ void ExN06PhysicsList::ConstructParticle() ConstructLeptons(); ConstructMesons(); ConstructBaryons(); - } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructBosons() { // pseudo-particles @@ -70,6 +99,8 @@ void ExN06PhysicsList::ConstructBosons() G4OpticalPhoton::OpticalPhotonDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructLeptons() { // leptons @@ -83,6 +114,8 @@ void ExN06PhysicsList::ConstructLeptons() G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructMesons() { // mesons @@ -91,6 +124,8 @@ void ExN06PhysicsList::ConstructMesons() G4PionZero::PionZeroDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructBaryons() { // barions @@ -100,6 +135,8 @@ void ExN06PhysicsList::ConstructBaryons() G4AntiNeutron::AntiNeutronDefinition(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructProcess() { AddTransportation(); @@ -108,8 +145,12 @@ void ExN06PhysicsList::ConstructProcess() ConstructOp(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #include "G4Decay.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructGeneral() { G4Decay* theDecayProcess = new G4Decay(); @@ -123,6 +164,8 @@ void ExN06PhysicsList::ConstructGeneral() } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" @@ -139,6 +182,8 @@ void ExN06PhysicsList::ConstructGeneral() #include "G4hIonisation.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::ConstructEM() { theParticleIterator->reset(); @@ -157,70 +202,60 @@ void ExN06PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); + pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); } else if (particleName == "e+") { //positron // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4); + pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); + pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); + pmanager->AddProcess(new G4eplusAnnihilation(), 0,-1, 4); } else if( particleName == "mu+" || particleName == "mu-" ) { //muon // Construct processes for muon - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4MuIonisation(),-1,2,2); - pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); + pmanager->AddProcess(new G4MultipleScattering(),-1, 1, 1); + pmanager->AddProcess(new G4MuIonisation(), -1, 2, 2); + pmanager->AddProcess(new G4MuBremsstrahlung(), -1,-1, 3); + pmanager->AddProcess(new G4MuPairProduction(), -1,-1, 4); } else { if ((particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(),-1,2,2); + pmanager->AddProcess(new G4hIonisation(), -1,2,2); } } } } -#include "G4Cerenkov.hh" -#include "G4Scintillation.hh" -#include "G4OpAbsorption.hh" -#include "G4OpRayleigh.hh" -#include "G4OpBoundaryProcess.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void ExN06PhysicsList::ConstructOp() { - G4Cerenkov* theCerenkovProcess = new G4Cerenkov("Cerenkov"); - G4Scintillation* theScintillationProcess = new G4Scintillation("Scintilltion"); - G4OpAbsorption* theAbsorptionProcess = new G4OpAbsorption(); - G4OpRayleigh* theRayleighScatteringProcess = new G4OpRayleigh(); - G4OpBoundaryProcess* theBoundaryProcess = new G4OpBoundaryProcess(); + theCerenkovProcess = new G4Cerenkov("Cerenkov"); + theScintillationProcess = new G4Scintillation("Scintillation"); + theAbsorptionProcess = new G4OpAbsorption(); + theRayleighScatteringProcess = new G4OpRayleigh(); + theBoundaryProcess = new G4OpBoundaryProcess(); // theCerenkovProcess->DumpPhysicsTable(); // theScintillationProcess->DumpPhysicsTable(); // theAbsorptionProcess->DumpPhysicsTable(); // theRayleighScatteringProcess->DumpPhysicsTable(); - theCerenkovProcess->SetVerboseLevel(1); - theScintillationProcess->SetVerboseLevel(1); - theAbsorptionProcess->SetVerboseLevel(1); - theRayleighScatteringProcess->SetVerboseLevel(1); - theBoundaryProcess->SetVerboseLevel(1); - - G4int MaxNumPhotons = 300; - + SetVerbose(1); + + theCerenkovProcess->SetMaxNumPhotonsPerStep(300); theCerenkovProcess->SetTrackSecondariesFirst(true); - theCerenkovProcess->SetMaxNumPhotonsPerStep(MaxNumPhotons); - - theScintillationProcess->SetTrackSecondariesFirst(true); + theScintillationProcess->SetScintillationYieldFactor(1.); + theScintillationProcess->SetTrackSecondariesFirst(true); G4OpticalSurfaceModel themodel = unified; theBoundaryProcess->SetModel(themodel); @@ -245,15 +280,35 @@ void ExN06PhysicsList::ConstructOp() pmanager->AddDiscreteProcess(theBoundaryProcess); } } -// set ordering for AtRestDoIt } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06PhysicsList::SetVerbose(G4int verbose) +{ + theCerenkovProcess->SetVerboseLevel(verbose); + theScintillationProcess->SetVerboseLevel(verbose); + theAbsorptionProcess->SetVerboseLevel(verbose); + theRayleighScatteringProcess->SetVerboseLevel(verbose); + theBoundaryProcess->SetVerboseLevel(verbose); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06PhysicsList::SetNbOfPhotonsCerenkov(G4int MaxNumber) +{ + theCerenkovProcess->SetMaxNumPhotonsPerStep(MaxNumber); +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PhysicsList::SetCuts() { - if (verboseLevel >1){ - G4cout << "ExN06PhysicsList::SetCuts:"; - } // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - SetCutsWithDefault(); + // the default cut value for all particle types + // + SetCutsWithDefault(); + + if (verboseLevel>0) DumpCutValuesTable(); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06PhysicsListMessenger.cc b/examples/novice/N06/src/ExN06PhysicsListMessenger.cc new file mode 100644 index 0000000000..5966858026 --- /dev/null +++ b/examples/novice/N06/src/ExN06PhysicsListMessenger.cc @@ -0,0 +1,85 @@ +// +// ******************************************************************** +// * 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: ExN06PhysicsListMessenger.cc,v 1.1 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN06PhysicsListMessenger.hh" + +#include "ExN06PhysicsList.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAnInteger.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06PhysicsListMessenger::ExN06PhysicsListMessenger(ExN06PhysicsList* pPhys) +:pPhysicsList(pPhys) +{ + N06Dir = new G4UIdirectory("/N06/"); + N06Dir->SetGuidance("UI commands of this example"); + + physDir = new G4UIdirectory("/N06/phys/"); + physDir->SetGuidance("PhysicsList control"); + + verboseCmd = new G4UIcmdWithAnInteger("/N06/phys/verbose",this); + verboseCmd->SetGuidance("set verbose for physics processes"); + verboseCmd->SetParameterName("verbose",true); + verboseCmd->SetDefaultValue(1); + verboseCmd->SetRange("verbose>=0"); + verboseCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + cerenkovCmd = new G4UIcmdWithAnInteger("/N06/phys/cerenkovMaxPhotons",this); + cerenkovCmd->SetGuidance("set max nb of photons per step"); + cerenkovCmd->SetParameterName("MaxNumber",false); + cerenkovCmd->SetRange("MaxNumber>=0"); + cerenkovCmd->AvailableForStates(G4State_PreInit,G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06PhysicsListMessenger::~ExN06PhysicsListMessenger() +{ + delete verboseCmd; + delete cerenkovCmd; + delete physDir; + delete N06Dir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06PhysicsListMessenger::SetNewValue(G4UIcommand* command, + G4String newValue) +{ + if( command == verboseCmd ) + { pPhysicsList->SetVerbose(verboseCmd->GetNewIntValue(newValue));} + + if( command == cerenkovCmd ) + {pPhysicsList->SetNbOfPhotonsCerenkov(cerenkovCmd->GetNewIntValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc b/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc new file mode 100644 index 0000000000..aa7fc9b9af --- /dev/null +++ b/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * 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: ExN06PrimaryGeneratorMessenger.cc,v 1.1 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN06PrimaryGeneratorMessenger.hh" + +#include "ExN06PrimaryGeneratorAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06PrimaryGeneratorMessenger::ExN06PrimaryGeneratorMessenger( + ExN06PrimaryGeneratorAction* ExN06Gun) +:ExN06Action(ExN06Gun) +{ + gunDir = new G4UIdirectory("/N06/gun/"); + gunDir->SetGuidance("PrimaryGenerator control"); + + polarCmd = new G4UIcmdWithADoubleAndUnit("/N06/gun/optPhotonPolar",this); + polarCmd->SetGuidance("Set linear polarization"); + polarCmd->SetGuidance(" angle w.r.t. (k,n) plane"); + polarCmd->SetParameterName("angle",true); + polarCmd->SetUnitCategory("Angle"); + polarCmd->SetDefaultValue(0.); + polarCmd->AvailableForStates(G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06PrimaryGeneratorMessenger::~ExN06PrimaryGeneratorMessenger() +{ + delete polarCmd; + delete gunDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06PrimaryGeneratorMessenger::SetNewValue( + G4UIcommand* command, G4String newValue) +{ + if( command == polarCmd ) + { ExN06Action->SetOptPhotonPolar(polarCmd->GetNewDoubleValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc b/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc index b36524a39d..b3604f76a6 100644 --- a/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc +++ b/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc @@ -21,45 +21,79 @@ // ******************************************************************** // // +// $Id: ExN06PrimaryGeneratorAction.cc,v 1.2 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "ExN06PrimaryGeneratorAction.hh" +#include "ExN06PrimaryGeneratorMessenger.hh" -#include "globals.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + ExN06PrimaryGeneratorAction::ExN06PrimaryGeneratorAction() { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); + + //create a messenger for this class + gunMessenger = new ExN06PrimaryGeneratorMessenger(this); + + //default kinematic + // + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4ParticleDefinition* particle = particleTable->FindParticle("e-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleTime(0.0*ns); + particleGun->SetParticlePosition(G4ThreeVector(0.0*cm,0.0*cm,0.0*cm)); + particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + particleGun->SetParticleEnergy(500.0*keV); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + ExN06PrimaryGeneratorAction::~ExN06PrimaryGeneratorAction() { delete particleGun; + delete gunMessenger; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); - G4String particleName; - G4ParticleDefinition* particle - = particleTable->FindParticle(particleName="e+"); - - particleGun->SetParticleDefinition(particle); - particleGun->SetParticleTime(0.0*ns); - - G4ThreeVector position(0.0*cm,0.0*cm,0.0*cm); - particleGun->SetParticlePosition(position); - - G4ThreeVector direction(1.0,0.0,0.0); - particleGun->SetParticleMomentumDirection(direction.unit()); - - G4double energy = 10.0*MeV; - particleGun->SetParticleEnergy(energy); - particleGun->GeneratePrimaryVertex(anEvent); } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06PrimaryGeneratorAction::SetOptPhotonPolar(G4double angle) +{ + if (particleGun->GetParticleDefinition()->GetParticleName() != "opticalphoton") + { + G4cout << "--> warning from PrimaryGeneratorAction::SetOptPhotonPolar() :" + "the particleGun is not an opticalphoton" << G4endl; + return; + } + + G4ThreeVector normal (1., 0., 0.); + G4ThreeVector kphoton = particleGun->GetParticleMomentumDirection(); + G4ThreeVector product = normal.cross(kphoton); + G4double modul2 = product*product; + + G4ThreeVector e_perpend (0., 0., 1.); + if (modul2 > 0.) e_perpend = (1./sqrt(modul2))*product; + G4ThreeVector e_paralle = e_perpend.cross(kphoton); + + G4ThreeVector polar = cos(angle)*e_paralle + sin(angle)*e_perpend; + particleGun->SetParticlePolarization(polar); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06RunAction.cc b/examples/novice/N06/src/ExN06RunAction.cc index 1c58c8d1a2..607f7e132d 100644 --- a/examples/novice/N06/src/ExN06RunAction.cc +++ b/examples/novice/N06/src/ExN06RunAction.cc @@ -21,6 +21,11 @@ // ******************************************************************** // // +// $Id: ExN06RunAction.cc,v 1.8 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Make this appear first! #include "G4Timer.hh" @@ -30,30 +35,47 @@ #include "G4ios.hh" #include "G4Run.hh" #include "G4UImanager.hh" +#include "G4VVisManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ExN06RunAction::ExN06RunAction() { timer = new G4Timer; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + ExN06RunAction::~ExN06RunAction() { delete timer; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06RunAction::BeginOfRunAction(const G4Run* aRun) { - G4UImanager* UI = G4UImanager::GetUIpointer(); - UI->ApplyCommand("/event/verbose 1"); - //UI->ApplyCommand("/tracking/verbose 1"); - - G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; timer->Start(); + + if (G4VVisManager::GetConcreteInstance()) + { + G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers"); + } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06RunAction::EndOfRunAction(const G4Run* aRun) { + if (G4VVisManager::GetConcreteInstance()) + { + G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update"); + } + timer->Stop(); G4cout << "number of event = " << aRun->GetNumberOfEvent() - << " " << *timer << G4endl; + << " " << *timer << G4endl; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06StackingAction.cc b/examples/novice/N06/src/ExN06StackingAction.cc index 955378936c..71ae22d6ca 100644 --- a/examples/novice/N06/src/ExN06StackingAction.cc +++ b/examples/novice/N06/src/ExN06StackingAction.cc @@ -19,38 +19,57 @@ // * based on the Program) you indicate your acceptance of this * // * statement, and all its terms. * // ******************************************************************** +// +// $Id: ExN06StackingAction.cc,v 1.4 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #include "ExN06StackingAction.hh" -#include "G4ios.hh" + #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" #include "G4Track.hh" +#include "G4ios.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ExN06StackingAction::ExN06StackingAction() : gammaCounter(0) -{;} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... ExN06StackingAction::~ExN06StackingAction() -{;} +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4ClassificationOfNewTrack ExN06StackingAction::ClassifyNewTrack(const G4Track * aTrack) { - if(aTrack->GetDefinition()==G4OpticalPhoton::OpticalPhotonDefinition()) + if(aTrack->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition()) { // particle is optical photon if(aTrack->GetParentID()>0) { // particle is secondary gammaCounter++; } } - return fUrgent; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06StackingAction::NewStage() { G4cout << "Number of optical photons produces in this event : " << gammaCounter << G4endl; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + void ExN06StackingAction::PrepareNewEvent() { gammaCounter = 0; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06SteppingVerbose.cc b/examples/novice/N06/src/ExN06SteppingVerbose.cc new file mode 100644 index 0000000000..5ac5085b90 --- /dev/null +++ b/examples/novice/N06/src/ExN06SteppingVerbose.cc @@ -0,0 +1,179 @@ +// +// ******************************************************************** +// * 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: ExN06SteppingVerbose.cc,v 1.2 2003/02/10 18:44:40 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN06SteppingVerbose.hh" + +#include "G4SteppingManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06SteppingVerbose::ExN06SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06SteppingVerbose::~ExN06SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06SteppingVerbose::StepInfo() +{ + CopyState(); + + G4int prec = G4cout.precision(3); + + if( verboseLevel >= 1 ){ + if( verboseLevel >= 4 ) VerboseTrack(); + if( verboseLevel >= 3 ){ + G4cout << G4endl; + G4cout << G4std::setw( 5) << "#Step#" << " " + << G4std::setw( 6) << "X" << " " + << G4std::setw( 6) << "Y" << " " + << G4std::setw( 6) << "Z" << " " + << G4std::setw( 9) << "KineE" << " " + << G4std::setw( 9) << "dEStep" << " " + << G4std::setw(10) << "StepLeng" + << G4std::setw(10) << "TrakLeng" + << G4std::setw(10) << "Volume" << " " + << G4std::setw(10) << "Process" << G4endl; + } + + G4cout << G4std::setw(5) << fTrack->GetCurrentStepNumber() << " " + << G4std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << G4std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << G4std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") + << G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + // if( fStepStatus != fWorldBoundary){ + if( fTrack->GetNextVolume() != 0 ) { + G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << G4std::setw(10) << "OutOfWorld"; + } + + if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0){ + G4cout << " " + << G4std::setw(10) + << fStep->GetPostStepPoint()->GetProcessDefinedStep() + ->GetProcessName(); + } else { + G4cout << " UserLimit"; + } + + G4cout << G4endl; + + if( verboseLevel == 2 ){ + G4int tN2ndariesTot = fN2ndariesAtRestDoIt + + fN2ndariesAlongStepDoIt + + fN2ndariesPostStepDoIt; + if(tN2ndariesTot>0){ + G4cout << " :----- List of 2ndaries - " + << "#SpawnInStep=" << G4std::setw(3) << tN2ndariesTot + << "(Rest=" << G4std::setw(2) << fN2ndariesAtRestDoIt + << ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt + << ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt + << "), " + << "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size() + << " ---------------" + << G4endl; + + for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; + lp1<(*fSecondary).size(); lp1++){ + G4cout << " : " + << G4std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") + << G4std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") + << G4std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") + << G4std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") + << G4std::setw(10) + << (*fSecondary)[lp1]->GetDefinition()->GetParticleName(); + G4cout << G4endl; + } + + G4cout << " :-----------------------------" + << "----------------------------------" + << "-- EndOf2ndaries Info ---------------" + << G4endl; + } + } + + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06SteppingVerbose::TrackingStarted() +{ + + CopyState(); +G4int prec = G4cout.precision(3); + if( verboseLevel > 0 ){ + + G4cout << G4std::setw( 5) << "Step#" << " " + << G4std::setw( 6) << "X" << " " + << G4std::setw( 6) << "Y" << " " + << G4std::setw( 6) << "Z" << " " + << G4std::setw( 9) << "KineE" << " " + << G4std::setw( 9) << "dEStep" << " " + << G4std::setw(10) << "StepLeng" + << G4std::setw(10) << "TrakLeng" + << G4std::setw(10) << "Volume" << " " + << G4std::setw(10) << "Process" << G4endl; + + G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " " + << G4std::setw( 6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << G4std::setw( 6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << G4std::setw( 6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << G4std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << G4std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << G4std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length") + << G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + if(fTrack->GetNextVolume()){ + G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << "OutOfWorld"; + } + G4cout << " initStep" << G4endl; + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06VisManager.cc b/examples/novice/N06/src/ExN06VisManager.cc new file mode 100755 index 0000000000..ed4db7fe42 --- /dev/null +++ b/examples/novice/N06/src/ExN06VisManager.cc @@ -0,0 +1,155 @@ +// +// ******************************************************************** +// * 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: ExN06VisManager.cc,v 1.1 2003/01/23 15:34:32 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// John Allison 24th January 1998. + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifdef G4VIS_USE + +#include "ExN06VisManager.hh" + +// Supported drivers... + +// Not needing external packages or libraries... +#include "G4ASCIITree.hh" +#include "G4DAWNFILE.hh" +#include "G4GAGTree.hh" +#include "G4HepRepFile.hh" +#include "G4HepRep.hh" +#include "G4RayTracer.hh" +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" + +// Needing external packages or libraries... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_OPACS +#include "G4Wo.hh" +#include "G4Xo.hh" +#endif + +#ifdef G4VIS_USE_OPENGLX +#include "G4OpenGLImmediateX.hh" +#include "G4OpenGLStoredX.hh" +#endif + +#ifdef G4VIS_USE_OPENGLWIN32 +#include "G4OpenGLImmediateWin32.hh" +#include "G4OpenGLStoredWin32.hh" +#endif + +#ifdef G4VIS_USE_OPENGLXM +#include "G4OpenGLImmediateXm.hh" +#include "G4OpenGLStoredXm.hh" +#endif + +#ifdef G4VIS_USE_OIX +#include "G4OpenInventorX.hh" +#endif + +#ifdef G4VIS_USE_OIWIN32 +#include "G4OpenInventorWin32.hh" +#endif + +#ifdef G4VIS_USE_VRML +#include "G4VRML1.hh" +#include "G4VRML2.hh" +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN06VisManager::ExN06VisManager () {} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN06VisManager::RegisterGraphicsSystems () { + + // Graphics Systems not needing external packages or libraries... + RegisterGraphicsSystem (new G4ASCIITree); + RegisterGraphicsSystem (new G4DAWNFILE); + RegisterGraphicsSystem (new G4GAGTree); + RegisterGraphicsSystem (new G4HepRepFile); + RegisterGraphicsSystem (new G4HepRep); + RegisterGraphicsSystem (new G4RayTracer); + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); + + // Graphics systems needing external packages or libraries... + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_OPACS + RegisterGraphicsSystem (new G4Wo); + RegisterGraphicsSystem (new G4Xo); +#endif + +#ifdef G4VIS_USE_OPENGLX + RegisterGraphicsSystem (new G4OpenGLImmediateX); + RegisterGraphicsSystem (new G4OpenGLStoredX); +#endif + +#ifdef G4VIS_USE_OPENGLWIN32 + RegisterGraphicsSystem (new G4OpenGLImmediateWin32); + RegisterGraphicsSystem (new G4OpenGLStoredWin32); +#endif + +#ifdef G4VIS_USE_OPENGLXM + RegisterGraphicsSystem (new G4OpenGLImmediateXm); + RegisterGraphicsSystem (new G4OpenGLStoredXm); +#endif + +#ifdef G4VIS_USE_OIX + RegisterGraphicsSystem (new G4OpenInventorX); +#endif + +#ifdef G4VIS_USE_OIWIN32 + RegisterGraphicsSystem (new G4OpenInventorWin32); +#endif + +#ifdef G4VIS_USE_VRML + RegisterGraphicsSystem (new G4VRML1); + RegisterGraphicsSystem (new G4VRML2); +#endif + + if (fVerbose > 0) { + G4cout << + "\nYou have successfully chosen to use the following graphics systems." + << G4endl; + PrintAvailableGraphicsSystems (); + } +} + +#endif + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/vis.mac b/examples/novice/N06/vis.mac new file mode 100644 index 0000000000..57d8a20458 --- /dev/null +++ b/examples/novice/N06/vis.mac @@ -0,0 +1,27 @@ +# +# Macro file for the initialization phase of "exampleN06.cc" +# when running in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/run/verbose 2 +# +# create empty scene +# +/vis/scene/create +# +# Create a scene handler for a specific graphics system +# (Edit the next line(s) to choose another graphic system) +# +###/vis/open DAWNFILE +/vis/open OGLIX +# +/vis/viewer/zoom 1.5 +/vis/viewer/flush +# +# for drawing the tracks +# (if too many tracks cause core dump => storeTrajectory 0) +# +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate diff --git a/examples/novice/N07/GNUmakefile b/examples/novice/N07/GNUmakefile new file mode 100644 index 0000000000..e326dc0823 --- /dev/null +++ b/examples/novice/N07/GNUmakefile @@ -0,0 +1,22 @@ +# $Id: GNUmakefile,v 1.1 2003/03/10 01:43:35 asaim Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := exampleN07 +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk + +visclean: + rm -f g4*.prim g4*.eps g4*.wrl + rm -f .DAWN_* + diff --git a/examples/novice/N07/History b/examples/novice/N07/History new file mode 100644 index 0000000000..30172a666c --- /dev/null +++ b/examples/novice/N07/History @@ -0,0 +1,26 @@ +$Id: History,v 1.3 2003/04/29 06:58:07 asaim Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Example N07 History file + ------------------------ +This file should be used by the G4 example coordinator to briefly +summarize all major modifications introduced in the code and keep +track of all tags. + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +April 29, 2003 M.Asai (exampleN07-V05-00-04) +- Added fileIO macro and a couple of other sample macro files. + +April 28, 2003 G.Cosmo (exampleN07-V05-00-03) +- Added large_N macro. Reduced number of events in the standard macro. + +April 25, 2003 G.Cosmo (exampleN07-V05-00-02) +- Fixed exampleN07.cc to protect against use of TCSH. +- Created. diff --git a/examples/novice/N07/README b/examples/novice/N07/README new file mode 100644 index 0000000000..731c3867f0 --- /dev/null +++ b/examples/novice/N07/README @@ -0,0 +1,182 @@ +$Id: README,v 1.2 2003/04/09 23:20:58 asaim Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + ExampleN07 + ---------- + + + This example simulates three simplified sandwitch calorimeters. + The main features demonstrated in this example are : + + 1. Utilizing a concrete run class derived from G4Run base class for + accumulating physics quantities and hits as a run + 2. Changing calorimeter geometries without re-building a world volume + 3. Changing materials used in parameterized volumes + 4. Instantiating more than one sensitive detectors with different + module names from one concrete sensitive detector class + 5. Defining geometrical regions ans setting production thresholds + for each region + + 1- Utilizing a concrete run class derived from G4Run base class for + accumulating physics quantities and hits as a run + + G4Run is a class the user can inherit and create his/her own concrete + class for accumulating information useful to him/her. It has a virtual + method RecordEvent(const G4Event*), which will be invoked by G4RunManager + at the end of processing each event. By implemeting this method in the + user'r concrete run class, he/she can store information associating with + G4Event class itself and hits collections attached with G4Event. In this + example, ExN07Run is the class derived from G4Run. In the method + ExN07Run::RecordEvent(const G4Event*), in addition to counting the + number of events, all hits collections are accessed to accumulate + energy depositions, step lengths and number of steps. + + In case the user create his/her own run class, an object of this class + must be instantiated in the method GenerateRun() of his/her concrete + class derived from G4UserRunAction base class. The pointer to this run + object must be returned by this method. In this example, ExN07RunAction + is the class which instantiating ExN07Run class object. In + ExN07RunAction::EndOfRunAction(const G4Run*) method, ExN07Run object + is analized to output the run summary. + + It should be noted that some information about generated secondaries + are collected in ExN07StackinAction instead of sensitive detector class. + ExN07StackingAction::ClassifyNewTrack(const G4Track*) method is used + not for classifying tracks sent to the stack, but for accessing to all + secondaries generated in an event. + + 2- Changing calorimeter geometries without re-building a world volume + + In ExN07DetectorConstruction, all solids, logical and physical volumes + are constructed only once at the first invocation of Constuct() method. + Positions and number of slices are changed not by re-constructing another + objects but by modifying data members of already existing objects as + it is implemented in ExN07DetectorConstruction::SetNumberOfLayers(G4int) + for changing the number of parameterized volumes, and also + ExN07DetectorConstruction::SetSerialGeometry(G4bool) for changing the + position of placed volumes. + + 3- Changing materials used in parameterized volumes + + Materials of absorber and sensitive gap in calorimeters are defined by + ExN07GapParameterisation::ComputeMaterial(const G4int,G4VPhysicalVolume*), + as well as positions of each layer to be defined by + ExN07GapParameterisation::ComputeTransformation(const G4int, + G4VPhysicalVolume*). + + 4- Instantiating more than one sensitive detectors with different + module names from one concrete sensitive detector class + + ExN07CalorimeterSD is constructed three times with deferent module names + in ExN07DetectorConstruction::Construct(). In addition, each detector + create two hits collections of ExN07CalorHit. Thus, in total, six hits + collections of same type are created for each event. To access to each + of these collections in ExN07EventAction, both module name and collection + name are combinedly used. + + 5- Defining geometrical regions ans setting production thresholds + for each region + + Setting production thresholds (so-called production cuts) to individual + region of a detector geometry is the new feature provided by Geant4 5.1 + release. This feature is also called as "Cuts per region". + + Please note that this new feature is supporsed to be used only by the + users, + a) who is simulating most complex geometry such as an LHC detector, + b) and who has enough experience of simulating EM showers in matter. + We strongly recommend to compare the simulated results of this new + feature with the results of the same geometry but having uniform + production thresholds. Setting completely different cut values for + individual region may break the coherent and comprehensive accuracy + of the simulation. Thus such cut values should be carefully optimized + by the user with comparison with results of uniform cuts. + + In ExN07DetectorConstruction::Construct(), Three objects of G4Region + class are instantiated and set to the logical volumes of each of three + calorimeter modules. Also, these individual logical volumes are + registered as "root logical volume" so that all daghter volumes in + these logical volumes are also affected by the corresponding regions. + + In ExN07PhysicsList::SetCuts(), in addition to set the default threshold + values for the world volume, three threshold values are set to three + calorimeter regions respectively. By setting production thresholds to + a region, gamma, electron or positron will not be generated as a + secondary if its range is shorter than the production threshold of that + particular region. Please note that some EM processes still generate + such secondary below threshold. + + 6- Macro files + + exampleN07.in + To be used for batch mode. The reference output file is made by this + macro file. + + sample.mac + To be used for interactive mode. Issue "/control/execute sample.mac" + when "Idle>" prompt appears. + + vis.mac + Setting visualization parameters. This macro file will be called + automatically when interactive execution starts. + + 7- UI commands defined in this example + +Command /N07/setAbsMat +Guidance : +Select Material of the Absorber. + +Parameter : choice + Parameter type : s + Omittable : False + Candidates : Aluminium liquidArgon Lead Water Scintillator Air Galactic + + + +Command /N07/setGapMat +Guidance : +Select Material of the Gap. + +Parameter : choice + Parameter type : s + Omittable : False + Candidates : Aluminium liquidArgon Lead Water Scintillator Air Galactic + + + +Command /N07/numberOfLayers +Guidance : +Set number of layers. + Range of parameters : nl>0 + +Parameter : nl + Parameter type : i + Omittable : False + + + +Command /N07/serialGeometry +Guidance : +Select calorimeters to be placed in serial or parallel. + +Parameter : serialize + Parameter type : b + Omittable : False + + + +Command /N07/verbose +Guidance : +Set verbosity of each event. + Range of parameters : vl>=0 && vl<10 + +Parameter : vl + Parameter type : i + Omittable : True + Default value : taken from the current value + + diff --git a/examples/novice/N07/exampleN07.cc b/examples/novice/N07/exampleN07.cc new file mode 100644 index 0000000000..63a4688f90 --- /dev/null +++ b/examples/novice/N07/exampleN07.cc @@ -0,0 +1,109 @@ +// +// ******************************************************************** +// * 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: exampleN07.cc,v 1.3 2003/04/25 17:03:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 - exampleN07 +// +// -------------------------------------------------------------- +// Comments +// +// -------------------------------------------------------------- + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" +#include "G4UItcsh.hh" + +#ifdef G4VIS_USE +#include "ExN07VisManager.hh" +#endif +#include "ExN07DetectorConstruction.hh" +#include "ExN07PhysicsList.hh" +#include "ExN07PrimaryGeneratorAction.hh" +#include "ExN07RunAction.hh" +#include "ExN07EventAction.hh" +#include "ExN07StackingAction.hh" + +int main(int argc,char** argv) { + + // Construct the default run manager + G4RunManager * runManager = new G4RunManager; + + // set mandatory initialization classes + runManager->SetUserInitialization(new ExN07DetectorConstruction); + runManager->SetUserInitialization(new ExN07PhysicsList); + +#ifdef G4VIS_USE + // visualization manager + G4VisManager* visManager = new ExN07VisManager; + visManager->Initialize(); +#endif + + // set user action classes + runManager->SetUserAction(new ExN07PrimaryGeneratorAction); + runManager->SetUserAction(new ExN07RunAction); + runManager->SetUserAction(new ExN07EventAction); + runManager->SetUserAction(new ExN07StackingAction); + + //Initialize G4 kernel + runManager->Initialize(); + + // get the pointer to the User Interface manager + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (argc==1) // Define UI session for interactive mode. + { + G4UIsession* session=0; + + // G4UIterminal is a (dumb) terminal. +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + + UI->ApplyCommand("/control/execute vis.mac"); + session->SessionStart(); + + delete session; + } + else // Batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + // job termination +#ifdef G4VIS_USE + delete visManager; +#endif + delete runManager; + + return 0; +} + diff --git a/examples/novice/N07/exampleN07.fileIO.in b/examples/novice/N07/exampleN07.fileIO.in new file mode 100644 index 0000000000..bf7baec067 --- /dev/null +++ b/examples/novice/N07/exampleN07.fileIO.in @@ -0,0 +1,57 @@ +/control/verbose 2 +/run/particle/verbose 1 +# +# +# +/run/setCutForRegion Calor-A 0.1 mm +/run/setCutForRegion Calor-B 1 mm +/run/setCutForRegion Calor-C 1 cm +/run/beamOn 10 +/run/dumpRegion +/run/dumpCouples +# store physice table +# set store format : 0 binary 1 ascii +/run/particle/setStoredInAscii 0 +/control/shell mkdir -p physTableBinary +/run/particle/storePhysicsTable physTableBinary +# +# +# +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/beamOn 10 +/run/dumpRegion +/run/dumpCouples +# store physice table +# set store format : 0 binary 1 ascii +/run/particle/setStoredInAscii 1 +/control/shell mkdir -p physTableAscii +/run/particle/storePhysicsTable physTableAscii +# +# +# +/run/setCutForRegion Calor-A 0.1 mm +/run/setCutForRegion Calor-B 1 mm +/run/setCutForRegion Calor-C 1 cm +/run/particle/setStoredInAscii 0 +/run/particle/retrievePhysicsTable physTableBinary +/run/beamOn 10 +/run/dumpRegion +/run/dumpCouples +# +# +# +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/particle/setStoredInAscii 1 +/run/particle/retrievePhysicsTable physTableAscii +/run/beamOn 10 +/run/dumpRegion +/run/dumpCouples +# +# +# +/control/shell rm -rf physTableBinary physTableAscii +# diff --git a/examples/novice/N07/exampleN07.in b/examples/novice/N07/exampleN07.in new file mode 100644 index 0000000000..9d8c303497 --- /dev/null +++ b/examples/novice/N07/exampleN07.in @@ -0,0 +1,32 @@ +/control/verbose 2 +/run/verbose 1 +/run/dumpRegion +/run/beamOn 10 +/run/dumpCouples +## +## +## +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/dumpRegion +/run/beamOn 10 +/run/dumpCouples +## +## +## +/N07/setAbsMat Aluminium +/N07/setGapMat Water +/run/dumpRegion +/run/beamOn 10 +/run/dumpCouples +## +## +## +/run/setCutForRegion Calor-A 0.01 mm +/run/setCutForRegion Calor-B 0.1 mm +/run/setCutForRegion Calor-C 1 mm +/run/dumpRegion +/run/beamOn 10 +/run/dumpCouples + diff --git a/examples/novice/N07/exampleN07.large_N.in b/examples/novice/N07/exampleN07.large_N.in new file mode 100644 index 0000000000..325d9791b9 --- /dev/null +++ b/examples/novice/N07/exampleN07.large_N.in @@ -0,0 +1,31 @@ +/control/verbose 2 +/run/verbose 1 +/run/dumpRegion +/run/beamOn 1000 +/run/dumpCouples +## +## +## +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/dumpRegion +/run/beamOn 1000 +/run/dumpCouples +## +## +## +/N07/setAbsMat Aluminium +/N07/setGapMat Water +/run/dumpRegion +/run/beamOn 1000 +/run/dumpCouples +## +## +## +/run/setCutForRegion Calor-A 0.01 mm +/run/setCutForRegion Calor-B 0.1 mm +/run/setCutForRegion Calor-C 1 mm +/run/dumpRegion +/run/beamOn 1000 +/run/dumpCouples diff --git a/examples/novice/N07/exampleN07.out b/examples/novice/N07/exampleN07.out new file mode 100644 index 0000000000..e4909de4ea --- /dev/null +++ b/examples/novice/N07/exampleN07.out @@ -0,0 +1,888 @@ +********************************************** + Geant4 version $Name: geant4-05-01 $ + (30-Apr-2003) + Copyright : Geant4 Collaboration +********************************************** + +***** Table : Nb of materials = 7 ***** + + Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm + ---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm + ---> Element: liquidArgon Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm + ---> Element: Lead Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 % + + Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm + ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 % + + Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm + ---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 91.45 % Abundance 47.37 % + ---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 8.55 % Abundance 52.63 % + + Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m + ---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % + ---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % + + Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204727576.737 pc + ---> Element: Galactic Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 % + + +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully chosen to use the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRepFile (HepRepFile) + G4HepRep (HepRepXML) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) +-------------------------------------------------------- + Calorimeters are placed in parallel. + Absorber is made of Lead + Gap is made of liquidArgon +-------------------------------------------------------- + +phot: Total cross sections from Sandia parametrisation. +ExN07PhysicsList::SetCuts: default cut length : 1 mm +/run/verbose 1 +/run/dumpRegion +Region DefaultRegionForTheWorld + Materials : Galactic + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +Region Calor-A + Materials : Lead liquidArgon + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +Region Calor-B + Materials : Lead liquidArgon + Production cuts : gamma 1 cm e- 1 cm e+ 1 cm +Region Calor-C + Materials : Lead liquidArgon + Production cuts : gamma 10 cm e- 10 cm e+ 10 cm +/run/beamOn 10 + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuBrems: theoretical cross section + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +MuPairProd: theoretical cross sections + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. +Start Run processing. +Run terminated. +Run Summary + Number of events processed : 10 + User=35.15s Real=41.55s Sys=6.38s +############################################################ + Run Summary - Number of events : 10 +############################################################ +Region : Calor-A + Production thresholds : + gamma 1 mm e- 1 mm e+ 1 mm + Energy deposition in an event : + Absorber 3.60134 GeV Gap 444.182 MeV + Number of secondaries in an event : + gamma in Absorber 1459.7 in Gap 110 + e- in Absorber 2367.8 in Gap 253.9 + e+ in Absorber 129.3 in Gap 5.1 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 100.521 keV in Gap 6.25622 keV + e- in Absorber 28.55 eV in Gap 14.2794 eV + e+ in Absorber 0 eV in Gap 127.228 keV + Total track length of e+/e- in an event : + Absorber 1.55584 m Gap 89.8385 cm + Total number of steps of e+/e- in an event : + Absorber 4097.2 Gap 534.8 +############################################################ +Region : Calor-B + Production thresholds : + gamma 1 cm e- 1 cm e+ 1 cm + Energy deposition in an event : + Absorber 6.49014 GeV Gap 656.158 MeV + Number of secondaries in an event : + gamma in Absorber 2382.4 in Gap 161.2 + e- in Absorber 4298.7 in Gap 387.7 + e+ in Absorber 315.6 in Gap 12.6 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 263.012 keV in Gap 19.2337 keV + e- in Absorber 7.07129 eV in Gap 31.1182 eV + e+ in Absorber 0 eV in Gap 55.9103 keV + Total track length of e+/e- in an event : + Absorber 3.32678 m Gap 1.5705 m + Total number of steps of e+/e- in an event : + Absorber 7289.4 Gap 824 +############################################################ +Region : Calor-C + Production thresholds : + gamma 10 cm e- 10 cm e+ 10 cm + Energy deposition in an event : + Absorber 12.4793 GeV Gap 1.12349 GeV + Number of secondaries in an event : + gamma in Absorber 2695 in Gap 222 + e- in Absorber 4855.8 in Gap 416.6 + e+ in Absorber 735.1 in Gap 23.2 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 292.897 keV in Gap 56.6688 keV + e- in Absorber 3.61264 eV in Gap 17.459 eV + e+ in Absorber 4.07643 keV in Gap 176.903 keV + Total track length of e+/e- in an event : + Absorber 6.60459 m Gap 2.96588 m + Total number of steps of e+/e- in an event : + Absorber 9549.5 Gap 1173.3 +############################################################ +/run/dumpCouples + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + Region(s) which use this couple : + Calor-A + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + Region(s) which use this couple : + Calor-A + +Index : 3 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm + Energy thresholds : gamma 282.478 keV e- 15.0137 MeV e+ 13.9447 MeV + Region(s) which use this couple : + Calor-B + +Index : 4 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 cm e- 1 cm e+ 1 cm + Energy thresholds : gamma 19.0521 keV e- 2.14666 MeV e+ 2.04351 MeV + Region(s) which use this couple : + Calor-B + +Index : 5 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm + Energy thresholds : gamma 2.24888 MeV e- 437.915 MeV e+ 406.735 MeV + Region(s) which use this couple : + Calor-C + +Index : 6 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 10 cm e- 10 cm e+ 10 cm + Energy thresholds : gamma 56.6382 keV e- 24.5664 MeV e+ 22.8173 MeV + Region(s) which use this couple : + Calor-C + +==================================================================== + +## +## +## +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/dumpRegion +Region DefaultRegionForTheWorld + Materials : Galactic + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +Region Calor-A + Materials : Lead liquidArgon + Production cuts : gamma 200 mum e- 200 mum e+ 200 mum +Region Calor-B + Materials : Lead liquidArgon + Production cuts : gamma 2 mm e- 2 mm e+ 2 mm +Region Calor-C + Materials : Lead liquidArgon + Production cuts : gamma 2 cm e- 2 cm e+ 2 cm +/run/beamOn 10 + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuBrems: theoretical cross section + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +MuPairProd: theoretical cross sections + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. +Start Run processing. +Run terminated. +Run Summary + Number of events processed : 10 + User=12.53s Real=15.52s Sys=2.42s +############################################################ + Run Summary - Number of events : 10 +############################################################ +Region : Calor-A + Production thresholds : + gamma 200 mum e- 200 mum e+ 200 mum + Energy deposition in an event : + Absorber 2.70478 GeV Gap 333.612 MeV + Number of secondaries in an event : + gamma in Absorber 1091.5 in Gap 63.6 + e- in Absorber 1840.3 in Gap 236 + e+ in Absorber 71.8 in Gap 2 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 47.1916 keV in Gap 2.88577 keV + e- in Absorber 12.4087 eV in Gap 7.16025 eV + e+ in Absorber 1.96566 keV in Gap 398.398 keV + Total track length of e+/e- in an event : + Absorber 1.03338 m Gap 54.8953 cm + Total number of steps of e+/e- in an event : + Absorber 4138.7 Gap 622 +############################################################ +Region : Calor-B + Production thresholds : + gamma 2 mm e- 2 mm e+ 2 mm + Energy deposition in an event : + Absorber 2.37584 GeV Gap 303.942 MeV + Number of secondaries in an event : + gamma in Absorber 575.4 in Gap 44.4 + e- in Absorber 978.3 in Gap 99.2 + e+ in Absorber 50.9 in Gap 2.1 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 120.59 keV in Gap 8.59223 keV + e- in Absorber 131.324 eV in Gap 31.9861 eV + e+ in Absorber 0 eV in Gap 440.512 keV + Total track length of e+/e- in an event : + Absorber 66.9131 cm Gap 35.1969 cm + Total number of steps of e+/e- in an event : + Absorber 1668.8 Gap 213 +############################################################ +Region : Calor-C + Production thresholds : + gamma 2 cm e- 2 cm e+ 2 cm + Energy deposition in an event : + Absorber 2.65916 GeV Gap 439.237 MeV + Number of secondaries in an event : + gamma in Absorber 413 in Gap 73.9 + e- in Absorber 805.3 in Gap 88 + e+ in Absorber 66.3 in Gap 1.8 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 27.1274 keV in Gap 27.0413 keV + e- in Absorber 11.8986 eV in Gap 29.1025 eV + e+ in Absorber 0 eV in Gap 381.413 keV + Total track length of e+/e- in an event : + Absorber 1.78425 m Gap 1.0599 m + Total number of steps of e+/e- in an event : + Absorber 1693 Gap 377.7 +############################################################ +/run/dumpCouples + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 47.1847 keV e- 383.065 keV e+ 364.659 keV + Region(s) which use this couple : + Calor-A + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 2.78576 keV e- 123.426 keV e+ 121.916 keV + Region(s) which use this couple : + Calor-A + +Index : 3 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 120.589 keV e- 2.614 MeV e+ 2.42788 MeV + Region(s) which use this couple : + Calor-B + +Index : 4 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 8.59044 keV e- 561.061 keV e+ 540.718 keV + Region(s) which use this couple : + Calor-B + +Index : 5 used in the geometry : Yes recalculation needed : No + Material : Lead + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 419.689 keV e- 35.5413 MeV e+ 33.0107 MeV + Region(s) which use this couple : + Calor-C + +Index : 6 used in the geometry : Yes recalculation needed : No + Material : liquidArgon + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 26.9798 keV e- 4.2772 MeV e+ 3.97266 MeV + Region(s) which use this couple : + Calor-C + +==================================================================== + +## +## +## +/N07/setAbsMat Aluminium +/N07/setGapMat Water +/run/dumpRegion +Region DefaultRegionForTheWorld + Materials : Galactic + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +Region Calor-A + Materials : Aluminium Water + Production cuts : gamma 200 mum e- 200 mum e+ 200 mum +Region Calor-B + Materials : Aluminium Water + Production cuts : gamma 2 mm e- 2 mm e+ 2 mm +Region Calor-C + Materials : Aluminium Water + Production cuts : gamma 2 cm e- 2 cm e+ 2 cm +/run/beamOn 10 + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuBrems: theoretical cross section + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +MuPairProd: theoretical cross sections + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. +Start Run processing. +Run terminated. +Run Summary + Number of events processed : 10 + User=2.57s Real=3.08s Sys=0.51s +############################################################ + Run Summary - Number of events : 10 +############################################################ +Region : Calor-A + Production thresholds : + gamma 200 mum e- 200 mum e+ 200 mum + Energy deposition in an event : + Absorber 531.284 MeV Gap 239.865 MeV + Number of secondaries in an event : + gamma in Absorber 37.6 in Gap 13.5 + e- in Absorber 254.2 in Gap 140.5 + e+ in Absorber 0.5 in Gap 0.3 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 3.25082 keV in Gap 1.47108 keV + e- in Absorber 19.2739 eV in Gap 67.4704 eV + e+ in Absorber 2.17728 MeV in Gap 2.18579 MeV + Total track length of e+/e- in an event : + Absorber 34.0026 cm Gap 30.6256 cm + Total number of steps of e+/e- in an event : + Absorber 637.3 Gap 386 +############################################################ +Region : Calor-B + Production thresholds : + gamma 2 mm e- 2 mm e+ 2 mm + Energy deposition in an event : + Absorber 493.569 MeV Gap 226.681 MeV + Number of secondaries in an event : + gamma in Absorber 16.9 in Gap 7.9 + e- in Absorber 97.5 in Gap 50.3 + e+ in Absorber 0.1 in Gap 0.1 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 9.60652 keV in Gap 4.07734 keV + e- in Absorber 11.6723 eV in Gap 6.95819 eV + e+ in Absorber 630.551 keV in Gap 2.73929 MeV + Total track length of e+/e- in an event : + Absorber 18.6721 cm Gap 20.5657 cm + Total number of steps of e+/e- in an event : + Absorber 174.5 Gap 116.4 +############################################################ +Region : Calor-C + Production thresholds : + gamma 2 cm e- 2 cm e+ 2 cm + Energy deposition in an event : + Absorber 562.956 MeV Gap 251.881 MeV + Number of secondaries in an event : + gamma in Absorber 23.3 in Gap 8.3 + e- in Absorber 153.6 in Gap 61.6 + e+ in Absorber 0.8 in Gap 0.2 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 29.7255 keV in Gap 10.6468 keV + e- in Absorber 5.37776 eV in Gap 9.08076 eV + e+ in Absorber 2.17597 MeV in Gap 4.48753 MeV + Total track length of e+/e- in an event : + Absorber 23.971 cm Gap 25.0512 cm + Total number of steps of e+/e- in an event : + Absorber 221.9 Gap 109.5 +############################################################ +/run/dumpCouples + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 47.1847 keV e- 383.065 keV e+ 364.659 keV + +Index : 2 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 2.78576 keV e- 123.426 keV e+ 121.916 keV + +Index : 3 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 120.589 keV e- 2.614 MeV e+ 2.42788 MeV + +Index : 4 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 8.59044 keV e- 561.061 keV e+ 540.718 keV + +Index : 5 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 419.689 keV e- 35.5413 MeV e+ 33.0107 MeV + +Index : 6 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 26.9798 keV e- 4.2772 MeV e+ 3.97266 MeV + +Index : 7 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 3.2133 keV e- 199.488 keV e+ 194.636 keV + Region(s) which use this couple : + Calor-A + +Index : 8 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 200 mum e- 200 mum e+ 200 mum + Energy thresholds : gamma 1.47052 keV e- 126.503 keV e+ 124.955 keV + Region(s) which use this couple : + Calor-A + +Index : 9 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 9.56197 keV e- 1.02561 MeV e+ 976.329 keV + Region(s) which use this couple : + Calor-B + +Index : 10 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 2 mm e- 2 mm e+ 2 mm + Energy thresholds : gamma 3.8945 keV e- 568.011 keV e+ 547.416 keV + Region(s) which use this couple : + Calor-B + +Index : 11 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 28.1807 keV e- 9.40429 MeV e+ 8.7347 MeV + Region(s) which use this couple : + Calor-C + +Index : 12 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 2 cm e- 2 cm e+ 2 cm + Energy thresholds : gamma 10.3141 keV e- 4.17317 MeV e+ 3.97266 MeV + Region(s) which use this couple : + Calor-C + +==================================================================== + +## +## +## +/run/setCutForRegion Calor-A 0.01 mm +/run/setCutForRegion Calor-B 0.1 mm +/run/setCutForRegion Calor-C 1 mm +/run/dumpRegion +Region DefaultRegionForTheWorld + Materials : Galactic + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +Region Calor-A + Materials : Aluminium Water + Production cuts : gamma 10 mum e- 10 mum e+ 10 mum +Region Calor-B + Materials : Aluminium Water + Production cuts : gamma 100 mum e- 100 mum e+ 100 mum +Region Calor-C + Materials : Aluminium Water + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm +/run/beamOn 10 + +conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. + e+e- energies according Bethe-Heitler + PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. + +compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. + Scattered gamma energy according Klein-Nishina. + PhysicsTables from 1 keV to 100 GeV in 80 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. + Good description from 1 KeV to 100 GeV. + log scale extrapolation above 100 GeV + Gamma energy sampled from a parametrised formula. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + +annihil: Total cross section from Heilter formula(annihilation into 2 photons). + gamma energies sampled according Heitler + PhysicsTables from 10 keV to 10 TeV in 100 bins. + +hIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 100 TeV in 100 bins. + Step function: finalRange(mm)= 1, dRoverRange= 0.2 + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuIoni: Knock-on electron cross sections . + Good description above the mean excitation energy. + delta ray energy sampled from differential Xsection. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +msc: Tables of transport mean free paths. + New model of MSC , computes the lateral + displacement of the particle , too. + PhysicsTables from 100 eV to 100 TeV in 100 bins. + +MuBrems: theoretical cross section + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. + +MuPairProd: theoretical cross sections + Good description up to 1000 PeV. + PhysicsTables from 1 keV to 1000 PeV in 150 bins. +Start Run processing. +Run terminated. +Run Summary + Number of events processed : 10 + User=14.26s Real=18.6s Sys=4.07s +############################################################ + Run Summary - Number of events : 10 +############################################################ +Region : Calor-A + Production thresholds : + gamma 10 mum e- 10 mum e+ 10 mum + Energy deposition in an event : + Absorber 542.123 MeV Gap 236.354 MeV + Number of secondaries in an event : + gamma in Absorber 56.3 in Gap 13.4 + e- in Absorber 975.6 in Gap 1913.4 + e+ in Absorber 0.9 in Gap 0.1 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 1.00209 keV in Gap 1.01325 keV + e- in Absorber 13.2161 eV in Gap 17.4362 eV + e+ in Absorber 2.14097 MeV in Gap 33.0209 MeV + Total track length of e+/e- in an event : + Absorber 40.0207 cm Gap 33.0917 cm + Total number of steps of e+/e- in an event : + Absorber 4035.8 Gap 3871.8 +############################################################ +Region : Calor-B + Production thresholds : + gamma 100 mum e- 100 mum e+ 100 mum + Energy deposition in an event : + Absorber 689.59 MeV Gap 314.803 MeV + Number of secondaries in an event : + gamma in Absorber 91.7 in Gap 30.4 + e- in Absorber 596.8 in Gap 287.6 + e+ in Absorber 4 in Gap 0.7 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 1.29855 keV in Gap 1.09732 keV + e- in Absorber 4.88791 eV in Gap 2.6686 eV + e+ in Absorber 331.688 keV in Gap 1.88709 MeV + Total track length of e+/e- in an event : + Absorber 85.2136 cm Gap 77.9287 cm + Total number of steps of e+/e- in an event : + Absorber 1723.7 Gap 1006.2 +############################################################ +Region : Calor-C + Production thresholds : + gamma 1 mm e- 1 mm e+ 1 mm + Energy deposition in an event : + Absorber 616.293 MeV Gap 283.135 MeV + Number of secondaries in an event : + gamma in Absorber 55.7 in Gap 19.8 + e- in Absorber 321.2 in Gap 150.3 + e+ in Absorber 3 in Gap 0.6 + Minimum kinetic energy of generated secondaries : + gamma in Absorber 3.19671 keV in Gap 2.94224 keV + e- in Absorber 3.36631 eV in Gap 16.6574 eV + e+ in Absorber 348.006 keV in Gap 2.59486 MeV + Total track length of e+/e- in an event : + Absorber 61.2776 cm Gap 55.9247 cm + Total number of steps of e+/e- in an event : + Absorber 537.5 Gap 301.2 +############################################################ +/run/dumpCouples + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 10 mum e- 10 mum e+ 10 mum + Energy thresholds : gamma 5.97389 keV e- 57.5352 keV e+ 56.8313 keV + +Index : 2 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 10 mum e- 10 mum e+ 10 mum + Energy thresholds : gamma 990 eV e- 7.67874 keV e+ 7.58479 keV + +Index : 3 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 100 mum e- 100 mum e+ 100 mum + Energy thresholds : gamma 29.3406 keV e- 239.945 keV e+ 231.245 keV + +Index : 4 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 100 mum e- 100 mum e+ 100 mum + Energy thresholds : gamma 1.9853 keV e- 82.2201 keV e+ 81.2141 keV + +Index : 5 used in the geometry : No recalculation needed : No + Material : Lead + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV + +Index : 6 used in the geometry : No recalculation needed : No + Material : liquidArgon + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV + +Index : 7 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 10 mum e- 10 mum e+ 10 mum + Energy thresholds : gamma 990 eV e- 33.8876 keV e+ 33.4729 keV + Region(s) which use this couple : + Calor-A + +Index : 8 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 10 mum e- 10 mum e+ 10 mum + Energy thresholds : gamma 990 eV e- 6.44974 keV e+ 6.37083 keV + Region(s) which use this couple : + Calor-A + +Index : 9 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 100 mum e- 100 mum e+ 100 mum + Energy thresholds : gamma 2.31448 keV e- 129.656 keV e+ 128.07 keV + Region(s) which use this couple : + Calor-B + +Index : 10 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 100 mum e- 100 mum e+ 100 mum + Energy thresholds : gamma 1.09571 keV e- 84.2696 keV e+ 83.2385 keV + Region(s) which use this couple : + Calor-B + +Index : 11 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + Region(s) which use this couple : + Calor-C + +Index : 12 used in the geometry : Yes recalculation needed : No + Material : Water + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV + Region(s) which use this couple : + Calor-C + +==================================================================== + +Graphics systems deleted. +Visualization Manager deleting... +G4 kernel has come to Quit state. diff --git a/examples/novice/N07/include/ExN07CalorHit.hh b/examples/novice/N07/include/ExN07CalorHit.hh new file mode 100644 index 0000000000..159cbe2ae3 --- /dev/null +++ b/examples/novice/N07/include/ExN07CalorHit.hh @@ -0,0 +1,90 @@ +// +// ******************************************************************** +// * 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: ExN07CalorHit.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07CalorHit_h +#define ExN07CalorHit_h 1 + +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" + +class ExN07CalorHit : public G4VHit +{ + public: + ExN07CalorHit(); + virtual ~ExN07CalorHit(); + ExN07CalorHit(const ExN07CalorHit&); + const ExN07CalorHit& operator=(const ExN07CalorHit&); + int operator==(const ExN07CalorHit&) const; + + inline void* operator new(size_t); + inline void operator delete(void*); + + virtual void Draw(); + virtual void Print(); + + public: + inline void AddEnergy(G4double de) + { Edep += de; } + inline void AddStep(G4double dl) + { + TrackLength += dl; + nStep++; + } + inline G4double GetEdep() const + { return Edep; } + inline G4double GetTrak() const + { return TrackLength; } + inline G4int GetNStep() const + { return nStep; } + + private: + G4double Edep; + G4double TrackLength; + G4int nStep; +}; + +typedef G4THitsCollection ExN07CalorHitsCollection; + +extern G4Allocator ExN07CalorHitAllocator; + +inline void* ExN07CalorHit::operator new(size_t) +{ + void* aHit; + aHit = (void*) ExN07CalorHitAllocator.MallocSingle(); + return aHit; +} + +inline void ExN07CalorHit::operator delete(void* aHit) +{ + ExN07CalorHitAllocator.FreeSingle((ExN07CalorHit*) aHit); +} + + +#endif + + diff --git a/examples/novice/N07/include/ExN07CalorimeterSD.hh b/examples/novice/N07/include/ExN07CalorimeterSD.hh new file mode 100644 index 0000000000..6a04b5248e --- /dev/null +++ b/examples/novice/N07/include/ExN07CalorimeterSD.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: ExN07CalorimeterSD.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07CalorimeterSD_h +#define ExN07CalorimeterSD_h 1 + +class G4HCofThisEvent; +class G4Step; +class G4TouchableHistory; +#include "G4VSensitiveDetector.hh" +#include "globals.hh" +#include "ExN07CalorHit.hh" + +class ExN07CalorimeterSD : public G4VSensitiveDetector +{ + public: + ExN07CalorimeterSD(G4String); + virtual ~ExN07CalorimeterSD(); + + virtual void Initialize(G4HCofThisEvent*); + virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); + virtual void EndOfEvent(G4HCofThisEvent*); + virtual void clear(); + virtual void DrawAll(); + virtual void PrintAll(); + + private: + static G4int numberOfLayers; + ExN07CalorHitsCollection* AbsCollection; + ExN07CalorHitsCollection* GapCollection; + G4int AbsCollID; + G4int GapCollID; + + public: + static void SetNumberOfLayers(G4int nl) + { numberOfLayers = nl; } +}; + +#endif + diff --git a/examples/novice/N07/include/ExN07DetectorConstruction.hh b/examples/novice/N07/include/ExN07DetectorConstruction.hh new file mode 100644 index 0000000000..4b40e550ab --- /dev/null +++ b/examples/novice/N07/include/ExN07DetectorConstruction.hh @@ -0,0 +1,94 @@ +// +// ******************************************************************** +// * 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: ExN07DetectorConstruction.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +#ifndef ExN07DetectorConstruction_h +#define ExN07DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4PVParameterised; +class G4Material; +class G4Box; +class ExN07GapParameterisation; +class ExN07DetectorMessenger; + +class ExN07DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + ExN07DetectorConstruction(); + virtual ~ExN07DetectorConstruction(); + + public: + virtual G4VPhysicalVolume* Construct(); + + public: + void UpdateGeometry(); + void PrintCalorParameters() const; + void SetAbsorberMaterial(G4String materialChoice); + G4String GetAbsorberMaterial() const; + void SetGapMaterial(G4String materialChoice); + G4String GetGapMaterial() const; + void SetSerialGeometry(G4bool ser); + void SetNumberOfLayers(G4int nl); + inline G4int GetNumberOfLayers() const + { return numberOfLayers; } + inline G4bool IsSerial() const + { return serial; } + + private: + void DefineMaterials(); + + private: + G4int numberOfLayers; + + G4Material* worldMaterial; + G4Material* absorberMaterial; + G4Material* gapMaterial; + + G4Box* gapSolid; + + G4LogicalVolume* worldLogical; + G4LogicalVolume* calorLogical[3]; + G4LogicalVolume* layerLogical[3]; + + G4VPhysicalVolume* worldPhysical; + G4VPhysicalVolume* calorPhysical[3]; + G4PVParameterised* layerPhysical[3]; + + G4bool serial; + + ExN07GapParameterisation* gapParam; + ExN07DetectorMessenger* detectorMessenger; + +}; + +#endif + diff --git a/examples/novice/N07/include/ExN07DetectorMessenger.hh b/examples/novice/N07/include/ExN07DetectorMessenger.hh new file mode 100644 index 0000000000..39fd1879bc --- /dev/null +++ b/examples/novice/N07/include/ExN07DetectorMessenger.hh @@ -0,0 +1,62 @@ +// +// ******************************************************************** +// * 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: ExN07DetectorMessenger.hh,v 1.2 2003/04/08 15:46:59 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07DetectorMessenger_h +#define ExN07DetectorMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class ExN07DetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithABool; +class G4UIcmdWithAnInteger; + +class ExN07DetectorMessenger: public G4UImessenger +{ + public: + ExN07DetectorMessenger(ExN07DetectorConstruction* ); + virtual ~ExN07DetectorMessenger(); + + virtual void SetNewValue(G4UIcommand*, G4String); + virtual G4String GetCurrentValue(G4UIcommand * command); + + private: + ExN07DetectorConstruction* ExN07Detector; + + G4UIdirectory* N07Dir; + G4UIcmdWithAString* AbsMaterCmd; + G4UIcmdWithAString* GapMaterCmd; + G4UIcmdWithAnInteger* numLayerCmd; + G4UIcmdWithABool* SerialCmd; + G4UIcmdWithAnInteger* verboseCmd; +}; + + +#endif + diff --git a/examples/novice/N07/include/ExN07EventAction.hh b/examples/novice/N07/include/ExN07EventAction.hh new file mode 100644 index 0000000000..b703912a50 --- /dev/null +++ b/examples/novice/N07/include/ExN07EventAction.hh @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * 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: ExN07EventAction.hh,v 1.2 2003/04/08 15:47:00 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07EventAction_h +#define ExN07EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class ExN07EventAction : public G4UserEventAction +{ + public: + ExN07EventAction(); + virtual ~ExN07EventAction(); + + public: + virtual void BeginOfEventAction(const G4Event*); + virtual void EndOfEventAction(const G4Event*); + + private: + G4int calorimeterCollID[6]; + static G4int verboseLevel; + + public: + static void SetVerboseLevel(G4int i) + { verboseLevel = i; } + static G4int GetVerboseLevel() + { return verboseLevel; } +}; + + +#endif + + diff --git a/examples/novice/N07/include/ExN07GapParameterisation.hh b/examples/novice/N07/include/ExN07GapParameterisation.hh new file mode 100644 index 0000000000..41a439168d --- /dev/null +++ b/examples/novice/N07/include/ExN07GapParameterisation.hh @@ -0,0 +1,70 @@ +// +// ******************************************************************** +// * 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: ExN07GapParameterisation.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// A parameterisation that describes a series of boxes along Z +// The boxes have equal size. +// + +#ifndef ExN07GapParameterisation_H +#define ExN07GapParameterisation_H 1 + +#include "globals.hh" +#include "G4VPVParameterisation.hh" + +class G4VPhysicalVolume; +class G4Material; + +class ExN07GapParameterisation : public G4VPVParameterisation +{ + public: + + ExN07GapParameterisation(); + virtual ~ExN07GapParameterisation(); + + virtual void ComputeTransformation(const G4int copyNo, + G4VPhysicalVolume* physVol) const; + virtual G4Material* ComputeMaterial(const G4int copyNo, + G4VPhysicalVolume* physVol); + + private: + G4int numberOfLayers; + G4Material* absMaterial; + G4Material* gapMaterial; + + public: + inline void SetNumberOfLayers(G4int nl) + { numberOfLayers = nl; } + inline void SetAbsorberMaterial(G4Material* mat) + { absMaterial = mat; } + inline void SetGapMaterial(G4Material* mat) + { gapMaterial = mat; } +}; + + +#endif + + diff --git a/examples/novice/N07/include/ExN07PhysicsList.hh b/examples/novice/N07/include/ExN07PhysicsList.hh new file mode 100644 index 0000000000..2fda6a5a27 --- /dev/null +++ b/examples/novice/N07/include/ExN07PhysicsList.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: ExN07PhysicsList.hh,v 1.1 2003/03/10 01:43:35 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07PhysicsList_h +#define ExN07PhysicsList_h 1 + +#include "G4VUserPhysicsList.hh" +#include "globals.hh" + +class ExN07PhysicsList: public G4VUserPhysicsList +{ + public: + ExN07PhysicsList(); + ~ExN07PhysicsList(); + + protected: + // Construct particle and physics + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + + + protected: + // these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); + + protected: + // these methods Construct physics processes and register them + void ConstructGeneral(); + void ConstructEM(); +}; + +#endif + + + diff --git a/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh b/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..50606983e2 --- /dev/null +++ b/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * 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: ExN07PrimaryGeneratorAction.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07PrimaryGeneratorAction_h +#define ExN07PrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; + +class ExN07PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + ExN07PrimaryGeneratorAction(); + virtual ~ExN07PrimaryGeneratorAction(); + + public: + virtual void GeneratePrimaries(G4Event*); + + private: + G4ParticleGun* particleGun; + G4bool serial; + + public: + inline void SetSerial(G4bool ser) + { serial = ser; } +}; + + +#endif + + diff --git a/examples/novice/N07/include/ExN07Run.hh b/examples/novice/N07/include/ExN07Run.hh new file mode 100644 index 0000000000..7a14f4ab0a --- /dev/null +++ b/examples/novice/N07/include/ExN07Run.hh @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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: ExN07Run.hh,v 1.3 2003/04/09 23:20:58 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07Run_h +#define ExN07Run_h 1 + +#include "globals.hh" +#include "G4Run.hh" +#include "G4Allocator.hh" + +class G4Event; +class G4HCtable; +class G4DCtable; + +class ExN07Run : public G4Run +{ + public: + ExN07Run(); + virtual ~ExN07Run(); + inline void *operator new(size_t); + inline void operator delete(void* aRun); + + public: + virtual void RecordEvent(const G4Event*); + + private: + G4double totE[6]; + G4double totL[6]; + G4int nStep[6]; + G4int nGamma[6]; + G4int nElectron[6]; + G4int nPositron[6]; + G4double eMinGamma[6]; + G4double eMinElectron[6]; + G4double eMinPositron[6]; + + public: + inline G4double GetTotalE(G4int i) const + { return totE[i]; } + inline G4double GetTotalL(G4int i) const + { return totL[i]; } + inline G4int GetNStep(G4int i) const + { return nStep[i]; } + inline G4int GetNGamma(G4int i) const + { return nGamma[i]; } + inline G4int GetNElectron(G4int i) const + { return nElectron[i]; } + inline G4int GetNPositron(G4int i) const + { return nPositron[i]; } + inline G4double GetEMinGamma(G4int i) const + { return eMinGamma[i]; } + inline G4double GetEMinElectron(G4int i) const + { return eMinElectron[i]; } + inline G4double GetEMinPositron(G4int i) const + { return eMinPositron[i]; } +}; + +extern G4Allocator anExN07RunAllocator; + +inline void* ExN07Run::operator new(size_t) +{ + void* aRun; + aRun = (void*)anExN07RunAllocator.MallocSingle(); + return aRun; +} + +inline void ExN07Run::operator delete(void* aRun) +{ + anExN07RunAllocator.FreeSingle((ExN07Run*)aRun); +} + +#endif + diff --git a/examples/novice/N07/include/ExN07RunAction.hh b/examples/novice/N07/include/ExN07RunAction.hh new file mode 100644 index 0000000000..770b981c8d --- /dev/null +++ b/examples/novice/N07/include/ExN07RunAction.hh @@ -0,0 +1,48 @@ +// +// ******************************************************************** +// * 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: ExN07RunAction.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifndef ExN07RunAction_h +#define ExN07RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" + +class G4Run; + +class ExN07RunAction : public G4UserRunAction +{ + public: + ExN07RunAction(); + ~ExN07RunAction(); + + public: + G4Run* GenerateRun(); + void EndOfRunAction(const G4Run*); +}; + +#endif + diff --git a/examples/novice/N07/include/ExN07StackingAction.hh b/examples/novice/N07/include/ExN07StackingAction.hh new file mode 100644 index 0000000000..dbf122473e --- /dev/null +++ b/examples/novice/N07/include/ExN07StackingAction.hh @@ -0,0 +1,60 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// + +#ifndef ExN07StackingAction_H +#define ExN07StackingAction_H 1 + +#include "globals.hh" +#include "G4UserStackingAction.hh" + +class G4Track; + +class ExN07StackingAction : public G4UserStackingAction +{ + public: + ExN07StackingAction(); + virtual ~ExN07StackingAction(); + + public: + virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack); + virtual void PrepareNewEvent(); + + private: + static G4int nGamma[6]; + static G4int nElectron[6]; + static G4int nPositron[6]; + static G4double eMinGamma[6]; + static G4double eMinElectron[6]; + static G4double eMinPositron[6]; + + public: + static G4int GetNGamma(G4int i) { return nGamma[i]; } + static G4int GetNElectron(G4int i) { return nElectron[i]; } + static G4int GetNPositron(G4int i) { return nPositron[i]; } + static G4double GetEMinGamma(G4int i) { return eMinGamma[i]; } + static G4double GetEMinElectron(G4int i) { return eMinElectron[i]; } + static G4double GetEMinPositron(G4int i) { return eMinPositron[i]; } +}; + +#endif + diff --git a/examples/advanced/lAr_calorimeter/src/FCALEMModuleParameters.icc b/examples/novice/N07/include/ExN07VisManager.hh similarity index 68% rename from examples/advanced/lAr_calorimeter/src/FCALEMModuleParameters.icc rename to examples/novice/N07/include/ExN07VisManager.hh index 0f6417dc95..09803f96d1 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALEMModuleParameters.icc +++ b/examples/novice/N07/include/ExN07VisManager.hh @@ -19,35 +19,33 @@ // * based on the Program) you indicate your acceptance of this * // * statement, and all its terms. * // ******************************************************************** -EmModuleRMin = 0.0*cm; -EmModuleRMax = 45.15*cm; -EmModuleLength = 22.3*cm; -EmModuleStartPhi = 0.0*deg; -EmModuleDPhi = 90.0*deg; +// +// +// $Id: ExN07VisManager.hh,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -FCALEmSmart = 0.2; - -//--------------------- -// FCAL Cable Troff -//--------------------- -NCableTroff = 4; -F1CableTroffRMin = 44.16*cm; -F1CableTroffRMax = 45.15*cm; -F1CableTroffLength = 22.3*cm; -F1CableTroffStartPhi = 8.438*deg; -F1CableTroffDPhi = 5.624*deg; -F1CableTroffRotZ = 22.5*deg; - - -//----------------------- -// Active LArg Gap -//----------------------- -F1LArGapRmin = 0.236*cm; -F1LArGapRmax = 0.263*cm; -F1LArGapLength = 22.3*cm; -F1LArGapStartPhi = 0.0*deg; -F1LArGapDPhi = 2*pi; +#ifndef ExN07VisManager_h +#define ExN07VisManager_h 1 +#ifdef G4VIS_USE + +#include "G4VisManager.hh" + +class ExN07VisManager: public G4VisManager { + +public: + + ExN07VisManager (); + +private: + + void RegisterGraphicsSystems (); + +}; +#endif +#endif diff --git a/examples/novice/N07/retrieve.mac b/examples/novice/N07/retrieve.mac new file mode 100644 index 0000000000..6ef865dc2e --- /dev/null +++ b/examples/novice/N07/retrieve.mac @@ -0,0 +1,22 @@ +/control/verbose 2 +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm + +### retrieve physics table +### set store format : 0 binary 1 ascii +/run/particle/setStoredInAscii 0 +#/run/particle/verbose 3 +/run/particle/retrievePhysicsTable physTable + +### dump couples +#/tracking/verbose 1 +/run/particle/verbose 1 +/run/beamOn 1 +/run/dumpRegion +/run/dumpCouples + +### 10 events +/tracking/verbose 0 +/run/beamOn 10 + diff --git a/examples/novice/N07/sample.mac b/examples/novice/N07/sample.mac new file mode 100644 index 0000000000..db02825f0e --- /dev/null +++ b/examples/novice/N07/sample.mac @@ -0,0 +1,14 @@ +/control/verbose 2 +/N07/verbose 1 +/run/dumpRegion +/run/beamOn 50 +# +# +/N07/numberOfLayers 4 +/run/dumpRegion +/run/beamOn 50 +# +# +/N07/setGapMat Water +/run/dumpRegion +/run/beamOn 50 diff --git a/examples/novice/N07/src/ExN07CalorHit.cc b/examples/novice/N07/src/ExN07CalorHit.cc new file mode 100644 index 0000000000..657777e36d --- /dev/null +++ b/examples/novice/N07/src/ExN07CalorHit.cc @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * 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: ExN07CalorHit.cc,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07CalorHit.hh" + +G4Allocator ExN07CalorHitAllocator; + +ExN07CalorHit::ExN07CalorHit() +:Edep(0.),TrackLength(0.),nStep(0) +{;} + +ExN07CalorHit::~ExN07CalorHit() +{;} + +ExN07CalorHit::ExN07CalorHit(const ExN07CalorHit& right) +{ + Edep = right.Edep; + TrackLength = right.TrackLength; + nStep= right.nStep; +} + +const ExN07CalorHit& ExN07CalorHit::operator=(const ExN07CalorHit& right) +{ + Edep = right.Edep; + TrackLength = right.TrackLength; + nStep= right.nStep; + return *this; +} + +int ExN07CalorHit::operator==(const ExN07CalorHit& right) const +{ + return 0; +} + +void ExN07CalorHit::Draw() +{;} + +void ExN07CalorHit::Print() +{;} + diff --git a/examples/novice/N07/src/ExN07CalorimeterSD.cc b/examples/novice/N07/src/ExN07CalorimeterSD.cc new file mode 100644 index 0000000000..881e5eee33 --- /dev/null +++ b/examples/novice/N07/src/ExN07CalorimeterSD.cc @@ -0,0 +1,115 @@ +// +// ******************************************************************** +// * 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: ExN07CalorimeterSD.cc,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07CalorimeterSD.hh" + +#include "G4VPhysicalVolume.hh" +#include "G4Step.hh" +#include "G4VTouchable.hh" +#include "G4TouchableHistory.hh" +#include "G4SDManager.hh" +#include "G4ParticleDefinition.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4Track.hh" +#include "G4ios.hh" + +G4int ExN07CalorimeterSD::numberOfLayers = 40; + +ExN07CalorimeterSD::ExN07CalorimeterSD(G4String name) +:G4VSensitiveDetector(name),AbsCollID(-1),GapCollID(-1) +{ + collectionName.insert("AbsCollection"); + collectionName.insert("GapCollection"); +} + +ExN07CalorimeterSD::~ExN07CalorimeterSD() +{;} + +void ExN07CalorimeterSD::Initialize(G4HCofThisEvent*HCE) +{ + AbsCollection = new ExN07CalorHitsCollection + (SensitiveDetectorName,collectionName[0]); + for(int i=0;iinsert(new ExN07CalorHit); } + if(AbsCollID<0) + { AbsCollID = GetCollectionID(0); } + HCE->AddHitsCollection(AbsCollID,AbsCollection); + + GapCollection = new ExN07CalorHitsCollection + (SensitiveDetectorName,collectionName[1]); + for(int j=0;jinsert(new ExN07CalorHit); } + if(GapCollID<0) + { GapCollID = GetCollectionID(1); } + HCE->AddHitsCollection(GapCollID,GapCollection); +} + +G4bool ExN07CalorimeterSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) +{ + G4double edep = aStep->GetTotalEnergyDeposit(); + + G4double stepl = aStep->GetStepLength(); + G4ParticleDefinition* particle = aStep->GetTrack()->GetDefinition(); + + G4TouchableHistory* theTouchable + = (G4TouchableHistory*)(aStep->GetPreStepPoint()->GetTouchable()); + + G4int LayerNumber = theTouchable->GetReplicaNumber(); + + G4int copyNo = LayerNumber/2; + if(LayerNumber%2) + { // odd number corresponds to Gap + (*GapCollection)[copyNo]->AddEnergy(edep); + if(particle==G4Electron::ElectronDefinition() + || particle==G4Positron::PositronDefinition()) + (*GapCollection)[copyNo]->AddStep(stepl); + } + else + { // even number corresponds to Abs + (*AbsCollection)[copyNo]->AddEnergy(edep); + if(particle==G4Electron::ElectronDefinition() + || particle==G4Positron::PositronDefinition()) + (*AbsCollection)[copyNo]->AddStep(stepl); + } + + return true; +} + +void ExN07CalorimeterSD::EndOfEvent(G4HCofThisEvent* HCE) +{;} + +void ExN07CalorimeterSD::clear() +{;} + +void ExN07CalorimeterSD::DrawAll() +{;} + +void ExN07CalorimeterSD::PrintAll() +{;} + + diff --git a/examples/novice/N07/src/ExN07DetectorConstruction.cc b/examples/novice/N07/src/ExN07DetectorConstruction.cc new file mode 100644 index 0000000000..ef15435681 --- /dev/null +++ b/examples/novice/N07/src/ExN07DetectorConstruction.cc @@ -0,0 +1,332 @@ +// +// ******************************************************************** +// * 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: ExN07DetectorConstruction.cc,v 1.3 2003/04/08 15:47:00 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// + +#include "ExN07DetectorConstruction.hh" +#include "G4RunManager.hh" +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVParameterised.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4ios.hh" +#include "ExN07DetectorMessenger.hh" +#include "ExN07CalorimeterSD.hh" +#include "ExN07GapParameterisation.hh" +#include "ExN07PrimaryGeneratorAction.hh" + +ExN07DetectorConstruction::ExN07DetectorConstruction() +:numberOfLayers(40),worldMaterial(0),absorberMaterial(0),gapMaterial(0), + gapSolid(0),worldLogical(0),worldPhysical(0),serial(false) +{ + for(size_t i=0;i<3;i++) + { + calorLogical[i] = 0; + layerLogical[i] = 0; + calorPhysical[i] = 0; + layerPhysical[i] = 0; + } + + gapParam = new ExN07GapParameterisation; + gapParam->SetNumberOfLayers(numberOfLayers); + ExN07CalorimeterSD::SetNumberOfLayers(numberOfLayers); + DefineMaterials(); + detectorMessenger = new ExN07DetectorMessenger(this); +} + +ExN07DetectorConstruction::~ExN07DetectorConstruction() +{ delete detectorMessenger;} + + +void ExN07DetectorConstruction::DefineMaterials() +{ + G4String name, symbol; //a=mass of a mole; + G4double a, z, density; //z=mean number of protons; + G4int iz, n; //iz=number of protons in an isotope; + // n=number of nucleons in an isotope; + + G4int ncomponents, natoms; + G4double abundance, fractionmass; + G4double temperature, pressure; + + // + // define Elements + // + + a = 1.01*g/mole; + G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a); + + a = 12.01*g/mole; + G4Element* C = new G4Element(name="Carbon" ,symbol="C" , z= 6., a); + + a = 14.01*g/mole; + G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); + + a = 16.00*g/mole; + G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); + + // + // define an Element from isotopes, by relative abundance + // + + G4Isotope* U5 = new G4Isotope(name="U235", iz=92, n=235, a=235.01*g/mole); + G4Isotope* U8 = new G4Isotope(name="U238", iz=92, n=238, a=238.03*g/mole); + + G4Element* U = new G4Element(name="enriched Uranium",symbol="U",ncomponents=2); + U->AddIsotope(U5, abundance= 90.*perCent); + U->AddIsotope(U8, abundance= 10.*perCent); + + // + // define simple materials + // + + new G4Material(name="Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3); + + density = 1.390*g/cm3; + a = 39.95*g/mole; + G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density); + + density = 11.35*g/cm3; + a = 207.19*g/mole; + G4Material* Pb = new G4Material(name="Lead" , z=82., a, density); + + // + // define a material from elements. case 1: chemical molecule + // + + density = 1.000*g/cm3; + G4Material* H2O = new G4Material(name="Water", density, ncomponents=2); + H2O->AddElement(H, natoms=2); + H2O->AddElement(O, natoms=1); + + density = 1.032*g/cm3; + G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2); + Sci->AddElement(C, natoms=9); + Sci->AddElement(H, natoms=10); + + // + // define a material from elements. case 2: mixture by fractional mass + // + + density = 1.290*mg/cm3; + 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 = universe_mean_density; + pressure = 3.e-18*pascal; + temperature = 2.73*kelvin; + G4Material* Vacuum = new G4Material(name="Galactic", z=1., a=1.01*g/mole, + density,kStateGas,temperature,pressure); + + G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + //default materials of the calorimeter + worldMaterial = Vacuum; + absorberMaterial = Pb; + gapMaterial = lAr; + gapParam->SetAbsorberMaterial(absorberMaterial); + gapParam->SetGapMaterial(gapMaterial); +} + +G4VPhysicalVolume* ExN07DetectorConstruction::Construct() +{ + // + // World + // + G4VSolid* worldSolid = new G4Box("World",2.*m,2.*m,4.*m); + worldLogical = new G4LogicalVolume(worldSolid,worldMaterial,"World"); + worldPhysical = new G4PVPlacement(0,G4ThreeVector(),worldLogical,"World", + 0,false,0); + + // + // Calorimeter + // + G4VSolid* calorSolid = new G4Box("Calor",0.5*m,0.5*m,1.*m); + G4int i; + G4String calNam[3] = {"Cal-A","Cal-B","Cal-C"}; + for(i=0;i<3;i++) + { + calorLogical[i] = new G4LogicalVolume(calorSolid,absorberMaterial,calNam[i]); + if(serial) + { + calorPhysical[i] = new G4PVPlacement(0, + G4ThreeVector(0.,0.,G4double(i-1)*2.*m), + calorLogical[i],calNam[i],worldLogical,false,i); + } + else + { + calorPhysical[i] = new G4PVPlacement(0, + G4ThreeVector(0.,G4double(i-1)*m,0.), + calorLogical[i],calNam[i],worldLogical,false,i); + } + } + + // + // Layers -- material is parameterised + // + gapSolid = new G4Box("Gap",0.5*m,0.5*m,1.*m/G4double(2*numberOfLayers)); + for(i=0;i<3;i++) + { + layerLogical[i] = new G4LogicalVolume(gapSolid,absorberMaterial,"Layer"); + layerPhysical[i] = + new G4PVParameterised("Layer",layerLogical[i],calorLogical[i],kZAxis, + 2*numberOfLayers,gapParam); + } + + // + // Regions + // + G4String regName[] = {"Calor-A","Calor-B","Calor-C"}; + for(i=0;i<3;i++) + { + G4Region* aRegion = new G4Region(regName[i]); + calorLogical[i]->SetRegion(aRegion); + aRegion->AddRootLogicalVolume(calorLogical[i]); + } + + // + // Sensitive Detectors: Absorber and Gap + // + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + G4String detName[] = {"CalorSD-A","CalorSD-B","CalorSD-C"}; + for(i=0;i<3;i++) + { + G4VSensitiveDetector* calorSD = new ExN07CalorimeterSD(detName[i]); + SDman->AddNewDetector(calorSD); + layerLogical[i]->SetSensitiveDetector(calorSD); + } + + // + // Visualization attributes + // + worldLogical->SetVisAttributes(G4VisAttributes::Invisible); + G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + simpleBoxVisAtt->SetVisibility(true); + for(i=0;i<3;i++) + { + calorLogical[i]->SetVisAttributes(simpleBoxVisAtt); + layerLogical[i]->SetVisAttributes(simpleBoxVisAtt); + } + + PrintCalorParameters(); + return worldPhysical; +} + +void ExN07DetectorConstruction::PrintCalorParameters() const +{ + G4cout << "--------------------------------------------------------" << G4endl; + if(serial) + { G4cout << " Calorimeters are placed in serial." << G4endl; } + else + { G4cout << " Calorimeters are placed in parallel." << G4endl; } + G4cout << " Absorber is made of " << absorberMaterial->GetName() << G4endl; + G4cout << " Gap is made of " << gapMaterial->GetName() << G4endl; + G4cout << "--------------------------------------------------------" << G4endl; +} + +void ExN07DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if(pttoMaterial) + { + absorberMaterial = pttoMaterial; + gapParam->SetAbsorberMaterial(pttoMaterial); + for(size_t i=0;i<3;i++) + { + calorLogical[i]->SetMaterial(absorberMaterial); + layerLogical[i]->SetMaterial(absorberMaterial); + } + } + else + { G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; } +} + +G4String ExN07DetectorConstruction::GetAbsorberMaterial() const +{ return absorberMaterial->GetName(); } + +void ExN07DetectorConstruction::SetGapMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if(pttoMaterial) + { + gapMaterial = pttoMaterial; + gapParam->SetGapMaterial(pttoMaterial); + } + else + { G4cerr << materialChoice << " is not defined. - Command is ignored." << G4endl; } +} + +G4String ExN07DetectorConstruction::GetGapMaterial() const +{ return gapMaterial->GetName(); } + +void ExN07DetectorConstruction::SetSerialGeometry(G4bool ser) +{ + if(serial==ser) return; + serial=ser; + for(G4int i=0;i<3;i++) + { + if(serial) + { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,0.,G4double(i-1)*2.*m)); } + else + { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,G4double(i-1)*m,0.)); } + } + ExN07PrimaryGeneratorAction* gen = (ExN07PrimaryGeneratorAction*) + G4RunManager::GetRunManager()->GetUserPrimaryGeneratorAction(); + gen->SetSerial(serial); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); +} + +void ExN07DetectorConstruction::SetNumberOfLayers(G4int nl) +{ + numberOfLayers = nl; + gapSolid->SetZHalfLength(1.*m/G4double(2*numberOfLayers)); + gapParam->SetNumberOfLayers(nl); + for(size_t i=0;i<3;i++) + { + if(layerPhysical[i]) + { + calorLogical[i]->RemoveDaughter(layerPhysical[i]); + delete layerPhysical[i]; + } + layerPhysical[i] = + new G4PVParameterised("Layer",layerLogical[i],calorLogical[i],kZAxis, + 2*numberOfLayers,gapParam); + } + ExN07CalorimeterSD::SetNumberOfLayers(nl); + G4RunManager::GetRunManager()->GeometryHasBeenModified(); +} + diff --git a/examples/novice/N07/src/ExN07DetectorMessenger.cc b/examples/novice/N07/src/ExN07DetectorMessenger.cc new file mode 100644 index 0000000000..61fdcf6606 --- /dev/null +++ b/examples/novice/N07/src/ExN07DetectorMessenger.cc @@ -0,0 +1,123 @@ +// +// ******************************************************************** +// * 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: ExN07DetectorMessenger.cc,v 1.2 2003/04/08 15:47:00 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07DetectorMessenger.hh" + +#include "ExN07DetectorConstruction.hh" +#include "ExN07EventAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithABool.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4Material.hh" + +ExN07DetectorMessenger::ExN07DetectorMessenger( + ExN07DetectorConstruction* ExN07Det) +:ExN07Detector(ExN07Det) +{ + N07Dir = new G4UIdirectory("/N07/"); + N07Dir->SetGuidance("UI commands of this example"); + + G4String matList; + const G4MaterialTable* matTbl = G4Material::GetMaterialTable(); + for(size_t i=0;iGetName(); + matList += " "; + } + + AbsMaterCmd = new G4UIcmdWithAString("/N07/setAbsMat",this); + AbsMaterCmd->SetGuidance("Select Material of the Absorber."); + AbsMaterCmd->SetParameterName("choice",false); + AbsMaterCmd->AvailableForStates(G4State_Idle); + AbsMaterCmd->SetCandidates(matList); + + GapMaterCmd = new G4UIcmdWithAString("/N07/setGapMat",this); + GapMaterCmd->SetGuidance("Select Material of the Gap."); + GapMaterCmd->SetParameterName("choice",false); + GapMaterCmd->AvailableForStates(G4State_Idle); + GapMaterCmd->SetCandidates(matList); + + numLayerCmd = new G4UIcmdWithAnInteger("/N07/numberOfLayers",this); + numLayerCmd->SetGuidance("Set number of layers."); + numLayerCmd->SetParameterName("nl",false); + numLayerCmd->AvailableForStates(G4State_Idle); + numLayerCmd->SetRange("nl>0"); + + SerialCmd = new G4UIcmdWithABool("/N07/serialGeometry",this); + SerialCmd->SetGuidance("Select calorimeters to be placed in serial or parallel."); + SerialCmd->SetParameterName("serialize",false); + SerialCmd->AvailableForStates(G4State_Idle); + + verboseCmd = new G4UIcmdWithAnInteger("/N07/verbose", this); + verboseCmd->SetGuidance("Set verbosity of each event."); + verboseCmd->SetParameterName("vl",true,true); + verboseCmd->SetRange("vl>=0 && vl<10"); +} + +ExN07DetectorMessenger::~ExN07DetectorMessenger() +{ + delete AbsMaterCmd; + delete GapMaterCmd; + delete numLayerCmd; + delete SerialCmd; + delete verboseCmd; + delete N07Dir; +} + +void ExN07DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == AbsMaterCmd ) + { ExN07Detector->SetAbsorberMaterial(newValue);} + else if( command == GapMaterCmd ) + { ExN07Detector->SetGapMaterial(newValue);} + else if( command == numLayerCmd ) + { ExN07Detector->SetNumberOfLayers(numLayerCmd->GetNewIntValue(newValue));} + else if( command == SerialCmd ) + { ExN07Detector->SetSerialGeometry(SerialCmd->GetNewBoolValue(newValue));} + else if( command == verboseCmd ) + { ExN07EventAction::SetVerboseLevel(verboseCmd->GetNewIntValue(newValue));} +} + +G4String ExN07DetectorMessenger::GetCurrentValue(G4UIcommand * command) +{ + G4String ans; + if( command == AbsMaterCmd ) + { ans=ExN07Detector->GetAbsorberMaterial(); } + else if( command == GapMaterCmd ) + { ans=ExN07Detector->GetGapMaterial(); } + else if( command == numLayerCmd ) + { ans=numLayerCmd->ConvertToString(ExN07Detector->GetNumberOfLayers()); } + else if( command == SerialCmd ) + { ans=SerialCmd->ConvertToString(ExN07Detector->IsSerial()); } + else if( command == verboseCmd ) + { ans=verboseCmd->ConvertToString(ExN07EventAction::GetVerboseLevel()); } + return ans; +} + + + diff --git a/examples/novice/N07/src/ExN07EventAction.cc b/examples/novice/N07/src/ExN07EventAction.cc new file mode 100644 index 0000000000..3a26d80a1b --- /dev/null +++ b/examples/novice/N07/src/ExN07EventAction.cc @@ -0,0 +1,149 @@ +// +// ******************************************************************** +// * 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: ExN07EventAction.cc,v 1.3 2003/04/08 15:47:01 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07EventAction.hh" + +#include "ExN07CalorHit.hh" +#include "ExN07StackingAction.hh" + +#include "G4Event.hh" +#include "G4EventManager.hh" +#include "G4HCofThisEvent.hh" +#include "G4VHitsCollection.hh" +#include "G4TrajectoryContainer.hh" +#include "G4Trajectory.hh" +#include "G4VVisManager.hh" +#include "G4SDManager.hh" +#include "G4UImanager.hh" +#include "G4ios.hh" +#include "G4UnitsTable.hh" + +G4int ExN07EventAction::verboseLevel=0; + +ExN07EventAction::ExN07EventAction() +{ + for(size_t i=0;i<6;i++) + { calorimeterCollID[i] = -1; } +} + +ExN07EventAction::~ExN07EventAction() +{;} + +void ExN07EventAction::BeginOfEventAction(const G4Event* evt) +{ + for(size_t i=0;i<6;i++) + { + if(calorimeterCollID[i]==-1) + { + G4String colName; + switch(i) + { + case 0: + colName = "CalorSD-A/AbsCollection"; break; + case 1: + colName = "CalorSD-A/GapCollection"; break; + case 2: + colName = "CalorSD-B/AbsCollection"; break; + case 3: + colName = "CalorSD-B/GapCollection"; break; + case 4: + colName = "CalorSD-C/AbsCollection"; break; + case 5: + colName = "CalorSD-C/GapCollection"; break; + } + calorimeterCollID[i] = + G4SDManager::GetSDMpointer()->GetCollectionID(colName); + } + } +} + +void ExN07EventAction::EndOfEventAction(const G4Event* evt) +{ + if(verboseLevel==0) return; + if(evt->GetEventID()>4 && (evt->GetEventID())%10>(verboseLevel-1)) return; + + G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); + if(!HCE) return; + G4cout << G4endl << "Event : " << evt->GetEventID() << G4endl; + + ExN07CalorHitsCollection* CHC = 0; + for(size_t i=0;i<6;i++) + { + G4double totE=0.; + G4double totL=0.; + G4int nStep=0; + + if (HCE) CHC = (ExN07CalorHitsCollection*)(HCE->GetHC(calorimeterCollID[i])); + if (CHC) + { + G4int nHit = CHC->entries(); + for (G4int ii=0;iiGetEdep(); + totL += (*CHC)[ii]->GetTrak(); + nStep += (*CHC)[ii]->GetNStep(); + } + } + + switch(i) + { + case 0: + G4cout << "Calor-A : Absorber" << G4endl; break; + case 1: + G4cout << "Calor-A : SensitiveGap" << G4endl; break; + case 2: + G4cout << "Calor-B : Absorber" << G4endl; break; + case 3: + G4cout << "Calor-B : SensitiveGap" << G4endl; break; + case 4: + G4cout << "Calor-C : Absorber" << G4endl; break; + case 5: + G4cout << "Calor-C : SensitiveGap" << G4endl; break; + } + G4cout + << " total energy deposition : " << G4std::setw(7) + << G4BestUnit(totE,"Energy") << G4endl; + G4cout + << " number of particles generated :" << G4endl + << " gamma " << ExN07StackingAction::GetNGamma(i) + << " e- " << ExN07StackingAction::GetNElectron(i) + << " e+ " << ExN07StackingAction::GetNPositron(i) << G4endl; + G4cout + << " minimum kinetic energy of generated secondaries :" << G4endl << G4std::setw(7) + << " gamma " << G4BestUnit(ExN07StackingAction::GetEMinGamma(i),"Energy") + << " e- " << G4BestUnit(ExN07StackingAction::GetEMinElectron(i),"Energy") + << " e+ " << G4BestUnit(ExN07StackingAction::GetEMinPositron(i),"Energy") + << G4endl; + G4cout + << " total track length of e+/e- : " << G4std::setw(7) + << G4BestUnit(totL,"Length") << G4endl; + G4cout + << " number of steps of e+/e- : " << nStep + << G4endl; + } +} + diff --git a/examples/novice/N07/src/ExN07GapParameterisation.cc b/examples/novice/N07/src/ExN07GapParameterisation.cc new file mode 100644 index 0000000000..f5a21aecde --- /dev/null +++ b/examples/novice/N07/src/ExN07GapParameterisation.cc @@ -0,0 +1,61 @@ +// +// ******************************************************************** +// * 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: ExN07GapParameterisation.cc,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07GapParameterisation.hh" + +#include "G4VPhysicalVolume.hh" +#include "G4ThreeVector.hh" +#include "G4Material.hh" + +ExN07GapParameterisation::ExN07GapParameterisation() +:numberOfLayers(40),absMaterial(0),gapMaterial(0) +{;} + +ExN07GapParameterisation::~ExN07GapParameterisation() +{;} + +void ExN07GapParameterisation::ComputeTransformation +(const G4int copyNo, G4VPhysicalVolume* physVol) const +{ + G4double halfZ = 1.*m/G4double(2*numberOfLayers); + G4double Zposition= G4double(copyNo)*2.*halfZ - (1.*m-halfZ); + G4ThreeVector origin(0,0,Zposition); + physVol->SetTranslation(origin); + physVol->SetRotation(0); + if(copyNo%2==0) + { physVol->SetName("Abs"); } + else + { physVol->SetName("Gap"); } +} + +G4Material* ExN07GapParameterisation::ComputeMaterial +(const G4int copyNo,G4VPhysicalVolume* physVol) +{ + if(copyNo%2==0) { return absMaterial; } + return gapMaterial; +} + diff --git a/examples/novice/N07/src/ExN07PhysicsList.cc b/examples/novice/N07/src/ExN07PhysicsList.cc new file mode 100644 index 0000000000..0fa47fa81e --- /dev/null +++ b/examples/novice/N07/src/ExN07PhysicsList.cc @@ -0,0 +1,286 @@ +// +// ******************************************************************** +// * 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: ExN07PhysicsList.cc,v 1.2 2003/04/09 23:20:59 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07PhysicsList.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ParticleWithCuts.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4ios.hh" + +ExN07PhysicsList::ExN07PhysicsList(): G4VUserPhysicsList() +{ + defaultCutValue = 1.0*mm; + SetVerboseLevel(1); +} + +ExN07PhysicsList::~ExN07PhysicsList() +{} + +void ExN07PhysicsList::ConstructParticle() +{ + // In this method, static member functions should be called + // for all particles which you want to use. + // This ensures that objects of these particle types will be + // created in the program. + + ConstructBosons(); + ConstructLeptons(); + ConstructMesons(); + ConstructBaryons(); +} + +void ExN07PhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); +} + +void ExN07PhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + +void ExN07PhysicsList::ConstructMesons() +{ + // mesons + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + G4PionZero::PionZeroDefinition(); + G4Eta::EtaDefinition(); + G4EtaPrime::EtaPrimeDefinition(); + G4KaonPlus::KaonPlusDefinition(); + G4KaonMinus::KaonMinusDefinition(); + G4KaonZero::KaonZeroDefinition(); + G4AntiKaonZero::AntiKaonZeroDefinition(); + G4KaonZeroLong::KaonZeroLongDefinition(); + G4KaonZeroShort::KaonZeroShortDefinition(); +} + +void ExN07PhysicsList::ConstructBaryons() +{ +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} + +void ExN07PhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +void ExN07PhysicsList::ConstructEM() +{ + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4GammaConversion()); + pmanager->AddDiscreteProcess(new G4ComptonScattering()); + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); + + } else if (particleName == "e-") { + //electron + G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeminusIonisation = new G4eIonisation(); + G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); + // + // add processes + pmanager->AddProcess(theeminusMultipleScattering); + pmanager->AddProcess(theeminusIonisation); + pmanager->AddProcess(theeminusBremsstrahlung); + // + // set ordering for AlongStepDoIt + pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1); + pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2); + // + // set ordering for PostStepDoIt + pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2); + pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3); + + } else if (particleName == "e+") { + //positron + G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); + G4VProcess* theeplusIonisation = new G4eIonisation(); + G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); + G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); + // + // add processes + pmanager->AddProcess(theeplusMultipleScattering); + pmanager->AddProcess(theeplusIonisation); + pmanager->AddProcess(theeplusBremsstrahlung); + pmanager->AddProcess(theeplusAnnihilation); + // + // set ordering for AtRestDoIt + pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest); + // + // set ordering for AlongStepDoIt + pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1); + pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2); + // + // set ordering for PostStepDoIt + pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep,2); + pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep,3); + pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); + G4VProcess* aPairProduction = new G4MuPairProduction(); + G4VProcess* anIonisation = new G4MuIonisation(); + // + // add processes + pmanager->AddProcess(anIonisation); + pmanager->AddProcess(aMultipleScattering); + pmanager->AddProcess(aBremsstrahlung); + pmanager->AddProcess(aPairProduction); + // + // set ordering for AlongStepDoIt + pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); + pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); + // + // set ordering for PostStepDoIt + pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); + pmanager->SetProcessOrdering(aBremsstrahlung, idxPostStep,3); + pmanager->SetProcessOrdering(aPairProduction, idxPostStep,4); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + // all others charged particles except geantino + G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* anIonisation = new G4hIonisation(); + // + // add processes + pmanager->AddProcess(anIonisation); + pmanager->AddProcess(aMultipleScattering); + // + // set ordering for AlongStepDoIt + pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); + pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2); + // + // set ordering for PostStepDoIt + pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(anIonisation, idxPostStep,2); + } + } +} + +#include "G4Decay.hh" + +void ExN07PhysicsList::ConstructGeneral() +{ + // Add Decay Process + G4Decay* theDecayProcess = new G4Decay(); + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if (theDecayProcess->IsApplicable(*particle)) { + pmanager ->AddProcess(theDecayProcess); + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); + } + } +} + +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4ProductionCuts.hh" + +void ExN07PhysicsList::SetCuts() +{ + if (verboseLevel >0){ + G4cout << "ExN07PhysicsList::SetCuts: default cut length : " + << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + // These values are used as the default production thresholds + // for the world volume. + SetCutsWithDefault(); + + + // Production thresholds for detector regions + G4String regName[] = {"Calor-A","Calor-B","Calor-C"}; + G4double fuc = 1.; + for(G4int i=0;i<3;i++) + { + G4Region* reg = G4RegionStore::GetInstance()->GetRegion(regName[i]); + G4ProductionCuts* cuts = new G4ProductionCuts; + cuts->SetProductionCut(defaultCutValue*fuc); + reg->SetProductionCuts(cuts); + fuc *= 10.; + } +} + + diff --git a/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc b/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc new file mode 100644 index 0000000000..4f093c41ff --- /dev/null +++ b/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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: ExN07PrimaryGeneratorAction.cc,v 1.1 2003/03/10 01:43:36 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07PrimaryGeneratorAction.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" + +ExN07PrimaryGeneratorAction::ExN07PrimaryGeneratorAction() +:serial(false) +{ + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + // default particle kinematic + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="mu-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.)); + particleGun->SetParticleEnergy(100.*GeV); +} + +ExN07PrimaryGeneratorAction::~ExN07PrimaryGeneratorAction() +{ + delete particleGun; +} + +void ExN07PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +{ + if(serial) + { + particleGun->SetParticlePosition(G4ThreeVector(0.,0.,-3.5*m)); + particleGun->GeneratePrimaryVertex(anEvent); + } + else + { + for(G4int i=0;i<3;i++) + { + particleGun->SetParticlePosition(G4ThreeVector(0.,G4double(i-1)*m,-1.5*m)); + particleGun->GeneratePrimaryVertex(anEvent); + } + } +} + diff --git a/examples/novice/N07/src/ExN07Run.cc b/examples/novice/N07/src/ExN07Run.cc new file mode 100644 index 0000000000..85eec6d619 --- /dev/null +++ b/examples/novice/N07/src/ExN07Run.cc @@ -0,0 +1,90 @@ +// +// ******************************************************************** +// * 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: ExN07Run.cc,v 1.3 2003/04/09 23:20:59 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07Run.hh" +#include "ExN07CalorHit.hh" +#include "ExN07StackingAction.hh" + +#include "G4Event.hh" +#include "G4HCofThisEvent.hh" + +G4Allocator anExN07RunAllocator; + +ExN07Run::ExN07Run() +{ + for(size_t i=0;i<6;i++) + { + totE[i] = 0.; + totL[i] = 0.; + nStep[i] = 0; + nGamma[i] = 0; + nElectron[i] = 0; + nPositron[i] = 0; + eMinGamma[i] = DBL_MAX; + eMinElectron[i] = DBL_MAX; + eMinPositron[i] = DBL_MAX; + } +} + +ExN07Run::~ExN07Run() +{;} + +void ExN07Run::RecordEvent(const G4Event* evt) +{ + G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); + if(!HCE) return; + numberOfEvent++; + for(int j=0;j<6;j++) + { + nGamma[j] += ExN07StackingAction::GetNGamma(j); + nElectron[j] += ExN07StackingAction::GetNElectron(j); + nPositron[j] += ExN07StackingAction::GetNPositron(j); + if(eMinGamma[j]>ExN07StackingAction::GetEMinGamma(j)) + { eMinGamma[j] = ExN07StackingAction::GetEMinGamma(j); } + if(eMinElectron[j]>ExN07StackingAction::GetEMinElectron(j)) + { eMinElectron[j] = ExN07StackingAction::GetEMinElectron(j); } + if(eMinPositron[j]>ExN07StackingAction::GetEMinPositron(j)) + { eMinPositron[j] = ExN07StackingAction::GetEMinPositron(j); } + } + ExN07CalorHitsCollection* CHC = 0; + for(size_t i=0;i<6;i++) + { + if (HCE) CHC = (ExN07CalorHitsCollection*)(HCE->GetHC(i)); + if (CHC) + { + G4int nHit = CHC->entries(); + for (G4int ii=0;iiGetEdep(); + totL[i] += (*CHC)[ii]->GetTrak(); + nStep[i] += (*CHC)[ii]->GetNStep(); + } + } + } +} + + diff --git a/examples/novice/N07/src/ExN07RunAction.cc b/examples/novice/N07/src/ExN07RunAction.cc new file mode 100644 index 0000000000..d3d87e71cf --- /dev/null +++ b/examples/novice/N07/src/ExN07RunAction.cc @@ -0,0 +1,107 @@ +// +// ******************************************************************** +// * 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: ExN07RunAction.cc,v 1.3 2003/04/09 23:20:59 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#include "ExN07RunAction.hh" +#include "ExN07Run.hh" + +#include "G4RegionStore.hh" +#include "G4Region.hh" +#include "G4ProductionCuts.hh" +#include "G4ios.hh" +#include "G4UnitsTable.hh" + +ExN07RunAction::ExN07RunAction() +{;} + +ExN07RunAction::~ExN07RunAction() +{;} + +G4Run* ExN07RunAction::GenerateRun() +{ return new ExN07Run; } + +void ExN07RunAction::EndOfRunAction(const G4Run* aRun) +{ + static G4String regName[3] = {"Calor-A","Calor-B","Calor-C"}; + + const ExN07Run* theRun = (const ExN07Run*)aRun; + + G4cout + << "############################################################" << G4endl; + G4cout + << " Run Summary - Number of events : " << theRun->GetNumberOfEvent() + << G4endl; + G4cout + << "############################################################" << G4endl; + + G4double nEvt = (G4double)(theRun->GetNumberOfEvent()); + for(size_t i=0;i<3;i++) + { + size_t ih1 = 2*i; + size_t ih2 = 2*i+1; + + G4Region* region = G4RegionStore::GetInstance()->GetRegion(regName[i]); + G4ProductionCuts* cuts = region->GetProductionCuts(); + G4cout << "Region : " << region->GetName() << G4endl; + G4cout << " Production thresholds :" << G4endl << " " + << " gamma " << G4BestUnit(cuts->GetProductionCut("gamma"),"Length") + << " e- " << G4BestUnit(cuts->GetProductionCut("e-"),"Length") + << " e+ " << G4BestUnit(cuts->GetProductionCut("e+"),"Length") + << G4endl; + G4cout << " Energy deposition in an event :" << G4endl << " " + << " Absorber " << G4BestUnit((theRun->GetTotalE(ih1))/nEvt,"Energy") + << " Gap " << G4BestUnit((theRun->GetTotalE(ih2))/nEvt,"Energy") + << G4endl; + G4cout << " Number of secondaries in an event :" << G4endl << " " + << " gamma in Absorber " << (theRun->GetNGamma(ih1))/nEvt + << " in Gap " << (theRun->GetNGamma(ih2))/nEvt << G4endl << " " + << " e- in Absorber " << (theRun->GetNElectron(ih1))/nEvt + << " in Gap " << (theRun->GetNElectron(ih2))/nEvt << G4endl << " " + << " e+ in Absorber " << (theRun->GetNPositron(ih1))/nEvt + << " in Gap " << (theRun->GetNPositron(ih2))/nEvt << G4endl; + G4cout << " Minimum kinetic energy of generated secondaries :" << G4endl << " " + << " gamma in Absorber " << G4BestUnit(theRun->GetEMinGamma(ih1),"Energy") + << " in Gap " << G4BestUnit(theRun->GetEMinGamma(ih2),"Energy") + << G4endl << " " + << " e- in Absorber " << G4BestUnit(theRun->GetEMinElectron(ih1),"Energy") + << " in Gap " << G4BestUnit(theRun->GetEMinElectron(ih2),"Energy") + << G4endl << " " + << " e+ in Absorber " << G4BestUnit(theRun->GetEMinPositron(ih1),"Energy") + << " in Gap " << G4BestUnit(theRun->GetEMinPositron(ih2),"Energy") + << G4endl; + G4cout << " Total track length of e+/e- in an event :" << G4endl << " " + << " Absorber " << G4BestUnit((theRun->GetTotalL(ih1))/nEvt,"Length") + << " Gap " << G4BestUnit((theRun->GetTotalL(ih2))/nEvt,"Length") + << G4endl; + G4cout << " Total number of steps of e+/e- in an event :" << G4endl << " " + << " Absorber " << (theRun->GetNStep(ih1))/nEvt + << " Gap " << (theRun->GetNStep(ih2))/nEvt + << G4endl; + G4cout + << "############################################################" << G4endl; + } +} + diff --git a/examples/novice/N07/src/ExN07StackingAction.cc b/examples/novice/N07/src/ExN07StackingAction.cc new file mode 100644 index 0000000000..c537e54472 --- /dev/null +++ b/examples/novice/N07/src/ExN07StackingAction.cc @@ -0,0 +1,97 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// + +#include "ExN07StackingAction.hh" +#include "G4Track.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTypes.hh" +#include "G4TouchableHistory.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VProcess.hh" + +G4int ExN07StackingAction::nGamma[6] = {0,0,0,0,0,0}; +G4int ExN07StackingAction::nElectron[6] = {0,0,0,0,0,0}; +G4int ExN07StackingAction::nPositron[6] = {0,0,0,0,0,0}; +G4double ExN07StackingAction::eMinGamma[6] = {DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX}; +G4double ExN07StackingAction::eMinElectron[6] = {DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX}; +G4double ExN07StackingAction::eMinPositron[6] = {DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX,DBL_MAX}; + +ExN07StackingAction::ExN07StackingAction() +{;} + +ExN07StackingAction::~ExN07StackingAction() +{;} + +G4ClassificationOfNewTrack +ExN07StackingAction::ClassifyNewTrack(const G4Track * aTrack) +{ + G4TouchableHistory* theTouchable + = (G4TouchableHistory*)(aTrack->GetTouchable()); + if(theTouchable&&theTouchable->GetHistoryDepth()>1) + { + G4VPhysicalVolume* calPhys = theTouchable->GetVolume(1); + if(calPhys) + { + G4int i = 0; + if(calPhys->GetName()=="Cal-B") { i = 2; } + else if(calPhys->GetName()=="Cal-C") { i = 4; } + G4int layerNumber = theTouchable->GetReplicaNumber(); + i += layerNumber%2; + G4ParticleDefinition * particleType = aTrack->GetDefinition(); + if(particleType==G4Gamma::GammaDefinition()) + { + nGamma[i]++; + if(eMinGamma[i]>aTrack->GetKineticEnergy()) + { eMinGamma[i]=aTrack->GetKineticEnergy(); } + } + else if(particleType==G4Electron::ElectronDefinition()) + { + nElectron[i]++; + if(eMinElectron[i]>aTrack->GetKineticEnergy()) + { eMinElectron[i]=aTrack->GetKineticEnergy(); } + } + else if(particleType==G4Positron::PositronDefinition()) + { + nPositron[i]++; + if(eMinPositron[i]>aTrack->GetKineticEnergy()) + { eMinPositron[i]=aTrack->GetKineticEnergy(); } + } + } + } + return fUrgent; +} + +void ExN07StackingAction::PrepareNewEvent() +{ + for(int i=0;i<6;i++) + { + nGamma[i] = 0; + nElectron[i] = 0; + nPositron[i] = 0; + eMinGamma[i] = DBL_MAX; + eMinElectron[i] = DBL_MAX; + eMinPositron[i] = DBL_MAX; + } +} + + diff --git a/examples/novice/N07/src/ExN07VisManager.cc b/examples/novice/N07/src/ExN07VisManager.cc new file mode 100755 index 0000000000..2061d3d5e2 --- /dev/null +++ b/examples/novice/N07/src/ExN07VisManager.cc @@ -0,0 +1,145 @@ +// +// ******************************************************************** +// * 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: ExN07VisManager.cc,v 1.1 2003/03/10 01:43:37 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// + +#ifdef G4VIS_USE + +#include "ExN07VisManager.hh" + +// Supported drivers... + +// Not needing external packages or libraries... +#include "G4ASCIITree.hh" +#include "G4DAWNFILE.hh" +#include "G4GAGTree.hh" +#include "G4HepRepFile.hh" +#include "G4HepRep.hh" +#include "G4RayTracer.hh" +#include "G4VRML1File.hh" +#include "G4VRML2File.hh" + +// Needing external packages or libraries... + +#ifdef G4VIS_USE_DAWN +#include "G4FukuiRenderer.hh" +#endif + +#ifdef G4VIS_USE_OPACS +#include "G4Wo.hh" +#include "G4Xo.hh" +#endif + +#ifdef G4VIS_USE_OPENGLX +#include "G4OpenGLImmediateX.hh" +#include "G4OpenGLStoredX.hh" +#endif + +#ifdef G4VIS_USE_OPENGLWIN32 +#include "G4OpenGLImmediateWin32.hh" +#include "G4OpenGLStoredWin32.hh" +#endif + +#ifdef G4VIS_USE_OPENGLXM +#include "G4OpenGLImmediateXm.hh" +#include "G4OpenGLStoredXm.hh" +#endif + +#ifdef G4VIS_USE_OIX +#include "G4OpenInventorX.hh" +#endif + +#ifdef G4VIS_USE_OIWIN32 +#include "G4OpenInventorWin32.hh" +#endif + +#ifdef G4VIS_USE_VRML +#include "G4VRML1.hh" +#include "G4VRML2.hh" +#endif + +ExN07VisManager::ExN07VisManager () {} + +void ExN07VisManager::RegisterGraphicsSystems () { + + // Graphics Systems not needing external packages or libraries... + RegisterGraphicsSystem (new G4ASCIITree); + RegisterGraphicsSystem (new G4DAWNFILE); + RegisterGraphicsSystem (new G4GAGTree); + RegisterGraphicsSystem (new G4HepRepFile); + RegisterGraphicsSystem (new G4HepRep); + RegisterGraphicsSystem (new G4RayTracer); + RegisterGraphicsSystem (new G4VRML1File); + RegisterGraphicsSystem (new G4VRML2File); + + // Graphics systems needing external packages or libraries... + +#ifdef G4VIS_USE_DAWN + RegisterGraphicsSystem (new G4FukuiRenderer); +#endif + +#ifdef G4VIS_USE_OPACS + RegisterGraphicsSystem (new G4Wo); + RegisterGraphicsSystem (new G4Xo); +#endif + +#ifdef G4VIS_USE_OPENGLX + RegisterGraphicsSystem (new G4OpenGLImmediateX); + RegisterGraphicsSystem (new G4OpenGLStoredX); +#endif + +#ifdef G4VIS_USE_OPENGLWIN32 + RegisterGraphicsSystem (new G4OpenGLImmediateWin32); + RegisterGraphicsSystem (new G4OpenGLStoredWin32); +#endif + +#ifdef G4VIS_USE_OPENGLXM + RegisterGraphicsSystem (new G4OpenGLImmediateXm); + RegisterGraphicsSystem (new G4OpenGLStoredXm); +#endif + +#ifdef G4VIS_USE_OIX + RegisterGraphicsSystem (new G4OpenInventorX); +#endif + +#ifdef G4VIS_USE_OIWIN32 + RegisterGraphicsSystem (new G4OpenInventorWin32); +#endif + +#ifdef G4VIS_USE_VRML + RegisterGraphicsSystem (new G4VRML1); + RegisterGraphicsSystem (new G4VRML2); +#endif + + if (fVerbose > 0) { + G4cout << + "\nYou have successfully chosen to use the following graphics systems." + << G4endl; + PrintAvailableGraphicsSystems (); + } +} + +#endif + diff --git a/examples/novice/N07/store.mac b/examples/novice/N07/store.mac new file mode 100644 index 0000000000..8b047afdb1 --- /dev/null +++ b/examples/novice/N07/store.mac @@ -0,0 +1,14 @@ +/control/verbose 2 +/run/setCutForRegion Calor-A 0.2 mm +/run/setCutForRegion Calor-B 2 mm +/run/setCutForRegion Calor-C 2 cm +/run/beamOn 1 +/run/dumpRegion +/run/dumpCouples + +### store physice table +#/run/particle/verbose 3 +/control/shell mkdir -p physTable +### set store format : 0 binary 1 ascii +/run/particle/setStoredInAscii 0 +/run/particle/storePhysicsTable physTable diff --git a/examples/novice/N07/vis.mac b/examples/novice/N07/vis.mac new file mode 100644 index 0000000000..415486df54 --- /dev/null +++ b/examples/novice/N07/vis.mac @@ -0,0 +1,30 @@ +# +# Macro file for the initialization phase of "exampleN02.cc" +# when runing in interactive mode +# +# Sets some default verbose +# +/control/verbose 2 +/run/verbose 2 +# +# create empty scene +# +/vis/scene/create +# +# Create a scene handler for a specific graphics system +# (Edit the next line(s) to choose another graphic system) +# +/vis/open OGLIX +# +# draw scene +# +/vis/viewer/set/viewpointThetaPhi 90 180 deg +/vis/viewer/zoom 1.4 +/vis/viewer/flush +# +# for drawing the tracks +# (if too many tracks cause core dump => storeTrajectory 0) +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +/vis/scene/add/trajectories + diff --git a/examples/novice/README b/examples/novice/README index e12e185aa4..b398d76b63 100644 --- a/examples/novice/README +++ b/examples/novice/README @@ -1,4 +1,4 @@ -$Id: README,v 1.1 1999/01/07 16:05:39 gunter Exp $ +$Id: README,v 1.2 2003/04/11 10:49:35 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,3 +8,35 @@ $Id: README,v 1.1 1999/01/07 16:05:39 gunter Exp $ Novice Examples --------------- +N01 - Simple example to demonstrate how the GEANT4 basic framework works. + No physics involved, only tracking on a simple geometry. +N02 - Simulation of a simplified fixed target experiment. + Includes a simple parameterised geometry. Defines a transverse + uniform magnetic field. Include standard EM physics for gammas, + charged leptons and charged hadrons. Includes visualization and + detector response. +N03 - Simulation of a simple sample Calorimeter setup. + Shows the usage of 'replicated' volumes in the geometry. Defines + user commands for primaries generation (isotropic random distribution). + Defines a transverse uniform magnetic field. Include detector + response and statistics on relevant quantities. Include a tutorial + for visualization, exercising different visualization drivers. +N04 - Defines a simplified collider detector setup. + Demonstrates interfacing to the PYTHIA primary generator. Includes + the definition of a 'readout' geometry. Defines all ordinary physics + processes for leptons and hadrons. Exercises event filtering using + the stacking mechanism. Includes visualization. +N05 - Implements a setup for fast-parameterisation. + Provides a simple shower parameterisation for e+/e-/gamma in a + EM calorimeter, and a pi+/pi- parameterisation using ghost volumes. + Implements parameterised detector response. +N06 - Simulation of optical photons generation and transport. + Defines optical surfaces and exercises optical physics processes + (Cerenkov, Scintillation, Absorption, Rayleigh, ...). Uses stacking + mechanism to count the secondary particles generated. +N07 - Implements three simplified sandwitch calorimeters. + Shows how to modify part of the geometry setup at run-time. Includes + detector description parameterisation by materials. Demonstrates + sharing of a sensitive detector definition for different sub-detectors. + Defines different geometrical regions with different production + thresholds. Shows customization of the G4Run. diff --git a/source/digits+hits/History b/source/digits+hits/History index 9fe14efd6c..5fa47dd8ec 100644 --- a/source/digits+hits/History +++ b/source/digits+hits/History @@ -1,4 +1,4 @@ -$Id: History,v 1.16 2002/11/27 19:03:42 asaim Exp $ +$Id: History,v 1.18 2003/04/23 17:59:04 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,13 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apr 23, 2003, M.Asai (digits_hits-V05-00-02) +- Fix warning messages (M.Dressel) + +Mar 05, 2003, M.Asai (digits_hits-V05-00-00) +- Fix G4VSensitiveDetector::GetCollectionID for more than one + sensitive detector objects instantiated from one detector class. + Nov 27, 2002, M.Asai (digits_hits-V04-01-05) - Fix memory leak in G4SDManager. diff --git a/source/digits+hits/detector/include/G4CellScoreComposer.hh b/source/digits+hits/detector/include/G4CellScoreComposer.hh index 062eb71b03..d7836598ff 100644 --- a/source/digits+hits/detector/include/G4CellScoreComposer.hh +++ b/source/digits+hits/detector/include/G4CellScoreComposer.hh @@ -22,7 +22,7 @@ // // // $Id: G4CellScoreComposer.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CellScoreComposer diff --git a/source/digits+hits/detector/include/G4CellScoreValues.hh b/source/digits+hits/detector/include/G4CellScoreValues.hh index 7e6c67c7bf..cffe09a6d4 100644 --- a/source/digits+hits/detector/include/G4CellScoreValues.hh +++ b/source/digits+hits/detector/include/G4CellScoreValues.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CellScoreValues.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CellScoreValues.hh,v 1.2 2003/04/23 08:01:20 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CellScoreValues @@ -40,7 +40,24 @@ #include "globals.hh" -struct G4CellScoreValues { +class G4CellScoreValues { +public: + G4CellScoreValues() : + fSumSL(0), + fSumSLW(0), + fSumSLW_v(0), + fSumSLWE(0), + fSumSLWE_v(0), + fSumTracksEntering(0), + fSumPopulation(0), + fSumCollisions(0), + fSumCollisionsWeight(0), + fNumberWeightedEnergy(0), + fFluxWeightedEnergy(0), + fAverageTrackWeight(0), + fImportance(0) + {} + G4double fSumSL; G4double fSumSLW; G4double fSumSLW_v; diff --git a/source/digits+hits/detector/include/G4CellStoreScorer.hh b/source/digits+hits/detector/include/G4CellStoreScorer.hh index ed664ee15c..8fd07d86ea 100644 --- a/source/digits+hits/detector/include/G4CellStoreScorer.hh +++ b/source/digits+hits/detector/include/G4CellStoreScorer.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4CellStoreScorer.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CellStoreScorer diff --git a/source/digits+hits/detector/include/G4CollectionNameVector.hh b/source/digits+hits/detector/include/G4CollectionNameVector.hh index c5e0dd2587..15e7c548f5 100644 --- a/source/digits+hits/detector/include/G4CollectionNameVector.hh +++ b/source/digits+hits/detector/include/G4CollectionNameVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4CollectionNameVector.hh,v 1.2 2001/07/11 09:58:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4CollectionNameVector_H diff --git a/source/digits+hits/detector/include/G4HCtable.hh b/source/digits+hits/detector/include/G4HCtable.hh index 870f39425a..719208d786 100644 --- a/source/digits+hits/detector/include/G4HCtable.hh +++ b/source/digits+hits/detector/include/G4HCtable.hh @@ -22,7 +22,7 @@ // // // $Id: G4HCtable.hh,v 1.6 2001/07/11 09:58:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4HCtable_H diff --git a/source/digits+hits/detector/include/G4SDManager.hh b/source/digits+hits/detector/include/G4SDManager.hh index ed43755a3f..b0fcba48fb 100644 --- a/source/digits+hits/detector/include/G4SDManager.hh +++ b/source/digits+hits/detector/include/G4SDManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4SDManager.hh,v 1.4 2001/07/11 09:58:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4SDManager_h diff --git a/source/digits+hits/detector/include/G4SDStructure.hh b/source/digits+hits/detector/include/G4SDStructure.hh index 0e362f1b71..1672f29d37 100644 --- a/source/digits+hits/detector/include/G4SDStructure.hh +++ b/source/digits+hits/detector/include/G4SDStructure.hh @@ -22,7 +22,7 @@ // // // $Id: G4SDStructure.hh,v 1.7 2001/07/13 15:00:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4SDStructure_h diff --git a/source/digits+hits/detector/include/G4SDmessenger.hh b/source/digits+hits/detector/include/G4SDmessenger.hh index ace7b73971..ed67fc1c1d 100644 --- a/source/digits+hits/detector/include/G4SDmessenger.hh +++ b/source/digits+hits/detector/include/G4SDmessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4SDmessenger.hh,v 1.4 2001/07/11 09:58:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4SDmessenger_h diff --git a/source/digits+hits/detector/include/G4SensitiveVolumeList.hh b/source/digits+hits/detector/include/G4SensitiveVolumeList.hh index 1304c29aae..3464c75a72 100644 --- a/source/digits+hits/detector/include/G4SensitiveVolumeList.hh +++ b/source/digits+hits/detector/include/G4SensitiveVolumeList.hh @@ -22,7 +22,7 @@ // // // $Id: G4SensitiveVolumeList.hh,v 1.6 2001/07/11 09:58:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1996 diff --git a/source/digits+hits/detector/include/G4SensitiveVolumeList.icc b/source/digits+hits/detector/include/G4SensitiveVolumeList.icc index 887cb9f05f..788ffa3b75 100644 --- a/source/digits+hits/detector/include/G4SensitiveVolumeList.icc +++ b/source/digits+hits/detector/include/G4SensitiveVolumeList.icc @@ -22,7 +22,7 @@ // // // $Id: G4SensitiveVolumeList.icc,v 1.5 2001/07/11 09:58:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------- // Inline functions of GEANT 4 class header file. diff --git a/source/digits+hits/detector/include/G4TrackLogger.hh b/source/digits+hits/detector/include/G4TrackLogger.hh index e1c609208b..3effd773bd 100644 --- a/source/digits+hits/detector/include/G4TrackLogger.hh +++ b/source/digits+hits/detector/include/G4TrackLogger.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4TrackLogger.hh,v 1.1 2002/10/28 10:01:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4TrackLogger diff --git a/source/digits+hits/detector/include/G4VReadOutGeometry.hh b/source/digits+hits/detector/include/G4VReadOutGeometry.hh index 2e38e80043..54a356a98e 100644 --- a/source/digits+hits/detector/include/G4VReadOutGeometry.hh +++ b/source/digits+hits/detector/include/G4VReadOutGeometry.hh @@ -22,7 +22,7 @@ // // // $Id: G4VReadOutGeometry.hh,v 1.3 2001/07/11 09:58:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ diff --git a/source/digits+hits/detector/include/G4VSensitiveDetector.hh b/source/digits+hits/detector/include/G4VSensitiveDetector.hh index a3f53fe47f..6e339d8c8a 100644 --- a/source/digits+hits/detector/include/G4VSensitiveDetector.hh +++ b/source/digits+hits/detector/include/G4VSensitiveDetector.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSensitiveDetector.hh,v 1.7 2001/07/13 15:00:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VSensitiveDetector_h diff --git a/source/digits+hits/detector/src/G4CellScoreComposer.cc b/source/digits+hits/detector/src/G4CellScoreComposer.cc index eb146a1521..f19585919e 100644 --- a/source/digits+hits/detector/src/G4CellScoreComposer.cc +++ b/source/digits+hits/detector/src/G4CellScoreComposer.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CellScoreComposer.cc,v 1.2 2002/11/04 10:51:49 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CellScoreComposer.cc,v 1.3 2003/04/23 08:01:57 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -34,11 +34,10 @@ #include "G4CellScoreComposer.hh" #include "G4Step.hh" -G4CellScoreComposer::G4CellScoreComposer() -{ - G4CellScoreValues v = {0}; - fSCScoreValues = v; -} +G4CellScoreComposer::G4CellScoreComposer(): + fSCScoreValues() +{} + G4CellScoreComposer::~G4CellScoreComposer() {} diff --git a/source/digits+hits/detector/src/G4CellStoreScorer.cc b/source/digits+hits/detector/src/G4CellStoreScorer.cc index 7f6b5e5800..e39a6c362b 100644 --- a/source/digits+hits/detector/src/G4CellStoreScorer.cc +++ b/source/digits+hits/detector/src/G4CellStoreScorer.cc @@ -22,7 +22,7 @@ // // // $Id: G4CellStoreScorer.cc,v 1.2 2002/11/04 10:51:49 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/digits+hits/detector/src/G4HCtable.cc b/source/digits+hits/detector/src/G4HCtable.cc index 4d9dbb94cb..4072774383 100644 --- a/source/digits+hits/detector/src/G4HCtable.cc +++ b/source/digits+hits/detector/src/G4HCtable.cc @@ -22,7 +22,7 @@ // // // $Id: G4HCtable.cc,v 1.6 2001/07/13 15:00:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HCtable.hh" diff --git a/source/digits+hits/detector/src/G4SDManager.cc b/source/digits+hits/detector/src/G4SDManager.cc index 8a538646cb..0de1ba7799 100644 --- a/source/digits+hits/detector/src/G4SDManager.cc +++ b/source/digits+hits/detector/src/G4SDManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4SDManager.cc,v 1.5 2002/11/27 19:03:42 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4SDManager.hh" diff --git a/source/digits+hits/detector/src/G4SDStructure.cc b/source/digits+hits/detector/src/G4SDStructure.cc index 48d5605285..6d38a06780 100644 --- a/source/digits+hits/detector/src/G4SDStructure.cc +++ b/source/digits+hits/detector/src/G4SDStructure.cc @@ -22,7 +22,7 @@ // // // $Id: G4SDStructure.cc,v 1.7 2002/11/27 19:03:42 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4SDStructure diff --git a/source/digits+hits/detector/src/G4SDmessenger.cc b/source/digits+hits/detector/src/G4SDmessenger.cc index 9269edab84..9535a67ea8 100644 --- a/source/digits+hits/detector/src/G4SDmessenger.cc +++ b/source/digits+hits/detector/src/G4SDmessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4SDmessenger.cc,v 1.3 2001/07/11 09:58:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------------------------------------------------------------- diff --git a/source/digits+hits/detector/src/G4SensitiveVolumeList.cc b/source/digits+hits/detector/src/G4SensitiveVolumeList.cc index 958cfba015..aa27c65635 100644 --- a/source/digits+hits/detector/src/G4SensitiveVolumeList.cc +++ b/source/digits+hits/detector/src/G4SensitiveVolumeList.cc @@ -22,7 +22,7 @@ // // // $Id: G4SensitiveVolumeList.cc,v 1.5 2001/07/13 15:00:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/digits+hits/detector/src/G4TrackLogger.cc b/source/digits+hits/detector/src/G4TrackLogger.cc index 64499c395f..18e10c8505 100644 --- a/source/digits+hits/detector/src/G4TrackLogger.cc +++ b/source/digits+hits/detector/src/G4TrackLogger.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrackLogger.cc,v 1.2 2002/11/04 10:51:49 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/digits+hits/detector/src/G4VReadOutGeometry.cc b/source/digits+hits/detector/src/G4VReadOutGeometry.cc index c257dc4729..5b948436e7 100644 --- a/source/digits+hits/detector/src/G4VReadOutGeometry.cc +++ b/source/digits+hits/detector/src/G4VReadOutGeometry.cc @@ -22,7 +22,7 @@ // // // $Id: G4VReadOutGeometry.cc,v 1.5 2001/07/13 15:00:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VReadOutGeometry.hh" diff --git a/source/digits+hits/detector/src/G4VSensitiveDetector.cc b/source/digits+hits/detector/src/G4VSensitiveDetector.cc index 3649342882..3578532c0c 100644 --- a/source/digits+hits/detector/src/G4VSensitiveDetector.cc +++ b/source/digits+hits/detector/src/G4VSensitiveDetector.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VSensitiveDetector.cc,v 1.5 2001/07/13 15:00:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VSensitiveDetector.cc,v 1.6 2003/03/06 00:35:40 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VSensitiveDetector #include "G4VSensitiveDetector.hh" @@ -73,7 +73,7 @@ G4int G4VSensitiveDetector::operator!=(const G4VSensitiveDetector &right) const G4int G4VSensitiveDetector::GetCollectionID(G4int i) { - return G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[i]); + return G4SDManager::GetSDMpointer()->GetCollectionID(SensitiveDetectorName+"/"+collectionName[i]); } //----- following methoods are abstract methods to be diff --git a/source/digits+hits/digits/include/G4DCofThisEvent.hh b/source/digits+hits/digits/include/G4DCofThisEvent.hh index 49b40c98d2..98e72e8e27 100644 --- a/source/digits+hits/digits/include/G4DCofThisEvent.hh +++ b/source/digits+hits/digits/include/G4DCofThisEvent.hh @@ -22,7 +22,7 @@ // // // $Id: G4DCofThisEvent.hh,v 1.7 2001/07/13 15:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4DCofThisEvent_h diff --git a/source/digits+hits/digits/include/G4TDigiCollection.hh b/source/digits+hits/digits/include/G4TDigiCollection.hh index 5b9f3708d2..d0154f2f03 100644 --- a/source/digits+hits/digits/include/G4TDigiCollection.hh +++ b/source/digits+hits/digits/include/G4TDigiCollection.hh @@ -22,7 +22,7 @@ // // // $Id: G4TDigiCollection.hh,v 1.10 2001/07/13 15:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4TDigiCollection_h diff --git a/source/digits+hits/digits/include/G4VDigi.hh b/source/digits+hits/digits/include/G4VDigi.hh index 6c5b0b1fff..96d306f508 100644 --- a/source/digits+hits/digits/include/G4VDigi.hh +++ b/source/digits+hits/digits/include/G4VDigi.hh @@ -22,7 +22,7 @@ // // // $Id: G4VDigi.hh,v 1.7 2001/07/13 15:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VDigi_h diff --git a/source/digits+hits/digits/include/G4VDigiCollection.hh b/source/digits+hits/digits/include/G4VDigiCollection.hh index ff6609b5f7..335bf7ff16 100644 --- a/source/digits+hits/digits/include/G4VDigiCollection.hh +++ b/source/digits+hits/digits/include/G4VDigiCollection.hh @@ -22,7 +22,7 @@ // // // $Id: G4VDigiCollection.hh,v 1.7 2001/07/13 15:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VDigiCollection_h diff --git a/source/digits+hits/digits/src/G4DCofThisEvent.cc b/source/digits+hits/digits/src/G4DCofThisEvent.cc index 955014a4f5..bbf84a089a 100644 --- a/source/digits+hits/digits/src/G4DCofThisEvent.cc +++ b/source/digits+hits/digits/src/G4DCofThisEvent.cc @@ -22,7 +22,7 @@ // // // $Id: G4DCofThisEvent.cc,v 1.6 2001/07/13 15:00:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4DCofThisEvent.hh" diff --git a/source/digits+hits/digits/src/G4TDigiCollection.cc b/source/digits+hits/digits/src/G4TDigiCollection.cc index 260cabab71..54d9b2abe1 100644 --- a/source/digits+hits/digits/src/G4TDigiCollection.cc +++ b/source/digits+hits/digits/src/G4TDigiCollection.cc @@ -22,7 +22,7 @@ // // // $Id: G4TDigiCollection.cc,v 1.4 2001/07/13 15:00:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4TDigiCollection.hh" diff --git a/source/digits+hits/digits/src/G4VDigi.cc b/source/digits+hits/digits/src/G4VDigi.cc index 8ec333620c..4d791f6a7c 100644 --- a/source/digits+hits/digits/src/G4VDigi.cc +++ b/source/digits+hits/digits/src/G4VDigi.cc @@ -22,7 +22,7 @@ // // // $Id: G4VDigi.cc,v 1.6 2001/07/13 15:00:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VDigi diff --git a/source/digits+hits/digits/src/G4VDigiCollection.cc b/source/digits+hits/digits/src/G4VDigiCollection.cc index f64c7e87f9..9be5924b85 100644 --- a/source/digits+hits/digits/src/G4VDigiCollection.cc +++ b/source/digits+hits/digits/src/G4VDigiCollection.cc @@ -22,7 +22,7 @@ // // // $Id: G4VDigiCollection.cc,v 1.6 2001/07/13 15:00:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VDigiCollection diff --git a/source/digits+hits/hits/include/G4HCofThisEvent.hh b/source/digits+hits/hits/include/G4HCofThisEvent.hh index ee7b4ffab6..e4088d74bf 100644 --- a/source/digits+hits/hits/include/G4HCofThisEvent.hh +++ b/source/digits+hits/hits/include/G4HCofThisEvent.hh @@ -22,7 +22,7 @@ // // // $Id: G4HCofThisEvent.hh,v 1.7 2001/07/13 15:00:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4HCofThisEvent_h diff --git a/source/digits+hits/hits/include/G4THitsCollection.hh b/source/digits+hits/hits/include/G4THitsCollection.hh index e1cf6b5144..e64df2d99f 100644 --- a/source/digits+hits/hits/include/G4THitsCollection.hh +++ b/source/digits+hits/hits/include/G4THitsCollection.hh @@ -22,7 +22,7 @@ // // // $Id: G4THitsCollection.hh,v 1.11 2002/10/18 14:36:11 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4THitsCollection_h diff --git a/source/digits+hits/hits/include/G4VHit.hh b/source/digits+hits/hits/include/G4VHit.hh index 9a81effefd..43a6749474 100644 --- a/source/digits+hits/hits/include/G4VHit.hh +++ b/source/digits+hits/hits/include/G4VHit.hh @@ -22,7 +22,7 @@ // // // $Id: G4VHit.hh,v 1.9 2002/10/28 11:08:48 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VHit_h diff --git a/source/digits+hits/hits/include/G4VHitsCollection.hh b/source/digits+hits/hits/include/G4VHitsCollection.hh index fc3b445be6..56a08849ed 100644 --- a/source/digits+hits/hits/include/G4VHitsCollection.hh +++ b/source/digits+hits/hits/include/G4VHitsCollection.hh @@ -22,7 +22,7 @@ // // // $Id: G4VHitsCollection.hh,v 1.10 2002/10/30 16:20:06 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VHitsCollection_h diff --git a/source/digits+hits/hits/src/G4HCofThisEvent.cc b/source/digits+hits/hits/src/G4HCofThisEvent.cc index 118ea27b83..92907e5b13 100644 --- a/source/digits+hits/hits/src/G4HCofThisEvent.cc +++ b/source/digits+hits/hits/src/G4HCofThisEvent.cc @@ -22,7 +22,7 @@ // // // $Id: G4HCofThisEvent.cc,v 1.6 2001/07/13 15:00:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HCofThisEvent.hh" diff --git a/source/digits+hits/hits/src/G4THitsCollection.cc b/source/digits+hits/hits/src/G4THitsCollection.cc index 9d0d5fff19..54c29bab48 100644 --- a/source/digits+hits/hits/src/G4THitsCollection.cc +++ b/source/digits+hits/hits/src/G4THitsCollection.cc @@ -22,7 +22,7 @@ // // // $Id: G4THitsCollection.cc,v 1.3 2001/07/11 09:58:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4THitsCollection.hh" diff --git a/source/digits+hits/hits/src/G4VHit.cc b/source/digits+hits/hits/src/G4VHit.cc index 497cea2c7e..4e6582caf8 100644 --- a/source/digits+hits/hits/src/G4VHit.cc +++ b/source/digits+hits/hits/src/G4VHit.cc @@ -22,7 +22,7 @@ // // // $Id: G4VHit.cc,v 1.4 2001/07/13 15:00:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VHit diff --git a/source/digits+hits/hits/src/G4VHitsCollection.cc b/source/digits+hits/hits/src/G4VHitsCollection.cc index aea14c505b..ca25d2325c 100644 --- a/source/digits+hits/hits/src/G4VHitsCollection.cc +++ b/source/digits+hits/hits/src/G4VHitsCollection.cc @@ -22,7 +22,7 @@ // // // $Id: G4VHitsCollection.cc,v 1.4 2001/07/13 15:00:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VHitsCollection diff --git a/source/event/include/G4CellScorer.hh b/source/event/include/G4CellScorer.hh index df9ea80ca7..fcecfadb17 100644 --- a/source/event/include/G4CellScorer.hh +++ b/source/event/include/G4CellScorer.hh @@ -22,7 +22,7 @@ // // // $Id: G4CellScorer.hh,v 1.1 2002/10/28 10:06:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CellScorer diff --git a/source/event/include/G4CellScorerStore.hh b/source/event/include/G4CellScorerStore.hh index cb3270a48c..cb3d294202 100644 --- a/source/event/include/G4CellScorerStore.hh +++ b/source/event/include/G4CellScorerStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4CellScorerStore.hh,v 1.1 2002/10/28 10:06:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CellScorerStore diff --git a/source/event/include/G4ClassificationOfNewTrack.hh b/source/event/include/G4ClassificationOfNewTrack.hh index af9e013184..e58effe7b6 100644 --- a/source/event/include/G4ClassificationOfNewTrack.hh +++ b/source/event/include/G4ClassificationOfNewTrack.hh @@ -22,7 +22,7 @@ // // // $Id: G4ClassificationOfNewTrack.hh,v 1.5 2001/07/19 00:14:15 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4EvManMessenger.hh b/source/event/include/G4EvManMessenger.hh index 53a44c0301..b2b6d7e280 100644 --- a/source/event/include/G4EvManMessenger.hh +++ b/source/event/include/G4EvManMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvManMessenger.hh,v 1.4 2001/07/11 09:58:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4EvManMessenger_h diff --git a/source/event/include/G4Event.hh b/source/event/include/G4Event.hh index 68b1dd6916..021a171a64 100644 --- a/source/event/include/G4Event.hh +++ b/source/event/include/G4Event.hh @@ -22,7 +22,7 @@ // // // $Id: G4Event.hh,v 1.6 2002/08/13 18:17:53 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4Event_h diff --git a/source/event/include/G4EventManager.hh b/source/event/include/G4EventManager.hh index e1f0773bb4..c390c2c411 100644 --- a/source/event/include/G4EventManager.hh +++ b/source/event/include/G4EventManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4EventManager.hh,v 1.9 2001/07/19 00:14:15 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4GeneralParticleSource.hh b/source/event/include/G4GeneralParticleSource.hh index 1e2b6f776b..9fe727f2aa 100644 --- a/source/event/include/G4GeneralParticleSource.hh +++ b/source/event/include/G4GeneralParticleSource.hh @@ -32,7 +32,7 @@ // /////////////////////////////////////////////////////////////////////////////// // $Id: G4GeneralParticleSource.hh,v 1.7 2001/10/19 16:48:28 flei Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ /////////////////////////////////////////////////////////////////////////////// // // Class Description: diff --git a/source/event/include/G4GeneralParticleSourceMessenger.hh b/source/event/include/G4GeneralParticleSourceMessenger.hh index c5dfb4ffa0..187b3e8310 100644 --- a/source/event/include/G4GeneralParticleSourceMessenger.hh +++ b/source/event/include/G4GeneralParticleSourceMessenger.hh @@ -32,7 +32,7 @@ // /////////////////////////////////////////////////////////////////////////////// // $Id: G4GeneralParticleSourceMessenger.hh,v 1.8 2002/02/26 16:34:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ /////////////////////////////////////////////////////////////////////////////// // // Class Description: diff --git a/source/event/include/G4HEPEvtInterface.hh b/source/event/include/G4HEPEvtInterface.hh index bc62c39c7b..8d9906bd25 100644 --- a/source/event/include/G4HEPEvtInterface.hh +++ b/source/event/include/G4HEPEvtInterface.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEPEvtInterface.hh,v 1.6 2001/07/11 09:58:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4HEPEvtInterface_h diff --git a/source/event/include/G4HEPEvtParticle.hh b/source/event/include/G4HEPEvtParticle.hh index a4ed1d272d..2bc69596e2 100644 --- a/source/event/include/G4HEPEvtParticle.hh +++ b/source/event/include/G4HEPEvtParticle.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEPEvtParticle.hh,v 1.5 2001/07/13 15:01:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4ParticleGun.hh b/source/event/include/G4ParticleGun.hh index e67724866a..4de43df993 100644 --- a/source/event/include/G4ParticleGun.hh +++ b/source/event/include/G4ParticleGun.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleGun.hh,v 1.7 2001/11/20 23:21:41 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4ParticleGun_h diff --git a/source/event/include/G4ParticleGunMessenger.hh b/source/event/include/G4ParticleGunMessenger.hh index ab4fc24851..3e7bf89ee6 100644 --- a/source/event/include/G4ParticleGunMessenger.hh +++ b/source/event/include/G4ParticleGunMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleGunMessenger.hh,v 1.7 2002/02/26 16:34:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4PrimaryParticle.hh b/source/event/include/G4PrimaryParticle.hh index b3e06f3c3d..aea5f30dec 100644 --- a/source/event/include/G4PrimaryParticle.hh +++ b/source/event/include/G4PrimaryParticle.hh @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryParticle.hh,v 1.10 2001/07/13 15:01:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4PrimaryTransformer.hh b/source/event/include/G4PrimaryTransformer.hh index 0cd8543579..a477daf387 100644 --- a/source/event/include/G4PrimaryTransformer.hh +++ b/source/event/include/G4PrimaryTransformer.hh @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryTransformer.hh,v 1.6 2001/07/18 01:25:44 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4PromaryTransformer_h diff --git a/source/event/include/G4PrimaryVertex.hh b/source/event/include/G4PrimaryVertex.hh index a1b4cf6bbf..c4cb4cba6e 100644 --- a/source/event/include/G4PrimaryVertex.hh +++ b/source/event/include/G4PrimaryVertex.hh @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryVertex.hh,v 1.7 2001/07/13 15:01:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4ScoreTable.hh b/source/event/include/G4ScoreTable.hh index 78b21d5396..8b27bc6032 100644 --- a/source/event/include/G4ScoreTable.hh +++ b/source/event/include/G4ScoreTable.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4ScoreTable.hh,v 1.1 2002/10/28 10:06:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ScoreTable diff --git a/source/event/include/G4Scorer.hh b/source/event/include/G4Scorer.hh index 7e6602f272..d354a087c9 100644 --- a/source/event/include/G4Scorer.hh +++ b/source/event/include/G4Scorer.hh @@ -22,7 +22,7 @@ // // // $Id: G4Scorer.hh,v 1.1 2002/10/28 10:06:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Scorer diff --git a/source/event/include/G4StackManager.hh b/source/event/include/G4StackManager.hh index 8a1d963c56..a6094ef439 100644 --- a/source/event/include/G4StackManager.hh +++ b/source/event/include/G4StackManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4StackManager.hh,v 1.10 2002/08/24 17:36:23 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/include/G4StackedTrack.hh b/source/event/include/G4StackedTrack.hh index 5070552571..49f9b735eb 100644 --- a/source/event/include/G4StackedTrack.hh +++ b/source/event/include/G4StackedTrack.hh @@ -22,7 +22,7 @@ // // // $Id: G4StackedTrack.hh,v 1.6 2001/07/13 15:01:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/include/G4StackingMessenger.hh b/source/event/include/G4StackingMessenger.hh index 19ef8d5c6a..b3e23db55c 100644 --- a/source/event/include/G4StackingMessenger.hh +++ b/source/event/include/G4StackingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4StackingMessenger.hh,v 1.4 2001/07/11 09:58:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4StackingMessenger_h diff --git a/source/event/include/G4TrackStack.hh b/source/event/include/G4TrackStack.hh index 24456b7231..f7ba4aea7e 100644 --- a/source/event/include/G4TrackStack.hh +++ b/source/event/include/G4TrackStack.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackStack.hh,v 1.5 2001/07/13 15:01:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/include/G4TrajectoryContainer.hh b/source/event/include/G4TrajectoryContainer.hh index 40538648d2..8515840d99 100644 --- a/source/event/include/G4TrajectoryContainer.hh +++ b/source/event/include/G4TrajectoryContainer.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoryContainer.hh,v 1.10 2002/06/08 20:36:18 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4TrajectoryContainer diff --git a/source/event/include/G4UserEventAction.hh b/source/event/include/G4UserEventAction.hh index 5d3d9f3976..a62b772120 100644 --- a/source/event/include/G4UserEventAction.hh +++ b/source/event/include/G4UserEventAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserEventAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/event/include/G4UserStackingAction.hh b/source/event/include/G4UserStackingAction.hh index 889e1983e9..91f55cc145 100644 --- a/source/event/include/G4UserStackingAction.hh +++ b/source/event/include/G4UserStackingAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserStackingAction.hh,v 1.5 2001/07/11 09:58:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UserStackingAction_h diff --git a/source/event/include/G4VPrimaryGenerator.hh b/source/event/include/G4VPrimaryGenerator.hh index 7681f2253e..00980cb7bc 100644 --- a/source/event/include/G4VPrimaryGenerator.hh +++ b/source/event/include/G4VPrimaryGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPrimaryGenerator.hh,v 1.6 2001/11/21 13:48:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VPrimaryGenerator_h diff --git a/source/event/include/eventgendefs.hh b/source/event/include/eventgendefs.hh index be4cb4139d..e35d472208 100644 --- a/source/event/include/eventgendefs.hh +++ b/source/event/include/eventgendefs.hh @@ -22,7 +22,7 @@ // // // $Id: eventgendefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef EventGenerator_DEBUG #define EventGenerator_DEBUG diff --git a/source/event/include/evmandefs.hh b/source/event/include/evmandefs.hh index 5e31c4c913..f2e1caffc2 100644 --- a/source/event/include/evmandefs.hh +++ b/source/event/include/evmandefs.hh @@ -22,7 +22,7 @@ // // // $Id: evmandefs.hh,v 1.3 2001/07/11 09:58:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ///#define G4EVENTMANAGER_DEBUG 1 diff --git a/source/event/include/trajectoryControl.hh b/source/event/include/trajectoryControl.hh index 09b59c36f0..6fa0b919f8 100644 --- a/source/event/include/trajectoryControl.hh +++ b/source/event/include/trajectoryControl.hh @@ -22,7 +22,7 @@ // // // $Id: trajectoryControl.hh,v 1.3 2001/07/11 09:58:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ////#define G4_STORE_TRAJECTORY 1 diff --git a/source/event/src/G4CellScorer.cc b/source/event/src/G4CellScorer.cc index e2ee37698d..ddb28b449a 100644 --- a/source/event/src/G4CellScorer.cc +++ b/source/event/src/G4CellScorer.cc @@ -22,7 +22,7 @@ // // // $Id: G4CellScorer.cc,v 1.2 2002/11/23 12:30:40 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4CellScorerStore.cc b/source/event/src/G4CellScorerStore.cc index 713acbc10d..4701e01a46 100644 --- a/source/event/src/G4CellScorerStore.cc +++ b/source/event/src/G4CellScorerStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4CellScorerStore.cc,v 1.2 2002/11/04 10:52:39 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4EvManMessenger.cc b/source/event/src/G4EvManMessenger.cc index 4bef0aadb4..c1fd78bb6f 100644 --- a/source/event/src/G4EvManMessenger.cc +++ b/source/event/src/G4EvManMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvManMessenger.cc,v 1.4 2002/12/04 18:43:15 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4Event.cc b/source/event/src/G4Event.cc index 3776111f80..37b55af2b7 100644 --- a/source/event/src/G4Event.cc +++ b/source/event/src/G4Event.cc @@ -22,7 +22,7 @@ // // // $Id: G4Event.cc,v 1.5 2002/08/13 18:17:53 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4Event diff --git a/source/event/src/G4EventManager.cc b/source/event/src/G4EventManager.cc index 8b5b6aa4d9..f062954273 100644 --- a/source/event/src/G4EventManager.cc +++ b/source/event/src/G4EventManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4EventManager.cc,v 1.12 2002/05/15 05:47:49 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/event/src/G4GeneralParticleSource.cc b/source/event/src/G4GeneralParticleSource.cc index e7d4728610..6efff48960 100644 --- a/source/event/src/G4GeneralParticleSource.cc +++ b/source/event/src/G4GeneralParticleSource.cc @@ -39,7 +39,7 @@ // /////////////////////////////////////////////////////////////////////////////// // $Id: G4GeneralParticleSource.cc,v 1.14 2001/10/19 16:48:28 flei Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ /////////////////////////////////////////////////////////////////////////////// // // CHANGE HISTORY diff --git a/source/event/src/G4HEPEvtInterface.cc b/source/event/src/G4HEPEvtInterface.cc index 83764544fe..6fa30b79a5 100644 --- a/source/event/src/G4HEPEvtInterface.cc +++ b/source/event/src/G4HEPEvtInterface.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEPEvtInterface.cc,v 1.7 2001/11/20 23:21:41 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/event/src/G4HEPEvtParticle.cc b/source/event/src/G4HEPEvtParticle.cc index e82fa63f57..e32ae048a5 100644 --- a/source/event/src/G4HEPEvtParticle.cc +++ b/source/event/src/G4HEPEvtParticle.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEPEvtParticle.cc,v 1.4 2001/07/13 15:01:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/event/src/G4ParticleGun.cc b/source/event/src/G4ParticleGun.cc index f0946469f7..7ed54634bc 100644 --- a/source/event/src/G4ParticleGun.cc +++ b/source/event/src/G4ParticleGun.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleGun.cc,v 1.6 2001/11/20 23:21:41 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4ParticleGun diff --git a/source/event/src/G4ParticleGunMessenger.cc b/source/event/src/G4ParticleGunMessenger.cc index 0a81633210..c2f1310418 100644 --- a/source/event/src/G4ParticleGunMessenger.cc +++ b/source/event/src/G4ParticleGunMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleGunMessenger.cc,v 1.8 2002/02/26 16:34:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ParticleGunMessenger.hh" diff --git a/source/event/src/G4PrimaryParticle.cc b/source/event/src/G4PrimaryParticle.cc index 8b16cff87e..5f8863d14b 100644 --- a/source/event/src/G4PrimaryParticle.cc +++ b/source/event/src/G4PrimaryParticle.cc @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryParticle.cc,v 1.9 2002/08/19 20:20:18 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4PrimaryParticle.hh" diff --git a/source/event/src/G4PrimaryTransformer.cc b/source/event/src/G4PrimaryTransformer.cc index eaf1605461..c915c4e991 100644 --- a/source/event/src/G4PrimaryTransformer.cc +++ b/source/event/src/G4PrimaryTransformer.cc @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryTransformer.cc,v 1.15 2002/08/19 20:20:18 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4PrimaryTransformer.hh" diff --git a/source/event/src/G4PrimaryVertex.cc b/source/event/src/G4PrimaryVertex.cc index b3e6734d49..da2dedf1e3 100644 --- a/source/event/src/G4PrimaryVertex.cc +++ b/source/event/src/G4PrimaryVertex.cc @@ -22,7 +22,7 @@ // // // $Id: G4PrimaryVertex.cc,v 1.5 2001/07/13 15:01:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4PrimaryVertex.hh" diff --git a/source/event/src/G4ScoreTable.cc b/source/event/src/G4ScoreTable.cc index fc1afb7fbf..594345cc5c 100644 --- a/source/event/src/G4ScoreTable.cc +++ b/source/event/src/G4ScoreTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4ScoreTable.cc,v 1.2 2002/11/04 10:52:39 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4Scorer.cc b/source/event/src/G4Scorer.cc index 89bbd51966..e4ccfb7800 100644 --- a/source/event/src/G4Scorer.cc +++ b/source/event/src/G4Scorer.cc @@ -22,7 +22,7 @@ // // // $Id: G4Scorer.cc,v 1.1 2002/10/28 10:06:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4StackManager.cc b/source/event/src/G4StackManager.cc index 10d1603824..a69912e347 100644 --- a/source/event/src/G4StackManager.cc +++ b/source/event/src/G4StackManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4StackManager.cc,v 1.8 2002/12/03 17:04:22 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/src/G4StackedTrack.cc b/source/event/src/G4StackedTrack.cc index 5d8f734c3c..36e0a05f12 100644 --- a/source/event/src/G4StackedTrack.cc +++ b/source/event/src/G4StackedTrack.cc @@ -22,7 +22,7 @@ // // // $Id: G4StackedTrack.cc,v 1.5 2001/07/13 15:01:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/src/G4StackingMessenger.cc b/source/event/src/G4StackingMessenger.cc index e84c64c7ee..bc00afbd66 100644 --- a/source/event/src/G4StackingMessenger.cc +++ b/source/event/src/G4StackingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4StackingMessenger.cc,v 1.4 2002/12/04 18:43:15 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4TrackStack.cc b/source/event/src/G4TrackStack.cc index 35a1fba799..4df708c8eb 100644 --- a/source/event/src/G4TrackStack.cc +++ b/source/event/src/G4TrackStack.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrackStack.cc,v 1.5 2002/12/03 17:04:22 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4TrackStack.hh" diff --git a/source/event/src/G4TrajectoryContainer.cc b/source/event/src/G4TrajectoryContainer.cc index 8bb90cc051..f8920d3c8f 100644 --- a/source/event/src/G4TrajectoryContainer.cc +++ b/source/event/src/G4TrajectoryContainer.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoryContainer.cc,v 1.2 2002/10/06 11:46:48 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4TrajectoryContainer.hh" diff --git a/source/event/src/G4UserEventAction.cc b/source/event/src/G4UserEventAction.cc index c4baa6322c..4f1d4535a9 100644 --- a/source/event/src/G4UserEventAction.cc +++ b/source/event/src/G4UserEventAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4UserEventAction.cc,v 1.4 2001/07/11 09:58:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UserEventAction.hh" diff --git a/source/event/src/G4UserStackingAction.cc b/source/event/src/G4UserStackingAction.cc index 3170b26c71..b3fd43f5d1 100644 --- a/source/event/src/G4UserStackingAction.cc +++ b/source/event/src/G4UserStackingAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4UserStackingAction.cc,v 1.4 2001/07/11 09:58:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UserStackingAction.hh" diff --git a/source/event/src/G4VPrimaryGenerator.cc b/source/event/src/G4VPrimaryGenerator.cc index 4988f9112a..9d69a86771 100644 --- a/source/event/src/G4VPrimaryGenerator.cc +++ b/source/event/src/G4VPrimaryGenerator.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPrimaryGenerator.cc,v 1.3 2001/07/11 09:58:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VPrimaryGenerator diff --git a/source/g3tog4/History b/source/g3tog4/History index f24066320f..138552eec7 100644 --- a/source/g3tog4/History +++ b/source/g3tog4/History @@ -1,8 +1,17 @@ -$Id: History,v 1.49 2002/10/23 17:21:39 gcosmo Exp $ +$Id: History,v 1.51 2003/04/03 11:31:15 gcosmo Exp $ G3toG4 Modification History (reverse chronological order, please !) -------------------------------------------------------------------- +g3tog4-V05-00-01 03-Apr-2003 G.Cosmo +- Cleared trivial strict pedantic warnings. + +g3tog4-V05-00-00 27-Jan-2003 G.Cosmo +- G4gstmed[.hh.cc] (I.Hrivnacova): + o added get functions for the medium table entries: + G4int GetSize() const + G3MedTableEntry* GetMTE(G4int i) const + g3tog4-V04-01-00 23-Oct-2002 G.Cosmo - G4gsdvn.cc, G4gsposp.cc (I.Hrivnacova): o fix to enable larger number of clone volumes diff --git a/source/g3tog4/include/G3DetTable.hh b/source/g3tog4/include/G3DetTable.hh index 9615708ffc..359c31a09e 100644 --- a/source/g3tog4/include/G3DetTable.hh +++ b/source/g3tog4/include/G3DetTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3DetTable.hh,v 1.7 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G3DetTable class diff --git a/source/g3tog4/include/G3DetTableEntry.hh b/source/g3tog4/include/G3DetTableEntry.hh index 933a94a7e9..26838ecb8a 100644 --- a/source/g3tog4/include/G3DetTableEntry.hh +++ b/source/g3tog4/include/G3DetTableEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G3DetTableEntry.hh,v 1.4 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G3DetTableEntry class diff --git a/source/g3tog4/include/G3Division.hh b/source/g3tog4/include/G3Division.hh index ce87577a61..965f50e51f 100644 --- a/source/g3tog4/include/G3Division.hh +++ b/source/g3tog4/include/G3Division.hh @@ -22,7 +22,7 @@ // // // $Id: G3Division.hh,v 1.7 2001/11/21 14:25:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3EleTable.hh b/source/g3tog4/include/G3EleTable.hh index 3f0e41f9f7..cc2115563a 100644 --- a/source/g3tog4/include/G3EleTable.hh +++ b/source/g3tog4/include/G3EleTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3EleTable.hh,v 1.7 2001/07/16 15:38:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3G4Interface.hh b/source/g3tog4/include/G3G4Interface.hh index 5c49680659..68b5abe2d9 100644 --- a/source/g3tog4/include/G3G4Interface.hh +++ b/source/g3tog4/include/G3G4Interface.hh @@ -22,7 +22,7 @@ // // // $Id: G3G4Interface.hh,v 1.9 2001/11/08 16:07:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Interfaces for G3 equivalent routines // diff --git a/source/g3tog4/include/G3MatTable.hh b/source/g3tog4/include/G3MatTable.hh index d98ad635b5..bc926ac154 100644 --- a/source/g3tog4/include/G3MatTable.hh +++ b/source/g3tog4/include/G3MatTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3MatTable.hh,v 1.11 2001/07/16 15:38:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3MatTableEntry.hh b/source/g3tog4/include/G3MatTableEntry.hh index 5a497bf7ae..0d5b16660d 100644 --- a/source/g3tog4/include/G3MatTableEntry.hh +++ b/source/g3tog4/include/G3MatTableEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G3MatTableEntry.hh,v 1.5 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3MedTable.hh b/source/g3tog4/include/G3MedTable.hh index 737be35323..fd6ba516c6 100644 --- a/source/g3tog4/include/G3MedTable.hh +++ b/source/g3tog4/include/G3MedTable.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3MedTable.hh,v 1.10 2001/07/16 15:38:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3MedTable.hh,v 1.11 2003/01/27 10:45:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: @@ -62,6 +62,8 @@ class G3MedTable G3MedTableEntry* get(G4int id) const; void put(G4int id, G4Material* material, G4MagneticField* field, G4UserLimits* limits, G4int isvol); + G4int GetSize() const; + G3MedTableEntry* GetMTE(G4int i) const; void Clear(); private: diff --git a/source/g3tog4/include/G3MedTableEntry.hh b/source/g3tog4/include/G3MedTableEntry.hh index 92813752c4..a1bbb3aef7 100644 --- a/source/g3tog4/include/G3MedTableEntry.hh +++ b/source/g3tog4/include/G3MedTableEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G3MedTableEntry.hh,v 1.5 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3PartTable.hh b/source/g3tog4/include/G3PartTable.hh index 9017698d7d..932c766180 100644 --- a/source/g3tog4/include/G3PartTable.hh +++ b/source/g3tog4/include/G3PartTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3PartTable.hh,v 1.8 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3Pos.hh b/source/g3tog4/include/G3Pos.hh index 582ceafc7d..cc80652e66 100644 --- a/source/g3tog4/include/G3Pos.hh +++ b/source/g3tog4/include/G3Pos.hh @@ -22,7 +22,7 @@ // // // $Id: G3Pos.hh,v 1.10 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3RotTable.hh b/source/g3tog4/include/G3RotTable.hh index 5c54ef9da9..08a64476d9 100644 --- a/source/g3tog4/include/G3RotTable.hh +++ b/source/g3tog4/include/G3RotTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3RotTable.hh,v 1.13 2001/07/16 15:38:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3RotTableEntry.hh b/source/g3tog4/include/G3RotTableEntry.hh index 23e6e05439..84c4b1b6cc 100644 --- a/source/g3tog4/include/G3RotTableEntry.hh +++ b/source/g3tog4/include/G3RotTableEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G3RotTableEntry.hh,v 1.5 2001/07/11 09:58:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3SensVolVector.hh b/source/g3tog4/include/G3SensVolVector.hh index 0668993438..8d35cb1290 100644 --- a/source/g3tog4/include/G3SensVolVector.hh +++ b/source/g3tog4/include/G3SensVolVector.hh @@ -22,7 +22,7 @@ // // // $Id: G3SensVolVector.hh,v 1.5 2001/07/16 15:38:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // vector of logical volumes that were defined with // tracking medium with ISVOL=1 diff --git a/source/g3tog4/include/G3VolTable.hh b/source/g3tog4/include/G3VolTable.hh index 0bc325a3cf..38b40ba190 100644 --- a/source/g3tog4/include/G3VolTable.hh +++ b/source/g3tog4/include/G3VolTable.hh @@ -22,7 +22,7 @@ // // // $Id: G3VolTable.hh,v 1.16 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3VolTableEntry.hh b/source/g3tog4/include/G3VolTableEntry.hh index 99c323b59b..2937aa8cf9 100644 --- a/source/g3tog4/include/G3VolTableEntry.hh +++ b/source/g3tog4/include/G3VolTableEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G3VolTableEntry.hh,v 1.7 2001/11/08 16:07:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3toG4.hh b/source/g3tog4/include/G3toG4.hh index f4c85158a4..af6b727eee 100644 --- a/source/g3tog4/include/G3toG4.hh +++ b/source/g3tog4/include/G3toG4.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4.hh,v 1.7 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/include/G3toG4.inc b/source/g3tog4/include/G3toG4.inc index cbeb5648fc..61ba4b2e65 100644 --- a/source/g3tog4/include/G3toG4.inc +++ b/source/g3tog4/include/G3toG4.inc @@ -22,7 +22,7 @@ * * * $Id: G3toG4.inc,v 1.3 2001/07/11 09:58:58 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * integer maxlines parameter (maxlines = 750) ! max no. of cmd lines per C++ source file diff --git a/source/g3tog4/include/G3toG4BuildTree.hh b/source/g3tog4/include/G3toG4BuildTree.hh index c4adda3dcc..75682c9d29 100644 --- a/source/g3tog4/include/G3toG4BuildTree.hh +++ b/source/g3tog4/include/G3toG4BuildTree.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4BuildTree.hh,v 1.7 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4MANY.hh b/source/g3tog4/include/G3toG4MANY.hh index 30a7e8935d..9f14588c5c 100644 --- a/source/g3tog4/include/G3toG4MANY.hh +++ b/source/g3tog4/include/G3toG4MANY.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4MANY.hh,v 1.1 2001/11/08 16:07:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4MakeSolid.hh b/source/g3tog4/include/G3toG4MakeSolid.hh index 16a4e610f0..1e7d4ed29b 100644 --- a/source/g3tog4/include/G3toG4MakeSolid.hh +++ b/source/g3tog4/include/G3toG4MakeSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4MakeSolid.hh,v 1.6 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4RotationMatrix.hh b/source/g3tog4/include/G3toG4RotationMatrix.hh index a79fd6615a..bbb8548df0 100644 --- a/source/g3tog4/include/G3toG4RotationMatrix.hh +++ b/source/g3tog4/include/G3toG4RotationMatrix.hh @@ -22,7 +22,7 @@ // // // $Id: G3toG4RotationMatrix.hh,v 1.5 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ---------------------- // Class description: // diff --git a/source/g3tog4/include/gcbank.inc b/source/g3tog4/include/gcbank.inc index 090123d3a2..b3e68f9f81 100644 --- a/source/g3tog4/include/gcbank.inc +++ b/source/g3tog4/include/gcbank.inc @@ -22,7 +22,7 @@ * * * $Id: gcbank.inc,v 1.3 2001/07/11 09:58:58 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG INTEGER KWBANK,KWWORK,IWS diff --git a/source/g3tog4/src/G3DetTable.cc b/source/g3tog4/src/G3DetTable.cc index 8d4b657fee..31eea3af66 100644 --- a/source/g3tog4/src/G3DetTable.cc +++ b/source/g3tog4/src/G3DetTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3DetTable.cc,v 1.10 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G3DetTableEntry.cc b/source/g3tog4/src/G3DetTableEntry.cc index f080ceb789..fd7057b101 100644 --- a/source/g3tog4/src/G3DetTableEntry.cc +++ b/source/g3tog4/src/G3DetTableEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G3DetTableEntry.cc,v 1.4 2001/07/11 09:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "globals.hh" #include "G3DetTableEntry.hh" diff --git a/source/g3tog4/src/G3Division.cc b/source/g3tog4/src/G3Division.cc index 3260a75d39..55aa6ccc5b 100644 --- a/source/g3tog4/src/G3Division.cc +++ b/source/g3tog4/src/G3Division.cc @@ -22,7 +22,7 @@ // // // $Id: G3Division.cc,v 1.14 2001/11/21 14:25:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi 13.10.99 diff --git a/source/g3tog4/src/G3EleTable.cc b/source/g3tog4/src/G3EleTable.cc index 309bd877f7..d80bd9d7af 100644 --- a/source/g3tog4/src/G3EleTable.cc +++ b/source/g3tog4/src/G3EleTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3EleTable.cc,v 1.11 2001/07/16 15:38:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4strstreambuf.hh" diff --git a/source/g3tog4/src/G3MatTable.cc b/source/g3tog4/src/G3MatTable.cc index 47d6040da8..9fc33e119f 100644 --- a/source/g3tog4/src/G3MatTable.cc +++ b/source/g3tog4/src/G3MatTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3MatTable.cc,v 1.15 2001/07/16 15:38:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MatTableEntry.cc b/source/g3tog4/src/G3MatTableEntry.cc index 147d69ccff..7013168de4 100644 --- a/source/g3tog4/src/G3MatTableEntry.cc +++ b/source/g3tog4/src/G3MatTableEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G3MatTableEntry.cc,v 1.3 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MedTable.cc b/source/g3tog4/src/G3MedTable.cc index d5581d562e..247a2c962b 100644 --- a/source/g3tog4/src/G3MedTable.cc +++ b/source/g3tog4/src/G3MedTable.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G3MedTable.cc,v 1.13 2001/07/16 15:38:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G3MedTable.cc,v 1.14 2003/01/27 10:45:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 @@ -56,6 +56,19 @@ void G3MedTable::put(G4int id, G4Material* material, G4MagneticField* field, fMedVector->push_back(mte); } +G3MedTableEntry* G3MedTable::GetMTE(G4int i) const +{ + if (i<0 || i>= G4int(fMedVector->size())) + return 0; + + return (*fMedVector)[i]; +} + +G4int G3MedTable::GetSize() const +{ + return fMedVector->size(); +} + void G3MedTable::Clear() { G3MedTableEntry* a; diff --git a/source/g3tog4/src/G3MedTableEntry.cc b/source/g3tog4/src/G3MedTableEntry.cc index ea265c6b1d..313fff7557 100644 --- a/source/g3tog4/src/G3MedTableEntry.cc +++ b/source/g3tog4/src/G3MedTableEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G3MedTableEntry.cc,v 1.3 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3NegVolPars.cc b/source/g3tog4/src/G3NegVolPars.cc index c4bbc0e968..677b4988ec 100644 --- a/source/g3tog4/src/G3NegVolPars.cc +++ b/source/g3tog4/src/G3NegVolPars.cc @@ -22,7 +22,7 @@ // // // $Id: G3NegVolPars.cc,v 1.9 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I. Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3PartTable.cc b/source/g3tog4/src/G3PartTable.cc index 55f286ce97..14b272ef52 100644 --- a/source/g3tog4/src/G3PartTable.cc +++ b/source/g3tog4/src/G3PartTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3PartTable.cc,v 1.10 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/strstream" diff --git a/source/g3tog4/src/G3Pos.cc b/source/g3tog4/src/G3Pos.cc index f2f6f5ea18..e3db5e6552 100644 --- a/source/g3tog4/src/G3Pos.cc +++ b/source/g3tog4/src/G3Pos.cc @@ -22,7 +22,7 @@ // // // $Id: G3Pos.cc,v 1.8 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3RotTable.cc b/source/g3tog4/src/G3RotTable.cc index f7b1111a86..dfeedfa202 100644 --- a/source/g3tog4/src/G3RotTable.cc +++ b/source/g3tog4/src/G3RotTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3RotTable.cc,v 1.15 2001/07/16 15:38:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3RotTableEntry.cc b/source/g3tog4/src/G3RotTableEntry.cc index fc7edd1986..f4cc06bb23 100644 --- a/source/g3tog4/src/G3RotTableEntry.cc +++ b/source/g3tog4/src/G3RotTableEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G3RotTableEntry.cc,v 1.3 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3VolTable.cc b/source/g3tog4/src/G3VolTable.cc index 863ac5ce93..366eda6498 100644 --- a/source/g3tog4/src/G3VolTable.cc +++ b/source/g3tog4/src/G3VolTable.cc @@ -22,7 +22,7 @@ // // // $Id: G3VolTable.cc,v 1.20 2001/07/11 09:58:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3VolTableEntry.cc b/source/g3tog4/src/G3VolTableEntry.cc index 64f3b6a454..e785152f82 100644 --- a/source/g3tog4/src/G3VolTableEntry.cc +++ b/source/g3tog4/src/G3VolTableEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G3VolTableEntry.cc,v 1.10 2001/11/08 16:08:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3fillParams.cc.archive b/source/g3tog4/src/G3fillParams.cc.archive index b0e6cd0082..58a58a45ee 100644 --- a/source/g3tog4/src/G3fillParams.cc.archive +++ b/source/g3tog4/src/G3fillParams.cc.archive @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3fillParams.cc.archive,v 1.1 1999/12/06 19:19:57 lockman Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // extracted from clparse.cc by I. Hrivnacova, 30.7.99 diff --git a/source/g3tog4/src/G3toG4BuildTree.cc b/source/g3tog4/src/G3toG4BuildTree.cc index a485588cce..429fc660d1 100644 --- a/source/g3tog4/src/G3toG4BuildTree.cc +++ b/source/g3tog4/src/G3toG4BuildTree.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4BuildTree.cc,v 1.18 2001/11/21 14:25:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I. Hrivnacova, 2.8.99 diff --git a/source/g3tog4/src/G3toG4MANY.cc b/source/g3tog4/src/G3toG4MANY.cc index 4aeb8549a1..66ce867378 100644 --- a/source/g3tog4/src/G3toG4MANY.cc +++ b/source/g3tog4/src/G3toG4MANY.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4MANY.cc,v 1.1 2001/11/08 16:08:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // By I. Hrivnacova, 22.10.01 diff --git a/source/g3tog4/src/G3toG4MakeSolid.cc b/source/g3tog4/src/G3toG4MakeSolid.cc index 7e424e8180..c295e877f1 100644 --- a/source/g3tog4/src/G3toG4MakeSolid.cc +++ b/source/g3tog4/src/G3toG4MakeSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4MakeSolid.cc,v 1.9 2001/07/16 15:38:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova, V.Berejnoi 27 Sep 99 diff --git a/source/g3tog4/src/G3toG4RotationMatrix.cc b/source/g3tog4/src/G3toG4RotationMatrix.cc index 74b7b218cf..bb8a9b650e 100644 --- a/source/g3tog4/src/G3toG4RotationMatrix.cc +++ b/source/g3tog4/src/G3toG4RotationMatrix.cc @@ -22,7 +22,7 @@ // // // $Id: G3toG4RotationMatrix.cc,v 1.3 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G3toG4RotationMatrix.hh" diff --git a/source/g3tog4/src/G4BuildGeom.cc b/source/g3tog4/src/G4BuildGeom.cc index 375f3ccf41..6b1d31b6b1 100644 --- a/source/g3tog4/src/G4BuildGeom.cc +++ b/source/g3tog4/src/G4BuildGeom.cc @@ -22,7 +22,7 @@ // // // $Id: G4BuildGeom.cc,v 1.15 2001/07/16 15:38:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I. Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4ggclos.cc b/source/g3tog4/src/G4ggclos.cc index 49feb1fb13..8498a86a2f 100644 --- a/source/g3tog4/src/G4ggclos.cc +++ b/source/g3tog4/src/G4ggclos.cc @@ -22,7 +22,7 @@ // // // $Id: G4ggclos.cc,v 1.7 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G3toG4.hh" #include "G3VolTable.hh" diff --git a/source/g3tog4/src/G4gsatt.cc b/source/g3tog4/src/G4gsatt.cc index 8e1021594a..db8645fa1f 100644 --- a/source/g3tog4/src/G4gsatt.cc +++ b/source/g3tog4/src/G4gsatt.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsatt.cc,v 1.11 2001/07/16 15:38:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsatt.cc,v 1.12 2003/04/03 11:30:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "globals.hh" #include "G3toG4.hh" @@ -41,7 +41,7 @@ void PG4gsatt(G4String tokens[]) G4gsatt(name, attr, ival); } -void G4gsatt(G4String name, G4String attr, G4int ival) +void G4gsatt(G4String, G4String, G4int) { // get logical volume pointer // G4LogicalVolume *lvol = G3Vol.GetVTE(name)->GetLV(); diff --git a/source/g3tog4/src/G4gsbool.cc b/source/g3tog4/src/G4gsbool.cc index d39478ebea..4a4b8dbc58 100644 --- a/source/g3tog4/src/G4gsbool.cc +++ b/source/g3tog4/src/G4gsbool.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsbool.cc,v 1.1 2001/11/08 16:08:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 13.10.01 diff --git a/source/g3tog4/src/G4gsdet.cc b/source/g3tog4/src/G4gsdet.cc index 26e4094e0b..d7e83c8cb7 100644 --- a/source/g3tog4/src/G4gsdet.cc +++ b/source/g3tog4/src/G4gsdet.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdet.cc,v 1.4 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "globals.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdeta.cc b/source/g3tog4/src/G4gsdeta.cc index 714fb72bcc..bc4886dd97 100644 --- a/source/g3tog4/src/G4gsdeta.cc +++ b/source/g3tog4/src/G4gsdeta.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdeta.cc,v 1.5 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // modified by I.Hrivnacova, 6 Oct 99 diff --git a/source/g3tog4/src/G4gsdetd.cc b/source/g3tog4/src/G4gsdetd.cc index 42beecbef4..e1610a7c83 100644 --- a/source/g3tog4/src/G4gsdetd.cc +++ b/source/g3tog4/src/G4gsdetd.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdetd.cc,v 1.6 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdetd.cc,v 1.7 2003/04/03 11:30:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G3toG4.hh" #include "G3DetTable.hh" @@ -45,8 +45,7 @@ void PG4gsdetd(G4String tokens[]) G4gsdetd(chset,chdet,nd,chnmsd,nbitsd); } -void G4gsdetd(G4String chset, G4String chdet, G4int nd, G4String chnmsd[], - G4int nbitsd[]) +void G4gsdetd(G4String, G4String, G4int, G4String*, G4int*) { // Get pointer to detector chset // G4VSensitiveDetector* sdet = G3Det.GetSD(chset, chdet); diff --git a/source/g3tog4/src/G4gsdeth.cc b/source/g3tog4/src/G4gsdeth.cc index f7145203e6..3209ca87bb 100644 --- a/source/g3tog4/src/G4gsdeth.cc +++ b/source/g3tog4/src/G4gsdeth.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdeth.cc,v 1.6 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdeth.cc,v 1.7 2003/04/03 11:30:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G3toG4.hh" #include "G3DetTable.hh" @@ -47,8 +47,8 @@ void PG4gsdeth(G4String tokens[]) G4gsdeth(chset,chdet,nh,chnamh,nbitsh,orig,fact); } -void G4gsdeth(G4String chset, G4String chdet, G4int nh, G4String chnamh[], - G4int nbitsh[], G4double orig[], G4double fact[]) +void G4gsdeth(G4String, G4String, G4int, G4String*, + G4int*, G4double*, G4double*) { // Get pointer to sensitive detector chset // G4VSensitiveDetector* sdet = G3Det.GetSD(chset, chdet); diff --git a/source/g3tog4/src/G4gsdetu.cc b/source/g3tog4/src/G4gsdetu.cc index 5e17b83dc9..069011690e 100644 --- a/source/g3tog4/src/G4gsdetu.cc +++ b/source/g3tog4/src/G4gsdetu.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdetu.cc,v 1.4 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdetu.cc,v 1.5 2003/04/03 11:30:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G3toG4.hh" @@ -40,7 +40,7 @@ void PG4gsdetu(G4String tokens[]) G4gsdetu(chset,chdet,nupar,upar); } -void G4gsdetu(G4String chset, G4String chdet, G4int nupar, G4double upar[]) +void G4gsdetu(G4String, G4String, G4int, G4double*) { // $$$ nothing right now } diff --git a/source/g3tog4/src/G4gsdetv.cc b/source/g3tog4/src/G4gsdetv.cc index cdb46d016e..207fab49d1 100644 --- a/source/g3tog4/src/G4gsdetv.cc +++ b/source/g3tog4/src/G4gsdetv.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdetv.cc,v 1.8 2001/07/16 15:38:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdetv.cc,v 1.9 2003/04/03 11:30:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4ios.hh" #include "G3toG4.hh" @@ -46,9 +46,8 @@ void PG4gsdetv(G4String tokens[]) G4gsdetv(chset,chdet,idtyp,nwhi,nwdi); } -void G4gsdetv(G4String chset, G4String chdet, G4int idtyp, G4int, - G4int){ - +void G4gsdetv(G4String, G4String, G4int, G4int,G4int) +{ G4cout << "G4gsdetv not currently implemented." << G4endl; /* // get lvol for detector chdet diff --git a/source/g3tog4/src/G4gsdk.cc b/source/g3tog4/src/G4gsdk.cc index 33c95f662b..e43e9e96e3 100644 --- a/source/g3tog4/src/G4gsdk.cc +++ b/source/g3tog4/src/G4gsdk.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdk.cc,v 1.5 2001/07/11 09:59:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdk.cc,v 1.6 2003/04/03 11:30:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4Decay.hh" #include "G3toG4.hh" @@ -41,7 +41,7 @@ void PG4gsdk(G4String tokens[]) G4gsdk(ipart,bratio,mode); } -void G4gsdk(G4int ipart, G4double bratio[], G4int mode[]) +void G4gsdk(G4int, G4double*, G4int*) { /* // create decay object for the particle diff --git a/source/g3tog4/src/G4gsdvn.cc b/source/g3tog4/src/G4gsdvn.cc index 497ddb1432..37ca08c439 100644 --- a/source/g3tog4/src/G4gsdvn.cc +++ b/source/g3tog4/src/G4gsdvn.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsdvn.cc,v 1.8 2002/10/23 17:21:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsdvn.cc,v 1.9 2003/04/03 11:30:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 @@ -48,7 +48,7 @@ void PG4gsdvn(G4String tokens[]) } void G4CreateCloneVTEWithDivision(G4String vname, G3VolTableEntry* mvte, - G3DivType divType, G4int nofDivisions, G4int iaxis, G4int nmed, + G3DivType divType, G4int nofDivisions, G4int iaxis, G4int, G4double c0, G4double step) { G3VolTableEntry* vte=0; diff --git a/source/g3tog4/src/G4gsdvn2.cc b/source/g3tog4/src/G4gsdvn2.cc index 7ad4328eaf..2a7c0c0973 100644 --- a/source/g3tog4/src/G4gsdvn2.cc +++ b/source/g3tog4/src/G4gsdvn2.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdvn2.cc,v 1.7 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt.cc b/source/g3tog4/src/G4gsdvt.cc index 518b1c5f7b..9e3b483cea 100644 --- a/source/g3tog4/src/G4gsdvt.cc +++ b/source/g3tog4/src/G4gsdvt.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdvt.cc,v 1.6 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt2.cc b/source/g3tog4/src/G4gsdvt2.cc index 16f7018004..01f461f169 100644 --- a/source/g3tog4/src/G4gsdvt2.cc +++ b/source/g3tog4/src/G4gsdvt2.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdvt2.cc,v 1.6 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvx.cc b/source/g3tog4/src/G4gsdvx.cc index e05dfea348..f0df19960a 100644 --- a/source/g3tog4/src/G4gsdvx.cc +++ b/source/g3tog4/src/G4gsdvx.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsdvx.cc,v 1.4 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, V.Berejnoi, 27 Sep 99 diff --git a/source/g3tog4/src/G4gsmate.cc b/source/g3tog4/src/G4gsmate.cc index 29fe789408..76207bb7e0 100644 --- a/source/g3tog4/src/G4gsmate.cc +++ b/source/g3tog4/src/G4gsmate.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gsmate.cc,v 1.8 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gsmate.cc,v 1.9 2003/04/03 11:30:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 @@ -99,7 +99,7 @@ G4Element* CreateElement(G4double zeff, G4double aeff, G4String matName) */ void G4gsmate(G4int imate, G4String name, G4double ain, G4double zin, - G4double densin, G4double radl, G4int nwbf, G4double* ubuf) + G4double densin, G4double, G4int, G4double*) { G4double G3_minimum_density = 1.e-10*g/cm3; diff --git a/source/g3tog4/src/G4gsmixt.cc b/source/g3tog4/src/G4gsmixt.cc index 95b05cd0c8..8b83ef8a0f 100644 --- a/source/g3tog4/src/G4gsmixt.cc +++ b/source/g3tog4/src/G4gsmixt.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsmixt.cc,v 1.8 2001/07/11 09:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G4gspart.cc b/source/g3tog4/src/G4gspart.cc index 9518094832..8acd7a5501 100644 --- a/source/g3tog4/src/G4gspart.cc +++ b/source/g3tog4/src/G4gspart.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gspart.cc,v 1.5 2001/07/16 15:38:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gspart.cc,v 1.6 2003/04/03 11:30:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ProcessManager.hh" #include "G3toG4.hh" @@ -46,8 +46,8 @@ void PG4gspart(G4String tokens[]) G4gspart(ipart,chnpar,itrtyp,amass,charge,tlife,ubuf,nwb); } -void G4gspart(G4int ipart, G4String chnpar, G4int itrtyp, G4double amass, - G4double charge, G4double tlife, G4double*, G4int) +void G4gspart(G4int, G4String, G4int, G4double, + G4double, G4double, G4double*, G4int) { } diff --git a/source/g3tog4/src/G4gspos.cc b/source/g3tog4/src/G4gspos.cc index 6e389d0d91..41cb07d09a 100644 --- a/source/g3tog4/src/G4gspos.cc +++ b/source/g3tog4/src/G4gspos.cc @@ -22,7 +22,7 @@ // // // $Id: G4gspos.cc,v 1.12 2001/07/11 09:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsposp.cc b/source/g3tog4/src/G4gsposp.cc index e3f5d1976d..a8de04df79 100644 --- a/source/g3tog4/src/G4gsposp.cc +++ b/source/g3tog4/src/G4gsposp.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsposp.cc,v 1.15 2002/10/23 17:21:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsrotm.cc b/source/g3tog4/src/G4gsrotm.cc index 3d97798ce6..bb104e0463 100644 --- a/source/g3tog4/src/G4gsrotm.cc +++ b/source/g3tog4/src/G4gsrotm.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsrotm.cc,v 1.9 2001/07/11 09:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G3toG4.hh" #include "G3RotTable.hh" diff --git a/source/g3tog4/src/G4gstmed.cc b/source/g3tog4/src/G4gstmed.cc index 99f4ab7b1c..5cb987db20 100644 --- a/source/g3tog4/src/G4gstmed.cc +++ b/source/g3tog4/src/G4gstmed.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gstmed.cc,v 1.5 2001/07/11 09:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gstmed.cc,v 1.6 2003/04/03 11:30:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // The last G4int argument of G4gstmed(..) is used for sending // info whether the Geant3 tracking medium parameters should @@ -63,9 +63,9 @@ void PG4gstmed(G4String tokens[]) } void G4gstmed(G4int itmed, G4String, G4int nmat, G4int isvol, - G4int ifield, G4double fieldm, G4double tmaxfd, - G4double stemax, G4double deemax, G4double epsil, - G4double stmin, G4double*, G4int useG3TMLimits) + G4int, G4double, G4double, + G4double stemax, G4double, G4double, + G4double, G4double*, G4int useG3TMLimits) { // get the pointer to material nmat G4Material* material = G3Mat.get(nmat); diff --git a/source/g3tog4/src/G4gstpar.cc b/source/g3tog4/src/G4gstpar.cc index 367ae5d0d1..960aab6746 100644 --- a/source/g3tog4/src/G4gstpar.cc +++ b/source/g3tog4/src/G4gstpar.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4gstpar.cc,v 1.6 2001/07/11 09:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4gstpar.cc,v 1.7 2003/04/03 11:30:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G3toG4.hh" #include "G3VolTable.hh" @@ -40,7 +40,7 @@ void PG4gstpar(G4String tokens[]) G4gstpar(itmed,chpar,parval); } -void G4gstpar(G4int itmed, G4String chpar, G4double parval) +void G4gstpar(G4int, G4String, G4double) { // set special tracking medium parameter. Apply to all logical // volumes making use of the specified tracking medium. diff --git a/source/g3tog4/src/G4gsvolu.cc b/source/g3tog4/src/G4gsvolu.cc index 736a522b4c..1d99254eac 100644 --- a/source/g3tog4/src/G4gsvolu.cc +++ b/source/g3tog4/src/G4gsvolu.cc @@ -22,7 +22,7 @@ // // // $Id: G4gsvolu.cc,v 1.8 2001/07/11 09:59:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/clparse.cc b/source/g3tog4/src/clparse.cc index 27342c7682..ccfaf8182c 100644 --- a/source/g3tog4/src/clparse.cc +++ b/source/g3tog4/src/clparse.cc @@ -22,7 +22,7 @@ // // // $Id: clparse.cc,v 1.14 2001/10/11 12:36:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // modified by I.Hrivnacova // added G3SensVol diff --git a/source/g3tog4/src/g3routines.F b/source/g3tog4/src/g3routines.F index c5b18eb193..c8c2b7dc5e 100644 --- a/source/g3tog4/src/g3routines.F +++ b/source/g3tog4/src/g3routines.F @@ -22,7 +22,7 @@ * * * $Id: g3routines.F,v 1.4 2001/07/11 09:59:02 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * #define CALL_GEANT diff --git a/source/g3tog4/src/g3test.F.main b/source/g3tog4/src/g3test.F.main index 869276e96e..c60854bb5e 100644 --- a/source/g3tog4/src/g3test.F.main +++ b/source/g3tog4/src/g3test.F.main @@ -6,7 +6,7 @@ * and all its terms. * * $Id: g3test.F.main,v 1.2 1999/12/05 17:50:16 gcosmo Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * * * g3test diff --git a/source/g3tog4/src/g3tog4.F b/source/g3tog4/src/g3tog4.F index c4028b6475..fb2eed7ac1 100644 --- a/source/g3tog4/src/g3tog4.F +++ b/source/g3tog4/src/g3tog4.F @@ -22,7 +22,7 @@ * * * $Id: g3tog4.F,v 1.4 2001/07/11 09:59:02 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * * * G3toG4 diff --git a/source/g3tog4/src/g4geom.cc.main b/source/g3tog4/src/g4geom.cc.main index b45e124bb7..30d2dfce37 100644 --- a/source/g3tog4/src/g4geom.cc.main +++ b/source/g3tog4/src/g4geom.cc.main @@ -6,7 +6,7 @@ // and all its terms. // // $Id: g4geom.cc.main,v 1.2 1999/12/05 17:50:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // g4geom // diff --git a/source/g3tog4/src/jshape.F b/source/g3tog4/src/jshape.F index c4ef1f1a64..5ea51706cc 100644 --- a/source/g3tog4/src/jshape.F +++ b/source/g3tog4/src/jshape.F @@ -22,7 +22,7 @@ * * * $Id: jshape.F,v 1.3 2001/07/11 09:59:03 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * * *-- Author : Jouko Vuoskoski, CERN, Jouko.Vuoskoski@cern.ch diff --git a/source/g3tog4/src/mztog4.F b/source/g3tog4/src/mztog4.F index c725f4bc91..5bd1232ab2 100644 --- a/source/g3tog4/src/mztog4.F +++ b/source/g3tog4/src/mztog4.F @@ -22,7 +22,7 @@ * * * $Id: mztog4.F,v 1.3 2001/07/11 09:59:03 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * subroutine mztog4 ************************************************************************ diff --git a/source/g3tog4/src/rztog4.F b/source/g3tog4/src/rztog4.F index 40d4ae212d..7569af83bb 100644 --- a/source/g3tog4/src/rztog4.F +++ b/source/g3tog4/src/rztog4.F @@ -22,7 +22,7 @@ * * * $Id: rztog4.F,v 1.3 2001/07/11 09:59:03 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * program rztog4 ************************************************************************ diff --git a/source/g3tog4/src/tog4.F b/source/g3tog4/src/tog4.F index 1a829c965c..1ffc9ff40b 100644 --- a/source/g3tog4/src/tog4.F +++ b/source/g3tog4/src/tog4.F @@ -22,7 +22,7 @@ * * * $Id: tog4.F,v 1.4 2001/07/11 09:59:03 gunter Exp $ -* GEANT4 tag $Name: geant4-05-00 $ +* GEANT4 tag $Name: geant4-05-01 $ * subroutine tog4 ************************************************************************ diff --git a/source/geometry/biasing/History b/source/geometry/biasing/History index 8e66182000..632f89a681 100644 --- a/source/geometry/biasing/History +++ b/source/geometry/biasing/History @@ -1,4 +1,4 @@ -$Id: History,v 1.29 2002/11/20 13:19:09 gcosmo Exp $ +$Id: History,v 1.32 2003/04/11 07:13:24 dressel Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,20 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apt, 11th 2003 M.Dressel geombias-V05-00-03 + - implementation of "IsInWorld" in G4IStore using IsAncestor of + G4LogicalVolume + +Apr, 3rd 2003 G.Cosmo geombias-V05-00-02 + - Fixed few trivial strict pedantic warnings. + +Mar, 27th 2003 G.Cosmo geombias-V05-00-01 + - G4ParallelNavigator.cc: set cout precision to 12 (was 50 !?!). + +Mar, 24th 2003 M.Dressel geombias-V05-00-00 + - G4ParallelNavigator.cc: modified shift mechanism + in ComputeStepLengthShifted(). + Nov, 20th 2002 G.Cosmo geombias-V04-01-04 - changed definition of G4NSplit_Weight from struct to class to allow porting on Windows DLLs. diff --git a/source/geometry/biasing/include/G4GeometryCell.hh b/source/geometry/biasing/include/G4GeometryCell.hh index 71ca54303b..f66ba32a46 100644 --- a/source/geometry/biasing/include/G4GeometryCell.hh +++ b/source/geometry/biasing/include/G4GeometryCell.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCell.hh,v 1.5 2002/10/22 13:18:43 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryCell diff --git a/source/geometry/biasing/include/G4GeometryCellComp.hh b/source/geometry/biasing/include/G4GeometryCellComp.hh index d5439ba143..69f9b51070 100644 --- a/source/geometry/biasing/include/G4GeometryCellComp.hh +++ b/source/geometry/biasing/include/G4GeometryCellComp.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellComp.hh,v 1.1 2002/10/22 13:18:44 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellComp diff --git a/source/geometry/biasing/include/G4GeometryCellImportance.hh b/source/geometry/biasing/include/G4GeometryCellImportance.hh index 6508de5cdb..13dc268c4c 100644 --- a/source/geometry/biasing/include/G4GeometryCellImportance.hh +++ b/source/geometry/biasing/include/G4GeometryCellImportance.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellImportance.hh,v 1.2 2002/10/22 13:18:44 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellImportance diff --git a/source/geometry/biasing/include/G4GeometryCellStep.hh b/source/geometry/biasing/include/G4GeometryCellStep.hh index 61b3338738..95ce1781d8 100644 --- a/source/geometry/biasing/include/G4GeometryCellStep.hh +++ b/source/geometry/biasing/include/G4GeometryCellStep.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellStep.hh,v 1.1 2002/10/22 13:18:44 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellStep diff --git a/source/geometry/biasing/include/G4GeometryCellStepStream.hh b/source/geometry/biasing/include/G4GeometryCellStepStream.hh index d352b11679..ddf2837609 100644 --- a/source/geometry/biasing/include/G4GeometryCellStepStream.hh +++ b/source/geometry/biasing/include/G4GeometryCellStepStream.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellStepStream.hh,v 1.1 2002/10/22 13:18:44 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Declarations diff --git a/source/geometry/biasing/include/G4IStore.hh b/source/geometry/biasing/include/G4IStore.hh index ade9363df1..a46d21d7e8 100644 --- a/source/geometry/biasing/include/G4IStore.hh +++ b/source/geometry/biasing/include/G4IStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4IStore.hh,v 1.9 2002/10/22 13:18:44 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4IStore diff --git a/source/geometry/biasing/include/G4ImportanceAlgorithm.hh b/source/geometry/biasing/include/G4ImportanceAlgorithm.hh index a1f77ebd5d..08b75ef5ef 100644 --- a/source/geometry/biasing/include/G4ImportanceAlgorithm.hh +++ b/source/geometry/biasing/include/G4ImportanceAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceAlgorithm.hh,v 1.6 2002/10/14 12:36:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ImportanceAlgorithm diff --git a/source/geometry/biasing/include/G4ImportanceFinder.hh b/source/geometry/biasing/include/G4ImportanceFinder.hh index caaced2014..252ca7f924 100644 --- a/source/geometry/biasing/include/G4ImportanceFinder.hh +++ b/source/geometry/biasing/include/G4ImportanceFinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceFinder.hh,v 1.6 2002/10/14 12:36:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ImportanceFinder diff --git a/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh b/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh index 32b5ffc28d..7dbafa3684 100644 --- a/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh +++ b/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceSplitExaminer.hh,v 1.5 2002/10/14 12:36:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ImportanceSplitExaminer diff --git a/source/geometry/biasing/include/G4Nsplit_Weight.hh b/source/geometry/biasing/include/G4Nsplit_Weight.hh index 55ce3e2bc3..53dacb959e 100644 --- a/source/geometry/biasing/include/G4Nsplit_Weight.hh +++ b/source/geometry/biasing/include/G4Nsplit_Weight.hh @@ -22,7 +22,7 @@ // // // $Id: G4Nsplit_Weight.hh,v 1.9 2002/11/20 13:18:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Nsplit_Weight diff --git a/source/geometry/biasing/include/G4ParallelNavigator.hh b/source/geometry/biasing/include/G4ParallelNavigator.hh index c48fe278ad..f208dbbb92 100644 --- a/source/geometry/biasing/include/G4ParallelNavigator.hh +++ b/source/geometry/biasing/include/G4ParallelNavigator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelNavigator.hh,v 1.9 2002/10/14 12:36:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelNavigator diff --git a/source/geometry/biasing/include/G4ParallelStepper.hh b/source/geometry/biasing/include/G4ParallelStepper.hh index 8c782da979..c58b17d662 100644 --- a/source/geometry/biasing/include/G4ParallelStepper.hh +++ b/source/geometry/biasing/include/G4ParallelStepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelStepper.hh,v 1.6 2002/10/22 13:18:45 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelStepper diff --git a/source/geometry/biasing/include/G4ParallelWorld.hh b/source/geometry/biasing/include/G4ParallelWorld.hh index efcd68656a..78e414ed55 100644 --- a/source/geometry/biasing/include/G4ParallelWorld.hh +++ b/source/geometry/biasing/include/G4ParallelWorld.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelWorld.hh,v 1.6 2002/10/14 12:36:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelWorld diff --git a/source/geometry/biasing/include/G4VCellScorer.hh b/source/geometry/biasing/include/G4VCellScorer.hh index 21a6b24614..8fc627dbcc 100644 --- a/source/geometry/biasing/include/G4VCellScorer.hh +++ b/source/geometry/biasing/include/G4VCellScorer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VCellScorer.hh,v 1.6 2002/10/28 09:53:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VCellScorer diff --git a/source/geometry/biasing/include/G4VCellScorerStore.hh b/source/geometry/biasing/include/G4VCellScorerStore.hh index 3d01fe06e7..13545ca775 100644 --- a/source/geometry/biasing/include/G4VCellScorerStore.hh +++ b/source/geometry/biasing/include/G4VCellScorerStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4VCellScorerStore.hh,v 1.6 2002/10/28 09:53:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VCellScorerStore diff --git a/source/geometry/biasing/include/G4VGCellFinder.hh b/source/geometry/biasing/include/G4VGCellFinder.hh index 90eea610e0..bb26e297fe 100644 --- a/source/geometry/biasing/include/G4VGCellFinder.hh +++ b/source/geometry/biasing/include/G4VGCellFinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4VGCellFinder.hh,v 1.1 2002/10/16 14:30:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VGCellFinder diff --git a/source/geometry/biasing/include/G4VIStore.hh b/source/geometry/biasing/include/G4VIStore.hh index 2432896fa7..7d9943fe16 100644 --- a/source/geometry/biasing/include/G4VIStore.hh +++ b/source/geometry/biasing/include/G4VIStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4VIStore.hh,v 1.8 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VIStore diff --git a/source/geometry/biasing/include/G4VImportanceAlgorithm.hh b/source/geometry/biasing/include/G4VImportanceAlgorithm.hh index 80c9fbce06..95c3ec7470 100644 --- a/source/geometry/biasing/include/G4VImportanceAlgorithm.hh +++ b/source/geometry/biasing/include/G4VImportanceAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4VImportanceAlgorithm.hh,v 1.7 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VImportanceAlgorithm diff --git a/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh b/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh index 7315b99bd0..17ac9cc17a 100644 --- a/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh +++ b/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VImportanceSplitExaminer.hh,v 1.4 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VImportanceSplitExaminer diff --git a/source/geometry/biasing/include/G4VPGeoDriver.hh b/source/geometry/biasing/include/G4VPGeoDriver.hh index 3e75b10ae8..eb2a4c2add 100644 --- a/source/geometry/biasing/include/G4VPGeoDriver.hh +++ b/source/geometry/biasing/include/G4VPGeoDriver.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPGeoDriver.hh,v 1.6 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VPGeoDriver diff --git a/source/geometry/biasing/include/G4VParallelStepper.hh b/source/geometry/biasing/include/G4VParallelStepper.hh index c30dc45601..669fa940ae 100644 --- a/source/geometry/biasing/include/G4VParallelStepper.hh +++ b/source/geometry/biasing/include/G4VParallelStepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4VParallelStepper.hh,v 1.7 2002/10/22 13:18:46 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VParallelStepper diff --git a/source/geometry/biasing/include/G4VScorer.hh b/source/geometry/biasing/include/G4VScorer.hh index d3e99048d2..b8d9983353 100644 --- a/source/geometry/biasing/include/G4VScorer.hh +++ b/source/geometry/biasing/include/G4VScorer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VScorer.hh,v 1.1 2002/10/28 09:53:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VScorer diff --git a/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh b/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh index 22f390fab3..968b8a83fa 100644 --- a/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh +++ b/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4VWeightWindowAlgorithm.hh,v 1.5 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VWeightWindowAlgorithm diff --git a/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh b/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh index 3136741074..f98cee171b 100644 --- a/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh +++ b/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4WeightWindowAlgorithm.hh,v 1.4 2002/10/14 12:36:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowAlgorithm diff --git a/source/geometry/biasing/src/G4GeometryCell.cc b/source/geometry/biasing/src/G4GeometryCell.cc index 3955022732..d2ac48b6fb 100644 --- a/source/geometry/biasing/src/G4GeometryCell.cc +++ b/source/geometry/biasing/src/G4GeometryCell.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCell.cc,v 1.5 2002/10/22 13:18:46 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellComp.cc b/source/geometry/biasing/src/G4GeometryCellComp.cc index 954ebc169c..b423a205d8 100644 --- a/source/geometry/biasing/src/G4GeometryCellComp.cc +++ b/source/geometry/biasing/src/G4GeometryCellComp.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4GeometryCellComp.cc,v 1.3 2002/12/13 11:54:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellImportance.cc b/source/geometry/biasing/src/G4GeometryCellImportance.cc index 9586d2c7dd..9d703def27 100644 --- a/source/geometry/biasing/src/G4GeometryCellImportance.cc +++ b/source/geometry/biasing/src/G4GeometryCellImportance.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellImportance.cc,v 1.3 2002/10/22 13:18:46 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellStep.cc b/source/geometry/biasing/src/G4GeometryCellStep.cc index c1b7d2c60b..38d884ab13 100644 --- a/source/geometry/biasing/src/G4GeometryCellStep.cc +++ b/source/geometry/biasing/src/G4GeometryCellStep.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellStep.cc,v 1.1 2002/10/22 13:18:46 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellStepStream.cc b/source/geometry/biasing/src/G4GeometryCellStepStream.cc index d712de7c14..f8c895d449 100644 --- a/source/geometry/biasing/src/G4GeometryCellStepStream.cc +++ b/source/geometry/biasing/src/G4GeometryCellStepStream.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCellStepStream.cc,v 1.1 2002/10/22 13:18:47 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4IStore.cc b/source/geometry/biasing/src/G4IStore.cc index 5c19b42bae..83e21e86c7 100644 --- a/source/geometry/biasing/src/G4IStore.cc +++ b/source/geometry/biasing/src/G4IStore.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IStore.cc,v 1.10 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IStore.cc,v 1.12 2003/04/03 10:45:51 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,7 +35,7 @@ #include "G4VPhysicalVolume.hh" #include "G4GeometryCell.hh" #include "G4GeometryCellStepStream.hh" - +#include "G4LogicalVolume.hh" G4IStore::G4IStore(const G4VPhysicalVolume &worldvolume) : fWorldVolume(worldvolume) @@ -51,9 +51,6 @@ const G4VPhysicalVolume &G4IStore::GetWorldVolume() const void G4IStore::SetInternalIterator(const G4GeometryCell &gCell) const { - // if (!IsInWorld(aVolume)) { - // Error("SetInternalIterator: physical volume not in this World"); - // } fCurrentIterator = fGeometryCelli.find(gCell); } @@ -62,6 +59,9 @@ void G4IStore::AddImportanceGeometryCell(G4double importance, if (importance < 0 ) { Error("AddImportanceGeometryCell: invalid importance value given"); } + if (!IsInWorld(gCell.GetPhysicalVolume()) ) { + Error("AddImportanceGeometryCell: physical volume not in this World"); + } SetInternalIterator(gCell); if (fCurrentIterator!=fGeometryCelli.end()) { Error("AddImportanceGeometryCell: Region allready exists"); @@ -82,6 +82,9 @@ void G4IStore::ChangeImportance(G4double importance, if (importance < 0 ) { Error("ChangeImportance: Invalid importance value given"); } + if (!IsInWorld(gCell.GetPhysicalVolume()) ) { + Error("ChangeImportance: physical volume not in this World"); + } SetInternalIterator(gCell); if (fCurrentIterator==fGeometryCelli.end()) { Error("ChangeImportance: Region does not exist"); @@ -120,23 +123,26 @@ G4double G4IStore::GetImportance(const G4GeometryCell &gCell) const } G4bool G4IStore::IsKnown(const G4GeometryCell &gCell) const { - SetInternalIterator(gCell); - return (fCurrentIterator!=fGeometryCelli.end()); + G4bool inWorldKnown(IsInWorld(gCell.GetPhysicalVolume())); + + if ( inWorldKnown ) { + SetInternalIterator(gCell); + inWorldKnown = (fCurrentIterator!=fGeometryCelli.end()); + } + return inWorldKnown; } - G4bool G4IStore::IsInWorld(const G4VPhysicalVolume &aVolume) const { - return true; - /* - if (!aVolume) return false; - if (*aVolume==G4ParallelWorld::GetWorldVolume()) { - return true; + G4bool isIn(true); + if (!(aVolume == fWorldVolume)) { + isIn = fWorldVolume.GetLogicalVolume()->IsAncestor(&aVolume); } - return IsInWorld(aVolume->GetMother()); - */ + return isIn; } + + void G4IStore::Error(const G4String &m) const { G4cout << "ERROR - G4IStore::" << m << G4endl; diff --git a/source/geometry/biasing/src/G4ImportanceAlgorithm.cc b/source/geometry/biasing/src/G4ImportanceAlgorithm.cc index f49e5e752a..97149bbd77 100644 --- a/source/geometry/biasing/src/G4ImportanceAlgorithm.cc +++ b/source/geometry/biasing/src/G4ImportanceAlgorithm.cc @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceAlgorithm.cc,v 1.9 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ImportanceFinder.cc b/source/geometry/biasing/src/G4ImportanceFinder.cc index eb50b9f4fe..8e90cf5f0d 100644 --- a/source/geometry/biasing/src/G4ImportanceFinder.cc +++ b/source/geometry/biasing/src/G4ImportanceFinder.cc @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceFinder.cc,v 1.9 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc b/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc index 0c75fdf267..1df2c6147e 100644 --- a/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc +++ b/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc @@ -22,7 +22,7 @@ // // // $Id: G4ImportanceSplitExaminer.cc,v 1.6 2002/10/22 13:18:47 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4Nsplit_Weight.cc b/source/geometry/biasing/src/G4Nsplit_Weight.cc index bcb2b92aab..15dba55e02 100644 --- a/source/geometry/biasing/src/G4Nsplit_Weight.cc +++ b/source/geometry/biasing/src/G4Nsplit_Weight.cc @@ -22,7 +22,7 @@ // // // $Id: G4Nsplit_Weight.cc,v 1.8 2002/12/13 11:54:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ParallelNavigator.cc b/source/geometry/biasing/src/G4ParallelNavigator.cc index e7c3f537b5..974c42402d 100644 --- a/source/geometry/biasing/src/G4ParallelNavigator.cc +++ b/source/geometry/biasing/src/G4ParallelNavigator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelNavigator.cc,v 1.14 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelNavigator.cc,v 1.16 2003/03/27 09:34:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -43,7 +43,7 @@ G4ParallelNavigator::G4ParallelNavigator(G4VPhysicalVolume &aWorldVolume) fMaxShiftedTrys(10), fCurrentTouchableH((fNavigator.SetWorldVolume(&aWorldVolume), fNavigator.CreateTouchableHistory())), - fVerbose(1) + fVerbose(0) {} G4ParallelNavigator::~G4ParallelNavigator() @@ -208,25 +208,24 @@ ComputeStepLengthShifted(const G4String &m, const G4ThreeVector &aPosition, const G4ThreeVector &aDirection) { - if (fVerbose>=1) { - G4cout.precision(12); - G4cout << "G4ParallelNavigator::ComputeStepLengthShifted: invoked by: " - << m << G4endl; - } G4ThreeVector shift_pos(aPosition); - shift_pos+=G4ThreeVector(Shift(aDirection.x()), - Shift(aDirection.y()), - Shift(aDirection.z())); G4double stepLength = 0.; G4int trys = 0; while (stepLength<=2*kCarTolerance && trys < fMaxShiftedTrys) { - if (fVerbose>=1) { - G4cout << "G4ParallelNavigator::ComputeStepLengthShifted: trys = " + shift_pos+=G4ThreeVector(Shift(aDirection.x()), + Shift(aDirection.y()), + Shift(aDirection.z())); + if (fVerbose>=1 || trys >= fMaxShiftedTrys - 1) { + G4cout << "G4ParallelNavigator::ComputeStepLengthShifted: invoked by: " + << m << G4endl; + G4cout << " trys = " << ++trys << G4endl; - G4cout << "shifted position: " << shift_pos + G4cout.precision(12); + G4cout << " shifted position: " << shift_pos << ", direction: " << aDirection << G4endl; } - Locate(shift_pos, aDirection, true, true); // to get into the correct volume + fNavigator.SetGeometricallyLimitedStep(); + Locate(shift_pos, aDirection, true, false); // to get into the correct volume G4double newSafety = 0; fNavigator.LocateGlobalPointWithinVolume(aPosition); // to place at the correct position stepLength = fNavigator.ComputeStep( aPosition, aDirection, @@ -268,12 +267,13 @@ void G4ParallelNavigator::Error(const G4String &m, G4double G4ParallelNavigator::Shift(G4double d) { - G4double s=0; + G4double s(0); + G4double ds(10 * kCarTolerance); if (d>0){ - s = 2 * kCarTolerance; + s = ds; } else if (d<0) { - s = -2 * kCarTolerance; + s = -1 * ds; } return s; } diff --git a/source/geometry/biasing/src/G4ParallelStepper.cc b/source/geometry/biasing/src/G4ParallelStepper.cc index 1e6f7bce13..9d206c9ce0 100644 --- a/source/geometry/biasing/src/G4ParallelStepper.cc +++ b/source/geometry/biasing/src/G4ParallelStepper.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelStepper.cc,v 1.8 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelStepper.cc,v 1.10 2003/04/03 08:01:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -34,8 +34,9 @@ #include "G4ParallelStepper.hh" #include "G4VPhysicalVolume.hh" -G4ParallelStepper::G4ParallelStepper() - : fPStep(0) +G4ParallelStepper::G4ParallelStepper() : + G4VParallelStepper(), + fPStep(0) {} G4ParallelStepper::~G4ParallelStepper() @@ -46,8 +47,7 @@ G4ParallelStepper::~G4ParallelStepper() } G4ParallelStepper::G4ParallelStepper(const G4ParallelStepper &rhs) - : - fPStep(new G4GeometryCellStep(rhs.GetPStep())) + : G4VParallelStepper(), fPStep(new G4GeometryCellStep(rhs.GetPStep())) { if (!fPStep) { Error("G4ParallelStepper:: new failed to create a G4GeometryCellStep!"); diff --git a/source/geometry/biasing/src/G4ParallelWorld.cc b/source/geometry/biasing/src/G4ParallelWorld.cc index 66659d5ec0..547f226a49 100644 --- a/source/geometry/biasing/src/G4ParallelWorld.cc +++ b/source/geometry/biasing/src/G4ParallelWorld.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParallelWorld.cc,v 1.6 2002/11/04 10:43:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VCellScorer.cc b/source/geometry/biasing/src/G4VCellScorer.cc index 15bb9e5466..a5b806f852 100644 --- a/source/geometry/biasing/src/G4VCellScorer.cc +++ b/source/geometry/biasing/src/G4VCellScorer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VCellScorer.cc,v 1.5 2002/12/13 11:54:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VCellScorerStore.cc b/source/geometry/biasing/src/G4VCellScorerStore.cc index 9fa3c6b624..ca44935759 100644 --- a/source/geometry/biasing/src/G4VCellScorerStore.cc +++ b/source/geometry/biasing/src/G4VCellScorerStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4VCellScorerStore.cc,v 1.3 2002/10/28 09:53:51 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VGCellFinder.cc b/source/geometry/biasing/src/G4VGCellFinder.cc index 55f4ad7532..df97436d32 100644 --- a/source/geometry/biasing/src/G4VGCellFinder.cc +++ b/source/geometry/biasing/src/G4VGCellFinder.cc @@ -22,7 +22,7 @@ // // // $Id: G4VGCellFinder.cc,v 1.1 2002/10/16 14:30:01 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VIStore.cc b/source/geometry/biasing/src/G4VIStore.cc index 852694d476..5c7e735d9d 100644 --- a/source/geometry/biasing/src/G4VIStore.cc +++ b/source/geometry/biasing/src/G4VIStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4VIStore.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VImportanceAlgorithm.cc b/source/geometry/biasing/src/G4VImportanceAlgorithm.cc index 16db1fb1d0..30ab33785a 100644 --- a/source/geometry/biasing/src/G4VImportanceAlgorithm.cc +++ b/source/geometry/biasing/src/G4VImportanceAlgorithm.cc @@ -22,7 +22,7 @@ // // // $Id: G4VImportanceAlgorithm.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc b/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc index 77c73977f5..21b5e13523 100644 --- a/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc +++ b/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VImportanceSplitExaminer.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VPGeoDriver.cc b/source/geometry/biasing/src/G4VPGeoDriver.cc index 19edc01c27..a568a2978b 100644 --- a/source/geometry/biasing/src/G4VPGeoDriver.cc +++ b/source/geometry/biasing/src/G4VPGeoDriver.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPGeoDriver.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VParallelStepper.cc b/source/geometry/biasing/src/G4VParallelStepper.cc index 85fecccf75..9bc6f60ba6 100644 --- a/source/geometry/biasing/src/G4VParallelStepper.cc +++ b/source/geometry/biasing/src/G4VParallelStepper.cc @@ -22,7 +22,7 @@ // // // $Id: G4VParallelStepper.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VScorer.cc b/source/geometry/biasing/src/G4VScorer.cc index 5703046eee..42ab4c81e5 100644 --- a/source/geometry/biasing/src/G4VScorer.cc +++ b/source/geometry/biasing/src/G4VScorer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VScorer.cc,v 1.1 2002/10/28 09:53:51 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc b/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc index 795f448dfd..fcc7ee7755 100644 --- a/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc +++ b/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc @@ -22,7 +22,7 @@ // // // $Id: G4VWeightWindowAlgorithm.cc,v 1.1 2002/10/14 12:36:50 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc b/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc index e385fec94f..46a9d7e212 100644 --- a/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc +++ b/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc @@ -22,7 +22,7 @@ // // // $Id: G4WeightWindowAlgorithm.cc,v 1.5 2002/10/16 14:29:07 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/magneticfield/History b/source/geometry/magneticfield/History index 8930987808..be1be0184c 100644 --- a/source/geometry/magneticfield/History +++ b/source/geometry/magneticfield/History @@ -1,4 +1,4 @@ -$Id: History,v 1.69 2002/12/12 08:21:38 gcosmo Exp $ +$Id: History,v 1.71 2003/04/02 08:53:38 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apr 2nd, 2003 G. Cosmo - field-V05-00-01 +--------------------------- +- Created .cc files for G4MagneticField and G4ElecroMagneticField. +- Fixed definition of copy constructors in fields inheritance chain. +- Moved obsolete method StepWithEst() to private in G4RKG3_Stepper, + G4CashKarpRKF45 and G4ClassicalRK4. +- Cleared strict pedantic warnings. + +Feb 5th, 2003 G. Cosmo - field-V05-00-00 +--------------------------- +- Removed redundant inclusions of PhysicalConstants.h or SystemOfUnits.h. + Now using directly CLHEP's headers. + Dec 12th, 2002 G. Cosmo - field-V04-01-06 --------------------------- - Moved unused variable 'nStpPr' to debug section in G4MagIntegratorDriver.cc, diff --git a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh index 20fb46c823..13a59e979d 100644 --- a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh +++ b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CashKarpRKF45.hh,v 1.7 2001/07/11 09:59:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CashKarpRKF45.hh,v 1.8 2003/04/02 08:52:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4CashKarpRKF45 @@ -49,35 +49,37 @@ class G4CashKarpRKF45 : public G4MagIntegratorStepper public: // with description - G4CashKarpRKF45(G4EquationOfMotion *EqRhs, G4int numberOfVariables = 6, G4bool primary= true) ; + G4CashKarpRKF45( G4EquationOfMotion *EqRhs, + G4int numberOfVariables = 6, + G4bool primary= true ) ; ~G4CashKarpRKF45() ; void Stepper( const G4double y[], - const G4double dydx[], - G4double h, - G4double yout[], - G4double yerr[] ) ; - - void StepWithEst( const G4double yIn[], - const G4double dydx[], - G4double Step, - G4double yOut[], - G4double& alpha2, - G4double& beta2, - const G4double B1[], - G4double B2[] ) ; + const G4double dydx[], + G4double h, + G4double yout[], + G4double yerr[] ) ; public: // without description - G4double DistChord() const; - - G4int IntegratorOrder() const { return 4; } + G4double DistChord() const; + G4int IntegratorOrder() const { return 4; } private: - G4CashKarpRKF45(const G4CashKarpRKF45&); - G4CashKarpRKF45& operator=(const G4CashKarpRKF45&); - // Private copy constructor and assignment operator. + void StepWithEst( const G4double yIn[], + const G4double dydx[], + G4double Step, + G4double yOut[], + G4double& alpha2, + G4double& beta2, + const G4double B1[], + G4double B2[] ); + // No longer used. Obsolete. + + G4CashKarpRKF45(const G4CashKarpRKF45&); + G4CashKarpRKF45& operator=(const G4CashKarpRKF45&); + // Private copy constructor and assignment operator. private: @@ -87,7 +89,8 @@ class G4CashKarpRKF45 : public G4MagIntegratorStepper // for DistChord calculations G4double fLastStepLength; - G4double *fLastInitialVector, *fLastFinalVector, *fLastDyDx, *fMidVector, *fMidError; + G4double *fLastInitialVector, *fLastFinalVector, + *fLastDyDx, *fMidVector, *fMidError; G4CashKarpRKF45* fAuxStepper; }; diff --git a/source/geometry/magneticfield/include/G4ChordFinder.hh b/source/geometry/magneticfield/include/G4ChordFinder.hh index f336f1af93..95c58638e0 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.hh +++ b/source/geometry/magneticfield/include/G4ChordFinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4ChordFinder.hh,v 1.9 2002/11/09 03:05:13 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ChordFinder diff --git a/source/geometry/magneticfield/include/G4ChordFinder.icc b/source/geometry/magneticfield/include/G4ChordFinder.icc index 6e72ee554a..8bae662c4f 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.icc +++ b/source/geometry/magneticfield/include/G4ChordFinder.icc @@ -22,7 +22,7 @@ // // // $Id: G4ChordFinder.icc,v 1.4 2001/08/16 23:54:51 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4ChordFinder inline implementations // diff --git a/source/geometry/magneticfield/include/G4ClassicalRK4.hh b/source/geometry/magneticfield/include/G4ClassicalRK4.hh index 0feb491407..b02c6bea72 100644 --- a/source/geometry/magneticfield/include/G4ClassicalRK4.hh +++ b/source/geometry/magneticfield/include/G4ClassicalRK4.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ClassicalRK4.hh,v 1.6 2002/11/20 17:56:35 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ClassicalRK4.hh,v 1.7 2003/04/02 08:52:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ClassicalRK4 @@ -51,9 +51,9 @@ class G4ClassicalRK4 : public G4MagErrorStepper // It is used by the MagErrorStepper stepper. void DumbStepper( const G4double yIn[], - const G4double dydx[], - G4double h, - G4double yOut[]) ; + const G4double dydx[], + G4double h, + G4double yOut[] ) ; // Given values for the variables y[0,..,n-1] and their derivatives // dydx[0,...,n-1] known at x, use the classical 4th Runge-Kutta // method to advance the solution over an interval h and return the @@ -64,21 +64,20 @@ class G4ClassicalRK4 : public G4MagErrorStepper public: // without description - void StepWithEst( const G4double yIn[], - const G4double dydx[], - G4double h, - G4double yOut[], - G4double& alpha2, - G4double& beta2, - const G4double B1[], - G4double B2[] ); - - // Could make above G4SixPoint to keep tangents too ...? - G4int IntegratorOrder() const { return 4; } private: + void StepWithEst( const G4double yIn[], + const G4double dydx[], + G4double h, + G4double yOut[], + G4double& alpha2, + G4double& beta2, + const G4double B1[], + G4double B2[] ); + // No longer used. Obsolete. + G4ClassicalRK4(const G4ClassicalRK4&); G4ClassicalRK4& operator=(const G4ClassicalRK4&); // Private copy constructor and assignment operator. diff --git a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh index 00810bfa05..e3a441b694 100644 --- a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh +++ b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ElectroMagneticField.hh,v 1.6 2001/11/08 17:31:06 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ElectroMagneticField.hh,v 1.7 2003/04/02 08:49:19 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ElectroMagneticField @@ -45,25 +45,15 @@ class G4ElectroMagneticField : public G4MagneticField { public: // with description - G4ElectroMagneticField() {;} - virtual ~G4ElectroMagneticField() {;} + G4ElectroMagneticField(); + virtual ~G4ElectroMagneticField(); - G4ElectroMagneticField(const G4ElectroMagneticField &) {;} - G4ElectroMagneticField& operator = (const G4ElectroMagneticField &); + G4ElectroMagneticField(const G4ElectroMagneticField &r); + G4ElectroMagneticField& operator = (const G4ElectroMagneticField &p); // Copy constructor & assignment operators. virtual void GetFieldValue(const G4double Point[4], - G4double *Bfield ) const = 0; + G4double *Bfield ) const = 0; }; -// Inline implementations - -inline -G4ElectroMagneticField& -G4ElectroMagneticField::operator = (const G4ElectroMagneticField &p) -{ - if (&p == this) return *this; - *this = p; return *this; -} - #endif /* G4ELECTROMAGNETIC_FIELD_DEF */ diff --git a/source/geometry/magneticfield/include/G4EqMagElectricField.hh b/source/geometry/magneticfield/include/G4EqMagElectricField.hh index d12082f73f..895f34518a 100644 --- a/source/geometry/magneticfield/include/G4EqMagElectricField.hh +++ b/source/geometry/magneticfield/include/G4EqMagElectricField.hh @@ -22,7 +22,7 @@ // // // $Id: G4EqMagElectricField.hh,v 1.6 2001/07/11 09:59:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4EqMagElectricField diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.hh b/source/geometry/magneticfield/include/G4EquationOfMotion.hh index 7c89052e4a..1e2b1223f8 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.hh +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.hh @@ -22,7 +22,7 @@ // // // $Id: G4EquationOfMotion.hh,v 1.7 2002/06/11 08:38:56 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4EquationOfMotion diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.icc b/source/geometry/magneticfield/include/G4EquationOfMotion.icc index 5c7fd3b1d8..fcc0104013 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.icc +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.icc @@ -22,7 +22,7 @@ // // // $Id: G4EquationOfMotion.icc,v 1.7 2002/06/11 08:39:14 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Inline implementation diff --git a/source/geometry/magneticfield/include/G4ExplicitEuler.hh b/source/geometry/magneticfield/include/G4ExplicitEuler.hh index fe29d0adf9..4d26e285ff 100644 --- a/source/geometry/magneticfield/include/G4ExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4ExplicitEuler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExplicitEuler.hh,v 1.6 2002/11/29 13:47:49 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ExplicitEuler diff --git a/source/geometry/magneticfield/include/G4Field.hh b/source/geometry/magneticfield/include/G4Field.hh index a1f21c8780..a50d0d1a5f 100644 --- a/source/geometry/magneticfield/include/G4Field.hh +++ b/source/geometry/magneticfield/include/G4Field.hh @@ -22,7 +22,7 @@ // // // $Id: G4Field.hh,v 1.6 2001/11/08 17:31:07 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Field diff --git a/source/geometry/magneticfield/include/G4FieldManager.hh b/source/geometry/magneticfield/include/G4FieldManager.hh index c30f02955f..131aece0ce 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.hh +++ b/source/geometry/magneticfield/include/G4FieldManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4FieldManager.hh,v 1.8 2002/07/24 10:43:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4FieldManager diff --git a/source/geometry/magneticfield/include/G4FieldManager.icc b/source/geometry/magneticfield/include/G4FieldManager.icc index 363430e00b..5ffa86b9b9 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.icc +++ b/source/geometry/magneticfield/include/G4FieldManager.icc @@ -22,7 +22,7 @@ // // // $Id: G4FieldManager.icc,v 1.5 2001/11/28 18:44:43 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4FieldManager inline implementation diff --git a/source/geometry/magneticfield/include/G4FieldTrack.hh b/source/geometry/magneticfield/include/G4FieldTrack.hh index b578ea84e9..8c1587834c 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.hh +++ b/source/geometry/magneticfield/include/G4FieldTrack.hh @@ -22,7 +22,7 @@ // // // $Id: G4FieldTrack.hh,v 1.8 2001/10/25 17:02:16 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4FieldTrack diff --git a/source/geometry/magneticfield/include/G4FieldTrack.icc b/source/geometry/magneticfield/include/G4FieldTrack.icc index 8cc07f40f2..17ddbeac03 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.icc +++ b/source/geometry/magneticfield/include/G4FieldTrack.icc @@ -21,10 +21,9 @@ // ******************************************************************** // // -// $Id: G4FieldTrack.icc,v 1.9 2001/10/25 17:02:16 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FieldTrack.icc,v 1.11 2003/04/02 14:22:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -#include "PhysicalConstants.h" inline G4FieldTrack::G4FieldTrack( const G4ThreeVector& pPosition, @@ -32,7 +31,7 @@ G4FieldTrack::G4FieldTrack( const G4ThreeVector& pPosition, G4double curve_length, G4double kineticEnergy, const G4double restMass_c2, - G4double velocity, + G4double, // velocity G4double pLaboratoryTimeOfFlight, G4double pProperTimeOfFlight, const G4ThreeVector* pSpin) diff --git a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh index 9758c4bd88..78684f8e56 100644 --- a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh @@ -22,7 +22,7 @@ // // // $Id: G4HelixExplicitEuler.hh,v 1.6 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4HelixExplicitEuler diff --git a/source/geometry/magneticfield/include/G4HelixHeum.hh b/source/geometry/magneticfield/include/G4HelixHeum.hh index 08b9d03bb7..c081b5f76a 100644 --- a/source/geometry/magneticfield/include/G4HelixHeum.hh +++ b/source/geometry/magneticfield/include/G4HelixHeum.hh @@ -22,7 +22,7 @@ // // // $Id: G4HelixHeum.hh,v 1.6 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4HelixHeum diff --git a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh index 0f50be6415..fc9b4d3976 100644 --- a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh @@ -22,7 +22,7 @@ // // // $Id: G4HelixImplicitEuler.hh,v 1.6 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4HelixImplicitEuler diff --git a/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh b/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh index f5cc66e9fd..71fc397a77 100644 --- a/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh +++ b/source/geometry/magneticfield/include/G4HelixSimpleRunge.hh @@ -22,7 +22,7 @@ // // // $Id: G4HelixSimpleRunge.hh,v 1.5 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // W. Wander 03/12/98 diff --git a/source/geometry/magneticfield/include/G4ImplicitEuler.hh b/source/geometry/magneticfield/include/G4ImplicitEuler.hh index 17a0d684ff..2cd2b11e51 100644 --- a/source/geometry/magneticfield/include/G4ImplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4ImplicitEuler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ImplicitEuler.hh,v 1.5 2002/11/29 13:48:47 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // W. Wander 12/09/97 diff --git a/source/geometry/magneticfield/include/G4LineSection.hh b/source/geometry/magneticfield/include/G4LineSection.hh index 653c8dc2e9..67fa5eb5d7 100644 --- a/source/geometry/magneticfield/include/G4LineSection.hh +++ b/source/geometry/magneticfield/include/G4LineSection.hh @@ -22,7 +22,7 @@ // // // $Id: G4LineSection.hh,v 1.7 2001/12/05 16:40:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LineSection diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.hh b/source/geometry/magneticfield/include/G4MagErrorStepper.hh index cd46aa8b3d..3538f9003d 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4MagErrorStepper.hh,v 1.8 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4MagErrorStepper diff --git a/source/geometry/magneticfield/include/G4MagErrorStepper.icc b/source/geometry/magneticfield/include/G4MagErrorStepper.icc index 1e55bb103c..c9c8b6c351 100644 --- a/source/geometry/magneticfield/include/G4MagErrorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagErrorStepper.icc @@ -22,7 +22,7 @@ // // // $Id: G4MagErrorStepper.icc,v 1.9 2002/11/09 03:06:15 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // inline diff --git a/source/geometry/magneticfield/include/G4MagHelicalStepper.hh b/source/geometry/magneticfield/include/G4MagHelicalStepper.hh index 22b03ef357..12fb67b10f 100644 --- a/source/geometry/magneticfield/include/G4MagHelicalStepper.hh +++ b/source/geometry/magneticfield/include/G4MagHelicalStepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4MagHelicalStepper.hh,v 1.7 2001/07/11 09:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4MagHelicalStepper diff --git a/source/geometry/magneticfield/include/G4MagHelicalStepper.icc b/source/geometry/magneticfield/include/G4MagHelicalStepper.icc index a6acf997f9..5603dcfe43 100644 --- a/source/geometry/magneticfield/include/G4MagHelicalStepper.icc +++ b/source/geometry/magneticfield/include/G4MagHelicalStepper.icc @@ -22,7 +22,7 @@ // // // $Id: G4MagHelicalStepper.icc,v 1.7 2002/05/31 16:22:54 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // linear Step in regions of no field diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh index d492b31a97..21293b3998 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorDriver.hh,v 1.12 2002/11/09 02:32:15 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4MagInt_Driver diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc index 2eb60ba998..7eff1a2beb 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorDriver.icc,v 1.7 2001/10/25 09:11:09 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // inline diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh index bc5ca64061..4a23e39421 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorStepper.hh,v 1.9 2002/11/20 18:09:22 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4MagIntegratorStepper diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc index 3fa94f760c..50f09566b0 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorStepper.icc,v 1.7 2002/11/20 18:10:44 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // inline diff --git a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh index 07412d89f1..364d684408 100644 --- a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mag_EqRhs.hh,v 1.6 2001/07/11 09:59:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Mag_EqRhs diff --git a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh index 16c4f6725b..d32d26f773 100644 --- a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mag_SpinEqRhs.hh,v 1.8 2002/06/07 18:25:09 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Mag_SpinEqRhs diff --git a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh index 7c49d8a031..b725ad50b2 100644 --- a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mag_UsualEqRhs.hh,v 1.5 2002/04/29 16:54:02 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Mag_UsualEqRhs diff --git a/source/geometry/magneticfield/include/G4MagneticField.hh b/source/geometry/magneticfield/include/G4MagneticField.hh index 56f5488f66..789fda1f04 100644 --- a/source/geometry/magneticfield/include/G4MagneticField.hh +++ b/source/geometry/magneticfield/include/G4MagneticField.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MagneticField.hh,v 1.10 2001/12/04 17:47:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MagneticField.hh,v 1.11 2003/04/02 08:49:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4MagneticField @@ -50,20 +50,12 @@ class G4MagneticField : public G4Field virtual ~G4MagneticField(); // Constructor and destructor. No actions. - G4MagneticField(const G4MagneticField &); - G4MagneticField& operator = (const G4MagneticField &); + G4MagneticField(const G4MagneticField &r); + G4MagneticField& operator = (const G4MagneticField &p); // Copy constructor & assignment operator. virtual void GetFieldValue( const G4double Point[4], G4double *Bfield ) const = 0; }; -// Inline implementations - -inline G4MagneticField::G4MagneticField() {} -inline G4MagneticField::~G4MagneticField() {} -inline G4MagneticField::G4MagneticField(const G4MagneticField &):G4Field() {} -inline G4MagneticField& G4MagneticField::operator = (const G4MagneticField &p) - { if (&p == this) return *this; *this = p; return *this; } - #endif /* G4MAGNETIC_FIELD_DEF */ diff --git a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh index ab5464f481..965e116576 100644 --- a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh +++ b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh @@ -22,7 +22,7 @@ // // // $Id: G4RKG3_Stepper.hh,v 1.8 2001/07/11 09:59:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4RKG3_Stepper diff --git a/source/geometry/magneticfield/include/G4SimpleHeum.hh b/source/geometry/magneticfield/include/G4SimpleHeum.hh index 64eda8c7fc..7798976792 100644 --- a/source/geometry/magneticfield/include/G4SimpleHeum.hh +++ b/source/geometry/magneticfield/include/G4SimpleHeum.hh @@ -22,7 +22,7 @@ // // // $Id: G4SimpleHeum.hh,v 1.5 2001/07/11 09:59:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4SimpleHeum diff --git a/source/geometry/magneticfield/include/G4SimpleRunge.hh b/source/geometry/magneticfield/include/G4SimpleRunge.hh index 10d47da165..bdacda260d 100644 --- a/source/geometry/magneticfield/include/G4SimpleRunge.hh +++ b/source/geometry/magneticfield/include/G4SimpleRunge.hh @@ -22,7 +22,7 @@ // // // $Id: G4SimpleRunge.hh,v 1.5 2001/07/11 09:59:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4SimpleRunge diff --git a/source/geometry/magneticfield/include/G4UniformElectricField.hh b/source/geometry/magneticfield/include/G4UniformElectricField.hh index 555390e679..eeb2251bdb 100644 --- a/source/geometry/magneticfield/include/G4UniformElectricField.hh +++ b/source/geometry/magneticfield/include/G4UniformElectricField.hh @@ -22,7 +22,7 @@ // // // $Id: G4UniformElectricField.hh,v 1.6 2001/12/04 17:35:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4UniformElectricField diff --git a/source/geometry/magneticfield/include/G4UniformMagField.hh b/source/geometry/magneticfield/include/G4UniformMagField.hh index f5b662f9a0..18d6aeac00 100644 --- a/source/geometry/magneticfield/include/G4UniformMagField.hh +++ b/source/geometry/magneticfield/include/G4UniformMagField.hh @@ -22,7 +22,7 @@ // // // $Id: G4UniformMagField.hh,v 1.7 2001/12/04 17:35:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4UniformMagField diff --git a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc index 34a3ed418a..772fd9f6f1 100644 --- a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc +++ b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CashKarpRKF45.cc,v 1.10 2001/11/21 17:56:18 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CashKarpRKF45.cc,v 1.11 2003/04/02 08:52:17 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // The Cash-Karp Runge-Kutta-Fehlberg 4/5 method is an embedded fourth // order method (giving fifth-order accuracy) for the solution @@ -103,10 +103,10 @@ G4CashKarpRKF45::~G4CashKarpRKF45() void G4CashKarpRKF45::Stepper(const G4double yInput[], - const G4double dydx[], - G4double Step, - G4double yOut[], - G4double yErr[]) + const G4double dydx[], + G4double Step, + G4double yOut[], + G4double yErr[]) { // const G4int nvar = 6 ; // const G4double a2 = 0.2 , a3 = 0.3 , a4 = 0.6 , a5 = 1.0 , a6 = 0.875; @@ -128,7 +128,7 @@ G4CashKarpRKF45::Stepper(const G4double yInput[], dc5 = -277.0/14336.0 ; const G4double dc1 = c1 - 2825.0/27648.0 , dc3 = c3 - 18575.0/48384.0 , - dc4 = c4 - 13525.0/55296.0 , dc6 = c6 - 0.25 ; + dc4 = c4 - 13525.0/55296.0 , dc6 = c6 - 0.25 ; // Saving yInput because yInput and yOut can be aliases for same array @@ -193,142 +193,22 @@ G4CashKarpRKF45::Stepper(const G4double yInput[], fLastStepLength =Step; return ; - } /////////////////////////////////////////////////////////////////////////////// void -G4CashKarpRKF45::StepWithEst(const G4double yInput[], - const G4double dydx[], - G4double Step, - G4double yOut[], - G4double& alpha2, - G4double& beta2, - const G4double B1[], - G4double B2[] ) +G4CashKarpRKF45::StepWithEst( const G4double*, + const G4double*, + G4double, + G4double*, + G4double&, + G4double&, + const G4double*, + G4double* ) { - - G4Exception("G4CashKarpRKF45::StepWithEst ERROR: This Method is no longer used."); - -#if 0 - // const G4int nvar = 6 ; - G4int i; - - // Saving yInput because yInput and yOut can be aliases for same array - - for(i=0;iEvaluateRhsReturnB(yTemp,ak2,B2) ; // Calculates yderive & - // returns B too! - for(i=0;i<3;i++) - { - alpha2 += B2[i]*B2[i] ; - beta2 += ak2[i+3]*ak2[i+3] ; - } - - for(i=0;iEvaluateRhsReturnB(yTemp,ak3,B2) ; - for(i=0;i<3;i++) - { - alpha2 += B2[i]*B2[i] ; - beta2 += ak3[i+3]*ak3[i+3] ; - } - - for(i=0;iEvaluateRhsReturnB(yTemp,ak4,B2) ; - - for(i=0;i<3;i++) - { - alpha2 += B2[i]*B2[i] ; - beta2 += ak4[i+3]*ak4[i+3] ; - } - - for(i=0;iEvaluateRhsReturnB(yTemp,ak5,B2) ; - - for(i=0;i<3;i++) - { - alpha2 += B2[i]*B2[i] ; - beta2 += ak5[i+3]*ak5[i+3] ; - } - - for(i=0;iEvaluateRhsReturnB(yTemp,ak6,B2) ; - - for(i=0;i<3;i++) - { - alpha2 += B2[i]*B2[i] ; - beta2 += ak6[i+3]*ak6[i+3] ; - } - - for(i=0;iFCof()*Step)/6.0 ; - beta2 *= (Step*Step)/6.0 ; - // NormaliseTangentVector( yOut ); -#endif - - return ; - + G4Exception("ERROR - G4CashKarpRKF45::StepWithEst(): Method no longer used."); + return ; } ///////////////////////////////////////////////////////////////// diff --git a/source/geometry/magneticfield/src/G4ChordFinder.cc b/source/geometry/magneticfield/src/G4ChordFinder.cc index 32c2f78d4b..71f3e0e38f 100644 --- a/source/geometry/magneticfield/src/G4ChordFinder.cc +++ b/source/geometry/magneticfield/src/G4ChordFinder.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ChordFinder.cc,v 1.31 2002/11/09 02:50:48 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ChordFinder.cc,v 1.32 2003/04/02 08:53:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // 25.02.97 John Apostolakis, design and implimentation @@ -44,9 +44,9 @@ const G4double G4ChordFinder::fDefaultDeltaChord = 3. * mm; // .......................................................................... G4ChordFinder::G4ChordFinder( G4MagneticField* theMagField, - G4double stepMinimum, - G4MagIntegratorStepper* pItsStepper ) // A default one - : fDeltaChord( fDefaultDeltaChord ) + G4double stepMinimum, + G4MagIntegratorStepper* pItsStepper ) + : fDeltaChord( fDefaultDeltaChord ) { // Construct the Chord Finder // by creating in inverse order the Driver, the Stepper and EqRhs ... @@ -66,9 +66,8 @@ G4ChordFinder::G4ChordFinder( G4MagneticField* theMagField, { fAllocatedStepper= false; } - fIntgrDriver = new G4MagInt_Driver(stepMinimum, - pItsStepper, - pItsStepper->GetNumberOfVariables() ); + fIntgrDriver = new G4MagInt_Driver(stepMinimum, pItsStepper, + pItsStepper->GetNumberOfVariables() ); } // ...................................................................... @@ -87,8 +86,8 @@ G4ChordFinder::~G4ChordFinder() G4double G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, - G4double stepMax, - G4double epsStep ) + G4double stepMax, + G4double epsStep ) { G4double stepPossible; G4double dyErr; @@ -99,7 +98,7 @@ G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, static G4bool dbg= false; if( dbg ) G4cerr << "Entered AdvanceChordLimited with:\n yCurrent: " << yCurrent - << " and initial Step=stepMax=" << stepMax << " mm. " << G4endl; + << " and initial Step=stepMax=" << stepMax << " mm. " << G4endl; #endif stepPossible= FindNextChord(yCurrent, stepMax, yEnd, dyErr, epsStep); @@ -116,7 +115,7 @@ G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, good_advance = fIntgrDriver->AccurateAdvance(yCurrent, stepPossible, epsStep); #ifdef G4DEBUG_FIELD if (dbg) G4cerr << "Accurate advance to end of chord attemped" - << "with result " << good_advance << G4endl ; + << "with result " << good_advance << G4endl ; #endif if ( ! good_advance ){ // In this case the driver could not do the full distance @@ -126,7 +125,7 @@ G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, #ifdef G4DEBUG_FIELD if( dbg ) G4cerr << "Exiting FindNextChord Limited with:\n yCurrent: " - << yCurrent<< G4endl; + << yCurrent<< G4endl; #endif return stepPossible; @@ -134,16 +133,15 @@ G4ChordFinder::AdvanceChordLimited( G4FieldTrack& yCurrent, // #define TEST_CHORD_PRINT 1 -// .............................................................................. +// ............................................................................ G4double G4ChordFinder::FindNextChord( const G4FieldTrack yStart, - G4double stepMax, - G4FieldTrack& yEnd, // Endpoint - G4double& dyErr, // Error of endpoint - G4double epsStep ) - -// Returns Length of Step taken + G4double stepMax, + G4FieldTrack& yEnd, // Endpoint + G4double& dyErr, // Error of endpoint + G4double ) + // Returns Length of Step taken { // G4int stepRKnumber=0; G4FieldTrack yCurrent= yStart; @@ -162,7 +160,7 @@ G4ChordFinder::FindNextChord( const G4FieldTrack yStart, G4int noTrials=0; stepTrial = G4std::min( stepMax, - (1-perThousand)*fLastStepEstimate_Unconstrained ); + (1-perThousand)*fLastStepEstimate_Unconstrained ); do { @@ -181,22 +179,24 @@ G4ChordFinder::FindNextChord( const G4FieldTrack yStart, oldStepTrial = stepTrial; // This method estimates to step size for a good chord. - stepForChord = NewStep(stepTrial, dChordStep, fLastStepEstimate_Unconstrained ); + stepForChord = NewStep(stepTrial, dChordStep, + fLastStepEstimate_Unconstrained ); if( ! validEndPoint ) { if( (stepForChord <= oldStepTrial) || (stepTrial<=0.0) ) - stepTrial = stepForChord; + stepTrial = stepForChord; else - stepTrial *= 0.1; + stepTrial *= 0.1; #if 0 - // Possible complementary approach: - // Get the driver to calculate the new step size, if it is needed - stepForAccuracy = fIntgrDriver->ComputeNewStepSize( dyErr/(epsStep*oldStepTrial), - stepTrial); - stepTrial = G4std::min(stepForChord, stepForAccuracy); + // Possible complementary approach: + // Get the driver to calculate the new step size, if it is needed + stepForAccuracy = + fIntgrDriver->ComputeNewStepSize( dyErr/(epsStep*oldStepTrial), + stepTrial ); + stepTrial = G4std::min(stepForChord, stepForAccuracy); #endif - // if(dbg) G4cerr<<"Dchord too big. Try new hstep="< Unphysical curve length."); + G4cerr << " ERROR: the size of the above difference" + << " exceeds allowed limits. Aborting." << G4endl; + G4Exception("G4ChordFinder::ApproxCurvePoint > Unphysical curve length."); } #endif // Take default corrective action: @@ -384,19 +389,22 @@ G4FieldTrack G4ChordFinder::ApproxCurvePointV( }else{ AE_fraction = 0.5; // Guess .. ?; #ifdef G4DEBUG_FIELD - G4cout << "Warning in G4ChordFinder::ApproxCurvePoint: A and B are the same point\n" << - " Chord AB length = " << ChordAE_Vector.mag() << G4endl << G4endl; + G4cout << "Warning in G4ChordFinder::ApproxCurvePoint:" + << " A and B are the same point!" << G4endl + << " Chord AB length = " << ChordAE_Vector.mag() << G4endl + << G4endl; #endif } if( (AE_fraction> 1.0 + perMillion) || (AE_fraction< 0.) ){ #ifdef G4DEBUG_FIELD - G4cerr << " G4ChordFinder::ApproxCurvePointV: Warning: Anomalous condition:AE > AB or AE/AB <= 0 " << G4endl << - " AE_fraction = " << AE_fraction << G4endl << - " Chord AE length = " << ChordAE_Vector.mag() << G4endl << - " Chord AB length = " << ABdist << G4endl << G4endl; - G4cerr << " OK if this condition occurs after a recalculation of 'B'" << G4endl - << " Otherwise it is an error. " << G4endl ; + G4cerr << " G4ChordFinder::ApproxCurvePointV - Warning:" + << " Anomalous condition:AE > AB or AE/AB <= 0 " << G4endl + << " AE_fraction = " << AE_fraction << G4endl + << " Chord AE length = " << ChordAE_Vector.mag() << G4endl + << " Chord AB length = " << ABdist << G4endl << G4endl; + G4cerr << " OK if this condition occurs after a recalculation of 'B'" + << G4endl << " Otherwise it is an error. " << G4endl ; #endif // This course can now result if B has been re-evaluated, // without E being recomputed (1 July 99) @@ -411,8 +419,8 @@ G4FieldTrack G4ChordFinder::ApproxCurvePointV( if ( AE_fraction > 0.0 ) { good_advance = fIntgrDriver->AccurateAdvance(Current_PointVelocity, - new_st_length, - eps_step ); // Relative accuracy + new_st_length, + eps_step ); // Relative accuracy // In this case it does not matter if it cannot advance the full distance } diff --git a/source/geometry/magneticfield/src/G4ClassicalRK4.cc b/source/geometry/magneticfield/src/G4ClassicalRK4.cc index 2190114372..92ab3e6346 100644 --- a/source/geometry/magneticfield/src/G4ClassicalRK4.cc +++ b/source/geometry/magneticfield/src/G4ClassicalRK4.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ClassicalRK4.cc,v 1.6 2002/11/20 17:56:35 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ClassicalRK4.cc,v 1.7 2003/04/02 08:52:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ClassicalRK4.hh" #include "G4ThreeVector.hh" @@ -66,9 +66,9 @@ G4ClassicalRK4::~G4ClassicalRK4() void G4ClassicalRK4::DumbStepper( const G4double yIn[], - const G4double dydx[], - G4double h, - G4double yOut[]) + const G4double dydx[], + G4double h, + G4double yOut[]) { const G4int nvar = this->GetNumberOfVariables(); // fNumberOfVariables(); G4int i; @@ -101,12 +101,11 @@ G4ClassicalRK4::DumbStepper( const G4double yIn[], for(i=0;iEvaluateRhsReturnB(yt,dydxt,B) ; // Calculates yderive & - // returns B too! - // RightHandSide(yt,dydxt) ; // 2nd Step K2=h*dydxt - - for(i=0;iEvaluateRhsReturnB(yt,dydxm,B2) ; - // RightHandSide(yt,dydxm) ; // 3rd Step K3=h*dydxm - - for(i=0;i<3;i++) - { - beta2 += dydx[i+3] *dydx[i+3] - + dydxt[i+3]*dydxt[i+3] - + dydxm[i+3]*dydxm[i+3] ; - alpha2 += B1[i]*B1[i] + B[i]*B[i] + B2[i]*B2[i] ; - } - for(i=0;iEvaluateRhsReturnB(yt,dydxt,B2) ; - // RightHandSide(yt,dydxt) ; // 4th Step K4=h*dydxt - - for(i=0;iFCof()*h)*0.25 ; - // NormaliseTangentVector( yOut ); - -#endif - - return ; + G4Exception("ERROR - G4ClassicalRK4::StepWithEst(): method no longer used."); + return ; } // end of StepWithEst ...................................................... - - - diff --git a/source/geometry/magneticfield/src/G4ElectroMagneticField.cc b/source/geometry/magneticfield/src/G4ElectroMagneticField.cc new file mode 100644 index 0000000000..e49d01eaf9 --- /dev/null +++ b/source/geometry/magneticfield/src/G4ElectroMagneticField.cc @@ -0,0 +1,49 @@ +// +// ******************************************************************** +// * 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: G4ElectroMagneticField.cc,v 1.1 2003/04/02 08:49:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -------------------------------------------------------------------- + +#include "G4ElectroMagneticField.hh" + +G4ElectroMagneticField::G4ElectroMagneticField() +{ +} + +G4ElectroMagneticField::~G4ElectroMagneticField() +{ +} + +G4ElectroMagneticField::G4ElectroMagneticField(const G4ElectroMagneticField &r) + : G4MagneticField(r) +{ +} + +G4ElectroMagneticField& +G4ElectroMagneticField::operator = (const G4ElectroMagneticField &p) +{ + if (&p == this) return *this; + *this = p; return *this; +} diff --git a/source/geometry/magneticfield/src/G4EqMagElectricField.cc b/source/geometry/magneticfield/src/G4EqMagElectricField.cc index ba2e018e89..42a2bc5359 100644 --- a/source/geometry/magneticfield/src/G4EqMagElectricField.cc +++ b/source/geometry/magneticfield/src/G4EqMagElectricField.cc @@ -33,7 +33,7 @@ void G4EqMagElectricField::SetChargeMomentumMass(G4double particleCharge, // e+ units - G4double MomentumXc, + G4double, G4double particleMass) { fElectroMagCof = eplus*particleCharge*c_light ; diff --git a/source/geometry/magneticfield/src/G4EquationOfMotion.cc b/source/geometry/magneticfield/src/G4EquationOfMotion.cc index 468180ccb7..4ba83460f3 100644 --- a/source/geometry/magneticfield/src/G4EquationOfMotion.cc +++ b/source/geometry/magneticfield/src/G4EquationOfMotion.cc @@ -22,7 +22,7 @@ // // // $Id: G4EquationOfMotion.cc,v 1.7 2002/06/11 08:34:27 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4EquationOfMotion.hh" diff --git a/source/geometry/magneticfield/src/G4ExplicitEuler.cc b/source/geometry/magneticfield/src/G4ExplicitEuler.cc index 0f1a4a58ae..0a33973ba3 100644 --- a/source/geometry/magneticfield/src/G4ExplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4ExplicitEuler.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExplicitEuler.cc,v 1.5 2002/11/29 13:50:18 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Explicit Euler: x_1 = x_0 + h * dx_0 diff --git a/source/geometry/magneticfield/src/G4FieldManager.cc b/source/geometry/magneticfield/src/G4FieldManager.cc index 86006861b1..89ee9aca95 100644 --- a/source/geometry/magneticfield/src/G4FieldManager.cc +++ b/source/geometry/magneticfield/src/G4FieldManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4FieldManager.cc,v 1.7 2002/07/24 10:43:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4FieldManager.hh" diff --git a/source/geometry/magneticfield/src/G4FieldTrack.cc b/source/geometry/magneticfield/src/G4FieldTrack.cc index 0b7316bf15..48325db00b 100644 --- a/source/geometry/magneticfield/src/G4FieldTrack.cc +++ b/source/geometry/magneticfield/src/G4FieldTrack.cc @@ -22,7 +22,7 @@ // // // $Id: G4FieldTrack.cc,v 1.4 2001/07/11 09:59:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4FieldTrack.hh" diff --git a/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc b/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc index b5358bfd7e..a5cb3510c0 100644 --- a/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4HelixExplicitEuler.cc @@ -22,7 +22,7 @@ // // // $Id: G4HelixExplicitEuler.cc,v 1.4 2001/07/11 09:59:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HelixExplicitEuler.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixHeum.cc b/source/geometry/magneticfield/src/G4HelixHeum.cc index dc8783e3c7..ebfcd85517 100644 --- a/source/geometry/magneticfield/src/G4HelixHeum.cc +++ b/source/geometry/magneticfield/src/G4HelixHeum.cc @@ -22,7 +22,7 @@ // // // $Id: G4HelixHeum.cc,v 1.4 2001/07/11 09:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HelixHeum.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc b/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc index 73a4c3e726..11765f007f 100644 --- a/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4HelixImplicitEuler.cc @@ -22,7 +22,7 @@ // // // $Id: G4HelixImplicitEuler.cc,v 1.4 2001/07/11 09:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HelixImplicitEuler.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc b/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc index ac3461e262..4944a368db 100644 --- a/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc +++ b/source/geometry/magneticfield/src/G4HelixSimpleRunge.cc @@ -22,7 +22,7 @@ // // // $Id: G4HelixSimpleRunge.cc,v 1.5 2001/07/11 09:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4HelixSimpleRunge.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4ImplicitEuler.cc b/source/geometry/magneticfield/src/G4ImplicitEuler.cc index a3098c967c..f177c721ce 100644 --- a/source/geometry/magneticfield/src/G4ImplicitEuler.cc +++ b/source/geometry/magneticfield/src/G4ImplicitEuler.cc @@ -22,7 +22,7 @@ // // // $Id: G4ImplicitEuler.cc,v 1.5 2002/11/29 13:45:21 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Implicit Euler: diff --git a/source/geometry/magneticfield/src/G4LineSection.cc b/source/geometry/magneticfield/src/G4LineSection.cc index 2e44e0af7f..816317858a 100644 --- a/source/geometry/magneticfield/src/G4LineSection.cc +++ b/source/geometry/magneticfield/src/G4LineSection.cc @@ -22,7 +22,7 @@ // // // $Id: G4LineSection.cc,v 1.6 2001/12/04 15:10:01 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // typedef double G4double; diff --git a/source/geometry/magneticfield/src/G4MagErrorStepper.cc b/source/geometry/magneticfield/src/G4MagErrorStepper.cc index 05b1dc56df..8ce99b5259 100644 --- a/source/geometry/magneticfield/src/G4MagErrorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagErrorStepper.cc @@ -22,7 +22,7 @@ // // // $Id: G4MagErrorStepper.cc,v 1.11 2002/11/20 18:14:00 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4MagErrorStepper.hh" #include "G4ThreeVector.hh" diff --git a/source/geometry/magneticfield/src/G4MagHelicalStepper.cc b/source/geometry/magneticfield/src/G4MagHelicalStepper.cc index 10f5db13d3..2f2258b686 100644 --- a/source/geometry/magneticfield/src/G4MagHelicalStepper.cc +++ b/source/geometry/magneticfield/src/G4MagHelicalStepper.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MagHelicalStepper.cc,v 1.11 2002/01/17 08:12:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MagHelicalStepper.cc,v 1.12 2003/04/02 08:53:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4MagHelicalStepper.hh" #include "G4ThreeVector.hh" @@ -156,7 +156,7 @@ G4MagHelicalStepper::AdvanceHelix( const G4double yIn[], void G4MagHelicalStepper::Stepper( const G4double yInput[], - const G4double dydx[], + const G4double*, G4double hstep, G4double yOut[], G4double yErr[] ) diff --git a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc index 9a3300cab4..f61a045f4b 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorDriver.cc @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorDriver.cc,v 1.31 2002/12/12 08:19:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc index ed82b2255d..ae73856018 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc @@ -22,7 +22,7 @@ // // // $Id: G4MagIntegratorStepper.cc,v 1.8 2002/11/20 18:12:56 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4MagIntegratorStepper.hh" diff --git a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc index 0726cf519e..86dbce425c 100644 --- a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Mag_EqRhs.cc,v 1.7 2001/07/11 09:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Mag_EqRhs.cc,v 1.8 2003/04/02 08:53:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // This is the standard right-hand side for equation of motion // in a pure Magnetic Field . @@ -48,8 +48,8 @@ G4Mag_EqRhs::G4Mag_EqRhs( G4MagneticField *magField ) void G4Mag_EqRhs::SetChargeMomentumMass( G4double particleCharge, // e+ units - G4double MomentumXc, - G4double particleMass) + G4double, // MomentumXc + G4double ) // particleMass { fCof_val = particleCharge*eplus*c_light ; // B must be in Tesla // fCof_val = fUnitConstant*particleCharge/MomentumXc; // B must be in Tesla diff --git a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc index ee43425ed0..8b8eb78836 100644 --- a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mag_UsualEqRhs.cc,v 1.8 2002/11/09 02:58:14 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // This is the 'standard' right-hand side for the equation of motion diff --git a/source/geometry/magneticfield/src/G4MagneticField.cc b/source/geometry/magneticfield/src/G4MagneticField.cc new file mode 100644 index 0000000000..27c02120e5 --- /dev/null +++ b/source/geometry/magneticfield/src/G4MagneticField.cc @@ -0,0 +1,47 @@ +// +// ******************************************************************** +// * 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: G4MagneticField.cc,v 1.1 2003/04/02 08:49:14 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -------------------------------------------------------------------- + +#include "G4MagneticField.hh" + +G4MagneticField::G4MagneticField() +{ +} + +G4MagneticField::~G4MagneticField() +{ +} + +G4MagneticField::G4MagneticField(const G4MagneticField &) + : G4Field() +{ +} + +G4MagneticField& G4MagneticField::operator = (const G4MagneticField &p) +{ + if (&p == this) return *this; *this = p; return *this; +} diff --git a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc index 1f4bfc3410..d4da3ce621 100644 --- a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc +++ b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc @@ -21,18 +21,18 @@ // ******************************************************************** // // -// $Id: G4RKG3_Stepper.cc,v 1.6 2001/07/11 09:59:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RKG3_Stepper.cc,v 1.7 2003/04/02 08:52:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4RKG3_Stepper.hh" #include "G4ThreeVector.hh" #include "G4LineSection.hh" void G4RKG3_Stepper::Stepper( const G4double yInput[7], - const G4double dydx[7], - G4double Step, - G4double yOut[7], - G4double yErr[]) + const G4double dydx[7], + G4double Step, + G4double yOut[7], + G4double yErr[]) { G4double B[3]; // G4double yderiv[6]; @@ -52,8 +52,8 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], // To obtain B1 ... - // GetEquationOfMotion()->GetFieldValue(yIn,B); - // G4RKG3_Stepper::StepWithEst(yIn, dydx, Step, yOut,alpha2, beta2, B1, B2 ); + // GetEquationOfMotion()->GetFieldValue(yIn,B); + // G4RKG3_Stepper::StepWithEst(yIn, dydx, Step, yOut,alpha2, beta2, B1, B2 ); StepNoErr(yIn, dydx,h, yTemp,B) ; // RightHandSide(yTemp,dydxTemp) ; @@ -88,7 +88,6 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], // beta2 *= 0.5 ; // NormaliseTangentVector( yOut ); // Deleted return ; - } // --------------------------------------------------------------------------- @@ -98,83 +97,18 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], // B1[3] is input and is the first magnetic field values // B2[3] is output and is the final magnetic field values. -void G4RKG3_Stepper::StepWithEst( const G4double tIn[7], - const G4double dydx[7], - G4double Step, - G4double tOut[7], - G4double& alpha2, - G4double& beta2, - const G4double B1[3], - G4double B2[3]) // const +void G4RKG3_Stepper::StepWithEst( const G4double*, + const G4double*, + G4double, + G4double*, + G4double&, + G4double&, + const G4double*, + G4double* ) { - - G4Exception(" G4RKG3_Stepper::StepWithEst ERROR: this Method is no longer used."); - -#if 0 -// G4int nvar = 6 ; - G4double K1[7],K2[7],K3[7],K4[7] ; - G4double tTemp[7], yderiv[6] ; - G4double B[3]; - G4int i ; - - alpha2 = 0 ; - beta2 = 0 ; - - // GetEquationOfMotion()->EvaluateRhsReturnB(tIn,dydx,B1) ; - - for(i=0;i<3;i++) - { - K1[i] = Step * dydx[i+3]; - tTemp[i] = tIn[i] + Step*(0.5*tIn[i+3] + 0.125*K1[i]) ; - tTemp[i+3] = tIn[i+3] + 0.5*K1[i] ; - alpha2 += B1[i]*B1[i] ; - beta2 += K1[i]*K1[i] ; - } - GetEquationOfMotion()->EvaluateRhsReturnB(tTemp,yderiv,B) ; // Calculates yderive & returns B too! - // GetFieldValue(tTemp,B) ; - - for(i=0;i<3;i++) - { - K2[i] = Step * yderiv[i+3]; - tTemp[i+3] = tIn[i+3] + 0.5*K2[i] ; - alpha2 += 2*B[i]*B[i] ; - beta2 += K2[i]*K2[i] ; - } - - // Given B, calculate yderiv ! - GetEquationOfMotion()->EvaluateRhsGivenB(tTemp,B,yderiv) ; - - for(i=0;i<3;i++) - { - K3[i] = Step * yderiv[i+3]; - tTemp[i] = tIn[i] + Step*(tIn[i+3] + 0.5*K3[i]) ; - tTemp[i+3] = tIn[i+3] + K3[i] ; - beta2 += K3[i]*K3[i] ; - } - - // Calculates y-deriv(atives) & returns B too! - GetEquationOfMotion()->EvaluateRhsReturnB(tTemp,yderiv,B2) ; - - G4double drds2 = 0 ; - for(i=0;i<3;i++) // Output trajectory vector - { - K4[i] = Step * yderiv[i+3]; - tOut[i] = tIn[i] + Step*(tIn[i+3] + (K1[i] + K2[i] + K3[i])/6.0) ; - tOut[i+3] = tIn[i+3] + (K1[i] + 2*K2[i] + 2*K3[i] +K4[i])/6.0 ; - alpha2 += B2[i]*B2[i] ; - beta2 += K4[i]*K4[i] ; - // drds2 += tOut[i+3]*tOut[i+3] ; - } - alpha2 *= sqr(GetEquationOfMotion()->FCof()*Step) * 0.25 ; - beta2 *= 0.25 ; - - // drds2 = sqrt(drds2) ; - // for(i=0;i<3;i++) {tOut[i+3] /= drds2 ; } // Unit vector along momentum - // NormaliseTangentVector( tOut ); // Deleted -#endif - - return ; + G4Exception(" ERROR - G4RKG3_Stepper::StepWithEst(): method no longer used."); + return ; } // ----------------------------------------------------------------- @@ -185,10 +119,10 @@ void G4RKG3_Stepper::StepWithEst( const G4double tIn[7], // is passed from substep to substep. void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], - const G4double dydx[7], - G4double Step, - G4double tOut[7], - G4double B[3] ) // const + const G4double dydx[7], + G4double Step, + G4double tOut[7], + G4double B[3] ) // const { // Copy and edit the routine above, to delete alpha2, beta2, ... @@ -197,7 +131,7 @@ void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], G4int i ; #ifdef END_CODE_G3STEPPER - G4Exception(" G4RKG3_Stepper::StepNoErr ERROR: this Method should no longer be used."); + G4Exception(" G4RKG3_Stepper::StepNoErr(): method to be no longer used."); #else // GetEquationOfMotion()->EvaluateRhsReturnB(tIn,dydx,B1) ; @@ -207,8 +141,9 @@ void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], tTemp[i] = tIn[i] + Step*(0.5*tIn[i+3] + 0.125*K1[i]) ; tTemp[i+3] = tIn[i+3] + 0.5*K1[i] ; } - GetEquationOfMotion()->EvaluateRhsReturnB(tTemp,yderiv,B) ; // Calculates yderive - // & returns B too! + GetEquationOfMotion()->EvaluateRhsReturnB(tTemp,yderiv,B) ; + // Calculates yderiv & returns B too! + for(i=0;i<3;i++) { K2[i] = Step * yderiv[i+3]; diff --git a/source/geometry/magneticfield/src/G4SimpleHeum.cc b/source/geometry/magneticfield/src/G4SimpleHeum.cc index 52112127cd..bda6479ee1 100644 --- a/source/geometry/magneticfield/src/G4SimpleHeum.cc +++ b/source/geometry/magneticfield/src/G4SimpleHeum.cc @@ -22,7 +22,7 @@ // // // $Id: G4SimpleHeum.cc,v 1.5 2001/07/11 09:59:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Simple Heum: // x_1 = x_0 + h * diff --git a/source/geometry/magneticfield/src/G4SimpleRunge.cc b/source/geometry/magneticfield/src/G4SimpleRunge.cc index c1d58892ff..38c967fc46 100644 --- a/source/geometry/magneticfield/src/G4SimpleRunge.cc +++ b/source/geometry/magneticfield/src/G4SimpleRunge.cc @@ -22,7 +22,7 @@ // // // $Id: G4SimpleRunge.cc,v 1.6 2002/11/29 23:17:16 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Simple Runge: // diff --git a/source/geometry/magneticfield/src/G4UniformElectricField.cc b/source/geometry/magneticfield/src/G4UniformElectricField.cc index e49374c47e..9d871e0465 100644 --- a/source/geometry/magneticfield/src/G4UniformElectricField.cc +++ b/source/geometry/magneticfield/src/G4UniformElectricField.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UniformElectricField.cc,v 1.6 2001/12/04 17:35:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UniformElectricField.cc,v 1.7 2003/04/02 08:50:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // @@ -45,8 +45,8 @@ G4UniformElectricField::G4UniformElectricField(const G4ThreeVector FieldVector ) } G4UniformElectricField::G4UniformElectricField(G4double vField, - G4double vTheta, - G4double vPhi ) + G4double vTheta, + G4double vPhi ) { if(vField >= 0 && vTheta >= 0 && vTheta <= pi && @@ -67,16 +67,17 @@ G4UniformElectricField::G4UniformElectricField(G4double vField, G4UniformElectricField::~G4UniformElectricField() { - ; } G4UniformElectricField::G4UniformElectricField (const G4UniformElectricField &p) + : G4ElectroMagneticField(p) { for (G4int i=0; i<6; i++) fFieldComponents[i] = p.fFieldComponents[i]; } -G4UniformElectricField& G4UniformElectricField::operator = (const G4UniformElectricField &p) +G4UniformElectricField& +G4UniformElectricField::operator = (const G4UniformElectricField &p) { for (G4int i=0; i<6; i++) fFieldComponents[i] = p.fFieldComponents[i]; diff --git a/source/geometry/magneticfield/src/G4UniformMagField.cc b/source/geometry/magneticfield/src/G4UniformMagField.cc index d72130ee68..609575356c 100644 --- a/source/geometry/magneticfield/src/G4UniformMagField.cc +++ b/source/geometry/magneticfield/src/G4UniformMagField.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UniformMagField.cc,v 1.5 2001/11/08 17:32:21 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UniformMagField.cc,v 1.6 2003/04/02 08:50:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // @@ -50,8 +50,8 @@ G4UniformMagField::SetFieldValue(const G4ThreeVector& newFieldVector ) } G4UniformMagField::G4UniformMagField(G4double vField, - G4double vTheta, - G4double vPhi ) + G4double vTheta, + G4double vPhi ) { if(vField >= 0 && vTheta >= 0 && vTheta <= pi && @@ -73,6 +73,7 @@ G4UniformMagField::~G4UniformMagField() } G4UniformMagField::G4UniformMagField (const G4UniformMagField &p) + : G4MagneticField(p) { for (G4int i=0; i<3; i++) fFieldComponents[i] = p.fFieldComponents[i]; diff --git a/source/geometry/management/History b/source/geometry/management/History index fe0416df89..ccd79065d4 100644 --- a/source/geometry/management/History +++ b/source/geometry/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.45 2002/11/19 17:15:37 gcosmo Exp $ +$Id: History,v 1.58 2003/04/07 13:31:49 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,56 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +April 3, 2003 M. Dressel geommng-V05-00-09 +- G4LogicalVolume: added method for scanning recursively the volume tree + and retrieve if the current LV is ancestor of a given PV: + G4bool IsAncestor(const G4VPhysicalVolume*) const + +March 31, 2003 G. Cosmo geommng-V05-00-08 +- Fixed trivial strict pedantic warnings in G4VSolid.cc and G4PVPlacement.cc. + +March 24, 2003 G. Cosmo geommng-V05-00-07 +- G4Region.cc: fixed setting/resetting of regions in ScanVolumeTree(). + +March 05, 2003 M. Asai geommng-V05-00-06 +- G4Region.cc: fix for scanning of parameterised materials. + +March 05, 2003 G. Cosmo geommng-V05-00-05 +- G4LogicalVolume.icc: added check for invalid geometry constructions. + Issue an exception if a placement is attempted in a volume already + containing a replicated daughter. +- Cosmetic formatting changes in G4PVPlacement.cc and G4VPhysicalVolume.cc. + +February 07, 2003 G. Cosmo geommng-V05-00-04 +- Added method FindOrCreateRegion() to G4RegionStore. +- Added check in constructor of G4Region for existance of region in store. + In case a region with the given name already exists, throw a warning and + do not register it. + +January 30, 2003 G. Cosmo geommng-V05-00-03 +- Allow logical volume store to deregister root regions for logical volumes + deleted explicitely. + Modified files: G4logicalVolumeStore.cc, G4LogicalVolume[.hh.icc.cc]. +- G4Region.hh: moved ClearMaterialList() to public. + +January 15, 2003 G. Cosmo geommng-V05-00-02 +- Included fix in G4VSolid.cc introduced in "geommng-V04-01-06". + +January 14, 2003 M.Asai geommng-V05-00-01 +- Fix in src/G4Region.cc. + Does not include fix in "geommng-V04-01-06". + +December 16, 2002 G. Cosmo geommng-V05-00-00 +- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. + Included development for 'cuts-by-region'; introduced new classes + G4Region and G4RegionStore. Modified G4LogicalVolume to handle recursive + propagation of regions to daughters. + Does not include fix in "geommng-V04-01-06". + +December 6, 2002 V. Grichine geommng-V04-01-06 +- G4VSolid.cc: restored original conditions for extent clipping in + method ClipPolygon(). Makes unit tests run successfully. + November 19, 2002 G. Cosmo geommng-V04-01-05 - G4GeometryManager[.cc] o Fixed bug in initialisation of fine-grained timer @@ -235,59 +285,47 @@ September 11, 2000 G.Cosmo geommng-V02-00-00 application exit when Boolean solids are involved (bug #154). June 06, 2000 G.Cosmo geommng-V01-01-00 - - G4DrawVoxels.hh: removed line '#define G4DrawVoxelsDebug' left in place accidentally in the code... April 20, 2000 G. Cosmo - - Reorganised comments for the Software Reference Manual. - Moved inlined definition to .icc files, where needed. Created: G4SmartVoxelHeader.icc, G4SmartVoxelNode.icc, G4SmartVoxelProxy.icc, G4VoxelLimits.icc. April 11, 2000 J. Allison - - Made virtual G4VisExtent G4VSolid::GetExtent() non-pure and implemented - a default in terms of CalculateExtent. + a default in terms of CalculateExtent. -January 19, 00 G. Cosmo geommng-V01-00-00 +January 19, 2000 G. Cosmo geommng-V01-00-00 -Syncronized file versioning with HEAD (several CVS headers changed -due to the recent migration for ISO C++) +- Syncronized file versioning with HEAD (several CVS headers changed + due to the recent migration for ISO C++) -January 19, 00 J. Allison +January 19, 2000 J. Allison -G4DrawVoxels.cc: +- G4DrawVoxels.cc: assured GetSlice(slice_no) is called for + slice_no < no_slices. -Assured GetSlice(slice_no) is called for slice_no < no_slices. +November 30, 1999 G. Cosmo geommng-V00-01-01a +- G4DrawVoxels.cc: + Fixed initialization of (const G4VPhysicalVolume*) in method + GetAbsoluteTransformation(). Fix needed for NT/VC++ compiler. -November 30, 99 G. Cosmo geommng-V00-01-01a - -G4DrawVoxels.cc: - -Fixed initialization of (const G4VPhysicalVolume*) in method -GetAbsoluteTransformation(). Fix needed for NT/VC++ compiler. - -November 09, 99 J. Apostolakis geommng-V00-01-01 - -G4VPhysicalVolume: - i) Made G4RotationMatrix G4VPhysicalVolume::GetObjectRotation() const +November 09, 1999 J. Apostolakis geommng-V00-01-01 +- G4VPhysicalVolume: + i) Made G4RotationMatrix G4VPhysicalVolume::GetObjectRotation() const non-inline and moved it to source file from inline file. - ii) Added GetObjectRotationValue() method. -iii) Minimal changes of comments for Software Ref. Manual in header file + ii) Added GetObjectRotationValue() method. + iii) Minimal changes of comments for Software Ref. Manual in header file [ Change i) caused problem with HP aCC compiler A.01.19. Atlas was patching the code to try to get around this, but this resolution is much better ] -March 17, 99 J. Apostolakis geommng-01-00-02 - -G4AffineTransform.icc: - +March 17, 1999 J. Apostolakis geommng-01-00-02 +- G4AffineTransform.icc: Corrected a typo in InverseProduct (rzy->ryz) that caused the incorrect -calculation of a compound transformation (if tf1.tz*tf2.ryz != 0). - - [ This problem was seen in the code of two Atlas Geant4 collaborators: - Andrea del' Acqua and Maya Stavrinakou ] - + calculation of a compound transformation (if tf1.tz*tf2.ryz != 0). + This problem was seen in ATLAS code. diff --git a/source/geometry/management/include/G4AffineTransform.hh b/source/geometry/management/include/G4AffineTransform.hh index 9d670f9e83..b065951dc4 100644 --- a/source/geometry/management/include/G4AffineTransform.hh +++ b/source/geometry/management/include/G4AffineTransform.hh @@ -22,7 +22,7 @@ // // // $Id: G4AffineTransform.hh,v 1.4 2001/07/11 09:59:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4AffineTransform diff --git a/source/geometry/management/include/G4AffineTransform.icc b/source/geometry/management/include/G4AffineTransform.icc index 15f94cd999..28333fce84 100644 --- a/source/geometry/management/include/G4AffineTransform.icc +++ b/source/geometry/management/include/G4AffineTransform.icc @@ -22,7 +22,7 @@ // // // $Id: G4AffineTransform.icc,v 1.6 2002/01/08 12:38:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4AffineTransformation Inline implementation diff --git a/source/geometry/management/include/G4AssemblyTriplet.hh b/source/geometry/management/include/G4AssemblyTriplet.hh index 338a0d44ed..3f45238ba5 100644 --- a/source/geometry/management/include/G4AssemblyTriplet.hh +++ b/source/geometry/management/include/G4AssemblyTriplet.hh @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyTriplet.hh,v 1.5 2001/07/11 09:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4AssemblyTriplet diff --git a/source/geometry/management/include/G4AssemblyTriplet.icc b/source/geometry/management/include/G4AssemblyTriplet.icc index 64ff70103f..ce12ed5853 100644 --- a/source/geometry/management/include/G4AssemblyTriplet.icc +++ b/source/geometry/management/include/G4AssemblyTriplet.icc @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyTriplet.icc,v 1.5 2001/07/11 09:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4AssemblyTriplet - inline implementation diff --git a/source/geometry/management/include/G4AssemblyVolume.hh b/source/geometry/management/include/G4AssemblyVolume.hh index 195ef8aa37..f19a5937e6 100644 --- a/source/geometry/management/include/G4AssemblyVolume.hh +++ b/source/geometry/management/include/G4AssemblyVolume.hh @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyVolume.hh,v 1.8 2002/09/10 16:59:44 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4AssemblyVolume diff --git a/source/geometry/management/include/G4AssemblyVolume.icc b/source/geometry/management/include/G4AssemblyVolume.icc index b23fe64788..35b992e9f9 100644 --- a/source/geometry/management/include/G4AssemblyVolume.icc +++ b/source/geometry/management/include/G4AssemblyVolume.icc @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyVolume.icc,v 1.4 2002/09/10 16:59:46 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4AssemblyVolume - inline implementation diff --git a/source/geometry/management/include/G4DrawVoxels.hh b/source/geometry/management/include/G4DrawVoxels.hh index 59c61602f9..179c71a4db 100644 --- a/source/geometry/management/include/G4DrawVoxels.hh +++ b/source/geometry/management/include/G4DrawVoxels.hh @@ -22,7 +22,7 @@ // // // $Id: G4DrawVoxels.hh,v 1.11 2002/04/19 08:20:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4DrawVoxels diff --git a/source/geometry/management/include/G4GeometryManager.hh b/source/geometry/management/include/G4GeometryManager.hh index fb36cdc88d..62bc402f8b 100644 --- a/source/geometry/management/include/G4GeometryManager.hh +++ b/source/geometry/management/include/G4GeometryManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryManager.hh,v 1.6 2002/04/26 16:23:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4GeometryManager // diff --git a/source/geometry/management/include/G4LogicalSurface.hh b/source/geometry/management/include/G4LogicalSurface.hh index 33f4ffa5c7..3154b1fabe 100644 --- a/source/geometry/management/include/G4LogicalSurface.hh +++ b/source/geometry/management/include/G4LogicalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogicalSurface.hh,v 1.6 2001/07/11 09:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Class G4LogicalSurface diff --git a/source/geometry/management/include/G4LogicalSurface.icc b/source/geometry/management/include/G4LogicalSurface.icc index b5d6582f0f..7ccb025886 100644 --- a/source/geometry/management/include/G4LogicalSurface.icc +++ b/source/geometry/management/include/G4LogicalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalSurface.icc,v 1.5 2001/07/11 09:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Surface Class Inline Methods diff --git a/source/geometry/management/include/G4LogicalVolume.hh b/source/geometry/management/include/G4LogicalVolume.hh index 81f99c96f2..289e64fc3e 100644 --- a/source/geometry/management/include/G4LogicalVolume.hh +++ b/source/geometry/management/include/G4LogicalVolume.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolume.hh,v 1.9 2002/05/17 17:59:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LogicalVolume.hh,v 1.12 2003/04/03 10:26:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LogicalVolume @@ -71,8 +71,10 @@ // - Pointer (possibly 0) to user Step limit object for this node. // G4SmartVoxelHeader* fVoxel // - Pointer (possibly 0) to optimisation info objects. -// G4bool fOptimise; +// G4bool fOptimise // - Flag to identify if optimisation should be applied or not. +// G4bool fRootRegion +// - Flag to identify if the logical volume is a root region. // G4double fSmartless // - Quality for optimisation, average number of voxels to be spent // per content. @@ -80,12 +82,17 @@ // - Pointer (possibly 0) to visualization attributes. // G4FastSimulationManager* fFastSimulationManager // - Pointer (possibly 0) to G4FastSimulationManager object. +// G4Region* fRegion +// - Pointer to the cuts region (if any) +// G4MaterialCutsCouple* fCutsCouple +// - Pointer (possibly 0) to associated production cuts. // G4bool fIsEnvelope // - Flags if the Logical Volume is an envelope for a FastSimulationManager. // G4double fBiasWeight // - Weight used in the event biasing technique. // History: +// 24.09.02 G.Cosmo: Added flags and accessors for region cuts handling // 17.05.02 G.Cosmo: Added IsToOptimise() method and related flag // 18.04.01 G.Cosmo: Migrated to STL vector // 12.02.99 S.Giani: Added user defined optimisation quality @@ -101,6 +108,7 @@ #define G4LOGICALVOLUME_HH #include "globals.hh" +#include "G4Region.hh" #include "G4VPhysicalVolume.hh" // Need operator == for vector fdaughters #include "g4std/vector" #include @@ -115,6 +123,7 @@ class G4UserLimits; class G4SmartVoxelHeader; class G4VisAttributes; class G4FastSimulationManager; +class G4MaterialCutsCouple; class G4LogicalVolume { @@ -152,8 +161,12 @@ class G4LogicalVolume inline void AddDaughter(G4VPhysicalVolume* p); // Add the volume p as a daughter of the current logical volume. inline G4bool IsDaughter(const G4VPhysicalVolume* p) const; - // Returns true is the volume p is a daughter of the current + // Returns true if the volume p is a daughter of the current // logical volume. + G4bool IsAncestor(const G4VPhysicalVolume* p) const; + // Returns true if the volume p is part of the hierarchy of + // volumes established by the current logical volume. Scans + // recursively the volume tree. inline void RemoveDaughter(const G4VPhysicalVolume* p); // Remove the volume p from the List of daughter of the current // logical volume. @@ -200,7 +213,24 @@ class G4LogicalVolume // volume hierarchy. Note that for parameterised volumes in the // hierarchy, optimisation is always applied. - G4bool operator == ( const G4LogicalVolume& lv) const; + inline G4bool IsRootRegion() const; + // Replies if the logical volume represents a root region or not. + inline void SetRegionRootFlag(G4bool rreg); + // Sets/unsets the volume as a root region for cuts. + inline G4bool IsRegion() const; + // Replies if the logical volume is part of a cuts region or not. + inline void SetRegion(G4Region* reg); + // Sets/unsets the volume as cuts region. + inline G4Region* GetRegion() const; + // Return the region to which the volume belongs, if any. + inline void PropagateRegion(); + // Propagates region pointer to daughters. + + inline const G4MaterialCutsCouple* GetMaterialCutsCouple() const; + inline void SetMaterialCutsCouple(G4MaterialCutsCouple* cuts); + // Accessors for production cuts. + + G4bool operator == (const G4LogicalVolume& lv) const; // Equality defined by address only. // Returns true if objects are at same address, else false. @@ -260,6 +290,8 @@ class G4LogicalVolume // Pointer (possibly 0) to optimisation info objects. G4bool fOptimise; // Flag to identify if optimisation should be applied or not. + G4bool fRootRegion; + // Flag to identify if the logical volume is a root region. G4double fSmartless; // Quality for optimisation, average number of voxels to be spent // per content. @@ -267,6 +299,10 @@ class G4LogicalVolume // Pointer (possibly 0) to visualization attributes. G4FastSimulationManager* fFastSimulationManager; // Pointer (possibly 0) to G4FastSimulationManager object. + G4Region* fRegion; + // Pointer to the cuts region (if any) + G4MaterialCutsCouple* fCutsCouple; + // Pointer (possibly 0) to associated production cuts. G4bool fIsEnvelope; // Flags if the Logical Volume is an envelope for a // FastSimulationManager. diff --git a/source/geometry/management/include/G4LogicalVolume.icc b/source/geometry/management/include/G4LogicalVolume.icc index 68dae4bb48..f109533090 100644 --- a/source/geometry/management/include/G4LogicalVolume.icc +++ b/source/geometry/management/include/G4LogicalVolume.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolume.icc,v 1.8 2002/05/17 17:59:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LogicalVolume.icc,v 1.11 2003/03/05 18:07:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LogicalVolume Inline Implementation file @@ -102,6 +102,17 @@ G4FastSimulationManager* G4LogicalVolume::GetFastSimulationManager () const inline void G4LogicalVolume::AddDaughter(G4VPhysicalVolume* pNewDaughter) { + if( !fDaughters.empty() && fDaughters[0]->IsReplicated() ) + { + G4cout << "ERROR - Attempt to place a volume in a mother volume" << G4endl + << " already containing a replicated volume." << G4endl + << " A volume can either contain several placements" << G4endl + << " or a unique replica or parameterised volume !" << G4endl + << " Mother logical volume: " << GetName() << G4endl + << " Placing volume: " << pNewDaughter->GetName() << G4endl; + G4Exception("G4LogicalVolume::AddDaughter() - Not a valid geometry setup !"); + } + fDaughters.push_back(pNewDaughter); // Propagates the mother's FastSimulationManager pointer. If we are in @@ -137,6 +148,11 @@ void G4LogicalVolume::AddDaughter(G4VPhysicalVolume* pNewDaughter) { pDaughterLogical->SetFieldManager(fFieldManager, true); } + if (fRegion) + { + PropagateRegion(); + fRegion->RegionModified(true); + } } // ******************************************************************** @@ -170,6 +186,10 @@ void G4LogicalVolume::RemoveDaughter(const G4VPhysicalVolume* p) break; } } + if (fRegion) + { + fRegion->RegionModified(true); + } } // ******************************************************************** @@ -313,6 +333,88 @@ void G4LogicalVolume::SetOptimisation(G4bool optim) fOptimise = optim; } +// ******************************************************************** +// IsRootRegion +// ******************************************************************** +// +inline +G4bool G4LogicalVolume::IsRootRegion() const +{ + return fRootRegion; +} + +// ******************************************************************** +// SetRegionRootFlag +// ******************************************************************** +// +inline +void G4LogicalVolume::SetRegionRootFlag(G4bool rreg) +{ + fRootRegion = rreg; +} + +// ******************************************************************** +// IsRegion +// ******************************************************************** +// +inline +G4bool G4LogicalVolume::IsRegion() const +{ + G4bool reg = false; + if (fRegion) reg = true; + return reg; +} + +// ******************************************************************** +// SetRegion +// ******************************************************************** +// +inline +void G4LogicalVolume::SetRegion(G4Region* reg) +{ + fRegion = reg; +} + +// ******************************************************************** +// GetRegion +// ******************************************************************** +// +inline +G4Region* G4LogicalVolume::GetRegion() const +{ + return fRegion; +} + +// ******************************************************************** +// PropagateRegion +// ******************************************************************** +// +inline +void G4LogicalVolume::PropagateRegion() +{ + fRegion->ScanVolumeTree(this, true); +} + +// ******************************************************************** +// GetMaterialCutsCouple +// ******************************************************************** +// +inline +const G4MaterialCutsCouple* G4LogicalVolume::GetMaterialCutsCouple() const +{ + return fCutsCouple; +} + +// ******************************************************************** +// SetMaterialCutsCouple +// ******************************************************************** +// +inline +void G4LogicalVolume::SetMaterialCutsCouple(G4MaterialCutsCouple* cuts) +{ + fCutsCouple = cuts; +} + // ******************************************************************** // Operator == // ******************************************************************** diff --git a/source/geometry/management/include/G4LogicalVolumeStore.hh b/source/geometry/management/include/G4LogicalVolumeStore.hh index 8f3445e1b0..a7cfb0b479 100644 --- a/source/geometry/management/include/G4LogicalVolumeStore.hh +++ b/source/geometry/management/include/G4LogicalVolumeStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogicalVolumeStore.hh,v 1.7 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4LogicalVolumeStore // diff --git a/source/geometry/management/include/G4PVParameterised.hh b/source/geometry/management/include/G4PVParameterised.hh index 69c2b20158..60819910e7 100644 --- a/source/geometry/management/include/G4PVParameterised.hh +++ b/source/geometry/management/include/G4PVParameterised.hh @@ -22,7 +22,7 @@ // // // $Id: G4PVParameterised.hh,v 1.6 2002/10/14 07:42:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVParameterised diff --git a/source/geometry/management/include/G4PVPlacement.hh b/source/geometry/management/include/G4PVPlacement.hh index 328c4a6f22..0899ba7052 100644 --- a/source/geometry/management/include/G4PVPlacement.hh +++ b/source/geometry/management/include/G4PVPlacement.hh @@ -22,7 +22,7 @@ // // // $Id: G4PVPlacement.hh,v 1.7 2002/10/14 07:42:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVPlacement diff --git a/source/geometry/management/include/G4PVReplica.hh b/source/geometry/management/include/G4PVReplica.hh index 484e264348..d456e96671 100644 --- a/source/geometry/management/include/G4PVReplica.hh +++ b/source/geometry/management/include/G4PVReplica.hh @@ -22,7 +22,7 @@ // // // $Id: G4PVReplica.hh,v 1.6 2002/10/14 07:42:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVReplica diff --git a/source/geometry/management/include/G4PhysicalVolumeStore.hh b/source/geometry/management/include/G4PhysicalVolumeStore.hh index 9e10cf050e..b30d439320 100644 --- a/source/geometry/management/include/G4PhysicalVolumeStore.hh +++ b/source/geometry/management/include/G4PhysicalVolumeStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeStore.hh,v 1.8 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4PhysicalVolume // diff --git a/source/geometry/management/include/G4Region.hh b/source/geometry/management/include/G4Region.hh new file mode 100644 index 0000000000..bc85173a51 --- /dev/null +++ b/source/geometry/management/include/G4Region.hh @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: G4Region.hh,v 1.4 2003/01/30 07:58:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// class G4Region +// +// Class description: +// +// Defines a region or a group of regions in the detector geometry +// setup, sharing properties associated to materials or production +// cuts which may affect or bias specific physics processes. +// +// Member data: +// + +// History: +// 18.09.02 G.Cosmo Initial version +// ******************************************************************** + +#ifndef G4REGION_HH +#define G4REGION_HH + +class G4ProductionCuts; +class G4LogicalVolume; +class G4Material; + +#include "g4std/vector" + +#include "globals.hh" + +class G4Region +{ + typedef G4std::vector G4RootLVList; + typedef G4std::vector G4MaterialList; + + public: // with description + + G4Region(const G4String& name); + virtual ~G4Region(); + + inline G4bool operator==(const G4Region& rg) const; + // Equality defined by address only. + + void AddRootLogicalVolume(G4LogicalVolume* lv); + void RemoveRootLogicalVolume(G4LogicalVolume* lv); + // Add/remove root logical volumes and set/reset their + // daughters flags as regions. They also recompute the + // materials list for the region. + + inline void SetName(const G4String& name); + inline const G4String& GetName() const; + // Set/get region's name. + + inline void RegionModified(G4bool flag); + inline G4bool IsModified() const; + // Accessors to flag identifying if a region has been modified + // (and still cuts needs to be computed) or not. + + inline void SetProductionCuts(G4ProductionCuts* cut); + inline G4ProductionCuts* GetProductionCuts() const; + + inline G4std::vector::iterator + GetRootLogicalVolumeIterator(); + inline G4std::vector::const_iterator + GetMaterialIterator() const; + // Return iterators to lists of root logical volumes and materials. + + inline size_t GetNumberOfMaterials() const; + inline size_t GetNumberOfRootVolumes() const; + // Return the number of elements in the lists of materials and + // root logical volumes. + + void UpdateMaterialList(); + // Clears material list and recomputes it looping through + // each root logical volume in the region. + + void ClearMaterialList(); + // Clears the material list. + + void ScanVolumeTree(G4LogicalVolume* lv, G4bool region); + // Scans recursively the 'lv' logical volume tree, retrieves + // and places all materials in the list if becoming a region. + + private: + + G4Region(const G4Region&); + G4Region& operator=(const G4Region&); + // Private copy constructor and assignment operator. + + private: + + G4String fName; + + G4RootLVList fRootVolumes; + G4MaterialList fMaterials; + + G4bool fRegionMod; + G4ProductionCuts* fCut; +}; + +#include "G4Region.icc" + +#endif diff --git a/source/geometry/management/include/G4Region.icc b/source/geometry/management/include/G4Region.icc new file mode 100644 index 0000000000..fcd7d24d31 --- /dev/null +++ b/source/geometry/management/include/G4Region.icc @@ -0,0 +1,146 @@ +// +// ******************************************************************** +// * 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: G4Region.icc,v 1.3 2002/12/16 14:03:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// class G4Region Inline Implementation file +// +// 19.09.02 - G.Cosmo: Created +// ******************************************************************** + +// ******************************************************************** +// Equality operator, defined by address only +// ******************************************************************** +// +inline +G4bool G4Region::operator==(const G4Region& rg) const +{ + return (this==&rg) ? true : false; +} + +// ******************************************************************** +// GetName +// ******************************************************************** +// +inline +const G4String& G4Region::GetName() const +{ + return fName; +} + +// ******************************************************************** +// SetName +// ******************************************************************** +// +inline +void G4Region::SetName(const G4String& pName) +{ + fName = pName; +} + +// ******************************************************************** +// RegionModified +// ******************************************************************** +// +inline +void G4Region::RegionModified(G4bool flag) +{ + fRegionMod = flag; +} + +// ******************************************************************** +// IsModified +// ******************************************************************** +// +inline +G4bool G4Region::IsModified() const +{ + return fRegionMod; +} + +// ******************************************************************** +// SetProductionCuts +// ******************************************************************** +// +inline +void G4Region::SetProductionCuts(G4ProductionCuts* cut) +{ + fCut = cut; + fRegionMod = true; +} + +// ******************************************************************** +// GetProductionCuts +// ******************************************************************** +// +inline +G4ProductionCuts* G4Region::GetProductionCuts() const +{ + return fCut; +} + +// ******************************************************************** +// GetLogicalVolumeIterator +// ******************************************************************** +// +inline +G4std::vector::iterator +G4Region::GetRootLogicalVolumeIterator() +{ + G4RootLVList::iterator iterator = G4RootLVList::iterator(fRootVolumes.begin()); + return iterator; +} + +// ******************************************************************** +// GetMaterialIterator +// ******************************************************************** +// +inline +G4std::vector::const_iterator +G4Region::GetMaterialIterator() const +{ + G4MaterialList::const_iterator iterator = fMaterials.begin(); + return iterator; +} + +// ******************************************************************** +// GetNumberOfMaterials +// ******************************************************************** +// +inline +size_t G4Region::GetNumberOfMaterials() const +{ + return fMaterials.size(); +} + +// ******************************************************************** +// GetNumberOfRootVolumes +// ******************************************************************** +// +inline +size_t G4Region::GetNumberOfRootVolumes() const +{ + return fRootVolumes.size(); +} diff --git a/source/geometry/management/include/G4RegionStore.hh b/source/geometry/management/include/G4RegionStore.hh new file mode 100644 index 0000000000..f9ce6478d4 --- /dev/null +++ b/source/geometry/management/include/G4RegionStore.hh @@ -0,0 +1,105 @@ +// +// ******************************************************************** +// * 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: G4RegionStore.hh,v 1.3 2003/02/07 11:32:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// class G4RegionStore +// +// Class description: +// +// Container for all regiong, with functionality derived from +// std::vector. The class is a `singleton', in that only +// one can exist, and access is provided via the static method +// G4RegionStore::GetInstance(). +// +// All regions should be registered with G4RegionStore, and removed on their +// destruction. The underlying container initially has a capacity of 20. +// +// If much additional functionality is added, should consider containment +// instead of inheritance for std::vector +// +// Member data: +// +// static G4RegionStore* +// - Pointer to the single G4RegionStore + +// History: +// 18.09.02 G.Cosmo Initial version +// ******************************************************************** + +#ifndef G4REGIONSTORE_HH +#define G4REGIONSTORE_HH + +class G4Region; + +#include "g4std/vector" +#include "globals.hh" + +class G4RegionStore : public G4std::vector +{ + public: // with description + + static void Register(G4Region* pSolid); + // Add the region to the collection. + static void DeRegister(G4Region* pSolid); + // Remove the region from the collection. + static G4RegionStore* GetInstance(); + // Get a ptr to the unique G4RegionStore, creating it if necessary. + static void Clean(); + // Delete all regions from the store. + + G4bool IsModified() const; + // Loops through all regions to verify if a region has been + // modified. It returns TRUE if just one region is modified. + void ResetRegionModified(); + // Loops through all regions to reset flag for modification + // to FALSE. Used by the run manager to notify that the + // physics table has been updated. + + void UpdateMaterialList(); + // Forces recomputation of material lists in all regions + // in the store. + + G4Region* GetRegion(const G4String& name, G4bool verbose=true) const; + // Returns a region through its name specification. + + G4Region* FindOrCreateRegion(const G4String& name); + // Returns a region through its name specification, if it exists. + // If it does not exist it will allocate one delegating ownership + // to the client. + + virtual ~G4RegionStore(); + // Destructor: takes care to delete allocated regions. + + protected: + + G4RegionStore(); + + private: + + static G4RegionStore* fgInstance; + static G4bool locked; +}; + +#endif diff --git a/source/geometry/management/include/G4SmartVoxelHeader.hh b/source/geometry/management/include/G4SmartVoxelHeader.hh index 34e2ca5528..93cabb3fb6 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.hh +++ b/source/geometry/management/include/G4SmartVoxelHeader.hh @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelHeader.hh,v 1.7 2002/05/15 10:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4SmartVoxelHeader // diff --git a/source/geometry/management/include/G4SmartVoxelHeader.icc b/source/geometry/management/include/G4SmartVoxelHeader.icc index 2c5d24eaa7..e556e4558a 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.icc +++ b/source/geometry/management/include/G4SmartVoxelHeader.icc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelHeader.icc,v 1.4 2002/05/15 10:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4SmartVoxelHeader Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelNode.hh b/source/geometry/management/include/G4SmartVoxelNode.hh index a3b3188db4..01334c947f 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.hh +++ b/source/geometry/management/include/G4SmartVoxelNode.hh @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelNode.hh,v 1.7 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4SmartVoxelNode // diff --git a/source/geometry/management/include/G4SmartVoxelNode.icc b/source/geometry/management/include/G4SmartVoxelNode.icc index 9c868a9348..0f604e8f51 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.icc +++ b/source/geometry/management/include/G4SmartVoxelNode.icc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelNode.icc,v 1.3 2001/07/11 09:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4SmartVoxelNode Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelProxy.hh b/source/geometry/management/include/G4SmartVoxelProxy.hh index 4f2ec3d35e..98ab21a57d 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.hh +++ b/source/geometry/management/include/G4SmartVoxelProxy.hh @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelProxy.hh,v 1.6 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4SmartVoxelProxy // diff --git a/source/geometry/management/include/G4SmartVoxelProxy.icc b/source/geometry/management/include/G4SmartVoxelProxy.icc index 09f0eae7cd..54de2081f0 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.icc +++ b/source/geometry/management/include/G4SmartVoxelProxy.icc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelProxy.icc,v 1.2 2001/07/11 09:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4SmartVoxelProxy Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelStat.hh b/source/geometry/management/include/G4SmartVoxelStat.hh index da9c5ef2be..62f7a5ed3d 100644 --- a/source/geometry/management/include/G4SmartVoxelStat.hh +++ b/source/geometry/management/include/G4SmartVoxelStat.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4SmartVoxelStat.hh,v 1.1 2001/10/22 16:08:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/management/include/G4SolidStore.hh b/source/geometry/management/include/G4SolidStore.hh index ee2f2a31f4..220b01bbdb 100644 --- a/source/geometry/management/include/G4SolidStore.hh +++ b/source/geometry/management/include/G4SolidStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4SolidStore.hh,v 1.7 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4SolidStore // diff --git a/source/geometry/management/include/G4TouchableHandle.hh b/source/geometry/management/include/G4TouchableHandle.hh index 71d04e8e3e..0a8ab4c714 100644 --- a/source/geometry/management/include/G4TouchableHandle.hh +++ b/source/geometry/management/include/G4TouchableHandle.hh @@ -22,7 +22,7 @@ // // // $Id: G4TouchableHandle.hh,v 1.5 2001/11/06 17:06:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class G4TouchableHandle // diff --git a/source/geometry/management/include/G4VPVParameterisation.hh b/source/geometry/management/include/G4VPVParameterisation.hh index 59a54f8fd0..87c6f2b55a 100644 --- a/source/geometry/management/include/G4VPVParameterisation.hh +++ b/source/geometry/management/include/G4VPVParameterisation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPVParameterisation.hh,v 1.4 2001/07/11 09:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4VPVParamterisation // diff --git a/source/geometry/management/include/G4VPhysicalVolume.hh b/source/geometry/management/include/G4VPhysicalVolume.hh index 9bb3ded815..71da4acf31 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.hh +++ b/source/geometry/management/include/G4VPhysicalVolume.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPhysicalVolume.hh,v 1.7 2002/10/14 07:42:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VPhysicalVolume diff --git a/source/geometry/management/include/G4VPhysicalVolume.icc b/source/geometry/management/include/G4VPhysicalVolume.icc index 826bffeaa5..07b9a66e95 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.icc +++ b/source/geometry/management/include/G4VPhysicalVolume.icc @@ -22,7 +22,7 @@ // // // $Id: G4VPhysicalVolume.icc,v 1.5 2001/07/11 09:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VPhysicalVolume Inline Implementation diff --git a/source/geometry/management/include/G4VSolid.hh b/source/geometry/management/include/G4VSolid.hh index 62ec5e6008..a889044e52 100644 --- a/source/geometry/management/include/G4VSolid.hh +++ b/source/geometry/management/include/G4VSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSolid.hh,v 1.11 2002/10/28 11:25:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VSolid diff --git a/source/geometry/management/include/G4VSolid.icc b/source/geometry/management/include/G4VSolid.icc index ad5304e128..0b95e96a90 100644 --- a/source/geometry/management/include/G4VSolid.icc +++ b/source/geometry/management/include/G4VSolid.icc @@ -22,7 +22,7 @@ // // // $Id: G4VSolid.icc,v 1.6 2002/10/28 11:25:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4VSolid Inline implementation diff --git a/source/geometry/management/include/G4VTouchable.hh b/source/geometry/management/include/G4VTouchable.hh index 782a75c511..bcf0fc3e03 100644 --- a/source/geometry/management/include/G4VTouchable.hh +++ b/source/geometry/management/include/G4VTouchable.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTouchable.hh,v 1.5 2001/07/11 09:59:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VTouchable diff --git a/source/geometry/management/include/G4VTouchable.icc b/source/geometry/management/include/G4VTouchable.icc index 8cb84d5648..e94465e7c6 100644 --- a/source/geometry/management/include/G4VTouchable.icc +++ b/source/geometry/management/include/G4VTouchable.icc @@ -22,7 +22,7 @@ // // // $Id: G4VTouchable.icc,v 1.5 2001/07/11 09:59:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VTouchable Inline implementation diff --git a/source/geometry/management/include/G4VoxelLimits.hh b/source/geometry/management/include/G4VoxelLimits.hh index 02e48f0797..bbaecfe865 100644 --- a/source/geometry/management/include/G4VoxelLimits.hh +++ b/source/geometry/management/include/G4VoxelLimits.hh @@ -22,7 +22,7 @@ // // // $Id: G4VoxelLimits.hh,v 1.6 2002/04/19 08:20:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4VoxelLimits // diff --git a/source/geometry/management/include/G4VoxelLimits.icc b/source/geometry/management/include/G4VoxelLimits.icc index 14e4293551..dd7616faa4 100644 --- a/source/geometry/management/include/G4VoxelLimits.icc +++ b/source/geometry/management/include/G4VoxelLimits.icc @@ -22,7 +22,7 @@ // // // $Id: G4VoxelLimits.icc,v 1.2 2001/07/11 09:59:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4VoxelLimits Inline implementation diff --git a/source/geometry/management/include/meshdefs.hh b/source/geometry/management/include/meshdefs.hh index 5ba902ef39..7a691d4804 100644 --- a/source/geometry/management/include/meshdefs.hh +++ b/source/geometry/management/include/meshdefs.hh @@ -22,7 +22,7 @@ // // // $Id: meshdefs.hh,v 1.4 2001/07/11 09:59:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Tube/Cone Meshing constants for extent calculations diff --git a/source/geometry/management/include/voxeldefs.hh b/source/geometry/management/include/voxeldefs.hh index 0fcab7ead0..1aa61d3d4a 100644 --- a/source/geometry/management/include/voxeldefs.hh +++ b/source/geometry/management/include/voxeldefs.hh @@ -22,7 +22,7 @@ // // // $Id: voxeldefs.hh,v 1.5 2001/07/11 09:59:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/geometry/management/src/G4AssemblyVolume.cc b/source/geometry/management/src/G4AssemblyVolume.cc index 6dd983d8c3..cac809837d 100644 --- a/source/geometry/management/src/G4AssemblyVolume.cc +++ b/source/geometry/management/src/G4AssemblyVolume.cc @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyVolume.cc,v 1.13 2002/09/10 17:07:15 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4AssemblyVolume - implementation diff --git a/source/geometry/management/src/G4DrawVoxels.cc b/source/geometry/management/src/G4DrawVoxels.cc index 5272211133..19736deee9 100644 --- a/source/geometry/management/src/G4DrawVoxels.cc +++ b/source/geometry/management/src/G4DrawVoxels.cc @@ -22,7 +22,7 @@ // // // $Id: G4DrawVoxels.cc,v 1.15 2002/04/19 08:20:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4DrawVoxels diff --git a/source/geometry/management/src/G4GeometryManager.cc b/source/geometry/management/src/G4GeometryManager.cc index 58a4543990..5a3ce86552 100644 --- a/source/geometry/management/src/G4GeometryManager.cc +++ b/source/geometry/management/src/G4GeometryManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryManager.cc,v 1.12 2002/11/19 17:15:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4GeometryManager // diff --git a/source/geometry/management/src/G4LogicalVolume.cc b/source/geometry/management/src/G4LogicalVolume.cc index db7ff371ad..4dc9ea3a5a 100644 --- a/source/geometry/management/src/G4LogicalVolume.cc +++ b/source/geometry/management/src/G4LogicalVolume.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolume.cc,v 1.11 2002/11/08 22:45:25 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LogicalVolume.cc,v 1.15 2003/04/03 10:26:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LogicalVolume Implementation @@ -52,8 +52,9 @@ G4LogicalVolume::G4LogicalVolume( G4VSolid* pSolid, G4UserLimits* pULimits, G4bool optimise ) : fDaughters(0,(G4VPhysicalVolume*)0), fFieldManager(pFieldMgr), - fVoxel(0), fOptimise(optimise), fSmartless(2.), fVisAttributes (0), - fFastSimulationManager (0), fIsEnvelope(false) + fVoxel(0), fOptimise(optimise), fRootRegion(false), fSmartless(2.), + fVisAttributes(0), fFastSimulationManager(0), fRegion(0), + fCutsCouple(0), fIsEnvelope(false) { SetSolid(pSolid); SetMaterial(pMaterial); @@ -176,6 +177,30 @@ G4LogicalVolume::SetFieldManager(G4FieldManager* pNewFieldMgr, } +// ******************************************************************** +// IsAncestor +// +// Finds out if the current logical volume is an ancestor of a given +// physical volume +// ******************************************************************** +// +G4bool +G4LogicalVolume::IsAncestor(const G4VPhysicalVolume* aVolume) const +{ + G4bool isDaughter = IsDaughter(aVolume); + if (!isDaughter) + { + for (G4PhysicalVolumeList::const_iterator itDau = fDaughters.begin(); + itDau != fDaughters.end(); itDau++) + { + isDaughter = (*itDau)->GetLogicalVolume()->IsAncestor(aVolume); + if (isDaughter) break; + } + } + return isDaughter; +} + + // ******************************************************************** // FindMotherLogicalVolumeForEnvelope // diff --git a/source/geometry/management/src/G4LogicalVolumeStore.cc b/source/geometry/management/src/G4LogicalVolumeStore.cc index b256dd8909..6d88abf9c5 100644 --- a/source/geometry/management/src/G4LogicalVolumeStore.cc +++ b/source/geometry/management/src/G4LogicalVolumeStore.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LogicalVolumeStore.cc,v 1.8 2002/04/26 16:24:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LogicalVolumeStore.cc,v 1.9 2003/01/30 07:57:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4LogicalVolumeStore // @@ -128,6 +128,8 @@ void G4LogicalVolumeStore::DeRegister(G4LogicalVolume* pVolume) { if (**i==*pVolume) { + if (pVolume->IsRootRegion()) + pVolume->GetRegion()->RemoveRootLogicalVolume(pVolume); GetInstance()->erase(i); break; } diff --git a/source/geometry/management/src/G4PVParameterised.cc b/source/geometry/management/src/G4PVParameterised.cc index 4b3a22176d..38dc93e53f 100644 --- a/source/geometry/management/src/G4PVParameterised.cc +++ b/source/geometry/management/src/G4PVParameterised.cc @@ -22,7 +22,7 @@ // // // $Id: G4PVParameterised.cc,v 1.7 2002/10/23 16:11:11 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVParameterised diff --git a/source/geometry/management/src/G4PVPlacement.cc b/source/geometry/management/src/G4PVPlacement.cc index 786822bc49..18712f28f8 100644 --- a/source/geometry/management/src/G4PVPlacement.cc +++ b/source/geometry/management/src/G4PVPlacement.cc @@ -21,72 +21,66 @@ // ******************************************************************** // // -// $Id: G4PVPlacement.cc,v 1.5 2002/10/14 07:42:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PVPlacement.cc,v 1.7 2003/03/31 14:18:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVPlacement Implementation #include "G4PVPlacement.hh" -// #include "G4Transform3D.hh" #include "G4LogicalVolume.hh" -G4PVPlacement::G4PVPlacement(G4RotationMatrix *pRot, - const G4ThreeVector &tlate, - const G4String& pName, - G4LogicalVolume *pLogical, - G4VPhysicalVolume *pMother, - G4bool pMany, - G4int pCopyNo) : - G4VPhysicalVolume(pRot,tlate,pName,pLogical,pMother), - fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) +G4PVPlacement::G4PVPlacement( G4RotationMatrix *pRot, + const G4ThreeVector &tlate, + const G4String& pName, + G4LogicalVolume *pLogical, + G4VPhysicalVolume *pMother, + G4bool pMany, + G4int pCopyNo ) + : G4VPhysicalVolume(pRot,tlate,pName,pLogical,pMother), + fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) { } -G4PVPlacement::G4PVPlacement(const G4Transform3D &Transform3D, - const G4String& pName, - G4LogicalVolume *pLogical, - G4VPhysicalVolume *pMother, - G4bool pMany, - G4int pCopyNo) : - G4VPhysicalVolume( NewPtrRotMatrix(Transform3D.getRotation().inverse()), - Transform3D.getTranslation(), - pName,pLogical,pMother), - fmany(pMany), fcopyNo(pCopyNo) +G4PVPlacement::G4PVPlacement( const G4Transform3D &Transform3D, + const G4String& pName, + G4LogicalVolume *pLogical, + G4VPhysicalVolume *pMother, + G4bool pMany, + G4int pCopyNo) + : G4VPhysicalVolume(NewPtrRotMatrix(Transform3D.getRotation().inverse()), + Transform3D.getTranslation(),pName,pLogical,pMother), + fmany(pMany), fcopyNo(pCopyNo) { fallocatedRotM= (this->GetRotation() != 0); } // -// The logical volume of the mother is utilised (not the physical) -// [ The physical volume is needed, known and set only at tracking time. ] +// The logical volume of the mother is utilised (not the physical) +// The physical volume is needed, known and set only at tracking time. // -G4PVPlacement::G4PVPlacement(G4RotationMatrix *pRot, - const G4ThreeVector &tlate, - G4LogicalVolume *pCurrentLogical, - const G4String& pName, - G4LogicalVolume *pMotherLogical, - G4bool pMany, - G4int pCopyNo) : - G4VPhysicalVolume(pRot,tlate,pName,pCurrentLogical,0), - fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) +G4PVPlacement::G4PVPlacement( G4RotationMatrix *pRot, + const G4ThreeVector &tlate, + G4LogicalVolume *pCurrentLogical, + const G4String& pName, + G4LogicalVolume *pMotherLogical, + G4bool pMany, + G4int pCopyNo) + : G4VPhysicalVolume(pRot,tlate,pName,pCurrentLogical,0), + fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo) { if (pMotherLogical) pMotherLogical->AddDaughter(this); } G4PVPlacement::G4PVPlacement( const G4Transform3D &Transform3D, - G4LogicalVolume *pCurrentLogical, - const G4String& pName, - G4LogicalVolume *pMotherLogical, - G4bool pMany, - G4int pCopyNo): - G4VPhysicalVolume( 0, - Transform3D.getTranslation(), - pName, - pCurrentLogical, - 0), + G4LogicalVolume *pCurrentLogical, + const G4String& pName, + G4LogicalVolume *pMotherLogical, + G4bool pMany, + G4int pCopyNo) + : G4VPhysicalVolume(0,Transform3D.getTranslation(),pName,pCurrentLogical,0), fmany(pMany), fcopyNo(pCopyNo) { this->SetRotation( NewPtrRotMatrix(Transform3D.getRotation().inverse()) ); @@ -95,8 +89,6 @@ G4PVPlacement::G4PVPlacement( const G4Transform3D &Transform3D, if (pMotherLogical) pMotherLogical->AddDaughter(this); } - - G4PVPlacement::~G4PVPlacement() { if( fallocatedRotM ){ delete frot; } @@ -104,68 +96,69 @@ G4PVPlacement::~G4PVPlacement() G4bool G4PVPlacement::IsMany() const { - return fmany; + return fmany; } G4int G4PVPlacement::GetCopyNo() const { - return fcopyNo; + return fcopyNo; } - -void G4PVPlacement::SetCopyNo(G4int newCopyNo) +void G4PVPlacement::SetCopyNo(G4int newCopyNo) { - fcopyNo= newCopyNo; + fcopyNo= newCopyNo; } - G4bool G4PVPlacement::IsReplicated() const { - return false; + return false; } G4bool G4PVPlacement::IsParameterised() const { - return false; + return false; } G4VPVParameterisation* G4PVPlacement::GetParameterisation() const { - return 0; + return 0; } -void G4PVPlacement::GetReplicationData(EAxis& axis, - G4int& nReplicas, - G4double& width, - G4double& offset, - G4bool& consuming) const +void G4PVPlacement::GetReplicationData( EAxis&, + G4int&, + G4double&, + G4double&, + G4bool& ) const { -// No-operations + // No-operations } void G4PVPlacement::Setup(G4VPhysicalVolume *pMother) { - SetMother(pMother); + SetMother(pMother); } // // Auxiliary function for 2nd & 4th constructors (the ones with G4Transform3D) -// Creates a new RotMatrix on the heap (using "new") and copies -// its argument into it. +// Creates a new RotMatrix on the heap (using "new") and copies +// its argument into it. // -// No entity is currently responsible to delete this memory. -// This is a memory leak. <-- FIXME +// No entity is currently responsible to delete this memory. +// This is a memory leak. <-- FIXME // G4RotationMatrix* G4PVPlacement::NewPtrRotMatrix(const G4RotationMatrix &RotMat) { - G4RotationMatrix *pRotMatrix; - if ( RotMat.isIdentity() ) - pRotMatrix= 0; - else{ - pRotMatrix= new G4RotationMatrix(RotMat); - } - // fallocatedRotM= ! (RotMat.isIdentity()); + G4RotationMatrix *pRotMatrix; + if ( RotMat.isIdentity() ) + { + pRotMatrix= 0; + } + else + { + pRotMatrix= new G4RotationMatrix(RotMat); + } + // fallocatedRotM= ! (RotMat.isIdentity()); - return pRotMatrix; + return pRotMatrix; } diff --git a/source/geometry/management/src/G4PVReplica.cc b/source/geometry/management/src/G4PVReplica.cc index b515f2057c..81a7cdd482 100644 --- a/source/geometry/management/src/G4PVReplica.cc +++ b/source/geometry/management/src/G4PVReplica.cc @@ -22,7 +22,7 @@ // // // $Id: G4PVReplica.cc,v 1.9 2002/10/23 16:26:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PVReplica Implementation diff --git a/source/geometry/management/src/G4PhysicalVolumeStore.cc b/source/geometry/management/src/G4PhysicalVolumeStore.cc index f29d54c5f9..7f29366317 100644 --- a/source/geometry/management/src/G4PhysicalVolumeStore.cc +++ b/source/geometry/management/src/G4PhysicalVolumeStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeStore.cc,v 1.9 2002/04/26 16:24:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4PhysicalVolumeStore // diff --git a/source/geometry/management/src/G4Region.cc b/source/geometry/management/src/G4Region.cc new file mode 100644 index 0000000000..24a6c6269a --- /dev/null +++ b/source/geometry/management/src/G4Region.cc @@ -0,0 +1,233 @@ +// +// ******************************************************************** +// * 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: G4Region.cc,v 1.7 2003/03/24 10:17:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// class G4Region Implementation + +#include "G4RegionStore.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4Region.hh" +#include "G4VPVParameterisation.hh" + +// ******************************************************************* +// Constructor: +// - Adds self to region Store +// ******************************************************************* +// +G4Region::G4Region(const G4String& pName) + : fName(pName), fRegionMod(true), fCut(0) +{ + G4RegionStore* rStore = G4RegionStore::GetInstance(); + if (rStore->GetRegion(pName,false)) + { + G4cerr << "WARNING - G4Region::G4Region()" << G4endl + << " Region " << pName << " already existing in store !" + << G4endl + << " The region has NOT been registered !" << G4endl; + } + else + { + rStore->Register(this); + } +} + +// ******************************************************************* +// Destructor: +// - Removes self from region Store +// ******************************************************************* +// +G4Region::~G4Region() +{ + G4RegionStore::GetInstance()->DeRegister(this); +} + +// ******************************************************************* +// ScanVolumeTree: +// - Scans recursively the 'lv' logical volume tree, retrieves +// and places all materials in the list. +// - The boolean flag 'region' identifies if the volume tree must +// have region reset (false) or if the current region must be +// associated to the logical volume 'lv' and its tree (true). +// ******************************************************************* +// +void G4Region::ScanVolumeTree(G4LogicalVolume* lv, G4bool region) +{ + // If logical volume is going to become a region, add + // its material to the list if not already present + // + G4Region* currentRegion = 0; + size_t noDaughters = lv->GetNoDaughters(); + G4Material* volMat = lv->GetMaterial(); + G4MaterialList::iterator pos; + if (region) + { + currentRegion = this; + pos = G4std::find(fMaterials.begin(),fMaterials.end(),volMat); + if (pos == fMaterials.end()) + { + fMaterials.push_back(volMat); + fRegionMod = true; + } + } + + // Set the LV region to be either the current region or NULL, + // according to the boolean selector + // + lv->SetRegion(currentRegion); + + // Stop recursion here if no further daughters are involved + // + if(noDaughters==0) return; + + G4VPhysicalVolume* daughterPVol = lv->GetDaughter(0); + if (daughterPVol->IsParameterised()) + { + // Adopt special treatment in case of parameterised volumes, + // where parameterisation involves a new material scan + // + G4VPVParameterisation* pParam = daughterPVol->GetParameterisation(); + size_t repNo = daughterPVol->GetMultiplicity(); + for (register size_t rep=0; repComputeMaterial(rep, daughterPVol); + pos = G4std::find(fMaterials.begin(),fMaterials.end(),volMat); + if (pos == fMaterials.end()) + { + fMaterials.push_back(volMat); + fRegionMod = true; + } + } + G4LogicalVolume* daughterLVol = daughterPVol->GetLogicalVolume(); + ScanVolumeTree(daughterLVol, region); + } + else + { + for (register size_t i=0; iGetDaughter(i)->GetLogicalVolume(); + if (!daughterLVol->IsRootRegion()) + { + // Set daughter's LV to be a region and store materials in + // the materials list, if the LV is not already a root region + // + ScanVolumeTree(daughterLVol, region); + } + } + } +} + +// ******************************************************************* +// AddRootLogicalVolume: +// - Adds a root logical volume and sets its daughters flags as +// regions. It also recomputes the materials list for the region. +// ******************************************************************* +// +void G4Region::AddRootLogicalVolume(G4LogicalVolume* lv) +{ + // Check the logical volume is not already in the list + // + G4RootLVList::iterator pos; + pos = G4std::find(fRootVolumes.begin(),fRootVolumes.end(),lv); + if (pos == fRootVolumes.end()) + { + // Insert the root volume in the list and set it as root region + // + fRootVolumes.push_back(lv); + lv->SetRegionRootFlag(true); + } + + // Scan recursively the tree of daugther volumes and set regions + // + ScanVolumeTree(lv, true); + + // Set region as modified + // + fRegionMod = true; +} + +// ******************************************************************* +// RemoveRootLogicalVolume: +// - Removes a root logical volume and resets its daughters flags as +// regions. It also recomputes the materials list for the region. +// ******************************************************************* +// +void G4Region::RemoveRootLogicalVolume(G4LogicalVolume* lv) +{ + // Find and remove logical volume from the list + // + G4RootLVList::iterator pos; + pos = G4std::find(fRootVolumes.begin(),fRootVolumes.end(),lv); + if (pos != fRootVolumes.end()) + { + fRootVolumes.erase(pos); + lv->SetRegionRootFlag(false); + } + + // Scan recursively the tree of daugther volumes and reset regions + // + ScanVolumeTree(lv, false); + + // Update the materials list + // + UpdateMaterialList(); + + // Set region as modified + // + fRegionMod = true; +} + +// ******************************************************************* +// ClearMaterialList: +// - Clears the material list. +// ******************************************************************* +// +void G4Region::ClearMaterialList() +{ + fMaterials.clear(); +} + +// ******************************************************************* +// UpdateMaterialList: +// - computes material list looping through +// each root logical volume in the region. +// ******************************************************************* +// +void G4Region::UpdateMaterialList() +{ + // Reset the materials list + // + ClearMaterialList(); + + // Loop over the root logical volumes and rebuild the list + // of materials from scratch + // + G4RootLVList::iterator pLV; + for (pLV=fRootVolumes.begin(); pLV!=fRootVolumes.end(); pLV++) + { + ScanVolumeTree(*pLV, true); + } +} diff --git a/source/geometry/management/src/G4RegionStore.cc b/source/geometry/management/src/G4RegionStore.cc new file mode 100644 index 0000000000..8e2f3c3db1 --- /dev/null +++ b/source/geometry/management/src/G4RegionStore.cc @@ -0,0 +1,225 @@ +// +// ******************************************************************** +// * 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: G4RegionStore.cc,v 1.4 2003/02/07 11:46:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// G4RegionStore +// +// Implementation for singleton container +// +// History: +// 18.09.02 G.Cosmo Initial version +// ******************************************************************** + +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4GeometryManager.hh" + +// *************************************************************************** +// Static class variables +// *************************************************************************** +// +G4RegionStore* G4RegionStore::fgInstance = 0; +G4bool G4RegionStore::locked = false; + +// *************************************************************************** +// Protected constructor: Construct underlying container with +// initial size of 20 entries +// *************************************************************************** +// +G4RegionStore::G4RegionStore() + : G4std::vector() +{ + reserve(20); +} + +// *************************************************************************** +// Destructor +// *************************************************************************** +// +G4RegionStore::~G4RegionStore() +{ + Clean(); +} + +// *************************************************************************** +// Delete all elements from the store +// *************************************************************************** +// +void G4RegionStore::Clean() +{ + // Do nothing if geometry is closed + // + if (G4GeometryManager::GetInstance()->IsGeometryClosed()) + { + G4cout << "WARNING - Attempt to delete the region store" + << " while geometry closed !" << G4endl; + return; + } + + // Locks store for deletion of regions. De-registration will be + // performed at this stage. G4Regions will not de-register themselves. + // + locked = true; + + size_t i=0; + G4RegionStore* store = GetInstance(); + G4std::vector::iterator pos; + +#ifdef G4GEOMETRY_VOXELDEBUG + G4cout << "Deleting Solids ... "; +#endif + + for(pos=store->begin(); pos!=store->end(); pos++) + { + if (*pos) delete *pos; i++; + } + +#ifdef G4GEOMETRY_VOXELDEBUG + if (store->size() < i-1) + { G4cout << "No regions deleted. Already deleted by user ?" << G4endl; } + else + { G4cout << i-1 << " regions deleted !" << G4endl; } +#endif + + locked = false; + store->clear(); +} + +// *************************************************************************** +// Add Solid to container +// *************************************************************************** +// +void G4RegionStore::Register(G4Region* pRegion) +{ + GetInstance()->push_back(pRegion); +} + +// *************************************************************************** +// Remove Solid from container +// *************************************************************************** +// +void G4RegionStore::DeRegister(G4Region* pRegion) +{ + if (!locked) // Do not de-register if locked ! + { + for (iterator i=GetInstance()->begin(); i!=GetInstance()->end(); i++) + { + if (**i==*pRegion) + { + GetInstance()->erase(i); + break; + } + } + } +} + +// *************************************************************************** +// Return ptr to Store, setting if necessary +// *************************************************************************** +// +G4RegionStore* G4RegionStore::GetInstance() +{ + static G4RegionStore worldStore; + if (!fgInstance) + { + fgInstance = &worldStore; + } + return fgInstance; +} + +// *************************************************************************** +// Loops through all regions to verify if a region has been modified. +// It returns TRUE if just one region is modified. +// *************************************************************************** +// +G4bool G4RegionStore::IsModified() const +{ + for (iterator i=GetInstance()->begin(); i!=GetInstance()->end(); i++) + { + if ((*i)->IsModified()) return true; + } + return false; +} + +// *************************************************************************** +// Loops through all regions to reset flag for modification to FALSE. +// Used by the run manager to notify that the physics table has been updated. +// *************************************************************************** +// +void G4RegionStore::ResetRegionModified() +{ + for (iterator i=GetInstance()->begin(); i!=GetInstance()->end(); i++) + { + (*i)->RegionModified(false); + } +} + + +// *************************************************************************** +// Forces recomputation of material lists in all regions in the store. +// *************************************************************************** +// +void G4RegionStore::UpdateMaterialList() +{ + for (iterator i=GetInstance()->begin(); i!=GetInstance()->end(); i++) + { + (*i)->UpdateMaterialList(); + } +} + +// *************************************************************************** +// Returns a region through its name specification. +// *************************************************************************** +// +G4Region* G4RegionStore::GetRegion(const G4String& name, G4bool verbose) const +{ + for (iterator i=GetInstance()->begin(); i!=GetInstance()->end(); i++) + { + if ((*i)->GetName() == name) + return *i; + } + if (verbose) + { + G4cerr << "ERROR - G4RegionStore::GetRegion()" << G4endl + << " Region " << name << " NOT found in store !" << G4endl; + } + return 0; +} + +// *************************************************************************** +// Returns a region through its name specification, if it exists. +// If it does not exist it will allocate a new region with the given +// name, delegating the ownership to the caller client. +// *************************************************************************** +// +G4Region* G4RegionStore::FindOrCreateRegion(const G4String& name) +{ + G4Region* target = GetRegion(name,false); + if (!target) + { + target = new G4Region(name); + } + return target; +} diff --git a/source/geometry/management/src/G4SmartVoxelHeader.cc b/source/geometry/management/src/G4SmartVoxelHeader.cc index fd41abe6cb..b7ed59c707 100644 --- a/source/geometry/management/src/G4SmartVoxelHeader.cc +++ b/source/geometry/management/src/G4SmartVoxelHeader.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelHeader.cc,v 1.20 2002/05/17 17:59:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4SmartVoxelHeader diff --git a/source/geometry/management/src/G4SmartVoxelNode.cc b/source/geometry/management/src/G4SmartVoxelNode.cc index a8804e7dae..cd8f24aa28 100644 --- a/source/geometry/management/src/G4SmartVoxelNode.cc +++ b/source/geometry/management/src/G4SmartVoxelNode.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelNode.cc,v 1.4 2002/04/19 08:20:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class G4SmartVoxelNode // diff --git a/source/geometry/management/src/G4SmartVoxelProxy.cc b/source/geometry/management/src/G4SmartVoxelProxy.cc index 380851f6a5..348f67e6a8 100644 --- a/source/geometry/management/src/G4SmartVoxelProxy.cc +++ b/source/geometry/management/src/G4SmartVoxelProxy.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelProxy.cc,v 1.1 2002/04/19 08:20:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class G4SmartVoxelProxy // diff --git a/source/geometry/management/src/G4SmartVoxelStat.cc b/source/geometry/management/src/G4SmartVoxelStat.cc index ec32488dba..7be17d21e6 100644 --- a/source/geometry/management/src/G4SmartVoxelStat.cc +++ b/source/geometry/management/src/G4SmartVoxelStat.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmartVoxelStat.cc,v 1.1 2001/10/22 16:08:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/management/src/G4SolidStore.cc b/source/geometry/management/src/G4SolidStore.cc index 42a7f9aceb..070b911106 100644 --- a/source/geometry/management/src/G4SolidStore.cc +++ b/source/geometry/management/src/G4SolidStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4SolidStore.cc,v 1.9 2002/04/26 16:24:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4SolidStore // diff --git a/source/geometry/management/src/G4VPVParameterisation.cc b/source/geometry/management/src/G4VPVParameterisation.cc index b8884abcc3..db79d64fc3 100644 --- a/source/geometry/management/src/G4VPVParameterisation.cc +++ b/source/geometry/management/src/G4VPVParameterisation.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPVParameterisation.cc,v 1.3 2001/07/11 09:59:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Default implementations for Parameterisations that do not // parameterise solid and/or material diff --git a/source/geometry/management/src/G4VPhysicalVolume.cc b/source/geometry/management/src/G4VPhysicalVolume.cc index 7601af858b..d99215f41b 100644 --- a/source/geometry/management/src/G4VPhysicalVolume.cc +++ b/source/geometry/management/src/G4VPhysicalVolume.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VPhysicalVolume.cc,v 1.5 2002/10/14 07:42:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VPhysicalVolume.cc,v 1.6 2003/03/05 18:06:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VPhysicalVolume Implementation @@ -36,25 +36,27 @@ #include "G4LogicalVolume.hh" // Constructor: init parameters and register in Store -G4VPhysicalVolume::G4VPhysicalVolume(G4RotationMatrix *pRot, - const G4ThreeVector &tlate, - const G4String& pName, - G4LogicalVolume* pLogical, - G4VPhysicalVolume* pMother) +// +G4VPhysicalVolume::G4VPhysicalVolume( G4RotationMatrix *pRot, + const G4ThreeVector &tlate, + const G4String& pName, + G4LogicalVolume* pLogical, + G4VPhysicalVolume* pMother) { - ftrans=tlate; - frot=pRot; - SetName(pName); - SetLogicalVolume(pLogical); - SetMother(pMother); - if (pMother) pMother->GetLogicalVolume()->AddDaughter(this); - G4PhysicalVolumeStore::Register(this); + ftrans=tlate; + frot=pRot; + SetName(pName); + SetLogicalVolume(pLogical); + SetMother(pMother); + if (pMother) pMother->GetLogicalVolume()->AddDaughter(this); + G4PhysicalVolumeStore::Register(this); } // Destructor - remove from Store +// G4VPhysicalVolume::~G4VPhysicalVolume() { - G4PhysicalVolumeStore::DeRegister(this); + G4PhysicalVolumeStore::DeRegister(this); } G4int G4VPhysicalVolume::GetMultiplicity() const diff --git a/source/geometry/management/src/G4VSolid.cc b/source/geometry/management/src/G4VSolid.cc index bf8b84bdc5..7e636b48b8 100644 --- a/source/geometry/management/src/G4VSolid.cc +++ b/source/geometry/management/src/G4VSolid.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.cc,v 1.14 2002/10/28 11:25:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VSolid.cc,v 1.17 2003/03/31 14:18:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4VSolid // @@ -30,15 +30,14 @@ // // History: // -// 10.05.02 V.Grichine, bug fixed in ClipPoligon: clip only other axis and limited -// voxels -// 15.04.02 V.Grichine, bug fixed in ClipPoligon: clip only one axis +// 06.12.02 V.Grichine, restored original conditions in ClipPolygon() +// 10.05.02 V.Grichine, ClipPolygon(): clip only other axis and limited voxels +// 15.04.02 V.Grichine, bug fixed in ClipPolygon(): clip only one axis // 13.03.02 V.Grichine, cosmetics of voxel limit functions -// 15.11.00 D.Williams, V.Grichine change in CalculateClippedPolygonExtent: -// else if(component>pMax) ---> if +// 15.11.00 D.Williams, V.Grichine fix in CalculateClippedPolygonExtent() // 10.07.95 P.Kent Added == operator, solid Store entry -// 30.06.95 P.Kent -// +// 30.06.95 P.Kent Created. +// #include "G4VSolid.hh" #include "G4SolidStore.hh" @@ -52,6 +51,7 @@ // Constructor // - Copies name // - Add ourselves to solid Store + G4VSolid::G4VSolid(const G4String& name) : fshapeName(name) { @@ -62,6 +62,7 @@ G4VSolid::G4VSolid(const G4String& name) // // Destructor (virtual) // - Remove ourselves from solid Store + G4VSolid::~G4VSolid() { G4SolidStore::GetInstance()->DeRegister(this); @@ -70,6 +71,7 @@ G4VSolid::~G4VSolid() ////////////////////////////////////////////////////////////////////////// // // Streaming operator dumping solid contents + G4std::ostream& operator<< ( G4std::ostream& os, const G4VSolid& e ) { return e.StreamInfo(os); @@ -79,11 +81,15 @@ G4std::ostream& operator<< ( G4std::ostream& os, const G4VSolid& e ) // // Throw exception if ComputeDimensions called for illegal derived class -void G4VSolid::ComputeDimensions(G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep) +void G4VSolid::ComputeDimensions(G4VPVParameterisation*, + const G4int, + const G4VPhysicalVolume*) { - G4Exception("G4VSolid::ComputeDimensions called illegally: not overloaded by derived class"); + G4cout << "ERROR - Illegal call to G4VSolid::ComputeDimensions()" << G4endl + << " Method not overloaded by derived class !" << G4endl; + G4cerr << "ERROR - Illegal call to G4VSolid::ComputeDimensions()" << G4endl + << " Method not overloaded by derived class !" << G4endl; + G4Exception("G4VSolid::ComputeDimensions() - Illegal call"); } /////////////////////////////////////////////////////////////////////////// @@ -243,13 +249,13 @@ void G4VSolid::CalculateClippedPolygonExtent(G4ThreeVectorList& pPolygon, void G4VSolid::ClipPolygon( G4ThreeVectorList& pPolygon, const G4VoxelLimits& pVoxelLimit, - const EAxis pAxis ) const + const EAxis ) const { G4ThreeVectorList outputPolygon; if ( pVoxelLimit.IsLimited() ) { - if (pVoxelLimit.IsXLimited() && pAxis != kXAxis) + if (pVoxelLimit.IsXLimited() ) // && pAxis != kXAxis) { G4VoxelLimits simpleLimit1; simpleLimit1.AddLimit(kXAxis,pVoxelLimit.GetMinXExtent(),kInfinity); @@ -268,14 +274,14 @@ void G4VSolid::ClipPolygon( G4ThreeVectorList& pPolygon, if ( !pPolygon.size() ) return; else outputPolygon.clear(); } - if ( pVoxelLimit.IsYLimited() && pAxis != kYAxis) + if ( pVoxelLimit.IsYLimited() ) // && pAxis != kYAxis) { G4VoxelLimits simpleLimit1; simpleLimit1.AddLimit(kYAxis,pVoxelLimit.GetMinYExtent(),kInfinity); ClipPolygonToSimpleLimits(pPolygon,outputPolygon,simpleLimit1); -// Must always clear pPolygon - for clip to simpleLimit2 and in case of -// early exit + // Must always clear pPolygon - for clip to simpleLimit2 and in case of + // early exit pPolygon.clear(); @@ -288,14 +294,14 @@ void G4VSolid::ClipPolygon( G4ThreeVectorList& pPolygon, if ( !pPolygon.size() ) return; else outputPolygon.clear(); } - if ( pVoxelLimit.IsZLimited() && pAxis != kZAxis) + if ( pVoxelLimit.IsZLimited() ) // && pAxis != kZAxis) { G4VoxelLimits simpleLimit1; simpleLimit1.AddLimit(kZAxis,pVoxelLimit.GetMinZExtent(),kInfinity); ClipPolygonToSimpleLimits(pPolygon,outputPolygon,simpleLimit1); -// Must always clear pPolygon - for clip to simpleLimit2 and in case of -// early exit + // Must always clear pPolygon - for clip to simpleLimit2 and in case of + // early exit pPolygon.clear(); @@ -305,7 +311,7 @@ void G4VSolid::ClipPolygon( G4ThreeVectorList& pPolygon, simpleLimit2.AddLimit(kZAxis,-kInfinity,pVoxelLimit.GetMaxZExtent()); ClipPolygonToSimpleLimits(outputPolygon,pPolygon,simpleLimit2); -// Return after final clip - no cleanup + // Return after final clip - no cleanup } } } @@ -326,7 +332,7 @@ void G4VSolid::ClipPolygonToSimpleLimits( G4ThreeVectorList& pPolygon, for (i = 0 ; i < noVertices ; i++ ) { vStart = pPolygon[i]; - // G4cout<<"i = "< output crossing point + // + // G4cout << "vStart inside, vEnd outside" << G4endl; pVoxelLimit.ClipToLimits(vStart,vEnd); outputPolygon.push_back(vEnd); } @@ -350,9 +357,9 @@ void G4VSolid::ClipPolygonToSimpleLimits( G4ThreeVectorList& pPolygon, { if (pVoxelLimit.Inside(vEnd)) { -// vStart outside, vEnd inside -> output inside section - // G4cout<<"vStart outside, vEnd inside"< output inside section + // + // G4cout << "vStart outside, vEnd inside" << G4endl; pVoxelLimit.ClipToLimits(vStart,vEnd); outputPolygon.push_back(vStart); outputPolygon.push_back(vEnd); @@ -366,10 +373,10 @@ void G4VSolid::ClipPolygonToSimpleLimits( G4ThreeVectorList& pPolygon, } } -const G4VSolid* G4VSolid::GetConstituentSolid(G4int no) const +const G4VSolid* G4VSolid::GetConstituentSolid(G4int) const { return 0; } -G4VSolid* G4VSolid::GetConstituentSolid(G4int no) +G4VSolid* G4VSolid::GetConstituentSolid(G4int) { return 0; } const G4DisplacedSolid* G4VSolid::GetDisplacedSolidPtr() const diff --git a/source/geometry/management/src/G4VoxelLimits.cc b/source/geometry/management/src/G4VoxelLimits.cc index eda69a028a..4ae292bb1d 100644 --- a/source/geometry/management/src/G4VoxelLimits.cc +++ b/source/geometry/management/src/G4VoxelLimits.cc @@ -22,7 +22,7 @@ // // // $Id: G4VoxelLimits.cc,v 1.7 2002/04/19 08:20:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4VoxelLimits // diff --git a/source/geometry/solids/BREPS/History b/source/geometry/solids/BREPS/History index 17195683a5..02ff5f312a 100644 --- a/source/geometry/solids/BREPS/History +++ b/source/geometry/solids/BREPS/History @@ -1,4 +1,4 @@ -$Id: History,v 1.48 2002/12/03 14:32:44 gcosmo Exp $ +$Id: History,v 1.49 2003/03/28 13:13:36 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28/03/2003 : G. Cosmo breps-V05-00-00 +- Fixed strict pedantic warnings and updated unit tests. + 03/12/2002 : G. Cosmo breps-V04-01-04 - Fix to concrete BREPS for porting code on Windows: explicitely name the internal struct type holding the solid parameters. diff --git a/source/geometry/solids/BREPS/include/G4Assembly.hh b/source/geometry/solids/BREPS/include/G4Assembly.hh index 883f8dcaf3..edefdfbf93 100644 --- a/source/geometry/solids/BREPS/include/G4Assembly.hh +++ b/source/geometry/solids/BREPS/include/G4Assembly.hh @@ -22,7 +22,7 @@ // // // $Id: G4Assembly.hh,v 1.8 2001/07/11 09:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Assembly diff --git a/source/geometry/solids/BREPS/include/G4Assembly.icc b/source/geometry/solids/BREPS/include/G4Assembly.icc index 8a8f68d556..b6fc8131dd 100644 --- a/source/geometry/solids/BREPS/include/G4Assembly.icc +++ b/source/geometry/solids/BREPS/include/G4Assembly.icc @@ -22,7 +22,7 @@ // // // $Id: G4Assembly.icc,v 1.3 2001/07/11 09:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh index 659601f13f..7544c91ee6 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement3D.hh,v 1.4 2001/07/11 09:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3D diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc index 4772184cba..f0372b879f 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement3D.icc,v 1.7 2001/07/20 11:52:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.hh b/source/geometry/solids/BREPS/include/G4BREPSolid.hh index 53b0799c92..006d12210f 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolid.hh,v 1.10 2002/10/28 11:30:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolid diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.icc b/source/geometry/solids/BREPS/include/G4BREPSolid.icc index b316432ce6..b534c2451d 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.icc +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.icc @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolid.icc,v 1.4 2001/07/11 09:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh index 53a42c2a7c..ce0e1fc6dd 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidBox.hh,v 1.6 2002/11/06 23:28:45 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidBox diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh index e6d3ed5694..a71135a92e 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidCone.hh,v 1.8 2002/12/03 14:24:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh index 2309aa85bf..2844b212c3 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidCylinder.hh,v 1.7 2002/12/03 14:32:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCylinder diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh index 524422a626..728878874e 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidOpenPCone.hh,v 1.6 2002/11/06 23:28:48 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidOpenPCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh index 095f5fc9ee..90d5cf0c2f 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidPCone.hh,v 1.11 2002/12/03 14:32:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh index ce52f92335..e25a083e62 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidPolyhedra.hh,v 1.11 2002/12/03 14:32:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPolyhedra diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh index acd13236ef..958304c4ee 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidSphere.hh,v 1.8 2002/12/03 14:32:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidSphere diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh index 06924e327c..bfa1e38d37 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidTorus.hh,v 1.7 2002/12/03 14:32:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidTorus diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh index 2992ec6b73..4d5bfdb438 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineCurve.hh,v 1.10 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurve diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc index b47c4a818d..13cb5a5b91 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc @@ -22,7 +22,7 @@ // // // $Id: G4BSplineCurve.icc,v 1.6 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh index 90052568df..50d40fd299 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineCurveWithKnots.hh,v 1.4 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnots diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh index 615091be54..b0fe469750 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineSurface.hh,v 1.10 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurface diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.icc b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc index b7256c522c..7b8de9116b 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurface.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineSurface.icc,v 1.4 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineSurface.icc,v 1.5 2003/03/28 13:11:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -91,7 +91,7 @@ void G4BSplineSurface::PutOrder(G4int direction, G4int value) } inline -G4Vector3D G4BSplineSurface::SurfaceNormal(const G4Point3D& Pt) const +G4Vector3D G4BSplineSurface::SurfaceNormal(const G4Point3D&) const { return G4Vector3D(0,0,0); } diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh b/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh index c4ada1b026..1dfd85583f 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineSurfaceWithKnots.hh,v 1.3 2001/07/11 09:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceWithKnots diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.hh b/source/geometry/solids/BREPS/include/G4BezierSurface.hh index 39dfdf4f70..6b85af3225 100644 --- a/source/geometry/solids/BREPS/include/G4BezierSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4BezierSurface.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BezierSurface diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.icc b/source/geometry/solids/BREPS/include/G4BezierSurface.icc index 774b4d9dfa..6168543354 100644 --- a/source/geometry/solids/BREPS/include/G4BezierSurface.icc +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4BezierSurface.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh index a2b36adf4d..249eb2a263 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4BoundingBox3D.hh,v 1.5 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BoundingBox3D diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc index d83886021a..d86a45ed1f 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc @@ -22,7 +22,7 @@ // // // $Id: G4BoundingBox3D.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.hh b/source/geometry/solids/BREPS/include/G4CircularCurve.hh index 766fa467aa..ec4243f5ff 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.hh @@ -22,7 +22,7 @@ // // // $Id: G4CircularCurve.hh,v 1.7 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CircularCurve diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.icc b/source/geometry/solids/BREPS/include/G4CircularCurve.icc index 6fd3c66e46..55c89302f5 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.icc @@ -22,7 +22,7 @@ // // // $Id: G4CircularCurve.icc,v 1.5 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh index 36518b5af5..be722f8d6a 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh @@ -22,7 +22,7 @@ // // // $Id: G4CompositeCurve.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CompositeCurve diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc index f27ffe48a9..10a6291e47 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc @@ -22,7 +22,7 @@ // // // $Id: G4CompositeCurve.icc,v 1.4 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Conic.hh b/source/geometry/solids/BREPS/include/G4Conic.hh index 8bf02cd34b..f31f99be93 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.hh +++ b/source/geometry/solids/BREPS/include/G4Conic.hh @@ -22,7 +22,7 @@ // // // $Id: G4Conic.hh,v 1.6 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Conic diff --git a/source/geometry/solids/BREPS/include/G4Conic.icc b/source/geometry/solids/BREPS/include/G4Conic.icc index 41de2ec506..eb0a1a0ef2 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.icc +++ b/source/geometry/solids/BREPS/include/G4Conic.icc @@ -22,7 +22,7 @@ // // // $Id: G4Conic.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh index c29408e073..7bdaa9b306 100644 --- a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConicalSurface.hh,v 1.8 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurface diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.icc b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc index 6dd26ea9bf..12b9b487fd 100644 --- a/source/geometry/solids/BREPS/include/G4ConicalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4ConicalSurface.icc,v 1.3 2001/07/11 09:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.hh b/source/geometry/solids/BREPS/include/G4ControlPoints.hh index 986929aeca..10d2049d80 100644 --- a/source/geometry/solids/BREPS/include/G4ControlPoints.hh +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.hh @@ -22,7 +22,7 @@ // // // $Id: G4ControlPoints.hh,v 1.6 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ControlPoints diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.icc b/source/geometry/solids/BREPS/include/G4ControlPoints.icc index f16300480c..509ead685c 100644 --- a/source/geometry/solids/BREPS/include/G4ControlPoints.icc +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.icc @@ -22,7 +22,7 @@ // // // $Id: G4ControlPoints.icc,v 1.2 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ConvexHull.hh b/source/geometry/solids/BREPS/include/G4ConvexHull.hh index 19a040ed92..9977e94c5f 100644 --- a/source/geometry/solids/BREPS/include/G4ConvexHull.hh +++ b/source/geometry/solids/BREPS/include/G4ConvexHull.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConvexHull.hh,v 1.6 2002/02/26 11:16:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConvexHull diff --git a/source/geometry/solids/BREPS/include/G4Curve.hh b/source/geometry/solids/BREPS/include/G4Curve.hh index fa9084e078..f4491e9f4a 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.hh +++ b/source/geometry/solids/BREPS/include/G4Curve.hh @@ -22,7 +22,7 @@ // // // $Id: G4Curve.hh,v 1.8 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Curve diff --git a/source/geometry/solids/BREPS/include/G4Curve.icc b/source/geometry/solids/BREPS/include/G4Curve.icc index 0b4876bfc0..e733f9f0cf 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.icc +++ b/source/geometry/solids/BREPS/include/G4Curve.icc @@ -22,7 +22,7 @@ // // // $Id: G4Curve.icc,v 1.5 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.hh b/source/geometry/solids/BREPS/include/G4CurvePoint.hh index c29ed01892..4bca299569 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.hh +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4CurvePoint.hh,v 1.5 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CurvePoint diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.icc b/source/geometry/solids/BREPS/include/G4CurvePoint.icc index 67c2ac777e..08391263c2 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.icc +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.icc @@ -22,7 +22,7 @@ // // // $Id: G4CurvePoint.icc,v 1.3 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh index 8637f9bf48..a69b8a7eb0 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh @@ -22,7 +22,7 @@ // // // $Id: G4CurveRayIntersection.hh,v 1.4 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CurveRayIntersection diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc index bf5016ce9a..913ecc51e5 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc @@ -22,7 +22,7 @@ // // // $Id: G4CurveRayIntersection.icc,v 1.3 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurveVector.hh b/source/geometry/solids/BREPS/include/G4CurveVector.hh index 4eb0103b15..7b9eb75a20 100644 --- a/source/geometry/solids/BREPS/include/G4CurveVector.hh +++ b/source/geometry/solids/BREPS/include/G4CurveVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4CurveVector.hh,v 1.5 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CurveVector diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh index 2bd024f0a6..e40d33d5a5 100644 --- a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4CylindricalSurface.hh,v 1.8 2001/07/11 09:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurface diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc index 96fc162983..6666bad328 100644 --- a/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4CylindricalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.hh b/source/geometry/solids/BREPS/include/G4Ellipse.hh index c4e6fd8cc9..995227874e 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.hh +++ b/source/geometry/solids/BREPS/include/G4Ellipse.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ellipse.hh,v 1.8 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Ellipse diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.icc b/source/geometry/solids/BREPS/include/G4Ellipse.icc index 62fbc6e58e..52a93c3344 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.icc +++ b/source/geometry/solids/BREPS/include/G4Ellipse.icc @@ -22,7 +22,7 @@ // // // $Id: G4Ellipse.icc,v 1.6 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh index 7eebde319e..259189034f 100644 --- a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4FConicalSurface.hh,v 1.11 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FConicalSurface diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.icc b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc index 6f62f27ba4..60d3f20ea3 100644 --- a/source/geometry/solids/BREPS/include/G4FConicalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4FConicalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh index 245e3d82ca..fdb76336d3 100644 --- a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4FCylindricalSurface.hh,v 1.11 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FCylindricalSurface diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc index 3c930089a6..721d6905e2 100644 --- a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4FCylindricalSurface.icc,v 1.3 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FPlane.hh b/source/geometry/solids/BREPS/include/G4FPlane.hh index adc23eaa50..73d0e570b5 100644 --- a/source/geometry/solids/BREPS/include/G4FPlane.hh +++ b/source/geometry/solids/BREPS/include/G4FPlane.hh @@ -22,7 +22,7 @@ // // // $Id: G4FPlane.hh,v 1.12 2002/01/28 16:38:40 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FPlane diff --git a/source/geometry/solids/BREPS/include/G4FPlane.icc b/source/geometry/solids/BREPS/include/G4FPlane.icc index c9600d45cc..243b48ad63 100644 --- a/source/geometry/solids/BREPS/include/G4FPlane.icc +++ b/source/geometry/solids/BREPS/include/G4FPlane.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FPlane.icc,v 1.4 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FPlane.icc,v 1.5 2003/03/28 13:11:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -75,7 +75,7 @@ G4Ray* G4FPlane::Norm() } inline -G4Vector3D G4FPlane::SurfaceNormal(const G4Point3D& Pt) const +G4Vector3D G4FPlane::SurfaceNormal(const G4Point3D&) const { return NormalX->GetDir(); } diff --git a/source/geometry/solids/BREPS/include/G4Globals.hh b/source/geometry/solids/BREPS/include/G4Globals.hh index 27c5c7e6cc..7462c7205a 100644 --- a/source/geometry/solids/BREPS/include/G4Globals.hh +++ b/source/geometry/solids/BREPS/include/G4Globals.hh @@ -22,7 +22,7 @@ // // // $Id: G4Globals.hh,v 1.4 2001/07/11 09:59:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A.Breakstone // Adaptation: J.Sulkimo, P.Urban. diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.hh b/source/geometry/solids/BREPS/include/G4Hyperbola.hh index 837e9cf835..b89c37c1b8 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.hh +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.hh @@ -22,7 +22,7 @@ // // // $Id: G4Hyperbola.hh,v 1.8 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Hyperbola diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.icc b/source/geometry/solids/BREPS/include/G4Hyperbola.icc index a507567c2d..32ff6a142d 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.icc +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.icc @@ -22,7 +22,7 @@ // // // $Id: G4Hyperbola.icc,v 1.7 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.hh b/source/geometry/solids/BREPS/include/G4KnotVector.hh index b7e69131a8..29de140702 100644 --- a/source/geometry/solids/BREPS/include/G4KnotVector.hh +++ b/source/geometry/solids/BREPS/include/G4KnotVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4KnotVector.hh,v 1.7 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4KnotVector diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.icc b/source/geometry/solids/BREPS/include/G4KnotVector.icc index 0c206f0673..645019db6d 100644 --- a/source/geometry/solids/BREPS/include/G4KnotVector.icc +++ b/source/geometry/solids/BREPS/include/G4KnotVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4KnotVector.icc,v 1.3 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Line.hh b/source/geometry/solids/BREPS/include/G4Line.hh index 9a0b7d19c7..dd088244fc 100644 --- a/source/geometry/solids/BREPS/include/G4Line.hh +++ b/source/geometry/solids/BREPS/include/G4Line.hh @@ -22,7 +22,7 @@ // // // $Id: G4Line.hh,v 1.7 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Line diff --git a/source/geometry/solids/BREPS/include/G4Line.icc b/source/geometry/solids/BREPS/include/G4Line.icc index 272a2492e7..f0d1cd4c72 100644 --- a/source/geometry/solids/BREPS/include/G4Line.icc +++ b/source/geometry/solids/BREPS/include/G4Line.icc @@ -22,7 +22,7 @@ // // // $Id: G4Line.icc,v 1.7 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh index 06825a2a1a..09ac142c8b 100644 --- a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh @@ -22,7 +22,7 @@ // // // $Id: G4OsloMatrix.hh,v 1.5 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4OsloMatrix diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.icc b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc index 59fabea25b..f2fa23b475 100644 --- a/source/geometry/solids/BREPS/include/G4OsloMatrix.icc +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc @@ -22,7 +22,7 @@ // // // $Id: G4OsloMatrix.icc,v 1.3 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Parabola.hh b/source/geometry/solids/BREPS/include/G4Parabola.hh index d6e11f1b0a..a05ea07aa0 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.hh +++ b/source/geometry/solids/BREPS/include/G4Parabola.hh @@ -22,7 +22,7 @@ // // // $Id: G4Parabola.hh,v 1.8 2001/07/11 09:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Parabola diff --git a/source/geometry/solids/BREPS/include/G4Parabola.icc b/source/geometry/solids/BREPS/include/G4Parabola.icc index 6e29eb3642..5ee3861a8b 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.icc +++ b/source/geometry/solids/BREPS/include/G4Parabola.icc @@ -22,7 +22,7 @@ // // // $Id: G4Parabola.icc,v 1.6 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh index c171628cd0..9951045b27 100644 --- a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4PlacedSolid.hh,v 1.8 2002/11/06 23:28:53 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PlacedSolid diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.icc b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc index 2c74870c24..d88bf58975 100644 --- a/source/geometry/solids/BREPS/include/G4PlacedSolid.icc +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc @@ -22,7 +22,7 @@ // // // $Id: G4PlacedSolid.icc,v 1.6 2002/11/06 23:28:54 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4PlacementVector.hh b/source/geometry/solids/BREPS/include/G4PlacementVector.hh index 24a46df3ba..db0eb307f0 100644 --- a/source/geometry/solids/BREPS/include/G4PlacementVector.hh +++ b/source/geometry/solids/BREPS/include/G4PlacementVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PlacementVector.hh,v 1.5 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PlacementVector diff --git a/source/geometry/solids/BREPS/include/G4Plane.hh b/source/geometry/solids/BREPS/include/G4Plane.hh index 2ce4ffc865..ba5df21184 100644 --- a/source/geometry/solids/BREPS/include/G4Plane.hh +++ b/source/geometry/solids/BREPS/include/G4Plane.hh @@ -22,7 +22,7 @@ // // // $Id: G4Plane.hh,v 1.5 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Plane diff --git a/source/geometry/solids/BREPS/include/G4Point3DVector.hh b/source/geometry/solids/BREPS/include/G4Point3DVector.hh index 1a3a210f2d..aa62fe7163 100644 --- a/source/geometry/solids/BREPS/include/G4Point3DVector.hh +++ b/source/geometry/solids/BREPS/include/G4Point3DVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4Point3DVector.hh,v 1.6 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Point3DVector diff --git a/source/geometry/solids/BREPS/include/G4PointRat.hh b/source/geometry/solids/BREPS/include/G4PointRat.hh index e4941542d3..0d153c3051 100644 --- a/source/geometry/solids/BREPS/include/G4PointRat.hh +++ b/source/geometry/solids/BREPS/include/G4PointRat.hh @@ -22,7 +22,7 @@ // // // $Id: G4PointRat.hh,v 1.9 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PointRat diff --git a/source/geometry/solids/BREPS/include/G4PointRat.icc b/source/geometry/solids/BREPS/include/G4PointRat.icc index 5ed04644c8..20caeef357 100644 --- a/source/geometry/solids/BREPS/include/G4PointRat.icc +++ b/source/geometry/solids/BREPS/include/G4PointRat.icc @@ -22,7 +22,7 @@ // // // $Id: G4PointRat.icc,v 1.3 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh index de8b7575b1..7e7b67280e 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProjectedSurface.hh,v 1.6 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ProjectedSurface diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc index 9b1136745c..eed9902140 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProjectedSurface.icc,v 1.3 2001/07/11 09:59:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProjectedSurface.icc,v 1.4 2003/03/28 13:11:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file @@ -33,7 +33,7 @@ // -------------------------------------------------------------------- inline -G4Vector3D G4ProjectedSurface::SurfaceNormal(const G4Point3D& Pt) const +G4Vector3D G4ProjectedSurface::SurfaceNormal(const G4Point3D&) const { return G4Vector3D(0,0,0); } diff --git a/source/geometry/solids/BREPS/include/G4Ray.hh b/source/geometry/solids/BREPS/include/G4Ray.hh index 9ec00ec2fd..2f2b6efe5e 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.hh +++ b/source/geometry/solids/BREPS/include/G4Ray.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Ray.hh,v 1.7 2002/11/21 16:52:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Ray.hh,v 1.8 2003/03/28 13:11:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Ray @@ -107,7 +107,7 @@ public: // with description inline G4double P2(G4double x) const; inline G4int NearZero(G4double val, G4double epsilon) const; - void MatVecOrtho(register G4Vector3D &out, register const G4Vector3D in); + void MatVecOrtho(register G4Vector3D &out, register const G4Vector3D &in); // Utility methods. inline void Vsetall(G4Vector3D &a, G4double s); diff --git a/source/geometry/solids/BREPS/include/G4Ray.icc b/source/geometry/solids/BREPS/include/G4Ray.icc index f8bc7c29da..07533369b1 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.icc +++ b/source/geometry/solids/BREPS/include/G4Ray.icc @@ -22,7 +22,7 @@ // // // $Id: G4Ray.icc,v 1.6 2002/11/21 16:52:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh index 91924f2102..132ce622a3 100644 --- a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4RectangularTrimmedSurface.hh,v 1.7 2001/07/11 09:59:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BezierSurface diff --git a/source/geometry/solids/BREPS/include/G4STEPEntity.hh b/source/geometry/solids/BREPS/include/G4STEPEntity.hh index 6b4acb06a9..002fa4e56c 100644 --- a/source/geometry/solids/BREPS/include/G4STEPEntity.hh +++ b/source/geometry/solids/BREPS/include/G4STEPEntity.hh @@ -22,7 +22,7 @@ // // // $Id: G4STEPEntity.hh,v 1.6 2001/07/11 09:59:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4STEPEntity diff --git a/source/geometry/solids/BREPS/include/G4Sort.hh b/source/geometry/solids/BREPS/include/G4Sort.hh index dc41d8fb6a..1d35eb5e13 100644 --- a/source/geometry/solids/BREPS/include/G4Sort.hh +++ b/source/geometry/solids/BREPS/include/G4Sort.hh @@ -22,7 +22,7 @@ // // // $Id: G4Sort.hh,v 1.4 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh index 061fa6741f..f899a16030 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4SphericalSurface.hh,v 1.8 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SphericalSurface diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.icc b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc index 352bc0e47e..978d6ada7f 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4SphericalSurface.icc,v 1.3 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Surface.hh b/source/geometry/solids/BREPS/include/G4Surface.hh index 6720b32d07..767c11ad1b 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.hh +++ b/source/geometry/solids/BREPS/include/G4Surface.hh @@ -22,7 +22,7 @@ // // // $Id: G4Surface.hh,v 1.8 2002/11/21 16:52:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Surface diff --git a/source/geometry/solids/BREPS/include/G4Surface.icc b/source/geometry/solids/BREPS/include/G4Surface.icc index 538a7470e6..a8d44fcea2 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.icc +++ b/source/geometry/solids/BREPS/include/G4Surface.icc @@ -22,7 +22,7 @@ // // // $Id: G4Surface.icc,v 1.4 2002/11/21 16:52:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh index 3826b665f4..d851b5538d 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceBoundary.hh,v 1.6 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SurfaceBoundary diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc index 488f19f336..84326ba3ff 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceBoundary.icc,v 1.4 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4SurfaceList.hh b/source/geometry/solids/BREPS/include/G4SurfaceList.hh index 56f1563931..c9f731f360 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceList.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceList.hh @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceList.hh,v 1.5 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SurfaceList diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh index f1866f1336..eed0ae332b 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceOfLinearExtrusion.hh,v 1.4 2001/07/11 09:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SurfaceOfLinearExtrusion diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh index 53bdbff387..7941a3caa6 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceOfRevolution.hh,v 1.4 2001/07/11 09:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SurfaceOfRevolution diff --git a/source/geometry/solids/BREPS/include/G4ThreeMat.hh b/source/geometry/solids/BREPS/include/G4ThreeMat.hh index 5bda55457d..5ad4195c3d 100644 --- a/source/geometry/solids/BREPS/include/G4ThreeMat.hh +++ b/source/geometry/solids/BREPS/include/G4ThreeMat.hh @@ -22,7 +22,7 @@ // // // $Id: G4ThreeMat.hh,v 1.8 2001/07/11 09:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ThreeMat diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh index 029b4f9175..cb9c9a6e1c 100644 --- a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4ToroidalSurface.hh,v 1.6 2001/07/11 09:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ToroidalSurface diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc index 81dac0503b..9f62b0a5ca 100644 --- a/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4ToroidalSurface.icc,v 1.3 2001/07/11 09:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4UVHit.hh b/source/geometry/solids/BREPS/include/G4UVHit.hh index e15672adde..fe8616699a 100644 --- a/source/geometry/solids/BREPS/include/G4UVHit.hh +++ b/source/geometry/solids/BREPS/include/G4UVHit.hh @@ -22,7 +22,7 @@ // // // $Id: G4UVHit.hh,v 1.6 2001/07/11 09:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4UVHit diff --git a/source/geometry/solids/BREPS/src/G4Assembly.cc b/source/geometry/solids/BREPS/src/G4Assembly.cc index ee660624b6..1fdeb5747d 100644 --- a/source/geometry/solids/BREPS/src/G4Assembly.cc +++ b/source/geometry/solids/BREPS/src/G4Assembly.cc @@ -22,7 +22,7 @@ // // // $Id: G4Assembly.cc,v 1.5 2001/07/11 09:59:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc b/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc index 21af6d3206..083e5b0a0f 100644 --- a/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc +++ b/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement3D.cc,v 1.6 2001/07/11 09:59:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolid.cc b/source/geometry/solids/BREPS/src/G4BREPSolid.cc index cffb6d7968..877ef3f3a3 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolid.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolid.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BREPSolid.cc,v 1.22 2002/11/06 23:29:32 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BREPSolid.cc,v 1.23 2003/03/28 13:11:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -932,9 +932,9 @@ G4double G4BREPSolid::DistanceToIn(register const G4ThreeVector& Pt, G4double G4BREPSolid::DistanceToOut(register const G4ThreeVector& P, register const G4ThreeVector& D, - const G4bool calcNorm, + const G4bool, G4bool *validNorm, - G4ThreeVector *n ) const + G4ThreeVector* ) const { // Calculates the distance from a point inside the solid // to the solid`s boundary along a specified direction vector. @@ -1076,7 +1076,7 @@ void G4BREPSolid::CalcBBoxes() // for the solid. G4Surface* srf; - register G4Point3D min, max; + G4Point3D min, max; if(active) { diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc index 5ec519ee36..28af0b04fe 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidBox.cc,v 1.7 2002/11/06 23:29:33 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc index 66e37efb4b..7a11af1289 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4BREPSolidCone.cc,v 1.10 2002/12/03 14:24:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BREPSolidCone.cc,v 1.11 2003/03/28 13:11:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -177,9 +177,9 @@ G4double G4BREPSolidCone::DistanceToIn(register const G4ThreeVector& Pt, G4double G4BREPSolidCone::DistanceToOut(register const G4ThreeVector& Pt, register const G4ThreeVector& V, - const G4bool calcNorm, + const G4bool, G4bool *validNorm, - G4ThreeVector *n) const + G4ThreeVector *) const { if(validNorm) *validNorm = false; diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc index 84f450a44b..cdb041dbd9 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4BREPSolidCylinder.cc,v 1.8 2002/11/06 23:29:35 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc index b3d0c3eafb..0e1aee70c9 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidOpenPCone.cc,v 1.7 2002/11/06 23:29:36 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc index d27aa57518..7c4d3ef0f0 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4BREPSolidPCone.cc,v 1.28 2002/11/06 23:29:37 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BREPSolidPCone.cc,v 1.29 2003/03/28 13:11:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -672,9 +672,9 @@ G4double G4BREPSolidPCone::DistanceToIn(register const G4ThreeVector& Pt, G4double G4BREPSolidPCone::DistanceToOut(register const G4ThreeVector& Pt, register const G4ThreeVector& V, - const G4bool calcNorm, + const G4bool, G4bool *validNorm, - G4ThreeVector *n ) const + G4ThreeVector * ) const { // Calculates the distance from a point inside the solid // to the solid`s boundary along a specified direction vector. diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc index 00eb5b91c6..9b9e7b2c7c 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4BREPSolidPolyhedra.cc,v 1.23 2002/11/06 23:29:38 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BREPSolidPolyhedra.cc,v 1.24 2003/03/28 13:11:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -861,9 +861,9 @@ G4BREPSolidPolyhedra::DistanceToIn(register const G4ThreeVector& Pt, G4double G4BREPSolidPolyhedra::DistanceToOut(register const G4ThreeVector& Pt, register const G4ThreeVector& V, - const G4bool calcNorm, + const G4bool, G4bool *validNorm, - G4ThreeVector *n ) const + G4ThreeVector * ) const { // Calculates the distance from a point inside the solid // to the solid`s boundary along a specified direction vector. diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc index a050d70881..2c3c435660 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidSphere.cc,v 1.6 2002/11/06 23:29:39 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc index d5d494123f..48395217f5 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc @@ -22,7 +22,7 @@ // // // $Id: G4BREPSolidTorus.cc,v 1.6 2002/11/06 23:29:40 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc index 9ab1dac806..2aa5abd563 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineCurve.cc,v 1.9 2001/07/17 07:17:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineCurve.cc,v 1.10 2003/03/28 13:11:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -82,6 +82,7 @@ G4BSplineCurve::~G4BSplineCurve() G4BSplineCurve::G4BSplineCurve(const G4BSplineCurve& right) + : G4Curve() { delete [] controlPointsList; delete [] knots; @@ -125,12 +126,12 @@ G4double G4BSplineCurve::GetPMax() const return 0.0; } -G4Point3D G4BSplineCurve::GetPoint(G4double param) const +G4Point3D G4BSplineCurve::GetPoint(G4double) const { return G4Point3D(0, 0, 0); } -G4double G4BSplineCurve::GetPPoint(const G4Point3D& p) const +G4double G4BSplineCurve::GetPPoint(const G4Point3D&) const { return 0.0; } @@ -144,7 +145,7 @@ void G4BSplineCurve::IntersectRay2D(const G4Ray& ray, } */ -G4int G4BSplineCurve::IntersectRay2D(const G4Ray& ray) +G4int G4BSplineCurve::IntersectRay2D(const G4Ray&) { // L. Broglia G4cout<<"\nWarning ! G4BSplineCurve::IntersectRay2D is empty."; @@ -323,9 +324,9 @@ G4Point3d G4BSplineCurve::GetBoundMax() */ -G4bool G4BSplineCurve::Tangent(G4CurvePoint& cp, G4Vector3D& v) +G4bool G4BSplineCurve::Tangent(G4CurvePoint&, G4Vector3D&) { - G4Exception("G4BSplineCurve::Tangent"); + G4Exception("G4BSplineCurve::Tangent - Not implemented !"); return false; } diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc index b22409df0f..0cd3bf4b01 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc @@ -22,7 +22,7 @@ // // // $Id: G4BSplineCurveWithKnots.cc,v 1.4 2001/07/11 09:59:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc index 7e6597bee9..25cba1b0af 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineSurface.cc,v 1.11 2001/07/11 09:59:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineSurface.cc,v 1.12 2003/03/28 13:11:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -46,7 +46,7 @@ G4BSplineSurface::G4BSplineSurface() } -G4BSplineSurface::G4BSplineSurface(const char* nurbfilename, G4Ray& rayref) +G4BSplineSurface::G4BSplineSurface(const char*, G4Ray&) { distance = kInfinity; first_hit = Hit = (G4UVHit*)0; @@ -257,8 +257,8 @@ void G4BSplineSurface::CalcBBox() // to the surface. The bounding box is used // for a preliminary check of intersection. - register G4Point3D box_min = G4Point3D( PINFINITY); - register G4Point3D box_max = G4Point3D(-PINFINITY); + G4Point3D box_min = G4Point3D( PINFINITY); + G4Point3D box_max = G4Point3D(-PINFINITY); // Loop to search the whole control point mesh // for the minimum and maximum values for x, y and z. @@ -411,7 +411,7 @@ void G4BSplineSurface::ProjectNURBSurfaceTo2D G4PointRat tmp = ctl_points->GetRat(0,0); int rational = tmp.GetType();// Get the type of control point - register G4Point3D psrfcoords; + G4Point3D psrfcoords; register int rows = ctl_points->GetRows(); register int cols = ctl_points->GetCols(); @@ -538,7 +538,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() for ( i = 0; i < row_size; i++) { ord = GetOrder(ROW); - register G4PointRat rtr_pt = InternalEvalCrv(i, curves); + G4PointRat rtr_pt = InternalEvalCrv(i, curves); diff_curve->put(0,i,rtr_pt); } @@ -601,7 +601,7 @@ G4Point3D G4BSplineSurface::BSEvaluate() } -G4Point3D G4BSplineSurface::Evaluation(const G4Ray& rayref) +G4Point3D G4BSplineSurface::Evaluation(const G4Ray&) { // Delete old UVhits G4UVHit* temphit=Hit; @@ -618,7 +618,7 @@ G4Point3D G4BSplineSurface::Evaluation(const G4Ray& rayref) closest_hit = FinalIntersection(); // The following part (commented out) is old bullshit - // Chech that Hit is not in a void i.e. InnerBoundary. + // Check that Hit is not in a void i.e. InnerBoundary. // for(int a=0; aInside(closest_hit, rayref)) // { diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc index 46273f535d..f0e16111f3 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc @@ -22,7 +22,7 @@ // // // $Id: G4BSplineSurfaceWithKnots.cc,v 1.3 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BezierSurface.cc b/source/geometry/solids/BREPS/src/G4BezierSurface.cc index d7e3beb689..da9cf0ca57 100644 --- a/source/geometry/solids/BREPS/src/G4BezierSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BezierSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BezierSurface.cc,v 1.6 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BezierSurface.cc,v 1.7 2003/03/28 13:11:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -76,10 +76,11 @@ G4BezierSurface::~G4BezierSurface() } G4BezierSurface::G4BezierSurface(const G4BezierSurface&) + : G4Surface() { } -G4Vector3D G4BezierSurface::SurfaceNormal(const G4Point3D& Pt) const +G4Vector3D G4BezierSurface::SurfaceNormal(const G4Point3D&) const { return G4Vector3D(0,0,0); } @@ -136,8 +137,8 @@ void G4BezierSurface::CalcBBox() // calculates the bounds for a bounding rectangle // to the surface. The bounding rectangle is used // for a preliminary check of intersection. - register G4Point3D box_min = G4Point3D(PINFINITY); - register G4Point3D box_max = G4Point3D(-PINFINITY); + G4Point3D box_min = G4Point3D(PINFINITY); + G4Point3D box_max = G4Point3D(-PINFINITY); // Loop to search the whole control point mesh @@ -306,17 +307,17 @@ void G4BezierSurface::ClipSurface() // The four cornerpoints of the controlpoint mesh. /* L. Broglia - register G4Point2d pt1 = ctl_points->get(0,0); - register G4Point2d pt2 = ctl_points->get(0,col_size-1); - register G4Point2d pt3 = ctl_points->get(row_size-1,0); - register G4Point2d pt4 = ctl_points->get(row_size-1,col_size-1); - register G4Point2d v1,v2,v3; + G4Point2d pt1 = ctl_points->get(0,0); + G4Point2d pt2 = ctl_points->get(0,col_size-1); + G4Point2d pt3 = ctl_points->get(row_size-1,0); + G4Point2d pt4 = ctl_points->get(row_size-1,col_size-1); + G4Point2d v1,v2,v3; */ - register G4Point3D pt1 = ctl_points->Get3D(0,0); - register G4Point3D pt2 = ctl_points->Get3D(0,col_size-1); - register G4Point3D pt3 = ctl_points->Get3D(row_size-1,0); - register G4Point3D pt4 = ctl_points->Get3D(row_size-1,col_size-1); - register G4Point3D v1,v2,v3; + G4Point3D pt1 = ctl_points->Get3D(0,0); + G4Point3D pt2 = ctl_points->Get3D(0,col_size-1); + G4Point3D pt3 = ctl_points->Get3D(row_size-1,0); + G4Point3D pt4 = ctl_points->Get3D(row_size-1,col_size-1); + G4Point3D v1,v2,v3; if ( dir == ROW) { @@ -814,7 +815,7 @@ void G4BezierSurface::CalcOsloMatrix() } -void G4BezierSurface::MapSurface(G4Surface* tmp) +void G4BezierSurface::MapSurface(G4Surface*) { // This algorithm is described in the paper Making the Oslo-algorithm // more efficient in SIAM J.NUMER.ANAL. Vol.23, No. 3, June '86 @@ -860,12 +861,11 @@ void G4BezierSurface::MapSurface(G4Surface* tmp) x=a; /* L. Broglia - register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(x, o_ptr->GetOffset()); - register G4Point2d tempc= (G4Point2d&)c_ptr->Get2d(j/upper, - (j)%upper-lower); + G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(x, o_ptr->GetOffset()); + G4Point2d tempc= (G4Point2d&)c_ptr->Get2d(j/upper,(j)%upper-lower); */ - register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); - register G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); + G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); + G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); o_scale = o_ptr->GetKnotVector()->GetKnot(0); @@ -899,12 +899,11 @@ void G4BezierSurface::MapSurface(G4Surface* tmp) x=a; /* L. Broglia - register G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(o_ptr->GetOffset(), x); - register G4Point2d tempc = (G4Point2d&)c_ptr->Get2d((j)%upper-lower, - j/upper); + G4Point2d o_pts= (G4Point2d&)old_pts->Get2d(o_ptr->GetOffset(), x); + G4Point2d tempc = (G4Point2d&)c_ptr->Get2d((j)%upper-lower,j/upper); */ - register G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(), x); - register G4Point3D tempc = c_ptr->Get3D((j)%upper-lower,j/upper); + G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(), x); + G4Point3D tempc = c_ptr->Get3D((j)%upper-lower,j/upper); o_scale = o_ptr->GetKnotVector()->GetKnot(0); diff --git a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc index f4def755b9..407f24edf1 100644 --- a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc +++ b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.cc,v 1.6 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BoundingBox3D.cc,v 1.7 2003/03/28 13:11:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -188,7 +188,7 @@ G4int G4BoundingBox3D::Test(const G4Ray& rayref) // the box (ie. there is a possiblity of an intersection) -G4int G4BoundingBox3D::BoxIntersect(const G4Point3D& gbox, +G4int G4BoundingBox3D::BoxIntersect(const G4Point3D& , const G4Point3D& p , const G4Vector3D& v ) const { diff --git a/source/geometry/solids/BREPS/src/G4CircularCurve.cc b/source/geometry/solids/BREPS/src/G4CircularCurve.cc index 674b177db1..6e626144af 100644 --- a/source/geometry/solids/BREPS/src/G4CircularCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CircularCurve.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CircularCurve.cc,v 1.6 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CircularCurve.cc,v 1.7 2003/03/28 13:11:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -39,7 +39,7 @@ G4CircularCurve::G4CircularCurve() {} G4CircularCurve::~G4CircularCurve() {} G4CircularCurve::G4CircularCurve(const G4CircularCurve& right) - : radius(right.radius) + : G4Conic(), radius(right.radius) { pShift = right.pShift; position = right.position; @@ -153,7 +153,7 @@ void G4CircularCurve::IntersectRay2D(const G4Ray& ray, } */ -G4int G4CircularCurve::IntersectRay2D(const G4Ray& ray) +G4int G4CircularCurve::IntersectRay2D(const G4Ray&) { G4Exception("G4CircularCurve is always 3D!"); return 0; diff --git a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc index 7d66a42d35..b4acd39ef3 100644 --- a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CompositeCurve.cc,v 1.10 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CompositeCurve.cc,v 1.11 2003/03/28 13:11:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -125,14 +125,14 @@ G4double G4CompositeCurve::GetPMax() const return 0; } -G4Point3D G4CompositeCurve::GetPoint(G4double param) const +G4Point3D G4CompositeCurve::GetPoint(G4double) const { G4Exception("G4CompositeCurve::GetPoint"); // Fake return value return G4Point3D(); } -G4double G4CompositeCurve::GetPPoint(const G4Point3D& pt) const +G4double G4CompositeCurve::GetPPoint(const G4Point3D&) const { G4Exception("G4CompositeCurve::GetPPoint"); return 0; @@ -179,7 +179,7 @@ G4int G4CompositeCurve::IntersectRay2D(const G4Ray& ray) return nbinter; } -G4bool G4CompositeCurve::Tangent(G4CurvePoint& cp, G4Vector3D& v) +G4bool G4CompositeCurve::Tangent(G4CurvePoint&, G4Vector3D& v) { if (lastIntersection.GetDistance() == kInfinity) return false; diff --git a/source/geometry/solids/BREPS/src/G4Conic.cc b/source/geometry/solids/BREPS/src/G4Conic.cc index c21c0bf7a5..c4c5b5d25c 100644 --- a/source/geometry/solids/BREPS/src/G4Conic.cc +++ b/source/geometry/solids/BREPS/src/G4Conic.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Conic.cc,v 1.6 2001/07/11 09:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Conic.cc,v 1.7 2003/03/28 13:11:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -42,7 +42,7 @@ G4Conic::~G4Conic() } G4Conic::G4Conic(const G4Conic& right) - : position(right.position), pShift(right.pShift) + : G4Curve(), position(right.position), pShift(right.pShift) { bBox = right.bBox; start = right.start; diff --git a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc index da5ae52fb9..a1195def23 100644 --- a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ConicalSurface.cc,v 1.6 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ConicalSurface.cc,v 1.7 2003/03/28 13:11:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -41,7 +41,7 @@ G4ConicalSurface::G4ConicalSurface() { } -G4ConicalSurface::G4ConicalSurface( const G4Point3D& o, +G4ConicalSurface::G4ConicalSurface( const G4Point3D&, const G4Vector3D& a, G4double e ) //: G4Surface( o ) { diff --git a/source/geometry/solids/BREPS/src/G4ControlPoints.cc b/source/geometry/solids/BREPS/src/G4ControlPoints.cc index 13e3c53a9f..73aff0f45c 100644 --- a/source/geometry/solids/BREPS/src/G4ControlPoints.cc +++ b/source/geometry/solids/BREPS/src/G4ControlPoints.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ControlPoints.cc,v 1.6 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ControlPoints.cc,v 1.7 2003/03/28 13:11:57 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -52,7 +52,7 @@ G4ControlPoints::G4ControlPoints( G4int rows, G4int columns) } -G4ControlPoints::G4ControlPoints( G4int point_type, G4int rows, G4int columns) +G4ControlPoints::G4ControlPoints( G4int, G4int rows, G4int columns) { // point_type is maintained only for compatibility diff --git a/source/geometry/solids/BREPS/src/G4Curve.cc b/source/geometry/solids/BREPS/src/G4Curve.cc index ca76d0ba2e..a87cc00af7 100644 --- a/source/geometry/solids/BREPS/src/G4Curve.cc +++ b/source/geometry/solids/BREPS/src/G4Curve.cc @@ -22,7 +22,7 @@ // // // $Id: G4Curve.cc,v 1.6 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4CurvePoint.cc b/source/geometry/solids/BREPS/src/G4CurvePoint.cc index 7d8a3ccbda..2dcfa8712f 100644 --- a/source/geometry/solids/BREPS/src/G4CurvePoint.cc +++ b/source/geometry/solids/BREPS/src/G4CurvePoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4CurvePoint.cc,v 1.4 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc b/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc index dadd7d011f..603668b184 100644 --- a/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc +++ b/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CurveRayIntersection.cc,v 1.4 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CurveRayIntersection.cc,v 1.5 2003/03/28 13:11:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -50,7 +50,7 @@ G4CurveRayIntersection::~G4CurveRayIntersection() } G4CurveRayIntersection::G4CurveRayIntersection(const G4CurveRayIntersection& cr) - : r(cr.r), d(cr.d) + : G4CurvePoint(), r(cr.r), d(cr.d) { c = cr.c; p = cr.p; diff --git a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc index 99fa603af5..cad50a325e 100644 --- a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4CylindricalSurface.cc,v 1.4 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Ellipse.cc b/source/geometry/solids/BREPS/src/G4Ellipse.cc index 74179a31c1..2d64709440 100644 --- a/source/geometry/solids/BREPS/src/G4Ellipse.cc +++ b/source/geometry/solids/BREPS/src/G4Ellipse.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Ellipse.cc,v 1.7 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Ellipse.cc,v 1.8 2003/03/28 13:11:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -42,7 +42,7 @@ G4Ellipse::~G4Ellipse() } G4Ellipse::G4Ellipse(const G4Ellipse& right) - : semiAxis1(right.semiAxis1), semiAxis2(right.semiAxis2), + : G4Conic(), semiAxis1(right.semiAxis1), semiAxis2(right.semiAxis2), ratioAxis2Axis1(right.ratioAxis2Axis1), toUnitCircle(right.toUnitCircle), forTangent(right.forTangent) { diff --git a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc index d6cc71d0a1..0d2b03fb81 100644 --- a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4FConicalSurface.cc,v 1.15 2001/07/11 09:59:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc index c8aafcf4da..bb51fe4dc1 100644 --- a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4FCylindricalSurface.cc,v 1.12 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4FPlane.cc b/source/geometry/solids/BREPS/src/G4FPlane.cc index 43ae66fa1b..cc0854452e 100644 --- a/source/geometry/solids/BREPS/src/G4FPlane.cc +++ b/source/geometry/solids/BREPS/src/G4FPlane.cc @@ -22,7 +22,7 @@ // // // $Id: G4FPlane.cc,v 1.14 2002/01/28 16:29:42 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Hyperbola.cc b/source/geometry/solids/BREPS/src/G4Hyperbola.cc index cc3f11526b..3018da21c4 100644 --- a/source/geometry/solids/BREPS/src/G4Hyperbola.cc +++ b/source/geometry/solids/BREPS/src/G4Hyperbola.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Hyperbola.cc,v 1.7 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Hyperbola.cc,v 1.8 2003/03/28 13:11:58 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -43,7 +43,7 @@ G4Hyperbola::~G4Hyperbola() } G4Hyperbola::G4Hyperbola(const G4Hyperbola& right) - : Focus1(right.Focus1), Focus2(right.Focus2), + : G4Conic(), Focus1(right.Focus1), Focus2(right.Focus2), ProjFocus1(right.ProjFocus1), ProjFocus2(right.ProjFocus2), semiAxis(right.semiAxis), semiImagAxis(right.semiImagAxis), ratioAxisImagAxis(right.ratioAxisImagAxis), diff --git a/source/geometry/solids/BREPS/src/G4KnotVector.cc b/source/geometry/solids/BREPS/src/G4KnotVector.cc index 1457959caa..53953b2235 100644 --- a/source/geometry/solids/BREPS/src/G4KnotVector.cc +++ b/source/geometry/solids/BREPS/src/G4KnotVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4KnotVector.cc,v 1.6 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Line.cc b/source/geometry/solids/BREPS/src/G4Line.cc index 43a81c9641..84464095f8 100644 --- a/source/geometry/solids/BREPS/src/G4Line.cc +++ b/source/geometry/solids/BREPS/src/G4Line.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Line.cc,v 1.7 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Line.cc,v 1.8 2003/03/28 13:12:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -37,7 +37,8 @@ G4Line::G4Line (){} G4Line::~G4Line (){} G4Line::G4Line(const G4Line& right) - : pnt(right.pnt), dir(right.dir), invDir(right.invDir), v(right.v) + : G4Curve(), pnt(right.pnt), dir(right.dir), + invDir(right.invDir), v(right.v) { bBox = right.bBox; start = right.start; @@ -96,7 +97,7 @@ G4Curve* G4Line::Project(const G4Transform3D& tr) //////////////////////////////////////////////////////////////////////////// -G4bool G4Line::Tangent(G4CurvePoint& cp, G4Vector3D& vec) +G4bool G4Line::Tangent(G4CurvePoint&, G4Vector3D& vec) { if(GetSameSense()) vec = -dir; diff --git a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc index 36982362df..ec84fbf1f0 100644 --- a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc +++ b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc @@ -22,7 +22,7 @@ // // // $Id: G4OsloMatrix.cc,v 1.5 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Parabola.cc b/source/geometry/solids/BREPS/src/G4Parabola.cc index bababde5f4..325fc4298e 100644 --- a/source/geometry/solids/BREPS/src/G4Parabola.cc +++ b/source/geometry/solids/BREPS/src/G4Parabola.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Parabola.cc,v 1.5 2001/07/11 09:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Parabola.cc,v 1.6 2003/03/28 13:12:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,7 +38,7 @@ G4Parabola::G4Parabola(){} G4Parabola::~G4Parabola(){} G4Parabola::G4Parabola(const G4Parabola& right) - : focalDist(right.focalDist), F(right.F), L0(right.L0) + : G4Conic(), focalDist(right.focalDist), F(right.F), L0(right.L0) { pShift = right.pShift; position = right.position; diff --git a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc index e0f51e407d..c34f6575d3 100644 --- a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc +++ b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4PlacedSolid.cc,v 1.4 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4PointRat.cc b/source/geometry/solids/BREPS/src/G4PointRat.cc index 12b7ddd8e9..12f28e8438 100644 --- a/source/geometry/solids/BREPS/src/G4PointRat.cc +++ b/source/geometry/solids/BREPS/src/G4PointRat.cc @@ -22,7 +22,7 @@ // // // $Id: G4PointRat.cc,v 1.5 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc b/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc index f4d72680b4..ea5ed4cb65 100644 --- a/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ProjectedSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProjectedSurface.cc,v 1.8 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProjectedSurface.cc,v 1.9 2003/03/28 13:12:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -66,6 +66,7 @@ G4ProjectedSurface::~G4ProjectedSurface() } G4ProjectedSurface::G4ProjectedSurface(const G4ProjectedSurface&) + : G4Surface() { } @@ -653,12 +654,11 @@ void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) x=a; /* L. Broglia - register G4Point2d o_pts = (G4Point2d&)old_pts->get(x,o_ptr->GetOffset()); - register G4Point2d tempc = (G4Point2d&)c_ptr->get(j/upper, - (j)%upper-lower); + G4Point2d o_pts = (G4Point2d&)old_pts->get(x,o_ptr->GetOffset()); + G4Point2d tempc = (G4Point2d&)c_ptr->get(j/upper,(j)%upper-lower); */ - register G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); - register G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); + G4Point3D o_pts = old_pts->Get3D(x, o_ptr->GetOffset()); + G4Point3D tempc = c_ptr->Get3D(j/upper, (j)%upper-lower); o_scale = o_ptr->GetKnotVector()->GetKnot(0); tempc.setX(o_pts.x() * o_scale); @@ -691,12 +691,11 @@ void G4ProjectedSurface::MapSurface(G4ProjectedSurface* srf) x=a; /* L.Broglia - register G4Point2d o_pts = (G4Point2d&)old_pts->get(o_ptr->GetOffset(),x); - register G4Point2d tempc = (G4Point2d&)c_ptr->get((j)%upper-lower, - j/upper); + G4Point2d o_pts = (G4Point2d&)old_pts->get(o_ptr->GetOffset(),x); + G4Point2d tempc = (G4Point2d&)c_ptr->get((j)%upper-lower,j/upper); */ - register G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(),x); - register G4Point3D tempc = c_ptr->Get3D((j)%upper-lower, j/upper); + G4Point3D o_pts = old_pts->Get3D(o_ptr->GetOffset(),x); + G4Point3D tempc = c_ptr->Get3D((j)%upper-lower, j/upper); o_scale = o_ptr->GetKnotVector()->GetKnot(0); diff --git a/source/geometry/solids/BREPS/src/G4Ray.cc b/source/geometry/solids/BREPS/src/G4Ray.cc index 0f8c389479..1e9b248a04 100644 --- a/source/geometry/solids/BREPS/src/G4Ray.cc +++ b/source/geometry/solids/BREPS/src/G4Ray.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Ray.cc,v 1.8 2002/11/21 16:52:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Ray.cc,v 1.9 2003/03/28 13:12:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -93,7 +93,7 @@ void G4Ray::CreatePlanes() void G4Ray::MatVecOrtho(register G4Vector3D &out, - register const G4Vector3D in ) + register const G4Vector3D &in ) { register G4double f; G4int i_Which; diff --git a/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc b/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc index d11f3ab066..5c09871150 100644 --- a/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc +++ b/source/geometry/solids/BREPS/src/G4RectangularTrimmedSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4RectangularTrimmedSurface.cc,v 1.6 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Sort.cc b/source/geometry/solids/BREPS/src/G4Sort.cc index 8abcab092a..15433dd930 100644 --- a/source/geometry/solids/BREPS/src/G4Sort.cc +++ b/source/geometry/solids/BREPS/src/G4Sort.cc @@ -22,7 +22,7 @@ // // // $Id: G4Sort.cc,v 1.4 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 source file diff --git a/source/geometry/solids/BREPS/src/G4SphericalSurface.cc b/source/geometry/solids/BREPS/src/G4SphericalSurface.cc index a5e8ece10f..cc37294d23 100644 --- a/source/geometry/solids/BREPS/src/G4SphericalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4SphericalSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SphericalSurface.cc,v 1.5 2001/07/11 09:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SphericalSurface.cc,v 1.6 2003/03/28 13:12:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -53,7 +53,7 @@ G4SphericalSurface::G4SphericalSurface() : G4Surface() */ -G4SphericalSurface::G4SphericalSurface( const G4Vector3D& o, +G4SphericalSurface::G4SphericalSurface( const G4Vector3D&, const G4Vector3D& xhat, const G4Vector3D& zhat, G4double r, diff --git a/source/geometry/solids/BREPS/src/G4Surface.cc b/source/geometry/solids/BREPS/src/G4Surface.cc index 939ed05e98..4c0c779897 100644 --- a/source/geometry/solids/BREPS/src/G4Surface.cc +++ b/source/geometry/solids/BREPS/src/G4Surface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Surface.cc,v 1.10 2002/11/21 16:52:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Surface.cc,v 1.11 2003/03/28 13:12:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -84,12 +84,12 @@ G4double G4Surface::GetVHit() const //void G4Surface::read_surface(fstream& tmp){;} -G4Point3D G4Surface::Evaluation(const G4Ray& rayref) +G4Point3D G4Surface::Evaluation(const G4Ray&) { return closest_hit; } -G4int G4Surface::Evaluate(const G4Ray& rayref) +G4int G4Surface::Evaluate(const G4Ray&) { return 0; } @@ -131,7 +131,7 @@ G4Vector3D G4Surface::Normal( const G4Vector3D& ) const } -G4int G4Surface::Intersect(const G4Ray& rayref) +G4int G4Surface::Intersect(const G4Ray&) { G4int Result = 0; @@ -235,7 +235,7 @@ G4double G4Surface::ClosestDistanceToPoint(const G4Point3D& Pt) } -G4std::ostream& operator<<( G4std::ostream& os, const G4Surface& s ) +G4std::ostream& operator<<( G4std::ostream& os, const G4Surface& ) { // overwrite output operator << to Print out Surface objects // using the PrintOn function defined below diff --git a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc index b71452428c..18201c19d2 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SurfaceBoundary.cc,v 1.10 2001/07/11 09:59:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SurfaceBoundary.cc,v 1.11 2003/03/28 13:12:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -192,7 +192,7 @@ G4int G4SurfaceBoundary::IntersectRay2D(const G4Ray& ray) } -G4bool G4SurfaceBoundary::Tangent(G4CurvePoint& cp, G4Vector3D& v) +G4bool G4SurfaceBoundary::Tangent(G4CurvePoint&, G4Vector3D& v) { if (lastIntersection.GetDistance() == kInfinity) return false; diff --git a/source/geometry/solids/BREPS/src/G4SurfaceList.cc b/source/geometry/solids/BREPS/src/G4SurfaceList.cc index c7e4f88074..dadacb1a93 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceList.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceList.cc @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceList.cc,v 1.6 2001/07/11 09:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc index 1af167167c..7239577fdc 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc @@ -22,7 +22,7 @@ // // // $Id: G4SurfaceOfLinearExtrusion.cc,v 1.3 2001/07/11 09:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc index 8ea39b6d99..539aa8302a 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc @@ -25,7 +25,7 @@ // and all its terms. // // $Id: G4SurfaceOfRevolution.cc,v 1.3 2001/07/11 09:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ThreeMat.cc b/source/geometry/solids/BREPS/src/G4ThreeMat.cc index 3bd17b936f..2698c09beb 100644 --- a/source/geometry/solids/BREPS/src/G4ThreeMat.cc +++ b/source/geometry/solids/BREPS/src/G4ThreeMat.cc @@ -22,7 +22,7 @@ // // // $Id: G4ThreeMat.cc,v 1.6 2001/07/11 09:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc index 38304e820e..179fbfe110 100644 --- a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ToroidalSurface.cc,v 1.6 2001/07/11 09:59:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ToroidalSurface.cc,v 1.7 2003/03/28 13:12:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -76,7 +76,7 @@ void G4ToroidalSurface::CalcBBox() } -G4Vector3D G4ToroidalSurface::SurfaceNormal(const G4Point3D& Pt) const +G4Vector3D G4ToroidalSurface::SurfaceNormal(const G4Point3D&) const { return G4Vector3D(0,0,0); } diff --git a/source/geometry/solids/Boolean/History b/source/geometry/solids/Boolean/History index 69c7821cc9..df65199831 100644 --- a/source/geometry/solids/Boolean/History +++ b/source/geometry/solids/Boolean/History @@ -1,5 +1,5 @@ -$Id: History,v 1.34 2002/10/29 14:16:22 gcosmo Exp $ +$Id: History,v 1.36 2003/03/25 17:02:01 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + Mar 25, 2003 G.Cosmo geom-bool-V05-00-01 + - Fixed trivial strict pedantic warnings in G4ReflectedSolid.cc and + G4ReflectionFactory.cc. + - Minor fixes to unit tests. + + Jan 27, 2003 G.Cosmo geom-bool-V05-00-00 + - G4ReflectionFactory[.hh.cc] (courtesy of I.Hrivnacova): + o Added set/get functions Set/GetVolumesNameExtension() for volume-name + extension. By default now the factory assigns "_refl" postfix to name + of reflected volumes. + o Assumed less strict condition in the CheckScale() method, to avoid + precision problems with imported rotation matrices. + Oct 29 2002 Gabriele Cosmo geom-bool-V04-01-01 - Added method CleanTransformations() to G4DisplacedSolid and corrected implementation in destructor of G4BooleanSolid to not call for deletion diff --git a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh index e0a2766c5c..81cc6ee1dc 100644 --- a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh +++ b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4BooleanSolid.hh,v 1.6 2002/10/28 11:36:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4BooleanSolid diff --git a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh index 78f2387f52..58291f779c 100644 --- a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh +++ b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4DisplacedSolid.hh,v 1.13 2002/10/29 14:13:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4DisplacedSolid diff --git a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh index bdb4862fa7..c0476097de 100644 --- a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4IntersectionSolid.hh,v 1.6 2002/10/28 11:36:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4IntersectionSolid diff --git a/source/geometry/solids/Boolean/include/G4ReflectedSolid.hh b/source/geometry/solids/Boolean/include/G4ReflectedSolid.hh index 4ba1bebff4..db81d14b25 100644 --- a/source/geometry/solids/Boolean/include/G4ReflectedSolid.hh +++ b/source/geometry/solids/Boolean/include/G4ReflectedSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReflectedSolid.hh,v 1.6 2002/10/28 11:36:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ReflectedSolid diff --git a/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh b/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh index fa655f7687..50a9bc3823 100644 --- a/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh +++ b/source/geometry/solids/Boolean/include/G4ReflectionFactory.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ReflectionFactory.hh,v 1.1 2001/10/18 10:05:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ReflectionFactory.hh,v 1.2 2003/01/27 10:43:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Reflection @@ -121,6 +121,11 @@ class G4ReflectionFactory G4int GetVerboseLevel() const; // Sets/gets verbosity level. + void SetVolumesNameExtension(const G4String& nameExtension); + G4String GetVolumesNameExtension() const; + // Returns the name extension for the reflected solids + // and logical volumes. + protected: G4ReflectionFactory(); @@ -184,10 +189,11 @@ class G4ReflectionFactory private: static G4ReflectionFactory* fInstance; - static const G4String fNameExtension; + static const G4String fDefaultNameExtension; static const G4Scale3D fScale; G4int fVerboseLevel; + G4String fNameExtension; LogicalVolumesMap fConstituentLVMap; LogicalVolumesMap fReflectedLVMap; }; diff --git a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh index b0d20d7911..354e3fa66f 100644 --- a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4SubtractionSolid.hh,v 1.6 2002/10/28 11:36:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4SubtractionSolid diff --git a/source/geometry/solids/Boolean/include/G4UnionSolid.hh b/source/geometry/solids/Boolean/include/G4UnionSolid.hh index 5e87bb1cc6..7c53b9d911 100644 --- a/source/geometry/solids/Boolean/include/G4UnionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4UnionSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4UnionSolid.hh,v 1.7 2002/10/28 11:36:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4UnionSolid diff --git a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc index ba3245b16f..60811b92c4 100644 --- a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc +++ b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4BooleanSolid.cc,v 1.8 2002/10/29 14:15:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation for the abstract base class for solids created by boolean // operations between other solids diff --git a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc index 51d25bcea1..1bfb1c0605 100644 --- a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc +++ b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4DisplacedSolid.cc,v 1.16 2002/10/29 14:13:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation for G4DisplacedSolid class for boolean // operations between other solids diff --git a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc index f82394db52..eea931dfab 100644 --- a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4IntersectionSolid.cc,v 1.18 2002/10/28 11:36:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation of methods for the class G4IntersectionSolid // diff --git a/source/geometry/solids/Boolean/src/G4ReflectedSolid.cc b/source/geometry/solids/Boolean/src/G4ReflectedSolid.cc index 90cbebe434..3c844c5279 100644 --- a/source/geometry/solids/Boolean/src/G4ReflectedSolid.cc +++ b/source/geometry/solids/Boolean/src/G4ReflectedSolid.cc @@ -21,9 +21,9 @@ // ******************************************************************** // // -// $Id: G4ReflectedSolid.cc,v 1.9 2002/10/28 11:36:29 gcosmo Exp $ +// $Id: G4ReflectedSolid.cc,v 1.10 2003/03/25 17:03:03 gcosmo Exp $ // -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation for G4ReflectedSolid class for boolean // operations between other solids @@ -472,9 +472,9 @@ G4ReflectedSolid::DistanceToOut( const G4ThreeVector& p ) const // void -G4ReflectedSolid::ComputeDimensions( G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep ) +G4ReflectedSolid::ComputeDimensions( G4VPVParameterisation*, + const G4int, + const G4VPhysicalVolume* ) { DumpInfo(); G4Exception("G4ReflectedSolid::ComputeDimensions() - has no meaning!"); diff --git a/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc b/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc index cee4d98168..054fabd4a7 100644 --- a/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc +++ b/source/geometry/solids/Boolean/src/G4ReflectionFactory.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ReflectionFactory.cc,v 1.4 2002/10/28 11:36:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ReflectionFactory.cc,v 1.6 2003/03/25 17:03:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Ivana Hrivnacova, 16.10.2001 (Ivana.Hrivnacova@cern.ch) @@ -58,7 +58,7 @@ #include "G4PVReplica.hh" G4ReflectionFactory* G4ReflectionFactory::fInstance = 0; -const G4String G4ReflectionFactory::fNameExtension = "_refl"; +const G4String G4ReflectionFactory::fDefaultNameExtension = "_refl"; const G4Scale3D G4ReflectionFactory::fScale = G4ScaleZ3D(-1.0); //_____________________________________________________________________________ @@ -76,7 +76,8 @@ G4ReflectionFactory* G4ReflectionFactory::Instance() //_____________________________________________________________________________ G4ReflectionFactory::G4ReflectionFactory() - : fVerboseLevel(0) + : fVerboseLevel(0), + fNameExtension(fDefaultNameExtension) { // Protected singleton constructor. // --- @@ -455,7 +456,7 @@ void G4ReflectionFactory::ReflectPVReplica(G4VPhysicalVolume* dPV, //_____________________________________________________________________________ void G4ReflectionFactory::ReflectPVParameterised(G4VPhysicalVolume* dPV, - G4LogicalVolume* refLV) + G4LogicalVolume*) { // Not implemented. // Should copy and transform daughter of PVReplica type of @@ -570,7 +571,7 @@ void G4ReflectionFactory::CheckScale(const G4Scale3D& scale) const for (G4int j=0; j<4; j++) diff += abs(scale(i,j) - fScale(i,j)); - if (diff > kCarTolerance) + if (diff > kCarTolerance*10.) { G4cout << "ERROR - G4ReflectionFactory::CheckScale()" << G4endl << " Unexpected scale. Difference: " << diff << G4endl; @@ -580,16 +581,34 @@ void G4ReflectionFactory::CheckScale(const G4Scale3D& scale) const } } -void G4ReflectionFactory::SetVerboseLevel(G4int verboseLevel) +//_____________________________________________________________________________ + +void G4ReflectionFactory::SetVerboseLevel(G4int verboseLevel) { fVerboseLevel = verboseLevel; } +//_____________________________________________________________________________ + G4int G4ReflectionFactory::GetVerboseLevel() const { return fVerboseLevel; } +//_____________________________________________________________________________ + +void G4ReflectionFactory::SetVolumesNameExtension(const G4String& nameExtension) +{ + fNameExtension = nameExtension; +} + +//_____________________________________________________________________________ + +G4String G4ReflectionFactory::GetVolumesNameExtension() const +{ + return fNameExtension; +} + /* // placement with decomposed transformation diff --git a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc index cd80400437..7c5f19e483 100644 --- a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4SubtractionSolid.cc,v 1.17 2002/10/28 11:36:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation of methods for the class G4IntersectionSolid // diff --git a/source/geometry/solids/Boolean/src/G4UnionSolid.cc b/source/geometry/solids/Boolean/src/G4UnionSolid.cc index a79d9aea62..8bcd0e21bf 100644 --- a/source/geometry/solids/Boolean/src/G4UnionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4UnionSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4UnionSolid.cc,v 1.21 2002/10/28 11:36:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation of methods for the class G4IntersectionSolid // diff --git a/source/geometry/solids/CSG/History b/source/geometry/solids/CSG/History index be80cf06ae..227342cbfa 100644 --- a/source/geometry/solids/CSG/History +++ b/source/geometry/solids/CSG/History @@ -1,4 +1,4 @@ -$Id: History,v 1.52 2002/10/28 11:43:37 gcosmo Exp $ +$Id: History,v 1.53 2003/02/14 09:50:02 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Feb 03, 2003 G.Cosmo geom-csg-V05-00-00 +- G4Cons.cc: enhanced treatment of phi-sections, + according to algorithm used also in G4Tubs (V.Grichine). +- Updated unit tests. + Oct 28, 2002 G.Cosmo geom-csg-V04-01-01 - Added implementation of StreamInfo() to comply with new interface for G4VSolid in "geommng-V04-01-03". diff --git a/source/geometry/solids/CSG/include/G4Box.hh b/source/geometry/solids/CSG/include/G4Box.hh index d3a531b656..a1937dfa20 100644 --- a/source/geometry/solids/CSG/include/G4Box.hh +++ b/source/geometry/solids/CSG/include/G4Box.hh @@ -22,7 +22,7 @@ // // // $Id: G4Box.hh,v 1.8 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/solids/CSG/include/G4Box.icc b/source/geometry/solids/CSG/include/G4Box.icc index e1050165d5..813282ca94 100644 --- a/source/geometry/solids/CSG/include/G4Box.icc +++ b/source/geometry/solids/CSG/include/G4Box.icc @@ -22,7 +22,7 @@ // // // $Id: G4Box.icc,v 1.1 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4CSGSolid.hh b/source/geometry/solids/CSG/include/G4CSGSolid.hh index b1c1805835..f219c77006 100644 --- a/source/geometry/solids/CSG/include/G4CSGSolid.hh +++ b/source/geometry/solids/CSG/include/G4CSGSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4CSGSolid.hh,v 1.6 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Cons.hh b/source/geometry/solids/CSG/include/G4Cons.hh index c12a6b4f47..530fa6d559 100644 --- a/source/geometry/solids/CSG/include/G4Cons.hh +++ b/source/geometry/solids/CSG/include/G4Cons.hh @@ -22,7 +22,7 @@ // // // $Id: G4Cons.hh,v 1.7 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Cons.icc b/source/geometry/solids/CSG/include/G4Cons.icc index beefd0aa8b..4908bcba58 100644 --- a/source/geometry/solids/CSG/include/G4Cons.icc +++ b/source/geometry/solids/CSG/include/G4Cons.icc @@ -22,7 +22,7 @@ // // // $Id: G4Cons.icc,v 1.1 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Para.hh b/source/geometry/solids/CSG/include/G4Para.hh index 90a41ad351..5cf293b5cb 100644 --- a/source/geometry/solids/CSG/include/G4Para.hh +++ b/source/geometry/solids/CSG/include/G4Para.hh @@ -22,7 +22,7 @@ // // // $Id: G4Para.hh,v 1.8 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Para.icc b/source/geometry/solids/CSG/include/G4Para.icc index 02045af7da..5d1946c5bf 100644 --- a/source/geometry/solids/CSG/include/G4Para.icc +++ b/source/geometry/solids/CSG/include/G4Para.icc @@ -22,7 +22,7 @@ // // // $Id: G4Para.icc,v 1.1 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Sphere.hh b/source/geometry/solids/CSG/include/G4Sphere.hh index 905785f96f..d10f1e2956 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.hh +++ b/source/geometry/solids/CSG/include/G4Sphere.hh @@ -22,7 +22,7 @@ // // // $Id: G4Sphere.hh,v 1.7 2002/10/28 11:43:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Sphere.icc b/source/geometry/solids/CSG/include/G4Sphere.icc index 39ce97eea9..728a8fda1a 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.icc +++ b/source/geometry/solids/CSG/include/G4Sphere.icc @@ -22,7 +22,7 @@ // // // $Id: G4Sphere.icc,v 1.1 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Torus.hh b/source/geometry/solids/CSG/include/G4Torus.hh index d1741bf919..ee279c5728 100644 --- a/source/geometry/solids/CSG/include/G4Torus.hh +++ b/source/geometry/solids/CSG/include/G4Torus.hh @@ -22,7 +22,7 @@ // // // $Id: G4Torus.hh,v 1.14 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Torus.icc b/source/geometry/solids/CSG/include/G4Torus.icc index 27240c4e24..dd8e7ba4f4 100644 --- a/source/geometry/solids/CSG/include/G4Torus.icc +++ b/source/geometry/solids/CSG/include/G4Torus.icc @@ -22,7 +22,7 @@ // // // $Id: G4Torus.icc,v 1.1 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Trap.hh b/source/geometry/solids/CSG/include/G4Trap.hh index cc63766d7b..58ed349bbf 100644 --- a/source/geometry/solids/CSG/include/G4Trap.hh +++ b/source/geometry/solids/CSG/include/G4Trap.hh @@ -22,7 +22,7 @@ // // // $Id: G4Trap.hh,v 1.7 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Trap.icc b/source/geometry/solids/CSG/include/G4Trap.icc index 1e2af00365..17d74f8b68 100644 --- a/source/geometry/solids/CSG/include/G4Trap.icc +++ b/source/geometry/solids/CSG/include/G4Trap.icc @@ -22,7 +22,7 @@ // // // $Id: G4Trap.icc,v 1.1 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Trd.hh b/source/geometry/solids/CSG/include/G4Trd.hh index c72ba953ab..45dce13ad0 100644 --- a/source/geometry/solids/CSG/include/G4Trd.hh +++ b/source/geometry/solids/CSG/include/G4Trd.hh @@ -22,7 +22,7 @@ // // // $Id: G4Trd.hh,v 1.8 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Trd.icc b/source/geometry/solids/CSG/include/G4Trd.icc index f000c65ba9..b8eada457b 100644 --- a/source/geometry/solids/CSG/include/G4Trd.icc +++ b/source/geometry/solids/CSG/include/G4Trd.icc @@ -22,7 +22,7 @@ // // // $Id: G4Trd.icc,v 1.1 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Tubs.hh b/source/geometry/solids/CSG/include/G4Tubs.hh index 71934c18fc..e7fb81a087 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.hh +++ b/source/geometry/solids/CSG/include/G4Tubs.hh @@ -22,7 +22,7 @@ // // // $Id: G4Tubs.hh,v 1.7 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Tubs.icc b/source/geometry/solids/CSG/include/G4Tubs.icc index 54c5732784..9682bb076c 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.icc +++ b/source/geometry/solids/CSG/include/G4Tubs.icc @@ -22,7 +22,7 @@ // // // $Id: G4Tubs.icc,v 1.1 2002/10/28 11:43:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/src/G4Box.cc b/source/geometry/solids/CSG/src/G4Box.cc index 1aaac62cab..596368b444 100644 --- a/source/geometry/solids/CSG/src/G4Box.cc +++ b/source/geometry/solids/CSG/src/G4Box.cc @@ -22,7 +22,7 @@ // // // $Id: G4Box.cc,v 1.19 2002/10/28 15:18:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/geometry/solids/CSG/src/G4CSGSolid.cc b/source/geometry/solids/CSG/src/G4CSGSolid.cc index 888812a0b8..a38c3805b6 100644 --- a/source/geometry/solids/CSG/src/G4CSGSolid.cc +++ b/source/geometry/solids/CSG/src/G4CSGSolid.cc @@ -22,7 +22,7 @@ // // // $Id: G4CSGSolid.cc,v 1.4 2002/10/28 11:43:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4CSGSolid.hh" diff --git a/source/geometry/solids/CSG/src/G4Cons.cc b/source/geometry/solids/CSG/src/G4Cons.cc index ba056aecd5..a5e56c5527 100644 --- a/source/geometry/solids/CSG/src/G4Cons.cc +++ b/source/geometry/solids/CSG/src/G4Cons.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Cons.cc,v 1.23 2002/10/28 15:18:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Cons.cc,v 1.24 2003/02/03 14:22:01 grichine Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4Cons // @@ -192,34 +192,39 @@ EInside G4Cons::Inside(const G4ThreeVector& p) const pPhi = atan2(p.y(),p.x()) ; - if (pPhi < 0 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi - if (fSPhi >= 0) + if (pPhi < -kAngTolerance*0.5 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi + if ( fSPhi >= 0 ) { - if ( pPhi >= fSPhi + kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi - kAngTolerance*0.5 ) + if ( (abs(pPhi) < kAngTolerance*0.5) + && (abs(fSPhi + fDPhi - 2*M_PI) < kAngTolerance*0.5) ) + { + pPhi += 2*M_PI ; // 0 <= pPhi < 2pi + } + if ( (pPhi >= fSPhi + kAngTolerance*0.5) + && (pPhi <= fSPhi + fDPhi - kAngTolerance*0.5) ) { in = kInside ; } - else if ( pPhi >= fSPhi - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + kAngTolerance*0.5 ) + else if ( (pPhi >= fSPhi - kAngTolerance*0.5) + && (pPhi <= fSPhi + fDPhi + kAngTolerance*0.5) ) { in = kSurface ; } } - else + else // fSPhi < 0 { - if ( pPhi < fSPhi + 2*M_PI) pPhi += 2*M_PI ; - if ( pPhi >= fSPhi + 2*M_PI + kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + 2*M_PI - kAngTolerance*0.5 ) - { - in = kInside ; - } - else if ( pPhi >= fSPhi + 2*M_PI - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + 2*M_PI + kAngTolerance*0.5 ) + if ( (pPhi <= fSPhi + 2*M_PI - kAngTolerance*0.5) + && (pPhi >= fSPhi + fDPhi + kAngTolerance*0.5) ) ; + else if ( (pPhi <= fSPhi + 2*M_PI + kAngTolerance*0.5) + && (pPhi >= fSPhi + fDPhi - kAngTolerance*0.5) ) { in = kSurface ; } - } + else + { + in = kInside ; + } + } } } else // Try generous boundaries @@ -239,25 +244,31 @@ EInside G4Cons::Inside(const G4ThreeVector& p) const { pPhi = atan2(p.y(),p.x()) ; - if ( pPhi < 0 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi + if ( pPhi < -kAngTolerance*0.5 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( pPhi >= fSPhi - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + kAngTolerance*0.5 ) + if ( (abs(pPhi) < kAngTolerance*0.5) + && (abs(fSPhi + fDPhi - 2*M_PI) < kAngTolerance*0.5) ) + { + pPhi += 2*M_PI ; // 0 <= pPhi < 2pi + } + if ( (pPhi >= fSPhi - kAngTolerance*0.5) + && (pPhi <= fSPhi + fDPhi + kAngTolerance*0.5) ) { in = kSurface ; } } - else + else // fSPhi < 0 { - if ( pPhi < fSPhi + 2*M_PI) pPhi += 2*M_PI ; - if ( pPhi >= fSPhi + 2*M_PI - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + 2*M_PI + kAngTolerance*0.5 ) + if ( (pPhi <= fSPhi + 2*M_PI - kAngTolerance*0.5) + && (pPhi >= fSPhi + fDPhi + kAngTolerance*0.5) ) ; + else { in = kSurface ; } } - } + + } } } } @@ -289,25 +300,30 @@ EInside G4Cons::Inside(const G4ThreeVector& p) const else // Try outer tolerant phi boundaries { pPhi = atan2(p.y(),p.x()) ; - - if ( pPhi < 0 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi + if ( pPhi < -kAngTolerance*0.5 ) pPhi += 2*M_PI ; // 0<=pPhi<2pi if ( fSPhi >= 0 ) { - if ( pPhi >= fSPhi - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + kAngTolerance*0.5 ) + if ( (abs(pPhi) < kAngTolerance*0.5) + && (abs(fSPhi + fDPhi - 2*M_PI) < kAngTolerance*0.5) ) + { + pPhi += 2*M_PI ; // 0 <= pPhi < 2pi + } + if ( (pPhi >= fSPhi - kAngTolerance*0.5) + && (pPhi <= fSPhi + fDPhi + kAngTolerance*0.5) ) { - in = kSurface ; + in = kSurface; } } - else + else // fSPhi < 0 { - if ( pPhi < fSPhi + 2*M_PI) pPhi += 2*M_PI ; - if ( pPhi >= fSPhi + 2*M_PI - kAngTolerance*0.5 && - pPhi <= fSPhi + fDPhi + 2*M_PI + kAngTolerance*0.5 ) + if ( (pPhi <= fSPhi + 2*M_PI - kAngTolerance*0.5) + && (pPhi >= fSPhi + fDPhi + kAngTolerance*0.5) ) ; + else { in = kSurface ; } - } + } + } } } @@ -2020,10 +2036,14 @@ G4double G4Cons::DistanceToOut(const G4ThreeVector& p) const { G4cout.precision(16) ; G4cout << G4endl ; + DumpInfo(); G4cout << "Position:" << G4endl << G4endl ; G4cout << "p.x() = " << p.x()/mm << " mm" << G4endl ; G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; + G4cout << "pho at z = " << sqrt( p.x()*p.x()+p.y()*p.y() )/mm << " mm" + << G4endl << G4endl ; + G4cout << "G4Cons::DistanceToOut(p) - point p is outside ?!" << G4endl ; G4cerr << "G4Cons::DistanceToOut(p) - point p is outside ?!" << G4endl ; } diff --git a/source/geometry/solids/CSG/src/G4Para.cc b/source/geometry/solids/CSG/src/G4Para.cc index 18e9463b5d..c39e2d2a48 100644 --- a/source/geometry/solids/CSG/src/G4Para.cc +++ b/source/geometry/solids/CSG/src/G4Para.cc @@ -22,7 +22,7 @@ // // // $Id: G4Para.cc,v 1.13 2002/10/28 15:18:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4Para // diff --git a/source/geometry/solids/CSG/src/G4Sphere.cc b/source/geometry/solids/CSG/src/G4Sphere.cc index f4ca583bce..7db931cefb 100644 --- a/source/geometry/solids/CSG/src/G4Sphere.cc +++ b/source/geometry/solids/CSG/src/G4Sphere.cc @@ -22,7 +22,7 @@ // // // $Id: G4Sphere.cc,v 1.18 2002/10/28 15:18:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4Sphere // diff --git a/source/geometry/solids/CSG/src/G4Torus.cc b/source/geometry/solids/CSG/src/G4Torus.cc index a25b5ff607..572d6c7618 100644 --- a/source/geometry/solids/CSG/src/G4Torus.cc +++ b/source/geometry/solids/CSG/src/G4Torus.cc @@ -22,7 +22,7 @@ // // // $Id: G4Torus.cc,v 1.28 2002/10/28 15:18:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Torus diff --git a/source/geometry/solids/CSG/src/G4Trap.cc b/source/geometry/solids/CSG/src/G4Trap.cc index 49a792e313..3b5aebfa6e 100644 --- a/source/geometry/solids/CSG/src/G4Trap.cc +++ b/source/geometry/solids/CSG/src/G4Trap.cc @@ -22,7 +22,7 @@ // // // $Id: G4Trap.cc,v 1.16 2002/10/28 15:18:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4Trap // diff --git a/source/geometry/solids/CSG/src/G4Trd.cc b/source/geometry/solids/CSG/src/G4Trd.cc index b527c14632..2149459b94 100644 --- a/source/geometry/solids/CSG/src/G4Trd.cc +++ b/source/geometry/solids/CSG/src/G4Trd.cc @@ -22,7 +22,7 @@ // // // $Id: G4Trd.cc,v 1.12 2002/10/28 15:18:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Implementation for G4Trd class diff --git a/source/geometry/solids/CSG/src/G4Tubs.cc b/source/geometry/solids/CSG/src/G4Tubs.cc index 165fed0a73..a92b86c98d 100644 --- a/source/geometry/solids/CSG/src/G4Tubs.cc +++ b/source/geometry/solids/CSG/src/G4Tubs.cc @@ -22,7 +22,7 @@ // // // $Id: G4Tubs.cc,v 1.35 2002/10/28 15:18:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Tubs diff --git a/source/geometry/solids/STEP/include/classes.h b/source/geometry/solids/STEP/include/classes.h index 98e37d55b9..9109be00e4 100644 --- a/source/geometry/solids/STEP/include/classes.h +++ b/source/geometry/solids/STEP/include/classes.h @@ -6,7 +6,7 @@ // // $Id: classes.h,v 1.3 2000/01/21 13:42:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* ** Fed-x parser output module for generating C++ class definitions diff --git a/source/geometry/solids/STEPinterface/GNUmakefile b/source/geometry/solids/STEPinterface/GNUmakefile index e288e8aa81..eb6215bc74 100644 --- a/source/geometry/solids/STEPinterface/GNUmakefile +++ b/source/geometry/solids/STEPinterface/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.3 2002/07/04 16:15:28 gcosmo Exp $ +# $Id: GNUmakefile,v 1.4 2003/03/28 15:49:56 gcosmo Exp $ # ------------------------------------------------------------- # GNUmakefile for STEP library. Gabriele Cosmo, 15/11/96. # ------------------------------------------------------------- @@ -25,7 +25,7 @@ CPPFLAGS += \ # NIST STEP reader on gcc-2.95.X and later must be compiled in non-ANSI mode. # ifneq (,$(findstring g++,$(G4SYSTEM))) - ansi_options = -Wall -ansi -pedantic + ansi_options = -ansi -pedantic NCXX = $(filter-out $(ansi_options),$(CXXFLAGS)) NCPP = $(CPPFLAGS) CXXFLAGS := $(NCXX) diff --git a/source/geometry/solids/STEPinterface/History b/source/geometry/solids/STEPinterface/History index 2cb3caa701..226c84b9c4 100644 --- a/source/geometry/solids/STEPinterface/History +++ b/source/geometry/solids/STEPinterface/History @@ -1,4 +1,4 @@ -$Id: History,v 1.14 2002/11/21 16:50:13 gcosmo Exp $ +$Id: History,v 1.15 2003/03/28 15:50:13 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28th March 2003 Gabriele Cosmo (stepinterface-V05-00-00) +- Cleared trivial strict pedantic warnings. + 21st November 2002 Gabriele Cosmo (stepinterface-V04-01-01) - Made all static inline methods not inlined, to allow porting on Windows DLLs. diff --git a/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh index 3406319ee6..f3888304fe 100644 --- a/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AdvancedBrepShapeRepresentationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4AdvancedBrepShapeRepresentationCreator.hh,v 1.5 2002/11/21 16:49:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AdvancedBrepShapeRepresentationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh index 30eeadd729..77d092a938 100644 --- a/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AdvancedFaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4AdvancedFaceCreator.hh,v 1.5 2002/11/21 16:49:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AdvancedFaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh b/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh index 48270be707..24ff5f5e8e 100644 --- a/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4AssemblyCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4AssemblyCreator.hh,v 1.5 2002/11/21 16:49:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AssemblyCreator diff --git a/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh index c12b5822f3..ca936ba3f7 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis1PlacementCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis1PlacementCreator.hh,v 1.5 2002/11/21 16:49:42 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis1PlacementCreator diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh index 78290fbc41..600ad0661f 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2Placement2dCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement2dCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement2dCreator diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh index 5b499a3cfc..5267e9fdad 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2Placement3dCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement3dCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3dCreator diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh index 824ab21919..28a232d540 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis2PlacementCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementCreator diff --git a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh index ee0783d006..bb84a092e8 100644 --- a/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4Axis2PlacementsCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Axis2PlacementsCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementsCreator diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh index 63b31d1f64..58123aa807 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineCurveWithKnotsCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineCurveWithKnotsCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnotsCreator diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh index dcfad27890..a9f7f92253 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineSurfaceCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh index 16de11b661..a0985bae1b 100644 --- a/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BSplineSurfaceWithKnotsCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4BSplineSurfaceWithKnotsCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceWithKnotsCreator diff --git a/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh index d129138c08..00444a9ae3 100644 --- a/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4BoundedSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4BoundedSurfaceCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BoundedSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh b/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh index 5d6b79f731..32e6ce6818 100644 --- a/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CartesianPointCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4CartesianPointCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CartesianPointCreator diff --git a/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh b/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh index 5746c8f41d..4b13acc11b 100644 --- a/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CircleCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4CircleCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CircleCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh b/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh index 0cda8f1a44..f4180271ec 100644 --- a/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ClosedShellCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ClosedShellCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ClosedShellCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh index 1bc6b8f501..137bef4942 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConicCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConicCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConicCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh index 921b3db535..1ad9f46f83 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConicalSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConicalSurfaceCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh b/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh index ed3ac002af..09a3e3c556 100644 --- a/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ConnectedFaceSetCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConnectedFaceSetCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConnectedFaceSetCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh index b91a4f785f..5c6cbdee06 100644 --- a/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ContextDependentShapeRepresentationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ContextDependentShapeRepresentationCreator.hh,v 1.5 2002/11/21 16:49:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ContextDependentShapeRepresentationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh index 107383fbcc..b0c7b58eb7 100644 --- a/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CurveCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4CurveCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CurveCreator diff --git a/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh index 065e2cda4a..c1f27b569e 100644 --- a/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4CylindricalSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4CylindricalSurfaceCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh b/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh index 390817cfcd..5f1814f728 100644 --- a/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4DirectionCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4DirectionCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4DirectionCreator diff --git a/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh index 57de0ee9d2..8fc3e02ca8 100644 --- a/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EdgeCurveCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4EdgeCurveCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EdgeCurveCreator diff --git a/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh b/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh index 3b9a050d0c..d8548f2a90 100644 --- a/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EdgeLoopCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4EdgeLoopCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EdgeLoopCreator diff --git a/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh b/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh index c6555c03ea..aa1881906f 100644 --- a/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4EllipseCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4EllipseCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EllipseCreator diff --git a/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh index 5bb0627806..9c172cabe9 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceBoundCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4FaceBoundCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceBoundCreator diff --git a/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh index 7f4d466388..76f9cfaf4b 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceOuterBoundCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4FaceOuterBoundCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceOuterBoundCreator diff --git a/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh index 22c123151d..e51ef42cfc 100644 --- a/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4FaceSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4FaceSurfaceCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh b/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh index 7c97510361..16bf38cf4c 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometricRepresentationContextCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometricRepresentationContextCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometricRepresentationContextCreator diff --git a/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh b/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh index 6ab9d1c75e..c45b69bac0 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometryCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCreator.hh,v 1.7 2001/07/11 10:00:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryCreator diff --git a/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh b/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh index f9c7a679c7..e7bd1d177b 100644 --- a/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh +++ b/source/geometry/solids/STEPinterface/include/G4GeometryTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeometryTable.hh,v 1.7 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometryTable diff --git a/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh b/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh index e991823f6f..115c65373f 100644 --- a/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4HyperbolaCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4HyperbolaCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4HyperbolaCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh index e466411742..fde8e0c90d 100644 --- a/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ItemDefinedTransformationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ItemDefinedTransformationCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ItemDefinedTransformationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4LineCreator.hh b/source/geometry/solids/STEPinterface/include/G4LineCreator.hh index b594663311..d9ea1c6505 100644 --- a/source/geometry/solids/STEPinterface/include/G4LineCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4LineCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4LineCreator.hh,v 1.5 2002/11/21 16:49:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4LineCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh b/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh index 21171acea4..d68573b619 100644 --- a/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ManifoldSolidBrepCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ManifoldSolidBrepCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ManifoldSolidBrepCreator diff --git a/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh b/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh index 5109592313..225b66ca7d 100644 --- a/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh +++ b/source/geometry/solids/STEPinterface/include/G4NISTStepReader.hh @@ -22,7 +22,7 @@ // // // $Id: G4NISTStepReader.hh,v 1.5 2001/07/11 10:00:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4NISTStepReader diff --git a/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh b/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh index 1596258ae4..2a8b872031 100644 --- a/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4OpenShellCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenShellCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4OpenShellCreator diff --git a/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh b/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh index cd76a3118c..8b0e1a9de5 100644 --- a/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4OrientedEdgeCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4OrientedEdgeCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4OrientedEdgeCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh b/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh index f63b141f16..6cc6765155 100644 --- a/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ParabolaCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParabolaCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParabolaCreator diff --git a/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh b/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh index 5426b6618a..330e14eebe 100644 --- a/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PlaneCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PlaneCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PlaneCreator diff --git a/source/geometry/solids/STEPinterface/include/G4PointCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointCreator.hh index 1c989291d6..f0510edfa0 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PointCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PointCreator diff --git a/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh index ca1e42ac64..45d0b3b10b 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointOnCurveCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PointOnCurveCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PointOnCurveCreator diff --git a/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh index 1906378411..326644b211 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointOnSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PointOnSurfaceCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PointOnSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh b/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh index bc042a99bf..1bfadfc83e 100644 --- a/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4PointReplicaCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PointReplicaCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PointReplicaCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh b/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh index 728e756f2b..d8f4cdd277 100644 --- a/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ProductDefinitionShapeCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProductDefinitionShapeCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ProductDefinitionShapeCreator diff --git a/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh index 152cca2dd5..ec8f93a621 100644 --- a/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RationalBSplineSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4RationalBSplineSurfaceCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4RationalBSplineSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh index c9ca74c4aa..bedf24d52b 100644 --- a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4RepresentationRelationshipCreator.hh,v 1.6 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4RepresentationRelationshipCreator diff --git a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh index dae5067dbf..cf6c3fa298 100644 --- a/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4RepresentationRelationshipWithTransformationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4RepresentationRelationshipWithTransformationCreator.hh,v 1.5 2002/11/21 16:49:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4RepresentationRelationshipWithTransformationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh index 476322eee5..503182147f 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeDefinitionRepresentationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShapeDefinitionRepresentationCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ShapeDefinitionRepresentationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh index b796c69782..857b1241ba 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShapeRepresentationCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ShapeRepresentationCreator diff --git a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh index f498f8a7ee..165cc878ad 100644 --- a/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ShapeRepresentationRelationshipCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShapeRepresentationRelationshipCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ShapeRepresentationRelationshipCreator diff --git a/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh index b3dafd9b26..3edb991f49 100644 --- a/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4SphericalSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4SphericalSurfaceCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4SphericalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh b/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh index 72fd889c6b..faad430500 100644 --- a/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh +++ b/source/geometry/solids/STEPinterface/include/G4StepFileReader.hh @@ -22,7 +22,7 @@ // // // $Id: G4StepFileReader.hh,v 1.5 2001/07/11 10:00:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4StepFileReader diff --git a/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh b/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh index f6930d07bc..c55223a229 100644 --- a/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4ToroidalSurfaceCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ToroidalSurfaceCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ToroidalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh b/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh index a2e859104c..8b63fd70d5 100644 --- a/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4VectorCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4VectorCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VectorCreator diff --git a/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh b/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh index f6071ea83d..994bea5d8f 100644 --- a/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh +++ b/source/geometry/solids/STEPinterface/include/G4VertexPointCreator.hh @@ -22,7 +22,7 @@ // // // $Id: G4VertexPointCreator.hh,v 1.5 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VertexPointCreator diff --git a/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc index f1f34b3c42..5b21bce0de 100644 --- a/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AdvancedBrepShapeRepresentationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AdvancedBrepShapeRepresentationCreator.cc,v 1.7 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AdvancedBrepShapeRepresentationCreator.cc,v 1.8 2003/03/28 15:47:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AdvancedBrepShapeRepresentationCreator @@ -133,6 +133,6 @@ void G4AdvancedBrepShapeRepresentationCreator::CreateG4Geometry(STEPentity& sEnt } -void G4AdvancedBrepShapeRepresentationCreator::CreateSTEPGeometry(void* G4obj) +void G4AdvancedBrepShapeRepresentationCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc index bc4d894beb..91ba7e7146 100644 --- a/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AdvancedFaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AdvancedFaceCreator.cc,v 1.6 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AdvancedFaceCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AdvancedFaceCreator @@ -122,6 +122,6 @@ void G4AdvancedFaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject= srf; } -void G4AdvancedFaceCreator::CreateSTEPGeometry(void* G4obj) +void G4AdvancedFaceCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc b/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc index d3a6d13fd2..23b9b2e3fe 100644 --- a/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4AssemblyCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AssemblyCreator.cc,v 1.11 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AssemblyCreator.cc,v 1.12 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4AssemblyCreator @@ -57,6 +57,7 @@ G4AssemblyCreator G4AssemblyCreator::GetInstance() } G4AssemblyCreator::G4AssemblyCreator(const G4AssemblyCreator& c) + : G4GeometryCreator() { index = c.index; StepReader = c.StepReader; @@ -99,7 +100,7 @@ void G4AssemblyCreator::ReadStepFile() instanceManager = StepReader->GetInstanceManager(); } -void G4AssemblyCreator::CreateG4Geometry(STEPentity& sEntity) +void G4AssemblyCreator::CreateG4Geometry(STEPentity&) { G4cout << G4endl << "Creating assembly of G4 solids ..." << G4endl; diff --git a/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc index b443e4de59..d2adcaebf3 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis1PlacementCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Axis1PlacementCreator.cc,v 1.4 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Axis1PlacementCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis1PlacementCreator @@ -51,10 +51,10 @@ G4Axis1PlacementCreator G4Axis1PlacementCreator::GetInstance() return csc; } -void G4Axis1PlacementCreator::CreateG4Geometry(STEPentity& Ent) +void G4Axis1PlacementCreator::CreateG4Geometry(STEPentity&) { } -void G4Axis1PlacementCreator::CreateSTEPGeometry(void* G4obj) +void G4Axis1PlacementCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc index 938cd486ab..f137828c32 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2Placement2dCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Axis2Placement2dCreator.cc,v 1.4 2002/11/21 16:49:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Axis2Placement2dCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement2dCreator @@ -51,10 +51,10 @@ G4Axis2Placement2dCreator G4Axis2Placement2dCreator::GetInstance() return csc; } -void G4Axis2Placement2dCreator::CreateG4Geometry(STEPentity& Ent) +void G4Axis2Placement2dCreator::CreateG4Geometry(STEPentity&) { } -void G4Axis2Placement2dCreator::CreateSTEPGeometry(void* G4obj) +void G4Axis2Placement2dCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc index 0519745715..9165cd5dee 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2Placement3dCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4Axis2Placement3dCreator.cc,v 1.7 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3dCreator diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc index ac0c0cda6d..c4b6ef1c73 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Axis2PlacementCreator.cc,v 1.4 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Axis2PlacementCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementCreator @@ -51,10 +51,10 @@ G4Axis2PlacementCreator G4Axis2PlacementCreator::GetInstance() return csc; } -void G4Axis2PlacementCreator::CreateG4Geometry(STEPentity& Ent) +void G4Axis2PlacementCreator::CreateG4Geometry(STEPentity&) { } -void G4Axis2PlacementCreator::CreateSTEPGeometry(void* G4obj) +void G4Axis2PlacementCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc index 576243c7bd..91425ddf1d 100644 --- a/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4Axis2PlacementsCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Axis2PlacementsCreator.cc,v 1.5 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Axis2PlacementsCreator.cc,v 1.6 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4Axis2PlacementsCreator @@ -53,10 +53,10 @@ G4Axis2PlacementsCreator G4Axis2PlacementsCreator::GetInstance() return csc; } -void G4Axis2PlacementsCreator::CreateG4Geometry(STEPentity& Ent) +void G4Axis2PlacementsCreator::CreateG4Geometry(STEPentity&) { } -void G4Axis2PlacementsCreator::CreateSTEPGeometry(void* G4obj) +void G4Axis2PlacementsCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc b/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc index 248ccb8a30..53a30f1451 100644 --- a/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BSplineCurveWithKnotsCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineCurveWithKnotsCreator.cc,v 1.8 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineCurveWithKnotsCreator.cc,v 1.9 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnotsCreator @@ -237,6 +237,6 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) createdObject = bSpline; } -void G4BSplineCurveWithKnotsCreator::CreateSTEPGeometry(void* G4obj) +void G4BSplineCurveWithKnotsCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc index 38c81dd0b8..1c6f9985c1 100644 --- a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineSurfaceCreator.cc,v 1.6 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineSurfaceCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceCreator @@ -139,11 +139,6 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject = bSpline; } - - - -void G4BSplineSurfaceCreator::CreateSTEPGeometry(void* G4obj) +void G4BSplineSurfaceCreator::CreateSTEPGeometry(void*) { - } - diff --git a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceWithKnotsCreator.cc b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceWithKnotsCreator.cc index 68be602643..eb3a6f9fa7 100644 --- a/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceWithKnotsCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BSplineSurfaceWithKnotsCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BSplineSurfaceWithKnotsCreator.cc,v 1.6 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BSplineSurfaceWithKnotsCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceWithKnotsCreator @@ -269,9 +269,8 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent) createdObject = 0; G4cerr << "\tG4BSplineSurface not created !" << G4endl; } - } -void G4BSplineSurfaceWithKnotsCreator::CreateSTEPGeometry(void* G4obj) +void G4BSplineSurfaceWithKnotsCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4BoundedSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4BoundedSurfaceCreator.cc index dcdbbfad82..5db54a63c9 100644 --- a/source/geometry/solids/STEPinterface/src/G4BoundedSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4BoundedSurfaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BoundedSurfaceCreator.cc,v 1.7 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BoundedSurfaceCreator.cc,v 1.8 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4BoundedSurfaceCreator @@ -306,6 +306,6 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject = bSplineSrf; } -void G4BoundedSurfaceCreator::CreateSTEPGeometry(void * G4obj) +void G4BoundedSurfaceCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc b/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc index 89480f0aa3..4b7613f351 100644 --- a/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CartesianPointCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4CartesianPointCreator.cc,v 1.4 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CartesianPointCreator diff --git a/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc b/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc index 8923609877..e777777a8a 100644 --- a/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CircleCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CircleCreator.cc,v 1.5 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CircleCreator.cc,v 1.6 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CircleCreator @@ -87,6 +87,6 @@ void G4CircleCreator::CreateG4Geometry(STEPentity& Ent) createdObject = circle; } -void G4CircleCreator::CreateSTEPGeometry(void* G4obj) +void G4CircleCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc b/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc index dd30398358..5fb994eb65 100644 --- a/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ClosedShellCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4ClosedShellCreator.cc,v 1.8 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ClosedShellCreator diff --git a/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc index e8c3e72165..ac4cb064fb 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConicCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ConicCreator.cc,v 1.5 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ConicCreator.cc,v 1.6 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConicCreator @@ -64,7 +64,6 @@ void G4ConicCreator::CreateG4Geometry(STEPentity& Ent) } - -void G4ConicCreator::CreateSTEPGeometry(void* G4obj) +void G4ConicCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc index f612fb21ba..8b01355186 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConicalSurfaceCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4ConicalSurfaceCreator.cc,v 1.5 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc b/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc index 3baf783988..db34b24e9b 100644 --- a/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ConnectedFaceSetCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ConnectedFaceSetCreator.cc,v 1.4 2002/11/21 16:49:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ConnectedFaceSetCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ConnectedFaceSetCreator @@ -51,10 +51,10 @@ G4ConnectedFaceSetCreator G4ConnectedFaceSetCreator::GetInstance() return csc; } -void G4ConnectedFaceSetCreator::CreateG4Geometry(STEPentity& Ent) +void G4ConnectedFaceSetCreator::CreateG4Geometry(STEPentity&) { } -void G4ConnectedFaceSetCreator::CreateSTEPGeometry(void* G4obj) +void G4ConnectedFaceSetCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc index 2904a55f3b..18e8aca90c 100644 --- a/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ContextDependentShapeRepresentationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ContextDependentShapeRepresentationCreator.cc,v 1.5 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ContextDependentShapeRepresentationCreator.cc,v 1.6 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ContextDependentShapeRepresentationCreator @@ -79,7 +79,6 @@ void G4ContextDependentShapeRepresentationCreator:: createdObject = psV; } -void G4ContextDependentShapeRepresentationCreator:: - CreateSTEPGeometry(void* obj) +void G4ContextDependentShapeRepresentationCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc index b6e8d3f546..0a45b572e4 100644 --- a/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CurveCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CurveCreator.cc,v 1.4 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CurveCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CurveCreator @@ -51,6 +51,6 @@ G4CurveCreator G4CurveCreator::GetInstance() return csc; } -void G4CurveCreator::CreateG4Geometry(STEPentity& Ent) {} +void G4CurveCreator::CreateG4Geometry(STEPentity&) {} -void G4CurveCreator::CreateSTEPGeometry(void* G4obj) {} +void G4CurveCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc index 9fdb36fa67..f0e25eed24 100644 --- a/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4CylindricalSurfaceCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4CylindricalSurfaceCreator.cc,v 1.5 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurfaceCreator diff --git a/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc b/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc index 657f6d4da6..9b9c2b1a0d 100644 --- a/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4DirectionCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4DirectionCreator.cc,v 1.4 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4DirectionCreator diff --git a/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc index 8e5ab92c3a..fb769b9216 100644 --- a/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EdgeCurveCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EdgeCurveCreator.cc,v 1.6 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EdgeCurveCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EdgeCurveCreator @@ -111,5 +111,4 @@ void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent) createdObject = crv; } - -void G4EdgeCurveCreator::CreateSTEPGeometry(void* G4obj) {} +void G4EdgeCurveCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc b/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc index e97a86b7a5..7c4e99def8 100644 --- a/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EdgeLoopCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EdgeLoopCreator.cc,v 1.6 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EdgeLoopCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EdgeLoopCreator @@ -80,6 +80,6 @@ void G4EdgeLoopCreator::CreateG4Geometry(STEPentity& Ent) createdObject = CurveVec; } -void G4EdgeLoopCreator::CreateSTEPGeometry(void* G4obj) +void G4EdgeLoopCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc b/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc index 2fef4a259b..57c4f9fe50 100644 --- a/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4EllipseCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EllipseCreator.cc,v 1.5 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EllipseCreator.cc,v 1.6 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4EllipseCreator @@ -81,6 +81,6 @@ void G4EllipseCreator::CreateG4Geometry(STEPentity& Ent) semi2 = *Attr->ptr.r; } -void G4EllipseCreator::CreateSTEPGeometry(void* G4obj) +void G4EllipseCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc index 405f75a996..d6bd63c6d9 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceBoundCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FaceBoundCreator.cc,v 1.6 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FaceBoundCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceBoundCreator @@ -75,6 +75,6 @@ void G4FaceBoundCreator::CreateG4Geometry(STEPentity& Ent) createdObject = crv; } -void G4FaceBoundCreator::CreateSTEPGeometry(void* G4obj) +void G4FaceBoundCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc index aefed88166..6ca41c3257 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceOuterBoundCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FaceOuterBoundCreator.cc,v 1.4 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FaceOuterBoundCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceOuterBoundCreator @@ -51,6 +51,6 @@ G4FaceOuterBoundCreator::G4FaceOuterBoundCreator() G4FaceOuterBoundCreator::~G4FaceOuterBoundCreator() {} -void G4FaceOuterBoundCreator::CreateSTEPGeometry(void* G4obj) +void G4FaceOuterBoundCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc index ac6c2db852..e538dc6ab7 100644 --- a/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4FaceSurfaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FaceSurfaceCreator.cc,v 1.6 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FaceSurfaceCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4FaceSurfaceCreator @@ -71,6 +71,6 @@ void G4FaceSurfaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject = srf; } -void G4FaceSurfaceCreator::CreateSTEPGeometry(void* G4obj) +void G4FaceSurfaceCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc b/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc index b94b82ec2c..530427fc5e 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometricRepresentationContextCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GeometricRepresentationContextCreator.cc,v 1.6 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GeometricRepresentationContextCreator.cc,v 1.7 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4GeometricRepresentationContextCreator @@ -71,6 +71,6 @@ void G4GeometricRepresentationContextCreator::CreateG4Geometry(STEPentity& Ent) } -void G4GeometricRepresentationContextCreator::CreateSTEPGeometry(void* G4obj) +void G4GeometricRepresentationContextCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc b/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc index dd8058f99d..295e2e3609 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometryCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryCreator.cc,v 1.6 2001/07/11 10:00:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc b/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc index 6f7aed8535..960686b1ef 100644 --- a/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc +++ b/source/geometry/solids/STEPinterface/src/G4GeometryTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeometryTable.cc,v 1.10 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc b/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc index 5cc7c9459d..241a67e503 100644 --- a/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4HyperbolaCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4HyperbolaCreator.cc,v 1.4 2002/11/21 16:49:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4HyperbolaCreator.cc,v 1.5 2003/03/28 15:47:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -82,6 +82,6 @@ void G4HyperbolaCreator::CreateG4Geometry(STEPentity& Ent) semi_imag = *Attr->ptr.r; } -void G4HyperbolaCreator::CreateSTEPGeometry(void* G4obj) +void G4HyperbolaCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc index ca59e926e6..e5057ce023 100644 --- a/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ItemDefinedTransformationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ItemDefinedTransformationCreator.cc,v 1.6 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ItemDefinedTransformationCreator.cc,v 1.7 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -94,6 +94,6 @@ void G4ItemDefinedTransformationCreator::CreateG4Geometry(STEPentity& Ent) createdObject = places; } -void G4ItemDefinedTransformationCreator::CreateSTEPGeometry(void* G4obj) +void G4ItemDefinedTransformationCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4LineCreator.cc b/source/geometry/solids/STEPinterface/src/G4LineCreator.cc index 1df60006d0..adb30a294d 100644 --- a/source/geometry/solids/STEPinterface/src/G4LineCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4LineCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LineCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LineCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -90,6 +90,6 @@ void G4LineCreator::CreateG4Geometry(STEPentity& Ent) createdObject = line; } -void G4LineCreator::CreateSTEPGeometry(void* G4obj) +void G4LineCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc b/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc index 575aad359c..ae71566356 100644 --- a/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ManifoldSolidBrepCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ManifoldSolidBrepCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ManifoldSolidBrepCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -72,6 +72,6 @@ void G4ManifoldSolidBrepCreator::CreateG4Geometry(STEPentity& Ent) createdObject = sld; } -void G4ManifoldSolidBrepCreator::CreateSTEPGeometry(void* G4obj) +void G4ManifoldSolidBrepCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc b/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc index a8ca29b4ac..133b909fd3 100644 --- a/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc +++ b/source/geometry/solids/STEPinterface/src/G4NISTStepReader.cc @@ -22,7 +22,7 @@ // // // $Id: G4NISTStepReader.cc,v 1.5 2001/07/11 10:00:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc b/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc index a844beb66a..80131f1631 100644 --- a/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4OpenShellCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OpenShellCreator.cc,v 1.4 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OpenShellCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -52,10 +52,10 @@ G4OpenShellCreator G4OpenShellCreator::GetInstance() return csc; } -void G4OpenShellCreator::CreateG4Geometry(STEPentity& Ent) +void G4OpenShellCreator::CreateG4Geometry(STEPentity&) { } -void G4OpenShellCreator::CreateSTEPGeometry(void* G4obj) +void G4OpenShellCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc b/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc index 3d204ab70a..14cebf7404 100644 --- a/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4OrientedEdgeCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OrientedEdgeCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OrientedEdgeCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -81,6 +81,6 @@ void G4OrientedEdgeCreator::CreateG4Geometry(STEPentity& Ent) createdObject = crv; } -void G4OrientedEdgeCreator::CreateSTEPGeometry(void* G4obj) +void G4OrientedEdgeCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc b/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc index 31a408482d..8123036389 100644 --- a/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ParabolaCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParabolaCreator.cc,v 1.4 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParabolaCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -80,6 +80,6 @@ void G4ParabolaCreator::CreateG4Geometry(STEPentity& Ent) } -void G4ParabolaCreator::CreateSTEPGeometry(void* G4obj) +void G4ParabolaCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc b/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc index 03e5e62a55..b73c9cda25 100644 --- a/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PlaneCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PlaneCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PlaneCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -86,7 +86,7 @@ void G4PlaneCreator::CreateG4Geometry(STEPentity& Ent) createdObject = fplane; } -void G4PlaneCreator::CreateSTEPGeometry(void* G4obj) +void G4PlaneCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4PointCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointCreator.cc index a1273de954..4215569082 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PointCreator.cc,v 1.4 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PointCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -52,6 +52,6 @@ G4PointCreator G4PointCreator::GetInstance() return csc; } -void G4PointCreator::CreateG4Geometry(STEPentity& Ent) {} +void G4PointCreator::CreateG4Geometry(STEPentity&) {} -void G4PointCreator::CreateSTEPGeometry(void* G4obj) {} +void G4PointCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc index f46a81e655..9c1f353393 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointOnCurveCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PointOnCurveCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PointOnCurveCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -78,4 +78,4 @@ void G4PointOnCurveCreator::CreateG4Geometry(STEPentity& Ent) createdObject = new G4double(pval); } -void G4PointOnCurveCreator::CreateSTEPGeometry(void* G4obj) {} +void G4PointOnCurveCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc index 547d5c7b7a..c6487cb977 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointOnSurfaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PointOnSurfaceCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PointOnSurfaceCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -85,4 +85,4 @@ void G4PointOnSurfaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject = dtmp; } -void G4PointOnSurfaceCreator::CreateSTEPGeometry(void* G4obj) {} +void G4PointOnSurfaceCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc b/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc index ee137b80bb..2e18997bd2 100644 --- a/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4PointReplicaCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PointReplicaCreator.cc,v 1.4 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PointReplicaCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -52,6 +52,6 @@ G4PointReplicaCreator G4PointReplicaCreator::GetInstance() return csc; } -void G4PointReplicaCreator::CreateG4Geometry(STEPentity& Ent) {} +void G4PointReplicaCreator::CreateG4Geometry(STEPentity&) {} -void G4PointReplicaCreator::CreateSTEPGeometry(void* G4obj) {} +void G4PointReplicaCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc b/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc index ce45557788..895d23ee7c 100644 --- a/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ProductDefinitionShapeCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProductDefinitionShapeCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProductDefinitionShapeCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -73,6 +73,6 @@ void G4ProductDefinitionShapeCreator::CreateG4Geometry(STEPentity& Ent) // place = (G4Axis2Placement3D*)tmp; } -void G4ProductDefinitionShapeCreator::CreateSTEPGeometry(void* G4obj) +void G4ProductDefinitionShapeCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc index 89414ae3d9..41ca2c2f0b 100644 --- a/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RationalBSplineSurfaceCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RationalBSplineSurfaceCreator.cc,v 1.5 2002/11/21 16:49:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RationalBSplineSurfaceCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -302,6 +302,6 @@ void G4RationalBSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent) createdObject = bSpline; } -void G4RationalBSplineSurfaceCreator::CreateSTEPGeometry(void* G4obj) +void G4RationalBSplineSurfaceCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc index 53a5ea24ca..f4ab6d1125 100644 --- a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RepresentationRelationshipCreator.cc,v 1.9 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RepresentationRelationshipCreator.cc,v 1.10 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -159,8 +159,8 @@ void G4RepresentationRelationshipCreator::CreateG4Geometry(STEPentity& Ent) // All this needs to be reviewed ! - GC // G4Axis2Placement3D* place = (G4Axis2Placement3D*)((*places)[0]); - G4int entr = tmpsldV->size(); - for(G4int a = 0; a < entr; a++) + size_t entr = tmpsldV->size(); + for(size_t a = 0; a < entr; a++) { if ((0 < a) && (a < places->size())) place = (G4Axis2Placement3D*)((*places)[a]); @@ -180,6 +180,6 @@ void G4RepresentationRelationshipCreator::CreateG4Geometry(STEPentity& Ent) createdObject = sldV; } -void G4RepresentationRelationshipCreator::CreateSTEPGeometry(void* G4obj) +void G4RepresentationRelationshipCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc index 05a89bde45..f167b9760c 100644 --- a/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4RepresentationRelationshipWithTransformationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RepresentationRelationshipWithTransformationCreator.cc,v 1.4 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RepresentationRelationshipWithTransformationCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -57,11 +57,11 @@ G4RepresentationRelationshipWithTransformationCreator::GetInstance() } void G4RepresentationRelationshipWithTransformationCreator:: - CreateG4Geometry(STEPentity& Ent) + CreateG4Geometry(STEPentity&) { } void G4RepresentationRelationshipWithTransformationCreator:: - CreateSTEPGeometry(void * G4obj) + CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc index f1002e9c2f..0f85c2d13e 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeDefinitionRepresentationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ShapeDefinitionRepresentationCreator.cc,v 1.7 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ShapeDefinitionRepresentationCreator.cc,v 1.8 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -93,6 +93,6 @@ void G4ShapeDefinitionRepresentationCreator::CreateG4Geometry(STEPentity& Ent) */ } -void G4ShapeDefinitionRepresentationCreator::CreateSTEPGeometry(void* G4obj) +void G4ShapeDefinitionRepresentationCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc index 26921de9d4..4e75c6944d 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ShapeRepresentationCreator.cc,v 1.6 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ShapeRepresentationCreator.cc,v 1.7 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -98,6 +98,6 @@ void G4ShapeRepresentationCreator::CreateG4Geometry(STEPentity& Ent) createdObject = placements; } -void G4ShapeRepresentationCreator::CreateSTEPGeometry(void* G4obj) +void G4ShapeRepresentationCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc index 6a3a072a1f..c8b39ad949 100644 --- a/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ShapeRepresentationRelationshipCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ShapeRepresentationRelationshipCreator.cc,v 1.4 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ShapeRepresentationRelationshipCreator.cc,v 1.5 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -56,10 +56,10 @@ G4ShapeRepresentationRelationshipCreator::GetInstance() return csc; } -void G4ShapeRepresentationRelationshipCreator::CreateG4Geometry(STEPentity& Ent) +void G4ShapeRepresentationRelationshipCreator::CreateG4Geometry(STEPentity&) { } -void G4ShapeRepresentationRelationshipCreator::CreateSTEPGeometry(void* G4obj) +void G4ShapeRepresentationRelationshipCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc index a4b5171d93..64075502a8 100644 --- a/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4SphericalSurfaceCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4SphericalSurfaceCreator.cc,v 1.5 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc b/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc index 3bc1f7cf10..b99b9024f1 100644 --- a/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4ToroidalSurfaceCreator.cc @@ -22,7 +22,7 @@ // // // $Id: G4ToroidalSurfaceCreator.cc,v 1.5 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc b/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc index 23b8ec216b..1199041f74 100644 --- a/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4VectorCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VectorCreator.cc,v 1.5 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VectorCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -83,6 +83,6 @@ void G4VectorCreator::CreateG4Geometry(STEPentity& Ent) createdObject = vec; } -void G4VectorCreator::CreateSTEPGeometry(void* G4obj) +void G4VectorCreator::CreateSTEPGeometry(void*) { } diff --git a/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc b/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc index 5f9b643a16..d5f22e829c 100644 --- a/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc +++ b/source/geometry/solids/STEPinterface/src/G4VertexPointCreator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VertexPointCreator.cc,v 1.5 2002/11/21 16:49:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VertexPointCreator.cc,v 1.6 2003/03/28 15:47:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -71,4 +71,4 @@ void G4VertexPointCreator::CreateG4Geometry(STEPentity& Ent) createdObject = point; } -void G4VertexPointCreator::CreateSTEPGeometry(void* G4obj) {} +void G4VertexPointCreator::CreateSTEPGeometry(void*) {} diff --git a/source/geometry/solids/specific/History b/source/geometry/solids/specific/History index ec92a5999a..34958be69f 100644 --- a/source/geometry/solids/specific/History +++ b/source/geometry/solids/specific/History @@ -1,4 +1,4 @@ -$Id: History,v 1.23 2002/10/30 13:53:19 gcosmo Exp $ +$Id: History,v 1.24 2003/03/28 09:53:04 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28-Mar-2003, G.Cosmo (geom-specific-V05-00-00) +- Fixed initialisation of base class in copy contructor for: + G4PolyPhiFace, G4PolyconeSide, G4PolyhedraSide. +- Fixed trivial pedantic warnings on G4Polycone and G4Polyhedra. + 30-Oct-2002, G.Cosmo (geom-specific-V04-01-01) - Fixed un-initialised data members in constructors of classes: G4ClippablePolygon, G4EnclosingCylinder, G4PolyconeSide, diff --git a/source/geometry/solids/specific/include/G4ClippablePolygon.hh b/source/geometry/solids/specific/include/G4ClippablePolygon.hh index 3da7c4e8ba..0898a66b75 100644 --- a/source/geometry/solids/specific/include/G4ClippablePolygon.hh +++ b/source/geometry/solids/specific/include/G4ClippablePolygon.hh @@ -22,7 +22,7 @@ // // // $Id: G4ClippablePolygon.hh,v 1.7 2002/10/28 11:47:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4ClippablePolygon.icc b/source/geometry/solids/specific/include/G4ClippablePolygon.icc index fa979b2001..1fc6b1f0e4 100644 --- a/source/geometry/solids/specific/include/G4ClippablePolygon.icc +++ b/source/geometry/solids/specific/include/G4ClippablePolygon.icc @@ -22,7 +22,7 @@ // // // $Id: G4ClippablePolygon.icc,v 1.3 2001/07/11 10:00:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/specific/include/G4EllipticalTube.hh b/source/geometry/solids/specific/include/G4EllipticalTube.hh index f6c46c83e8..a43d05c3c0 100644 --- a/source/geometry/solids/specific/include/G4EllipticalTube.hh +++ b/source/geometry/solids/specific/include/G4EllipticalTube.hh @@ -22,7 +22,7 @@ // // // $Id: G4EllipticalTube.hh,v 1.10 2002/10/28 11:47:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/solids/specific/include/G4EllipticalTube.icc b/source/geometry/solids/specific/include/G4EllipticalTube.icc index 708c02000e..88a587224e 100644 --- a/source/geometry/solids/specific/include/G4EllipticalTube.icc +++ b/source/geometry/solids/specific/include/G4EllipticalTube.icc @@ -22,7 +22,7 @@ // // // $Id: G4EllipticalTube.icc,v 1.1 2002/10/28 11:47:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/specific/include/G4EnclosingCylinder.hh b/source/geometry/solids/specific/include/G4EnclosingCylinder.hh index f2ca33414f..c8880d4b71 100644 --- a/source/geometry/solids/specific/include/G4EnclosingCylinder.hh +++ b/source/geometry/solids/specific/include/G4EnclosingCylinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4EnclosingCylinder.hh,v 1.5 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Hype.hh b/source/geometry/solids/specific/include/G4Hype.hh index f928cb00d0..a5bc39415e 100644 --- a/source/geometry/solids/specific/include/G4Hype.hh +++ b/source/geometry/solids/specific/include/G4Hype.hh @@ -23,7 +23,7 @@ // // $Id: G4Hype.hh,v 1.6 2002/10/28 11:47:50 gcosmo Exp $ // $Original: G4Hype.hh,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Hype.icc b/source/geometry/solids/specific/include/G4Hype.icc index 46b223ae7b..38f73194ed 100644 --- a/source/geometry/solids/specific/include/G4Hype.icc +++ b/source/geometry/solids/specific/include/G4Hype.icc @@ -22,7 +22,7 @@ // // // $Id: G4Hype.icc,v 1.3 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/specific/include/G4IntersectingCone.hh b/source/geometry/solids/specific/include/G4IntersectingCone.hh index 899c4f8f1a..ea54d073a0 100644 --- a/source/geometry/solids/specific/include/G4IntersectingCone.hh +++ b/source/geometry/solids/specific/include/G4IntersectingCone.hh @@ -22,7 +22,7 @@ // // // $Id: G4IntersectingCone.hh,v 1.5 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4PolyPhiFace.hh b/source/geometry/solids/specific/include/G4PolyPhiFace.hh index 22e1f70d59..85f7a0a587 100644 --- a/source/geometry/solids/specific/include/G4PolyPhiFace.hh +++ b/source/geometry/solids/specific/include/G4PolyPhiFace.hh @@ -22,7 +22,7 @@ // // // $Id: G4PolyPhiFace.hh,v 1.5 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4PolyPhiFace.icc b/source/geometry/solids/specific/include/G4PolyPhiFace.icc index 37043772d3..964cd9c1f3 100644 --- a/source/geometry/solids/specific/include/G4PolyPhiFace.icc +++ b/source/geometry/solids/specific/include/G4PolyPhiFace.icc @@ -22,7 +22,7 @@ // // // $Id: G4PolyPhiFace.icc,v 1.4 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Polycone.hh b/source/geometry/solids/specific/include/G4Polycone.hh index bedffc8d8a..00d58aa2e2 100644 --- a/source/geometry/solids/specific/include/G4Polycone.hh +++ b/source/geometry/solids/specific/include/G4Polycone.hh @@ -22,7 +22,7 @@ // // // $Id: G4Polycone.hh,v 1.7 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Polycone.icc b/source/geometry/solids/specific/include/G4Polycone.icc index 8c8b92248a..4440bfc099 100644 --- a/source/geometry/solids/specific/include/G4Polycone.icc +++ b/source/geometry/solids/specific/include/G4Polycone.icc @@ -22,7 +22,7 @@ // // // $Id: G4Polycone.icc,v 1.1 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/specific/include/G4PolyconeSide.hh b/source/geometry/solids/specific/include/G4PolyconeSide.hh index de86e619f3..0a4c65c2eb 100644 --- a/source/geometry/solids/specific/include/G4PolyconeSide.hh +++ b/source/geometry/solids/specific/include/G4PolyconeSide.hh @@ -22,7 +22,7 @@ // // // $Id: G4PolyconeSide.hh,v 1.5 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Polyhedra.hh b/source/geometry/solids/specific/include/G4Polyhedra.hh index 740c6a2916..96eb14bcc9 100644 --- a/source/geometry/solids/specific/include/G4Polyhedra.hh +++ b/source/geometry/solids/specific/include/G4Polyhedra.hh @@ -22,7 +22,7 @@ // // // $Id: G4Polyhedra.hh,v 1.6 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4Polyhedra.icc b/source/geometry/solids/specific/include/G4Polyhedra.icc index 11d67426e7..c51f8ca588 100644 --- a/source/geometry/solids/specific/include/G4Polyhedra.icc +++ b/source/geometry/solids/specific/include/G4Polyhedra.icc @@ -22,7 +22,7 @@ // // // $Id: G4Polyhedra.icc,v 1.1 2002/10/28 11:47:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/specific/include/G4PolyhedraSide.hh b/source/geometry/solids/specific/include/G4PolyhedraSide.hh index 44753b6d80..8049283b27 100644 --- a/source/geometry/solids/specific/include/G4PolyhedraSide.hh +++ b/source/geometry/solids/specific/include/G4PolyhedraSide.hh @@ -22,7 +22,7 @@ // // // $Id: G4PolyhedraSide.hh,v 1.5 2002/10/28 11:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh index 90f1b88a5f..3c6d71f41c 100644 --- a/source/geometry/solids/specific/include/G4ReduciblePolygon.hh +++ b/source/geometry/solids/specific/include/G4ReduciblePolygon.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReduciblePolygon.hh,v 1.5 2002/10/28 11:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4SolidExtentList.hh b/source/geometry/solids/specific/include/G4SolidExtentList.hh index 4885705dff..1d060804fe 100644 --- a/source/geometry/solids/specific/include/G4SolidExtentList.hh +++ b/source/geometry/solids/specific/include/G4SolidExtentList.hh @@ -22,7 +22,7 @@ // // // $Id: G4SolidExtentList.hh,v 1.5 2002/10/28 11:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4VCSGface.hh b/source/geometry/solids/specific/include/G4VCSGface.hh index bcdb451da8..0508a5a3fe 100644 --- a/source/geometry/solids/specific/include/G4VCSGface.hh +++ b/source/geometry/solids/specific/include/G4VCSGface.hh @@ -22,7 +22,7 @@ // // // $Id: G4VCSGface.hh,v 1.5 2002/10/28 11:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/include/G4VCSGfaceted.hh b/source/geometry/solids/specific/include/G4VCSGfaceted.hh index afb2753985..29d0caf5da 100644 --- a/source/geometry/solids/specific/include/G4VCSGfaceted.hh +++ b/source/geometry/solids/specific/include/G4VCSGfaceted.hh @@ -22,7 +22,7 @@ // // // $Id: G4VCSGfaceted.hh,v 1.7 2002/10/28 11:47:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4ClippablePolygon.cc b/source/geometry/solids/specific/src/G4ClippablePolygon.cc index a742f7a4a3..f331ddedd4 100644 --- a/source/geometry/solids/specific/src/G4ClippablePolygon.cc +++ b/source/geometry/solids/specific/src/G4ClippablePolygon.cc @@ -22,7 +22,7 @@ // // // $Id: G4ClippablePolygon.cc,v 1.8 2002/10/30 13:52:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4EllipticalTube.cc b/source/geometry/solids/specific/src/G4EllipticalTube.cc index 974474de98..2a8df06ccf 100644 --- a/source/geometry/solids/specific/src/G4EllipticalTube.cc +++ b/source/geometry/solids/specific/src/G4EllipticalTube.cc @@ -22,7 +22,7 @@ // // // $Id: G4EllipticalTube.cc,v 1.13 2002/10/28 15:18:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc index 065c8a1dad..93a617ba87 100644 --- a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc +++ b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc @@ -22,7 +22,7 @@ // // // $Id: G4EnclosingCylinder.cc,v 1.5 2002/10/30 13:52:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4Hype.cc b/source/geometry/solids/specific/src/G4Hype.cc index eadd2c6786..c2511eac27 100644 --- a/source/geometry/solids/specific/src/G4Hype.cc +++ b/source/geometry/solids/specific/src/G4Hype.cc @@ -23,7 +23,7 @@ // // $Id: G4Hype.cc,v 1.9 2002/10/28 15:18:40 gcosmo Exp $ // $Original: G4Hype.cc,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4IntersectingCone.cc b/source/geometry/solids/specific/src/G4IntersectingCone.cc index ef65ca37a3..ca0aa46c0f 100644 --- a/source/geometry/solids/specific/src/G4IntersectingCone.cc +++ b/source/geometry/solids/specific/src/G4IntersectingCone.cc @@ -22,7 +22,7 @@ // // // $Id: G4IntersectingCone.cc,v 1.5 2002/10/28 11:47:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4PolyPhiFace.cc b/source/geometry/solids/specific/src/G4PolyPhiFace.cc index 325c85c02d..98bc8fdd60 100644 --- a/source/geometry/solids/specific/src/G4PolyPhiFace.cc +++ b/source/geometry/solids/specific/src/G4PolyPhiFace.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PolyPhiFace.cc,v 1.5 2002/10/28 11:47:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PolyPhiFace.cc,v 1.6 2003/03/28 09:52:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- @@ -271,6 +271,7 @@ G4PolyPhiFace::~G4PolyPhiFace() // Copy constructor // G4PolyPhiFace::G4PolyPhiFace( const G4PolyPhiFace &source ) + : G4VCSGface() { CopyStuff( source ); } diff --git a/source/geometry/solids/specific/src/G4Polycone.cc b/source/geometry/solids/specific/src/G4Polycone.cc index a6701e5219..3647633555 100644 --- a/source/geometry/solids/specific/src/G4Polycone.cc +++ b/source/geometry/solids/specific/src/G4Polycone.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Polycone.cc,v 1.7 2002/10/28 15:18:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Polycone.cc,v 1.8 2003/03/28 09:52:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- @@ -427,9 +427,9 @@ G4double G4Polycone::DistanceToIn( const G4ThreeVector &p ) const // // ComputeDimensions // -void G4Polycone::ComputeDimensions( G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep) +void G4Polycone::ComputeDimensions( G4VPVParameterisation*, + const G4int, + const G4VPhysicalVolume* ) { } diff --git a/source/geometry/solids/specific/src/G4PolyconeSide.cc b/source/geometry/solids/specific/src/G4PolyconeSide.cc index f95fe8f68a..89031a9f50 100644 --- a/source/geometry/solids/specific/src/G4PolyconeSide.cc +++ b/source/geometry/solids/specific/src/G4PolyconeSide.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PolyconeSide.cc,v 1.6 2002/10/30 13:52:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PolyconeSide.cc,v 1.7 2003/03/28 09:52:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- @@ -155,6 +155,7 @@ G4PolyconeSide::~G4PolyconeSide() // Copy constructor // G4PolyconeSide::G4PolyconeSide( const G4PolyconeSide &source ) + : G4VCSGface() { CopyStuff( source ); } diff --git a/source/geometry/solids/specific/src/G4Polyhedra.cc b/source/geometry/solids/specific/src/G4Polyhedra.cc index 4764a075f8..cacc489047 100644 --- a/source/geometry/solids/specific/src/G4Polyhedra.cc +++ b/source/geometry/solids/specific/src/G4Polyhedra.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Polyhedra.cc,v 1.5 2002/10/28 15:18:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Polyhedra.cc,v 1.6 2003/03/28 09:52:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- @@ -479,9 +479,9 @@ G4double G4Polyhedra::DistanceToIn( const G4ThreeVector &p ) const // // ComputeDimensions // -void G4Polyhedra::ComputeDimensions( G4VPVParameterisation* p, - const G4int n, - const G4VPhysicalVolume* pRep) +void G4Polyhedra::ComputeDimensions( G4VPVParameterisation*, + const G4int, + const G4VPhysicalVolume* ) { } diff --git a/source/geometry/solids/specific/src/G4PolyhedraSide.cc b/source/geometry/solids/specific/src/G4PolyhedraSide.cc index e0b528c73d..a97c074511 100644 --- a/source/geometry/solids/specific/src/G4PolyhedraSide.cc +++ b/source/geometry/solids/specific/src/G4PolyhedraSide.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PolyhedraSide.cc,v 1.5 2002/10/28 11:47:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PolyhedraSide.cc,v 1.6 2003/03/28 09:52:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- @@ -293,6 +293,7 @@ G4PolyhedraSide::~G4PolyhedraSide() // Copy constructor // G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSide &source ) + : G4VCSGface() { CopyStuff( source ); } diff --git a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc index 15c5afae02..6fa280a7b2 100644 --- a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc +++ b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc @@ -22,7 +22,7 @@ // // // $Id: G4ReduciblePolygon.cc,v 1.6 2002/10/30 13:52:23 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4SolidExtentList.cc b/source/geometry/solids/specific/src/G4SolidExtentList.cc index 6b7f37a030..0e531a603c 100644 --- a/source/geometry/solids/specific/src/G4SolidExtentList.cc +++ b/source/geometry/solids/specific/src/G4SolidExtentList.cc @@ -22,7 +22,7 @@ // // // $Id: G4SolidExtentList.cc,v 1.3 2002/10/28 11:47:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4VCSGfaceted.cc b/source/geometry/solids/specific/src/G4VCSGfaceted.cc index 9db2ccd136..062bed1edf 100644 --- a/source/geometry/solids/specific/src/G4VCSGfaceted.cc +++ b/source/geometry/solids/specific/src/G4VCSGfaceted.cc @@ -27,7 +27,7 @@ // and all its terms. // // $Id: G4VCSGfaceted.cc,v 1.9 2002/10/30 13:52:24 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/verification/include/G4GeomTestErrorList.hh b/source/geometry/verification/include/G4GeomTestErrorList.hh index 846a975c00..7febd6a9a2 100644 --- a/source/geometry/verification/include/G4GeomTestErrorList.hh +++ b/source/geometry/verification/include/G4GeomTestErrorList.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestErrorList.hh,v 1.1 2001/10/17 12:59:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestLogger.hh b/source/geometry/verification/include/G4GeomTestLogger.hh index 5430f63f7b..4ed69da9b8 100644 --- a/source/geometry/verification/include/G4GeomTestLogger.hh +++ b/source/geometry/verification/include/G4GeomTestLogger.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestLogger.hh,v 1.2 2001/10/22 13:04:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestOverlapList.hh b/source/geometry/verification/include/G4GeomTestOverlapList.hh index 8ee849028b..5b4f81d5f4 100644 --- a/source/geometry/verification/include/G4GeomTestOverlapList.hh +++ b/source/geometry/verification/include/G4GeomTestOverlapList.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestOverlapList.hh,v 1.1 2001/10/17 12:59:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestOvershootList.hh b/source/geometry/verification/include/G4GeomTestOvershootList.hh index 56117e4610..e2198ad73c 100644 --- a/source/geometry/verification/include/G4GeomTestOvershootList.hh +++ b/source/geometry/verification/include/G4GeomTestOvershootList.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestOvershootList.hh,v 1.1 2001/10/17 12:59:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestPoint.hh b/source/geometry/verification/include/G4GeomTestPoint.hh index 950e05a1ab..4593aa79e4 100644 --- a/source/geometry/verification/include/G4GeomTestPoint.hh +++ b/source/geometry/verification/include/G4GeomTestPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestPoint.hh,v 1.1 2001/10/17 12:59:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestSegment.hh b/source/geometry/verification/include/G4GeomTestSegment.hh index 5a6308c630..dc91aa986d 100644 --- a/source/geometry/verification/include/G4GeomTestSegment.hh +++ b/source/geometry/verification/include/G4GeomTestSegment.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestSegment.hh,v 1.1 2001/10/17 12:59:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestStreamLogger.hh b/source/geometry/verification/include/G4GeomTestStreamLogger.hh index 41a50a04ca..2f1bb7e7d4 100644 --- a/source/geometry/verification/include/G4GeomTestStreamLogger.hh +++ b/source/geometry/verification/include/G4GeomTestStreamLogger.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestStreamLogger.hh,v 1.3 2002/04/19 08:23:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestVolPoint.hh b/source/geometry/verification/include/G4GeomTestVolPoint.hh index e4bc211038..d59933fc05 100644 --- a/source/geometry/verification/include/G4GeomTestVolPoint.hh +++ b/source/geometry/verification/include/G4GeomTestVolPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestVolPoint.hh,v 1.1 2001/10/17 12:59:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/include/G4GeomTestVolume.hh b/source/geometry/verification/include/G4GeomTestVolume.hh index a9823df847..9e9df81931 100644 --- a/source/geometry/verification/include/G4GeomTestVolume.hh +++ b/source/geometry/verification/include/G4GeomTestVolume.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestVolume.hh,v 1.2 2001/10/22 10:41:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/verification/src/G4GeomTestErrorList.cc b/source/geometry/verification/src/G4GeomTestErrorList.cc index b4bf617e27..f4d4bbf156 100644 --- a/source/geometry/verification/src/G4GeomTestErrorList.cc +++ b/source/geometry/verification/src/G4GeomTestErrorList.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestErrorList.cc,v 1.1 2001/10/17 12:59:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestOverlapList.cc b/source/geometry/verification/src/G4GeomTestOverlapList.cc index b85d12b304..73cfcbf151 100644 --- a/source/geometry/verification/src/G4GeomTestOverlapList.cc +++ b/source/geometry/verification/src/G4GeomTestOverlapList.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestOverlapList.cc,v 1.1 2001/10/17 12:59:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestOvershootList.cc b/source/geometry/verification/src/G4GeomTestOvershootList.cc index 51b550bca7..8368f99b5b 100644 --- a/source/geometry/verification/src/G4GeomTestOvershootList.cc +++ b/source/geometry/verification/src/G4GeomTestOvershootList.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestOvershootList.cc,v 1.1 2001/10/17 12:59:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestPoint.cc b/source/geometry/verification/src/G4GeomTestPoint.cc index 31c9dc4535..8bdf324340 100644 --- a/source/geometry/verification/src/G4GeomTestPoint.cc +++ b/source/geometry/verification/src/G4GeomTestPoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestPoint.cc,v 1.1 2001/10/17 12:59:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestSegment.cc b/source/geometry/verification/src/G4GeomTestSegment.cc index ebb0a8af84..a9c96d35e7 100644 --- a/source/geometry/verification/src/G4GeomTestSegment.cc +++ b/source/geometry/verification/src/G4GeomTestSegment.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestSegment.cc,v 1.1 2001/10/17 12:59:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestStreamLogger.cc b/source/geometry/verification/src/G4GeomTestStreamLogger.cc index 88ff4d7499..362351e49a 100644 --- a/source/geometry/verification/src/G4GeomTestStreamLogger.cc +++ b/source/geometry/verification/src/G4GeomTestStreamLogger.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestStreamLogger.cc,v 1.5 2002/04/19 08:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestVolPoint.cc b/source/geometry/verification/src/G4GeomTestVolPoint.cc index e2a709819b..b9559e3c98 100644 --- a/source/geometry/verification/src/G4GeomTestVolPoint.cc +++ b/source/geometry/verification/src/G4GeomTestVolPoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestVolPoint.cc,v 1.1 2001/10/17 13:00:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/verification/src/G4GeomTestVolume.cc b/source/geometry/verification/src/G4GeomTestVolume.cc index 1a45d2f4eb..367a74daac 100644 --- a/source/geometry/verification/src/G4GeomTestVolume.cc +++ b/source/geometry/verification/src/G4GeomTestVolume.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeomTestVolume.cc,v 1.5 2002/07/30 07:26:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/volumes/History b/source/geometry/volumes/History index 155328aeb3..15cd26f80f 100644 --- a/source/geometry/volumes/History +++ b/source/geometry/volumes/History @@ -1,4 +1,4 @@ -$Id: History,v 1.92 2002/12/02 11:45:13 gcosmo Exp $ +$Id: History,v 1.97 2003/03/31 14:39:31 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,8 +17,46 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Mar 31st, 2003 G. Cosmo - geomvol-V05-00-03 +- Fixed trivial strict pedantic warnings. + +Mar 17th, 2003 G. Cosmo - geomvol-V05-00-02 +- G4Navigator[.hh.cc]: added 'inline' specifier in declaration of + method LocateGlobalPointAndUpdateTouchableHandle(). + Removed redundant calculation of localPoint in method + LocateGlobalPointWithinVolume() +- G4GeometryMessenger[.hh.cc]: added UI command for setting navigator + verbosity at run-time (/geometry/navigator/verbose [n], n in [0..4]). +- G4ReplicaNavigation.icc: fixed debug statement in VoxelLocate(). +- G4VoxelNavigation.cc: fixed debug statement in destructor. +- Does NOT include changes in "geomvol-V04-01-08". + +Mar 5th, 2003 G. Cosmo - geomvol-V05-00-01 +- G4NavigationHistory.icc: fix in methods Clear() and SetFirstEntry(). + Correctly initialise navigation levels. Resolves discrepancy in the + copy number assigned to the world volume, if retrieved through the + touchable or explicitely through the physical volume. +- Does NOT include changes in "geomvol-V04-01-08". + +Feb 6th, 2003 G. Cosmo - geomvol-V05-00-00 +- Fix in G4GeometryMessenger to check for geometry closed when commands + are applied. Command /geometry/navigator/reset and test commands apply + only when system is in "Idle" state. +- G4VCurvedTrajectoryFilter[.hh.cc]: fixed initialisation of data member + in constructor. Fixed comments layout for Software Reference Manual. +- G4IdentityTrajectoryFilter[.hh.cc]: fixed comments layout for + Software Reference Manual. +- Does NOT include changes in "geomvol-V04-01-08". + +Nov 30th, 2002 S. Sadilov - geomvol-V04-01-09 +- Small correction on the top of "geomvol-V04-01-07a" in files: + G4IdentityTrajectoryFilter.cc + G4VCurvedTrajectoryFilter.cc + to fix cout/G4cout, endl/G4endl mistakes. +- Does NOT include changes in "geomvol-V04-01-08". + Nov 29th, 2002 J. Apostolakis - geomvol-V04-01-08 -- G4PropagatorInField: Use safety in G4PropagatorInField. +- G4PropagatorInField: use safety in G4PropagatorInField. (Adds to the state of this class). Nov 29th, 2002 S. Sadilov - geomvol-V04-01-07a diff --git a/source/geometry/volumes/include/G4AuxiliaryNavServices.hh b/source/geometry/volumes/include/G4AuxiliaryNavServices.hh index 7e0c9d350a..42f85cee8c 100644 --- a/source/geometry/volumes/include/G4AuxiliaryNavServices.hh +++ b/source/geometry/volumes/include/G4AuxiliaryNavServices.hh @@ -22,7 +22,7 @@ // // // $Id: G4AuxiliaryNavServices.hh,v 1.5 2002/07/23 08:50:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4NormalNavigation diff --git a/source/geometry/volumes/include/G4AuxiliaryNavServices.icc b/source/geometry/volumes/include/G4AuxiliaryNavServices.icc index 88d308652e..9bd450301c 100644 --- a/source/geometry/volumes/include/G4AuxiliaryNavServices.icc +++ b/source/geometry/volumes/include/G4AuxiliaryNavServices.icc @@ -22,7 +22,7 @@ // // // $Id: G4AuxiliaryNavServices.icc,v 1.6 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4AuxiliaryNavServices Inline implementation diff --git a/source/geometry/volumes/include/G4BlockingList.hh b/source/geometry/volumes/include/G4BlockingList.hh index 3529395f7b..15841dd8f2 100644 --- a/source/geometry/volumes/include/G4BlockingList.hh +++ b/source/geometry/volumes/include/G4BlockingList.hh @@ -22,7 +22,7 @@ // // // $Id: G4BlockingList.hh,v 1.7 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4BlockingList // diff --git a/source/geometry/volumes/include/G4BlockingList.icc b/source/geometry/volumes/include/G4BlockingList.icc index ceb8720613..4a5722077c 100644 --- a/source/geometry/volumes/include/G4BlockingList.icc +++ b/source/geometry/volumes/include/G4BlockingList.icc @@ -22,7 +22,7 @@ // // // $Id: G4BlockingList.icc,v 1.7 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4BlockingList Inlined Implementation diff --git a/source/geometry/volumes/include/G4GRSSolid.hh b/source/geometry/volumes/include/G4GRSSolid.hh index 0450810589..4b9b6a1a80 100644 --- a/source/geometry/volumes/include/G4GRSSolid.hh +++ b/source/geometry/volumes/include/G4GRSSolid.hh @@ -22,7 +22,7 @@ // // // $Id: G4GRSSolid.hh,v 1.6 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSSolid diff --git a/source/geometry/volumes/include/G4GRSSolid.icc b/source/geometry/volumes/include/G4GRSSolid.icc index 758eb4fc29..4a4e7a7861 100644 --- a/source/geometry/volumes/include/G4GRSSolid.icc +++ b/source/geometry/volumes/include/G4GRSSolid.icc @@ -22,7 +22,7 @@ // // // $Id: G4GRSSolid.icc,v 1.6 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSSolid inline implementation diff --git a/source/geometry/volumes/include/G4GRSSolidHandle.hh b/source/geometry/volumes/include/G4GRSSolidHandle.hh index 332e480f97..7dd1252dc9 100644 --- a/source/geometry/volumes/include/G4GRSSolidHandle.hh +++ b/source/geometry/volumes/include/G4GRSSolidHandle.hh @@ -22,7 +22,7 @@ // // // $Id: G4GRSSolidHandle.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class G4GRSSolidHandle // diff --git a/source/geometry/volumes/include/G4GRSVolume.hh b/source/geometry/volumes/include/G4GRSVolume.hh index 1cc5637607..acbf520abe 100644 --- a/source/geometry/volumes/include/G4GRSVolume.hh +++ b/source/geometry/volumes/include/G4GRSVolume.hh @@ -22,7 +22,7 @@ // // // $Id: G4GRSVolume.hh,v 1.6 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSVolume diff --git a/source/geometry/volumes/include/G4GRSVolume.icc b/source/geometry/volumes/include/G4GRSVolume.icc index f098799c34..961d784917 100644 --- a/source/geometry/volumes/include/G4GRSVolume.icc +++ b/source/geometry/volumes/include/G4GRSVolume.icc @@ -22,7 +22,7 @@ // // // $Id: G4GRSVolume.icc,v 1.7 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSVolume inline implementation diff --git a/source/geometry/volumes/include/G4GRSVolumeHandle.hh b/source/geometry/volumes/include/G4GRSVolumeHandle.hh index bcfffb31c8..ca806c25e3 100644 --- a/source/geometry/volumes/include/G4GRSVolumeHandle.hh +++ b/source/geometry/volumes/include/G4GRSVolumeHandle.hh @@ -22,7 +22,7 @@ // // // $Id: G4GRSVolumeHandle.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class G4GRSVolumeHandle // diff --git a/source/geometry/volumes/include/G4GeometryMessenger.hh b/source/geometry/volumes/include/G4GeometryMessenger.hh index 35f42fef05..1b8df6b167 100644 --- a/source/geometry/volumes/include/G4GeometryMessenger.hh +++ b/source/geometry/volumes/include/G4GeometryMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GeometryMessenger.hh,v 1.4 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GeometryMessenger.hh,v 1.6 2003/03/17 13:46:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -49,6 +49,7 @@ class G4UIcommand; class G4UIcmdWith3VectorAndUnit; class G4UIcmdWith3Vector; class G4UIcmdWithoutParameter; +class G4UIcmdWithAnInteger; class G4UIcmdWithADoubleAndUnit; class G4TransportationManager; class G4GeomTestStreamLogger; @@ -68,7 +69,9 @@ class G4GeometryMessenger : public G4UImessenger private: void Init(); + void CheckGeometry(); void ResetNavigator(); + void SetVerbosity(G4String newValue); void LineTest(); void GridTest(); void RecursiveGridTest(); @@ -79,8 +82,8 @@ class G4GeometryMessenger : public G4UImessenger G4UIcmdWithoutParameter *linCmd, *grdCmd, *recCmd, *cylCmd, *runCmd, *resCmd; G4UIcmdWithADoubleAndUnit *tolCmd; + G4UIcmdWithAnInteger *verbCmd; - G4bool geometryOpened; G4ThreeVector x, p; G4bool newtol; G4double tol; diff --git a/source/geometry/volumes/include/G4IdentityTrajectoryFilter.hh b/source/geometry/volumes/include/G4IdentityTrajectoryFilter.hh index aafdff7c2c..73fc7e8403 100644 --- a/source/geometry/volumes/include/G4IdentityTrajectoryFilter.hh +++ b/source/geometry/volumes/include/G4IdentityTrajectoryFilter.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IdentityTrajectoryFilter.hh,v 1.1 2002/11/19 15:23:24 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IdentityTrajectoryFilter.hh,v 1.2 2003/02/06 18:53:14 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class GIdentityTrajectoryFilter @@ -37,27 +37,29 @@ // for deleting them. // History -// - Modified: +// // - First version: Nov 19, 2002 Jacek Generowicz +// ------------------------------------------------------------------------ #ifndef G4IdentityTrajectoryFilter_hh #define G4IdentityTrajectoryFilter_hh -//#include "g4std/vector" #include "G4VCurvedTrajectoryFilter.hh" -class G4IdentityTrajectoryFilter : public G4VCurvedTrajectoryFilter { -public: +class G4IdentityTrajectoryFilter : public G4VCurvedTrajectoryFilter +{ - G4IdentityTrajectoryFilter(){}; - virtual ~G4IdentityTrajectoryFilter(){}; +public: // with description - // Probably do not want these objects to be copied, so make the copy - // constructor prvate (jacek 30/10/2002) + G4IdentityTrajectoryFilter(); + virtual ~G4IdentityTrajectoryFilter(); + + // Probably do not want these objects to be copied, + // so make the copy constructor private - // Submit intermediate points for the filter to consider keeping or - // rejecting. void TakeIntermediatePoint( G4ThreeVector newPoint ); + // Submit intermediate points for the filter + // to consider keeping or rejecting }; #endif /* End of ifndef G4IdentityTrajectoryFilter_hh */ diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.hh b/source/geometry/volumes/include/G4LogicalBorderSurface.hh index 2484c35edf..6f7cedab8c 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.hh +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogicalBorderSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4LogicalBorderSurface // diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.icc b/source/geometry/volumes/include/G4LogicalBorderSurface.icc index 5a23c3606f..0c734ae78d 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.icc +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalBorderSurface.icc,v 1.5 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LogicalBorderSurface inline implementation diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.hh b/source/geometry/volumes/include/G4LogicalSkinSurface.hh index ee7ee557a0..0532fe8146 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.hh +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogicalSkinSurface.hh,v 1.8 2002/07/23 08:50:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4LogicalSkinSurface // diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.icc b/source/geometry/volumes/include/G4LogicalSkinSurface.icc index 60ff2383f0..cda856f69a 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.icc +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.icc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalSkinSurface.icc,v 1.5 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4LogicalSkinSurface inline implementation diff --git a/source/geometry/volumes/include/G4NavigationHistory.hh b/source/geometry/volumes/include/G4NavigationHistory.hh index 65ea8ceb04..2cdada4333 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.hh +++ b/source/geometry/volumes/include/G4NavigationHistory.hh @@ -22,7 +22,7 @@ // // // $Id: G4NavigationHistory.hh,v 1.10 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4NavigationHistory // diff --git a/source/geometry/volumes/include/G4NavigationHistory.icc b/source/geometry/volumes/include/G4NavigationHistory.icc index ece005a295..9f01e84141 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.icc +++ b/source/geometry/volumes/include/G4NavigationHistory.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NavigationHistory.icc,v 1.7 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NavigationHistory.icc,v 1.8 2003/03/05 18:15:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4NavigationHistory Inline implementation @@ -59,16 +59,13 @@ void G4NavigationHistory::Reset() inline void G4NavigationHistory::Clear() { - G4AffineTransform dummyTransform(G4ThreeVector(0.)); - - G4NavigationLevel tmpNavLevel; - tmpNavLevel=G4NavigationLevel(0, dummyTransform, kParameterised, -1) ; + G4AffineTransform origin(G4ThreeVector(0.)); + G4NavigationLevel tmpNavLevel = G4NavigationLevel(0, origin, kNormal, -1) ; Reset(); for (register G4int ilev=fNavHistory.size()-1; ilev>=0; ilev--) { - // fNavHistory(ilev)= 0; - fNavHistory[ilev]= tmpNavLevel; + fNavHistory[ilev] = tmpNavLevel; } } @@ -76,16 +73,18 @@ inline void G4NavigationHistory::SetFirstEntry(G4VPhysicalVolume* pVol) { G4ThreeVector translation(0.,0.,0.); + G4int copyNo = -1; // Protection needed in case pVol=null // so that a touchable-history can signal OutOfWorld // if( pVol!=0 ) { - translation=pVol->GetTranslation(); + translation = pVol->GetTranslation(); + copyNo = pVol->GetCopyNo(); } fNavHistory[0] = - G4NavigationLevel( pVol, G4AffineTransform(translation), kNormal ); + G4NavigationLevel( pVol, G4AffineTransform(translation), kNormal, copyNo ); } inline diff --git a/source/geometry/volumes/include/G4NavigationLevel.hh b/source/geometry/volumes/include/G4NavigationLevel.hh index be47f3c209..8abe902728 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.hh +++ b/source/geometry/volumes/include/G4NavigationLevel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NavigationLevel.hh,v 1.14 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4NavigationLevel // diff --git a/source/geometry/volumes/include/G4NavigationLevel.icc b/source/geometry/volumes/include/G4NavigationLevel.icc index 8ad71296b8..9cc67da218 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.icc +++ b/source/geometry/volumes/include/G4NavigationLevel.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NavigationLevel.icc,v 1.12 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NavigationLevel.icc,v 1.13 2003/04/02 14:28:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // 30.09.97 J.Apostolakis Initial version. // @@ -145,7 +145,7 @@ void G4NavigationLevel::operator delete(void *aLevel) // #ifndef G4NOT_ISO_DELETES inline -void G4NavigationLevel::operator delete(void *ptr, void *p) +void G4NavigationLevel::operator delete(void *, void *) { } #endif diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.hh b/source/geometry/volumes/include/G4NavigationLevelRep.hh index 38fa5e8cf1..44cb5d616a 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.hh +++ b/source/geometry/volumes/include/G4NavigationLevelRep.hh @@ -22,7 +22,7 @@ // // // $Id: G4NavigationLevelRep.hh,v 1.7 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4NavigationLevelRep // diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.icc b/source/geometry/volumes/include/G4NavigationLevelRep.icc index f60105ba9a..3d21f637f9 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.icc +++ b/source/geometry/volumes/include/G4NavigationLevelRep.icc @@ -22,7 +22,7 @@ // // // $Id: G4NavigationLevelRep.icc,v 1.6 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // 1 October 1997 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4Navigator.hh b/source/geometry/volumes/include/G4Navigator.hh index 0d2bad680b..4bb6aa244f 100644 --- a/source/geometry/volumes/include/G4Navigator.hh +++ b/source/geometry/volumes/include/G4Navigator.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Navigator.hh,v 1.19 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Navigator.hh,v 1.20 2003/03/17 13:42:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Navigator @@ -175,7 +175,7 @@ class G4Navigator // same volume as the previous position. Usually this can be guaranteed // only if the point is within safety. - void LocateGlobalPointAndUpdateTouchableHandle( + inline void LocateGlobalPointAndUpdateTouchableHandle( const G4ThreeVector& position, const G4ThreeVector& direction, G4TouchableHandle& oldTouchableToUpdate, diff --git a/source/geometry/volumes/include/G4Navigator.icc b/source/geometry/volumes/include/G4Navigator.icc index b858286601..3423610e98 100644 --- a/source/geometry/volumes/include/G4Navigator.icc +++ b/source/geometry/volumes/include/G4Navigator.icc @@ -22,7 +22,7 @@ // // // $Id: G4Navigator.icc,v 1.9 2002/06/03 10:17:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4Navigator Inline implementation diff --git a/source/geometry/volumes/include/G4NormalNavigation.hh b/source/geometry/volumes/include/G4NormalNavigation.hh index 7b8f500cfd..06f5a44365 100644 --- a/source/geometry/volumes/include/G4NormalNavigation.hh +++ b/source/geometry/volumes/include/G4NormalNavigation.hh @@ -22,7 +22,7 @@ // // // $Id: G4NormalNavigation.hh,v 1.5 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4NormalNavigation diff --git a/source/geometry/volumes/include/G4NormalNavigation.icc b/source/geometry/volumes/include/G4NormalNavigation.icc index f3775b7583..019cedbfeb 100644 --- a/source/geometry/volumes/include/G4NormalNavigation.icc +++ b/source/geometry/volumes/include/G4NormalNavigation.icc @@ -22,7 +22,7 @@ // // // $Id: G4NormalNavigation.icc,v 1.5 2002/05/15 10:21:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4NormalNavigation Inline Implementation diff --git a/source/geometry/volumes/include/G4ParameterisedNavigation.hh b/source/geometry/volumes/include/G4ParameterisedNavigation.hh index 6be05e30a9..4a32163cce 100644 --- a/source/geometry/volumes/include/G4ParameterisedNavigation.hh +++ b/source/geometry/volumes/include/G4ParameterisedNavigation.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParameterisedNavigation.hh,v 1.6 2002/07/23 08:50:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ParameterisedNavigation diff --git a/source/geometry/volumes/include/G4ParameterisedNavigation.icc b/source/geometry/volumes/include/G4ParameterisedNavigation.icc index 64d514e12f..d65dfde27f 100644 --- a/source/geometry/volumes/include/G4ParameterisedNavigation.icc +++ b/source/geometry/volumes/include/G4ParameterisedNavigation.icc @@ -22,7 +22,7 @@ // // // $Id: G4ParameterisedNavigation.icc,v 1.7 2002/05/15 10:23:39 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ParameterisedNavigation Inline implementation diff --git a/source/geometry/volumes/include/G4PropagatorInField.hh b/source/geometry/volumes/include/G4PropagatorInField.hh index bd06407f6a..5ca5393c73 100644 --- a/source/geometry/volumes/include/G4PropagatorInField.hh +++ b/source/geometry/volumes/include/G4PropagatorInField.hh @@ -22,7 +22,7 @@ // // // $Id: G4PropagatorInField.hh,v 1.28 2002/11/09 00:25:08 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4PropagatorInField diff --git a/source/geometry/volumes/include/G4PropagatorInField.icc b/source/geometry/volumes/include/G4PropagatorInField.icc index 9fffe0d912..2d2e9db97d 100644 --- a/source/geometry/volumes/include/G4PropagatorInField.icc +++ b/source/geometry/volumes/include/G4PropagatorInField.icc @@ -22,7 +22,7 @@ // // // $Id: G4PropagatorInField.icc,v 1.31 2002/10/29 18:36:57 japost Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------------------ diff --git a/source/geometry/volumes/include/G4ReplicaNavigation.hh b/source/geometry/volumes/include/G4ReplicaNavigation.hh index e44ce2b0ae..3f9e3e666c 100644 --- a/source/geometry/volumes/include/G4ReplicaNavigation.hh +++ b/source/geometry/volumes/include/G4ReplicaNavigation.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReplicaNavigation.hh,v 1.5 2002/07/23 08:50:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ReplicaNavigation diff --git a/source/geometry/volumes/include/G4ReplicaNavigation.icc b/source/geometry/volumes/include/G4ReplicaNavigation.icc index 982646d1b9..e762d6b110 100644 --- a/source/geometry/volumes/include/G4ReplicaNavigation.icc +++ b/source/geometry/volumes/include/G4ReplicaNavigation.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ReplicaNavigation.icc,v 1.6 2002/05/15 10:21:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ReplicaNavigation.icc,v 1.8 2003/04/02 14:28:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ReplicaNavigation Inline implementation @@ -97,7 +97,7 @@ G4ReplicaNavigation::VoxelLocate( const G4SmartVoxelHeader* pHead, #ifdef G4DEBUG_NAVIGATION G4cerr << " WARNING: assert in G4ReplicaNavigation::VoxelLocate " - << " has failed : " << G4endl << + << " has failed : " << G4endl << " (targetNodeNo>=0&&targetNodeNo* GimmeThePointsAndForgetThem(); protected: + G4std::vector* fpFilteredPoints; }; diff --git a/source/geometry/volumes/include/G4VoxelNavigation.hh b/source/geometry/volumes/include/G4VoxelNavigation.hh index 44b5fdb7eb..46038f4af9 100644 --- a/source/geometry/volumes/include/G4VoxelNavigation.hh +++ b/source/geometry/volumes/include/G4VoxelNavigation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VoxelNavigation.hh,v 1.11 2002/07/23 08:50:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VoxelNavigation diff --git a/source/geometry/volumes/include/G4VoxelNavigation.icc b/source/geometry/volumes/include/G4VoxelNavigation.icc index 5a91dc2c54..c5fc297f30 100644 --- a/source/geometry/volumes/include/G4VoxelNavigation.icc +++ b/source/geometry/volumes/include/G4VoxelNavigation.icc @@ -22,7 +22,7 @@ // // // $Id: G4VoxelNavigation.icc,v 1.10 2002/05/15 10:21:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VoxelNavigation Inline implementation diff --git a/source/geometry/volumes/src/G4AuxiliaryNavServices.cc b/source/geometry/volumes/src/G4AuxiliaryNavServices.cc index 09e58326e9..62fb31960a 100644 --- a/source/geometry/volumes/src/G4AuxiliaryNavServices.cc +++ b/source/geometry/volumes/src/G4AuxiliaryNavServices.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4AuxiliaryNavServices.cc,v 1.3 2002/08/06 08:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ******************************************************************** diff --git a/source/geometry/volumes/src/G4BlockingList.cc b/source/geometry/volumes/src/G4BlockingList.cc index f883b0aaca..e7ccc0f095 100644 --- a/source/geometry/volumes/src/G4BlockingList.cc +++ b/source/geometry/volumes/src/G4BlockingList.cc @@ -22,7 +22,7 @@ // // // $Id: G4BlockingList.cc,v 1.7 2002/11/27 17:50:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4BlockingList Implementation diff --git a/source/geometry/volumes/src/G4GRSSolid.cc b/source/geometry/volumes/src/G4GRSSolid.cc index ad250955bb..b011ae6843 100644 --- a/source/geometry/volumes/src/G4GRSSolid.cc +++ b/source/geometry/volumes/src/G4GRSSolid.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GRSSolid.cc,v 1.5 2002/08/06 08:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GRSSolid.cc,v 1.6 2003/03/31 14:39:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSSolid Implementation @@ -37,6 +37,7 @@ G4GRSSolid::~G4GRSSolid() } G4GRSSolid::G4GRSSolid(const G4GRSSolid& right) + : G4VTouchable() { if ((&right) && (&right != this)) { diff --git a/source/geometry/volumes/src/G4GRSVolume.cc b/source/geometry/volumes/src/G4GRSVolume.cc index 34b26c76b1..17d7b35d9c 100644 --- a/source/geometry/volumes/src/G4GRSVolume.cc +++ b/source/geometry/volumes/src/G4GRSVolume.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GRSVolume.cc,v 1.5 2002/08/06 08:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GRSVolume.cc,v 1.6 2003/03/31 14:39:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4GRSVolume Implementation @@ -37,6 +37,7 @@ G4GRSVolume::~G4GRSVolume() } G4GRSVolume::G4GRSVolume(const G4GRSVolume& right) + : G4VTouchable() { if ((&right) && (&right != this)) { diff --git a/source/geometry/volumes/src/G4GeometryMessenger.cc b/source/geometry/volumes/src/G4GeometryMessenger.cc index f8cf70fe85..6c40440f5c 100644 --- a/source/geometry/volumes/src/G4GeometryMessenger.cc +++ b/source/geometry/volumes/src/G4GeometryMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GeometryMessenger.cc,v 1.7 2002/08/06 08:23:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GeometryMessenger.cc,v 1.10 2003/03/17 13:46:25 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // GEANT 4 class source file @@ -46,6 +46,7 @@ #include "G4UIcmdWith3VectorAndUnit.hh" #include "G4UIcmdWith3Vector.hh" #include "G4UIcmdWithoutParameter.hh" +#include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithADoubleAndUnit.hh" #include "G4GeomTestStreamLogger.hh" @@ -55,9 +56,8 @@ // Constructor // G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman) - : geometryOpened(true), x(0,0,0), p(0,0,1), - newtol(false), tol(1E-4*mm), tmanager(tman), - tlogger(0), tvolume(0) + : x(0,0,0), p(0,0,1), newtol(false), tol(1E-4*mm), + tmanager(tman), tlogger(0), tvolume(0) { geodir = new G4UIdirectory( "/geometry/" ); geodir->SetGuidance( "Geometry control commands." ); @@ -70,6 +70,22 @@ G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman) resCmd = new G4UIcmdWithoutParameter( "/geometry/navigator/reset", this ); resCmd->SetGuidance( "Reset navigator and navigation history." ); + resCmd->SetGuidance( "NOTE: must be called only after kernel has been" ); + resCmd->SetGuidance( " initialized once through the run manager!" ); + resCmd->AvailableForStates(G4State_Idle); + + verbCmd = new G4UIcmdWithAnInteger( "/geometry/navigator/verbose", this ); + verbCmd->SetGuidance( "Set run-time verbosity for the navigator." ); + verbCmd->SetGuidance(" 0 : Silent (default)"); + verbCmd->SetGuidance(" 1 : Display positioning and relative states"); + verbCmd->SetGuidance(" 2 : Display step/safety info on point location"); + verbCmd->SetGuidance(" 3 : Display state at -every- step!"); + verbCmd->SetGuidance(" 4 : Maximum verbosity (very detailed!)"); + verbCmd->SetGuidance( "NOTE: this command has effect -only- if Geant4 has" ); + verbCmd->SetGuidance( " been installed with the G4VERBOSE flag set!" ); + verbCmd->SetParameterName("level",true); + verbCmd->SetDefaultValue(0); + verbCmd->SetRange("level >=0 && level <=4"); // // Geometry verification test commands @@ -100,26 +116,31 @@ G4GeometryMessenger::G4GeometryMessenger(G4TransportationManager* tman) linCmd->SetGuidance( "Performs test along a single specified direction/position." ); linCmd->SetGuidance( "Use position and direction commands to change default." ); linCmd->SetGuidance( "Default: position(0,0,0), direction(0,0,1)." ); + linCmd->AvailableForStates(G4State_Idle); grdCmd = new G4UIcmdWithoutParameter( "/geometry/test/grid_test", this ); grdCmd->SetGuidance( "Start running the default grid test." ); grdCmd->SetGuidance( "A grid of lines parallel to a cartesian axis is used;" ); grdCmd->SetGuidance( "Only direct daughters of the mother volumes are checked." ); + grdCmd->AvailableForStates(G4State_Idle); recCmd = new G4UIcmdWithoutParameter( "/geometry/test/recursive_test", this ); recCmd->SetGuidance( "Start running the recursive grid test." ); recCmd->SetGuidance( "A grid of lines along a cartesian axis is recursively" ); recCmd->SetGuidance( "to all daughters and daughters of daughters, etc." ); recCmd->SetGuidance( "WARNING: it may take a very long time, depending on geometry complexity !"); + recCmd->AvailableForStates(G4State_Idle); cylCmd = new G4UIcmdWithoutParameter( "/geometry/test/cylinder_test", this ); cylCmd->SetGuidance( "Start running the cylinder test." ); cylCmd->SetGuidance( "A set of lines in a cylindrical pattern of gradually" ); cylCmd->SetGuidance( "increasing mesh size." ); + cylCmd->AvailableForStates(G4State_Idle); runCmd = new G4UIcmdWithoutParameter( "/geometry/test/run", this ); runCmd->SetGuidance( "Start running the default grid test." ); runCmd->SetGuidance( "Same as the grid_test command." ); + runCmd->AvailableForStates(G4State_Idle); } // @@ -135,6 +156,7 @@ G4GeometryMessenger::~G4GeometryMessenger() delete cylCmd; delete runCmd; delete resCmd; + delete verbCmd; delete tolCmd; delete geodir; delete navdir; @@ -177,6 +199,9 @@ G4GeometryMessenger::SetNewValue( G4UIcommand* command, G4String newValues ) if (command == resCmd) { ResetNavigator(); } + else if (command == verbCmd) { + SetVerbosity(newValues); + } else if (command == posCmd) { x = posCmd->GetNew3VectorValue( newValues ); } @@ -228,6 +253,20 @@ G4GeometryMessenger::GetCurrentValue(G4UIcommand* command ) return cv; } +// +// CheckGeometry +// +void +G4GeometryMessenger::CheckGeometry() +{ + // Verify that the geometry is closed + // + G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); + if (!geomManager->IsGeometryClosed()) { + geomManager->CloseGeometry(true); + } +} + // // ResetNavigator // @@ -236,12 +275,7 @@ G4GeometryMessenger::ResetNavigator() { // Close geometry if necessary // - if (geometryOpened) { - G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); - geomManager->OpenGeometry(); - geomManager->CloseGeometry(true); - geometryOpened = false; - } + CheckGeometry(); // Reset navigator's state // @@ -249,6 +283,17 @@ G4GeometryMessenger::ResetNavigator() tmanager->GetNavigatorForTracking()->LocateGlobalPointAndSetup(pt,0,false); } +// +// Set navigator verbosity +// +void +G4GeometryMessenger::SetVerbosity(G4String input) +{ + G4int level = verbCmd->GetNewIntValue(input); + G4Navigator* navigator = tmanager->GetNavigatorForTracking(); + navigator->SetVerboseLevel(level); +} + // // LineTest // @@ -257,12 +302,7 @@ G4GeometryMessenger::LineTest() { // Close geometry if necessary // - if (geometryOpened) { - G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); - geomManager->OpenGeometry(); - geomManager->CloseGeometry(true); - geometryOpened = false; - } + CheckGeometry(); // Verify if error tolerance has changed // @@ -285,12 +325,7 @@ G4GeometryMessenger::GridTest() { // Close geometry if necessary // - if (geometryOpened) { - G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); - geomManager->OpenGeometry(); - geomManager->CloseGeometry(true); - geometryOpened = false; - } + CheckGeometry(); // Verify if error tolerance has changed // @@ -313,12 +348,7 @@ G4GeometryMessenger::RecursiveGridTest() { // Close geometry if necessary // - if (geometryOpened) { - G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); - geomManager->OpenGeometry(); - geomManager->CloseGeometry(true); - geometryOpened = false; - } + CheckGeometry(); // Verify if error tolerance has changed // @@ -341,12 +371,7 @@ G4GeometryMessenger::CylinderTest() { // Close geometry if necessary // - if (geometryOpened) { - G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); - geomManager->OpenGeometry(); - geomManager->CloseGeometry(true); - geometryOpened = false; - } + CheckGeometry(); // Verify if error tolerance has changed // diff --git a/source/geometry/volumes/src/G4IdentityTrajectoryFilter.cc b/source/geometry/volumes/src/G4IdentityTrajectoryFilter.cc index b067250972..307e6f456d 100644 --- a/source/geometry/volumes/src/G4IdentityTrajectoryFilter.cc +++ b/source/geometry/volumes/src/G4IdentityTrajectoryFilter.cc @@ -21,18 +21,28 @@ // ******************************************************************** // // -// $Id: G4IdentityTrajectoryFilter.cc,v 1.3 2002/11/30 17:22:37 stesting Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IdentityTrajectoryFilter.cc,v 1.4 2003/02/06 18:53:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4IdentityTrajectoryFilter.hh" +G4IdentityTrajectoryFilter::G4IdentityTrajectoryFilter() +{ +} + +G4IdentityTrajectoryFilter::~G4IdentityTrajectoryFilter() +{ +} + void -G4IdentityTrajectoryFilter::TakeIntermediatePoint( G4ThreeVector newPoint ) { +G4IdentityTrajectoryFilter::TakeIntermediatePoint( G4ThreeVector newPoint ) +{ // Just store every single point, initially. (jacek 30/10/2002) // Implement more sophisticated filters later. Copy by value into // the vector; the vector will never be copied by value itself. In // the final version, will probably want to create the intermediate // points at this stage. fpFilteredPoints->push_back( newPoint ); - G4cout << "spong: G4IdentityTrajectoryFilter::TakeIntermediatePoint" << G4endl; + G4cout << "spong: G4IdentityTrajectoryFilter::TakeIntermediatePoint" + << G4endl; } diff --git a/source/geometry/volumes/src/G4LogicalBorderSurface.cc b/source/geometry/volumes/src/G4LogicalBorderSurface.cc index 0fd007ad62..4e5b778c8b 100644 --- a/source/geometry/volumes/src/G4LogicalBorderSurface.cc +++ b/source/geometry/volumes/src/G4LogicalBorderSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalBorderSurface.cc,v 1.8 2002/08/06 08:23:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // G4LogicalBorderSurface Implementation diff --git a/source/geometry/volumes/src/G4LogicalSkinSurface.cc b/source/geometry/volumes/src/G4LogicalSkinSurface.cc index 7ed50e40ea..ad0f865b01 100644 --- a/source/geometry/volumes/src/G4LogicalSkinSurface.cc +++ b/source/geometry/volumes/src/G4LogicalSkinSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalSkinSurface.cc,v 1.8 2002/08/06 08:23:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------------- // G4LogicalSkinSurface Implementation diff --git a/source/geometry/volumes/src/G4NavigationHistory.cc b/source/geometry/volumes/src/G4NavigationHistory.cc index c136ed5d4a..6efe340ed9 100644 --- a/source/geometry/volumes/src/G4NavigationHistory.cc +++ b/source/geometry/volumes/src/G4NavigationHistory.cc @@ -22,7 +22,7 @@ // // // $Id: G4NavigationHistory.cc,v 1.6 2002/08/06 10:35:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4NavigationHistory Implementation diff --git a/source/geometry/volumes/src/G4Navigator.cc b/source/geometry/volumes/src/G4Navigator.cc index 4fe6140b2a..9e7740ae3a 100644 --- a/source/geometry/volumes/src/G4Navigator.cc +++ b/source/geometry/volumes/src/G4Navigator.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // -// $Id: G4Navigator.cc,v 1.34 2002/11/04 18:54:06 jacek Exp $ +// $Id: G4Navigator.cc,v 1.35 2003/03/17 13:42:33 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4Navigator Implementation @@ -100,6 +100,9 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, G4cout << " I was called with the following arguments: " << G4endl << " Globalpoint = " << globalPoint << G4endl << " relativeSearch = " << relativeSearch << G4endl; + } + if( fVerbose > 1 ) + { G4cout << " Upon entering my state is: " << G4endl; PrintState(); } @@ -371,7 +374,6 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, fLastLocatedPointLocal = localPoint; #ifdef G4VERBOSE - if( fVerbose > 0 ) PrintState(); if( fVerbose > 1 ) { G4cout.precision(6); @@ -380,6 +382,8 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, curPhysVol_Name = targetPhysical->GetName(); G4cout << " Return value = new volume = " << curPhysVol_Name << G4endl; + G4cout << " Upon exiting my state is: " << G4endl; + PrintState(); } #endif @@ -419,7 +423,6 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint) G4LogicalVolume* motherLogical = motherPhysical->GetLogicalVolume(); G4SmartVoxelHeader* pVoxelHeader = motherLogical->GetVoxelHeader(); - G4ThreeVector localPoint = ComputeLocalPoint(pGlobalpoint); if ( fHistory.GetTopVolumeType()!=kReplica ) { switch( CharacteriseDaughters(motherLogical) ) @@ -427,7 +430,7 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint) case kNormal: if ( pVoxelHeader ) { - fvoxelNav.VoxelLocate( pVoxelHeader, localPoint ); + fvoxelNav.VoxelLocate( pVoxelHeader, fLastLocatedPointLocal ); } // else { fnormalNav. nothing !? } break; @@ -435,7 +438,7 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint) case kParameterised: // Resets state & returns voxel node // - fparamNav.ParamVoxelLocate( pVoxelHeader, localPoint ); + fparamNav.ParamVoxelLocate( pVoxelHeader, fLastLocatedPointLocal ); break; case kReplica: @@ -797,7 +800,7 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, } #ifdef G4VERBOSE - if( fVerbose > 1 ) + if( fVerbose > 2 ) { G4cout << "Upon exiting my state is: " << G4endl; PrintState(); @@ -905,7 +908,7 @@ G4double G4Navigator::ComputeSafety( const G4ThreeVector &pGlobalpoint, G4double newSafety = 0.0; #ifdef G4VERBOSE - if( fVerbose > 0 ) + if( fVerbose > 1 ) { G4cout << "*** G4Navigator::ComputeSafety: ***" << G4endl; G4cout.precision(8); diff --git a/source/geometry/volumes/src/G4NormalNavigation.cc b/source/geometry/volumes/src/G4NormalNavigation.cc index cc2d1acf86..35ee4b0378 100644 --- a/source/geometry/volumes/src/G4NormalNavigation.cc +++ b/source/geometry/volumes/src/G4NormalNavigation.cc @@ -22,7 +22,7 @@ // // // $Id: G4NormalNavigation.cc,v 1.5 2002/08/06 10:35:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4NormalNavigation Implementation diff --git a/source/geometry/volumes/src/G4ParameterisedNavigation.cc b/source/geometry/volumes/src/G4ParameterisedNavigation.cc index 49442c1079..ed630a9f4b 100644 --- a/source/geometry/volumes/src/G4ParameterisedNavigation.cc +++ b/source/geometry/volumes/src/G4ParameterisedNavigation.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisedNavigation.cc,v 1.7 2002/08/06 10:35:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParameterisedNavigation.cc,v 1.8 2003/03/31 14:39:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ParameterisedNavigation Implementation @@ -244,7 +244,7 @@ G4double G4ParameterisedNavigation:: G4double G4ParameterisedNavigation::ComputeSafety(const G4ThreeVector& localPoint, const G4NavigationHistory& history, - const G4double pProposedMaxLength ) + const G4double ) { G4VPhysicalVolume *motherPhysical, *samplePhysical; G4VPVParameterisation *sampleParam; diff --git a/source/geometry/volumes/src/G4PropagatorInField.cc b/source/geometry/volumes/src/G4PropagatorInField.cc index c600bd5c8c..bd638a1b3c 100644 --- a/source/geometry/volumes/src/G4PropagatorInField.cc +++ b/source/geometry/volumes/src/G4PropagatorInField.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PropagatorInField.cc,v 1.39 2002/11/09 00:25:09 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PropagatorInField.cc,v 1.39.4.1 2003/03/31 14:34:27 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // This class implements an algorithm to track a particle in a @@ -745,7 +745,7 @@ G4PropagatorInField::PrintStepLengthDiagnostic( G4double CurrentProposedStepLength, G4double decreaseFactor, G4double stepTrial, - const G4FieldTrack& aFieldTrack) + const G4FieldTrack& ) { G4cout << " PiF: NoZeroStep= " << fNoZeroStep << " CurrentProposedStepLength= " << CurrentProposedStepLength diff --git a/source/geometry/volumes/src/G4ReplicaNavigation.cc b/source/geometry/volumes/src/G4ReplicaNavigation.cc index 5cc41f525d..5a7672e278 100644 --- a/source/geometry/volumes/src/G4ReplicaNavigation.cc +++ b/source/geometry/volumes/src/G4ReplicaNavigation.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ReplicaNavigation.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ReplicaNavigation.cc,v 1.12 2003/03/31 14:39:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4ReplicaNavigation Implementation @@ -826,7 +826,7 @@ G4double G4ReplicaNavigation::ComputeSafety(const G4ThreeVector &globalPoint, const G4ThreeVector &localPoint, G4NavigationHistory &history, - const G4double pProposedMaxLength ) + const G4double ) { G4VPhysicalVolume *repPhysical, *motherPhysical; G4VPhysicalVolume *samplePhysical, *blockedExitedVol=0; diff --git a/source/geometry/volumes/src/G4TouchableHistory.cc b/source/geometry/volumes/src/G4TouchableHistory.cc index 9eef465d02..1c79a4d14e 100644 --- a/source/geometry/volumes/src/G4TouchableHistory.cc +++ b/source/geometry/volumes/src/G4TouchableHistory.cc @@ -22,7 +22,7 @@ // // // $Id: G4TouchableHistory.cc,v 1.6 2002/08/06 10:35:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4TouchableHistory Implementation diff --git a/source/geometry/volumes/src/G4TransportationManager.cc b/source/geometry/volumes/src/G4TransportationManager.cc index f4274b17e4..8a499bbfa9 100644 --- a/source/geometry/volumes/src/G4TransportationManager.cc +++ b/source/geometry/volumes/src/G4TransportationManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4TransportationManager.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4TransportationManager diff --git a/source/geometry/volumes/src/G4VCurvedTrajectoryFilter.cc b/source/geometry/volumes/src/G4VCurvedTrajectoryFilter.cc index 7f8a510c30..e837186714 100644 --- a/source/geometry/volumes/src/G4VCurvedTrajectoryFilter.cc +++ b/source/geometry/volumes/src/G4VCurvedTrajectoryFilter.cc @@ -21,13 +21,23 @@ // ******************************************************************** // // -// $Id: G4VCurvedTrajectoryFilter.cc,v 1.3 2002/11/30 17:22:37 stesting Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VCurvedTrajectoryFilter.cc,v 1.4 2003/02/06 18:53:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4VCurvedTrajectoryFilter.hh" +G4VCurvedTrajectoryFilter::G4VCurvedTrajectoryFilter() + : fpFilteredPoints(0) +{ +} + +G4VCurvedTrajectoryFilter::~G4VCurvedTrajectoryFilter() +{ +} + G4std::vector* -G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem() { +G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem() +{ G4std::vector* tmp = fpFilteredPoints; // ParticleChangeForTransport invokes this method (via // PropagatorInField) at every Step, even if the step did not @@ -37,17 +47,20 @@ G4VCurvedTrajectoryFilter::GimmeThePointsAndForgetThem() { // responsibility for deleting the vector lies with the // SmoothTrajctoryPoint, which is the vector's final destination.) // (jacek 08/11/2002) - fpFilteredPoints = NULL; + fpFilteredPoints = 0; return tmp; } void -G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment( ) { - if (fpFilteredPoints) { +G4VCurvedTrajectoryFilter::CreateNewTrajectorySegment( ) +{ + if (fpFilteredPoints) + { // GimmePoints has not been called (it would have set the // pointer to NULL), therefore nobody has taken charge of the // points and they will never be deleted! - G4cout << "!!!!!!!! Filter: auxliary points are being memory leaked !!!!!" << G4endl; + G4cout << "!!!!!!!! Filter: auxiliary points are being memory leaked !!!!!" + << G4endl; } fpFilteredPoints = new G4std::vector; } diff --git a/source/geometry/volumes/src/G4VoxelNavigation.cc b/source/geometry/volumes/src/G4VoxelNavigation.cc index 944cee9823..999a1b461b 100644 --- a/source/geometry/volumes/src/G4VoxelNavigation.cc +++ b/source/geometry/volumes/src/G4VoxelNavigation.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.cc,v 1.11 2002/08/06 10:35:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VoxelNavigation.cc,v 1.13 2003/03/31 14:39:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4VoxelNavigation Implementation @@ -55,7 +55,7 @@ G4VoxelNavigation::G4VoxelNavigation() G4VoxelNavigation::~G4VoxelNavigation() { #ifdef G4DEBUG_NAVIGATION - cout << "G4VoxelNavigation::~G4VoxelNavigation() called." << G4endl; + G4cout << "G4VoxelNavigation::~G4VoxelNavigation() called." << G4endl; #endif } @@ -502,7 +502,7 @@ G4VoxelNavigation::LocateNextVoxel(const G4ThreeVector& localPoint, G4double G4VoxelNavigation::ComputeSafety(const G4ThreeVector& localPoint, const G4NavigationHistory& history, - const G4double pMaxLength ) + const G4double ) { G4VPhysicalVolume *motherPhysical, *samplePhysical; G4LogicalVolume *motherLogical; diff --git a/source/global/HEPGeometry/include/G4LorentzRotation.hh b/source/global/HEPGeometry/include/G4LorentzRotation.hh index 6fa31c7914..54beaa5b3a 100644 --- a/source/global/HEPGeometry/include/G4LorentzRotation.hh +++ b/source/global/HEPGeometry/include/G4LorentzRotation.hh @@ -22,7 +22,7 @@ // // // $Id: G4LorentzRotation.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4LorentzRotation_hh #define G4LorentzRotation_hh diff --git a/source/global/HEPGeometry/include/G4LorentzVector.hh b/source/global/HEPGeometry/include/G4LorentzVector.hh index 27549b105a..477bcfa0d8 100644 --- a/source/global/HEPGeometry/include/G4LorentzVector.hh +++ b/source/global/HEPGeometry/include/G4LorentzVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4LorentzVector.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4LorentzVector_hh #define G4LorentzVector_hh diff --git a/source/global/HEPGeometry/include/G4Normal3D.hh b/source/global/HEPGeometry/include/G4Normal3D.hh index f3e658afcb..7d2267232b 100644 --- a/source/global/HEPGeometry/include/G4Normal3D.hh +++ b/source/global/HEPGeometry/include/G4Normal3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Normal3D.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NORMAL3D_HH #define G4NORMAL3D_HH diff --git a/source/global/HEPGeometry/include/G4Plane3D.hh b/source/global/HEPGeometry/include/G4Plane3D.hh index de7d97c623..907c9ce6c2 100644 --- a/source/global/HEPGeometry/include/G4Plane3D.hh +++ b/source/global/HEPGeometry/include/G4Plane3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Plane3D.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4PLANE3D_HH #define G4PLANE3D_HH diff --git a/source/global/HEPGeometry/include/G4Point3D.hh b/source/global/HEPGeometry/include/G4Point3D.hh index 8fd624ce2a..d32de0cecb 100644 --- a/source/global/HEPGeometry/include/G4Point3D.hh +++ b/source/global/HEPGeometry/include/G4Point3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Point3D.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4POINT3D_HH #define G4POINT3D_HH diff --git a/source/global/HEPGeometry/include/G4Transform3D.hh b/source/global/HEPGeometry/include/G4Transform3D.hh index 4b924aa68c..5c228a0642 100644 --- a/source/global/HEPGeometry/include/G4Transform3D.hh +++ b/source/global/HEPGeometry/include/G4Transform3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Transform3D.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4TRANSFORM3D_HH #define G4TRANSFORM3D_HH diff --git a/source/global/HEPGeometry/include/G4Vector3D.hh b/source/global/HEPGeometry/include/G4Vector3D.hh index d5d88b8f60..fa5f7b72cc 100644 --- a/source/global/HEPGeometry/include/G4Vector3D.hh +++ b/source/global/HEPGeometry/include/G4Vector3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4Vector3D.hh,v 1.3 2001/07/11 10:00:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VECTOR3D_HH #define G4VECTOR3D_HH diff --git a/source/global/HEPGeometry/include/geomdefs.hh b/source/global/HEPGeometry/include/geomdefs.hh index 498c30fdb1..9e5c4acebf 100644 --- a/source/global/HEPGeometry/include/geomdefs.hh +++ b/source/global/HEPGeometry/include/geomdefs.hh @@ -22,7 +22,7 @@ // // // $Id: geomdefs.hh,v 1.5 2002/05/15 09:32:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh index 59137f167e..8bbc0d9595 100644 --- a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh +++ b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh @@ -22,7 +22,7 @@ // // // $Id: G4ChebyshevApproximation.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4DataInterpolation.hh b/source/global/HEPNumerics/include/G4DataInterpolation.hh index 1088dddf21..571a73db32 100644 --- a/source/global/HEPNumerics/include/G4DataInterpolation.hh +++ b/source/global/HEPNumerics/include/G4DataInterpolation.hh @@ -22,7 +22,7 @@ // // // $Id: G4DataInterpolation.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh index 754e2969eb..89d239d39c 100644 --- a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh +++ b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh @@ -22,7 +22,7 @@ // // // $Id: G4GaussChebyshevQ.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh index c0eb4e1808..151feecf9d 100644 --- a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh +++ b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh @@ -22,7 +22,7 @@ // // // $Id: G4GaussHermiteQ.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh index 5d77caccda..3cdaf5df20 100644 --- a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh +++ b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh @@ -22,7 +22,7 @@ // // // $Id: G4GaussJacobiQ.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh index c8be537371..0d795a2c06 100644 --- a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh @@ -22,7 +22,7 @@ // // // $Id: G4GaussLaguerreQ.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh index 4c137024bf..e17cb1a1bb 100644 --- a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh @@ -22,7 +22,7 @@ // // // $Id: G4GaussLegendreQ.hh,v 1.4 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4Integrator.hh b/source/global/HEPNumerics/include/G4Integrator.hh index 4b03184a59..bbef6315f7 100644 --- a/source/global/HEPNumerics/include/G4Integrator.hh +++ b/source/global/HEPNumerics/include/G4Integrator.hh @@ -22,7 +22,7 @@ // // // $Id: G4Integrator.hh,v 1.5 2001/07/11 10:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4Integrator.icc b/source/global/HEPNumerics/include/G4Integrator.icc index f6d3498da6..95269b781c 100644 --- a/source/global/HEPNumerics/include/G4Integrator.icc +++ b/source/global/HEPNumerics/include/G4Integrator.icc @@ -22,7 +22,7 @@ // // // $Id: G4Integrator.icc,v 1.9 2002/12/05 15:39:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation of G4Integrator methods. // diff --git a/source/global/HEPNumerics/include/G4PolynomialSolver.hh b/source/global/HEPNumerics/include/G4PolynomialSolver.hh index 80ee85f673..c071bfd170 100644 --- a/source/global/HEPNumerics/include/G4PolynomialSolver.hh +++ b/source/global/HEPNumerics/include/G4PolynomialSolver.hh @@ -22,7 +22,7 @@ // // // $Id: G4PolynomialSolver.hh,v 1.3 2001/07/11 10:00:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4PolynomialSolver // diff --git a/source/global/HEPNumerics/include/G4PolynomialSolver.icc b/source/global/HEPNumerics/include/G4PolynomialSolver.icc index 1368cef1e6..189aa14019 100644 --- a/source/global/HEPNumerics/include/G4PolynomialSolver.icc +++ b/source/global/HEPNumerics/include/G4PolynomialSolver.icc @@ -22,7 +22,7 @@ // // // $Id: G4PolynomialSolver.icc,v 1.6 2001/07/11 10:00:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4PolynomialSolver // diff --git a/source/global/HEPNumerics/include/G4SimpleIntegration.hh b/source/global/HEPNumerics/include/G4SimpleIntegration.hh index c85647ea45..c0c7694a05 100644 --- a/source/global/HEPNumerics/include/G4SimpleIntegration.hh +++ b/source/global/HEPNumerics/include/G4SimpleIntegration.hh @@ -22,7 +22,7 @@ // // // $Id: G4SimpleIntegration.hh,v 1.3 2001/07/11 10:00:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh index bf2762e97c..da1575a703 100644 --- a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh +++ b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh @@ -22,7 +22,7 @@ // // // $Id: G4VGaussianQuadrature.hh,v 1.4 2001/07/11 10:00:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class description: // diff --git a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc index 009c5dcc31..7d6fac497d 100644 --- a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc +++ b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc @@ -22,7 +22,7 @@ // // // $Id: G4ChebyshevApproximation.cc,v 1.3 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4ChebyshevApproximation.hh" diff --git a/source/global/HEPNumerics/src/G4DataInterpolation.cc b/source/global/HEPNumerics/src/G4DataInterpolation.cc index fc9ad0c83d..5fb817f0d7 100644 --- a/source/global/HEPNumerics/src/G4DataInterpolation.cc +++ b/source/global/HEPNumerics/src/G4DataInterpolation.cc @@ -22,7 +22,7 @@ // // // $Id: G4DataInterpolation.cc,v 1.4 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4DataInterpolation.hh" diff --git a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc index eda65eec58..6b06732a02 100644 --- a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc +++ b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc @@ -22,7 +22,7 @@ // // // $Id: G4GaussChebyshevQ.cc,v 1.3 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4GaussChebyshevQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc index 8169becec1..b4c116c331 100644 --- a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc +++ b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc @@ -22,7 +22,7 @@ // // // $Id: G4GaussHermiteQ.cc,v 1.4 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4GaussHermiteQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc index 13fb5edae3..1c81738a12 100644 --- a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc +++ b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc @@ -22,7 +22,7 @@ // // // $Id: G4GaussJacobiQ.cc,v 1.4 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4GaussJacobiQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc index 56040c6d0b..1965d8613d 100644 --- a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc @@ -22,7 +22,7 @@ // // // $Id: G4GaussLaguerreQ.cc,v 1.4 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4GaussLaguerreQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc index 2913674fad..a802a46b0e 100644 --- a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc @@ -22,7 +22,7 @@ // // // $Id: G4GaussLegendreQ.cc,v 1.3 2001/07/11 10:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4GaussLegendreQ.hh" diff --git a/source/global/HEPNumerics/src/G4SimpleIntegration.cc b/source/global/HEPNumerics/src/G4SimpleIntegration.cc index 0380707c92..0a1909b23f 100644 --- a/source/global/HEPNumerics/src/G4SimpleIntegration.cc +++ b/source/global/HEPNumerics/src/G4SimpleIntegration.cc @@ -22,7 +22,7 @@ // // // $Id: G4SimpleIntegration.cc,v 1.3 2001/07/11 10:00:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation file for simple integration methods // diff --git a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc index 876d4b135c..92674ba423 100644 --- a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc +++ b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc @@ -22,7 +22,7 @@ // // // $Id: G4VGaussianQuadrature.cc,v 1.3 2001/07/11 10:00:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Implementation file for G4VGaussianQuadrature virtual base class // diff --git a/source/global/HEPRandom/include/G4Poisson.hh b/source/global/HEPRandom/include/G4Poisson.hh index cb3acd6e26..d76455c73d 100644 --- a/source/global/HEPRandom/include/G4Poisson.hh +++ b/source/global/HEPRandom/include/G4Poisson.hh @@ -22,7 +22,7 @@ // // // $Id: G4Poisson.hh,v 1.6 2001/07/11 10:00:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/HEPRandom/include/Randomize.hh b/source/global/HEPRandom/include/Randomize.hh index c99276a8cf..c35c9d21a2 100644 --- a/source/global/HEPRandom/include/Randomize.hh +++ b/source/global/HEPRandom/include/Randomize.hh @@ -22,7 +22,7 @@ // // // $Id: Randomize.hh,v 1.5 2001/07/11 10:00:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef randomize_h #define randomize_h 1 diff --git a/source/global/History b/source/global/History index b28bae4533..afa592b717 100644 --- a/source/global/History +++ b/source/global/History @@ -1,4 +1,4 @@ -$Id: History,v 1.107 2002/12/06 19:26:42 gcosmo Exp $ +$Id: History,v 1.113 2003/04/07 13:26:00 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,31 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +April 7, 2003 G.Cosmo (global-V05-00-05) +- G4Allocator.hh: revert back latest change. Performance loss is not really + relevant in a real simulation but not negligible in a specific unit test. +- Added simple unit tests for G4Allocator and G4Timer. + +April 1, 2003 G.Cosmo (global-V05-00-04) +- G4Allocator.hh: test additional protection for NULL pointer in FreeSingle(). + +March 27, 2003 G.Cosmo (global-V05-00-03) +- Fixed compilation problem on WIN32-VC platform for G4strstreambuf. + +March 25, 2003 G.Cosmo (global-V05-00-02) +- Fixed trivial strict pedantic warnings in copy constructor for + G4PhysicsTable and G4strstreambuf. Also for unused parameters in + a couple of methods in G4String. +- Removed unnecessary usage of GNU_GCC preprocessor flag in G4Allocator + and G4strstreambuf. + +February 05, 2003 G.Cosmo (global-V05-00-01) +- Removed copies of SystemOfUnits.h and PhysicalConstants.h, now using + directly headers from CLHEP: changed globals.hh and G4SIunits.hh. + +January 22, 2003 G.Cosmo (global-V05-00-00) +- global.hh: exclude definition of min/max for Windows .NET VC++ compiler. + December 6, 2002 G.Cosmo (global-V04-01-05) - G4Integrator.icc: fixed some uninitialised variables. - Fixed unit test for G4Integrator. diff --git a/source/global/management/include/G4Allocator.hh b/source/global/management/include/G4Allocator.hh index 1ae6fe5cf3..8f95fbf3cc 100644 --- a/source/global/management/include/G4Allocator.hh +++ b/source/global/management/include/G4Allocator.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Allocator.hh,v 1.11 2002/06/21 16:59:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Allocator.hh,v 1.12 2003/03/25 14:56:17 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -152,7 +152,7 @@ void G4Allocator::FreeSingle(Type* anElement) // instead. This advanced C++ feature seems not to work on earlier // versions of the same compiler. // - #if (GNU_GCC==1) && (__GNUC__==3) && (__GNUC_MINOR__>0) + #if (__GNUC__==3) && (__GNUC_MINOR__>0) Type G4AllocatorUnit::*pOffset = &G4AllocatorUnit::fElement; fUnit = (G4AllocatorUnit *) ((char *)anElement - size_t(pOffset)); #else diff --git a/source/global/management/include/G4AllocatorPage.hh b/source/global/management/include/G4AllocatorPage.hh index b396decf88..854f451a7c 100644 --- a/source/global/management/include/G4AllocatorPage.hh +++ b/source/global/management/include/G4AllocatorPage.hh @@ -22,7 +22,7 @@ // // // $Id: G4AllocatorPage.hh,v 1.4 2002/05/21 10:31:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4AllocatorUnit.hh b/source/global/management/include/G4AllocatorUnit.hh index ea862ad095..52ccb0b2c7 100644 --- a/source/global/management/include/G4AllocatorUnit.hh +++ b/source/global/management/include/G4AllocatorUnit.hh @@ -22,7 +22,7 @@ // // // $Id: G4AllocatorUnit.hh,v 1.4 2002/05/21 10:31:25 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4ApplicationState.hh b/source/global/management/include/G4ApplicationState.hh index 1e62c36128..c6a66fbc3c 100644 --- a/source/global/management/include/G4ApplicationState.hh +++ b/source/global/management/include/G4ApplicationState.hh @@ -22,7 +22,7 @@ // // // $Id: G4ApplicationState.hh,v 1.3 2002/12/04 17:39:50 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4APPLICATIONSTATE_H diff --git a/source/global/management/include/G4DataVector.hh b/source/global/management/include/G4DataVector.hh index 4a66efaf98..82ecfaff28 100644 --- a/source/global/management/include/G4DataVector.hh +++ b/source/global/management/include/G4DataVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4DataVector.hh,v 1.11 2002/04/19 07:10:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4ExceptionSeverity.hh b/source/global/management/include/G4ExceptionSeverity.hh index 218d29bb52..76aafaa477 100644 --- a/source/global/management/include/G4ExceptionSeverity.hh +++ b/source/global/management/include/G4ExceptionSeverity.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExceptionSeverity.hh,v 1.2 2002/08/26 14:56:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class Description: // diff --git a/source/global/management/include/G4FastVector.hh b/source/global/management/include/G4FastVector.hh index efe4497928..ff054b46e3 100644 --- a/source/global/management/include/G4FastVector.hh +++ b/source/global/management/include/G4FastVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastVector.hh,v 1.4 2001/07/11 10:00:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4LPhysicsFreeVector.hh b/source/global/management/include/G4LPhysicsFreeVector.hh index e22f6680af..53458fea6a 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.hh +++ b/source/global/management/include/G4LPhysicsFreeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4LPhysicsFreeVector.hh,v 1.7 2001/07/11 10:00:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4LPhysicsFreeVector.icc b/source/global/management/include/G4LPhysicsFreeVector.icc index 41bc6ffdf5..009a324e0b 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.icc +++ b/source/global/management/include/G4LPhysicsFreeVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4LPhysicsFreeVector.icc,v 1.5 2001/07/11 10:00:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4OrderedTable.hh b/source/global/management/include/G4OrderedTable.hh index c62ea60861..283e55c408 100644 --- a/source/global/management/include/G4OrderedTable.hh +++ b/source/global/management/include/G4OrderedTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4OrderedTable.hh,v 1.10 2002/04/19 07:10:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsFreeVector.hh b/source/global/management/include/G4PhysicsFreeVector.hh index eedfd72012..9b74a48e98 100644 --- a/source/global/management/include/G4PhysicsFreeVector.hh +++ b/source/global/management/include/G4PhysicsFreeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsFreeVector.hh,v 1.8 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLinearVector.hh b/source/global/management/include/G4PhysicsLinearVector.hh index fbe8dcf1d0..bce61607d8 100644 --- a/source/global/management/include/G4PhysicsLinearVector.hh +++ b/source/global/management/include/G4PhysicsLinearVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLinearVector.hh,v 1.7 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLnVector.hh b/source/global/management/include/G4PhysicsLnVector.hh index 7b67c3f11d..39609d8a10 100644 --- a/source/global/management/include/G4PhysicsLnVector.hh +++ b/source/global/management/include/G4PhysicsLnVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLnVector.hh,v 1.8 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLogVector.hh b/source/global/management/include/G4PhysicsLogVector.hh index f014074b1b..f88c3c74fd 100644 --- a/source/global/management/include/G4PhysicsLogVector.hh +++ b/source/global/management/include/G4PhysicsLogVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLogVector.hh,v 1.7 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.hh b/source/global/management/include/G4PhysicsOrderedFreeVector.hh index 70058b64ca..20d079f505 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.hh +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsOrderedFreeVector.hh,v 1.8 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Definition diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.icc b/source/global/management/include/G4PhysicsOrderedFreeVector.icc index 8e55689c13..ebd99686f6 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.icc +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsOrderedFreeVector.icc,v 1.6 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Inline Functions Definitions diff --git a/source/global/management/include/G4PhysicsTable.hh b/source/global/management/include/G4PhysicsTable.hh index 95ccc74248..11410305e8 100644 --- a/source/global/management/include/G4PhysicsTable.hh +++ b/source/global/management/include/G4PhysicsTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsTable.hh,v 1.11 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsTable.icc b/source/global/management/include/G4PhysicsTable.icc index a560f2e1e0..f1bcab0ac4 100644 --- a/source/global/management/include/G4PhysicsTable.icc +++ b/source/global/management/include/G4PhysicsTable.icc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsTable.icc,v 1.4 2001/07/11 10:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsVector.hh b/source/global/management/include/G4PhysicsVector.hh index d7e149f952..9e2de9810b 100644 --- a/source/global/management/include/G4PhysicsVector.hh +++ b/source/global/management/include/G4PhysicsVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsVector.hh,v 1.10 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsVector.icc b/source/global/management/include/G4PhysicsVector.icc index 75544c8f23..cee67b3d2a 100644 --- a/source/global/management/include/G4PhysicsVector.icc +++ b/source/global/management/include/G4PhysicsVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsVector.icc,v 1.7 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsVectorType.hh b/source/global/management/include/G4PhysicsVectorType.hh index 96f37d35f1..5dde13d14c 100644 --- a/source/global/management/include/G4PhysicsVectorType.hh +++ b/source/global/management/include/G4PhysicsVectorType.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsVectorType.hh,v 1.3 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // diff --git a/source/global/management/include/G4ReferenceCountedHandle.hh b/source/global/management/include/G4ReferenceCountedHandle.hh index 230a753058..8f6492b16d 100644 --- a/source/global/management/include/G4ReferenceCountedHandle.hh +++ b/source/global/management/include/G4ReferenceCountedHandle.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReferenceCountedHandle.hh,v 1.14 2001/11/07 09:35:24 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4ReferenceCountedHandle diff --git a/source/global/management/include/G4RotationMatrix.hh b/source/global/management/include/G4RotationMatrix.hh index 0427522f74..95de7ec748 100644 --- a/source/global/management/include/G4RotationMatrix.hh +++ b/source/global/management/include/G4RotationMatrix.hh @@ -22,7 +22,7 @@ // // // $Id: G4RotationMatrix.hh,v 1.3 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4SIunits.hh b/source/global/management/include/G4SIunits.hh index 2fb279baea..f2cff6e8b6 100644 --- a/source/global/management/include/G4SIunits.hh +++ b/source/global/management/include/G4SIunits.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SIunits.hh,v 1.2 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SIunits.hh,v 1.3 2003/02/05 15:25:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // @@ -69,232 +69,232 @@ // // Length [L] // -static const HepDouble meter = 1.; -static const HepDouble meter2 = meter*meter; -static const HepDouble meter3 = meter*meter*meter; +static const double meter = 1.; +static const double meter2 = meter*meter; +static const double meter3 = meter*meter*meter; -static const HepDouble millimeter = 0.001*meter; -static const HepDouble millimeter2 = millimeter*millimeter; -static const HepDouble millimeter3 = millimeter*millimeter*millimeter; +static const double millimeter = 0.001*meter; +static const double millimeter2 = millimeter*millimeter; +static const double millimeter3 = millimeter*millimeter*millimeter; -static const HepDouble centimeter = 10.*millimeter; -static const HepDouble centimeter2 = centimeter*centimeter; -static const HepDouble centimeter3 = centimeter*centimeter*centimeter; +static const double centimeter = 10.*millimeter; +static const double centimeter2 = centimeter*centimeter; +static const double centimeter3 = centimeter*centimeter*centimeter; -static const HepDouble kilometer = 1000.*meter; -static const HepDouble kilometer2 = kilometer*kilometer; -static const HepDouble kilometer3 = kilometer*kilometer*kilometer; +static const double kilometer = 1000.*meter; +static const double kilometer2 = kilometer*kilometer; +static const double kilometer3 = kilometer*kilometer*kilometer; -static const HepDouble parsec = 3.0856775807e+16*meter; +static const double parsec = 3.0856775807e+16*meter; -static const HepDouble micrometer = 1.e-6 *meter; -static const HepDouble nanometer = 1.e-9 *meter; -static const HepDouble angstrom = 1.e-10*meter; -static const HepDouble fermi = 1.e-15*meter; +static const double micrometer = 1.e-6 *meter; +static const double nanometer = 1.e-9 *meter; +static const double angstrom = 1.e-10*meter; +static const double fermi = 1.e-15*meter; -static const HepDouble barn = 1.e-28*meter2; -static const HepDouble millibarn = 1.e-3 *barn; -static const HepDouble microbarn = 1.e-6 *barn; -static const HepDouble nanobarn = 1.e-9 *barn; -static const HepDouble picobarn = 1.e-12*barn; +static const double barn = 1.e-28*meter2; +static const double millibarn = 1.e-3 *barn; +static const double microbarn = 1.e-6 *barn; +static const double nanobarn = 1.e-9 *barn; +static const double picobarn = 1.e-12*barn; // symbols -static const HepDouble mm = millimeter; -static const HepDouble mm2 = millimeter2; -static const HepDouble mm3 = millimeter3; +static const double mm = millimeter; +static const double mm2 = millimeter2; +static const double mm3 = millimeter3; -static const HepDouble cm = centimeter; -static const HepDouble cm2 = centimeter2; -static const HepDouble cm3 = centimeter3; +static const double cm = centimeter; +static const double cm2 = centimeter2; +static const double cm3 = centimeter3; -static const HepDouble m = meter; -static const HepDouble m2 = meter2; -static const HepDouble m3 = meter3; +static const double m = meter; +static const double m2 = meter2; +static const double m3 = meter3; -static const HepDouble km = kilometer; -static const HepDouble km2 = kilometer2; -static const HepDouble km3 = kilometer3; +static const double km = kilometer; +static const double km2 = kilometer2; +static const double km3 = kilometer3; -static const HepDouble pc = parsec; +static const double pc = parsec; // // Angle // -static const HepDouble radian = 1.; -static const HepDouble milliradian = 1.e-3*radian; -static const HepDouble degree = (3.14159265358979323846/180.0)*radian; +static const double radian = 1.; +static const double milliradian = 1.e-3*radian; +static const double degree = (3.14159265358979323846/180.0)*radian; -static const HepDouble steradian = 1.; +static const double steradian = 1.; // symbols -static const HepDouble rad = radian; -static const HepDouble mrad = milliradian; -static const HepDouble sr = steradian; -static const HepDouble deg = degree; +static const double rad = radian; +static const double mrad = milliradian; +static const double sr = steradian; +static const double deg = degree; // // Time [T] // -static const HepDouble second = 1.; -static const HepDouble nanosecond = 1.e-9 *second; -static const HepDouble millisecond = 1.e-3 *second; -static const HepDouble microsecond = 1.e-6 *second; -static const HepDouble picosecond = 1.e-12*second; +static const double second = 1.; +static const double nanosecond = 1.e-9 *second; +static const double millisecond = 1.e-3 *second; +static const double microsecond = 1.e-6 *second; +static const double picosecond = 1.e-12*second; -static const HepDouble hertz = 1./second; -static const HepDouble kilohertz = 1.e+3*hertz; -static const HepDouble megahertz = 1.e+6*hertz; +static const double hertz = 1./second; +static const double kilohertz = 1.e+3*hertz; +static const double megahertz = 1.e+6*hertz; // symbols -static const HepDouble ns = nanosecond; -static const HepDouble s = second; -static const HepDouble ms = millisecond; +static const double ns = nanosecond; +static const double s = second; +static const double ms = millisecond; // // Mass [E][T^2][L^-2] // -static const HepDouble kilogram = 1.; -static const HepDouble gram = 1.e-3*kilogram; -static const HepDouble milligram = 1.e-3*gram; +static const double kilogram = 1.; +static const double gram = 1.e-3*kilogram; +static const double milligram = 1.e-3*gram; // symbols -static const HepDouble kg = kilogram; -static const HepDouble g = gram; -static const HepDouble mg = milligram; +static const double kg = kilogram; +static const double g = gram; +static const double mg = milligram; // // Electric current [Q][T^-1] // -static const HepDouble ampere = 1.; -static const HepDouble milliampere = 1.e-3*ampere; -static const HepDouble microampere = 1.e-6*ampere; -static const HepDouble nanoampere = 1.e-9*ampere; +static const double ampere = 1.; +static const double milliampere = 1.e-3*ampere; +static const double microampere = 1.e-6*ampere; +static const double nanoampere = 1.e-9*ampere; // // Electric charge [Q] // -static const HepDouble coulomb = ampere*second; -static const HepDouble e_SI = 1.60217733e-19; // positron charge in coulomb -static const HepDouble eplus = e_SI*coulomb ; // positron charge +static const double coulomb = ampere*second; +static const double e_SI = 1.60217733e-19; // positron charge in coulomb +static const double eplus = e_SI*coulomb ; // positron charge // // Energy [E] // -static const HepDouble joule = kg*m*m/(s*s); +static const double joule = kg*m*m/(s*s); -static const HepDouble electronvolt = e_SI*joule; -static const HepDouble kiloelectronvolt = 1.e+3*electronvolt; -static const HepDouble megaelectronvolt = 1.e+6*electronvolt; -static const HepDouble gigaelectronvolt = 1.e+9*electronvolt; -static const HepDouble teraelectronvolt = 1.e+12*electronvolt; -static const HepDouble petaelectronvolt = 1.e+15*electronvolt; +static const double electronvolt = e_SI*joule; +static const double kiloelectronvolt = 1.e+3*electronvolt; +static const double megaelectronvolt = 1.e+6*electronvolt; +static const double gigaelectronvolt = 1.e+9*electronvolt; +static const double teraelectronvolt = 1.e+12*electronvolt; +static const double petaelectronvolt = 1.e+15*electronvolt; // symbols -static const HepDouble MeV = megaelectronvolt; -static const HepDouble eV = electronvolt; -static const HepDouble keV = kiloelectronvolt; -static const HepDouble GeV = gigaelectronvolt; -static const HepDouble TeV = teraelectronvolt; -static const HepDouble PeV = petaelectronvolt; +static const double MeV = megaelectronvolt; +static const double eV = electronvolt; +static const double keV = kiloelectronvolt; +static const double GeV = gigaelectronvolt; +static const double TeV = teraelectronvolt; +static const double PeV = petaelectronvolt; // // Power [E][T^-1] // -static const HepDouble watt = joule/second; // watt = 6.24150 e+3 * MeV/ns +static const double watt = joule/second; // watt = 6.24150 e+3 * MeV/ns // // Force [E][L^-1] // -static const HepDouble newton = joule/meter; // newton = 6.24150 e+9 * MeV/mm +static const double newton = joule/meter; // newton = 6.24150 e+9 * MeV/mm // // Pressure [E][L^-3] // #define pascal hep_pascal // a trick to avoid warnings -static const HepDouble hep_pascal = newton/m2; // pascal = 6.24150 e+3 * MeV/mm3 -static const HepDouble bar = 100000*pascal; // bar = 6.24150 e+8 * MeV/mm3 -static const HepDouble atmosphere = 101325*pascal; // atm = 6.32420 e+8 * MeV/mm3 +static const double hep_pascal = newton/m2; // pascal = 6.24150 e+3 * MeV/mm3 +static const double bar = 100000*pascal; // bar = 6.24150 e+8 * MeV/mm3 +static const double atmosphere = 101325*pascal; // atm = 6.32420 e+8 * MeV/mm3 // // Electric potential [E][Q^-1] // -static const HepDouble megavolt = megaelectronvolt/eplus; -static const HepDouble kilovolt = 1.e-3*megavolt; -static const HepDouble volt = 1.e-6*megavolt; +static const double megavolt = megaelectronvolt/eplus; +static const double kilovolt = 1.e-3*megavolt; +static const double volt = 1.e-6*megavolt; // // Electric resistance [E][T][Q^-2] // -static const HepDouble ohm = volt/ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns) +static const double ohm = volt/ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns) // // Electric capacitance [Q^2][E^-1] // -static const HepDouble farad = coulomb/volt; // farad = 6.24150e+24 * eplus/Megavolt -static const HepDouble millifarad = 1.e-3*farad; -static const HepDouble microfarad = 1.e-6*farad; -static const HepDouble nanofarad = 1.e-9*farad; -static const HepDouble picofarad = 1.e-12*farad; +static const double farad = coulomb/volt; // farad = 6.24150e+24 * eplus/Megavolt +static const double millifarad = 1.e-3*farad; +static const double microfarad = 1.e-6*farad; +static const double nanofarad = 1.e-9*farad; +static const double picofarad = 1.e-12*farad; // // Magnetic Flux [T][E][Q^-1] // -static const HepDouble weber = volt*second; // weber = 1000*megavolt*ns +static const double weber = volt*second; // weber = 1000*megavolt*ns // // Magnetic Field [T][E][Q^-1][L^-2] // -static const HepDouble tesla = volt*second/meter2; // tesla =0.001*megavolt*ns/mm2 +static const double tesla = volt*second/meter2; // tesla =0.001*megavolt*ns/mm2 -static const HepDouble gauss = 1.e-4*tesla; -static const HepDouble kilogauss = 1.e-1*tesla; +static const double gauss = 1.e-4*tesla; +static const double kilogauss = 1.e-1*tesla; // // Inductance [T^2][E][Q^-2] // -static const HepDouble henry = weber/ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2 +static const double henry = weber/ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2 // // Temperature // -static const HepDouble kelvin = 1.; +static const double kelvin = 1.; // // Amount of substance // -static const HepDouble mole = 1.; +static const double mole = 1.; // // Activity [T^-1] // -static const HepDouble becquerel = 1./second ; -static const HepDouble curie = 3.7e+10 * becquerel; +static const double becquerel = 1./second ; +static const double curie = 3.7e+10 * becquerel; // // Absorbed dose [L^2][T^-2] // -static const HepDouble gray = joule/kilogram ; +static const double gray = joule/kilogram ; // // Luminous intensity [I] // -static const HepDouble candela = 1.; +static const double candela = 1.; // // Luminous flux [I] // -static const HepDouble lumen = candela*steradian; +static const double lumen = candela*steradian; // // Illuminance [I][L^-2] // -static const HepDouble lux = lumen/meter2; +static const double lux = lumen/meter2; // // Miscellaneous // -static const HepDouble perCent = 0.01 ; -static const HepDouble perThousand = 0.001; -static const HepDouble perMillion = 0.000001; +static const double perCent = 0.01 ; +static const double perThousand = 0.001; +static const double perMillion = 0.000001; #endif /* G4UNITSTEST_HH */ diff --git a/source/global/management/include/G4StateManager.hh b/source/global/management/include/G4StateManager.hh index db561d7344..a34dc4149d 100644 --- a/source/global/management/include/G4StateManager.hh +++ b/source/global/management/include/G4StateManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4StateManager.hh,v 1.7 2002/08/19 18:20:11 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4String.hh b/source/global/management/include/G4String.hh index 1fe7b43543..5bd1c8d160 100644 --- a/source/global/management/include/G4String.hh +++ b/source/global/management/include/G4String.hh @@ -22,7 +22,7 @@ // // // $Id: G4String.hh,v 1.3 2002/03/25 15:32:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4String.icc b/source/global/management/include/G4String.icc index 2cb1b62215..1720c806c8 100644 --- a/source/global/management/include/G4String.icc +++ b/source/global/management/include/G4String.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4String.icc,v 1.3 2002/03/25 15:32:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4String.icc,v 1.4 2003/03/25 14:56:17 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -422,10 +422,10 @@ G4bool G4String::isNull() const return empty (); } -// "cs" optional parameter is NOT implemented ! +// "caseCompare" optional parameter is NOT implemented ! // str_size G4String::index( const G4String& s, str_size ln, - str_size st, G4String::caseCompare cs ) const + str_size st, G4String::caseCompare ) const { return std_string::find( s.c_str(), st, ln ); } @@ -450,7 +450,7 @@ const char* G4String::data() const return c_str(); } -unsigned int G4String::hash( caseCompare cmp ) const +unsigned int G4String::hash( caseCompare ) const { const char*s=c_str(); unsigned long h = 0; diff --git a/source/global/management/include/G4ThreeVector.hh b/source/global/management/include/G4ThreeVector.hh index e8b315e4c7..cc36c92661 100644 --- a/source/global/management/include/G4ThreeVector.hh +++ b/source/global/management/include/G4ThreeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ThreeVector.hh,v 1.3 2001/07/11 10:00:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Timer.hh b/source/global/management/include/G4Timer.hh index 8a2ecb7e77..b7a7735582 100644 --- a/source/global/management/include/G4Timer.hh +++ b/source/global/management/include/G4Timer.hh @@ -22,7 +22,7 @@ // // // $Id: G4Timer.hh,v 1.11 2001/07/11 10:00:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Tokenizer.hh b/source/global/management/include/G4Tokenizer.hh index ca40452742..3248a2218a 100644 --- a/source/global/management/include/G4Tokenizer.hh +++ b/source/global/management/include/G4Tokenizer.hh @@ -22,7 +22,7 @@ // // // $Id: G4Tokenizer.hh,v 1.1 2001/10/11 14:04:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4Types.hh b/source/global/management/include/G4Types.hh index 88e65d18ed..d2fde0b28b 100644 --- a/source/global/management/include/G4Types.hh +++ b/source/global/management/include/G4Types.hh @@ -22,7 +22,7 @@ // // // $Id: G4Types.hh,v 1.5 2001/07/11 10:00:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT4 native types diff --git a/source/global/management/include/G4UnitsTable.hh b/source/global/management/include/G4UnitsTable.hh index 530b1badb2..4c3ad303e8 100644 --- a/source/global/management/include/G4UnitsTable.hh +++ b/source/global/management/include/G4UnitsTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4UnitsTable.hh,v 1.12 2002/11/20 11:25:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ----------------------------------------------------------------- diff --git a/source/global/management/include/G4UserLimits.hh b/source/global/management/include/G4UserLimits.hh index 3db9d792af..a72fbf4154 100644 --- a/source/global/management/include/G4UserLimits.hh +++ b/source/global/management/include/G4UserLimits.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserLimits.hh,v 1.7 2001/07/11 10:00:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // class G4UserLimits diff --git a/source/global/management/include/G4UserLimits.icc b/source/global/management/include/G4UserLimits.icc index f2a4c641a6..c51d0f45a9 100644 --- a/source/global/management/include/G4UserLimits.icc +++ b/source/global/management/include/G4UserLimits.icc @@ -22,7 +22,7 @@ // // // $Id: G4UserLimits.icc,v 1.6 2001/07/11 10:00:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/global/management/include/G4VExceptionHandler.hh b/source/global/management/include/G4VExceptionHandler.hh index 10bae97661..7e060008b7 100644 --- a/source/global/management/include/G4VExceptionHandler.hh +++ b/source/global/management/include/G4VExceptionHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VExceptionHandler.hh,v 1.1 2002/08/19 18:20:11 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4VStateDependent.hh b/source/global/management/include/G4VStateDependent.hh index fd3f1b7692..961aed2e8e 100644 --- a/source/global/management/include/G4VStateDependent.hh +++ b/source/global/management/include/G4VStateDependent.hh @@ -22,7 +22,7 @@ // // // $Id: G4VStateDependent.hh,v 1.3 2001/07/11 10:00:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4coutDestination.hh b/source/global/management/include/G4coutDestination.hh index 2b7ae1e3dd..a277d46bf4 100644 --- a/source/global/management/include/G4coutDestination.hh +++ b/source/global/management/include/G4coutDestination.hh @@ -22,7 +22,7 @@ // // // $Id: G4coutDestination.hh,v 1.4 2001/07/11 10:00:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/global/management/include/G4ios.hh b/source/global/management/include/G4ios.hh index 3e271c836e..638045cf14 100644 --- a/source/global/management/include/G4ios.hh +++ b/source/global/management/include/G4ios.hh @@ -22,7 +22,7 @@ // // // $Id: G4ios.hh,v 1.6 2001/07/11 10:00:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/global/management/include/G4strstreambuf.hh b/source/global/management/include/G4strstreambuf.hh index 85127badee..90a288d950 100644 --- a/source/global/management/include/G4strstreambuf.hh +++ b/source/global/management/include/G4strstreambuf.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4strstreambuf.hh,v 1.8 2001/07/11 10:00:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4strstreambuf.hh,v 1.9 2003/03/27 16:41:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- @@ -44,6 +44,9 @@ extern G4strstreambuf G4cerrbuf; class G4strstreambuf : public G4std::streambuf { + + typedef G4std::streambuf std_streambuf; + public: G4strstreambuf(); diff --git a/source/global/management/include/G4strstreambuf.icc b/source/global/management/include/G4strstreambuf.icc index e447c35b6c..a1810c0e20 100644 --- a/source/global/management/include/G4strstreambuf.icc +++ b/source/global/management/include/G4strstreambuf.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4strstreambuf.icc,v 1.6 2002/05/24 15:01:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4strstreambuf.icc,v 1.8 2003/03/27 16:41:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- @@ -49,7 +49,7 @@ G4strstreambuf::~G4strstreambuf() inline G4strstreambuf::G4strstreambuf(const G4strstreambuf& right) - : destination(right.destination), + : std_streambuf(), destination(right.destination), buffer(right.buffer), count(right.count), size(right.size) { } @@ -88,7 +88,7 @@ G4int G4strstreambuf::overflow(G4int c) // for cout, cerr overflow() function has to be c instead of 0 when // buffer is flushed for carriage-return. // - #if defined(GNU_GCC) && defined(G4USE_STD_NAMESPACE) && (__GNUC__==3) && (__GNUC_MINOR__==0) + #if (__GNUC__==3) && (__GNUC_MINOR__==0) if (this == & G4coutbuf || this == & G4cerrbuf) result = c; #endif } diff --git a/source/global/management/include/PhysicalConstants.h b/source/global/management/include/PhysicalConstants.h deleted file mode 100644 index cd79648d3e..0000000000 --- a/source/global/management/include/PhysicalConstants.h +++ /dev/null @@ -1,157 +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: PhysicalConstants.h,v 1.6 2001/07/11 10:00:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// ---------------------------------------------------------------------- -// -// Class description: -// -// HEP coherent Physical Constants -// -// This file has been provided to CLHEP by Geant4 (simulation toolkit for HEP). -// -// The basic units are : -// millimeter -// nanosecond -// Mega electron Volt -// positon charge -// degree Kelvin -// amount of substance (mole) -// luminous intensity (candela) -// radian -// steradian -// -// Below is a non exhaustive List of Physical CONSTANTS, -// computed in the Internal HEP System Of Units. -// -// Most of them are extracted from the Particle Data Book : -// Phys. Rev. D volume 50 3-1 (1994) page 1233 -// -// ...with a meaningful (?) name ... -// -// You can add your own constants. -// - -// Author: M.Maire -// -// History: -// -// 23.02.96 Created -// 26.03.96 Added constants for standard conditions of temperature -// and pressure; also added Gas threshold. - -#ifndef HEP_PHYSICAL_CONSTANTS_H -#define HEP_PHYSICAL_CONSTANTS_H - -#include "SystemOfUnits.h" -////#include "G4SIunits.hh" - -// -// -// -static const HepDouble pi = 3.14159265358979323846; -static const HepDouble twopi = 2*pi; -static const HepDouble halfpi = pi/2; -static const HepDouble pi2 = pi*pi; - -// -// -// -static const HepDouble Avogadro = 6.0221367e+23/mole; - -// -// c = 299.792458 mm/ns -// c^2 = 898.7404 (mm/ns)^2 -// -static const HepDouble c_light = 2.99792458e+8 * m/s; -static const HepDouble c_squared = c_light * c_light; - -// -// h = 4.13566e-12 MeV*ns -// hbar = 6.58212e-13 MeV*ns -// hbarc = 197.32705e-12 MeV*mm -// -static const HepDouble h_Planck = 6.6260755e-34 * joule*s; -static const HepDouble hbar_Planck = h_Planck/twopi; -static const HepDouble hbarc = hbar_Planck * c_light; -static const HepDouble hbarc_squared = hbarc * hbarc; - -// -// -// -static const HepDouble electron_charge = - eplus; // see SystemOfUnits.h -static const HepDouble e_squared = eplus * eplus; - -// -// amu_c2 - atomic equivalent mass unit -// amu - atomic mass unit -// -static const HepDouble electron_mass_c2 = 0.51099906 * MeV; -static const HepDouble proton_mass_c2 = 938.27231 * MeV; -static const HepDouble neutron_mass_c2 = 939.56563 * MeV; -static const HepDouble amu_c2 = 931.49432 * MeV; -static const HepDouble amu = amu_c2/c_squared; - -// -// permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm -// permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) -// -static const HepDouble mu0 = 4*pi*1.e-7 * henry/m; -static const HepDouble epsilon0 = 1./(c_squared*mu0); - -// -// electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) -// -static const HepDouble elm_coupling = e_squared/(4*pi*epsilon0); -static const HepDouble fine_structure_const = elm_coupling/hbarc; -static const HepDouble classic_electr_radius = elm_coupling/electron_mass_c2; -static const HepDouble electron_Compton_length = hbarc/electron_mass_c2; -static const HepDouble Bohr_radius = electron_Compton_length/fine_structure_const; - -static const HepDouble alpha_rcl2 = fine_structure_const - *classic_electr_radius - *classic_electr_radius; - -static const HepDouble twopi_mc2_rcl2 = twopi*electron_mass_c2 - *classic_electr_radius - *classic_electr_radius; -// -// -// -static const HepDouble k_Boltzmann = 8.617385e-11 * MeV/kelvin; - -// -// -// -static const HepDouble STP_Temperature = 273.15*kelvin; -static const HepDouble STP_Pressure = 1.*atmosphere; -static const HepDouble kGasThreshold = 10.*mg/cm3; - -// -// -// -static const HepDouble universe_mean_density = 1.e-25*g/cm3; - -#endif /* HEP_PHYSICAL_CONSTANTS_H */ diff --git a/source/global/management/include/SystemOfUnits.h b/source/global/management/include/SystemOfUnits.h deleted file mode 100644 index 2cf0c50ea0..0000000000 --- a/source/global/management/include/SystemOfUnits.h +++ /dev/null @@ -1,305 +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: SystemOfUnits.h,v 1.7 2001/07/11 10:00:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// ---------------------------------------------------------------------- -// -// Class description: -// -// HEP coherent system of Units -// -// This file has been provided to CLHEP by Geant4 (simulation toolkit for HEP). -// -// The basic units are : -// millimeter (millimeter) -// nanosecond (nanosecond) -// Mega electron Volt (MeV) -// positron charge (eplus) -// degree Kelvin (kelvin) -// the amount of substance (mole) -// luminous intensity (candela) -// radian (radian) -// steradian (steradian) -// -// Below is a non exhaustive list of derived and pratical units -// (i.e. mostly the SI units). -// You can add your own units. -// -// The SI numerical value of the positron charge is defined here, -// as it is needed for conversion factor : positron charge = e_SI (coulomb) -// -// The others physical constants are defined in the header file : -// PhysicalConstants.h -// - -// Authors: M.Maire, S.Giani -// -// History: -// -// 06.02.96 Created. -// 28.03.96 Added miscellaneous constants. -// 05.12.97 E.Tcherniaev: Redefined pascal (to avoid warnings on WinNT) -// 20.05.98 names: meter, second, gram, radian, degree -// (from Brian.Lasiuk@yale.edu (STAR)). Added luminous units. -// 05.08.98 angstrom, picobarn, microsecond, picosecond, petaelectronvolt -// 01.03.01 parsec - -#ifndef HEP_SYSTEM_OF_UNITS_H -#define HEP_SYSTEM_OF_UNITS_H - -#include "CLHEP/config/CLHEP.h" - -// -// Length [L] -// -static const HepDouble millimeter = 1.; -static const HepDouble millimeter2 = millimeter*millimeter; -static const HepDouble millimeter3 = millimeter*millimeter*millimeter; - -static const HepDouble centimeter = 10.*millimeter; -static const HepDouble centimeter2 = centimeter*centimeter; -static const HepDouble centimeter3 = centimeter*centimeter*centimeter; - -static const HepDouble meter = 1000.*millimeter; -static const HepDouble meter2 = meter*meter; -static const HepDouble meter3 = meter*meter*meter; - -static const HepDouble kilometer = 1000.*meter; -static const HepDouble kilometer2 = kilometer*kilometer; -static const HepDouble kilometer3 = kilometer*kilometer*kilometer; - -static const HepDouble parsec = 3.0856775807e+16*meter; - -static const HepDouble micrometer = 1.e-6 *meter; -static const HepDouble nanometer = 1.e-9 *meter; -static const HepDouble angstrom = 1.e-10*meter; -static const HepDouble fermi = 1.e-15*meter; - -static const HepDouble barn = 1.e-28*meter2; -static const HepDouble millibarn = 1.e-3 *barn; -static const HepDouble microbarn = 1.e-6 *barn; -static const HepDouble nanobarn = 1.e-9 *barn; -static const HepDouble picobarn = 1.e-12*barn; - -// symbols -static const HepDouble mm = millimeter; -static const HepDouble mm2 = millimeter2; -static const HepDouble mm3 = millimeter3; - -static const HepDouble cm = centimeter; -static const HepDouble cm2 = centimeter2; -static const HepDouble cm3 = centimeter3; - -static const HepDouble m = meter; -static const HepDouble m2 = meter2; -static const HepDouble m3 = meter3; - -static const HepDouble km = kilometer; -static const HepDouble km2 = kilometer2; -static const HepDouble km3 = kilometer3; - -static const HepDouble pc = parsec; - -// -// Angle -// -static const HepDouble radian = 1.; -static const HepDouble milliradian = 1.e-3*radian; -static const HepDouble degree = (3.14159265358979323846/180.0)*radian; - -static const HepDouble steradian = 1.; - -// symbols -static const HepDouble rad = radian; -static const HepDouble mrad = milliradian; -static const HepDouble sr = steradian; -static const HepDouble deg = degree; - -// -// Time [T] -// -static const HepDouble nanosecond = 1.; -static const HepDouble second = 1.e+9 *nanosecond; -static const HepDouble millisecond = 1.e-3 *second; -static const HepDouble microsecond = 1.e-6 *second; -static const HepDouble picosecond = 1.e-12*second; - -static const HepDouble hertz = 1./second; -static const HepDouble kilohertz = 1.e+3*hertz; -static const HepDouble megahertz = 1.e+6*hertz; - -// symbols -static const HepDouble ns = nanosecond; -static const HepDouble s = second; -static const HepDouble ms = millisecond; - -// -// Electric charge [Q] -// -static const HepDouble eplus = 1. ; // positron charge -static const HepDouble e_SI = 1.60217733e-19; // positron charge in coulomb -static const HepDouble coulomb = eplus/e_SI; // coulomb = 6.24150 e+18 * eplus - -// -// Energy [E] -// -static const HepDouble megaelectronvolt = 1. ; -static const HepDouble electronvolt = 1.e-6*megaelectronvolt; -static const HepDouble kiloelectronvolt = 1.e-3*megaelectronvolt; -static const HepDouble gigaelectronvolt = 1.e+3*megaelectronvolt; -static const HepDouble teraelectronvolt = 1.e+6*megaelectronvolt; -static const HepDouble petaelectronvolt = 1.e+9*megaelectronvolt; - -static const HepDouble joule = electronvolt/e_SI; // joule = 6.24150 e+12 * MeV - -// symbols -static const HepDouble MeV = megaelectronvolt; -static const HepDouble eV = electronvolt; -static const HepDouble keV = kiloelectronvolt; -static const HepDouble GeV = gigaelectronvolt; -static const HepDouble TeV = teraelectronvolt; -static const HepDouble PeV = petaelectronvolt; - -// -// Mass [E][T^2][L^-2] -// -static const HepDouble kilogram = joule*second*second/(meter*meter); -static const HepDouble gram = 1.e-3*kilogram; -static const HepDouble milligram = 1.e-3*gram; - -// symbols -static const HepDouble kg = kilogram; -static const HepDouble g = gram; -static const HepDouble mg = milligram; - -// -// Power [E][T^-1] -// -static const HepDouble watt = joule/second; // watt = 6.24150 e+3 * MeV/ns - -// -// Force [E][L^-1] -// -static const HepDouble newton = joule/meter; // newton = 6.24150 e+9 * MeV/mm - -// -// Pressure [E][L^-3] -// -#define pascal hep_pascal // a trick to avoid warnings -static const HepDouble hep_pascal = newton/m2; // pascal = 6.24150 e+3 * MeV/mm3 -static const HepDouble bar = 100000*pascal; // bar = 6.24150 e+8 * MeV/mm3 -static const HepDouble atmosphere = 101325*pascal; // atm = 6.32420 e+8 * MeV/mm3 - -// -// Electric current [Q][T^-1] -// -static const HepDouble ampere = coulomb/second; // ampere = 6.24150 e+9 * eplus/ns -static const HepDouble milliampere = 1.e-3*ampere; -static const HepDouble microampere = 1.e-6*ampere; -static const HepDouble nanoampere = 1.e-9*ampere; - -// -// Electric potential [E][Q^-1] -// -static const HepDouble megavolt = megaelectronvolt/eplus; -static const HepDouble kilovolt = 1.e-3*megavolt; -static const HepDouble volt = 1.e-6*megavolt; - -// -// Electric resistance [E][T][Q^-2] -// -static const HepDouble ohm = volt/ampere; // ohm = 1.60217e-16*(MeV/eplus)/(eplus/ns) - -// -// Electric capacitance [Q^2][E^-1] -// -static const HepDouble farad = coulomb/volt; // farad = 6.24150e+24 * eplus/Megavolt -static const HepDouble millifarad = 1.e-3*farad; -static const HepDouble microfarad = 1.e-6*farad; -static const HepDouble nanofarad = 1.e-9*farad; -static const HepDouble picofarad = 1.e-12*farad; - -// -// Magnetic Flux [T][E][Q^-1] -// -static const HepDouble weber = volt*second; // weber = 1000*megavolt*ns - -// -// Magnetic Field [T][E][Q^-1][L^-2] -// -static const HepDouble tesla = volt*second/meter2; // tesla =0.001*megavolt*ns/mm2 - -static const HepDouble gauss = 1.e-4*tesla; -static const HepDouble kilogauss = 1.e-1*tesla; - -// -// Inductance [T^2][E][Q^-2] -// -static const HepDouble henry = weber/ampere; // henry = 1.60217e-7*MeV*(ns/eplus)**2 - -// -// Temperature -// -static const HepDouble kelvin = 1.; - -// -// Amount of substance -// -static const HepDouble mole = 1.; - -// -// Activity [T^-1] -// -static const HepDouble becquerel = 1./second ; -static const HepDouble curie = 3.7e+10 * becquerel; - -// -// Absorbed dose [L^2][T^-2] -// -static const HepDouble gray = joule/kilogram ; - -// -// Luminous intensity [I] -// -static const HepDouble candela = 1.; - -// -// Luminous flux [I] -// -static const HepDouble lumen = candela*steradian; - -// -// Illuminance [I][L^-2] -// -static const HepDouble lux = lumen/meter2; - -// -// Miscellaneous -// -static const HepDouble perCent = 0.01 ; -static const HepDouble perThousand = 0.001; -static const HepDouble perMillion = 0.000001; - -#endif /* HEP_SYSTEM_OF_UNITS_H */ diff --git a/source/global/management/include/g4std/algorithm b/source/global/management/include/g4std/algorithm index 355d732c94..b3faf0d014 100644 --- a/source/global/management/include/g4std/algorithm +++ b/source/global/management/include/g4std/algorithm @@ -6,7 +6,7 @@ // and all its terms. // // $Id: algorithm,v 1.3 1999/11/16 17:42:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- algorithm ---------------- // diff --git a/source/global/management/include/g4std/complex b/source/global/management/include/g4std/complex index a84ca6c4cf..2baa2ba288 100644 --- a/source/global/management/include/g4std/complex +++ b/source/global/management/include/g4std/complex @@ -7,7 +7,7 @@ // // // $Id: complex,v 1.3 2000/06/15 17:32:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- complex ---------------- // diff --git a/source/global/management/include/g4std/deque b/source/global/management/include/g4std/deque index 2c6507cfd5..2f23e33acd 100644 --- a/source/global/management/include/g4std/deque +++ b/source/global/management/include/g4std/deque @@ -6,7 +6,7 @@ // and all its terms. // // $Id: deque,v 1.2 2001/10/22 14:33:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- deque ---------------- // diff --git a/source/global/management/include/g4std/fstream b/source/global/management/include/g4std/fstream index b564e31194..58a3ec1fa2 100644 --- a/source/global/management/include/g4std/fstream +++ b/source/global/management/include/g4std/fstream @@ -6,7 +6,7 @@ // and all its terms. // // $Id: fstream,v 1.3 1999/11/16 17:43:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- fstream ---------------- // diff --git a/source/global/management/include/g4std/functional b/source/global/management/include/g4std/functional index 58415ee7b5..ac58456841 100644 --- a/source/global/management/include/g4std/functional +++ b/source/global/management/include/g4std/functional @@ -6,7 +6,7 @@ // and all its terms. // // $Id: functional,v 1.3 1999/11/16 17:43:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- functional ---------------- // diff --git a/source/global/management/include/g4std/iomanip b/source/global/management/include/g4std/iomanip index 6a97a1ac0c..842cf43fc0 100644 --- a/source/global/management/include/g4std/iomanip +++ b/source/global/management/include/g4std/iomanip @@ -6,7 +6,7 @@ // and all its terms. // // $Id: iomanip,v 1.3 1999/11/16 17:43:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- iomanip ---------------- // diff --git a/source/global/management/include/g4std/iostream b/source/global/management/include/g4std/iostream index 1734b1cf34..fd1a0e96e3 100644 --- a/source/global/management/include/g4std/iostream +++ b/source/global/management/include/g4std/iostream @@ -6,7 +6,7 @@ // and all its terms. // // $Id: iostream,v 1.3 1999/11/16 17:43:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- iostream ---------------- // diff --git a/source/global/management/include/g4std/list b/source/global/management/include/g4std/list index 0c0f3c5da8..e71f2b1e73 100644 --- a/source/global/management/include/g4std/list +++ b/source/global/management/include/g4std/list @@ -6,7 +6,7 @@ // and all its terms. // // $Id: list,v 1.1 2000/08/22 07:54:26 hpw Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- list ---------------- // diff --git a/source/global/management/include/g4std/map b/source/global/management/include/g4std/map index 14103df757..39306ebb17 100644 --- a/source/global/management/include/g4std/map +++ b/source/global/management/include/g4std/map @@ -6,7 +6,7 @@ // and all its terms. // // $Id: map,v 1.3 1999/11/16 17:43:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- map ---------------- // diff --git a/source/global/management/include/g4std/queue b/source/global/management/include/g4std/queue index ac80c1f18f..b611955eab 100644 --- a/source/global/management/include/g4std/queue +++ b/source/global/management/include/g4std/queue @@ -6,7 +6,7 @@ // and all its terms. // // $Id: queue,v 1.1 2000/08/02 09:49:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- queue ---------------- // diff --git a/source/global/management/include/g4std/set b/source/global/management/include/g4std/set index 5e80c3cfc4..7039595728 100644 --- a/source/global/management/include/g4std/set +++ b/source/global/management/include/g4std/set @@ -6,7 +6,7 @@ // and all its terms. // // $Id: set,v 1.3 1999/11/16 17:43:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- set ---------------- // diff --git a/source/global/management/include/g4std/streambuf b/source/global/management/include/g4std/streambuf index 2145a47bd5..ba2bd8954d 100644 --- a/source/global/management/include/g4std/streambuf +++ b/source/global/management/include/g4std/streambuf @@ -6,7 +6,7 @@ // and all its terms. // // $Id: streambuf,v 1.3 1999/11/16 17:43:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- streambuf ---------------- // diff --git a/source/global/management/include/g4std/strstream b/source/global/management/include/g4std/strstream index a1c5b1c605..74ff414c07 100644 --- a/source/global/management/include/g4std/strstream +++ b/source/global/management/include/g4std/strstream @@ -6,7 +6,7 @@ // and all its terms. // // $Id: strstream,v 1.4 2002/05/24 15:01:05 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- strstream ---------------- // diff --git a/source/global/management/include/g4std/vector b/source/global/management/include/g4std/vector index 864446c0c8..df816fd069 100644 --- a/source/global/management/include/g4std/vector +++ b/source/global/management/include/g4std/vector @@ -6,7 +6,7 @@ // and all its terms. // // $Id: vector,v 1.3 1999/11/16 17:43:09 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- vector ---------------- // diff --git a/source/global/management/include/globals.hh b/source/global/management/include/globals.hh index 5135e94467..7d1215bd5e 100644 --- a/source/global/management/include/globals.hh +++ b/source/global/management/include/globals.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: globals.hh,v 1.20 2002/08/19 18:20:11 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: globals.hh,v 1.22 2003/02/05 15:26:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Global Constants and typedefs @@ -66,7 +66,7 @@ #define CLHEP_MAX_MIN_DEFINED #endif -#if defined(WIN32) && defined(G4USE_STD_NAMESPACE) +#if defined(WIN32) && defined(G4USE_STD_NAMESPACE) && !defined(XPNET) // For NT with Native STL (used in ISO standard mode) // templated functions min and max should be _MIN _MAX #define min _MIN @@ -95,8 +95,7 @@ #include "templates.hh" // System of Units and Physical Constants -////#include -#include "PhysicalConstants.h" +#include // Global error function #include "G4ExceptionSeverity.hh" diff --git a/source/global/management/include/templates.hh b/source/global/management/include/templates.hh index 20fc1bca0c..c457ca9de0 100644 --- a/source/global/management/include/templates.hh +++ b/source/global/management/include/templates.hh @@ -22,7 +22,7 @@ // // // $Id: templates.hh,v 1.6 2001/07/11 10:00:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -*- C++ -*- diff --git a/source/global/management/src/G4DataVector.cc b/source/global/management/src/G4DataVector.cc index 1b75b13346..919d6c66c3 100644 --- a/source/global/management/src/G4DataVector.cc +++ b/source/global/management/src/G4DataVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4DataVector.cc,v 1.5 2002/05/30 11:56:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/global/management/src/G4Exception.cc b/source/global/management/src/G4Exception.cc index 824eb1a89a..212a466aaf 100644 --- a/source/global/management/src/G4Exception.cc +++ b/source/global/management/src/G4Exception.cc @@ -22,7 +22,7 @@ // // // $Id: G4Exception.cc,v 1.15 2002/12/05 02:32:21 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/src/G4LPhysicsFreeVector.cc b/source/global/management/src/G4LPhysicsFreeVector.cc index b879c74855..8ac19b354f 100644 --- a/source/global/management/src/G4LPhysicsFreeVector.cc +++ b/source/global/management/src/G4LPhysicsFreeVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4LPhysicsFreeVector.cc,v 1.8 2001/07/11 10:00:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------------- diff --git a/source/global/management/src/G4OrderedTable.cc b/source/global/management/src/G4OrderedTable.cc index efd55a05b8..8cb35cabbd 100644 --- a/source/global/management/src/G4OrderedTable.cc +++ b/source/global/management/src/G4OrderedTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4OrderedTable.cc,v 1.2 2002/04/19 07:10:32 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/src/G4PhysicsFreeVector.cc b/source/global/management/src/G4PhysicsFreeVector.cc index d54827abb6..97990fdca3 100644 --- a/source/global/management/src/G4PhysicsFreeVector.cc +++ b/source/global/management/src/G4PhysicsFreeVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsFreeVector.cc,v 1.8 2001/07/11 10:00:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/src/G4PhysicsLinearVector.cc b/source/global/management/src/G4PhysicsLinearVector.cc index 8e5997ec33..52fbba5232 100644 --- a/source/global/management/src/G4PhysicsLinearVector.cc +++ b/source/global/management/src/G4PhysicsLinearVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLinearVector.cc,v 1.9 2001/07/11 10:00:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/src/G4PhysicsLnVector.cc b/source/global/management/src/G4PhysicsLnVector.cc index 2d711e0bf9..1261e4954e 100644 --- a/source/global/management/src/G4PhysicsLnVector.cc +++ b/source/global/management/src/G4PhysicsLnVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLnVector.cc,v 1.11 2001/07/11 10:00:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/global/management/src/G4PhysicsLogVector.cc b/source/global/management/src/G4PhysicsLogVector.cc index 11bd0dbfd8..da109df475 100644 --- a/source/global/management/src/G4PhysicsLogVector.cc +++ b/source/global/management/src/G4PhysicsLogVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsLogVector.cc,v 1.9 2001/07/11 10:00:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/global/management/src/G4PhysicsOrderedFreeVector.cc b/source/global/management/src/G4PhysicsOrderedFreeVector.cc index da08eac76b..08ebcb55ce 100644 --- a/source/global/management/src/G4PhysicsOrderedFreeVector.cc +++ b/source/global/management/src/G4PhysicsOrderedFreeVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsOrderedFreeVector.cc,v 1.8 2001/07/11 10:00:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Implementation diff --git a/source/global/management/src/G4PhysicsTable.cc b/source/global/management/src/G4PhysicsTable.cc index 3abfb59369..68d2b8ab2f 100644 --- a/source/global/management/src/G4PhysicsTable.cc +++ b/source/global/management/src/G4PhysicsTable.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PhysicsTable.cc,v 1.6 2001/07/11 10:00:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PhysicsTable.cc,v 1.7 2003/03/25 14:56:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -50,6 +50,7 @@ G4PhysicsTable::G4PhysicsTable(size_t capacity) } G4PhysicsTable::G4PhysicsTable(const G4PhysicsTable& right) + : G4PhysCollection() { *this = right; } diff --git a/source/global/management/src/G4PhysicsVector.cc b/source/global/management/src/G4PhysicsVector.cc index 21890908f6..17c85c3d96 100644 --- a/source/global/management/src/G4PhysicsVector.cc +++ b/source/global/management/src/G4PhysicsVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicsVector.cc,v 1.14 2001/11/29 18:59:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/global/management/src/G4StateManager.cc b/source/global/management/src/G4StateManager.cc index 66611b0ac2..e101bcea73 100644 --- a/source/global/management/src/G4StateManager.cc +++ b/source/global/management/src/G4StateManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4StateManager.cc,v 1.8 2002/12/05 02:32:21 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/src/G4Timer.cc b/source/global/management/src/G4Timer.cc index 9e9264d604..be43518e6a 100644 --- a/source/global/management/src/G4Timer.cc +++ b/source/global/management/src/G4Timer.cc @@ -22,7 +22,7 @@ // // // $Id: G4Timer.cc,v 1.10 2002/01/17 10:49:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/src/G4UnitsTable.cc b/source/global/management/src/G4UnitsTable.cc index 4eeee43975..876f4f2934 100644 --- a/source/global/management/src/G4UnitsTable.cc +++ b/source/global/management/src/G4UnitsTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4UnitsTable.cc,v 1.17 2002/11/20 11:25:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... // diff --git a/source/global/management/src/G4VExceptionHandler.cc b/source/global/management/src/G4VExceptionHandler.cc index 0a0249e8be..58ca646d2d 100644 --- a/source/global/management/src/G4VExceptionHandler.cc +++ b/source/global/management/src/G4VExceptionHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VExceptionHandler.cc,v 1.1 2002/08/19 18:20:12 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/src/G4VStateDependent.cc b/source/global/management/src/G4VStateDependent.cc index 686ba632a1..741f4c6fbc 100644 --- a/source/global/management/src/G4VStateDependent.cc +++ b/source/global/management/src/G4VStateDependent.cc @@ -22,7 +22,7 @@ // // // $Id: G4VStateDependent.cc,v 1.3 2001/07/11 10:00:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/src/G4ios.cc b/source/global/management/src/G4ios.cc index ec9d3a5925..a42b298a00 100644 --- a/source/global/management/src/G4ios.cc +++ b/source/global/management/src/G4ios.cc @@ -22,7 +22,7 @@ // // // $Id: G4ios.cc,v 1.5 2001/07/11 10:00:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/graphics_reps/History b/source/graphics_reps/History index 8b66d49753..d5f39f6581 100644 --- a/source/graphics_reps/History +++ b/source/graphics_reps/History @@ -1,4 +1,4 @@ -cvs log $Id: History,v 1.45 2002/11/27 12:24:19 johna Exp $ +cvs log $Id: History,v 1.46 2003/04/03 15:31:22 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,7 +17,10 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -27th November 2002 John Allison (greps-V04-01-05) +3rd April 2003 G.Cosmo (greps-V05-00-00) +- Cleared trivial pedantic warnings. + +27th November 2002 J.Allison (greps-V04-01-05) - Small revison of G4Scale and improvements in G4VMarker class description. Nov 20, 2002, G.Cosmo (greps-V04-01-04) diff --git a/source/graphics_reps/include/G4AttDef.hh b/source/graphics_reps/include/G4AttDef.hh index 511c26a04f..50158ad9a0 100644 --- a/source/graphics_reps/include/G4AttDef.hh +++ b/source/graphics_reps/include/G4AttDef.hh @@ -22,7 +22,7 @@ // // // $Id: G4AttDef.hh,v 1.3 2002/10/24 14:35:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #ifndef G4ATTDEF_HH #define G4ATTDEF_HH diff --git a/source/graphics_reps/include/G4AttDefStore.hh b/source/graphics_reps/include/G4AttDefStore.hh index e80d8e8f0b..3133b08214 100644 --- a/source/graphics_reps/include/G4AttDefStore.hh +++ b/source/graphics_reps/include/G4AttDefStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4AttDefStore.hh,v 1.3 2002/11/20 14:18:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #ifndef G4ATTDEFSTORE_HH #define G4ATTDEFSTORE_HH diff --git a/source/graphics_reps/include/G4AttValue.hh b/source/graphics_reps/include/G4AttValue.hh index 7d200a86f4..fba3b346af 100644 --- a/source/graphics_reps/include/G4AttValue.hh +++ b/source/graphics_reps/include/G4AttValue.hh @@ -22,7 +22,7 @@ // // // $Id: G4AttValue.hh,v 1.3 2002/10/24 14:35:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #ifndef G4ATTVALUE_HH #define G4ATTVALUE_HH diff --git a/source/graphics_reps/include/G4Circle.hh b/source/graphics_reps/include/G4Circle.hh index 601db61bba..805e991aa9 100644 --- a/source/graphics_reps/include/G4Circle.hh +++ b/source/graphics_reps/include/G4Circle.hh @@ -22,7 +22,7 @@ // // // $Id: G4Circle.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Color.hh b/source/graphics_reps/include/G4Color.hh index fe426a7169..b5a06139e1 100644 --- a/source/graphics_reps/include/G4Color.hh +++ b/source/graphics_reps/include/G4Color.hh @@ -22,7 +22,7 @@ // // // $Id: G4Color.hh,v 1.4 2001/07/11 10:01:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/include/G4Colour.hh b/source/graphics_reps/include/G4Colour.hh index 6f9311d8ce..985bdc8873 100644 --- a/source/graphics_reps/include/G4Colour.hh +++ b/source/graphics_reps/include/G4Colour.hh @@ -22,7 +22,7 @@ // // // $Id: G4Colour.hh,v 1.7 2002/10/23 12:03:38 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/include/G4NURBS.hh b/source/graphics_reps/include/G4NURBS.hh index aa79b0176f..3055cfcb2e 100644 --- a/source/graphics_reps/include/G4NURBS.hh +++ b/source/graphics_reps/include/G4NURBS.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBS.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBS.hh,v 1.7 2003/04/03 15:31:05 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Olivier Crumeyrolle 12 September 1996 @@ -33,9 +33,6 @@ // Class Description: // Base class for shapes with NURBS drawing style. // See documentation in graphics_reps/doc for details. -// Class Description - End: - - #ifndef __C_G4NURBS__ #define __C_G4NURBS__ 1 @@ -43,25 +40,15 @@ #include "globals.hh" #include "G4VVisPrim.hh" -// HP's CC compiler : -// it's recommended that you include G4NURBS.hh BEFORE any other includes, -// at least before iostream.h - -// checked for CC, xlC, g++, cxx -// * a friendness problem with DEC's cxx, fixed by __C_G4NURBS_FFIX__ * -//#if defined(__DECCXX) || defined(WIN32) i.e., always defined. -#define __C_G4NURBS_FFIX__ 1 -//#endif - // The internal floating point type is G4Float, defined line 162 #include "G4ios.hh" - #include "G4Point3D.hh" #include "G4Vector3D.hh" -class G4NURBS : public G4VVisPrim { -public: +class G4NURBS : public G4VVisPrim +{ + public: // NO public constructor. A G4NURBS must be builded with a child class. // Pure virtual function Whoami so one can't instanciate G4NURBS at all. @@ -82,7 +69,8 @@ public: // and we want the user to be well-manered. // However internally this typed enum is not as easy to use as it // could be (we can't ++). "t_" means it's a kind of local type. - enum t_direction { + enum t_direction + { U = 0, V = 1, DMask = 1, // NofD : Number of Directions @@ -157,9 +145,11 @@ public: G4float GetfloatKnot(t_direction in_dir, t_indKnot in_index) const; G4double GetdoubleKnot(t_direction in_dir, t_indKnot in_index) const; t_floatCtrlPt* GetfloatCtrlPt(t_indCtrlPt in_onedimindex) const; - t_floatCtrlPt* GetfloatCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const; + t_floatCtrlPt* GetfloatCtrlPt(t_inddCtrlPt in_Uindex, + t_inddCtrlPt in_Vindex) const; t_doubleCtrlPt* GetdoubleCtrlPt(t_indCtrlPt in_onedimindex) const; - t_doubleCtrlPt* GetdoubleCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const; + t_doubleCtrlPt* GetdoubleCtrlPt(t_inddCtrlPt in_Uindex, + t_inddCtrlPt in_Vindex) const; // complete copy functions // the user don't control the allocation and the copy process @@ -171,13 +161,14 @@ public: G4double* GetdoubleAllCtrlPts() const; // the iterators need that, the user does not -protected: + + protected: // internal type for reel numbers // ( Float is defined in templates.hh and is // under the control of HIGH_PRECISION ) typedef Float G4Float; -public: + public: // internal type for order, derivate from t_index typedef t_index t_order; @@ -185,7 +176,7 @@ public: // internal type for knot typedef G4Float t_Knot; -protected: + protected: // internal types for the control points typedef G4Float t_Coord; @@ -195,7 +186,7 @@ protected: // type for ref counting //typedef unsigned int t_refcount; -public: + public: // iterators for an .... iterative access to knots and control points // errors are reported on G4cerr @@ -219,9 +210,11 @@ public: // while (my_iterator.pick(my_float_p++)); // that's all! my_array contain all the U knots. - class KnotsIterator { + class KnotsIterator + { public: - KnotsIterator(const G4NURBS & in_rNurb, t_direction in_dir, t_indKnot in_startIndex = 0); + KnotsIterator(const G4NURBS & in_rNurb, t_direction in_dir, + t_indKnot in_startIndex = 0); G4bool pick(G4double * inout_pDbl); G4bool pick(G4float * inout_pFlt); //~KnotsIterator(); @@ -234,15 +227,18 @@ public: // the CtrlPtsCoordsIterator. Works like the knots' one : // G4float * my_array, * my_float_p; - // my_float_p = my_array = new float [my_nurb.GettotalnbrCtrlPts()*G4NURBS::NofC*sizeof(float)]; + // my_float_p = my_array = + // new float [my_nurb.GettotalnbrCtrlPts()*G4NURBS::NofC*sizeof(float)]; // G4NURBS::CtrlPtsCoordsIterator my_iterator(my_nurb); // while (my_iterator.pick(my_float_p++)); // after the while statement; my_float_p point just after the array // Remember ctrlpts are given U index increasing first - class CtrlPtsCoordsIterator { + class CtrlPtsCoordsIterator + { public: - CtrlPtsCoordsIterator(const G4NURBS & in_rNurb, t_indCtrlPt in_startCtrlPtIndex = 0); + CtrlPtsCoordsIterator(const G4NURBS & in_rNurb, + t_indCtrlPt in_startCtrlPtIndex = 0); G4bool pick(G4double * inout_pDbl); G4bool pick(G4float * inout_pFlt); //~CtrlPtsCoordsIterator(); @@ -254,7 +250,8 @@ public: // this iterator work CtrlPt by CtrlPt // see the << overload for an example - class CtrlPtsIterator { + class CtrlPtsIterator + { public: CtrlPtsIterator(const G4NURBS & in_rNurb, t_indCtrlPt in_startIndex = 0); G4bool pick(t_doubleCtrlPt * inout_pDblCtrlPt); @@ -268,10 +265,11 @@ public: // Q: a directional Iterator to extract one col/row of CtrlPts ? -protected: + protected: // little structure containing data for each direction - struct t_Dir { + struct t_Dir + { t_order order; t_inddCtrlPt nbrCtrlPts; t_indKnot nbrKnots; @@ -294,7 +292,7 @@ protected: G4NURBS (t_order in_Uorder, t_order in_Vorder, t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, t_CtrlPt * in_pCtrlPts, - t_Knot * in_pUKnots = NULL, t_Knot * in_pVKnots = NULL, + t_Knot * in_pUKnots = 0, t_Knot * in_pVKnots = 0, t_CheckFlag in_CheckFlag = check ); // NB: the minimal NURBS is order 1, 2 knots, => 1 control points @@ -316,13 +314,13 @@ protected: // (in particular how avoid out of range access) // without class types for arrays. -#ifdef __C_G4NURBS_FFIX__ -public: -#endif + public: // knots vector generation flag - enum t_KnotVectorGenFlag { - UserDefined, // The user will fill the array (in the child constructor for instance). + enum t_KnotVectorGenFlag + { + UserDefined, // The user will fill the array (in the child constructor + // for instance). Regular, // First and last knot repeated order time // other knots regularly spaced, unrepeated. @@ -333,9 +331,7 @@ public: // Typically used for "circular" knots vector and alikes. }; //t_KnotVectorGenFlag -#ifdef __C_G4NURBS_FFIX__ -protected: -#endif + protected: // external representation for t_KnotVectorGenFlag // as a << overload. @@ -385,20 +381,19 @@ protected: // used just as knots vector container) // Return true if succesfull. // ALWAYS allocate the knots array. - // (return false and do nothing if it already exists (ie != NULL)) + // (return false and do nothing if it already exists (ie != 0)) // Always fail if order + nbrCtrlPt != nbrKnots - static G4bool MakeKnotVector(t_Dir & inout_dirdat, t_KnotVectorGenFlag in_KVGFlag); - static G4bool MakeKnotVector(t_Dir * p_inoutdirdat, t_KnotVectorGenFlag in_KVGFlag); - // the second is just an alias, cf further + static G4bool MakeKnotVector(t_Dir & inout_dirdat, + t_KnotVectorGenFlag in_KVGFlag); + static G4bool MakeKnotVector(t_Dir * p_inoutdirdat, + t_KnotVectorGenFlag in_KVGFlag); - // others building functions ? - // revolve ? - // partial revolve ? + static void CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, t_Coord y, + t_Coord z, t_Coord w); + static void CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, t_Coord y, + t_Coord z, t_Coord w, G4Float factor); - static void CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w); - static void CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w, G4Float factor); - -private: + private: // check function used internally by constructors. // no returned value because all errors reported are fatals. // (assume order + nbrCtrlPts == nbrKnots @@ -412,14 +407,16 @@ private: }; // external representation for t_KnotVectorGenFlag -G4std::ostream & operator << (G4std::ostream & inout_OutStream, G4NURBS::t_KnotVectorGenFlag in_KVGFlag); +G4std::ostream & operator << (G4std::ostream & inout_OutStream, + G4NURBS::t_KnotVectorGenFlag in_KVGFlag); // << overload to dump a nurbs // writted with public access functions // do not depends on protected part -G4std::ostream & operator << (G4std::ostream & inout_outStream, const G4NURBS & in_kNurb); +G4std::ostream & operator << (G4std::ostream & inout_outStream, + const G4NURBS & in_kNurb); /*********************************************************************** * * @@ -478,13 +475,15 @@ inline char G4NURBS::Tochar(G4NURBS::t_direction in_dir) { //( Ctrl Pts are stored U increasing first ) // no check. inline G4NURBS::t_indCtrlPt -G4NURBS::To1d(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const { +G4NURBS::To1d(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const +{ return in_Uindex + in_Vindex*m[U].nbrCtrlPts; } // return a float copy inline G4NURBS::t_floatCtrlPt* -G4NURBS::TofloatCtrlPt(const t_CtrlPt & in_krcp) { +G4NURBS::TofloatCtrlPt(const t_CtrlPt & in_krcp) +{ G4NURBS::t_floatCtrlPt * pcopy = new G4NURBS::t_floatCtrlPt [1]; for (G4int indCoord = X; indCoord < NofC; indCoord++) (*pcopy)[indCoord] = (G4float)in_krcp[indCoord]; @@ -493,7 +492,8 @@ G4NURBS::TofloatCtrlPt(const t_CtrlPt & in_krcp) { // return a double copy inline G4NURBS::t_doubleCtrlPt* -G4NURBS::TodoubleCtrlPt(const t_CtrlPt & in_krcp) { +G4NURBS::TodoubleCtrlPt(const t_CtrlPt & in_krcp) +{ G4NURBS::t_doubleCtrlPt * pcopy = new G4NURBS::t_doubleCtrlPt [1]; for (G4int indCoord = X; indCoord < NofC; indCoord++) (*pcopy)[indCoord] = (G4double)in_krcp[indCoord]; @@ -501,7 +501,9 @@ G4NURBS::TodoubleCtrlPt(const t_CtrlPt & in_krcp) { } // MakeKnotVector alias -inline G4bool G4NURBS::MakeKnotVector(G4NURBS::t_Dir * p_inoutdirdat, G4NURBS::t_KnotVectorGenFlag in_KVGFlag) { +inline G4bool G4NURBS::MakeKnotVector(G4NURBS::t_Dir * p_inoutdirdat, + G4NURBS::t_KnotVectorGenFlag in_KVGFlag) +{ return MakeKnotVector(*p_inoutdirdat, in_KVGFlag); } @@ -513,7 +515,8 @@ inline G4bool G4NURBS::MakeKnotVector(G4NURBS::t_Dir * p_inoutdirdat, G4NURBS::t ***********************************************************************/ inline void G4NURBS::CP(G4NURBS::t_CtrlPt & rcp, - t_Coord x, t_Coord y, t_Coord z, t_Coord w) { + t_Coord x, t_Coord y, t_Coord z, t_Coord w) +{ rcp[G4NURBS::X]=x; rcp[G4NURBS::Y]=y; rcp[G4NURBS::Z]=z; @@ -521,7 +524,9 @@ inline void G4NURBS::CP(G4NURBS::t_CtrlPt & rcp, } // with a common factor -inline void G4NURBS::CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w, G4Float factor) { +inline void G4NURBS::CP(G4NURBS::t_CtrlPt & rcp, t_Coord x, + t_Coord y, t_Coord z, t_Coord w, G4Float factor) +{ rcp[G4NURBS::X]=factor*x; rcp[G4NURBS::Y]=factor*y; rcp[G4NURBS::Z]=factor*z; diff --git a/source/graphics_reps/include/G4NURBSbox.hh b/source/graphics_reps/include/G4NURBSbox.hh index 1b4cc2ef0e..1b0c31467b 100644 --- a/source/graphics_reps/include/G4NURBSbox.hh +++ b/source/graphics_reps/include/G4NURBSbox.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBSbox.hh,v 1.6 2001/07/11 10:01:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBSbox.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -33,22 +33,20 @@ // Class Description: // Box builder prototype for NURBS. // See documentation in graphics_reps/doc for details. -// Class Description - End: + +#ifndef __C_G4NURBSbox__ +#define __C_G4NURBSbox__ 1 #include "G4NURBS.hh" -#ifndef __C_G4NURBSbox__ - -#define __C_G4NURBSbox__ 1 - -class G4NURBSbox : public G4NURBS - { - public: - G4NURBSbox(G4double DX, G4double DY, G4double DZ); - virtual G4Visible& operator = (const G4Visible& right); - virtual G4VVisPrim& operator = (const G4VVisPrim& right); - const char* Whoami() const; - }; +class G4NURBSbox : public G4NURBS +{ + public: + G4NURBSbox(G4double DX, G4double DY, G4double DZ); + virtual G4Visible& operator = (const G4Visible& right); + virtual G4VVisPrim& operator = (const G4VVisPrim& right); + const char* Whoami() const; +}; #endif // end of __C_G4NURBSbox__ diff --git a/source/graphics_reps/include/G4NURBScylinder.hh b/source/graphics_reps/include/G4NURBScylinder.hh index 13511a6bf4..a1f7f527c5 100644 --- a/source/graphics_reps/include/G4NURBScylinder.hh +++ b/source/graphics_reps/include/G4NURBScylinder.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBScylinder.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBScylinder.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -33,23 +33,20 @@ // Class Description: // Cylinder builder prototype for NURBS. // See documentation in graphics_reps/doc for details. -// Class Description - End: +#ifndef __C_G4NURBScylinder__ +#define __C_G4NURBScylinder__ 1 #include "G4NURBS.hh" -#ifndef __C_G4NURBScylinder__ - -#define __C_G4NURBScylinder__ 1 - -class G4NURBScylinder : public G4NURBS - { - public: - G4NURBScylinder(G4double R, G4double DZ); - virtual G4Visible& operator = (const G4Visible& right); - virtual G4VVisPrim& operator = (const G4VVisPrim& right); - const char* Whoami() const; - }; +class G4NURBScylinder : public G4NURBS +{ + public: + G4NURBScylinder(G4double R, G4double DZ); + virtual G4Visible& operator = (const G4Visible& right); + virtual G4VVisPrim& operator = (const G4VVisPrim& right); + const char* Whoami() const; +}; #endif // end of __C_G4NURBScylinder__ diff --git a/source/graphics_reps/include/G4NURBShexahedron.hh b/source/graphics_reps/include/G4NURBShexahedron.hh index 2b4f241350..46cc3c5a26 100644 --- a/source/graphics_reps/include/G4NURBShexahedron.hh +++ b/source/graphics_reps/include/G4NURBShexahedron.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBShexahedron.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBShexahedron.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hexa hedron builder prototype // OC 17 9 96 @@ -30,45 +30,35 @@ // Class Description: // Hexa hedron builder prototype for NURBS. // See documentation in graphics_reps/doc for details. -// Class Description - End: - - -#include "G4NURBS.hh" - -#include "G4ThreeVector.hh" - #ifndef __C_G4NURBShexahedron__ - #define __C_G4NURBShexahedron__ 1 -class G4NURBShexahedron : public G4NURBS - { - - // imagine the hexahedron is just a box, then - // the eight corners must be given in the following order : - // DX DY -DZ - // -DX DY -DZ - // -DX -DY -DZ - // DX -DY -DZ - // DX DY DZ - // -DX DY DZ - // -DX -DY DZ - // DX -DY DZ - // (ie, with Oz pointing to you, Ox on the right, Oy on the top: - // from the rear, from the upper right corner to the lower one - // in anticlockwise sens, then the same for front side) +#include "G4NURBS.hh" +#include "G4ThreeVector.hh" - public: - G4NURBShexahedron(const G4ThreeVector Corners [8]); - virtual G4Visible& operator = (const G4Visible& right); - virtual G4VVisPrim& operator = (const G4VVisPrim& right); - const char* Whoami() const; - }; +class G4NURBShexahedron : public G4NURBS +{ + // imagine the hexahedron is just a box, then + // the eight corners must be given in the following order : + // DX DY -DZ + // -DX DY -DZ + // -DX -DY -DZ + // DX -DY -DZ + // DX DY DZ + // -DX DY DZ + // -DX -DY DZ + // DX -DY DZ + // (ie, with Oz pointing to you, Ox on the right, Oy on the top: + // from the rear, from the upper right corner to the lower one + // in anticlockwise sens, then the same for front side) + + public: + G4NURBShexahedron(const G4ThreeVector Corners [8]); + virtual G4Visible& operator = (const G4Visible& right); + virtual G4VVisPrim& operator = (const G4VVisPrim& right); + const char* Whoami() const; +}; #endif // end of __C_G4NURBShexahedron__ - - - - diff --git a/source/graphics_reps/include/G4NURBStube.hh b/source/graphics_reps/include/G4NURBStube.hh index 493bdd5bcc..2aaab63fa4 100644 --- a/source/graphics_reps/include/G4NURBStube.hh +++ b/source/graphics_reps/include/G4NURBStube.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBStube.hh,v 1.6 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBStube.hh,v 1.7 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -33,22 +33,19 @@ // Class Description: // Tube builder prototype for NURBS. // See documentation in graphics_reps/doc for details. -// Class Description - End: + +#ifndef __C_G4NURBStube__ +#define __C_G4NURBStube__ 1 #include "G4NURBS.hh" -#ifndef __C_G4NURBStube__ - -#define __C_G4NURBStube__ 1 - -class G4NURBStube : public G4NURBS - { - public: - G4NURBStube(G4double RMIN, G4double RMAX, G4double DZ); - virtual G4Visible& operator = (const G4Visible& right); - virtual G4VVisPrim& operator = (const G4VVisPrim& right); - const char* Whoami() const; - }; - +class G4NURBStube : public G4NURBS +{ + public: + G4NURBStube(G4double RMIN, G4double RMAX, G4double DZ); + virtual G4Visible& operator = (const G4Visible& right); + virtual G4VVisPrim& operator = (const G4VVisPrim& right); + const char* Whoami() const; +}; #endif // end of __C_G4NURBStube__ diff --git a/source/graphics_reps/include/G4NURBStubesector.hh b/source/graphics_reps/include/G4NURBStubesector.hh index 811241a3cd..440c3df0aa 100644 --- a/source/graphics_reps/include/G4NURBStubesector.hh +++ b/source/graphics_reps/include/G4NURBStubesector.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBStubesector.hh,v 1.5 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBStubesector.hh,v 1.6 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -33,47 +33,36 @@ // Class Description: // Tubesector builder prototype for NURBS. // See documentation in graphics_reps/doc for details. -// Class Description - End: - +#ifndef __C_G4NURBStubesector__ +#define __C_G4NURBStubesector__ 1 #include "G4NURBS.hh" -#ifndef __C_G4NURBStubesector__ +class G4NURBStubesector : public G4NURBS +{ + public: + // angle in radians -#define __C_G4NURBStubesector__ 1 + // If PHI2 smaller (or equal) than PHI1 , it is incremented + // by 2pi as necessary to become strictly greater. -class G4NURBStubesector : public G4NURBS - { - public: - // angle in radians - - // If PHI2 smaller (or equal) than PHI1 , it is incremented - // by 2pi as necessary to become strictly greater. - - // Except that, you can use any value for the arguments, - // it's the renderer or you that will have troubles. - - G4NURBStubesector(G4double RMIN, G4double RMAX, - G4double DZ, G4double PHI1, G4double PHI2); - virtual ~G4NURBStubesector(); - virtual G4Visible& operator = (const G4Visible& right); - virtual G4VVisPrim& operator = (const G4VVisPrim& right); - virtual const char* Whoami() const; - - protected: - char * mpwhoami; - - private: -static t_inddCtrlPt DecideNbrCtrlPts(G4double PHI1, G4double PHI2); - }; + // Except that, you can use any value for the arguments, + // it's the renderer or you that will have troubles. + G4NURBStubesector(G4double RMIN, G4double RMAX, + G4double DZ, G4double PHI1, G4double PHI2); + virtual ~G4NURBStubesector(); + virtual G4Visible& operator = (const G4Visible& right); + virtual G4VVisPrim& operator = (const G4VVisPrim& right); + virtual const char* Whoami() const; + protected: + char * mpwhoami; + private: + static t_inddCtrlPt DecideNbrCtrlPts(G4double PHI1, G4double PHI2); +}; #endif // end of __C_G4NURBStubesector__ - - - - diff --git a/source/graphics_reps/include/G4PlacedPolyhedron.hh b/source/graphics_reps/include/G4PlacedPolyhedron.hh index 4252bfc1c4..0a63876979 100644 --- a/source/graphics_reps/include/G4PlacedPolyhedron.hh +++ b/source/graphics_reps/include/G4PlacedPolyhedron.hh @@ -22,7 +22,7 @@ // // // $Id: G4PlacedPolyhedron.hh,v 1.9 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Class Description: diff --git a/source/graphics_reps/include/G4Point3DList.hh b/source/graphics_reps/include/G4Point3DList.hh index a7ac2f00e7..120af4c2ea 100644 --- a/source/graphics_reps/include/G4Point3DList.hh +++ b/source/graphics_reps/include/G4Point3DList.hh @@ -22,7 +22,7 @@ // // // $Id: G4Point3DList.hh,v 1.10 2001/08/20 23:28:42 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/include/G4Polyhedron.hh b/source/graphics_reps/include/G4Polyhedron.hh index 5962662e75..c26aac6193 100644 --- a/source/graphics_reps/include/G4Polyhedron.hh +++ b/source/graphics_reps/include/G4Polyhedron.hh @@ -22,7 +22,7 @@ // // // $Id: G4Polyhedron.hh,v 1.10 2001/07/11 10:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #ifndef G4POLYHEDRON_HH #define G4POLYHEDRON_HH diff --git a/source/graphics_reps/include/G4Polyline.hh b/source/graphics_reps/include/G4Polyline.hh index 92d30b9dea..be656cd55c 100644 --- a/source/graphics_reps/include/G4Polyline.hh +++ b/source/graphics_reps/include/G4Polyline.hh @@ -22,7 +22,7 @@ // // // $Id: G4Polyline.hh,v 1.9 2001/08/20 23:28:43 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/include/G4Polymarker.hh b/source/graphics_reps/include/G4Polymarker.hh index b8a70b9f8f..6220004bd0 100644 --- a/source/graphics_reps/include/G4Polymarker.hh +++ b/source/graphics_reps/include/G4Polymarker.hh @@ -22,7 +22,7 @@ // // // $Id: G4Polymarker.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/include/G4Polymarker.icc b/source/graphics_reps/include/G4Polymarker.icc index e9a5168aab..d17cb17886 100644 --- a/source/graphics_reps/include/G4Polymarker.icc +++ b/source/graphics_reps/include/G4Polymarker.icc @@ -22,7 +22,7 @@ // // // $Id: G4Polymarker.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/include/G4Scale.hh b/source/graphics_reps/include/G4Scale.hh index 7cc27b6244..6d66b54c2d 100644 --- a/source/graphics_reps/include/G4Scale.hh +++ b/source/graphics_reps/include/G4Scale.hh @@ -22,7 +22,7 @@ // // // $Id: G4Scale.hh,v 1.5 2002/11/27 12:24:01 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 21st July 2001. diff --git a/source/graphics_reps/include/G4Scale.icc b/source/graphics_reps/include/G4Scale.icc index 342a5b935a..6f8638b52f 100644 --- a/source/graphics_reps/include/G4Scale.icc +++ b/source/graphics_reps/include/G4Scale.icc @@ -22,7 +22,7 @@ // // // $Id: G4Scale.icc,v 1.2 2001/07/24 21:41:42 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 21st July 2001. diff --git a/source/graphics_reps/include/G4Square.hh b/source/graphics_reps/include/G4Square.hh index cb494bd705..0978a02e97 100644 --- a/source/graphics_reps/include/G4Square.hh +++ b/source/graphics_reps/include/G4Square.hh @@ -22,7 +22,7 @@ // // // $Id: G4Square.hh,v 1.5 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Square.icc b/source/graphics_reps/include/G4Square.icc index 29529a20ca..8364a78c77 100644 --- a/source/graphics_reps/include/G4Square.icc +++ b/source/graphics_reps/include/G4Square.icc @@ -22,7 +22,7 @@ // // // $Id: G4Square.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Text.hh b/source/graphics_reps/include/G4Text.hh index d63f55630b..603e088281 100644 --- a/source/graphics_reps/include/G4Text.hh +++ b/source/graphics_reps/include/G4Text.hh @@ -22,7 +22,7 @@ // // // $Id: G4Text.hh,v 1.7 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Text.icc b/source/graphics_reps/include/G4Text.icc index e56429c423..14a1453062 100644 --- a/source/graphics_reps/include/G4Text.icc +++ b/source/graphics_reps/include/G4Text.icc @@ -22,7 +22,7 @@ // // // $Id: G4Text.icc,v 1.3 2001/07/11 10:01:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4VMarker.hh b/source/graphics_reps/include/G4VMarker.hh index f24c3ca3e9..47f7ad9709 100644 --- a/source/graphics_reps/include/G4VMarker.hh +++ b/source/graphics_reps/include/G4VMarker.hh @@ -22,7 +22,7 @@ // // // $Id: G4VMarker.hh,v 1.8 2002/11/27 12:23:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4VMarker - base class for markers - circles, squares, etc. diff --git a/source/graphics_reps/include/G4VMarker.icc b/source/graphics_reps/include/G4VMarker.icc index 348a2284a5..f68e59221b 100644 --- a/source/graphics_reps/include/G4VMarker.icc +++ b/source/graphics_reps/include/G4VMarker.icc @@ -22,7 +22,7 @@ // // // $Id: G4VMarker.icc,v 1.6 2001/07/11 10:01:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/graphics_reps/include/G4VVisPrim.hh b/source/graphics_reps/include/G4VVisPrim.hh index dd0cc206bd..68c898c02b 100644 --- a/source/graphics_reps/include/G4VVisPrim.hh +++ b/source/graphics_reps/include/G4VVisPrim.hh @@ -22,7 +22,7 @@ // // // $Id: G4VVisPrim.hh,v 1.8 2001/07/11 10:01:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison August 1995 diff --git a/source/graphics_reps/include/G4VisAttributes.hh b/source/graphics_reps/include/G4VisAttributes.hh index 07c6b0d215..f6be369f4d 100644 --- a/source/graphics_reps/include/G4VisAttributes.hh +++ b/source/graphics_reps/include/G4VisAttributes.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisAttributes.hh,v 1.10 2002/11/20 14:18:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 23rd October 1996 diff --git a/source/graphics_reps/include/G4VisAttributes.icc b/source/graphics_reps/include/G4VisAttributes.icc index b758e72d7b..e2b8cd11b0 100644 --- a/source/graphics_reps/include/G4VisAttributes.icc +++ b/source/graphics_reps/include/G4VisAttributes.icc @@ -22,7 +22,7 @@ // // // $Id: G4VisAttributes.icc,v 1.5 2002/10/24 14:36:40 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 18th November 1996 diff --git a/source/graphics_reps/include/G4VisExtent.hh b/source/graphics_reps/include/G4VisExtent.hh index 3f7e81b2c4..1821a8a7bd 100644 --- a/source/graphics_reps/include/G4VisExtent.hh +++ b/source/graphics_reps/include/G4VisExtent.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisExtent.hh,v 1.6 2001/07/24 21:39:43 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A.Walkden 28/11/95 diff --git a/source/graphics_reps/include/G4Visible.hh b/source/graphics_reps/include/G4Visible.hh index 663afafc12..33865d57f9 100644 --- a/source/graphics_reps/include/G4Visible.hh +++ b/source/graphics_reps/include/G4Visible.hh @@ -22,7 +22,7 @@ // // // $Id: G4Visible.hh,v 1.7 2001/07/11 10:01:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/include/G4Visible.icc b/source/graphics_reps/include/G4Visible.icc index f9316e098e..0b50c5edd4 100644 --- a/source/graphics_reps/include/G4Visible.icc +++ b/source/graphics_reps/include/G4Visible.icc @@ -22,7 +22,7 @@ // // // $Id: G4Visible.icc,v 1.4 2001/07/11 10:01:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/include/HepPolyhedron.h b/source/graphics_reps/include/HepPolyhedron.h index 945dc084b3..1285ee507c 100644 --- a/source/graphics_reps/include/HepPolyhedron.h +++ b/source/graphics_reps/include/HepPolyhedron.h @@ -22,7 +22,7 @@ // // // $Id: HepPolyhedron.h,v 1.12 2002/11/20 14:18:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class Description: diff --git a/source/graphics_reps/src/BooleanProcessor.src b/source/graphics_reps/src/BooleanProcessor.src index 3b0d1dbc18..b6dab942b1 100755 --- a/source/graphics_reps/src/BooleanProcessor.src +++ b/source/graphics_reps/src/BooleanProcessor.src @@ -780,7 +780,7 @@ void BooleanProcessor::caseII(ExtEdge & edge1, ExtEdge & edge2) insertEdge(edge2); } -void BooleanProcessor::caseIE(ExtEdge & edge1, ExtEdge & edge2) +void BooleanProcessor::caseIE(ExtEdge &, ExtEdge &) /*********************************************************************** * * * Name: BooleanProcessor::caseIE Date: 19.01.00 * @@ -796,7 +796,7 @@ void BooleanProcessor::caseIE(ExtEdge & edge1, ExtEdge & edge2) << HepStd::endl; } -void BooleanProcessor::caseEE(ExtEdge & edge1, ExtEdge & edge2) +void BooleanProcessor::caseEE(ExtEdge &, ExtEdge &) /*********************************************************************** * * * Name: BooleanProcessor::caseEE Date: 19.01.00 * @@ -890,7 +890,7 @@ void BooleanProcessor::invertNewEdges(int iface) } } -void BooleanProcessor::checkDoubleEdges(int iface) +void BooleanProcessor::checkDoubleEdges(int) /*********************************************************************** * * * Name: BooleanProcessor::checkDoubleEdges Date: 04.02.00 * diff --git a/source/graphics_reps/src/G4AttDefStore.cc b/source/graphics_reps/src/G4AttDefStore.cc index 5a59651f91..93463d1572 100644 --- a/source/graphics_reps/src/G4AttDefStore.cc +++ b/source/graphics_reps/src/G4AttDefStore.cc @@ -22,7 +22,7 @@ // // // $Id: G4AttDefStore.cc,v 1.2 2002/10/28 11:13:08 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4AttDefStore.hh" diff --git a/source/graphics_reps/src/G4Circle.cc b/source/graphics_reps/src/G4Circle.cc index eb6552f0aa..be30075c9e 100644 --- a/source/graphics_reps/src/G4Circle.cc +++ b/source/graphics_reps/src/G4Circle.cc @@ -22,7 +22,7 @@ // // // $Id: G4Circle.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/graphics_reps/src/G4Colour.cc b/source/graphics_reps/src/G4Colour.cc index 739b4ac414..688859792e 100644 --- a/source/graphics_reps/src/G4Colour.cc +++ b/source/graphics_reps/src/G4Colour.cc @@ -22,7 +22,7 @@ // // // $Id: G4Colour.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/src/G4NURBS.cc b/source/graphics_reps/src/G4NURBS.cc index be939304b0..d7f9c951f8 100644 --- a/source/graphics_reps/src/G4NURBS.cc +++ b/source/graphics_reps/src/G4NURBS.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBS.cc,v 1.5 2001/08/14 18:24:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBS.cc,v 1.6 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -37,550 +37,529 @@ // G4NURBS.hh includes globals.hh which includes a lot of others // so no more includes required here -// stdlib required for the exit function -//#include - -// memcpy -//#include - - //////////////////////////////////////////////////////////////////////// // Here start the real world. Please, check your armored jacket. // //////////////////////////////////////////////////////////////////////// -G4Visible & G4NURBS::operator = (const G4Visible &right) { +G4Visible & G4NURBS::operator = (const G4Visible &right) +{ return G4Visible::operator = (right); } -G4VVisPrim & G4NURBS::operator = (const G4VVisPrim &right) { +G4VVisPrim & G4NURBS::operator = (const G4VVisPrim &right) +{ return G4VVisPrim::operator = (right); } -G4std::ostream & operator << (G4std::ostream & inout_outStream, const G4NURBS & in_kNurb) - { - inout_outStream - // the magic could be changed for good reasons only - << "##ojc{NURBS}def[1.01.96.7] Just a magic. Could be added to /etc/magic" - << "\n# NURBS Definition File (human and computer readable format)" - << "\n# :" << in_kNurb.Whoami() - << "\n# U order\tV order : " - << '\n' << in_kNurb.GetUorder() << "\t\t" << in_kNurb.GetVorder(); - // number of knots and knots themselves for U and V - for (G4NURBS::t_direction dir = G4NURBS::U; dir < G4NURBS::NofD; /*(*(int *)(&dir))++*/ dir=(G4NURBS::t_direction)(((int)(dir))+1) ) - { - inout_outStream - << "\n# Number of knots along " << G4NURBS::Tochar(dir) - << '\n' << in_kNurb.GetnbrKnots(dir) - << "\n# " << G4NURBS::Tochar(dir) << " knots vector (as a column)"; - { // begin knots iteration - G4double oneKnot; - G4NURBS::KnotsIterator knotI(in_kNurb,dir); - G4bool otherKnots; - do - { - otherKnots = knotI.pick(&oneKnot); - inout_outStream << "\n\t\t" << oneKnot; - } - while (otherKnots); - } // end of knots iteration - }; // end of direction loop - // number of control points in U and V direction - // and controlpoints - inout_outStream - << "\n# Number of control points along U and V" - << '\n' << in_kNurb.GetUnbrCtrlPts() - << " " << in_kNurb.GetVnbrCtrlPts() - << "\n# Control Points (one by line, U increasing first)"; - { // begin of control points iteration - G4NURBS::t_doubleCtrlPt oneCP; - G4NURBS::CtrlPtsIterator cpI(in_kNurb); - G4bool otherCPs; - do - { - otherCPs = cpI.pick(&oneCP); - inout_outStream - << "\n\t" << oneCP[G4NURBS::X] - << "\t" << oneCP[G4NURBS::Y] - << "\t" << oneCP[G4NURBS::Z] - << "\t" << oneCP[G4NURBS::W]; - } - while (otherCPs); - } // end of control point iteration - inout_outStream << "\n# That's all!" << G4endl; // endl do an \n and a flush - return inout_outStream; - } +G4std::ostream & operator << (G4std::ostream & inout_outStream, + const G4NURBS & in_kNurb) +{ + inout_outStream + // the magic could be changed for good reasons only + << "##ojc{NURBS}def[1.01.96.7] Just a magic. Could be added to /etc/magic" + << "\n# NURBS Definition File (human and computer readable format)" + << "\n# :" << in_kNurb.Whoami() + << "\n# U order\tV order : " + << '\n' << in_kNurb.GetUorder() << "\t\t" << in_kNurb.GetVorder(); + // number of knots and knots themselves for U and V + for (G4NURBS::t_direction dir = G4NURBS::U; dir < G4NURBS::NofD; + /*(*(G4int *)(&dir))++*/ dir=(G4NURBS::t_direction)(((G4int)(dir))+1) ) + { + inout_outStream + << "\n# Number of knots along " << G4NURBS::Tochar(dir) + << '\n' << in_kNurb.GetnbrKnots(dir) + << "\n# " << G4NURBS::Tochar(dir) << " knots vector (as a column)"; + { // begin knots iteration + G4double oneKnot; + G4NURBS::KnotsIterator knotI(in_kNurb,dir); + G4bool otherKnots; + do + { + otherKnots = knotI.pick(&oneKnot); + inout_outStream << "\n\t\t" << oneKnot; + } + while (otherKnots); + } // end of knots iteration + } // end of direction loop + + // number of control points in U and V direction + // and controlpoints + inout_outStream + << "\n# Number of control points along U and V" + << '\n' << in_kNurb.GetUnbrCtrlPts() + << " " << in_kNurb.GetVnbrCtrlPts() + << "\n# Control Points (one by line, U increasing first)"; + { // begin of control points iteration + G4NURBS::t_doubleCtrlPt oneCP; + G4NURBS::CtrlPtsIterator cpI(in_kNurb); + G4bool otherCPs; + do + { + otherCPs = cpI.pick(&oneCP); + inout_outStream + << "\n\t" << oneCP[G4NURBS::X] + << "\t" << oneCP[G4NURBS::Y] + << "\t" << oneCP[G4NURBS::Z] + << "\t" << oneCP[G4NURBS::W]; + } + while (otherCPs); + } // end of control point iteration + + inout_outStream << "\n# That's all!" + << G4endl; // endl do an \n and a flush + return inout_outStream; +} // the CC compiler issue some "maybe no value returned" // but everything is ok -G4float G4NURBS::GetfloatKnot(t_direction in_dir, t_indKnot in_index) const - { - in_dir = (t_direction)(in_dir & DMask); - if ( in_index < m[in_dir].nbrKnots ) - return ((G4float)(m[in_dir].pKnots[in_index])); - else - { - G4cerr << "\nERROR: G4NURBS::GetfloatKnot: index out of range\n" - << "\n\t in_dir : " << G4int(in_dir) - << ", in_index : " << G4int(in_index) - << "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots << G4endl; - return ((G4float)m[in_dir].pKnots[m[in_dir].nbrKnots-1]); - }; - } +G4float G4NURBS::GetfloatKnot(t_direction in_dir, t_indKnot in_index) const +{ + in_dir = (t_direction)(in_dir & DMask); + if ( in_index < m[in_dir].nbrKnots ) + return ((G4float)(m[in_dir].pKnots[in_index])); + else + { + G4cerr << "\nERROR: G4NURBS::GetfloatKnot: index out of range\n" + << "\n\t in_dir : " << G4int(in_dir) + << ", in_index : " << G4int(in_index) + << "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots << G4endl; + return ((G4float)m[in_dir].pKnots[m[in_dir].nbrKnots-1]); + } +} -G4double G4NURBS::GetdoubleKnot(t_direction in_dir, t_indKnot in_index) const - { - in_dir = (t_direction)(in_dir & DMask); - if ( in_index < m[in_dir].nbrKnots ) - return (G4double)(m[in_dir].pKnots[in_index]); - else - { - G4cerr << "\nERROR: G4NURBS::GetdoubleKnot: index out of range" - << "\n\t in_dir : " << G4int(in_dir) - << ", in_index : " << G4int(in_index) - << "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots - << G4endl; - return (G4double)(m[in_dir].pKnots[m[in_dir].nbrKnots-1]); - }; - } +G4double G4NURBS::GetdoubleKnot(t_direction in_dir, t_indKnot in_index) const +{ + in_dir = (t_direction)(in_dir & DMask); + if ( in_index < m[in_dir].nbrKnots ) + return (G4double)(m[in_dir].pKnots[in_index]); + else + { + G4cerr << "\nERROR: G4NURBS::GetdoubleKnot: index out of range" + << "\n\t in_dir : " << G4int(in_dir) + << ", in_index : " << G4int(in_index) + << "m[in_dir].nbrKnots : " << m[in_dir].nbrKnots + << G4endl; + return (G4double)(m[in_dir].pKnots[m[in_dir].nbrKnots-1]); + } +} -G4NURBS::t_floatCtrlPt* G4NURBS::GetfloatCtrlPt(t_indCtrlPt in_onedimindex) const - { - if (in_onedimindex < mtotnbrCtrlPts) - return TofloatCtrlPt(mpCtrlPts[in_onedimindex]); - else - { - G4cerr << "\nERROR: G4NURBS::GetfloatCtrlPt: index out of range" - << "\n\t in_onedimindex : " << in_onedimindex - << " , mtotnbrCtrlPts : " << mtotnbrCtrlPts << G4endl; - return TofloatCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); - }; - } +G4NURBS::t_floatCtrlPt* +G4NURBS::GetfloatCtrlPt(t_indCtrlPt in_onedimindex) const +{ + if (in_onedimindex < mtotnbrCtrlPts) + return TofloatCtrlPt(mpCtrlPts[in_onedimindex]); + else + { + G4cerr << "\nERROR: G4NURBS::GetfloatCtrlPt: index out of range" + << "\n\t in_onedimindex : " << in_onedimindex + << " , mtotnbrCtrlPts : " << mtotnbrCtrlPts << G4endl; + return TofloatCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); + } +} -G4NURBS::t_floatCtrlPt* G4NURBS::GetfloatCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const - { - if ( - (in_Uindex < m[U].nbrCtrlPts) - && (in_Vindex < m[V].nbrCtrlPts) - ) - return TofloatCtrlPt(mpCtrlPts[To1d(in_Uindex, in_Vindex)]); - else - { - G4cerr << "\nERROR: G4NURBS::GetfloatCtrlPt: index(s) out of range" - << "\n\t in_Uindex : " << in_Uindex - << " , in_Vindex : " << in_Vindex - << " , UnbrCtrlPts : " << m[U].nbrCtrlPts - << " , VnbrCtrlPts : " << m[V].nbrCtrlPts << G4endl; - return TofloatCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); - }; - } +G4NURBS::t_floatCtrlPt* +G4NURBS::GetfloatCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const +{ + if ( (in_Uindex < m[U].nbrCtrlPts) && (in_Vindex < m[V].nbrCtrlPts) ) + return TofloatCtrlPt(mpCtrlPts[To1d(in_Uindex, in_Vindex)]); + else + { + G4cerr << "\nERROR: G4NURBS::GetfloatCtrlPt: index(s) out of range" + << "\n\t in_Uindex : " << in_Uindex + << " , in_Vindex : " << in_Vindex + << " , UnbrCtrlPts : " << m[U].nbrCtrlPts + << " , VnbrCtrlPts : " << m[V].nbrCtrlPts << G4endl; + return TofloatCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); + } +} -G4NURBS::t_doubleCtrlPt* G4NURBS::GetdoubleCtrlPt(t_indCtrlPt in_onedimindex) const - { - if ( in_onedimindex < mtotnbrCtrlPts ) - return TodoubleCtrlPt(mpCtrlPts[in_onedimindex]); - else - { - G4cerr << "\nERROR: G4NURBS::getdoubleCtrlPts: index out of range" - << "\n\t in_onedimindex : " << in_onedimindex - << " , mtotnbrCtrlPts : " << mtotnbrCtrlPts << G4endl; - return TodoubleCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); - }; - } +G4NURBS::t_doubleCtrlPt* +G4NURBS::GetdoubleCtrlPt(t_indCtrlPt in_onedimindex) const +{ + if ( in_onedimindex < mtotnbrCtrlPts ) + return TodoubleCtrlPt(mpCtrlPts[in_onedimindex]); + else + { + G4cerr << "\nERROR: G4NURBS::getdoubleCtrlPts: index out of range" + << "\n\t in_onedimindex : " << in_onedimindex + << " , mtotnbrCtrlPts : " << mtotnbrCtrlPts << G4endl; + return TodoubleCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); + } +} -G4NURBS::t_doubleCtrlPt* G4NURBS::GetdoubleCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const - { - if ( - (in_Uindex < m[U].nbrCtrlPts) - && (in_Vindex < m[V].nbrCtrlPts) - ) - return TodoubleCtrlPt(mpCtrlPts[To1d(in_Uindex, in_Vindex)]); - else - { - G4cerr << "\nERROR: G4NURBS::GetdoubleCtrlPt: index(s) out of range" - << "\n\t in_Uindex : " << in_Uindex - << " , in_Vindex : " << in_Vindex - << " , UnbrCtrlPts : " << m[U].nbrCtrlPts - << " , VnbrCtrlPts : " << m[V].nbrCtrlPts << G4endl; - return TodoubleCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); - }; - } +G4NURBS::t_doubleCtrlPt* +G4NURBS::GetdoubleCtrlPt(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const +{ + if ( (in_Uindex < m[U].nbrCtrlPts) && (in_Vindex < m[V].nbrCtrlPts) ) + return TodoubleCtrlPt(mpCtrlPts[To1d(in_Uindex, in_Vindex)]); + else + { + G4cerr << "\nERROR: G4NURBS::GetdoubleCtrlPt: index(s) out of range" + << "\n\t in_Uindex : " << in_Uindex + << " , in_Vindex : " << in_Vindex + << " , UnbrCtrlPts : " << m[U].nbrCtrlPts + << " , VnbrCtrlPts : " << m[V].nbrCtrlPts << G4endl; + return TodoubleCtrlPt(mpCtrlPts[mtotnbrCtrlPts-1]); + } +} // Total copy -G4float * G4NURBS::GetfloatAllKnots(t_direction in_dir) const - { - in_dir = (t_direction)(in_dir & DMask); - G4float * p = new G4float [m[in_dir].nbrKnots]; - for (t_indKnot i = 0; i < m[in_dir].nbrKnots; i++) - p[i] = (G4float)m[in_dir].pKnots[i]; - return p; - } +G4float * G4NURBS::GetfloatAllKnots(t_direction in_dir) const +{ + in_dir = (t_direction)(in_dir & DMask); + G4float * p = new G4float [m[in_dir].nbrKnots]; + for (t_indKnot i = 0; i < m[in_dir].nbrKnots; i++) + p[i] = (G4float)m[in_dir].pKnots[i]; + return p; +} -G4double * G4NURBS::GetdoubleAllKnots(t_direction in_dir) const - { - in_dir = (t_direction)(in_dir & DMask); - G4double * p = new G4double [m[in_dir].nbrKnots]; - for (t_indKnot i = 0; i < m[in_dir].nbrKnots; i++) - p[i] = (G4double)m[in_dir].pKnots[i]; - return p; - } - - - -G4float * G4NURBS::GetfloatAllCtrlPts() const - { - G4float * p = new G4float [mtotnbrCtrlPts*NofC]; - for (t_indKnot i = 0; i < mtotnbrCtrlPts*NofC; i++) - p[i] = (G4float)(((t_Coord *)mpCtrlPts)[i]); - return p; - } - -G4double * G4NURBS::GetdoubleAllCtrlPts() const - { - G4double * p = new G4double [mtotnbrCtrlPts*NofC]; - for (t_indKnot i = 0; i < mtotnbrCtrlPts*NofC; i++) - p[i] = (G4double)(((t_Coord *)mpCtrlPts)[i]); - return p; - } +G4double * G4NURBS::GetdoubleAllKnots(t_direction in_dir) const +{ + in_dir = (t_direction)(in_dir & DMask); + G4double * p = new G4double [m[in_dir].nbrKnots]; + for (t_indKnot i = 0; i < m[in_dir].nbrKnots; i++) + p[i] = (G4double)m[in_dir].pKnots[i]; + return p; +} +G4float * G4NURBS::GetfloatAllCtrlPts() const +{ + G4float * p = new G4float [mtotnbrCtrlPts*NofC]; + for (t_indKnot i = 0; i < mtotnbrCtrlPts*NofC; i++) + p[i] = (G4float)(((t_Coord *)mpCtrlPts)[i]); + return p; +} +G4double * G4NURBS::GetdoubleAllCtrlPts() const +{ + G4double * p = new G4double [mtotnbrCtrlPts*NofC]; + for (t_indKnot i = 0; i < mtotnbrCtrlPts*NofC; i++) + p[i] = (G4double)(((t_Coord *)mpCtrlPts)[i]); + return p; +} // Iterators - G4NURBS::KnotsIterator::KnotsIterator(const G4NURBS & in_rNurb, G4NURBS::t_direction in_dir, t_indKnot in_startIndex) - : kmdir((G4NURBS::t_direction)(in_dir & G4NURBS::DMask)), - kmpMax(in_rNurb.m[kmdir].pKnots + in_rNurb.m[kmdir].nbrKnots) - - { - if (in_startIndex < in_rNurb.m[kmdir].nbrKnots) - mp = in_rNurb.m[kmdir].pKnots + in_startIndex; - else - { - G4cerr << "\nERROR: G4NURBS::KnotsIterator: in_startIndex out of range" - << "\n\tin_startIndex : " << in_startIndex - << ", nbr of knots : " << in_rNurb.m[kmdir].nbrKnots - << "\n\t mp set to NULL, calls to picking functions will fail" - << G4endl; - mp = NULL; - }; - } +G4NURBS::KnotsIterator::KnotsIterator(const G4NURBS & in_rNurb, + G4NURBS::t_direction in_dir, + t_indKnot in_startIndex) + : kmdir((G4NURBS::t_direction)(in_dir & G4NURBS::DMask)), + kmpMax(in_rNurb.m[kmdir].pKnots + in_rNurb.m[kmdir].nbrKnots) +{ + if (in_startIndex < in_rNurb.m[kmdir].nbrKnots) + mp = in_rNurb.m[kmdir].pKnots + in_startIndex; + else + { + G4cerr << "\nERROR: G4NURBS::KnotsIterator: in_startIndex out of range" + << "\n\tin_startIndex : " << in_startIndex + << ", nbr of knots : " << in_rNurb.m[kmdir].nbrKnots + << "\n\t mp set to NULL, calls to picking functions will fail" + << G4endl; + mp = 0; + } +} -G4bool G4NURBS::KnotsIterator::pick(G4double * inout_pDbl) - { - (*inout_pDbl) = (G4double)(*mp); - return (G4bool)((++mp)= 1" << G4endl; - exit(-1); - }; - if (m[dir].nbrCtrlPts<=0) - { - G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: The number of control points " - << G4NURBS::Tochar(dir) - << " direction must be >= 1" << G4endl; - exit(-1); - }; - }; // end of dummy - } +void G4NURBS::Conscheck() const +{ + G4int dummy; + t_direction dir; + for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) + { + if (m[dir].order<=0) + { + G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: The order in the " + << G4NURBS::Tochar(dir) + << " direction must be >= 1" << G4endl; + G4Exception("ERROR - G4NURBS::Conscheck()"); + } + if (m[dir].nbrCtrlPts<=0) + { + G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: The number of control points " + << G4NURBS::Tochar(dir) + << " direction must be >= 1" << G4endl; + G4Exception("ERROR - G4NURBS::Conscheck()"); + } + } // end of dummy +} - G4NURBS::G4NURBS - ( - t_order in_Uorder, t_order in_Vorder, - t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, - t_CtrlPt * in_pCtrlPts, - t_Knot * in_pUKnots, t_Knot * in_pVKnots, - t_CheckFlag in_CheckFlag - ) - { +G4NURBS::G4NURBS ( t_order in_Uorder, t_order in_Vorder, + t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, + t_CtrlPt * in_pCtrlPts, + t_Knot * in_pUKnots, t_Knot * in_pVKnots, + t_CheckFlag in_CheckFlag ) +{ + m[U].order=in_Uorder; m[V].order=in_Vorder; + m[U].nbrCtrlPts=in_UnbrCtrlPts; m[V].nbrCtrlPts=in_VnbrCtrlPts; - m[U].order=in_Uorder; m[V].order=in_Vorder; - m[U].nbrCtrlPts=in_UnbrCtrlPts; m[V].nbrCtrlPts=in_VnbrCtrlPts; + mtotnbrCtrlPts = m[U].nbrCtrlPts * m[V].nbrCtrlPts; + m[U].nbrKnots = m[U].order + m[U].nbrCtrlPts; + m[V].nbrKnots = m[V].order + m[V].nbrCtrlPts; + + if (in_CheckFlag) + Conscheck(); - mtotnbrCtrlPts = m[U].nbrCtrlPts * m[V].nbrCtrlPts; - m[U].nbrKnots = m[U].order + m[U].nbrCtrlPts; - m[V].nbrKnots = m[V].order + m[V].nbrCtrlPts; - - if (in_CheckFlag) - Conscheck(); + // CtrlPts + if (! (mpCtrlPts = in_pCtrlPts) ) + { + G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: " + << "A NURBS MUST HAVE CONTROL POINTS!\n" + << "\teven if they are defined later, the array must be allocated." + << G4endl; + G4Exception("ERROR - G4NURBS::G4NURBS()"); + } + //mnbralias = 0; - // CtrlPts - if (! (mpCtrlPts = in_pCtrlPts) ) - { - G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: A NURBS MUST HAVE CONTROL POINTS!\n\teven if they are defined later, the array must be allocated." - << "\n\tgood bye. Have a nice debuging." << G4endl; - exit(-1); - }; - //mnbralias = 0; + // Knots + t_direction dir; + G4int dummy; + for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) + { + if ( !(m[dir].pKnots = (dummy?in_pVKnots:in_pUKnots)) ) + { // make some regular knots between 0 & 1 + if(!MakeKnotVector(m[dir], Regular)) + { + G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: " + << "Unable to make a Regular knot vector along " + << G4NURBS::Tochar(dir) + << " direction." + << G4endl; + G4Exception("ERROR - G4NURBS::G4NURBS()"); + } + //m[dir].nbralias = 0; + } // end of knots-making + } // end for dummy +} // end of G4NURBS::G4NURBS - // Knots - t_direction dir; - G4int dummy; - for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) - { - if ( !(m[dir].pKnots = (dummy?in_pVKnots:in_pUKnots)) ) - { // make some regular knots between 0 & 1 - if(!MakeKnotVector(m[dir], Regular)) - { - G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: Unable to make a Regular knot vector along " - << G4NURBS::Tochar(dir) - << " direction." - << "\n\tgood bye. Have a nice debuging." - << G4endl; - exit(-1); +// second constructor - }; - //m[dir].nbralias = 0; - }; // end of knots-making - };// end for dummy +G4NURBS::G4NURBS( t_order in_Uorder, t_order in_Vorder, + t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, + t_KnotVectorGenFlag in_UKVGFlag, + t_KnotVectorGenFlag in_VKVGFlag, + t_CheckFlag in_CheckFlag ) +{ + m[U].order=in_Uorder; m[V].order=in_Vorder; + m[U].nbrCtrlPts=in_UnbrCtrlPts; m[V].nbrCtrlPts=in_VnbrCtrlPts; - } // end of G4NURBS::G4NURBS + mtotnbrCtrlPts = m[U].nbrCtrlPts * m[V].nbrCtrlPts; + m[U].nbrKnots = m[U].order + m[U].nbrCtrlPts; + m[V].nbrKnots = m[V].order + m[V].nbrCtrlPts; + + if (in_CheckFlag) + Conscheck(); - - // second constructor + // Allocate CtrlPts + mpCtrlPts = new t_CtrlPt [mtotnbrCtrlPts]; + //mnbralias = 0; - G4NURBS::G4NURBS( - t_order in_Uorder, t_order in_Vorder, - t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, - t_KnotVectorGenFlag in_UKVGFlag, - t_KnotVectorGenFlag in_VKVGFlag, - t_CheckFlag in_CheckFlag - ) - { + // Knots + t_direction dir; + G4int dummy; + for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) + { + t_KnotVectorGenFlag flag = (dummy?in_VKVGFlag:in_UKVGFlag); + m[dir].pKnots = 0; // (allocation under our control) + if ( flag && !MakeKnotVector(m[dir], flag) ) + { + G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: " + << "Unable to make knot vector along " + << G4NURBS::Tochar(dir) + << " direction. (" << m[dir].nbrKnots + << " knots requested for a " + << flag + << " knots vector)" + << G4endl; + G4Exception("ERROR - G4NURBS::G4NURBS()"); + } + //m[dir].nbralias = 0; + } +} - m[U].order=in_Uorder; m[V].order=in_Vorder; - m[U].nbrCtrlPts=in_UnbrCtrlPts; m[V].nbrCtrlPts=in_VnbrCtrlPts; +G4NURBS::G4NURBS(const G4NURBS & in_krNurb) + : G4VVisPrim(in_krNurb) +{ + // we assume the in nurbs is ok - mtotnbrCtrlPts = m[U].nbrCtrlPts * m[V].nbrCtrlPts; - m[U].nbrKnots = m[U].order + m[U].nbrCtrlPts; - m[V].nbrKnots = m[V].order + m[V].nbrCtrlPts; - - if (in_CheckFlag) - Conscheck(); + // the number of CtrlPts can be copied straightly + mtotnbrCtrlPts = in_krNurb.mtotnbrCtrlPts; - // Allocate CtrlPts - mpCtrlPts = new t_CtrlPt [mtotnbrCtrlPts]; - //mnbralias = 0; + // the main datas - // Knots - t_direction dir; - G4int dummy; - for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) - { - t_KnotVectorGenFlag flag = (dummy?in_VKVGFlag:in_UKVGFlag); - m[dir].pKnots = NULL; // (allocation under our control) - if ( flag && !MakeKnotVector(m[dir], flag) ) - { - G4cerr << "\nFATAL ERROR: G4NURBS::G4NURBS: Unable to make knot vector along " - << G4NURBS::Tochar(dir) - << " direction. (" << m[dir].nbrKnots - << " knots requested for a " - << flag - << " knots vector)" - << "\n\tgood bye. Have a nice debuging." - << G4endl; - exit(-1); - }; - //m[dir].nbralias = 0; - }; - } - - + // but as m is an array of t_Dir and as t_Dir + // is just a structure and not a class with a copy cons + // whe need to duplicate the knots + t_direction dir; + G4int dummy; + for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) + { + // first we do a 'stupid' copy of m[dir] + m[dir] = in_krNurb.m[dir]; + // but as m is an array of t_Dir and as t_Dir + // is just a structure and not a class with a copy cons + // whe need to duplicate the knots + m[dir].pKnots = new G4double [m[dir].nbrKnots]; + // we copy the knots with memcpy. This function should be the fastest + memcpy(m[dir].pKnots, in_krNurb.m[dir].pKnots, + m[dir].nbrKnots * sizeof(G4double)); + } // end of dummy loop + // the control points + // once again we need to do the copy + mpCtrlPts = new t_CtrlPt [mtotnbrCtrlPts]; + memcpy(mpCtrlPts, in_krNurb.mpCtrlPts, mtotnbrCtrlPts*sizeof(t_CtrlPt)); + // and as it's very strange to copy a nurbs in G4 + // we issue a warning : + G4cerr << "\nWARNING: G4NURBS::G4NURBS(const G4NURBS &) used" << G4endl; +} - - - G4NURBS::G4NURBS(const G4NURBS & in_krNurb) - { - // we assume the in nurbs is ok - - // the number of CtrlPts can be copied straightly - mtotnbrCtrlPts = in_krNurb.mtotnbrCtrlPts; - - // the main datas - - // but as m is an array of t_Dir and as t_Dir - // is just a structure and not a class with a copy cons - // whe need to duplicate the knots - t_direction dir; - G4int dummy; - for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) - { - // first we do a 'stupid' copy of m[dir] - m[dir] = in_krNurb.m[dir]; - // but as m is an array of t_Dir and as t_Dir - // is just a structure and not a class with a copy cons - // whe need to duplicate the knots - m[dir].pKnots = new G4double [m[dir].nbrKnots]; - // we copy the knots with memcpy. This function should be the fastest - memcpy(m[dir].pKnots, in_krNurb.m[dir].pKnots, m[dir].nbrKnots * sizeof(G4double)); - }; // end of dummy loop - - // the control points - // once again we need to do the copy - mpCtrlPts = new t_CtrlPt [mtotnbrCtrlPts]; - memcpy(mpCtrlPts, in_krNurb.mpCtrlPts, mtotnbrCtrlPts*sizeof(t_CtrlPt)); - - // and as it's very strange to copy a nurbs in G4 - // we issue a warning : - G4cerr << "\nWARNING: G4NURBS::G4NURBS(const G4NURBS &) used" << G4endl; - } // end of G4NURBS::G4NURBS(const G4NURBS &) - - - G4NURBS::~G4NURBS() - { - // we must free the two knots vector - t_direction dir; - G4int dummy; - for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) - { - if (m[dir].pKnots) - delete m[dir].pKnots; // [m[dir].nbrKnots] if t_Knot become a class - m[dir].pKnots = NULL; - }; - // now we free the CtrlPts array - if (mpCtrlPts) - delete [] mpCtrlPts; // [mtotnbrCtrlPts] if t_CtrlPt become a class - mpCtrlPts = NULL; - } +G4NURBS::~G4NURBS() +{ + // we must free the two knots vector + t_direction dir; + G4int dummy; + for (dummy=0; (dummy?(dir=V):(dir=U)),(dummy < NofD); dummy++) + { + if (m[dir].pKnots) + delete m[dir].pKnots; // [m[dir].nbrKnots] if t_Knot become a class + m[dir].pKnots = 0; + } + // now we free the CtrlPts array + if (mpCtrlPts) + delete [] mpCtrlPts; // [mtotnbrCtrlPts] if t_CtrlPt become a class + mpCtrlPts = 0; +} /************************************************************************ * * @@ -588,14 +567,14 @@ void G4NURBS::Conscheck() const * Find this "breakpoint" allows the evaluation routines to concentrate * * on only those control points actually effecting the curve around u.] * * * - * m is the number of points on the curve (or surface direction) * - * k is the order of the curve (or surface direction) * - * kv is the knot vector ([0..m+k-1]) to find the break point in. * + * m is the number of points on the curve (or surface direction) * + * k is the order of the curve (or surface direction) * + * kv is the knot vector ([0..m+k-1]) to find the break point in. * * * ************************************************************************/ -static int FindBreakPoint(double u, const Float *kv, int m, int k) +static G4int FindBreakPoint(G4double u, const Float *kv, G4int m, G4int k) { - int i; + G4int i; if (u == kv[m+1]) return m; /* Special case for closed interval */ i = m + k; while ((u < kv[i]) && (i > 0)) i--; @@ -614,22 +593,27 @@ static int FindBreakPoint(double u, const Float *kv, int m, int k) * (From Bartels, Beatty & Barsky, p.387) * * * ************************************************************************/ -static void BasisFunctions(double u, int brkPoint, - const Float *kv, int k, double *bvals) +static void BasisFunctions(G4double u, G4int brkPoint, + const Float *kv, G4int k, G4double *bvals) { - int r, s, i; - double omega; + G4int r, s, i; + G4double omega; bvals[0] = 1.0; - for (r=2; r <= k; r++) { + for (r=2; r <= k; r++) + { i = brkPoint - r + 1; bvals[r-1] = 0.0; - for (s=r-2; s >= 0; s--) { + for (s=r-2; s >= 0; s--) + { i++; - if (i < 0) { - omega = 0.0; - }else{ - omega = (u - kv[i]) / (kv[i+r-1] - kv[i]); + if (i < 0) + { + omega = 0.0; + } + else + { + omega = (u - kv[i]) / (kv[i+r-1] - kv[i]); } bvals[s+1] = bvals[s+1] + (1.0-omega) * bvals[s]; bvals[s] = omega * bvals[s]; @@ -642,22 +626,23 @@ static void BasisFunctions(double u, int brkPoint, * Compute derivatives of the basis functions Bi,k(u)' * * * ************************************************************************/ -static void BasisDerivatives(double u, int brkPoint, - const Float *kv, int k, double *dvals) +static void BasisDerivatives(G4double u, G4int brkPoint, + const Float *kv, G4int k, G4double *dvals) { - int s, i; - double omega, knotScale; + G4int s, i; + G4double omega, knotScale; BasisFunctions(u, brkPoint, kv, k-1, dvals); - dvals[k-1] = 0.0; /* BasisFunctions misses this */ + dvals[k-1] = 0.0; /* BasisFunctions misses this */ knotScale = kv[brkPoint+1] - kv[brkPoint]; i = brkPoint - k + 1; - for (s=k-2; s >= 0; s--) { + for (s=k-2; s >= 0; s--) + { i++; - omega = knotScale * ((double)(k-1)) / (kv[i+k-1] - kv[i]); + omega = knotScale * ((G4double)(k-1)) / (kv[i+k-1] - kv[i]); dvals[s+1] += -omega * dvals[s]; dvals[s] *= omega; } @@ -672,28 +657,29 @@ static void BasisDerivatives(double u, int brkPoint, * (kvU[orderU] <= u < kvU[numU), (kvV[orderV] <= v < kvV[numV]) * * * ***********************************************************************/ -void G4NURBS::CalcPoint(double u, double v, G4Point3D &p, - G4Vector3D &utan, G4Vector3D &vtan) const +void G4NURBS::CalcPoint(G4double u, G4double v, G4Point3D &p, + G4Vector3D &utan, G4Vector3D &vtan) const { #define MAXORDER 50 - struct Point4 { - double x, y, z, w; + struct Point4 + { + G4double x, y, z, w; }; - int i, j, ri, rj; - int ubrkPoint, ufirst; - double bu[MAXORDER], buprime[MAXORDER]; - int vbrkPoint, vfirst; - double bv[MAXORDER], bvprime[MAXORDER]; + G4int i, j, ri, rj; + G4int ubrkPoint, ufirst; + G4double bu[MAXORDER], buprime[MAXORDER]; + G4int vbrkPoint, vfirst; + G4double bv[MAXORDER], bvprime[MAXORDER]; Point4 r, rutan, rvtan; r.x = 0.0; r.y = 0.0; r.z = 0.0; r.w = 0.0; rutan = r; rvtan = r; - int numU = GetUnbrCtrlPts(); - int numV = GetVnbrCtrlPts(); - int orderU = GetUorder(); - int orderV = GetVorder(); + G4int numU = GetUnbrCtrlPts(); + G4int numV = GetVnbrCtrlPts(); + G4int orderU = GetUorder(); + G4int orderV = GetVorder(); /* Evaluate non-uniform basis functions (and derivatives) */ @@ -711,13 +697,15 @@ void G4NURBS::CalcPoint(double u, double v, G4Point3D &p, t_doubleCtrlPt *cpoint; Point4 cp; - double tmp; + G4double tmp; - for (i=0; i -// math.h included in template.hh included in globals.hh included in -// G4NURBS.hh included in G4NURBScylinder.hh - // the cylinder constructor use the first G4NURBS constructor // look in G4NURBStube if you want to see how to use the second one. - G4NURBScylinder::G4NURBScylinder(G4double R, G4double DZ) - : - G4NURBS ( - 2, 3, // linear along U, quadratic along V - 4, 9, // half rectangle along U, circle along V - (new t_CtrlPt [ 4 * 9 ]), // the array for CtrlPts - NULL, // the knot vector along U will be generated - (new t_Knot [ 3 + 9 ]) // knot vector for the circle - ) - { - // define the V knot vector - m[V].pKnots[ 0] = 0; - m[V].pKnots[ 1] = 0; - m[V].pKnots[ 2] = 0; - m[V].pKnots[ 3] = 0.25; - m[V].pKnots[ 4] = 0.25; - m[V].pKnots[ 5] = 0.5; - m[V].pKnots[ 6] = 0.5; - m[V].pKnots[ 7] = 0.75; - m[V].pKnots[ 8] = 0.75; - m[V].pKnots[ 9] = 1; - m[V].pKnots[10] = 1; - m[V].pKnots[11] = 1; +G4NURBScylinder::G4NURBScylinder(G4double R, G4double DZ) + : G4NURBS ( 2, 3, // linear along U, quadratic along V + 4, 9, // half rectangle along U, circle along V + (new t_CtrlPt [ 4 * 9 ]), // the array for CtrlPts + 0, // the knot vector along U will be generated + (new t_Knot [ 3 + 9 ]) ) // knot vector for the circle +{ + // define the V knot vector + m[V].pKnots[ 0] = 0; + m[V].pKnots[ 1] = 0; + m[V].pKnots[ 2] = 0; + m[V].pKnots[ 3] = 0.25; + m[V].pKnots[ 4] = 0.25; + m[V].pKnots[ 5] = 0.5; + m[V].pKnots[ 6] = 0.5; + m[V].pKnots[ 7] = 0.75; + m[V].pKnots[ 8] = 0.75; + m[V].pKnots[ 9] = 1; + m[V].pKnots[10] = 1; + m[V].pKnots[11] = 1; - // define control points + // define control points - const G4double sr2o2 = sqrt(2.)/2. ; + const G4double sr2o2 = sqrt(2.)/2. ; - CP(mpCtrlPts[ 0] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[ 1] , R, 0, DZ, 1 ); - CP(mpCtrlPts[ 2] , R, 0, -DZ, 1 ); - CP(mpCtrlPts[ 3] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[ 0] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[ 1] , R, 0, DZ, 1 ); + CP(mpCtrlPts[ 2] , R, 0, -DZ, 1 ); + CP(mpCtrlPts[ 3] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[ 4] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[ 5] , R, R, DZ, 1 , sr2o2); - CP(mpCtrlPts[ 6] , R, R,-DZ, 1 , sr2o2); - CP(mpCtrlPts[ 7] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[ 4] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[ 5] , R, R, DZ, 1 , sr2o2); + CP(mpCtrlPts[ 6] , R, R,-DZ, 1 , sr2o2); + CP(mpCtrlPts[ 7] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[ 8] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[ 9] , 0, R, DZ, 1 ); - CP(mpCtrlPts[10] , 0, R, -DZ, 1 ); - CP(mpCtrlPts[11] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[ 8] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[ 9] , 0, R, DZ, 1 ); + CP(mpCtrlPts[10] , 0, R, -DZ, 1 ); + CP(mpCtrlPts[11] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[12] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[13] , -R, R, DZ, 1 , sr2o2); - CP(mpCtrlPts[14] , -R, R,-DZ, 1 , sr2o2); - CP(mpCtrlPts[15] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[12] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[13] , -R, R, DZ, 1 , sr2o2); + CP(mpCtrlPts[14] , -R, R,-DZ, 1 , sr2o2); + CP(mpCtrlPts[15] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[16] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[17] , -R, 0, DZ, 1 ); - CP(mpCtrlPts[18] , -R, 0, -DZ, 1 ); - CP(mpCtrlPts[19] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[16] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[17] , -R, 0, DZ, 1 ); + CP(mpCtrlPts[18] , -R, 0, -DZ, 1 ); + CP(mpCtrlPts[19] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[20] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[21] , -R,-R, DZ, 1 , sr2o2); - CP(mpCtrlPts[22] , -R,-R,-DZ, 1 , sr2o2); - CP(mpCtrlPts[23] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[20] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[21] , -R,-R, DZ, 1 , sr2o2); + CP(mpCtrlPts[22] , -R,-R,-DZ, 1 , sr2o2); + CP(mpCtrlPts[23] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[24] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[25] , 0, -R, DZ, 1 ); - CP(mpCtrlPts[26] , 0, -R,-DZ, 1 ); - CP(mpCtrlPts[27] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[24] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[25] , 0, -R, DZ, 1 ); + CP(mpCtrlPts[26] , 0, -R,-DZ, 1 ); + CP(mpCtrlPts[27] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[28] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[29] , R,-R, DZ, 1 , sr2o2); - CP(mpCtrlPts[30] , R,-R,-DZ, 1 , sr2o2); - CP(mpCtrlPts[31] , 0, 0, -DZ, 1 ); + CP(mpCtrlPts[28] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[29] , R,-R, DZ, 1 , sr2o2); + CP(mpCtrlPts[30] , R,-R,-DZ, 1 , sr2o2); + CP(mpCtrlPts[31] , 0, 0, -DZ, 1 ); - CP(mpCtrlPts[32] , 0, 0, DZ, 1 ); - CP(mpCtrlPts[33] , R, 0, DZ, 1 ); - CP(mpCtrlPts[34] , R, 0, -DZ, 1 ); - CP(mpCtrlPts[35] , 0, 0, -DZ, 1 ); - - } + CP(mpCtrlPts[32] , 0, 0, DZ, 1 ); + CP(mpCtrlPts[33] , R, 0, DZ, 1 ); + CP(mpCtrlPts[34] , R, 0, -DZ, 1 ); + CP(mpCtrlPts[35] , 0, 0, -DZ, 1 ); +} -G4Visible & G4NURBScylinder::operator = (const G4Visible &right) { +G4Visible & G4NURBScylinder::operator = (const G4Visible &right) +{ return G4Visible::operator = (right); } -G4VVisPrim & G4NURBScylinder::operator = (const G4VVisPrim &right) { +G4VVisPrim & G4NURBScylinder::operator = (const G4VVisPrim &right) +{ return G4VVisPrim::operator = (right); } -const char* G4NURBScylinder::Whoami() const - { - return "Cylinder"; - } - - - - - - +const char* G4NURBScylinder::Whoami() const +{ + return "Cylinder"; +} diff --git a/source/graphics_reps/src/G4NURBShexahedron.cc b/source/graphics_reps/src/G4NURBShexahedron.cc index e0dc8ea377..2dac068667 100644 --- a/source/graphics_reps/src/G4NURBShexahedron.cc +++ b/source/graphics_reps/src/G4NURBShexahedron.cc @@ -21,71 +21,56 @@ // ******************************************************************** // // -// $Id: G4NURBShexahedron.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBShexahedron.cc,v 1.5 2003/04/03 15:31:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // hexahedron implementation // OC 17 9 96 #include "G4NURBShexahedron.hh" - G4NURBShexahedron::G4NURBShexahedron(const G4ThreeVector c [8]) - : - G4NURBS ( - 2, 2, // linear along U and V - 5, 4 // Square x polyline - ) - // let's it Generate regular knots vector - { - // we need to define control points, indeed +G4NURBShexahedron::G4NURBShexahedron(const G4ThreeVector c [8]) + : G4NURBS( 2, 2, // linear along U and V + 5, 4 ) // Square x polyline +{ + // let's it Generate regular knots vector + CP(mpCtrlPts[To1d(0,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(1,0)] , c[1].x(), c[1].y(), c[1].z(), 1 ); + CP(mpCtrlPts[To1d(2,0)] , c[1].x(), c[1].y(), c[1].z(), 1 ); + CP(mpCtrlPts[To1d(3,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(4,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); - CP(mpCtrlPts[To1d(0,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); - CP(mpCtrlPts[To1d(1,0)] , c[1].x(), c[1].y(), c[1].z(), 1 ); - CP(mpCtrlPts[To1d(2,0)] , c[1].x(), c[1].y(), c[1].z(), 1 ); - CP(mpCtrlPts[To1d(3,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); - CP(mpCtrlPts[To1d(4,0)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(0,1)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(1,1)] , c[1].x(), c[1].y(), c[1].z(), 1 ); + CP(mpCtrlPts[To1d(2,1)] , c[2].x(), c[2].y(), c[2].z(), 1 ); + CP(mpCtrlPts[To1d(3,1)] , c[3].x(), c[3].y(), c[3].z(), 1 ); + CP(mpCtrlPts[To1d(4,1)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(0,2)] , c[4].x(), c[4].y(), c[4].z(), 1 ); + CP(mpCtrlPts[To1d(1,2)] , c[5].x(), c[5].y(), c[5].z(), 1 ); + CP(mpCtrlPts[To1d(2,2)] , c[6].x(), c[6].y(), c[6].z(), 1 ); + CP(mpCtrlPts[To1d(3,2)] , c[7].x(), c[7].y(), c[7].z(), 1 ); + CP(mpCtrlPts[To1d(4,2)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - CP(mpCtrlPts[To1d(0,1)] , c[0].x(), c[0].y(), c[0].z(), 1 ); - CP(mpCtrlPts[To1d(1,1)] , c[1].x(), c[1].y(), c[1].z(), 1 ); - CP(mpCtrlPts[To1d(2,1)] , c[2].x(), c[2].y(), c[2].z(), 1 ); - CP(mpCtrlPts[To1d(3,1)] , c[3].x(), c[3].y(), c[3].z(), 1 ); - CP(mpCtrlPts[To1d(4,1)] , c[0].x(), c[0].y(), c[0].z(), 1 ); + CP(mpCtrlPts[To1d(0,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); + CP(mpCtrlPts[To1d(1,3)] , c[5].x(), c[5].y(), c[5].z(), 1 ); + CP(mpCtrlPts[To1d(2,3)] , c[5].x(), c[5].y(), c[5].z(), 1 ); + CP(mpCtrlPts[To1d(3,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); + CP(mpCtrlPts[To1d(4,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); +} - - CP(mpCtrlPts[To1d(0,2)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - CP(mpCtrlPts[To1d(1,2)] , c[5].x(), c[5].y(), c[5].z(), 1 ); - CP(mpCtrlPts[To1d(2,2)] , c[6].x(), c[6].y(), c[6].z(), 1 ); - CP(mpCtrlPts[To1d(3,2)] , c[7].x(), c[7].y(), c[7].z(), 1 ); - CP(mpCtrlPts[To1d(4,2)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - - - CP(mpCtrlPts[To1d(0,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - CP(mpCtrlPts[To1d(1,3)] , c[5].x(), c[5].y(), c[5].z(), 1 ); - CP(mpCtrlPts[To1d(2,3)] , c[5].x(), c[5].y(), c[5].z(), 1 ); - CP(mpCtrlPts[To1d(3,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - CP(mpCtrlPts[To1d(4,3)] , c[4].x(), c[4].y(), c[4].z(), 1 ); - - - - - } - -G4Visible & G4NURBShexahedron::operator = (const G4Visible &right) { +G4Visible & G4NURBShexahedron::operator = (const G4Visible &right) +{ return G4Visible::operator = (right); } -G4VVisPrim & G4NURBShexahedron::operator = (const G4VVisPrim &right) { +G4VVisPrim & G4NURBShexahedron::operator = (const G4VVisPrim &right) +{ return G4VVisPrim::operator = (right); } -const char* G4NURBShexahedron::Whoami() const - { - return "Hexahedron"; - } - - - - - +const char* G4NURBShexahedron::Whoami() const +{ + return "Hexahedron"; +} diff --git a/source/graphics_reps/src/G4NURBStube.cc b/source/graphics_reps/src/G4NURBStube.cc index d15e70611f..30b2a2c49c 100644 --- a/source/graphics_reps/src/G4NURBStube.cc +++ b/source/graphics_reps/src/G4NURBStube.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBStube.cc,v 1.4 2001/07/11 10:01:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBStube.cc,v 1.5 2003/04/03 15:31:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -32,94 +32,82 @@ #include "G4NURBStube.hh" -// for sqrt -//#include -// cf cylinder +G4NURBStube::G4NURBStube(G4double r, G4double R, G4double DZ) + : G4NURBS( 2, 3, // linear along U, quadratic along V + 5, 9, // rectangle along U, circle along V + Regular, // the knot vector along U will be generated + RegularRep ) // knot vector for the circle also +{ + // define control points - G4NURBStube::G4NURBStube(G4double r, G4double R, G4double DZ) - : - G4NURBS ( - 2, 3, // linear along U, quadratic along V - 5, 9, // rectangle along U, circle along V - Regular, // the knot vector along U will be generated - RegularRep // knot vector for the circle also - ) - { - // define control points + const G4double sr2o2 = sqrt(2.)/2.; - const G4double sr2o2 = sqrt(2.)/2.; + CP(mpCtrlPts[ 0] , r, 0, DZ, 1 ); + CP(mpCtrlPts[ 1] , R, 0, DZ, 1 ); + CP(mpCtrlPts[ 2] , R, 0, -DZ, 1 ); + CP(mpCtrlPts[ 3] , r, 0, -DZ, 1 ); + CP(mpCtrlPts[ 4] , r, 0, DZ, 1 ); - CP(mpCtrlPts[ 0] , r, 0, DZ, 1 ); - CP(mpCtrlPts[ 1] , R, 0, DZ, 1 ); - CP(mpCtrlPts[ 2] , R, 0, -DZ, 1 ); - CP(mpCtrlPts[ 3] , r, 0, -DZ, 1 ); - CP(mpCtrlPts[ 4] , r, 0, DZ, 1 ); + CP(mpCtrlPts[ 5] , r, r, DZ, 1 , sr2o2); + CP(mpCtrlPts[ 6] , R, R, DZ, 1 , sr2o2); + CP(mpCtrlPts[ 7] , R, R, -DZ, 1 , sr2o2); + CP(mpCtrlPts[ 8] , r, r, -DZ, 1 , sr2o2); + CP(mpCtrlPts[ 9] , r, r, DZ, 1 , sr2o2); - CP(mpCtrlPts[ 5] , r, r, DZ, 1 , sr2o2); - CP(mpCtrlPts[ 6] , R, R, DZ, 1 , sr2o2); - CP(mpCtrlPts[ 7] , R, R, -DZ, 1 , sr2o2); - CP(mpCtrlPts[ 8] , r, r, -DZ, 1 , sr2o2); - CP(mpCtrlPts[ 9] , r, r, DZ, 1 , sr2o2); + CP(mpCtrlPts[10] , 0, r, DZ, 1 ); + CP(mpCtrlPts[11] , 0, R, DZ, 1 ); + CP(mpCtrlPts[12] , 0, R, -DZ, 1 ); + CP(mpCtrlPts[13] , 0, r, -DZ, 1 ); + CP(mpCtrlPts[14] , 0, r, DZ, 1 ); - CP(mpCtrlPts[10] , 0, r, DZ, 1 ); - CP(mpCtrlPts[11] , 0, R, DZ, 1 ); - CP(mpCtrlPts[12] , 0, R, -DZ, 1 ); - CP(mpCtrlPts[13] , 0, r, -DZ, 1 ); - CP(mpCtrlPts[14] , 0, r, DZ, 1 ); + CP(mpCtrlPts[15] , -r, r, DZ, 1 , sr2o2); + CP(mpCtrlPts[16] , -R, R, DZ, 1 , sr2o2); + CP(mpCtrlPts[17] , -R, R, -DZ, 1 , sr2o2); + CP(mpCtrlPts[18] , -r, r, -DZ, 1 , sr2o2); + CP(mpCtrlPts[19] , -r, r, DZ, 1 , sr2o2); - CP(mpCtrlPts[15] , -r, r, DZ, 1 , sr2o2); - CP(mpCtrlPts[16] , -R, R, DZ, 1 , sr2o2); - CP(mpCtrlPts[17] , -R, R, -DZ, 1 , sr2o2); - CP(mpCtrlPts[18] , -r, r, -DZ, 1 , sr2o2); - CP(mpCtrlPts[19] , -r, r, DZ, 1 , sr2o2); + CP(mpCtrlPts[20] , -r, 0, DZ, 1 ); + CP(mpCtrlPts[21] , -R, 0, DZ, 1 ); + CP(mpCtrlPts[22] , -R, 0, -DZ, 1 ); + CP(mpCtrlPts[23] , -r, 0, -DZ, 1 ); + CP(mpCtrlPts[24] , -r, 0, DZ, 1 ); - CP(mpCtrlPts[20] , -r, 0, DZ, 1 ); - CP(mpCtrlPts[21] , -R, 0, DZ, 1 ); - CP(mpCtrlPts[22] , -R, 0, -DZ, 1 ); - CP(mpCtrlPts[23] , -r, 0, -DZ, 1 ); - CP(mpCtrlPts[24] , -r, 0, DZ, 1 ); + CP(mpCtrlPts[25] , -r,-r, DZ, 1 , sr2o2); + CP(mpCtrlPts[26] , -R,-R, DZ, 1 , sr2o2); + CP(mpCtrlPts[27] , -R,-R, -DZ, 1 , sr2o2); + CP(mpCtrlPts[28] , -r,-r, -DZ, 1 , sr2o2); + CP(mpCtrlPts[29] , -r,-R, DZ, 1 , sr2o2); - CP(mpCtrlPts[25] , -r,-r, DZ, 1 , sr2o2); - CP(mpCtrlPts[26] , -R,-R, DZ, 1 , sr2o2); - CP(mpCtrlPts[27] , -R,-R, -DZ, 1 , sr2o2); - CP(mpCtrlPts[28] , -r,-r, -DZ, 1 , sr2o2); - CP(mpCtrlPts[29] , -r,-R, DZ, 1 , sr2o2); + CP(mpCtrlPts[30] , 0,-r, DZ, 1 ); + CP(mpCtrlPts[31] , 0,-R, DZ, 1 ); + CP(mpCtrlPts[32] , 0,-R, -DZ, 1 ); + CP(mpCtrlPts[33] , 0,-r, -DZ, 1 ); + CP(mpCtrlPts[34] , 0,-r, DZ, 1 ); - CP(mpCtrlPts[30] , 0,-r, DZ, 1 ); - CP(mpCtrlPts[31] , 0,-R, DZ, 1 ); - CP(mpCtrlPts[32] , 0,-R, -DZ, 1 ); - CP(mpCtrlPts[33] , 0,-r, -DZ, 1 ); - CP(mpCtrlPts[34] , 0,-r, DZ, 1 ); + CP(mpCtrlPts[35] , r,-r, DZ, 1 , sr2o2); + CP(mpCtrlPts[36] , R,-R, DZ, 1 , sr2o2); + CP(mpCtrlPts[37] , R,-R, -DZ, 1 , sr2o2); + CP(mpCtrlPts[38] , r,-r, -DZ, 1 , sr2o2); + CP(mpCtrlPts[39] , r,-r, DZ, 1 , sr2o2); - CP(mpCtrlPts[35] , r,-r, DZ, 1 , sr2o2); - CP(mpCtrlPts[36] , R,-R, DZ, 1 , sr2o2); - CP(mpCtrlPts[37] , R,-R, -DZ, 1 , sr2o2); - CP(mpCtrlPts[38] , r,-r, -DZ, 1 , sr2o2); - CP(mpCtrlPts[39] , r,-r, DZ, 1 , sr2o2); + CP(mpCtrlPts[40] , r, 0, DZ, 1 ); + CP(mpCtrlPts[41] , R, 0, DZ, 1 ); + CP(mpCtrlPts[42] , R, 0, -DZ, 1 ); + CP(mpCtrlPts[43] , r, 0, -DZ, 1 ); + CP(mpCtrlPts[44] , r, 0, DZ, 1 ); +} - CP(mpCtrlPts[40] , r, 0, DZ, 1 ); - CP(mpCtrlPts[41] , R, 0, DZ, 1 ); - CP(mpCtrlPts[42] , R, 0, -DZ, 1 ); - CP(mpCtrlPts[43] , r, 0, -DZ, 1 ); - CP(mpCtrlPts[44] , r, 0, DZ, 1 ); - - - } - - -G4Visible & G4NURBStube::operator = (const G4Visible &right) { +G4Visible & G4NURBStube::operator = (const G4Visible &right) +{ return G4Visible::operator = (right); } -G4VVisPrim & G4NURBStube::operator = (const G4VVisPrim &right) { +G4VVisPrim & G4NURBStube::operator = (const G4VVisPrim &right) +{ return G4VVisPrim::operator = (right); } -const char* G4NURBStube::Whoami() const - { - return "Tube"; - } - - - - +const char* G4NURBStube::Whoami() const +{ + return "Tube"; +} diff --git a/source/graphics_reps/src/G4NURBStubesector.cc b/source/graphics_reps/src/G4NURBStubesector.cc index 8140262622..819676ca22 100644 --- a/source/graphics_reps/src/G4NURBStubesector.cc +++ b/source/graphics_reps/src/G4NURBStubesector.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NURBStubesector.cc,v 1.5 2001/07/11 10:01:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NURBStubesector.cc,v 1.6 2003/04/03 15:31:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Olivier Crumeyrolle 12 September 1996 @@ -31,207 +31,193 @@ // OC 290896 #include "G4NURBStubesector.hh" - -// for sqrt -//#include -// cf cylinder - -// for G4std::ostrstream #include "g4std/strstream" +G4NURBStubesector::G4NURBStubesector(G4double r, G4double R, + G4double DZ, G4double PHI1, G4double PHI2) + : G4NURBS( 2, 3, // linear along U, quadratic along V + 5, DecideNbrCtrlPts(PHI1, PHI2), + // rectangle along U, required stuff along V + // we must use a static function which + // take the two angles because the + // mother constructor is initialised + // before everything + Regular, // the knot vector along U will be generated + RegularRep ) // circular like knot vector also +{ + // check angles + G4double deltaPHI = PHI2-PHI1; + while (deltaPHI <= 0) { PHI2 += 2*M_PI; deltaPHI += 2*M_PI; }; - G4NURBStubesector::G4NURBStubesector(G4double r, G4double R, G4double DZ, G4double PHI1, G4double PHI2) - : - G4NURBS ( - 2, 3, // linear along U, quadratic along V - 5, DecideNbrCtrlPts(PHI1, PHI2), - // rectangle along U, required stuff along V - // we must use a static function which - // take the two angles because the - // mother constructor is initialised - // before everything - Regular, // the knot vector along U will be generated - RegularRep // circular like knot vector also - ) - { + G4int f = (int)floor(deltaPHI / (M_PI_2)); //number of pi/2 arcs - // check angles - G4double deltaPHI = PHI2-PHI1; - while (deltaPHI <= 0) { PHI2 += 2*M_PI; deltaPHI += 2*M_PI; }; + const G4double mr = (r+R)/2; - G4int f = (int)floor(deltaPHI / (M_PI_2)); //number of pi/2 arcs - - const G4double mr = (r+R)/2; - - const G4double cp1 = cos(PHI1); - const G4double sp1 = sin(PHI1); - const G4double cp2 = cos(PHI2); - const G4double sp2 = sin(PHI2); - - - // define control points - CP(mpCtrlPts[ 0] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 1] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 2] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 3] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 4] , cp1*mr, sp1*mr, 0, 1 ); - - CP(mpCtrlPts[ 5] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 6] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 7] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 8] , cp1*mr, sp1*mr, 0, 1 ); - CP(mpCtrlPts[ 9] , cp1*mr, sp1*mr, 0, 1 ); - - CP(mpCtrlPts[10] , cp1*r, sp1*r, DZ, 1 ); - CP(mpCtrlPts[11] , cp1*R, sp1*R, DZ, 1 ); - CP(mpCtrlPts[12] , cp1*R, sp1*R, -DZ, 1 ); - CP(mpCtrlPts[13] , cp1*r, sp1*r, -DZ, 1 ); - CP(mpCtrlPts[14] , cp1*r, sp1*r, DZ, 1 ); - - t_indCtrlPt i = 15; - G4double srcAngle = PHI1; - G4double deltaAngleo2; - - G4double destAngle = M_PI_2 + PHI1; - - for(; f > 0; f--) - { - - // the first arc CP is already Done - - deltaAngleo2 = (destAngle - srcAngle) / 2; - const G4double csa = cos(srcAngle); - const G4double ssa = sin(srcAngle); - const G4double tdao2 = tan(deltaAngleo2); - - // to calculate the intermediate CP : - // rotate by srcAngle the (1, tdao2) point - const t_Coord x = csa - ssa*tdao2; - const t_Coord y = ssa + csa*tdao2; - - // weight of the CP - const G4Float weight = (cos(deltaAngleo2)); - - // initialization. postfix ++ because i initialized to 15 - CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); - CP(mpCtrlPts[i++], x*R, y*R, DZ, 1, weight); - CP(mpCtrlPts[i++], x*R, y*R, -DZ, 1, weight); - CP(mpCtrlPts[i++], x*r, y*r, -DZ, 1, weight); - CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); - - // end CP (which is the first CP of the next arc) - const G4double cda = cos(destAngle); - const G4double sda = sin(destAngle); - CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); - CP(mpCtrlPts[i++], cda*R, sda*R, DZ, 1); - CP(mpCtrlPts[i++], cda*R, sda*R, -DZ, 1); - CP(mpCtrlPts[i++], cda*r, sda*r, -DZ, 1); - CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); - - // prepare next arc - srcAngle = destAngle; - destAngle += M_PI_2; - }; + const G4double cp1 = cos(PHI1); + const G4double sp1 = sin(PHI1); + const G4double cp2 = cos(PHI2); + const G4double sp2 = sin(PHI2); - - // f == 0, final Arc - // could be handled in the loops + // define control points + CP(mpCtrlPts[ 0] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 1] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 2] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 3] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 4] , cp1*mr, sp1*mr, 0, 1 ); - destAngle = PHI2; - deltaAngleo2 = (destAngle - srcAngle) / 2; - const G4double csa = cos(srcAngle); - const G4double ssa = sin(srcAngle); - const G4double tdao2 = tan(deltaAngleo2); + CP(mpCtrlPts[ 5] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 6] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 7] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 8] , cp1*mr, sp1*mr, 0, 1 ); + CP(mpCtrlPts[ 9] , cp1*mr, sp1*mr, 0, 1 ); - // to calculate the intermediate CP : - // rotate by srcAngle the (1, tdao2) point - const t_Coord x = csa - ssa*tdao2; - const t_Coord y = ssa + csa*tdao2; + CP(mpCtrlPts[10] , cp1*r, sp1*r, DZ, 1 ); + CP(mpCtrlPts[11] , cp1*R, sp1*R, DZ, 1 ); + CP(mpCtrlPts[12] , cp1*R, sp1*R, -DZ, 1 ); + CP(mpCtrlPts[13] , cp1*r, sp1*r, -DZ, 1 ); + CP(mpCtrlPts[14] , cp1*r, sp1*r, DZ, 1 ); - // weight of the CP - const G4Float weight = (cos(deltaAngleo2)); + t_indCtrlPt i = 15; + G4double srcAngle = PHI1; + G4double deltaAngleo2; - // initialization. - CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); - CP(mpCtrlPts[i++], x*R, y*R, DZ, 1, weight); - CP(mpCtrlPts[i++], x*R, y*R, -DZ, 1, weight); - CP(mpCtrlPts[i++], x*r, y*r, -DZ, 1, weight); - CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); + G4double destAngle = M_PI_2 + PHI1; - // end CP - const G4double cda = cos(destAngle); - const G4double sda = sin(destAngle); - CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); - CP(mpCtrlPts[i++], cda*R, sda*R, DZ, 1); - CP(mpCtrlPts[i++], cda*R, sda*R, -DZ, 1); - CP(mpCtrlPts[i++], cda*r, sda*r, -DZ, 1); - CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); + for(; f > 0; f--) + { + // the first arc CP is already Done + deltaAngleo2 = (destAngle - srcAngle) / 2; + const G4double csa = cos(srcAngle); + const G4double ssa = sin(srcAngle); + const G4double tdao2 = tan(deltaAngleo2); -/**/ if (i != (mtotnbrCtrlPts - 10) ) - { G4cerr - << "\nERROR: G4NURBStubesector::G4NURBStubesector: wrong index," - << i << " instead of " << (mtotnbrCtrlPts - 10) - << "\n\tIt sounds very strange. The tubesector won't be correct. Have a nice debuging!" - << G4endl; - }; + // to calculate the intermediate CP : + // rotate by srcAngle the (1, tdao2) point + const t_Coord x = csa - ssa*tdao2; + const t_Coord y = ssa + csa*tdao2; - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - + // weight of the CP + const G4Float weight = (cos(deltaAngleo2)); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); - CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + // initialization. postfix ++ because i initialized to 15 + CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); + CP(mpCtrlPts[i++], x*R, y*R, DZ, 1, weight); + CP(mpCtrlPts[i++], x*R, y*R, -DZ, 1, weight); + CP(mpCtrlPts[i++], x*r, y*r, -DZ, 1, weight); + CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); - // possible to put a DZ DZ -DZ -DZ DZ column to scratch to a line instead of a point + // end CP (which is the first CP of the next arc) + const G4double cda = cos(destAngle); + const G4double sda = sin(destAngle); + CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); + CP(mpCtrlPts[i++], cda*R, sda*R, DZ, 1); + CP(mpCtrlPts[i++], cda*R, sda*R, -DZ, 1); + CP(mpCtrlPts[i++], cda*r, sda*r, -DZ, 1); + CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); - // creating the nurbs identity - mpwhoami = new char [200]; - G4std::ostrstream tmpstr(mpwhoami, 200); - tmpstr << "Tubs" << " \tPHI1=" << PHI1 << " ; PHI2=" << PHI2 << '\0'; - // could be more sophisticated, reallocating - // mpwhoami to the exact length - - } + // prepare next arc + srcAngle = destAngle; + destAngle += M_PI_2; + } + // f == 0, final Arc + // could be handled in the loops -G4Visible & G4NURBStubesector::operator = (const G4Visible &right) { + destAngle = PHI2; + deltaAngleo2 = (destAngle - srcAngle) / 2; + const G4double csa = cos(srcAngle); + const G4double ssa = sin(srcAngle); + const G4double tdao2 = tan(deltaAngleo2); + + // to calculate the intermediate CP : + // rotate by srcAngle the (1, tdao2) point + const t_Coord x = csa - ssa*tdao2; + const t_Coord y = ssa + csa*tdao2; + + // weight of the CP + const G4Float weight = (cos(deltaAngleo2)); + + // initialization. + CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); + CP(mpCtrlPts[i++], x*R, y*R, DZ, 1, weight); + CP(mpCtrlPts[i++], x*R, y*R, -DZ, 1, weight); + CP(mpCtrlPts[i++], x*r, y*r, -DZ, 1, weight); + CP(mpCtrlPts[i++], x*r, y*r, DZ, 1, weight); + + // end CP + const G4double cda = cos(destAngle); + const G4double sda = sin(destAngle); + CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); + CP(mpCtrlPts[i++], cda*R, sda*R, DZ, 1); + CP(mpCtrlPts[i++], cda*R, sda*R, -DZ, 1); + CP(mpCtrlPts[i++], cda*r, sda*r, -DZ, 1); + CP(mpCtrlPts[i++], cda*r, sda*r, DZ, 1); + + if (i != (mtotnbrCtrlPts - 10) ) + { + G4cerr << "\nERROR: G4NURBStubesector::G4NURBStubesector: wrong index," + << i << " instead of " << (mtotnbrCtrlPts - 10) + << "\n\tThe tubesector won't be correct." + << G4endl; + } + + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + CP(mpCtrlPts[i++] , cp2*mr, sp2*mr, 0, 1); + + // possible to put a DZ DZ -DZ -DZ DZ column to scratch + // to a line instead of a point + + // creating the nurbs identity + mpwhoami = new char [200]; + G4std::ostrstream tmpstr(mpwhoami, 200); + tmpstr << "Tubs" << " \tPHI1=" << PHI1 << " ; PHI2=" << PHI2 << '\0'; + // could be more sophisticated, reallocating + // mpwhoami to the exact length +} + +G4Visible & G4NURBStubesector::operator = (const G4Visible &right) +{ return G4Visible::operator = (right); } -G4VVisPrim & G4NURBStubesector::operator = (const G4VVisPrim &right) { +G4VVisPrim & G4NURBStubesector::operator = (const G4VVisPrim &right) +{ return G4VVisPrim::operator = (right); } -const char* G4NURBStubesector::Whoami() const - { - return mpwhoami; - } +const char* G4NURBStubesector::Whoami() const +{ + return mpwhoami; +} - G4NURBStubesector::~G4NURBStubesector() - { - if (mpwhoami) { delete [] mpwhoami; mpwhoami = NULL; }; - } +G4NURBStubesector::~G4NURBStubesector() +{ + if (mpwhoami) { delete [] mpwhoami; mpwhoami = 0; } +} +G4NURBStubesector::t_inddCtrlPt +G4NURBStubesector::DecideNbrCtrlPts(G4double PHI1, G4double PHI2) +{ + // check angles + G4double deltaPHI = PHI2-PHI1; + while (deltaPHI <= 0) { PHI2 += 2*M_PI; deltaPHI += 2*M_PI; } + G4double k = deltaPHI / (M_PI_2); -G4NURBStubesector::t_inddCtrlPt G4NURBStubesector::DecideNbrCtrlPts(G4double PHI1, G4double PHI2) - { - // check angles - G4double deltaPHI = PHI2-PHI1; - while (deltaPHI <= 0) { PHI2 += 2*M_PI; deltaPHI += 2*M_PI; }; - G4double k = deltaPHI / (M_PI_2); + // G4cerr << " k " << k << G4endl; + // G4cerr << " fk " << floor(k) << G4endl; + // G4cerr << " ifk " << ((int)(floor(k))) << G4endl; + // G4cerr << " n " << (2*((int)(floor(k))) + 7) << G4endl; -// G4cerr << " k " << k << G4endl; -// G4cerr << " fk " << floor(k) << G4endl; -// G4cerr << " ifk " << ((int)(floor(k))) << G4endl; -// G4cerr << " n " << (2*((int)(floor(k))) + 7) << G4endl; - - return ( 2*((int)(floor(k))) + 7 ); - } + return ( 2*((int)(floor(k))) + 7 ); +} diff --git a/source/graphics_reps/src/G4PlacedPolyhedron.cc b/source/graphics_reps/src/G4PlacedPolyhedron.cc index 6e6fe50b56..2009eed80a 100644 --- a/source/graphics_reps/src/G4PlacedPolyhedron.cc +++ b/source/graphics_reps/src/G4PlacedPolyhedron.cc @@ -22,7 +22,7 @@ // // // $Id: G4PlacedPolyhedron.cc,v 1.3 2001/07/11 10:01:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4PlacedPolyhedron.hh" diff --git a/source/graphics_reps/src/G4Point3DList.cc b/source/graphics_reps/src/G4Point3DList.cc index 49112f5969..826a468031 100644 --- a/source/graphics_reps/src/G4Point3DList.cc +++ b/source/graphics_reps/src/G4Point3DList.cc @@ -22,7 +22,7 @@ // // // $Id: G4Point3DList.cc,v 1.5 2001/07/11 10:01:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/src/G4Polyhedron.cc b/source/graphics_reps/src/G4Polyhedron.cc index a8a556b806..591c338738 100644 --- a/source/graphics_reps/src/G4Polyhedron.cc +++ b/source/graphics_reps/src/G4Polyhedron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Polyhedron.cc,v 1.11 2001/07/11 10:01:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Polyhedron.cc,v 1.12 2003/04/03 15:31:07 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4Polyhedron.hh" @@ -30,7 +30,9 @@ G4Polyhedron::G4Polyhedron () {} G4Polyhedron::~G4Polyhedron () {} -G4Polyhedron::G4Polyhedron (const G4Polyhedron& from) { +G4Polyhedron::G4Polyhedron (const G4Polyhedron& from) + : HepPolyhedron(from), G4VVisPrim(from) +{ *this = from; } diff --git a/source/graphics_reps/src/G4Polyline.cc b/source/graphics_reps/src/G4Polyline.cc index 5f94c749ad..0e83690c35 100644 --- a/source/graphics_reps/src/G4Polyline.cc +++ b/source/graphics_reps/src/G4Polyline.cc @@ -22,7 +22,7 @@ // // // $Id: G4Polyline.cc,v 1.7 2001/08/14 18:24:58 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/src/G4Polymarker.cc b/source/graphics_reps/src/G4Polymarker.cc index 408d58b778..94373478c9 100644 --- a/source/graphics_reps/src/G4Polymarker.cc +++ b/source/graphics_reps/src/G4Polymarker.cc @@ -22,7 +22,7 @@ // // // $Id: G4Polymarker.cc,v 1.7 2001/07/11 10:01:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/src/G4Scale.cc b/source/graphics_reps/src/G4Scale.cc index 57f4c12732..738fe4780b 100644 --- a/source/graphics_reps/src/G4Scale.cc +++ b/source/graphics_reps/src/G4Scale.cc @@ -22,7 +22,7 @@ // // // $Id: G4Scale.cc,v 1.6 2002/11/27 12:24:01 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 21st July 2001 diff --git a/source/graphics_reps/src/G4Square.cc b/source/graphics_reps/src/G4Square.cc index 7b3235ba7b..fb04abca61 100644 --- a/source/graphics_reps/src/G4Square.cc +++ b/source/graphics_reps/src/G4Square.cc @@ -22,7 +22,7 @@ // // // $Id: G4Square.cc,v 1.3 2001/07/11 10:01:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/graphics_reps/src/G4Text.cc b/source/graphics_reps/src/G4Text.cc index 2ef9d752a8..362988b0e8 100644 --- a/source/graphics_reps/src/G4Text.cc +++ b/source/graphics_reps/src/G4Text.cc @@ -22,7 +22,7 @@ // // // $Id: G4Text.cc,v 1.6 2001/07/11 10:01:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/src/G4VMarker.cc b/source/graphics_reps/src/G4VMarker.cc index 4796714bdc..f0332f41d5 100644 --- a/source/graphics_reps/src/G4VMarker.cc +++ b/source/graphics_reps/src/G4VMarker.cc @@ -22,7 +22,7 @@ // // // $Id: G4VMarker.cc,v 1.7 2001/07/11 10:01:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/graphics_reps/src/G4VVisPrim.cc b/source/graphics_reps/src/G4VVisPrim.cc index 8c7e02f193..592f0740f9 100644 --- a/source/graphics_reps/src/G4VVisPrim.cc +++ b/source/graphics_reps/src/G4VVisPrim.cc @@ -22,7 +22,7 @@ // // // $Id: G4VVisPrim.cc,v 1.7 2001/07/11 10:01:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison August 1995 diff --git a/source/graphics_reps/src/G4VisAttributes.cc b/source/graphics_reps/src/G4VisAttributes.cc index acb0b431ad..5fcd19b7ed 100644 --- a/source/graphics_reps/src/G4VisAttributes.cc +++ b/source/graphics_reps/src/G4VisAttributes.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisAttributes.cc,v 1.8 2002/11/20 14:18:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 23rd October 1996 diff --git a/source/graphics_reps/src/G4VisExtent.cc b/source/graphics_reps/src/G4VisExtent.cc index a2c77468cd..d76fbb4dd0 100644 --- a/source/graphics_reps/src/G4VisExtent.cc +++ b/source/graphics_reps/src/G4VisExtent.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisExtent.cc,v 1.6 2001/07/24 21:39:50 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // A.Walkden 28/11/95 diff --git a/source/graphics_reps/src/G4Visible.cc b/source/graphics_reps/src/G4Visible.cc index a4fb281ae3..21be8f3a76 100644 --- a/source/graphics_reps/src/G4Visible.cc +++ b/source/graphics_reps/src/G4Visible.cc @@ -22,7 +22,7 @@ // // // $Id: G4Visible.cc,v 1.4 2001/07/11 10:01:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/src/HepPolyhedron.cc b/source/graphics_reps/src/HepPolyhedron.cc index 3a59adc144..4739a00981 100644 --- a/source/graphics_reps/src/HepPolyhedron.cc +++ b/source/graphics_reps/src/HepPolyhedron.cc @@ -22,7 +22,7 @@ // // // $Id: HepPolyhedron.cc,v 1.12 2002/11/20 14:18:34 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/intercoms/History b/source/intercoms/History index 36934c6158..cb601d8a99 100644 --- a/source/intercoms/History +++ b/source/intercoms/History @@ -1,4 +1,4 @@ -$Id: History,v 1.50 2002/12/05 16:25:34 asaim Exp $ +$Id: History,v 1.51 2003/01/20 14:17:19 johna Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Jan 20, 2003, J.Allison (intercoms-V05-00-00, co-works vis-V05-00-00) +- Added G4VVisManager::Draw methods for hits and trajectories. + Dec 4, 2002, M.Asai (intercoms-V04-01-04, intercoms-V04-01-05) - Migration to new G4ApplicationState. diff --git a/source/intercoms/include/G4UIaliasList.hh b/source/intercoms/include/G4UIaliasList.hh index 0974d1a25c..d9327ceff9 100644 --- a/source/intercoms/include/G4UIaliasList.hh +++ b/source/intercoms/include/G4UIaliasList.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIaliasList.hh,v 1.4 2002/04/26 22:03:34 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIaliasList_h diff --git a/source/intercoms/include/G4UIbatch.hh b/source/intercoms/include/G4UIbatch.hh index 7f446fa167..a530e7b5b2 100644 --- a/source/intercoms/include/G4UIbatch.hh +++ b/source/intercoms/include/G4UIbatch.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIbatch.hh,v 1.6 2002/06/07 17:37:44 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $id$ diff --git a/source/intercoms/include/G4UIcmdWith3Vector.hh b/source/intercoms/include/G4UIcmdWith3Vector.hh index 05ee10616e..18f22874f5 100644 --- a/source/intercoms/include/G4UIcmdWith3Vector.hh +++ b/source/intercoms/include/G4UIcmdWith3Vector.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWith3Vector.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh index d8a6e1580d..06439ab348 100644 --- a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWith3VectorAndUnit.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithABool.hh b/source/intercoms/include/G4UIcmdWithABool.hh index d981ff7ff3..356ab1477c 100644 --- a/source/intercoms/include/G4UIcmdWithABool.hh +++ b/source/intercoms/include/G4UIcmdWithABool.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithABool.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithADouble.hh b/source/intercoms/include/G4UIcmdWithADouble.hh index 30804b869c..ac8eafcaeb 100644 --- a/source/intercoms/include/G4UIcmdWithADouble.hh +++ b/source/intercoms/include/G4UIcmdWithADouble.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithADouble.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh index 1e4b6de19d..8e4551ef09 100644 --- a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithADoubleAndUnit.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithAString.hh b/source/intercoms/include/G4UIcmdWithAString.hh index 6fb9b2cf15..6f026e2440 100644 --- a/source/intercoms/include/G4UIcmdWithAString.hh +++ b/source/intercoms/include/G4UIcmdWithAString.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithAString.hh,v 1.4 2001/07/11 10:01:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithAnInteger.hh b/source/intercoms/include/G4UIcmdWithAnInteger.hh index 11bd5fe9da..ea27a1f583 100644 --- a/source/intercoms/include/G4UIcmdWithAnInteger.hh +++ b/source/intercoms/include/G4UIcmdWithAnInteger.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithAnInteger.hh,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcmdWithoutParameter.hh b/source/intercoms/include/G4UIcmdWithoutParameter.hh index aa03cf51fb..01c69fab2f 100644 --- a/source/intercoms/include/G4UIcmdWithoutParameter.hh +++ b/source/intercoms/include/G4UIcmdWithoutParameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithoutParameter.hh,v 1.4 2001/07/11 10:01:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcommand.hh b/source/intercoms/include/G4UIcommand.hh index 3111e0e626..e6063e3d72 100644 --- a/source/intercoms/include/G4UIcommand.hh +++ b/source/intercoms/include/G4UIcommand.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcommand.hh,v 1.12 2002/11/27 18:05:33 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UIcommandStatus.hh b/source/intercoms/include/G4UIcommandStatus.hh index 93c47226a3..31ea494927 100644 --- a/source/intercoms/include/G4UIcommandStatus.hh +++ b/source/intercoms/include/G4UIcommandStatus.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcommandStatus.hh,v 1.4 2001/10/04 23:15:27 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIcommandStatus_h diff --git a/source/intercoms/include/G4UIcommandTree.hh b/source/intercoms/include/G4UIcommandTree.hh index 9b56c095b4..dc21dbca1c 100644 --- a/source/intercoms/include/G4UIcommandTree.hh +++ b/source/intercoms/include/G4UIcommandTree.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcommandTree.hh,v 1.13 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIcommandTree_h diff --git a/source/intercoms/include/G4UIcontrolMessenger.hh b/source/intercoms/include/G4UIcontrolMessenger.hh index 2080e46f1a..9455448b52 100644 --- a/source/intercoms/include/G4UIcontrolMessenger.hh +++ b/source/intercoms/include/G4UIcontrolMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcontrolMessenger.hh,v 1.10 2002/05/15 06:51:31 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIcontrolMessenger_h diff --git a/source/intercoms/include/G4UIdirectory.hh b/source/intercoms/include/G4UIdirectory.hh index 26706ee3af..eeac3528a1 100644 --- a/source/intercoms/include/G4UIdirectory.hh +++ b/source/intercoms/include/G4UIdirectory.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIdirectory.hh,v 1.4 2001/07/11 10:01:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/include/G4UImanager.hh b/source/intercoms/include/G4UImanager.hh index 0ca294a420..ed89929400 100644 --- a/source/intercoms/include/G4UImanager.hh +++ b/source/intercoms/include/G4UImanager.hh @@ -22,7 +22,7 @@ // // // $Id: G4UImanager.hh,v 1.19 2002/05/14 01:40:10 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UImanager_h diff --git a/source/intercoms/include/G4UImessenger.hh b/source/intercoms/include/G4UImessenger.hh index f606c4a049..7315ef777e 100644 --- a/source/intercoms/include/G4UImessenger.hh +++ b/source/intercoms/include/G4UImessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4UImessenger.hh,v 1.6 2001/10/11 13:29:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UImessenger_h diff --git a/source/intercoms/include/G4UIparameter.hh b/source/intercoms/include/G4UIparameter.hh index ee1be2dd7b..a55ad99357 100644 --- a/source/intercoms/include/G4UIparameter.hh +++ b/source/intercoms/include/G4UIparameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIparameter.hh,v 1.6 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/include/G4UIsession.hh b/source/intercoms/include/G4UIsession.hh index 9c35f694de..cb0a3428cd 100644 --- a/source/intercoms/include/G4UIsession.hh +++ b/source/intercoms/include/G4UIsession.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIsession.hh,v 1.4 2001/07/11 10:01:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $id$ diff --git a/source/intercoms/include/G4UItokenNum.hh b/source/intercoms/include/G4UItokenNum.hh index 736a5e4a13..c3c929dadf 100644 --- a/source/intercoms/include/G4UItokenNum.hh +++ b/source/intercoms/include/G4UItokenNum.hh @@ -22,7 +22,7 @@ // // // $Id: G4UItokenNum.hh,v 1.5 2002/11/27 19:08:09 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4UItokenNum.hh diff --git a/source/intercoms/include/G4UnitsMessenger.hh b/source/intercoms/include/G4UnitsMessenger.hh index 753e22b601..820884dcaa 100644 --- a/source/intercoms/include/G4UnitsMessenger.hh +++ b/source/intercoms/include/G4UnitsMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4UnitsMessenger.hh,v 1.4 2001/07/11 10:01:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description // diff --git a/source/intercoms/include/G4VFlavoredParallelWorld.hh b/source/intercoms/include/G4VFlavoredParallelWorld.hh index 78b36cad19..5c1cc7669a 100644 --- a/source/intercoms/include/G4VFlavoredParallelWorld.hh +++ b/source/intercoms/include/G4VFlavoredParallelWorld.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFlavoredParallelWorld.hh,v 1.3 2001/07/11 10:01:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Abstract interface for GEANT4 Flavored Parallel World. diff --git a/source/intercoms/include/G4VGlobalFastSimulationManager.hh b/source/intercoms/include/G4VGlobalFastSimulationManager.hh index 253bb42381..3309b64c69 100644 --- a/source/intercoms/include/G4VGlobalFastSimulationManager.hh +++ b/source/intercoms/include/G4VGlobalFastSimulationManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4VGlobalFastSimulationManager.hh,v 1.4 2002/11/20 14:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Abstract interface for GEANT4 Global Fast Simulation Manager. diff --git a/source/intercoms/include/G4VGraphicsScene.hh b/source/intercoms/include/G4VGraphicsScene.hh index 87b7e03e05..c40e37b748 100644 --- a/source/intercoms/include/G4VGraphicsScene.hh +++ b/source/intercoms/include/G4VGraphicsScene.hh @@ -22,7 +22,7 @@ // // // $Id: G4VGraphicsScene.hh,v 1.9 2002/10/24 14:11:04 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // John Allison 19th July 1996 // // Class Description: diff --git a/source/intercoms/include/G4VVisManager.hh b/source/intercoms/include/G4VVisManager.hh index 218b06f9d7..57284b1851 100644 --- a/source/intercoms/include/G4VVisManager.hh +++ b/source/intercoms/include/G4VVisManager.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VVisManager.hh,v 1.7 2002/11/20 14:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VVisManager.hh,v 1.8 2003/01/20 14:17:20 johna Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // John Allison 19/Oct/1996. // // Class Description: @@ -78,6 +78,8 @@ class G4Polymarker; class G4Polyhedron; class G4NURBS; class G4VSolid; +class G4VHit; +class G4VTrajectory; class G4LogicalVolume; class G4VPhysicalVolume; class G4VisAttributes; @@ -125,8 +127,19 @@ public: // With description const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0; /////////////////////////////////////////////////////////////////////// - // Draw methods for Geant4 Geometry Objects as if they were - // Visualization Primitives. Useful for representing hits. + // Draw methods for Geant4 Objects as if they were Visualization + // Primitives. Note that the visualization attributes needed in + // some cases override any visualization attributes that are + // associated with the object itself - thus you can, for example, + // change the colour of a physical volume. + + virtual void Draw (const G4VHit&, + const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0; + + virtual void Draw (const G4VTrajectory&, G4int i_mode = 0, + const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0; + // i_mode is a parameter that can be used to control the drawing of + // the trajectory. See, e.g., G4VTrajectory::DrawTrajectory. virtual void Draw (const G4LogicalVolume&, const G4VisAttributes&, const G4Transform3D& objectTransformation = G4Transform3D::Identity) = 0; diff --git a/source/intercoms/src/G4UIaliasList.cc b/source/intercoms/src/G4UIaliasList.cc index c9b008d913..2756f6a97b 100644 --- a/source/intercoms/src/G4UIaliasList.cc +++ b/source/intercoms/src/G4UIaliasList.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIaliasList.cc,v 1.5 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UIaliasList.hh" diff --git a/source/intercoms/src/G4UIbatch.cc b/source/intercoms/src/G4UIbatch.cc index 1aa09545bc..1976872672 100644 --- a/source/intercoms/src/G4UIbatch.cc +++ b/source/intercoms/src/G4UIbatch.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIbatch.cc,v 1.11 2002/06/07 17:37:44 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UIbatch.hh" diff --git a/source/intercoms/src/G4UIcmdWith3Vector.cc b/source/intercoms/src/G4UIcmdWith3Vector.cc index 659301b4d6..c0b9afbd22 100644 --- a/source/intercoms/src/G4UIcmdWith3Vector.cc +++ b/source/intercoms/src/G4UIcmdWith3Vector.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWith3Vector.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc index d80d83461d..6fcc450eb4 100644 --- a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWith3VectorAndUnit.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithABool.cc b/source/intercoms/src/G4UIcmdWithABool.cc index 0cabd39d29..2b708fd4b4 100644 --- a/source/intercoms/src/G4UIcmdWithABool.cc +++ b/source/intercoms/src/G4UIcmdWithABool.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithABool.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithADouble.cc b/source/intercoms/src/G4UIcmdWithADouble.cc index ccef356c74..a0ecbc9d72 100644 --- a/source/intercoms/src/G4UIcmdWithADouble.cc +++ b/source/intercoms/src/G4UIcmdWithADouble.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithADouble.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc index 7927601125..d7f07ec644 100644 --- a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithADoubleAndUnit.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithAString.cc b/source/intercoms/src/G4UIcmdWithAString.cc index a41b7fbcb3..cf9c02ee1e 100644 --- a/source/intercoms/src/G4UIcmdWithAString.cc +++ b/source/intercoms/src/G4UIcmdWithAString.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithAString.cc,v 1.3 2001/07/11 10:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithAnInteger.cc b/source/intercoms/src/G4UIcmdWithAnInteger.cc index 712bde0bef..1fae65ff70 100644 --- a/source/intercoms/src/G4UIcmdWithAnInteger.cc +++ b/source/intercoms/src/G4UIcmdWithAnInteger.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithAnInteger.cc,v 1.4 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcmdWithoutParameter.cc b/source/intercoms/src/G4UIcmdWithoutParameter.cc index 5e80fc2c6e..4db3ab753d 100644 --- a/source/intercoms/src/G4UIcmdWithoutParameter.cc +++ b/source/intercoms/src/G4UIcmdWithoutParameter.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcmdWithoutParameter.cc,v 1.3 2001/07/11 10:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcommand.cc b/source/intercoms/src/G4UIcommand.cc index c2e02948be..0cb85a8a6a 100644 --- a/source/intercoms/src/G4UIcommand.cc +++ b/source/intercoms/src/G4UIcommand.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcommand.cc,v 1.21 2002/12/05 16:25:34 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UIcommandTree.cc b/source/intercoms/src/G4UIcommandTree.cc index 38860132e3..b5466d8579 100644 --- a/source/intercoms/src/G4UIcommandTree.cc +++ b/source/intercoms/src/G4UIcommandTree.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcommandTree.cc,v 1.11 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UIcommandTree.hh" diff --git a/source/intercoms/src/G4UIcontrolMessenger.cc b/source/intercoms/src/G4UIcontrolMessenger.cc index 0ac97e15bf..821fd6d4da 100644 --- a/source/intercoms/src/G4UIcontrolMessenger.cc +++ b/source/intercoms/src/G4UIcontrolMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcontrolMessenger.cc,v 1.9 2002/05/15 06:51:32 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include diff --git a/source/intercoms/src/G4UIdirectory.cc b/source/intercoms/src/G4UIdirectory.cc index 9bad447c26..1e555f0519 100644 --- a/source/intercoms/src/G4UIdirectory.cc +++ b/source/intercoms/src/G4UIdirectory.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIdirectory.cc,v 1.3 2001/07/11 10:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4UImanager.cc b/source/intercoms/src/G4UImanager.cc index 97f625d297..34b67dcec7 100644 --- a/source/intercoms/src/G4UImanager.cc +++ b/source/intercoms/src/G4UImanager.cc @@ -22,7 +22,7 @@ // // // $Id: G4UImanager.cc,v 1.27 2002/12/04 18:30:43 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/src/G4UImessenger.cc b/source/intercoms/src/G4UImessenger.cc index 2a4b2e41de..ea10b56639 100644 --- a/source/intercoms/src/G4UImessenger.cc +++ b/source/intercoms/src/G4UImessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4UImessenger.cc,v 1.3 2001/07/11 10:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UImessenger.hh" diff --git a/source/intercoms/src/G4UIparameter.cc b/source/intercoms/src/G4UIparameter.cc index acc6226c84..b1b8c855d9 100644 --- a/source/intercoms/src/G4UIparameter.cc +++ b/source/intercoms/src/G4UIparameter.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIparameter.cc,v 1.11 2002/04/26 22:03:35 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UIparameter.hh" diff --git a/source/intercoms/src/G4UIsession.cc b/source/intercoms/src/G4UIsession.cc index d1bdd0ac58..8994019c5a 100644 --- a/source/intercoms/src/G4UIsession.cc +++ b/source/intercoms/src/G4UIsession.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIsession.cc,v 1.4 2001/07/11 10:01:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/src/G4UnitsMessenger.cc b/source/intercoms/src/G4UnitsMessenger.cc index 88c3845ab2..adbe497885 100644 --- a/source/intercoms/src/G4UnitsMessenger.cc +++ b/source/intercoms/src/G4UnitsMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4UnitsMessenger.cc,v 1.4 2002/12/04 18:30:43 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/intercoms/src/G4VGlobalFastSimulationManager.cc b/source/intercoms/src/G4VGlobalFastSimulationManager.cc index 222e3f3b3f..adc36b7758 100644 --- a/source/intercoms/src/G4VGlobalFastSimulationManager.cc +++ b/source/intercoms/src/G4VGlobalFastSimulationManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4VGlobalFastSimulationManager.cc,v 1.4 2002/11/20 14:46:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Abstract interface for GEANT4 Global Fast Simulation Manager. diff --git a/source/intercoms/src/G4VVisManager.cc b/source/intercoms/src/G4VVisManager.cc index 3eee2d4a69..7746099d5e 100644 --- a/source/intercoms/src/G4VVisManager.cc +++ b/source/intercoms/src/G4VVisManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4VVisManager.cc,v 1.5 2002/11/20 14:46:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Abstract interface for GEANT4 Visualization Manager. diff --git a/source/interfaces/GAG/include/G4UIGAG.hh b/source/interfaces/GAG/include/G4UIGAG.hh index 63dfd6d912..6dc6a05855 100644 --- a/source/interfaces/GAG/include/G4UIGAG.hh +++ b/source/interfaces/GAG/include/G4UIGAG.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIGAG.hh,v 1.5 2001/07/11 10:01:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4UIGAG.hh // GAG(Geant4 adaptive GUI) interface class diff --git a/source/interfaces/GAG/include/G4UIGainServer.hh b/source/interfaces/GAG/include/G4UIGainServer.hh index e64532ec50..8b25acb43f 100644 --- a/source/interfaces/GAG/include/G4UIGainServer.hh +++ b/source/interfaces/GAG/include/G4UIGainServer.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIGainServer.hh,v 1.3 2002/06/14 02:17:58 yhajime Exp $ -// $Name: geant4-05-00 $ +// $Name: geant4-05-01 $ // diff --git a/source/interfaces/GAG/src/G4UIGAG.cc b/source/interfaces/GAG/src/G4UIGAG.cc index 9c0ac12ef6..bd8a104951 100644 --- a/source/interfaces/GAG/src/G4UIGAG.cc +++ b/source/interfaces/GAG/src/G4UIGAG.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIGAG.cc,v 1.15 2002/12/05 16:33:41 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4UIGAG.cc // 18.Feb.98 M.Nagamatu and T.Kodama created G4UIGAG from G4UIterminal diff --git a/source/interfaces/GAG/src/G4UIGainServer.cc b/source/interfaces/GAG/src/G4UIGainServer.cc index b36e599137..5dc7d19f4b 100644 --- a/source/interfaces/GAG/src/G4UIGainServer.cc +++ b/source/interfaces/GAG/src/G4UIGainServer.cc @@ -23,7 +23,7 @@ // // 12/06/2002 G4UIGainServer H. MInamimoto and H. Yoshida created // $Id: G4UIGainServer.cc,v 1.5 2002/12/05 16:33:42 asaim Exp $ -// $Name: geant4-05-00 $ +// $Name: geant4-05-01 $ // #ifndef WIN32 diff --git a/source/interfaces/OPACS/include/G4UIWo.hh b/source/interfaces/OPACS/include/G4UIWo.hh index cdb9cae0e7..9730962398 100644 --- a/source/interfaces/OPACS/include/G4UIWo.hh +++ b/source/interfaces/OPACS/include/G4UIWo.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIWo.hh,v 1.4 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIWo_h #define G4UIWo_h diff --git a/source/interfaces/OPACS/include/G4WoMessenger.hh b/source/interfaces/OPACS/include/G4WoMessenger.hh index a8bcd303b7..e02d9f6db8 100644 --- a/source/interfaces/OPACS/include/G4WoMessenger.hh +++ b/source/interfaces/OPACS/include/G4WoMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4WoMessenger.hh,v 1.4 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4WoMessenger_h #define G4WoMessenger_h 1 diff --git a/source/interfaces/OPACS/include/G4oCommon.hh b/source/interfaces/OPACS/include/G4oCommon.hh index c2e58bc867..c506bb3c1d 100644 --- a/source/interfaces/OPACS/include/G4oCommon.hh +++ b/source/interfaces/OPACS/include/G4oCommon.hh @@ -22,7 +22,7 @@ // // // $Id: G4oCommon.hh,v 1.4 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* Included by G4o.h. diff --git a/source/interfaces/OPACS/include/G4oCommon.icc b/source/interfaces/OPACS/include/G4oCommon.icc index fa1a357b8f..dbcd77675f 100644 --- a/source/interfaces/OPACS/include/G4oCommon.icc +++ b/source/interfaces/OPACS/include/G4oCommon.icc @@ -22,7 +22,7 @@ // // // $Id: G4oCommon.icc,v 1.4 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* Included by G4o.cc. diff --git a/source/interfaces/OPACS/src/G4UIWo.cc b/source/interfaces/OPACS/src/G4UIWo.cc index 4df30d17c3..3ff8107c2b 100644 --- a/source/interfaces/OPACS/src/G4UIWo.cc +++ b/source/interfaces/OPACS/src/G4UIWo.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIWo.cc,v 1.5 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //G4UIWo.cc -- copied from G4UIterminal.cc diff --git a/source/interfaces/OPACS/src/G4WoMessenger.cc b/source/interfaces/OPACS/src/G4WoMessenger.cc index 2733ece786..2f093987c6 100644 --- a/source/interfaces/OPACS/src/G4WoMessenger.cc +++ b/source/interfaces/OPACS/src/G4WoMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4WoMessenger.cc,v 1.4 2001/07/11 10:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifdef G4UI_BUILD_WO_SESSION diff --git a/source/interfaces/XVT/include/G4UIxvt.hh b/source/interfaces/XVT/include/G4UIxvt.hh index 12369b7423..922926ae40 100644 --- a/source/interfaces/XVT/include/G4UIxvt.hh +++ b/source/interfaces/XVT/include/G4UIxvt.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIxvt.hh,v 1.4 2001/07/11 10:01:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // XVT driver class header // diff --git a/source/interfaces/XVT/include/G4UIxvtMessenger.hh b/source/interfaces/XVT/include/G4UIxvtMessenger.hh index b261d9d856..dc7142cd6b 100644 --- a/source/interfaces/XVT/include/G4UIxvtMessenger.hh +++ b/source/interfaces/XVT/include/G4UIxvtMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIxvtMessenger.hh,v 1.4 2001/07/11 10:01:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ////////////////////////////////////////////////////////////////////////////// // // diff --git a/source/interfaces/XVT/src/G4UIxvt.cc b/source/interfaces/XVT/src/G4UIxvt.cc index b1c650b755..76ed319e89 100644 --- a/source/interfaces/XVT/src/G4UIxvt.cc +++ b/source/interfaces/XVT/src/G4UIxvt.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIxvt.cc,v 1.5 2002/12/04 22:03:09 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifdef G4UI_BUILD_XVT_SESSION diff --git a/source/interfaces/XVT/src/G4UIxvtMessenger.cc b/source/interfaces/XVT/src/G4UIxvtMessenger.cc index 5fb3395176..c490354f24 100644 --- a/source/interfaces/XVT/src/G4UIxvtMessenger.cc +++ b/source/interfaces/XVT/src/G4UIxvtMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIxvtMessenger.cc,v 1.4 2001/07/11 10:01:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifdef G4UI_BUILD_XVT_SESSION diff --git a/source/interfaces/basic/include/G4UIArrayString.hh b/source/interfaces/basic/include/G4UIArrayString.hh index 0867a79a6e..f56dc0f84e 100644 --- a/source/interfaces/basic/include/G4UIArrayString.hh +++ b/source/interfaces/basic/include/G4UIArrayString.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIArrayString.hh,v 1.2 2001/07/11 10:01:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIArrayString_h diff --git a/source/interfaces/basic/include/G4UIWin32.hh b/source/interfaces/basic/include/G4UIWin32.hh index d5bd3fa400..0347906174 100644 --- a/source/interfaces/basic/include/G4UIWin32.hh +++ b/source/interfaces/basic/include/G4UIWin32.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIWin32.hh,v 1.10 2001/07/11 10:01:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIWin32_h #define G4UIWin32_h diff --git a/source/interfaces/basic/include/G4UIXaw.hh b/source/interfaces/basic/include/G4UIXaw.hh index 37eeccedbc..6567509922 100644 --- a/source/interfaces/basic/include/G4UIXaw.hh +++ b/source/interfaces/basic/include/G4UIXaw.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIXaw.hh,v 1.5 2001/07/11 10:01:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIXaw_h #define G4UIXaw_h diff --git a/source/interfaces/basic/include/G4UIXm.hh b/source/interfaces/basic/include/G4UIXm.hh index daced2ff48..22ae90758f 100644 --- a/source/interfaces/basic/include/G4UIXm.hh +++ b/source/interfaces/basic/include/G4UIXm.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIXm.hh,v 1.11 2001/07/11 10:01:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIXm_h #define G4UIXm_h diff --git a/source/interfaces/basic/include/G4UIcsh.hh b/source/interfaces/basic/include/G4UIcsh.hh index d08cc253c5..1ba7e47a09 100644 --- a/source/interfaces/basic/include/G4UIcsh.hh +++ b/source/interfaces/basic/include/G4UIcsh.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIcsh.hh,v 1.3 2001/07/11 10:01:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIcsh_h diff --git a/source/interfaces/basic/include/G4UItcsh.hh b/source/interfaces/basic/include/G4UItcsh.hh index 2305f8e58f..cfaca375ba 100644 --- a/source/interfaces/basic/include/G4UItcsh.hh +++ b/source/interfaces/basic/include/G4UItcsh.hh @@ -22,7 +22,7 @@ // // // $Id: G4UItcsh.hh,v 1.5 2001/11/26 19:15:08 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UItcsh_h diff --git a/source/interfaces/basic/include/G4UIterminal.hh b/source/interfaces/basic/include/G4UIterminal.hh index a6dbbb9bb8..60863712d3 100644 --- a/source/interfaces/basic/include/G4UIterminal.hh +++ b/source/interfaces/basic/include/G4UIterminal.hh @@ -22,7 +22,7 @@ // // // $Id: G4UIterminal.hh,v 1.7 2001/07/11 10:01:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UIterminal_h diff --git a/source/interfaces/basic/include/G4VUIshell.hh b/source/interfaces/basic/include/G4VUIshell.hh index e7d7397d78..6236f3ec3e 100644 --- a/source/interfaces/basic/include/G4VUIshell.hh +++ b/source/interfaces/basic/include/G4VUIshell.hh @@ -22,7 +22,7 @@ // // // $Id: G4VUIshell.hh,v 1.5 2001/11/26 19:15:08 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VUIshell_h diff --git a/source/interfaces/basic/src/G4UIArrayString.cc b/source/interfaces/basic/src/G4UIArrayString.cc index 9e8e756bd1..a2119708e0 100644 --- a/source/interfaces/basic/src/G4UIArrayString.cc +++ b/source/interfaces/basic/src/G4UIArrayString.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIArrayString.cc,v 1.6 2002/10/17 02:40:24 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/iomanip" diff --git a/source/interfaces/basic/src/G4UIWin32.cc b/source/interfaces/basic/src/G4UIWin32.cc index 4df7e0d2a9..83045208ef 100644 --- a/source/interfaces/basic/src/G4UIWin32.cc +++ b/source/interfaces/basic/src/G4UIWin32.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIWin32.cc,v 1.7 2001/07/11 10:01:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIXaw.cc b/source/interfaces/basic/src/G4UIXaw.cc index 58dfa0f85e..8ff0240a2d 100644 --- a/source/interfaces/basic/src/G4UIXaw.cc +++ b/source/interfaces/basic/src/G4UIXaw.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIXaw.cc,v 1.5 2002/11/06 08:12:37 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIXm.cc b/source/interfaces/basic/src/G4UIXm.cc index bba1481ccd..11254dbcac 100644 --- a/source/interfaces/basic/src/G4UIXm.cc +++ b/source/interfaces/basic/src/G4UIXm.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIXm.cc,v 1.8 2002/11/06 08:12:37 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIcsh.cc b/source/interfaces/basic/src/G4UIcsh.cc index cd6bb77be3..511aaaf43b 100644 --- a/source/interfaces/basic/src/G4UIcsh.cc +++ b/source/interfaces/basic/src/G4UIcsh.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIcsh.cc,v 1.6 2002/02/26 02:09:08 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UIcsh.hh" diff --git a/source/interfaces/basic/src/G4UItcsh.cc b/source/interfaces/basic/src/G4UItcsh.cc index d2cba2f990..be0528f464 100644 --- a/source/interfaces/basic/src/G4UItcsh.cc +++ b/source/interfaces/basic/src/G4UItcsh.cc @@ -22,7 +22,7 @@ // // // $Id: G4UItcsh.cc,v 1.8 2002/10/17 02:41:22 murakami Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef WIN32 diff --git a/source/interfaces/basic/src/G4UIterminal.cc b/source/interfaces/basic/src/G4UIterminal.cc index 101dd4040d..e61f30e962 100644 --- a/source/interfaces/basic/src/G4UIterminal.cc +++ b/source/interfaces/basic/src/G4UIterminal.cc @@ -22,7 +22,7 @@ // // // $Id: G4UIterminal.cc,v 1.17 2001/11/26 19:15:08 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/strstream" diff --git a/source/interfaces/basic/src/G4VUIshell.cc b/source/interfaces/basic/src/G4VUIshell.cc index c9a9a9ebca..1a01705bd3 100644 --- a/source/interfaces/basic/src/G4VUIshell.cc +++ b/source/interfaces/basic/src/G4VUIshell.cc @@ -22,7 +22,7 @@ // // // $Id: G4VUIshell.cc,v 1.7 2002/04/26 21:28:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UImanager.hh" diff --git a/source/interfaces/common/include/G4VBasicShell.hh b/source/interfaces/common/include/G4VBasicShell.hh index 122da49c2e..08acf96e2e 100644 --- a/source/interfaces/common/include/G4VBasicShell.hh +++ b/source/interfaces/common/include/G4VBasicShell.hh @@ -22,7 +22,7 @@ // // // $Id: G4VBasicShell.hh,v 1.6 2001/07/11 10:01:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VBasicShell_H diff --git a/source/interfaces/common/include/G4VInteractorManager.hh b/source/interfaces/common/include/G4VInteractorManager.hh index 2cae84c765..dfc0a14793 100644 --- a/source/interfaces/common/include/G4VInteractorManager.hh +++ b/source/interfaces/common/include/G4VInteractorManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4VInteractorManager.hh,v 1.7 2001/07/11 10:01:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/common/include/G4Win32.hh b/source/interfaces/common/include/G4Win32.hh index df61739d50..2c23cb2801 100644 --- a/source/interfaces/common/include/G4Win32.hh +++ b/source/interfaces/common/include/G4Win32.hh @@ -22,7 +22,7 @@ // // // $Id: G4Win32.hh,v 1.6 2001/07/11 10:01:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // To unify Windows message treatment between // G4/interfaces Windows sessions and G4/visualizations Windows drivers. diff --git a/source/interfaces/common/include/G4Xt.hh b/source/interfaces/common/include/G4Xt.hh index f104588f46..1e1876f513 100644 --- a/source/interfaces/common/include/G4Xt.hh +++ b/source/interfaces/common/include/G4Xt.hh @@ -22,7 +22,7 @@ // // // $Id: G4Xt.hh,v 1.5 2001/07/11 10:01:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // To unify X11 event treatment between // G4/interfaces Xt sessions and G4/visualizations Xt drivers. diff --git a/source/interfaces/common/src/G4VBasicShell.cc b/source/interfaces/common/src/G4VBasicShell.cc index d68b3478db..522eaa689f 100644 --- a/source/interfaces/common/src/G4VBasicShell.cc +++ b/source/interfaces/common/src/G4VBasicShell.cc @@ -22,7 +22,7 @@ // // // $Id: G4VBasicShell.cc,v 1.9 2002/04/26 21:28:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/vector" diff --git a/source/interfaces/common/src/G4VInteractorManager.cc b/source/interfaces/common/src/G4VInteractorManager.cc index 098dc7145c..91f8c52ea1 100644 --- a/source/interfaces/common/src/G4VInteractorManager.cc +++ b/source/interfaces/common/src/G4VInteractorManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4VInteractorManager.cc,v 1.11 2001/12/03 08:07:45 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/common/src/G4Win32.cc b/source/interfaces/common/src/G4Win32.cc index f357b67234..d601cf9aa6 100644 --- a/source/interfaces/common/src/G4Win32.cc +++ b/source/interfaces/common/src/G4Win32.cc @@ -22,7 +22,7 @@ // // // $Id: G4Win32.cc,v 1.6 2001/07/11 10:01:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/interfaces/common/src/G4Xt.cc b/source/interfaces/common/src/G4Xt.cc index c8e1f539f7..45122e2c50 100644 --- a/source/interfaces/common/src/G4Xt.cc +++ b/source/interfaces/common/src/G4Xt.cc @@ -22,7 +22,7 @@ // // // $Id: G4Xt.cc,v 1.9 2002/11/06 08:12:58 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G.Barrand diff --git a/source/materials/include/G4AtomicShells.hh b/source/materials/include/G4AtomicShells.hh index 28e9ad12be..fb49fb64e6 100644 --- a/source/materials/include/G4AtomicShells.hh +++ b/source/materials/include/G4AtomicShells.hh @@ -22,7 +22,7 @@ // // // $Id: G4AtomicShells.hh,v 1.4 2001/07/11 10:01:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // class description // diff --git a/source/materials/include/G4Element.hh b/source/materials/include/G4Element.hh index e8577c75c7..a7eccfd7e0 100644 --- a/source/materials/include/G4Element.hh +++ b/source/materials/include/G4Element.hh @@ -22,7 +22,7 @@ // // // $Id: G4Element.hh,v 1.16 2002/02/26 17:34:34 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description diff --git a/source/materials/include/G4ElementTable.hh b/source/materials/include/G4ElementTable.hh index 09e7a2d721..e192a9e2ad 100644 --- a/source/materials/include/G4ElementTable.hh +++ b/source/materials/include/G4ElementTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4ElementTable.hh,v 1.4 2001/10/17 14:02:15 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4ElementVector.hh b/source/materials/include/G4ElementVector.hh index 61a8bf9f39..d0231da1a7 100644 --- a/source/materials/include/G4ElementVector.hh +++ b/source/materials/include/G4ElementVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ElementVector.hh,v 1.4 2001/10/17 07:59:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4IonisParamElm.hh b/source/materials/include/G4IonisParamElm.hh index c4e5f1adc0..3139c74392 100644 --- a/source/materials/include/G4IonisParamElm.hh +++ b/source/materials/include/G4IonisParamElm.hh @@ -22,7 +22,7 @@ // // // $Id: G4IonisParamElm.hh,v 1.6 2001/07/11 10:01:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description diff --git a/source/materials/include/G4IonisParamMat.hh b/source/materials/include/G4IonisParamMat.hh index b5ede9fe05..8cee52737d 100644 --- a/source/materials/include/G4IonisParamMat.hh +++ b/source/materials/include/G4IonisParamMat.hh @@ -22,7 +22,7 @@ // // // $Id: G4IonisParamMat.hh,v 1.7 2002/10/29 16:17:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description diff --git a/source/materials/include/G4Isotope.hh b/source/materials/include/G4Isotope.hh index b7f93976aa..7a9a178b25 100644 --- a/source/materials/include/G4Isotope.hh +++ b/source/materials/include/G4Isotope.hh @@ -22,7 +22,7 @@ // // // $Id: G4Isotope.hh,v 1.14 2002/02/26 17:34:34 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/include/G4IsotopeVector.hh b/source/materials/include/G4IsotopeVector.hh index dd623d236d..df444cb604 100644 --- a/source/materials/include/G4IsotopeVector.hh +++ b/source/materials/include/G4IsotopeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4IsotopeVector.hh,v 1.4 2001/10/17 07:59:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4MPVEntry.hh b/source/materials/include/G4MPVEntry.hh index fd5c6f81f7..0d4978b1d8 100644 --- a/source/materials/include/G4MPVEntry.hh +++ b/source/materials/include/G4MPVEntry.hh @@ -22,7 +22,7 @@ // // // $Id: G4MPVEntry.hh,v 1.5 2001/07/11 10:01:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4Material.hh b/source/materials/include/G4Material.hh index e9d44a4927..1812d6e210 100644 --- a/source/materials/include/G4Material.hh +++ b/source/materials/include/G4Material.hh @@ -22,7 +22,7 @@ // // // $Id: G4Material.hh,v 1.21 2002/08/06 15:14:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description diff --git a/source/materials/include/G4MaterialPropertiesTable.hh b/source/materials/include/G4MaterialPropertiesTable.hh index 00d98a1d13..8d794dee0f 100644 --- a/source/materials/include/G4MaterialPropertiesTable.hh +++ b/source/materials/include/G4MaterialPropertiesTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4MaterialPropertiesTable.hh,v 1.11 2002/11/07 02:29:58 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4MaterialPropertyVector.hh b/source/materials/include/G4MaterialPropertyVector.hh index 3788f3ef42..56f6f07fcc 100644 --- a/source/materials/include/G4MaterialPropertyVector.hh +++ b/source/materials/include/G4MaterialPropertyVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4MaterialPropertyVector.hh,v 1.8 2002/01/22 15:23:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4MaterialTable.hh b/source/materials/include/G4MaterialTable.hh index 6397b667b5..8d3e6edf06 100644 --- a/source/materials/include/G4MaterialTable.hh +++ b/source/materials/include/G4MaterialTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4MaterialTable.hh,v 1.4 2001/10/17 14:02:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4OpticalSurface.hh b/source/materials/include/G4OpticalSurface.hh index 5be272b325..dc4eb731a5 100644 --- a/source/materials/include/G4OpticalSurface.hh +++ b/source/materials/include/G4OpticalSurface.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpticalSurface.hh,v 1.5 2001/07/11 10:01:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4SandiaTable.hh b/source/materials/include/G4SandiaTable.hh index 99fdeace75..f2436b1d81 100644 --- a/source/materials/include/G4SandiaTable.hh +++ b/source/materials/include/G4SandiaTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4SandiaTable.hh,v 1.10 2001/10/17 07:59:52 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // class description // diff --git a/source/materials/include/G4StaticSandiaData.hh b/source/materials/include/G4StaticSandiaData.hh index 5f8a98d4e2..b691dcfc7b 100644 --- a/source/materials/include/G4StaticSandiaData.hh +++ b/source/materials/include/G4StaticSandiaData.hh @@ -22,7 +22,7 @@ // // // $Id: G4StaticSandiaData.hh,v 1.6 2002/04/15 16:50:36 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4AtomicShells.cc b/source/materials/src/G4AtomicShells.cc index 5dfc4b031c..7aabed4ece 100644 --- a/source/materials/src/G4AtomicShells.cc +++ b/source/materials/src/G4AtomicShells.cc @@ -22,7 +22,7 @@ // // // $Id: G4AtomicShells.cc,v 1.3 2001/07/11 10:01:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4Element.cc b/source/materials/src/G4Element.cc index a2b127f680..0745469ed9 100644 --- a/source/materials/src/G4Element.cc +++ b/source/materials/src/G4Element.cc @@ -22,7 +22,7 @@ // // // $Id: G4Element.cc,v 1.15 2002/02/26 17:34:34 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/src/G4IonisParamElm.cc b/source/materials/src/G4IonisParamElm.cc index 23ad80e883..1dfb1eabee 100644 --- a/source/materials/src/G4IonisParamElm.cc +++ b/source/materials/src/G4IonisParamElm.cc @@ -22,7 +22,7 @@ // // // $Id: G4IonisParamElm.cc,v 1.8 2002/10/17 09:00:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4IonisParamMat.cc b/source/materials/src/G4IonisParamMat.cc index e348e4d124..0016d267aa 100644 --- a/source/materials/src/G4IonisParamMat.cc +++ b/source/materials/src/G4IonisParamMat.cc @@ -22,7 +22,7 @@ // // // $Id: G4IonisParamMat.cc,v 1.10 2002/10/29 16:17:05 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4Isotope.cc b/source/materials/src/G4Isotope.cc index 8b5d20479a..ccc0dfb3a9 100644 --- a/source/materials/src/G4Isotope.cc +++ b/source/materials/src/G4Isotope.cc @@ -22,7 +22,7 @@ // // // $Id: G4Isotope.cc,v 1.12 2002/02/26 17:34:34 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/src/G4MPVEntry.cc b/source/materials/src/G4MPVEntry.cc index c8f9dcdf8e..504ef72a63 100644 --- a/source/materials/src/G4MPVEntry.cc +++ b/source/materials/src/G4MPVEntry.cc @@ -22,7 +22,7 @@ // // // $Id: G4MPVEntry.cc,v 1.6 2001/07/11 10:01:28 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4Material.cc b/source/materials/src/G4Material.cc index e4237df274..e218bdb023 100644 --- a/source/materials/src/G4Material.cc +++ b/source/materials/src/G4Material.cc @@ -22,7 +22,7 @@ // // // $Id: G4Material.cc,v 1.22 2002/08/06 15:14:29 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/source/materials/src/G4MaterialPropertiesTable.cc b/source/materials/src/G4MaterialPropertiesTable.cc index d9a3156bae..bef65c469c 100644 --- a/source/materials/src/G4MaterialPropertiesTable.cc +++ b/source/materials/src/G4MaterialPropertiesTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4MaterialPropertiesTable.cc,v 1.13 2002/11/07 02:30:29 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4MaterialPropertyVector.cc b/source/materials/src/G4MaterialPropertyVector.cc index 382babab4e..f3c7525d89 100644 --- a/source/materials/src/G4MaterialPropertyVector.cc +++ b/source/materials/src/G4MaterialPropertyVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4MaterialPropertyVector.cc,v 1.13 2002/01/22 15:23:58 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4OpticalSurface.cc b/source/materials/src/G4OpticalSurface.cc index c537d97f89..e920c351ab 100644 --- a/source/materials/src/G4OpticalSurface.cc +++ b/source/materials/src/G4OpticalSurface.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpticalSurface.cc,v 1.7 2001/10/17 07:59:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4SandiaTable.cc b/source/materials/src/G4SandiaTable.cc index 24dab09fbd..cba6803767 100644 --- a/source/materials/src/G4SandiaTable.cc +++ b/source/materials/src/G4SandiaTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4SandiaTable.cc,v 1.14 2001/10/17 07:59:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... // diff --git a/source/parameterisations/History b/source/parameterisations/History index 9a66f9c34e..1e92474a36 100644 --- a/source/parameterisations/History +++ b/source/parameterisations/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2001/11/08 13:53:51 mverderi Exp $ +$Id: History,v 1.6 2003/02/12 08:49:13 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,17 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Feb 12th, 2003 G.Cosmo - (parmodels-V05-00-01) +---------------------- +- Replaced call to RandPoisson::shoot() with G4Poisson(), more performant. + Affected files: G4IrregularXrayTRmodel.cc, G4VXTRdEdx.cc, G4VXrayTRadModel.cc. + +Jan 23rd, 2003 G.Cosmo - (parmodels-V05-00-00) +---------------------- +- Updated header files to remove redundant header inclusions + and properly order inclusion for complex numbers, to allow + porting on Windows .NET VC++ compiler. + Nov 8th, 2001 M.Verderi - (parmodels-V03-02-02) ----------------------- - Minor change in G4VClusterModel.cc diff --git a/source/parameterisations/include/G4FoamXTRdEdx.hh b/source/parameterisations/include/G4FoamXTRdEdx.hh index 03830baa7c..a0f8f721bc 100644 --- a/source/parameterisations/include/G4FoamXTRdEdx.hh +++ b/source/parameterisations/include/G4FoamXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FoamXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FoamXTRdEdx.hh,v 1.3 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,10 +43,8 @@ #ifndef G4FoamXTRdEdx_h #define G4FoamXTRdEdx_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXTRdEdx.hh" +#include "G4VFastSimulationModel.hh" class G4FoamXTRdEdx : public G4VXTRdEdx { diff --git a/source/parameterisations/include/G4FoamXrayTRmodel.hh b/source/parameterisations/include/G4FoamXrayTRmodel.hh index 8970a21c70..29102934ac 100644 --- a/source/parameterisations/include/G4FoamXrayTRmodel.hh +++ b/source/parameterisations/include/G4FoamXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FoamXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FoamXrayTRmodel.hh,v 1.4 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,10 +43,8 @@ #ifndef G4FoamXrayTRmodel_h #define G4FoamXrayTRmodel_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXrayTRadModel.hh" +#include "G4VFastSimulationModel.hh" class G4FoamXrayTRmodel : public G4VXrayTRadModel { diff --git a/source/parameterisations/include/G4GamDistrXTRdEdx.hh b/source/parameterisations/include/G4GamDistrXTRdEdx.hh index f602cdf4c3..688296fd76 100644 --- a/source/parameterisations/include/G4GamDistrXTRdEdx.hh +++ b/source/parameterisations/include/G4GamDistrXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GamDistrXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GamDistrXTRdEdx.hh,v 1.3 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -50,10 +50,8 @@ #ifndef G4GamDistrXTRdEdx_h #define G4GamDistrXTRdEdx_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXTRdEdx.hh" +#include "G4VFastSimulationModel.hh" class G4GamDistrXTRdEdx : public G4VXTRdEdx { diff --git a/source/parameterisations/include/G4GamDistrXrayTRmodel.hh b/source/parameterisations/include/G4GamDistrXrayTRmodel.hh index 758d45de9d..3dc3940aaf 100644 --- a/source/parameterisations/include/G4GamDistrXrayTRmodel.hh +++ b/source/parameterisations/include/G4GamDistrXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GamDistrXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GamDistrXrayTRmodel.hh,v 1.4 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -50,10 +50,8 @@ #ifndef G4GamDistrXrayTRmodel_h #define G4GamDistrXrayTRmodel_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXrayTRadModel.hh" +#include "G4VFastSimulationModel.hh" class G4GamDistrXrayTRmodel : public G4VXrayTRadModel { diff --git a/source/parameterisations/include/G4IrregularXTRdEdx.hh b/source/parameterisations/include/G4IrregularXTRdEdx.hh index ec78dfce59..9ed04b7aef 100644 --- a/source/parameterisations/include/G4IrregularXTRdEdx.hh +++ b/source/parameterisations/include/G4IrregularXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IrregularXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IrregularXTRdEdx.hh,v 1.3 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,8 +43,8 @@ #ifndef G4IrregularXTRdEdx_h #define G4IrregularXTRdEdx_h 1 -#include "G4VFastSimulationModel.hh" #include "G4VXTRdEdx.hh" +#include "G4VFastSimulationModel.hh" class G4IrregularXTRdEdx : public G4VXTRdEdx { diff --git a/source/parameterisations/include/G4IrregularXrayTRmodel.hh b/source/parameterisations/include/G4IrregularXrayTRmodel.hh index c15e2bdebc..adb3030ff4 100644 --- a/source/parameterisations/include/G4IrregularXrayTRmodel.hh +++ b/source/parameterisations/include/G4IrregularXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IrregularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IrregularXrayTRmodel.hh,v 1.4 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -44,10 +44,8 @@ #ifndef G4IrregularXrayTRmodel_h #define G4IrregularXrayTRmodel_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXrayTRadModel.hh" +#include "G4VFastSimulationModel.hh" class G4IrregularXrayTRmodel : public G4VXrayTRadModel { diff --git a/source/parameterisations/include/G4PAIclusterModel.hh b/source/parameterisations/include/G4PAIclusterModel.hh index b1aaef514f..7c39795d75 100644 --- a/source/parameterisations/include/G4PAIclusterModel.hh +++ b/source/parameterisations/include/G4PAIclusterModel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PAIclusterModel.hh,v 1.3 2001/09/18 09:30:26 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PAIclusterModel.hh,v 1.4 2003/01/23 11:30:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -40,7 +40,7 @@ #include "globals.hh" -#include "templates.hh" + #include "G4PAIonisation.hh" #include "G4VClusterModel.hh" #include "G4Step.hh" diff --git a/source/parameterisations/include/G4PhotoClusterModel.hh b/source/parameterisations/include/G4PhotoClusterModel.hh index 8d0830bab9..7355258ddb 100644 --- a/source/parameterisations/include/G4PhotoClusterModel.hh +++ b/source/parameterisations/include/G4PhotoClusterModel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PhotoClusterModel.hh,v 1.3 2001/09/18 09:30:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PhotoClusterModel.hh,v 1.4 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -40,7 +40,7 @@ #include "globals.hh" -#include "templates.hh" + #include "G4PAIonisation.hh" #include "G4VClusterModel.hh" #include "G4Step.hh" diff --git a/source/parameterisations/include/G4PlateIrrGasXTRdEdx.hh b/source/parameterisations/include/G4PlateIrrGasXTRdEdx.hh index 9508ab9b66..72e7525012 100644 --- a/source/parameterisations/include/G4PlateIrrGasXTRdEdx.hh +++ b/source/parameterisations/include/G4PlateIrrGasXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PlateIrrGasXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PlateIrrGasXTRdEdx.hh,v 1.3 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,8 +43,8 @@ #ifndef G4PlateIrrGasXTRdEdx_h #define G4PlateIrrGasXTRdEdx_h 1 -#include "G4VFastSimulationModel.hh" #include "G4VXTRdEdx.hh" +#include "G4VFastSimulationModel.hh" class G4PlateIrrGasXTRdEdx : public G4VXTRdEdx { diff --git a/source/parameterisations/include/G4PlateIrrGasXrayTRmodel.hh b/source/parameterisations/include/G4PlateIrrGasXrayTRmodel.hh index 9deaa3a019..357c7afbc1 100644 --- a/source/parameterisations/include/G4PlateIrrGasXrayTRmodel.hh +++ b/source/parameterisations/include/G4PlateIrrGasXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.4 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,10 +43,8 @@ #ifndef G4PlateIrrGasXrayTRmodel_h #define G4PlateIrrGasXrayTRmodel_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXrayTRadModel.hh" +#include "G4VFastSimulationModel.hh" class G4PlateIrrGasXrayTRmodel : public G4VXrayTRadModel { diff --git a/source/parameterisations/include/G4RegularXTRdEdx.hh b/source/parameterisations/include/G4RegularXTRdEdx.hh index 854a75a88d..6b59519c9e 100644 --- a/source/parameterisations/include/G4RegularXTRdEdx.hh +++ b/source/parameterisations/include/G4RegularXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RegularXTRdEdx.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RegularXTRdEdx.hh,v 1.3 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,8 +43,8 @@ #ifndef G4RegularXTRdEdx_h #define G4RegularXTRdEdx_h 1 -#include "G4VFastSimulationModel.hh" #include "G4VXTRdEdx.hh" +#include "G4VFastSimulationModel.hh" class G4RegularXTRdEdx : public G4VXTRdEdx { diff --git a/source/parameterisations/include/G4RegularXrayTRmodel.hh b/source/parameterisations/include/G4RegularXrayTRmodel.hh index 240b34e537..56bedef5cd 100644 --- a/source/parameterisations/include/G4RegularXrayTRmodel.hh +++ b/source/parameterisations/include/G4RegularXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RegularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RegularXrayTRmodel.hh,v 1.4 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -43,10 +43,8 @@ #ifndef G4RegularXrayTRmodel_h #define G4RegularXrayTRmodel_h 1 -#include "G4VFastSimulationModel.hh" -// #include "G4ForwardXrayTR.hh" - #include "G4VXrayTRadModel.hh" +#include "G4VFastSimulationModel.hh" class G4RegularXrayTRmodel : public G4VXrayTRadModel { diff --git a/source/parameterisations/include/G4VClusterModel.hh b/source/parameterisations/include/G4VClusterModel.hh index 5c44a852ee..2a63ac55ed 100644 --- a/source/parameterisations/include/G4VClusterModel.hh +++ b/source/parameterisations/include/G4VClusterModel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VClusterModel.hh,v 1.4 2001/11/07 10:27:21 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VClusterModel.hh,v 1.5 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -40,13 +40,13 @@ #include "globals.hh" -#include "templates.hh" +#include "g4std/vector" + #include "G4PAIonisation.hh" #include "G4VFastSimulationModel.hh" #include "G4Step.hh" #include "G4TouchableHandle.hh" #include "G4TouchableHistoryHandle.hh" -#include "g4std/vector" class G4VClusterModel : public G4VFastSimulationModel diff --git a/source/parameterisations/include/G4VXTRdEdx.hh b/source/parameterisations/include/G4VXTRdEdx.hh index 2d65dd0390..9507d406f1 100644 --- a/source/parameterisations/include/G4VXTRdEdx.hh +++ b/source/parameterisations/include/G4VXTRdEdx.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VXTRdEdx.hh,v 1.5 2001/09/18 09:02:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VXTRdEdx.hh,v 1.6 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -41,9 +41,8 @@ #define G4VXTRdEdx_h 1 -#include "globals.hh" -#include "templates.hh" #include "g4std/complex" +#include "globals.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" diff --git a/source/parameterisations/include/G4VXrayTRadModel.hh b/source/parameterisations/include/G4VXrayTRadModel.hh index ee6bb74446..d82724e478 100644 --- a/source/parameterisations/include/G4VXrayTRadModel.hh +++ b/source/parameterisations/include/G4VXrayTRadModel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VXrayTRadModel.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VXrayTRadModel.hh,v 1.3 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -41,9 +41,8 @@ #define G4VXrayTRadModel_h 1 -#include "globals.hh" -#include "templates.hh" #include "g4std/complex" +#include "globals.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" diff --git a/source/parameterisations/include/G4VXrayTRmodel.hh b/source/parameterisations/include/G4VXrayTRmodel.hh index 0c0335229e..cd52358716 100644 --- a/source/parameterisations/include/G4VXrayTRmodel.hh +++ b/source/parameterisations/include/G4VXrayTRmodel.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VXrayTRmodel.hh,v 1.4 2003/01/23 11:30:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -41,9 +41,8 @@ #define G4VXrayTRmodel_h 1 -#include "globals.hh" -#include "templates.hh" #include "g4std/complex" +#include "globals.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" diff --git a/source/parameterisations/src/G4FoamXTRdEdx.cc b/source/parameterisations/src/G4FoamXTRdEdx.cc index e40a2aaaec..9fd49989c1 100644 --- a/source/parameterisations/src/G4FoamXTRdEdx.cc +++ b/source/parameterisations/src/G4FoamXTRdEdx.cc @@ -22,7 +22,7 @@ // // // $Id: G4FoamXTRdEdx.cc,v 1.3 2001/09/18 09:02:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/parameterisations/src/G4FoamXrayTRmodel.cc b/source/parameterisations/src/G4FoamXrayTRmodel.cc index 5cfecefe39..933ec43150 100644 --- a/source/parameterisations/src/G4FoamXrayTRmodel.cc +++ b/source/parameterisations/src/G4FoamXrayTRmodel.cc @@ -22,7 +22,7 @@ // // // $Id: G4FoamXrayTRmodel.cc,v 1.3 2001/07/11 10:01:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/parameterisations/src/G4GamDistrXTRdEdx.cc b/source/parameterisations/src/G4GamDistrXTRdEdx.cc index 43a93b0341..386d94ef0c 100644 --- a/source/parameterisations/src/G4GamDistrXTRdEdx.cc +++ b/source/parameterisations/src/G4GamDistrXTRdEdx.cc @@ -22,7 +22,7 @@ // // // $Id: G4GamDistrXTRdEdx.cc,v 1.3 2001/09/18 09:02:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/parameterisations/src/G4GamDistrXrayTRmodel.cc b/source/parameterisations/src/G4GamDistrXrayTRmodel.cc index a8477f61f6..532e356400 100644 --- a/source/parameterisations/src/G4GamDistrXrayTRmodel.cc +++ b/source/parameterisations/src/G4GamDistrXrayTRmodel.cc @@ -22,7 +22,7 @@ // // // $Id: G4GamDistrXrayTRmodel.cc,v 1.3 2001/07/11 10:01:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/parameterisations/src/G4IrregularXTRdEdx.cc b/source/parameterisations/src/G4IrregularXTRdEdx.cc index e3685a142a..5b18e61b3e 100644 --- a/source/parameterisations/src/G4IrregularXTRdEdx.cc +++ b/source/parameterisations/src/G4IrregularXTRdEdx.cc @@ -22,7 +22,7 @@ // // // $Id: G4IrregularXTRdEdx.cc,v 1.3 2001/09/18 09:02:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // diff --git a/source/parameterisations/src/G4IrregularXrayTRmodel.cc b/source/parameterisations/src/G4IrregularXrayTRmodel.cc index 5dac253be0..ba3dc6251d 100644 --- a/source/parameterisations/src/G4IrregularXrayTRmodel.cc +++ b/source/parameterisations/src/G4IrregularXrayTRmodel.cc @@ -21,15 +21,15 @@ // ******************************************************************** // // -// $Id: G4IrregularXrayTRmodel.cc,v 1.4 2001/09/18 09:02:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IrregularXrayTRmodel.cc,v 1.5 2003/02/12 08:48:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4IrregularXrayTRmodel.hh" -#include "Randomize.hh" +#include "G4Poisson.hh" #include "G4Gamma.hh" //////////////////////////////////////////////////////////////////////////// @@ -114,7 +114,7 @@ void G4IrregularXrayTRmodel::DoIt( const G4FastTrack& fastTrack , { if(iTkin == fTotBin) { - numOfTR = RandPoisson::shoot( (*(*fEnergyDistrTable)(iPlace))(0)*chargeSq ) ; + numOfTR = G4Poisson( (*(*fEnergyDistrTable)(iPlace))(0)*chargeSq ) ; } else { @@ -123,9 +123,9 @@ void G4IrregularXrayTRmodel::DoIt( const G4FastTrack& fastTrack , W = 1.0/(E2 - E1) ; W1 = (E2 - TkinScaled)*W ; W2 = (TkinScaled - E1)*W ; - numOfTR = RandPoisson::shoot( ( (*(*fEnergyDistrTable)(iPlace))(0)*W1+ - (*(*fEnergyDistrTable)(iPlace+1))(0)*W2 ) - *chargeSq ) ; + numOfTR = G4Poisson( ( (*(*fEnergyDistrTable)(iPlace))(0)*W1+ + (*(*fEnergyDistrTable)(iPlace+1))(0)*W2 ) + *chargeSq ) ; } // G4cout<GetElementVector(); - const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - // fill absorption length vector - if (absorptionLengthVector == NULL) { - G4String aErrorMessage("Error in G4Gamma::BuildAbsorptionLengthVector()"); - aErrorMessage += " NULL pointer is found in absorptionLengthVector \n"; - G4Exception((const char*)aErrorMessage); - } - G4int NumEl = aMaterial->GetNumberOfElements(); - G4double absorptionLengthMax = 0.0; - for (G4int ibin=0; ibinGetLowEdgeEnergy(ibin); - - G4double SIGMA = 0. ; - for (G4int iel=0; ielGetIndex(); - SIGMA += atomicNumDensityVector[iel]* - (*aCrossSectionTable)[IndEl]->GetValue(lowEdgeEnergy,isOut); - } - // absorption length=5./SIGMA - absorptionLengthVector->PutValue(ibin, 5./SIGMA); - if (absorptionLengthMax < 5./SIGMA ) absorptionLengthMax = 5./SIGMA; - } - - //----- Get maximum cut in length - G4int ii,siz = G4Material::GetNumberOfMaterials(); - G4double maxCut = 0; - for( ii = 0; ii < siz; ii++ ){ - if( theCutInMaxInteractionLength[ii] > maxCut ) maxCut = theCutInMaxInteractionLength[ii] -; - } - - if ( maxCut >= absorptionLengthMax ) { - G4cout << "******** SetCuts for " << GetParticleName(); - G4cout << " ********************" << G4endl; - G4cout << "The maximal meaningful cut is "; - G4cout << absorptionLengthMax/mm << " mm." << G4endl; - G4cout << "All the " << GetParticleName() << "will be killed !" << G4endl; - G4cout << "in the material " << aMaterial->GetName() << "." << G4endl; - } -} - - -// *********************************************************************** -// ********************** ComputeCrossSection **************************** -// *********************************************************************** - -G4double G4Gamma::ComputeCrossSection(G4double AtomicNumber, - G4double KineticEnergy) const -{ - // Compute the "absorption" cross section of the photon "absorption" - // cross section means here the sum of the cross sections of the - // pair production, Compton scattering and photoelectric processes - static G4double Z; - const G4double t1keV = 1.*keV; - const G4double t200keV = 200.*keV; - const G4double t100MeV = 100.*MeV; - - static G4double s200keV, s1keV; - static G4double tmin, tlow; - static G4double smin, slow; - static G4double cmin, clow, chigh; - // compute Z dependent quantities in the case of a new AtomicNumber - if(abs(AtomicNumber-Z)>0.1) - { - Z = AtomicNumber; - G4double Zsquare = Z*Z; - G4double Zlog = log(Z); - G4double Zlogsquare = Zlog*Zlog; - - s200keV = (0.2651-0.1501*Zlog+0.02283*Zlogsquare)*Zsquare; - tmin = (0.552+218.5/Z+557.17/Zsquare)*MeV; - smin = (0.01239+0.005585*Zlog-0.000923*Zlogsquare)*exp(1.5*Zlog); - cmin=log(s200keV/smin)/(log(tmin/t200keV)*log(tmin/t200keV)); - - tlow = 0.2*exp(-7.355/sqrt(Z))*MeV; - slow = s200keV*exp(0.042*Z*log(t200keV/tlow)*log(t200keV/tlow)); - s1keV = 300.*Zsquare; - clow =log(s1keV/slow)/log(tlow/t1keV); - - chigh=(7.55e-5-0.0542e-5*Z)*Zsquare*Z/log(t100MeV/tmin); - } - - // calculate the cross section (using an approximate empirical formula) - G4double s; - if ( KineticEnergyGetValue(T,isOut); - if ( r>rmax ) - { - Tmax=T; - rmax=r; - } - } - G4double T1 = LowestEnergy; - G4double r1 = absorptionLengthVector->GetValue(T1,isOut); - if ( theCutInMaxInteractionLength[materialIndex] <= r1 ) { - return T1; - } else if ( theCutInMaxInteractionLength[materialIndex] >= rmax ) { - G4cout << "******** ConvertCutToKineticEnergy for " << GetParticleName(); - G4cout << " ********************" << G4endl; - G4cout << "The cut energy is set " << DBL_MAX/GeV << "GeV " <GetValue(T3,isOut); - while ( abs(1.-r3/theCutInMaxInteractionLength[materialIndex])>epsilon ) { - if ( theCutInMaxInteractionLength[materialIndex] <= r3 ) - T2 = T3; - else - T1 = T3; - T3 = sqrt(T1*T2); - r3 = absorptionLengthVector->GetValue(T3,isOut); - } - return T3; - } -} - - G4Gamma* G4Gamma::Gamma() { return &theGamma; diff --git a/source/particles/bosons/src/G4Geantino.cc b/source/particles/bosons/src/G4Geantino.cc index ed1f1a49fd..90b64db5b1 100644 --- a/source/particles/bosons/src/G4Geantino.cc +++ b/source/particles/bosons/src/G4Geantino.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Geantino.cc,v 1.10 2001/10/28 05:03:49 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Geantino.cc,v 1.11 2002/12/16 11:15:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -91,12 +91,6 @@ G4Geantino* G4Geantino::GeantinoDefinition() {return &theGeantino;} // **************************** SetCuts ********************************* // ********************************************************************** -void G4Geantino::CalcEnergyCuts( const G4Material* ) -{ - // Set Energy Cut values to zero for all materials - SetEnergyCutValues( 0.0*keV); -} - G4Geantino* G4Geantino::Geantino() { return &theGeantino; diff --git a/source/particles/bosons/src/G4OpticalPhoton.cc b/source/particles/bosons/src/G4OpticalPhoton.cc index 28ea576c1c..1968fecae4 100644 --- a/source/particles/bosons/src/G4OpticalPhoton.cc +++ b/source/particles/bosons/src/G4OpticalPhoton.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OpticalPhoton.cc,v 1.8 2001/10/16 08:15:43 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OpticalPhoton.cc,v 1.9 2002/12/16 11:15:36 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -87,19 +87,6 @@ G4OpticalPhoton G4OpticalPhoton::theOpticalPhoton( G4OpticalPhoton* G4OpticalPhoton::OpticalPhotonDefinition() {return &theOpticalPhoton;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to Zero. -void G4OpticalPhoton::SetCuts(G4double aCut) -{ - SetCutInMaxInteractionLength( aCut ); - - // Set Energy Cut values to zero for all materials - SetEnergyCutValues( 0.0*keV); -} - G4OpticalPhoton* G4OpticalPhoton::OpticalPhoton() { diff --git a/source/particles/bosons/src/G4VBoson.cc b/source/particles/bosons/src/G4VBoson.cc index 8cf2d113bb..e0bb3dbecd 100644 --- a/source/particles/bosons/src/G4VBoson.cc +++ b/source/particles/bosons/src/G4VBoson.cc @@ -22,7 +22,7 @@ // // // $Id: G4VBoson.cc,v 1.3 2001/07/11 10:01:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/include/G4AntiLambda.hh b/source/particles/hadrons/barions/include/G4AntiLambda.hh index d7467be425..933b048ddb 100644 --- a/source/particles/hadrons/barions/include/G4AntiLambda.hh +++ b/source/particles/hadrons/barions/include/G4AntiLambda.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiLambda.hh,v 1.9 2001/10/28 05:06:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiLambda.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiLambda : public G4VBaryon static G4AntiLambda* AntiLambdaDefinition(); static G4AntiLambda* AntiLambda(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh b/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh index 35725ce1ec..bd46c2694c 100644 --- a/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiLambdacPlus.hh,v 1.6 2001/10/15 10:09:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiNeutron.hh b/source/particles/hadrons/barions/include/G4AntiNeutron.hh index fa8ca98ab6..a6cc7d4deb 100644 --- a/source/particles/hadrons/barions/include/G4AntiNeutron.hh +++ b/source/particles/hadrons/barions/include/G4AntiNeutron.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutron.hh,v 1.10 2001/10/28 05:06:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutron.hh,v 1.11 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4AntiNeutron : public G4VBaryon static G4AntiNeutron* AntiNeutronDefinition(); static G4AntiNeutron* AntiNeutron(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh b/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh index 8e50586fc5..ba68422f03 100644 --- a/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiOmegaMinus.hh,v 1.7 2001/10/16 08:15:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh b/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh index 1981c71950..d1eaa2ff2e 100644 --- a/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiOmegacZero.hh,v 1.8 2001/10/28 05:06:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiOmegacZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4AntiOmegacZero : public G4VBaryon static G4AntiOmegacZero* AntiOmegacZeroDefinition(); static G4AntiOmegacZero* AntiOmegacZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/barions/include/G4AntiProton.hh b/source/particles/hadrons/barions/include/G4AntiProton.hh index 0f8099beda..904e90c715 100644 --- a/source/particles/hadrons/barions/include/G4AntiProton.hh +++ b/source/particles/hadrons/barions/include/G4AntiProton.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiProton.hh,v 1.8 2001/10/16 08:15:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh b/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh index d762182916..bb44f6a70e 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaMinus.hh,v 1.7 2001/10/16 08:15:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh index 029ec280dd..90eda8f5f6 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaPlus.hh,v 1.7 2001/10/16 08:15:47 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh b/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh index 7e87174378..627d1150a0 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaZero.hh,v 1.9 2001/10/28 05:08:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiSigmaZero.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiSigmaZero : public G4VBaryon static G4AntiSigmaZero* AntiSigmaZeroDefinition(); static G4AntiSigmaZero* AntiSigmaZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh index 9b89af348c..bc093a5bfb 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmacPlus.hh,v 1.6 2001/10/15 10:09:25 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh index e533086973..0ea8a6c26e 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmacPlusPlus.hh,v 1.6 2001/10/15 10:09:26 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh b/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh index 82effb1f67..2f1d461f20 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmacZero.hh,v 1.8 2001/10/28 05:08:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiSigmacZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4AntiSigmacZero : public G4VBaryon static G4AntiSigmacZero* AntiSigmacZeroDefinition(); static G4AntiSigmacZero* AntiSigmacZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4AntiXiMinus.hh b/source/particles/hadrons/barions/include/G4AntiXiMinus.hh index 20c3d2a612..a9269597ed 100644 --- a/source/particles/hadrons/barions/include/G4AntiXiMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiXiMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiXiMinus.hh,v 1.7 2001/10/16 08:15:47 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXiZero.hh b/source/particles/hadrons/barions/include/G4AntiXiZero.hh index a690dc29c4..f2d8bea78d 100644 --- a/source/particles/hadrons/barions/include/G4AntiXiZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiXiZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiZero.hh,v 1.9 2001/10/28 05:08:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiXiZero.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiXiZero : public G4VBaryon static G4AntiXiZero* AntiXiZeroDefinition(); static G4AntiXiZero* AntiXiZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4AntiXicPlus.hh b/source/particles/hadrons/barions/include/G4AntiXicPlus.hh index fe4d489d2d..4b846a726b 100644 --- a/source/particles/hadrons/barions/include/G4AntiXicPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiXicPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiXicPlus.hh,v 1.6 2001/10/15 10:09:26 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXicZero.hh b/source/particles/hadrons/barions/include/G4AntiXicZero.hh index df78895973..9452cf7afe 100644 --- a/source/particles/hadrons/barions/include/G4AntiXicZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiXicZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiXicZero.hh,v 1.8 2001/10/28 05:08:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiXicZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4AntiXicZero : public G4VBaryon static G4AntiXicZero* AntiXicZeroDefinition(); static G4AntiXicZero* AntiXicZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4BaryonConstructor.hh b/source/particles/hadrons/barions/include/G4BaryonConstructor.hh index 88ba3c26d9..56c0412f27 100644 --- a/source/particles/hadrons/barions/include/G4BaryonConstructor.hh +++ b/source/particles/hadrons/barions/include/G4BaryonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4BaryonConstructor.hh,v 1.3 2001/07/11 10:01:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/include/G4Lambda.hh b/source/particles/hadrons/barions/include/G4Lambda.hh index fbaa9ebf12..a0619fb796 100644 --- a/source/particles/hadrons/barions/include/G4Lambda.hh +++ b/source/particles/hadrons/barions/include/G4Lambda.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Lambda.hh,v 1.9 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Lambda.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4Lambda : public G4VBaryon static G4Lambda* Lambda(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4LambdacPlus.hh b/source/particles/hadrons/barions/include/G4LambdacPlus.hh index 7f0e8fd5db..59cd5f53d5 100644 --- a/source/particles/hadrons/barions/include/G4LambdacPlus.hh +++ b/source/particles/hadrons/barions/include/G4LambdacPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4LambdacPlus.hh,v 1.6 2001/10/15 10:09:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4Neutron.hh b/source/particles/hadrons/barions/include/G4Neutron.hh index c2ebece05f..c2acc3ec15 100644 --- a/source/particles/hadrons/barions/include/G4Neutron.hh +++ b/source/particles/hadrons/barions/include/G4Neutron.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Neutron.hh,v 1.11 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Neutron.hh,v 1.12 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -83,7 +83,6 @@ class G4Neutron : public G4VBaryon // These two methods are dummy because all particles derived from // G4Neutron is "groud state" nuclei - virtual void CalcEnergyCuts( const G4Material* ); }; inline diff --git a/source/particles/hadrons/barions/include/G4OmegaMinus.hh b/source/particles/hadrons/barions/include/G4OmegaMinus.hh index ef53afcb15..0d5e9a1556 100644 --- a/source/particles/hadrons/barions/include/G4OmegaMinus.hh +++ b/source/particles/hadrons/barions/include/G4OmegaMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4OmegaMinus.hh,v 1.7 2001/10/16 08:15:49 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4OmegacZero.hh b/source/particles/hadrons/barions/include/G4OmegacZero.hh index 744b0d71a9..96ff993b8e 100644 --- a/source/particles/hadrons/barions/include/G4OmegacZero.hh +++ b/source/particles/hadrons/barions/include/G4OmegacZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OmegacZero.hh,v 1.8 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OmegacZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4OmegacZero : public G4VBaryon static G4OmegacZero* OmegacZeroDefinition(); static G4OmegacZero* OmegacZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/barions/include/G4Proton.hh b/source/particles/hadrons/barions/include/G4Proton.hh index 948b17de61..0e1790a342 100644 --- a/source/particles/hadrons/barions/include/G4Proton.hh +++ b/source/particles/hadrons/barions/include/G4Proton.hh @@ -22,7 +22,7 @@ // // // $Id: G4Proton.hh,v 1.9 2001/10/16 08:15:50 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaMinus.hh b/source/particles/hadrons/barions/include/G4SigmaMinus.hh index f6ab44003b..8d98dc2b59 100644 --- a/source/particles/hadrons/barions/include/G4SigmaMinus.hh +++ b/source/particles/hadrons/barions/include/G4SigmaMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmaMinus.hh,v 1.7 2001/10/16 08:15:50 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaPlus.hh b/source/particles/hadrons/barions/include/G4SigmaPlus.hh index e7e2d43f09..66b67e0ad4 100644 --- a/source/particles/hadrons/barions/include/G4SigmaPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmaPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmaPlus.hh,v 1.7 2001/10/16 08:15:51 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaZero.hh b/source/particles/hadrons/barions/include/G4SigmaZero.hh index 62cc5b1aad..fbec7be274 100644 --- a/source/particles/hadrons/barions/include/G4SigmaZero.hh +++ b/source/particles/hadrons/barions/include/G4SigmaZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SigmaZero.hh,v 1.9 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SigmaZero.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4SigmaZero : public G4VBaryon static G4SigmaZero* SigmaZeroDefinition(); static G4SigmaZero* SigmaZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4SigmacPlus.hh b/source/particles/hadrons/barions/include/G4SigmacPlus.hh index 61a9141320..d7be3e8b92 100644 --- a/source/particles/hadrons/barions/include/G4SigmacPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmacPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmacPlus.hh,v 1.6 2001/10/15 10:09:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh b/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh index e3e649c15a..7796ae756d 100644 --- a/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmacPlusPlus.hh,v 1.6 2001/10/15 10:09:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmacZero.hh b/source/particles/hadrons/barions/include/G4SigmacZero.hh index 977b329b3c..04d6995e23 100644 --- a/source/particles/hadrons/barions/include/G4SigmacZero.hh +++ b/source/particles/hadrons/barions/include/G4SigmacZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SigmacZero.hh,v 1.8 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SigmacZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4SigmacZero : public G4VBaryon static G4SigmacZero* SigmacZeroDefinition(); static G4SigmacZero* SigmacZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4VBaryon.hh b/source/particles/hadrons/barions/include/G4VBaryon.hh index e9248f32b0..54de183104 100644 --- a/source/particles/hadrons/barions/include/G4VBaryon.hh +++ b/source/particles/hadrons/barions/include/G4VBaryon.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VBaryon.hh,v 1.3 2001/07/11 10:01:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VBaryon.hh,v 1.4 2003/03/11 05:49:39 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -44,9 +44,9 @@ #include "G4Material.hh" #include "G4PhysicsLogVector.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" -class G4VBaryon : public G4ParticleWithCuts +class G4VBaryon : public G4ParticleDefinition { // A virtual class for Barions particles. It defines // public methods which describe the behavior of a @@ -75,7 +75,7 @@ class G4VBaryon : public G4ParticleWithCuts G4bool stable, G4double lifetime, G4DecayTable *decaytable) - : G4ParticleWithCuts(aName, mass, width, charge, iSpin, iParity, + : G4ParticleDefinition(aName, mass, width, charge, iSpin, iParity, iConjugation, iIsospin, iIsospinZ, gParity, pType, lepton, baryon, encoding, stable, lifetime, decaytable) {}; diff --git a/source/particles/hadrons/barions/include/G4XiMinus.hh b/source/particles/hadrons/barions/include/G4XiMinus.hh index 3e4020f531..0de2c71377 100644 --- a/source/particles/hadrons/barions/include/G4XiMinus.hh +++ b/source/particles/hadrons/barions/include/G4XiMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4XiMinus.hh,v 1.7 2001/10/16 08:15:51 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XiZero.hh b/source/particles/hadrons/barions/include/G4XiZero.hh index 2cf686423b..9e5bc3dbb7 100644 --- a/source/particles/hadrons/barions/include/G4XiZero.hh +++ b/source/particles/hadrons/barions/include/G4XiZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4XiZero.hh,v 1.9 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4XiZero.hh,v 1.10 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4XiZero : public G4VBaryon static G4XiZero* XiZeroDefinition(); static G4XiZero* XiZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/include/G4XicPlus.hh b/source/particles/hadrons/barions/include/G4XicPlus.hh index bbad18df46..db694471b5 100644 --- a/source/particles/hadrons/barions/include/G4XicPlus.hh +++ b/source/particles/hadrons/barions/include/G4XicPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4XicPlus.hh,v 1.6 2001/10/15 10:09:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XicZero.hh b/source/particles/hadrons/barions/include/G4XicZero.hh index 2207b6c753..db0a61c869 100644 --- a/source/particles/hadrons/barions/include/G4XicZero.hh +++ b/source/particles/hadrons/barions/include/G4XicZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4XicZero.hh,v 1.8 2001/10/28 05:08:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4XicZero.hh,v 1.9 2002/12/16 11:15:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4XicZero : public G4VBaryon static G4XicZero* XicZeroDefinition(); static G4XicZero* XicZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/barions/src/G4AntiLambda.cc b/source/particles/hadrons/barions/src/G4AntiLambda.cc index 8f547b7dd9..84e3a33de4 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambda.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambda.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiLambda.cc,v 1.12 2001/10/28 05:08:22 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiLambda.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -102,19 +102,3 @@ G4AntiLambda* G4AntiLambda::AntiLambdaDefinition(){return &theAntiLambda;} G4AntiLambda* G4AntiLambda::AntiLambda(){return &theAntiLambda;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiLambda::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - diff --git a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc index a3cd57f90e..831a2879ed 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiLambdacPlus.cc,v 1.7 2001/10/15 10:10:52 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiNeutron.cc b/source/particles/hadrons/barions/src/G4AntiNeutron.cc index fc593ef819..d7cea1fb0d 100644 --- a/source/particles/hadrons/barions/src/G4AntiNeutron.cc +++ b/source/particles/hadrons/barions/src/G4AntiNeutron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutron.cc,v 1.11 2001/10/28 05:08:22 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutron.cc,v 1.12 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -79,16 +79,3 @@ G4AntiNeutron G4AntiNeutron::theAntiNeutron( G4AntiNeutron* G4AntiNeutron::AntiNeutronDefinition(){return &theAntiNeutron;} G4AntiNeutron* G4AntiNeutron::AntiNeutron(){return &theAntiNeutron;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiNeutron::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} diff --git a/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc b/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc index 454beced3a..d780245358 100644 --- a/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiOmegaMinus.cc,v 1.8 2001/10/16 08:15:55 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc index 75e70e0670..57a5c1af50 100644 --- a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiOmegacZero.cc,v 1.11 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiOmegacZero.cc,v 1.12 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -87,17 +87,3 @@ G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZeroDefinition(){return &theAntiOm G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZero(){return &theAntiOmegacZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiOmegacZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/barions/src/G4AntiProton.cc b/source/particles/hadrons/barions/src/G4AntiProton.cc index c2c15405e8..2699b7d144 100644 --- a/source/particles/hadrons/barions/src/G4AntiProton.cc +++ b/source/particles/hadrons/barions/src/G4AntiProton.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiProton.cc,v 1.7 2001/10/16 08:15:56 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc index c586f20c3f..9bc6872506 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaMinus.cc,v 1.9 2002/06/14 05:55:42 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc index c86f8e169d..d24a807b38 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaPlus.cc,v 1.8 2001/10/16 08:15:56 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc index fbecaa1e29..cbb956c202 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaZero.cc,v 1.12 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiSigmaZero.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -105,16 +105,3 @@ G4AntiSigmaZero* G4AntiSigmaZero::AntiSigmaZero() return &theAntiSigmaZero; } -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiSigmaZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc index 5620062f64..384a4211c7 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmacPlus.cc,v 1.6 2001/10/15 10:10:54 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc index 598608f430..4f63a9aae9 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmacPlusPlus.cc,v 1.6 2001/10/15 10:10:54 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc b/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc index f9045b0b68..04124a69e6 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmacZero.cc,v 1.10 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiSigmacZero.cc,v 1.11 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -100,20 +100,3 @@ G4AntiSigmacZero G4AntiSigmacZero::theAntiSigmacZero( G4AntiSigmacZero* G4AntiSigmacZero::AntiSigmacZeroDefinition(){return &theAntiSigmacZero;} G4AntiSigmacZero* G4AntiSigmacZero::AntiSigmacZero(){return &theAntiSigmacZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4AntiSigmacZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - - - diff --git a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc index b365ed6620..fd3741328b 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiXiMinus.cc,v 1.8 2001/10/16 08:15:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiXiZero.cc b/source/particles/hadrons/barions/src/G4AntiXiZero.cc index fdb89a765b..3bb46beed2 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiZero.cc,v 1.12 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiXiZero.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -99,16 +99,3 @@ G4AntiXiZero G4AntiXiZero::theAntiXiZero( G4AntiXiZero* G4AntiXiZero::AntiXiZeroDefinition(){return &theAntiXiZero;} G4AntiXiZero* G4AntiXiZero::AntiXiZero(){return &theAntiXiZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiXiZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - diff --git a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc index a9d1a3a620..c8ecd635bf 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiXicPlus.cc,v 1.7 2001/10/15 10:10:54 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiXicZero.cc b/source/particles/hadrons/barions/src/G4AntiXicZero.cc index db9f82fa5a..79af70680d 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiXicZero.cc,v 1.11 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiXicZero.cc,v 1.12 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -87,17 +87,3 @@ G4AntiXicZero G4AntiXicZero::theAntiXicZero( G4AntiXicZero* G4AntiXicZero::AntiXicZeroDefinition(){return &theAntiXicZero;} G4AntiXicZero* G4AntiXicZero::AntiXicZero(){return &theAntiXicZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiXicZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/barions/src/G4BaryonConstructor.cc b/source/particles/hadrons/barions/src/G4BaryonConstructor.cc index de0079adae..da2ebe2616 100644 --- a/source/particles/hadrons/barions/src/G4BaryonConstructor.cc +++ b/source/particles/hadrons/barions/src/G4BaryonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4BaryonConstructor.cc,v 1.3 2001/07/11 10:01:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4Lambda.cc b/source/particles/hadrons/barions/src/G4Lambda.cc index a87df768b7..f1b38861eb 100644 --- a/source/particles/hadrons/barions/src/G4Lambda.cc +++ b/source/particles/hadrons/barions/src/G4Lambda.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Lambda.cc,v 1.12 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Lambda.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -102,17 +102,3 @@ G4Lambda* G4Lambda::LambdaDefinition(){return &theLambda;} G4Lambda* G4Lambda::Lambda() {return &theLambda;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4Lambda::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/barions/src/G4LambdacPlus.cc b/source/particles/hadrons/barions/src/G4LambdacPlus.cc index 9320e6762f..d323f6078b 100644 --- a/source/particles/hadrons/barions/src/G4LambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4LambdacPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4LambdacPlus.cc,v 1.7 2001/10/15 10:10:55 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4Neutron.cc b/source/particles/hadrons/barions/src/G4Neutron.cc index 3a1e770a86..8e22234173 100644 --- a/source/particles/hadrons/barions/src/G4Neutron.cc +++ b/source/particles/hadrons/barions/src/G4Neutron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Neutron.cc,v 1.13 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Neutron.cc,v 1.14 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -94,23 +94,3 @@ G4Neutron G4Neutron::theNeutron( G4Neutron* G4Neutron::NeutronDefinition(){return &theNeutron;} G4Neutron* G4Neutron::Neutron(){return &theNeutron;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4Neutron::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - - - diff --git a/source/particles/hadrons/barions/src/G4OmegaMinus.cc b/source/particles/hadrons/barions/src/G4OmegaMinus.cc index cc7429e8b9..f84259253d 100644 --- a/source/particles/hadrons/barions/src/G4OmegaMinus.cc +++ b/source/particles/hadrons/barions/src/G4OmegaMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4OmegaMinus.cc,v 1.8 2001/10/16 08:15:58 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4OmegacZero.cc b/source/particles/hadrons/barions/src/G4OmegacZero.cc index 1373c9076f..2b8924fea5 100644 --- a/source/particles/hadrons/barions/src/G4OmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4OmegacZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OmegacZero.cc,v 1.11 2001/10/28 05:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OmegacZero.cc,v 1.12 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -87,17 +87,3 @@ G4OmegacZero* G4OmegacZero::OmegacZeroDefinition(){return &theOmegacZero;} G4OmegacZero* G4OmegacZero::OmegacZero(){return &theOmegacZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4OmegacZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/barions/src/G4Proton.cc b/source/particles/hadrons/barions/src/G4Proton.cc index 7387d56f3b..8c88ecf97d 100644 --- a/source/particles/hadrons/barions/src/G4Proton.cc +++ b/source/particles/hadrons/barions/src/G4Proton.cc @@ -22,7 +22,7 @@ // // // $Id: G4Proton.cc,v 1.7 2001/10/16 08:15:59 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmaMinus.cc b/source/particles/hadrons/barions/src/G4SigmaMinus.cc index 1c585704ea..627789ede8 100644 --- a/source/particles/hadrons/barions/src/G4SigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4SigmaMinus.cc,v 1.8 2001/10/16 08:15:59 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmaPlus.cc b/source/particles/hadrons/barions/src/G4SigmaPlus.cc index 129c1dbc6e..f89ce79128 100644 --- a/source/particles/hadrons/barions/src/G4SigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4SigmaPlus.cc,v 1.8 2001/10/16 08:16:00 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmaZero.cc b/source/particles/hadrons/barions/src/G4SigmaZero.cc index 3ec9f2e558..7da3eae467 100644 --- a/source/particles/hadrons/barions/src/G4SigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4SigmaZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SigmaZero.cc,v 1.12 2001/10/28 05:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SigmaZero.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -96,25 +96,3 @@ G4SigmaZero G4SigmaZero::theSigmaZero( G4SigmaZero* G4SigmaZero::SigmaZeroDefinition(){return &theSigmaZero;} G4SigmaZero* G4SigmaZero::SigmaZero(){return &theSigmaZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4SigmaZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - - - - - diff --git a/source/particles/hadrons/barions/src/G4SigmacPlus.cc b/source/particles/hadrons/barions/src/G4SigmacPlus.cc index 3803f0409c..ef99ab4435 100644 --- a/source/particles/hadrons/barions/src/G4SigmacPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmacPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4SigmacPlus.cc,v 1.6 2001/10/15 10:10:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc b/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc index 24b8f8a44f..b2d8bccc0b 100644 --- a/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4SigmacPlusPlus.cc,v 1.6 2001/10/15 10:10:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmacZero.cc b/source/particles/hadrons/barions/src/G4SigmacZero.cc index cb498cc85c..5ce6c9e7f2 100644 --- a/source/particles/hadrons/barions/src/G4SigmacZero.cc +++ b/source/particles/hadrons/barions/src/G4SigmacZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SigmacZero.cc,v 1.10 2001/10/28 05:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SigmacZero.cc,v 1.11 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -99,20 +99,5 @@ G4SigmacZero G4SigmacZero::theSigmacZero( G4SigmacZero* G4SigmacZero::SigmacZeroDefinition(){return &theSigmacZero;} G4SigmacZero* G4SigmacZero::SigmacZero(){return &theSigmacZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4SigmacZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - diff --git a/source/particles/hadrons/barions/src/G4VBaryon.cc b/source/particles/hadrons/barions/src/G4VBaryon.cc index 9ddea66b90..9dc94753d7 100644 --- a/source/particles/hadrons/barions/src/G4VBaryon.cc +++ b/source/particles/hadrons/barions/src/G4VBaryon.cc @@ -22,7 +22,7 @@ // // // $Id: G4VBaryon.cc,v 1.3 2001/07/11 10:01:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4XiMinus.cc b/source/particles/hadrons/barions/src/G4XiMinus.cc index 31c2a0ccf2..c56a06fea3 100644 --- a/source/particles/hadrons/barions/src/G4XiMinus.cc +++ b/source/particles/hadrons/barions/src/G4XiMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4XiMinus.cc,v 1.8 2001/10/16 08:16:01 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4XiZero.cc b/source/particles/hadrons/barions/src/G4XiZero.cc index 86a3539175..3db64e302f 100644 --- a/source/particles/hadrons/barions/src/G4XiZero.cc +++ b/source/particles/hadrons/barions/src/G4XiZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4XiZero.cc,v 1.12 2001/10/28 05:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4XiZero.cc,v 1.13 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -99,17 +99,3 @@ G4XiZero G4XiZero::theXiZero( G4XiZero* G4XiZero::XiZeroDefinition(){return &theXiZero;} G4XiZero* G4XiZero::XiZero(){return &theXiZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4XiZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/barions/src/G4XicPlus.cc b/source/particles/hadrons/barions/src/G4XicPlus.cc index 8cb4a374b6..3d17399f5a 100644 --- a/source/particles/hadrons/barions/src/G4XicPlus.cc +++ b/source/particles/hadrons/barions/src/G4XicPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4XicPlus.cc,v 1.7 2001/10/15 10:10:58 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4XicZero.cc b/source/particles/hadrons/barions/src/G4XicZero.cc index 1cc6e543a1..98ca885705 100644 --- a/source/particles/hadrons/barions/src/G4XicZero.cc +++ b/source/particles/hadrons/barions/src/G4XicZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4XicZero.cc,v 1.11 2001/10/28 05:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4XicZero.cc,v 1.12 2002/12/16 11:15:38 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -87,17 +87,3 @@ G4XicZero G4XicZero::theXicZero( G4XicZero* G4XicZero::XicZeroDefinition(){return &theXicZero;} G4XicZero* G4XicZero::XicZero(){return &theXicZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4XicZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - diff --git a/source/particles/hadrons/ions/include/G4Alpha.hh b/source/particles/hadrons/ions/include/G4Alpha.hh index 3c3d74d3b0..64e9afb26b 100644 --- a/source/particles/hadrons/ions/include/G4Alpha.hh +++ b/source/particles/hadrons/ions/include/G4Alpha.hh @@ -22,7 +22,7 @@ // // // $Id: G4Alpha.hh,v 1.7 2001/10/16 08:16:05 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4Deuteron.hh b/source/particles/hadrons/ions/include/G4Deuteron.hh index 97fddb664a..7104949b77 100644 --- a/source/particles/hadrons/ions/include/G4Deuteron.hh +++ b/source/particles/hadrons/ions/include/G4Deuteron.hh @@ -22,7 +22,7 @@ // // // $Id: G4Deuteron.hh,v 1.7 2001/10/16 08:16:05 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4GenericIon.hh b/source/particles/hadrons/ions/include/G4GenericIon.hh index 59627cdbc3..2db5aa4d28 100644 --- a/source/particles/hadrons/ions/include/G4GenericIon.hh +++ b/source/particles/hadrons/ions/include/G4GenericIon.hh @@ -22,7 +22,7 @@ // // // $Id: G4GenericIon.hh,v 1.7 2001/10/16 08:16:05 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4He3.hh b/source/particles/hadrons/ions/include/G4He3.hh index afee301dec..509c6a2416 100644 --- a/source/particles/hadrons/ions/include/G4He3.hh +++ b/source/particles/hadrons/ions/include/G4He3.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3.hh,v 1.7 2001/10/16 08:16:06 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4IonConstructor.hh b/source/particles/hadrons/ions/include/G4IonConstructor.hh index efb2460ff7..cd8b016d51 100644 --- a/source/particles/hadrons/ions/include/G4IonConstructor.hh +++ b/source/particles/hadrons/ions/include/G4IonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4IonConstructor.hh,v 1.3 2001/07/11 10:01:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/include/G4Triton.hh b/source/particles/hadrons/ions/include/G4Triton.hh index 7b449493b7..0281201ae2 100644 --- a/source/particles/hadrons/ions/include/G4Triton.hh +++ b/source/particles/hadrons/ions/include/G4Triton.hh @@ -22,7 +22,7 @@ // // // $Id: G4Triton.hh,v 1.7 2001/10/16 08:16:06 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4VIon.hh b/source/particles/hadrons/ions/include/G4VIon.hh index e4b5701cd2..b136952acf 100644 --- a/source/particles/hadrons/ions/include/G4VIon.hh +++ b/source/particles/hadrons/ions/include/G4VIon.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VIon.hh,v 1.4 2001/07/11 10:01:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VIon.hh,v 1.5 2003/03/11 05:49:40 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -32,7 +32,7 @@ // 2nd December 1995, G.Cosmo // ------------------------------------------------------------ // Revised, Hisaya Kurashige, 16 Dec 1996 -// Revised, Hisaya Kurashige, 24 Frb 1997 +// Revised, Hisaya Kurashige, 24 Feb 1997 // ---------------------------------------------------------------- #ifndef G4VIon_h @@ -43,9 +43,9 @@ #include "G4Material.hh" #include "G4PhysicsLogVector.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" -class G4VIon : public G4ParticleWithCuts +class G4VIon : public G4ParticleDefinition { // A virtual class for Ions particles. It defines // public methods which describe the behavior of a @@ -74,7 +74,7 @@ class G4VIon : public G4ParticleWithCuts G4bool stable, G4double lifetime, G4DecayTable *decaytable) - : G4ParticleWithCuts(aName, mass, width, charge, iSpin, iParity, + : G4ParticleDefinition(aName, mass, width, charge, iSpin, iParity, iConjugation, iIsospin, iIsospinZ, gParity, pType, lepton, baryon, encoding, stable, lifetime, decaytable) {}; diff --git a/source/particles/hadrons/ions/src/G4Alpha.cc b/source/particles/hadrons/ions/src/G4Alpha.cc index adae50e4e9..c915fd04af 100644 --- a/source/particles/hadrons/ions/src/G4Alpha.cc +++ b/source/particles/hadrons/ions/src/G4Alpha.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Alpha.cc,v 1.6 2001/10/16 08:16:07 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Alpha.cc,v 1.7 2003/02/18 01:49:57 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -59,6 +59,7 @@ G4Alpha::G4Alpha( iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("static"); } G4Alpha::~G4Alpha() diff --git a/source/particles/hadrons/ions/src/G4Deuteron.cc b/source/particles/hadrons/ions/src/G4Deuteron.cc index 9f5879d4d0..ba96adacbf 100644 --- a/source/particles/hadrons/ions/src/G4Deuteron.cc +++ b/source/particles/hadrons/ions/src/G4Deuteron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Deuteron.cc,v 1.6 2001/10/16 08:16:08 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Deuteron.cc,v 1.7 2003/02/18 01:49:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -59,6 +59,7 @@ G4Deuteron::G4Deuteron( iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("static"); } G4Deuteron::~G4Deuteron() diff --git a/source/particles/hadrons/ions/src/G4GenericIon.cc b/source/particles/hadrons/ions/src/G4GenericIon.cc index d336715631..313b55abf8 100644 --- a/source/particles/hadrons/ions/src/G4GenericIon.cc +++ b/source/particles/hadrons/ions/src/G4GenericIon.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4GenericIon.cc,v 1.6 2001/10/16 08:16:08 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4GenericIon.cc,v 1.7 2003/02/18 01:49:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -55,6 +55,7 @@ G4GenericIon::G4GenericIon( iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("generic"); } G4GenericIon::~G4GenericIon() diff --git a/source/particles/hadrons/ions/src/G4He3.cc b/source/particles/hadrons/ions/src/G4He3.cc index 35a6fd3e2d..9cc4722cc6 100644 --- a/source/particles/hadrons/ions/src/G4He3.cc +++ b/source/particles/hadrons/ions/src/G4He3.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4He3.cc,v 1.6 2001/10/16 08:16:08 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4He3.cc,v 1.7 2003/02/18 01:49:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -55,6 +55,7 @@ G4He3::G4He3( iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("static"); } G4He3::~G4He3() diff --git a/source/particles/hadrons/ions/src/G4IonConstructor.cc b/source/particles/hadrons/ions/src/G4IonConstructor.cc index 3067ad09f5..1738dd74e6 100644 --- a/source/particles/hadrons/ions/src/G4IonConstructor.cc +++ b/source/particles/hadrons/ions/src/G4IonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4IonConstructor.cc,v 1.3 2001/07/11 10:01:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/src/G4Triton.cc b/source/particles/hadrons/ions/src/G4Triton.cc index 0a31b8fce8..1171d9789f 100644 --- a/source/particles/hadrons/ions/src/G4Triton.cc +++ b/source/particles/hadrons/ions/src/G4Triton.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Triton.cc,v 1.6 2001/10/16 08:16:08 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Triton.cc,v 1.7 2003/02/18 01:49:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -58,6 +58,7 @@ G4Triton::G4Triton( iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("static"); } G4Triton::~G4Triton() diff --git a/source/particles/hadrons/ions/src/G4VIon.cc b/source/particles/hadrons/ions/src/G4VIon.cc index 30ee64b1a0..7c77cfed4d 100644 --- a/source/particles/hadrons/ions/src/G4VIon.cc +++ b/source/particles/hadrons/ions/src/G4VIon.cc @@ -22,7 +22,7 @@ // // // $Id: G4VIon.cc,v 1.3 2001/07/11 10:01:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh index 1481f0b4fc..cc2abf0566 100644 --- a/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiBMesonZero.hh,v 1.7 2001/10/28 05:01:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiBMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiBMesonZero : public G4VMeson static G4AntiBMesonZero* AntiBMesonZeroDefinition(); static G4AntiBMesonZero* AntiBMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh index 825e159850..2ee9ce96f0 100644 --- a/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiBsMesonZero.hh,v 1.7 2001/10/28 05:01:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiBsMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiBsMesonZero : public G4VMeson static G4AntiBsMesonZero* AntiBsMesonZeroDefinition(); static G4AntiBsMesonZero* AntiBsMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh index dec7021b21..5d13d03a33 100644 --- a/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiDMesonZero.hh,v 1.7 2001/10/28 05:01:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiDMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4AntiDMesonZero : public G4VMeson static G4AntiDMesonZero* AntiDMesonZeroDefinition(); static G4AntiDMesonZero* AntiDMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh b/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh index 5fe5018fc3..18dfe6af52 100644 --- a/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiKaonZero.hh,v 1.9 2001/10/28 05:01:27 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiKaonZero.hh,v 1.10 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -76,7 +76,6 @@ class G4AntiKaonZero : public G4VMeson static G4AntiKaonZero* AntiKaonZeroDefinition(); static G4AntiKaonZero* AntiKaonZero(); - void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4BMesonMinus.hh b/source/particles/hadrons/mesons/include/G4BMesonMinus.hh index 2a17d7caf6..d7316ec08f 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4BMesonMinus.hh,v 1.5 2001/10/15 10:06:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BMesonPlus.hh b/source/particles/hadrons/mesons/include/G4BMesonPlus.hh index d8eebacfbd..166a33ccb8 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4BMesonPlus.hh,v 1.5 2001/10/15 10:06:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BMesonZero.hh b/source/particles/hadrons/mesons/include/G4BMesonZero.hh index 4926cd7dee..e6861b6519 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BMesonZero.hh,v 1.7 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4BMesonZero : public G4VMeson static G4BMesonZero* BMesonZeroDefinition(); static G4BMesonZero* BMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4BsMesonZero.hh b/source/particles/hadrons/mesons/include/G4BsMesonZero.hh index 2a41bc6d59..87088ddf75 100644 --- a/source/particles/hadrons/mesons/include/G4BsMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4BsMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BsMesonZero.hh,v 1.7 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BsMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4BsMesonZero : public G4VMeson static G4BsMesonZero* BsMesonZeroDefinition(); static G4BsMesonZero* BsMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4DMesonMinus.hh b/source/particles/hadrons/mesons/include/G4DMesonMinus.hh index 9b78b456e9..81327caa4a 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4DMesonMinus.hh,v 1.5 2001/10/15 10:06:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DMesonPlus.hh b/source/particles/hadrons/mesons/include/G4DMesonPlus.hh index ba3f80c4b3..fcf2290af9 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4DMesonPlus.hh,v 1.5 2001/10/15 10:06:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DMesonZero.hh b/source/particles/hadrons/mesons/include/G4DMesonZero.hh index 3f60aedadd..64d4774a0d 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4DMesonZero.hh,v 1.7 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4DMesonZero.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4DMesonZero : public G4VMeson static G4DMesonZero* DMesonZeroDefinition(); static G4DMesonZero* DMesonZero(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh b/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh index 069f55d71e..389d599119 100644 --- a/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4DsMesonMinus.hh,v 1.5 2001/10/15 10:06:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh b/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh index 6340766f85..4906ce1696 100644 --- a/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4DsMesonPlus.hh,v 1.5 2001/10/15 10:06:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4Eta.hh b/source/particles/hadrons/mesons/include/G4Eta.hh index 38f19be053..fc0f31cebe 100644 --- a/source/particles/hadrons/mesons/include/G4Eta.hh +++ b/source/particles/hadrons/mesons/include/G4Eta.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Eta.hh,v 1.8 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Eta.hh,v 1.9 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4Eta : public G4VMeson static G4Eta* EtaDefinition(); static G4Eta* Eta(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4EtaPrime.hh b/source/particles/hadrons/mesons/include/G4EtaPrime.hh index ce8e4a0f81..0241d4766f 100644 --- a/source/particles/hadrons/mesons/include/G4EtaPrime.hh +++ b/source/particles/hadrons/mesons/include/G4EtaPrime.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EtaPrime.hh,v 1.8 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EtaPrime.hh,v 1.9 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -71,7 +71,6 @@ class G4EtaPrime : public G4VMeson static G4EtaPrime* EtaPrimeDefinition(); static G4EtaPrime* EtaPrime(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4JPsi.hh b/source/particles/hadrons/mesons/include/G4JPsi.hh index dc66601aab..d2ec1d67be 100644 --- a/source/particles/hadrons/mesons/include/G4JPsi.hh +++ b/source/particles/hadrons/mesons/include/G4JPsi.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4JPsi.hh,v 1.7 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4JPsi.hh,v 1.8 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4JPsi : public G4VMeson static G4JPsi* JPsiDefinition(); static G4JPsi* JPsi(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4KaonMinus.hh b/source/particles/hadrons/mesons/include/G4KaonMinus.hh index 6fae0a9520..a6624290e2 100644 --- a/source/particles/hadrons/mesons/include/G4KaonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4KaonMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinus.hh,v 1.7 2001/10/16 08:16:09 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonPlus.hh b/source/particles/hadrons/mesons/include/G4KaonPlus.hh index 0247bfb4cd..5e3ce43143 100644 --- a/source/particles/hadrons/mesons/include/G4KaonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4KaonPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonPlus.hh,v 1.7 2001/10/16 08:16:09 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonZero.hh b/source/particles/hadrons/mesons/include/G4KaonZero.hh index 6ec2964a33..3cff85696e 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZero.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZero.hh,v 1.9 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZero.hh,v 1.10 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -75,7 +75,6 @@ class G4KaonZero : public G4VMeson static G4KaonZero* KaonZeroDefinition(); static G4KaonZero* KaonZero(); - void CalcEnergyCuts( const G4Material* ); }; diff --git a/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh b/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh index 50cb80e5d9..59e0c352b2 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroLong.hh,v 1.8 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZeroLong.hh,v 1.9 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4KaonZeroLong : public G4VMeson static G4KaonZeroLong* KaonZeroLongDefinition(); static G4KaonZeroLong* KaonZeroLong(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh b/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh index 2bd0fd1af7..b72225e547 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroShort.hh,v 1.8 2001/10/28 05:01:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZeroShort.hh,v 1.9 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4KaonZeroShort : public G4VMeson static G4KaonZeroShort* KaonZeroShortDefinition(); static G4KaonZeroShort* KaonZeroShort(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4MesonConstructor.hh b/source/particles/hadrons/mesons/include/G4MesonConstructor.hh index bd67565b44..38c4989580 100644 --- a/source/particles/hadrons/mesons/include/G4MesonConstructor.hh +++ b/source/particles/hadrons/mesons/include/G4MesonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4MesonConstructor.hh,v 1.3 2001/07/11 10:01:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/include/G4PionMinus.hh b/source/particles/hadrons/mesons/include/G4PionMinus.hh index 587259ff5f..74c10bac2a 100644 --- a/source/particles/hadrons/mesons/include/G4PionMinus.hh +++ b/source/particles/hadrons/mesons/include/G4PionMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4PionMinus.hh,v 1.7 2001/10/16 08:16:10 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4PionPlus.hh b/source/particles/hadrons/mesons/include/G4PionPlus.hh index de404de3e1..e1279c4752 100644 --- a/source/particles/hadrons/mesons/include/G4PionPlus.hh +++ b/source/particles/hadrons/mesons/include/G4PionPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4PionPlus.hh,v 1.7 2001/10/16 08:16:10 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4PionZero.hh b/source/particles/hadrons/mesons/include/G4PionZero.hh index 49c4141121..b118b1db66 100644 --- a/source/particles/hadrons/mesons/include/G4PionZero.hh +++ b/source/particles/hadrons/mesons/include/G4PionZero.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PionZero.hh,v 1.9 2001/10/28 05:01:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PionZero.hh,v 1.10 2002/12/16 11:15:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4PionZero : public G4VMeson static G4PionZero* PionZeroDefinition(); static G4PionZero* PionZero(); - void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/hadrons/mesons/include/G4VMeson.hh b/source/particles/hadrons/mesons/include/G4VMeson.hh index 1ed13488af..64f1390be8 100644 --- a/source/particles/hadrons/mesons/include/G4VMeson.hh +++ b/source/particles/hadrons/mesons/include/G4VMeson.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VMeson.hh,v 1.3 2001/07/11 10:01:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VMeson.hh,v 1.4 2003/03/11 05:49:40 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -43,9 +43,9 @@ #include "G4Material.hh" #include "G4PhysicsLogVector.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" -class G4VMeson : public G4ParticleWithCuts +class G4VMeson : public G4ParticleDefinition { // A virtual class for Mesons particles. It defines // public methods which describe the behavior of a @@ -74,7 +74,7 @@ class G4VMeson : public G4ParticleWithCuts G4bool stable, G4double lifetime, G4DecayTable *decaytable) - : G4ParticleWithCuts(aName, mass, width, charge, iSpin, iParity, + : G4ParticleDefinition(aName, mass, width, charge, iSpin, iParity, iConjugation, iIsospin, iIsospinZ, gParity, pType, lepton, baryon, encoding, stable, lifetime, decaytable) {}; diff --git a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc index fae4796ac5..34256004b0 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiBMesonZero.cc,v 1.10 2001/10/28 05:01:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiBMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,17 +84,3 @@ G4AntiBMesonZero G4AntiBMesonZero::theAntiBMesonZero( G4AntiBMesonZero* G4AntiBMesonZero::AntiBMesonZeroDefinition(){return &theAntiBMesonZero;} G4AntiBMesonZero* G4AntiBMesonZero::AntiBMesonZero(){return &theAntiBMesonZero;} -void G4AntiBMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - - diff --git a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc index 4cb05f40f3..d33cc78c11 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiBsMesonZero.cc,v 1.10 2001/10/28 05:01:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiBsMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,17 +84,3 @@ G4AntiBsMesonZero G4AntiBsMesonZero::theAntiBsMesonZero( G4AntiBsMesonZero* G4AntiBsMesonZero::AntiBsMesonZeroDefinition(){return &theAntiBsMesonZero;} G4AntiBsMesonZero* G4AntiBsMesonZero::AntiBsMesonZero(){return &theAntiBsMesonZero;} -void G4AntiBsMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - - diff --git a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc index d7cc0f513d..cd0f5a61f3 100644 --- a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiDMesonZero.cc,v 1.10 2001/10/28 05:01:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiDMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,15 +84,3 @@ G4AntiDMesonZero G4AntiDMesonZero::theAntiDMesonZero( G4AntiDMesonZero* G4AntiDMesonZero::AntiDMesonZeroDefinition(){return &theAntiDMesonZero;} G4AntiDMesonZero* G4AntiDMesonZero::AntiDMesonZero(){return &theAntiDMesonZero;} -void G4AntiDMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - - - - - diff --git a/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc b/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc index 0a30bd9234..ff688f3aea 100644 --- a/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiKaonZero.cc,v 1.10 2001/10/28 05:01:32 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiKaonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -100,18 +100,5 @@ G4AntiKaonZero G4AntiKaonZero::theAntiKaonZero( G4AntiKaonZero* G4AntiKaonZero::AntiKaonZeroDefinition(){return &theAntiKaonZero;} G4AntiKaonZero* G4AntiKaonZero::AntiKaonZero(){return &theAntiKaonZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4AntiKaonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} diff --git a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc index 9836b19d14..77f08e6f1a 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4BMesonMinus.cc,v 1.6 2001/10/15 10:08:22 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc index 8d69c82f3e..7a38bdfcce 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4BMesonPlus.cc,v 1.6 2001/10/15 10:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BMesonZero.cc b/source/particles/hadrons/mesons/src/G4BMesonZero.cc index 5e6563dcf3..4ce23b5291 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BMesonZero.cc,v 1.10 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -85,22 +85,3 @@ G4BMesonZero G4BMesonZero::theBMesonZero( G4BMesonZero* G4BMesonZero::BMesonZeroDefinition(){return &theBMesonZero;} G4BMesonZero* G4BMesonZero::BMesonZero(){return &theBMesonZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4BMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - diff --git a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc index 50ea52f969..69548941e8 100644 --- a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BsMesonZero.cc,v 1.10 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BsMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,20 +84,3 @@ G4BsMesonZero G4BsMesonZero::theBsMesonZero( G4BsMesonZero* G4BsMesonZero::BsMesonZeroDefinition(){return &theBsMesonZero;} G4BsMesonZero* G4BsMesonZero::BsMesonZero(){return &theBsMesonZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4BsMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - - - diff --git a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc index 46cb23a376..7b99cec311 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4DMesonMinus.cc,v 1.6 2001/10/15 10:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc index 6d0e1ecad0..72b9023a0a 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4DMesonPlus.cc,v 1.6 2001/10/15 10:08:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DMesonZero.cc b/source/particles/hadrons/mesons/src/G4DMesonZero.cc index 34f803a416..ebe8625469 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4DMesonZero.cc,v 1.10 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4DMesonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,22 +84,3 @@ G4DMesonZero G4DMesonZero::theDMesonZero( G4DMesonZero* G4DMesonZero::DMesonZeroDefinition(){return &theDMesonZero;} G4DMesonZero* G4DMesonZero::DMesonZero(){return &theDMesonZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4DMesonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - diff --git a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc index 7f8ac627f9..777bb44c9e 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4DsMesonMinus.cc,v 1.6 2001/10/15 10:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc index 101e42a2c3..741259d740 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4DsMesonPlus.cc,v 1.6 2001/10/15 10:08:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4Eta.cc b/source/particles/hadrons/mesons/src/G4Eta.cc index 2f119dade6..8caa617df5 100644 --- a/source/particles/hadrons/mesons/src/G4Eta.cc +++ b/source/particles/hadrons/mesons/src/G4Eta.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Eta.cc,v 1.11 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Eta.cc,v 1.12 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -109,17 +109,3 @@ G4Eta G4Eta::theEta( G4Eta* G4Eta::EtaDefinition(){return &theEta;} G4Eta* G4Eta::Eta(){return &theEta;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4Eta::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - - diff --git a/source/particles/hadrons/mesons/src/G4EtaPrime.cc b/source/particles/hadrons/mesons/src/G4EtaPrime.cc index b326e635a3..8167cd99c4 100644 --- a/source/particles/hadrons/mesons/src/G4EtaPrime.cc +++ b/source/particles/hadrons/mesons/src/G4EtaPrime.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EtaPrime.cc,v 1.11 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EtaPrime.cc,v 1.12 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------- @@ -106,17 +106,3 @@ G4EtaPrime G4EtaPrime::theEtaPrime( G4EtaPrime* G4EtaPrime::EtaPrimeDefinition(){return &theEtaPrime;} G4EtaPrime* G4EtaPrime::EtaPrime(){return &theEtaPrime;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4EtaPrime::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - - - diff --git a/source/particles/hadrons/mesons/src/G4JPsi.cc b/source/particles/hadrons/mesons/src/G4JPsi.cc index 2c4476942a..2157e94f24 100644 --- a/source/particles/hadrons/mesons/src/G4JPsi.cc +++ b/source/particles/hadrons/mesons/src/G4JPsi.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4JPsi.cc,v 1.10 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4JPsi.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -88,22 +88,3 @@ G4JPsi G4JPsi::theJPsi( G4JPsi* G4JPsi::JPsiDefinition(){return &theJPsi;} G4JPsi* G4JPsi::JPsi(){return &theJPsi;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4JPsi::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - - diff --git a/source/particles/hadrons/mesons/src/G4KaonMinus.cc b/source/particles/hadrons/mesons/src/G4KaonMinus.cc index b8ff3f1185..06ca781e20 100644 --- a/source/particles/hadrons/mesons/src/G4KaonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinus.cc,v 1.8 2002/02/12 01:07:21 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonPlus.cc b/source/particles/hadrons/mesons/src/G4KaonPlus.cc index 0c91a14606..201be5be49 100644 --- a/source/particles/hadrons/mesons/src/G4KaonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4KaonPlus.cc,v 1.7 2001/10/16 08:16:12 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonZero.cc b/source/particles/hadrons/mesons/src/G4KaonZero.cc index 26af7531fb..4e5295941b 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZero.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZero.cc,v 1.10 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZero.cc,v 1.11 2002/12/16 11:15:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -101,16 +101,3 @@ G4KaonZero G4KaonZero::theKaonZero( G4KaonZero* G4KaonZero::KaonZeroDefinition(){return &theKaonZero;} G4KaonZero* G4KaonZero::KaonZero(){return &theKaonZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4KaonZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc index 27ec531046..1108e81075 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroLong.cc,v 1.11 2001/10/28 05:01:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZeroLong.cc,v 1.12 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -110,16 +110,3 @@ G4KaonZeroLong G4KaonZeroLong::theKaonZeroLong( G4KaonZeroLong* G4KaonZeroLong::KaonZeroLongDefinition(){return &theKaonZeroLong;} G4KaonZeroLong* G4KaonZeroLong::KaonZeroLong(){return &theKaonZeroLong;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4KaonZeroLong::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc index 57f9dc89fe..2a27f54776 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4KaonZeroShort.cc,v 1.11 2001/10/28 05:01:34 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4KaonZeroShort.cc,v 1.12 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -104,17 +104,3 @@ G4KaonZeroShort* G4KaonZeroShort::KaonZeroShortDefinition(){return &theKaonZeroS G4KaonZeroShort* G4KaonZeroShort::KaonZeroShort(){return &theKaonZeroShort;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy - -void G4KaonZeroShort::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); -} - diff --git a/source/particles/hadrons/mesons/src/G4MesonConstructor.cc b/source/particles/hadrons/mesons/src/G4MesonConstructor.cc index c3c2c20f63..524f127602 100644 --- a/source/particles/hadrons/mesons/src/G4MesonConstructor.cc +++ b/source/particles/hadrons/mesons/src/G4MesonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4MesonConstructor.cc,v 1.4 2001/07/11 10:01:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionMinus.cc b/source/particles/hadrons/mesons/src/G4PionMinus.cc index d2024e59b7..7257eaa656 100644 --- a/source/particles/hadrons/mesons/src/G4PionMinus.cc +++ b/source/particles/hadrons/mesons/src/G4PionMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4PionMinus.cc,v 1.7 2001/10/16 08:16:14 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionPlus.cc b/source/particles/hadrons/mesons/src/G4PionPlus.cc index 6112ca1ca7..0ecafb69c0 100644 --- a/source/particles/hadrons/mesons/src/G4PionPlus.cc +++ b/source/particles/hadrons/mesons/src/G4PionPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4PionPlus.cc,v 1.8 2001/10/16 08:16:14 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionZero.cc b/source/particles/hadrons/mesons/src/G4PionZero.cc index 20de5a86ec..ca537bc636 100644 --- a/source/particles/hadrons/mesons/src/G4PionZero.cc +++ b/source/particles/hadrons/mesons/src/G4PionZero.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PionZero.cc,v 1.11 2001/10/28 05:01:34 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PionZero.cc,v 1.12 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -109,22 +109,5 @@ G4PionZero G4PionZero::thePionZero( G4PionZero* G4PionZero::PionZeroDefinition(){return &thePionZero;} G4PionZero* G4PionZero::PionZero(){return &thePionZero;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -// In this version Input Cut Value is meaning less -// theKineticEnergyCuts for all materials are set to LowestEnergy -void G4PionZero::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(LowestEnergy); - -} - - - - diff --git a/source/particles/hadrons/mesons/src/G4VMeson.cc b/source/particles/hadrons/mesons/src/G4VMeson.cc index be02206413..ce7a675eef 100644 --- a/source/particles/hadrons/mesons/src/G4VMeson.cc +++ b/source/particles/hadrons/mesons/src/G4VMeson.cc @@ -22,7 +22,7 @@ // // // $Id: G4VMeson.cc,v 1.3 2001/07/11 10:01:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/leptons/include/G4AntiNeutrinoE.hh b/source/particles/leptons/include/G4AntiNeutrinoE.hh index b7e93f541e..a816b9d520 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoE.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoE.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoE.hh,v 1.8 2001/10/28 05:05:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoE.hh,v 1.9 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -75,7 +75,6 @@ class G4AntiNeutrinoE : public G4VLepton static G4AntiNeutrinoE* AntiNeutrinoEDefinition(); static G4AntiNeutrinoE* AntiNeutrinoE(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4AntiNeutrinoMu.hh b/source/particles/leptons/include/G4AntiNeutrinoMu.hh index 95cc71213a..5f56289c2f 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoMu.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoMu.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoMu.hh,v 1.8 2001/10/28 05:05:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoMu.hh,v 1.9 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -75,7 +75,6 @@ class G4AntiNeutrinoMu : public G4VLepton static G4AntiNeutrinoMu* AntiNeutrinoMuDefinition(); static G4AntiNeutrinoMu* AntiNeutrinoMu(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4AntiNeutrinoTau.hh b/source/particles/leptons/include/G4AntiNeutrinoTau.hh index 0ae3d7cdbc..291a8b512a 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoTau.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoTau.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoTau.hh,v 1.8 2001/10/28 05:05:28 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoTau.hh,v 1.9 2002/12/16 11:15:41 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4AntiNeutrinoTau : public G4VLepton static G4AntiNeutrinoTau* AntiNeutrinoTauDefinition(); static G4AntiNeutrinoTau* AntiNeutrinoTau(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4Electron.hh b/source/particles/leptons/include/G4Electron.hh index a6d915a295..fe5a57c2ca 100644 --- a/source/particles/leptons/include/G4Electron.hh +++ b/source/particles/leptons/include/G4Electron.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Electron.hh,v 1.7 2001/10/16 08:16:15 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Electron.hh,v 1.8 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -57,16 +57,6 @@ class G4Electron : public G4VLepton private: static G4Electron theElectron; - protected: - G4double ComputeLoss(G4double AtomicNumber, G4double KineticEnergy) const; - void BuildRangeVector( - const G4Material* aMaterial, - const G4LossTable* aLossTable, - G4double maxEnergy, - G4double aMass, - G4RangeVector* rangeVector - ); - private: //hide constructor as private G4Electron( const G4String& aName, G4double mass, diff --git a/source/particles/leptons/include/G4LeptonConstructor.hh b/source/particles/leptons/include/G4LeptonConstructor.hh index aaaeb99378..8a8b6bfbbc 100644 --- a/source/particles/leptons/include/G4LeptonConstructor.hh +++ b/source/particles/leptons/include/G4LeptonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4LeptonConstructor.hh,v 1.3 2001/07/11 10:01:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/leptons/include/G4MuonMinus.hh b/source/particles/leptons/include/G4MuonMinus.hh index 908c70ac1e..df9837e220 100644 --- a/source/particles/leptons/include/G4MuonMinus.hh +++ b/source/particles/leptons/include/G4MuonMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4MuonMinus.hh,v 1.7 2001/10/16 08:16:15 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4MuonPlus.hh b/source/particles/leptons/include/G4MuonPlus.hh index 32bab6ac8d..e5d8425269 100644 --- a/source/particles/leptons/include/G4MuonPlus.hh +++ b/source/particles/leptons/include/G4MuonPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4MuonPlus.hh,v 1.7 2001/10/16 08:16:15 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4NeutrinoE.hh b/source/particles/leptons/include/G4NeutrinoE.hh index 5982988671..9d8649460c 100644 --- a/source/particles/leptons/include/G4NeutrinoE.hh +++ b/source/particles/leptons/include/G4NeutrinoE.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoE.hh,v 1.8 2001/10/28 05:05:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoE.hh,v 1.9 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -75,7 +75,6 @@ class G4NeutrinoE : public G4VLepton static G4NeutrinoE* NeutrinoEDefinition(); static G4NeutrinoE* NeutrinoE(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4NeutrinoMu.hh b/source/particles/leptons/include/G4NeutrinoMu.hh index 6d4f066441..025b85858a 100644 --- a/source/particles/leptons/include/G4NeutrinoMu.hh +++ b/source/particles/leptons/include/G4NeutrinoMu.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoMu.hh,v 1.8 2001/10/28 05:05:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoMu.hh,v 1.9 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -74,7 +74,6 @@ class G4NeutrinoMu : public G4VLepton static G4NeutrinoMu* NeutrinoMuDefinition(); static G4NeutrinoMu* NeutrinoMu(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4NeutrinoTau.hh b/source/particles/leptons/include/G4NeutrinoTau.hh index 8677a07cde..a609e06c5c 100644 --- a/source/particles/leptons/include/G4NeutrinoTau.hh +++ b/source/particles/leptons/include/G4NeutrinoTau.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoTau.hh,v 1.8 2001/10/28 05:05:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoTau.hh,v 1.9 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,7 +73,6 @@ class G4NeutrinoTau : public G4VLepton static G4NeutrinoTau* NeutrinoTauDefinition(); static G4NeutrinoTau* NeutrinoTau(); - virtual void CalcEnergyCuts( const G4Material* ); }; #endif diff --git a/source/particles/leptons/include/G4Positron.hh b/source/particles/leptons/include/G4Positron.hh index 25fd226e23..43897e0cd9 100644 --- a/source/particles/leptons/include/G4Positron.hh +++ b/source/particles/leptons/include/G4Positron.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Positron.hh,v 1.7 2001/10/16 08:16:16 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Positron.hh,v 1.8 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -60,25 +60,6 @@ class G4Positron : public G4VLepton private: static G4Positron thePositron; - protected: - G4double ComputeLoss(G4double AtomicNumber, G4double KineticEnergy) const; - - void BuildRangeVector( const G4Material* aMaterial, - const G4LossTable* aLossTable, - G4double maxEnergy, - G4double aMass, - G4RangeVector* rangeVector - ); - - friend void G4Electron::BuildRangeVector( - const G4Material* aMaterial, - const G4LossTable* aLossTable, - G4double maxEnergy, - G4double aMass, - G4RangeVector* rangeVector - ); - - private: //hide constructor as private G4Positron( const G4String& aName, G4double mass, diff --git a/source/particles/leptons/include/G4TauMinus.hh b/source/particles/leptons/include/G4TauMinus.hh index 9ebb63fccb..69a9a89b18 100644 --- a/source/particles/leptons/include/G4TauMinus.hh +++ b/source/particles/leptons/include/G4TauMinus.hh @@ -22,7 +22,7 @@ // // // $Id: G4TauMinus.hh,v 1.7 2001/10/16 08:16:16 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4TauPlus.hh b/source/particles/leptons/include/G4TauPlus.hh index 89cfdca2c9..c6be72ef3b 100644 --- a/source/particles/leptons/include/G4TauPlus.hh +++ b/source/particles/leptons/include/G4TauPlus.hh @@ -22,7 +22,7 @@ // // // $Id: G4TauPlus.hh,v 1.7 2001/10/16 08:16:16 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4VLepton.hh b/source/particles/leptons/include/G4VLepton.hh index 4097fd0de5..ee48ec1873 100644 --- a/source/particles/leptons/include/G4VLepton.hh +++ b/source/particles/leptons/include/G4VLepton.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VLepton.hh,v 1.3 2001/07/11 10:01:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VLepton.hh,v 1.4 2003/03/11 05:49:40 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -42,9 +42,9 @@ #include "G4Material.hh" #include "G4PhysicsLogVector.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" -class G4VLepton : public G4ParticleWithCuts +class G4VLepton : public G4ParticleDefinition { // A virtual class for Leptons particles. It defines // public methods which describe the behavior of a @@ -73,7 +73,7 @@ class G4VLepton : public G4ParticleWithCuts G4bool stable, G4double lifetime, G4DecayTable *decaytable) - : G4ParticleWithCuts(aName, mass, width, charge, iSpin, iParity, + : G4ParticleDefinition(aName, mass, width, charge, iSpin, iParity, iConjugation, iIsospin, iIsospinZ, gParity, pType, lepton, baryon, encoding, stable, lifetime, decaytable) {}; diff --git a/source/particles/leptons/src/G4AntiNeutrinoE.cc b/source/particles/leptons/src/G4AntiNeutrinoE.cc index 6aabe8ef8d..fe7406d9bb 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoE.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoE.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoE.cc,v 1.10 2001/10/28 05:05:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoE.cc,v 1.11 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,14 +84,4 @@ G4AntiNeutrinoE* G4AntiNeutrinoE::AntiNeutrinoE() { return &theAntiNeutrinoE; } -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -void G4AntiNeutrinoE::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); -} diff --git a/source/particles/leptons/src/G4AntiNeutrinoMu.cc b/source/particles/leptons/src/G4AntiNeutrinoMu.cc index a5d43186fe..eb1384ba6f 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoMu.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoMu.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoMu.cc,v 1.10 2001/10/28 05:05:29 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoMu.cc,v 1.11 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -88,14 +88,3 @@ G4AntiNeutrinoMu* G4AntiNeutrinoMu::AntiNeutrinoMu() return &theAntiNeutrinoMu; } -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4AntiNeutrinoMu::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); -} diff --git a/source/particles/leptons/src/G4AntiNeutrinoTau.cc b/source/particles/leptons/src/G4AntiNeutrinoTau.cc index b7af6aeb8d..4957328ea2 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoTau.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoTau.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutrinoTau.cc,v 1.10 2001/10/28 05:05:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4AntiNeutrinoTau.cc,v 1.11 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -88,15 +88,3 @@ G4AntiNeutrinoTau* G4AntiNeutrinoTau::AntiNeutrinoTau() return &theAntiNeutrinoTau; } -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4AntiNeutrinoTau::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); - -} diff --git a/source/particles/leptons/src/G4Electron.cc b/source/particles/leptons/src/G4Electron.cc index 522ae5d2e0..a1da61c70c 100644 --- a/source/particles/leptons/src/G4Electron.cc +++ b/source/particles/leptons/src/G4Electron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Electron.cc,v 1.7 2001/10/16 08:16:17 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Electron.cc,v 1.8 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,124 +84,6 @@ G4Electron G4Electron::theElectron( G4Electron* G4Electron::ElectronDefinition(){return &theElectron;} -// ********************************************************************** -// ************************* ComputeLoss ******************************** -// ********************************************************************** -G4double G4Electron::ComputeLoss(G4double AtomicNumber, - G4double KineticEnergy) const -{ - static G4double Z; - static G4double taul, ionpot, ionpotlog; - const G4double cbr1=0.02, cbr2=-5.7e-5, cbr3=1., cbr4=0.072; - const G4double Tlow=10.*keV, Thigh=1.*GeV; - - static G4double bremfactor= 0.1 ; - - // calculate dE/dx for electrons - if( abs(AtomicNumber-Z)>0.1 ) - { - Z = AtomicNumber; - taul = Tlow/GetPDGMass(); - ionpot = 1.6e-5*MeV*exp(0.9*log(Z))/GetPDGMass(); - ionpotlog = log(ionpot); - } - - - G4double tau = KineticEnergy/GetPDGMass(); - G4double dEdx; - - if(tauGetElementVector(); - const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4int NumEl = aMaterial->GetNumberOfElements(); - - // calculate parameters of the low energy part first - G4int i; - G4double loss=0.; - for (i=0; iGetIndex(); - loss += atomicNumDensityVector[i]* - (*aLossTable)[IndEl]->GetValue(tlim,isOut); - } - G4double taulim = tlim/aMass; - G4double clim = sqrt(taulim)*loss; - G4double taumax = maxEnergy/aMass; - - // now the range vector can be filled - - for ( i=0; iGetLowEdgeEnergy(i); - G4double tau = LowEdgeEnergy/aMass; - - if ( tau <= taulim ) { - G4double Value = 2.*aMass*tau*sqrt(tau)/(3.*clim); - rangeVector->PutValue(i,Value); - } else { - G4double rangelim = 2.*aMass*taulim*sqrt(taulim)/(3.*clim); - G4double ltaulow = log(taulim); - G4double ltauhigh = log(tau); - G4double ltaumax = log(taumax); - G4int nbin = G4int(maxnbint*(ltauhigh-ltaulow)/(ltaumax-ltaulow)); - if( nbin < 1 ) nbin = 1; - G4double Value = RangeLogSimpson(elementVector, atomicNumDensityVector, - aLossTable, aMass, - ltaulow, ltauhigh, - nbin, NumEl) + rangelim; - rangeVector->PutValue(i,Value); - } - } -} - G4Electron* G4Electron::Electron() { return &theElectron; diff --git a/source/particles/leptons/src/G4LeptonConstructor.cc b/source/particles/leptons/src/G4LeptonConstructor.cc index d36c9baa5b..a883b623fe 100644 --- a/source/particles/leptons/src/G4LeptonConstructor.cc +++ b/source/particles/leptons/src/G4LeptonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4LeptonConstructor.cc,v 1.3 2001/07/11 10:01:53 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4MuonMinus.cc b/source/particles/leptons/src/G4MuonMinus.cc index d312a369e1..94a3d4709a 100644 --- a/source/particles/leptons/src/G4MuonMinus.cc +++ b/source/particles/leptons/src/G4MuonMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4MuonMinus.cc,v 1.7 2001/10/16 08:16:17 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4MuonPlus.cc b/source/particles/leptons/src/G4MuonPlus.cc index 165dd77956..2aa66d96d7 100644 --- a/source/particles/leptons/src/G4MuonPlus.cc +++ b/source/particles/leptons/src/G4MuonPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4MuonPlus.cc,v 1.7 2001/10/16 08:16:18 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4NeutrinoE.cc b/source/particles/leptons/src/G4NeutrinoE.cc index a209feb081..0a8a2f650c 100644 --- a/source/particles/leptons/src/G4NeutrinoE.cc +++ b/source/particles/leptons/src/G4NeutrinoE.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoE.cc,v 1.10 2001/10/28 05:05:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoE.cc,v 1.11 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -81,18 +81,3 @@ G4NeutrinoE G4NeutrinoE::theNeutrinoE( G4NeutrinoE* G4NeutrinoE::NeutrinoEDefinition() {return &theNeutrinoE;} G4NeutrinoE* G4NeutrinoE::NeutrinoE() {return &theNeutrinoE;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4NeutrinoE::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); - -} - - - diff --git a/source/particles/leptons/src/G4NeutrinoMu.cc b/source/particles/leptons/src/G4NeutrinoMu.cc index ac0227dfc9..0f4ca84cb7 100644 --- a/source/particles/leptons/src/G4NeutrinoMu.cc +++ b/source/particles/leptons/src/G4NeutrinoMu.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoMu.cc,v 1.10 2001/10/28 05:05:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoMu.cc,v 1.12 2002/12/16 14:06:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -88,14 +88,3 @@ G4NeutrinoMu* G4NeutrinoMu::NeutrinoMu() return &theNeutrinoMu; } -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** -void G4NeutrinoMu::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); -} - diff --git a/source/particles/leptons/src/G4NeutrinoTau.cc b/source/particles/leptons/src/G4NeutrinoTau.cc index e2c1b1aec9..886364fe6e 100644 --- a/source/particles/leptons/src/G4NeutrinoTau.cc +++ b/source/particles/leptons/src/G4NeutrinoTau.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutrinoTau.cc,v 1.10 2001/10/28 05:05:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutrinoTau.cc,v 1.11 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -81,14 +81,3 @@ G4NeutrinoTau G4NeutrinoTau::theNeutrinoTau( G4NeutrinoTau* G4NeutrinoTau::NeutrinoTauDefinition(){return &theNeutrinoTau;} G4NeutrinoTau* G4NeutrinoTau::NeutrinoTau(){return &theNeutrinoTau;} -// ********************************************************************** -// **************************** SetCuts ********************************* -// ********************************************************************** - -void G4NeutrinoTau::CalcEnergyCuts( const G4Material* ) -{ - - - // Set Energy Cut values to lowest for all materials - SetEnergyCutValues(0.0*keV); -} diff --git a/source/particles/leptons/src/G4Positron.cc b/source/particles/leptons/src/G4Positron.cc index 9cdf55b3af..7c231c8b72 100644 --- a/source/particles/leptons/src/G4Positron.cc +++ b/source/particles/leptons/src/G4Positron.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Positron.cc,v 1.6 2001/10/16 08:16:18 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Positron.cc,v 1.7 2002/12/16 11:15:42 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -84,83 +84,6 @@ G4Positron G4Positron::thePositron( G4Positron* G4Positron::PositronDefinition() {return &thePositron;} -// ********************************************************************** -// ************************* ComputeLoss ******************************** -// ********************************************************************** - -G4double G4Positron::ComputeLoss(G4double AtomicNumber, - G4double KineticEnergy) const -{ - static G4double Z; - static G4double taul, ionpot, ionpotlog; - const G4double cbr1=0.02, cbr2=-5.7e-5, cbr3=1., cbr4=0.072; - const G4double Tlow=10.*keV, Thigh=1.*GeV; - static G4double bremfactor = 0.1 ; - - // calculate dE/dx for electrons - if( abs(AtomicNumber-Z)>0.1 ) - { - Z = AtomicNumber; - taul = Tlow/GetPDGMass(); - ionpot = 1.6e-5*MeV*exp(0.9*log(Z))/GetPDGMass(); - ionpotlog = log(ionpot); - } - - - G4double tau = KineticEnergy/GetPDGMass(); - G4double dEdx; - - if(tauBuildRangeVector(aMaterial, - aLossTable, - maxEnergy, - aMass, - rangeVector); -} - G4Positron* G4Positron::Positron() { return &thePositron; diff --git a/source/particles/leptons/src/G4TauMinus.cc b/source/particles/leptons/src/G4TauMinus.cc index 506f0c2865..e27ed12aa0 100644 --- a/source/particles/leptons/src/G4TauMinus.cc +++ b/source/particles/leptons/src/G4TauMinus.cc @@ -22,7 +22,7 @@ // // // $Id: G4TauMinus.cc,v 1.8 2002/03/08 08:48:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4TauPlus.cc b/source/particles/leptons/src/G4TauPlus.cc index 78b668821f..4ececb7f9b 100644 --- a/source/particles/leptons/src/G4TauPlus.cc +++ b/source/particles/leptons/src/G4TauPlus.cc @@ -22,7 +22,7 @@ // // // $Id: G4TauPlus.cc,v 1.8 2002/03/08 08:48:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4VLepton.cc b/source/particles/leptons/src/G4VLepton.cc index 09dd81c29e..edf06789f2 100644 --- a/source/particles/leptons/src/G4VLepton.cc +++ b/source/particles/leptons/src/G4VLepton.cc @@ -22,7 +22,7 @@ // // // $Id: G4VLepton.cc,v 1.3 2001/07/11 10:01:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/management/GNUmakefile b/source/particles/management/GNUmakefile index dc7b468ba6..a170eb27d7 100644 --- a/source/particles/management/GNUmakefile +++ b/source/particles/management/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.4 2000/10/24 13:36:51 gcosmo Exp $ +# $Id: GNUmakefile,v 1.5 2002/12/16 11:15:43 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for particle management library. G.Cosmo, 4/4/97. # ---------------------------------------------------------------- @@ -16,6 +16,7 @@ CPPFLAGS += \ -I$(G4BASE)/global/HEPRandom/include \ -I$(G4BASE)/global/HEPGeometry/include \ -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/geometry/management/include \ -I$(G4BASE)/materials/include diff --git a/source/particles/management/include/G4DalitzDecayChannel.hh b/source/particles/management/include/G4DalitzDecayChannel.hh index fc57a59e72..712811b3ed 100644 --- a/source/particles/management/include/G4DalitzDecayChannel.hh +++ b/source/particles/management/include/G4DalitzDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4DalitzDecayChannel.hh,v 1.4 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayProducts.hh b/source/particles/management/include/G4DecayProducts.hh index 834fb53950..29c4776bf4 100644 --- a/source/particles/management/include/G4DecayProducts.hh +++ b/source/particles/management/include/G4DecayProducts.hh @@ -22,7 +22,7 @@ // // // $Id: G4DecayProducts.hh,v 1.8 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayTable.hh b/source/particles/management/include/G4DecayTable.hh index 2916fca85a..7cf9d0f0da 100644 --- a/source/particles/management/include/G4DecayTable.hh +++ b/source/particles/management/include/G4DecayTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4DecayTable.hh,v 1.7 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayTableMessenger.hh b/source/particles/management/include/G4DecayTableMessenger.hh index 8eae34538a..aa1a1e83a8 100644 --- a/source/particles/management/include/G4DecayTableMessenger.hh +++ b/source/particles/management/include/G4DecayTableMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4DecayTableMessenger.hh,v 1.6 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4DynamicParticle.hh b/source/particles/management/include/G4DynamicParticle.hh index 3812045305..cdab016680 100644 --- a/source/particles/management/include/G4DynamicParticle.hh +++ b/source/particles/management/include/G4DynamicParticle.hh @@ -22,7 +22,7 @@ // // // $Id: G4DynamicParticle.hh,v 1.11 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DynamicParticle.icc b/source/particles/management/include/G4DynamicParticle.icc index 11a3f0a954..9fb15d13db 100644 --- a/source/particles/management/include/G4DynamicParticle.icc +++ b/source/particles/management/include/G4DynamicParticle.icc @@ -22,7 +22,7 @@ // // // $Id: G4DynamicParticle.icc,v 1.8 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DynamicParticleFastVector.hh b/source/particles/management/include/G4DynamicParticleFastVector.hh index bff9770c8a..1535d21a6f 100644 --- a/source/particles/management/include/G4DynamicParticleFastVector.hh +++ b/source/particles/management/include/G4DynamicParticleFastVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4DynamicParticleFastVector.hh,v 1.3 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ElectronOccupancy.hh b/source/particles/management/include/G4ElectronOccupancy.hh index ba7366e8b3..d33436b965 100644 --- a/source/particles/management/include/G4ElectronOccupancy.hh +++ b/source/particles/management/include/G4ElectronOccupancy.hh @@ -22,7 +22,7 @@ // // // $Id: G4ElectronOccupancy.hh,v 1.5 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4IonTable.hh b/source/particles/management/include/G4IonTable.hh index b99d8a89a1..65556e34e0 100644 --- a/source/particles/management/include/G4IonTable.hh +++ b/source/particles/management/include/G4IonTable.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.hh,v 1.18 2001/07/11 10:01:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IonTable.hh,v 1.19 2003/03/10 08:43:51 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -160,9 +160,6 @@ class G4IonTable void AddProcessManager(const G4String& ionName); // Add process manager to ions with name of 'ionName' - void SetCuts(G4ParticleDefinition* ion); - // Set cut value same as "GenericIon" and build physics tables - G4int GetVerboseLevel() const; // get Verbose Level defined in G4ParticleTable diff --git a/source/particles/management/include/G4Ions.hh b/source/particles/management/include/G4Ions.hh index 54060f4bf8..a58634428a 100644 --- a/source/particles/management/include/G4Ions.hh +++ b/source/particles/management/include/G4Ions.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Ions.hh,v 1.9 2001/10/15 09:58:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Ions.hh,v 1.10 2003/03/11 05:49:41 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -40,13 +40,13 @@ #include "globals.hh" #include "G4ios.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" // ###################################################################### // ### Ions ### // ###################################################################### -class G4Ions : public G4ParticleWithCuts +class G4Ions : public G4ParticleDefinition { // Class Description // All nuclei/ions created on the fly are objects of this class diff --git a/source/particles/management/include/G4IsotopeProperty.hh b/source/particles/management/include/G4IsotopeProperty.hh index ad5b82b66a..48674923b3 100644 --- a/source/particles/management/include/G4IsotopeProperty.hh +++ b/source/particles/management/include/G4IsotopeProperty.hh @@ -22,7 +22,7 @@ // // // $Id: G4IsotopeProperty.hh,v 1.3 2001/07/11 10:01:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4KL3DecayChannel.hh b/source/particles/management/include/G4KL3DecayChannel.hh index 172ebc0da9..352ccc43cb 100644 --- a/source/particles/management/include/G4KL3DecayChannel.hh +++ b/source/particles/management/include/G4KL3DecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4KL3DecayChannel.hh,v 1.4 2001/07/11 10:01:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4MaterialCutsCouple.hh b/source/particles/management/include/G4MaterialCutsCouple.hh new file mode 100644 index 0000000000..d5c84d45c5 --- /dev/null +++ b/source/particles/management/include/G4MaterialCutsCouple.hh @@ -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. * +// ******************************************************************** +// +// +// $Id: G4MaterialCutsCouple.hh,v 1.4 2003/04/10 02:51:18 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is +// +// ------------------------------------------------------------ +// First Implementation 17 Sep. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4MaterialCutsCouple_h +#define G4MaterialCutsCouple_h 1 + +#include "globals.hh" +#include "G4ios.hh" + +class G4Material; +#include "G4ProductionCuts.hh" + +class G4MaterialCutsCouple +{ + public: // with description + // constructor + G4MaterialCutsCouple(); + G4MaterialCutsCouple(const G4Material*, G4ProductionCuts* cut=0); + + // copy constructor + G4MaterialCutsCouple(const G4MaterialCutsCouple &right); + + G4MaterialCutsCouple & operator=(const G4MaterialCutsCouple &right); + + public: + // destructor + virtual ~G4MaterialCutsCouple(); + + // equal opperators + G4int operator==(const G4MaterialCutsCouple &right) const; + G4int operator!=(const G4MaterialCutsCouple &right) const; + + public: // with description + void SetMaterial(const G4Material*); + // Set pointer to material + + const G4Material* GetMaterial() const; + // Get pointer to material + + void SetProductionCuts(G4ProductionCuts*); + // Set pointer to production cuts + + G4ProductionCuts* GetProductionCuts() const; + // Get pointer to production cuts + + G4bool IsRecalcNeeded() const; + // return true if cut and/or material has been modified + // after last calculation of PhysicsTable + + void PhysicsTableUpdated(); + // inform end of calculation of PhysicsTable + + void SetIndex(G4int idx); + G4int GetIndex() const; + // Set/Get the index number in G4ProductionCutsTable + + void SetUseFlag(G4bool flg=true); + G4bool IsUsed() const; + + private: + G4bool isMaterialModified; + const G4Material* fMaterial; + G4ProductionCuts* fCuts; + G4int indexNumber; + G4bool isUsedInGeometry; +}; + +#include "G4ProductionCuts.hh" +inline + void G4MaterialCutsCouple::SetIndex(G4int idx) +{ indexNumber = idx; } + +inline + G4int G4MaterialCutsCouple::GetIndex() const +{ return indexNumber; } + +inline + void G4MaterialCutsCouple::SetUseFlag(G4bool flg) +{ isUsedInGeometry = flg; } + +inline + G4bool G4MaterialCutsCouple::IsUsed() const +{ return isUsedInGeometry; } + +inline + void G4MaterialCutsCouple::SetProductionCuts(G4ProductionCuts* aCut) +{ fCuts = aCut; } + +inline + G4ProductionCuts* G4MaterialCutsCouple::GetProductionCuts() const +{ return fCuts; } + +inline + G4int G4MaterialCutsCouple::operator==(const G4MaterialCutsCouple &right) const +{ + return (this == &right); +} + +inline + G4int G4MaterialCutsCouple::operator!=(const G4MaterialCutsCouple &right) const +{ + return (this != &right); +} + +inline + void G4MaterialCutsCouple::SetMaterial(const G4Material* material) +{ + fMaterial = material; + isMaterialModified = true; +} + +inline + const G4Material* G4MaterialCutsCouple::GetMaterial() const +{ + return fMaterial; +} + +inline +G4bool G4MaterialCutsCouple::IsRecalcNeeded() const +{ + G4bool isCutModified = false; + if (fCuts !=0 ) isCutModified = fCuts->IsModified(); + return (isMaterialModified || isCutModified); +} + +inline +void G4MaterialCutsCouple::PhysicsTableUpdated() +{ + if (fCuts !=0 ) fCuts->PhysicsTableUpdated(); + isMaterialModified = false; +} + + +#endif + + + + + + diff --git a/source/particles/management/include/G4MuonDecayChannel.hh b/source/particles/management/include/G4MuonDecayChannel.hh index 1e6852dfea..e3e07e44a3 100644 --- a/source/particles/management/include/G4MuonDecayChannel.hh +++ b/source/particles/management/include/G4MuonDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4MuonDecayChannel.hh,v 1.5 2001/07/11 10:01:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NeutronBetaDecayChannel.hh b/source/particles/management/include/G4NeutronBetaDecayChannel.hh index 67b9975331..ac07981feb 100644 --- a/source/particles/management/include/G4NeutronBetaDecayChannel.hh +++ b/source/particles/management/include/G4NeutronBetaDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronBetaDecayChannel.hh,v 1.1 2001/09/18 02:15:10 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NucleiProperties.hh b/source/particles/management/include/G4NucleiProperties.hh index 0cc29d6a1a..d54041bae9 100644 --- a/source/particles/management/include/G4NucleiProperties.hh +++ b/source/particles/management/include/G4NucleiProperties.hh @@ -22,7 +22,7 @@ // // // $Id: G4NucleiProperties.hh,v 1.13 2001/10/16 08:16:19 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NucleiPropertiesTable.hh b/source/particles/management/include/G4NucleiPropertiesTable.hh index 4e41c45bf6..7e7888e589 100644 --- a/source/particles/management/include/G4NucleiPropertiesTable.hh +++ b/source/particles/management/include/G4NucleiPropertiesTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4NucleiPropertiesTable.hh,v 1.10 2001/10/15 09:58:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1997 diff --git a/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh b/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh index 6068415c48..913832c2a4 100644 --- a/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh +++ b/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.5 2001/10/15 09:58:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4PDGCodeChecker.hh b/source/particles/management/include/G4PDGCodeChecker.hh index 3c7b39513c..7f75d3370f 100644 --- a/source/particles/management/include/G4PDGCodeChecker.hh +++ b/source/particles/management/include/G4PDGCodeChecker.hh @@ -22,7 +22,7 @@ // // // $Id: G4PDGCodeChecker.hh,v 1.6 2001/07/11 10:01:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleDefinition.hh b/source/particles/management/include/G4ParticleDefinition.hh index f5035c735b..216cdb9d1d 100644 --- a/source/particles/management/include/G4ParticleDefinition.hh +++ b/source/particles/management/include/G4ParticleDefinition.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.hh,v 1.12 2001/10/15 09:58:30 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleDefinition.hh,v 1.18 2003/04/11 11:48:39 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -44,6 +44,7 @@ // fixed some improper codings H.Kurashige 08 Apr. 1999 // added sub-type H.Kurashige 15 Feb. 2000 // added RestoreCuts H.Kurashige 09 Mar. 2001 +// restructuring for Cuts per Region by Hisaya 11 MAr.2003 // ------------------------------------------------------------ #ifndef G4ParticleDefinition_h @@ -97,34 +98,21 @@ class G4ParticleDefinition virtual ~G4ParticleDefinition(); - public: // With Description - // These methods concerning cut values are provided - // to invoke corresponding methods for each particle type. - // Actual implementation can be seen in the class - // G4ParticleWithCuts - virtual void SetCuts(G4double ); - virtual void SetRangeCut(G4double ,const G4Material*); - virtual void SetRangeCutVector(G4std::vector&); - - virtual G4double* GetEnergyCuts() const; - virtual G4double GetEnergyThreshold(const G4Material* ) const; - - virtual G4double* GetLengthCuts() const; - virtual G4double GetRangeThreshold(const G4Material* ) const; - - virtual void ResetCuts(); - virtual void ReCalcCuts(); - - // applyCuts flag - G4bool GetApplyCutsFlag() const; - void SetApplyCutsFlag(G4bool flag); - - public: - // This method concerning cut values is supposed to be used by - // G4VUserPhysicsList to restore cutvalues witout calculation - // Actual implementation can be seen in the class G4ParticleWithCuts - virtual void RestoreCuts(const G4double* cutInLength, - const G4double* cutInEnergy ){} + public: + // These methods concerning cut values are obsolete + // virtual void SetCuts(G4double ); + // virtual void SetRangeCut(G4double ,const G4Material*); + // virtual void SetRangeCutVector(G4std::vector&); + // virtual G4double* GetEnergyCuts() const; + // virtual G4double GetEnergyThreshold(const G4Material* ) const ; + // virtual G4double* GetLengthCuts() const; + // virtual G4double GetRangeThreshold(const G4Material* ) const; + // virtual void ResetCuts(); + // virtual void ReCalcCuts(); + // G4bool GetApplyCutsFlag() const; + // void SetApplyCutsFlag(G4bool flag); + // virtual void RestoreCuts(const G4double* cutInLength, + // const G4double* cutInEnergy ){} public: // With Description @@ -321,12 +309,37 @@ class G4ParticleDefinition G4ParticleTable* theParticleTable; - // ApplyCuts flag - G4bool fApplyCutsFlag; - - private: G4int verboseLevel; + + private: + G4bool fApplyCutsFlag; + public: + + void SetApplyCutsFlag(G4bool); + G4bool GetApplyCutsFlag() const; + + public: // With Description + // Following methods are moved from G4ParticleWithCuts class + // for keeping backward compatibility. These methods are obsolete + // and will be completely removed away in near future. + void SetCuts(G4double aCut); + // Set the range of aCut for all materials + void SetRangeCut(G4double aCut, const G4Material*); + // Set the cut range of aCut for a material + void SetRangeCutVector(G4std::vector&); + // Set the vector of range cuts for all material + + G4double* GetLengthCuts() const; + // Get an array of range cuts for all materials + G4double GetRangeThreshold(const G4Material* ) const; + // Get a range cut for a material + G4double* GetEnergyCuts() const; + // Get an array of energy cuts for all materials + G4double GetEnergyThreshold(const G4Material* ) const; + // Get a energy cut for a material + + static void SetEnergyRange(G4double lowedge, G4double highedge); }; #include "G4ParticleDefinition.icc" diff --git a/source/particles/management/include/G4ParticleDefinition.icc b/source/particles/management/include/G4ParticleDefinition.icc index 865e05028d..a6b27d5183 100644 --- a/source/particles/management/include/G4ParticleDefinition.icc +++ b/source/particles/management/include/G4ParticleDefinition.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.icc,v 1.1 2001/10/15 09:58:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleDefinition.icc,v 1.4 2003/04/11 11:48:39 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // inline @@ -43,17 +43,6 @@ inline theDecayTable = aDecayTable; } -inline - void G4ParticleDefinition::SetApplyCutsFlag(G4bool flag) -{ - fApplyCutsFlag = flag; -} - -inline - G4bool G4ParticleDefinition::GetApplyCutsFlag() const -{ - return fApplyCutsFlag; -} inline void G4ParticleDefinition::SetVerboseLevel(G4int value) @@ -112,42 +101,17 @@ inline { theParticleSubType = subtype; } - -inline - void G4ParticleDefinition::ResetCuts(){} - -inline - void G4ParticleDefinition::SetCuts(G4double ){} - -inline - void G4ParticleDefinition::SetRangeCut(G4double, const G4Material*){} - -inline - void G4ParticleDefinition::SetRangeCutVector(G4std::vector&){} - -inline - void G4ParticleDefinition::ReCalcCuts(){} - -inline - G4double* G4ParticleDefinition::GetLengthCuts() const {return 0;} - -inline - G4double G4ParticleDefinition::GetRangeThreshold(const G4Material* ) const -{ - return -1.0 * mm; -} - -inline - G4double* G4ParticleDefinition::GetEnergyCuts() const {return 0;} - -inline - G4double G4ParticleDefinition::GetEnergyThreshold(const G4Material* ) const -{ - return -1.0 * eV; -} inline void G4ParticleDefinition::SetAntiPDGEncoding(G4int aEncoding) { theAntiPDGEncoding = aEncoding; } + +inline +G4bool G4ParticleDefinition::GetApplyCutsFlag() const +{ + return fApplyCutsFlag; +} + + diff --git a/source/particles/management/include/G4ParticleMessenger.hh b/source/particles/management/include/G4ParticleMessenger.hh index a8c3afd849..2c4e35b6ac 100644 --- a/source/particles/management/include/G4ParticleMessenger.hh +++ b/source/particles/management/include/G4ParticleMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleMessenger.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4ParticleMomentum.hh b/source/particles/management/include/G4ParticleMomentum.hh index d07ee2dc30..f09afd5938 100644 --- a/source/particles/management/include/G4ParticleMomentum.hh +++ b/source/particles/management/include/G4ParticleMomentum.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleMomentum.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticlePropertyMessenger.hh b/source/particles/management/include/G4ParticlePropertyMessenger.hh index 06201dc3cf..e12e7e6ac6 100644 --- a/source/particles/management/include/G4ParticlePropertyMessenger.hh +++ b/source/particles/management/include/G4ParticlePropertyMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticlePropertyMessenger.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4ParticleTable.hh b/source/particles/management/include/G4ParticleTable.hh index 96445d8e50..1798d7a1fa 100644 --- a/source/particles/management/include/G4ParticleTable.hh +++ b/source/particles/management/include/G4ParticleTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleTable.hh,v 1.15 2001/07/11 10:01:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleTable.icc b/source/particles/management/include/G4ParticleTable.icc index 816d723d2b..f0aceef315 100644 --- a/source/particles/management/include/G4ParticleTable.icc +++ b/source/particles/management/include/G4ParticleTable.icc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleTable.icc,v 1.8 2001/07/11 10:01:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleTableIterator.hh b/source/particles/management/include/G4ParticleTableIterator.hh index 6ac8da10a7..4697a567a6 100644 --- a/source/particles/management/include/G4ParticleTableIterator.hh +++ b/source/particles/management/include/G4ParticleTableIterator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleTableIterator.hh,v 1.5 2001/07/11 10:01:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleWithCuts.hh b/source/particles/management/include/G4ParticleWithCuts.hh index a92b0a0004..2ddb862192 100644 --- a/source/particles/management/include/G4ParticleWithCuts.hh +++ b/source/particles/management/include/G4ParticleWithCuts.hh @@ -1,4 +1,3 @@ -// // ******************************************************************** // * DISCLAIMER * // * * @@ -21,254 +20,31 @@ // ******************************************************************** // // -// $Id: G4ParticleWithCuts.hh,v 1.14 2001/10/30 20:08:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleWithCuts.hh,v 1.17 2003/03/17 00:51:03 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -// ------------------------------------------------------------ +// -------------------------------------------------------- // GEANT 4 class header file // // History: // first implementation, based on object model of Hisaya Kurashige, -// 21 Oct 1996 // calculation of Range Table is based on implementeation for Muon // by L.Urban, 10 May 1996 // added RestoreCuts H.Kurashige 09 Mar. 2001 // introduced material dependent range cuts 08 Sep. 2001 +// restructuring for Cuts per Region by Hisaya 07 Oct.2002 +// change to dummy class by Hisaya 11 MAr.2003 // ---------------------------------------------------------------- // Class Description -// "theCutInMaxInteractionLength", for charged particles, is -// coincident with a cut in stopping range; for neutral -// particles it corresponds to the distance allowed by -// the total cross section. -// "theKineticEnergyCuts" is the vector of cuts in kinetic -// energy (a value per material); it is allocated/computed -// in the specific SetCuts method. -// void SetCuts(G4double aCut): -// Sets the cuts values relative to this particle type in stopping -// range (or absorption length) and converts those cuts into energy cuts -// for all the materials defined in the Material table. -// It also triggers the recomputation of the physics tables of the -// void SetRangeCut(G4double aCut, const G4Material*): -// Set a cut value in range for the specified material and converts -// it into an energy cut. -// void ReCalcCuts(): -// Re calculate energy cut values with the previous cut value in range -// void ResetCuts(): -// Reset alll cut values in energy, though theCutInMaxInteractionLength -// remains unchanged -// const G4double* GetLengthCuts(): -// Returns an array of cuts in range (ordered per material) -// G4double GetRangeThreshold(const G4Material* ) const: -// Returns a range cut for a material -// const G4double* GetEnergyCuts(): -// Returns an array of energy cuts (ordered per material) -// G4double GetEnergyThreshold(const G4Material* ) const: -// Returns a energy cut for a material +// Dummy to be removed in future // #ifndef G4ParticleWithCuts_h #define G4ParticleWithCuts_h 1 +#include "G4ParticleDefinition.hh" -#include "globals.hh" -#include "g4std/vector" -#include "G4ios.hh" -#include "G4ParticleDefinition.hh" - -#include "G4PhysicsTable.hh" -#include "G4Element.hh" -#include "G4Material.hh" -class G4PhysicsLogVector; - - -class G4ParticleWithCuts : public G4ParticleDefinition -{ - public: - G4ParticleWithCuts(const G4String& aName, - G4double mass, - G4double width, - G4double charge, - G4int iSpin, - G4int iParity, - G4int iConjugation, - G4int iIsospin, - G4int iIsospinZ, - G4int gParity, - const G4String& pType, - G4int lepton, - G4int baryon, - G4int encoding, - G4bool stable, - G4double lifetime, - G4DecayTable *decaytable, - G4bool resonance = false); - virtual ~G4ParticleWithCuts(); - - //--------------for SetCuts------------------------------------------- - protected: - G4double* theCutInMaxInteractionLength; - G4double* theKineticEnergyCuts; - - public: // With Description - // G4ParticleWithCuts - // virtual methods derived from G4ParticleDefinition - - // Set Cuts methods - virtual void SetCuts(G4double aCut); - // Set the range of aCut for all materials - virtual void SetRangeCut(G4double aCut, const G4Material*); - // Set the cut range of aCut for a material - virtual void SetRangeCutVector(G4std::vector&); - // Set the vector of range cuts for all material - - // Get cuts methods - virtual G4double* GetLengthCuts() const; - // Get an array of range cuts for all materials - virtual G4double GetRangeThreshold(const G4Material* ) const; - // Get a range cut for a material - virtual G4double* GetEnergyCuts() const; - // Get an array of energy cuts for all materials - virtual G4double GetEnergyThreshold(const G4Material* ) const; - // Get a energy cut for a material - - // Other methods related with cuts - virtual void ResetCuts(); - // Reset alll cut values in energy - // but theCutInMaxInteractionLength remain unchanged - virtual void ReCalcCuts(); - // Set cut values in energy derived from theCutInMaxInteractionLength - - // set energy range - static void SetEnergyRange(G4double lowedge, G4double highedge) ; - - public: // With Description - // This method concerning cut values is supposed to be used by - // G4VUserPhysicsList to restore cutvalues witout calculation - - virtual void RestoreCuts(const G4double* cutInLength, - const G4double* cutInEnergy ); - - protected: - void SetCutInMaxInteractionLength(G4double aCut); - // Set a value of theCutInMaxInteractionLength for all materials - void SetCutInMaxInteractionLength(G4double aCut , G4int matrialIndex); - // Set a value of theCutInMaxInteractionLength for a material - void SetCutInMaxInteractionLength(G4double aCut , - const G4Material* aMaterial); - // Set a value of theCutInMaxInteractionLength for a material - void SetEnergyCutValues(G4double energyCuts); - // Set a energy cut value for all materials - - virtual void CalcEnergyCuts(const G4Material* material=0); - // Calculate energy cut values by using range cuts - - // BuildPhysicsTable is defined as a dummy routine - void BuildPhysicsTable() {}; - - protected: - // cut values for proton is used for all heavy charged particles - static G4ParticleDefinition* theProton; - G4bool UseProtonCut(); - - G4bool CheckEnergyBinSetting() const; - - //-------------- Loss Table ------------------------------------------ - // theLossTable is a collection of loss vectors for all elements. - // Each loss vector has energy loss values (cross section values - // for neutral particles) which are calculated by - // ComputeLoss(G4double AtomicNumber,G4double KineticEnergy). - - protected: - typedef G4PhysicsTable G4LossTable; - G4LossTable* theLossTable; - G4int NumberOfElements; - - typedef G4PhysicsLogVector G4LossVector; - static G4double LowestEnergy, HighestEnergy; - G4int TotBin; - - protected: - virtual void BuildLossTable(); - virtual G4double ComputeLoss(G4double AtomicNumber, - G4double KineticEnergy - ) const; - -//-------------- Range Table ------------------------------------------ - protected: - typedef G4PhysicsLogVector G4RangeVector; - virtual void BuildRangeVector(const G4Material* aMaterial, - const G4LossTable* aLossTable, - G4double maxEnergy, - G4double aMass, - G4RangeVector* rangeVector); - - protected: - G4double ConvertCutToKineticEnergy( - G4RangeVector* theRangeVector, - size_t materialIndex - ) const; - - static G4double RangeLinSimpson( - const G4ElementVector* elementVector, - const G4double* atomicNumDensityVector, - const G4LossTable* aLossTable, - G4double aMass, - G4double taulow, G4double tauhigh, - G4int nbin, G4int NumEl - ); - static G4double RangeLogSimpson( - const G4ElementVector* elementVector, - const G4double* atomicNumDensityVector, - const G4LossTable* aLossTable, - G4double aMass, - G4double ltaulow, G4double ltauhigh, - G4int nbin, G4int NumEl - ); - -}; - -inline G4double* G4ParticleWithCuts::GetLengthCuts() const -{ - return theCutInMaxInteractionLength; -} - -inline G4double* G4ParticleWithCuts::GetEnergyCuts() const -{ - return theKineticEnergyCuts; -} - -inline void G4ParticleWithCuts::ResetCuts() -{ - if(theKineticEnergyCuts) delete [] theKineticEnergyCuts; - theKineticEnergyCuts = 0; -} - -inline void G4ParticleWithCuts::ReCalcCuts() -{ - if (theCutInMaxInteractionLength != 0) { - CalcEnergyCuts(); - } else { - if (GetVerboseLevel()>0) { - G4cout << "G4ParticleWithCuts::ReCalcCuts() :"; - G4cout << "theCutInMaxInteractionLength is not defined " << G4endl; - } - } -} - -#include "G4Material.hh" - -inline - G4double G4ParticleWithCuts::GetEnergyThreshold(const G4Material* aMaterial) const -{ - return theKineticEnergyCuts[aMaterial->GetIndex()]; -} - -inline - G4double G4ParticleWithCuts::GetRangeThreshold(const G4Material* aMaterial) const -{ - return theCutInMaxInteractionLength[aMaterial->GetIndex()]; -} - +typedef G4ParticleDefinition G4ParticleWithCuts; #endif @@ -280,3 +56,5 @@ inline + + diff --git a/source/particles/management/include/G4PhaseSpaceDecayChannel.hh b/source/particles/management/include/G4PhaseSpaceDecayChannel.hh index 05f05ba977..84a6d442df 100644 --- a/source/particles/management/include/G4PhaseSpaceDecayChannel.hh +++ b/source/particles/management/include/G4PhaseSpaceDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhaseSpaceDecayChannel.hh,v 1.5 2001/10/15 09:58:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ProductionCuts.hh b/source/particles/management/include/G4ProductionCuts.hh new file mode 100644 index 0000000000..439035cefe --- /dev/null +++ b/source/particles/management/include/G4ProductionCuts.hh @@ -0,0 +1,228 @@ +// +// ******************************************************************** +// * 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: G4ProductionCuts.hh,v 1.8 2003/04/10 02:51:18 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is +// +// ------------------------------------------------------------ +// First Implementation 17 Sep. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4ProductionCuts_h +#define G4ProductionCuts_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" +#include "G4ParticleDefinition.hh" + +enum G4ProductionCutsIndex +{ + idxG4GammaCut =0, + idxG4ElectronCut, + idxG4PositronCut, + + NumberOfG4CutIndex +}; + +class G4ProductionCuts +{ + public: // with description + // constructor + G4ProductionCuts(); + + // copy constructor + G4ProductionCuts(const G4ProductionCuts &right); + + G4ProductionCuts & operator=(const G4ProductionCuts &right); + + public: + // destructor + virtual ~G4ProductionCuts(); + + // equal opperators + G4int operator==(const G4ProductionCuts &right) const; + G4int operator!=(const G4ProductionCuts &right) const; + + public: // with description + // Set Cuts methods + void SetProductionCut(G4double cut, G4int index = -1); + void SetProductionCut(G4double cut, G4ParticleDefinition* ptcl); + // Set the productionCut in range with an index to particle type + // if index is omitted, the value is applied to all particles + + G4double GetProductionCut(G4int index) const; + // Get the productionCut in range with an index to particle type + + G4double GetProductionCut(const G4String& name) const; + // Get the productionCut in range with a name of particle type + + void SetProductionCuts(G4std::vector&); + // Set the vector of production cuts in range for all particles + + const G4std::vector& GetProductionCuts() const; + // Get the vector of production cuts in range for all particles + + G4bool IsModified() const; + // return true if any cut value has been modified + // after last calculation of PhysicsTable + + void PhysicsTableUpdated(); + // inform end of calculation of PhysicsTable to ProductionCut + + public: + static G4int GetIndex(const G4String& name); + static G4int GetIndex(const G4ParticleDefinition* ptcl); + + protected: + G4std::vector fRangeCuts; + G4bool isModified; + + private: + static const G4ParticleDefinition* gammaDef; + static const G4ParticleDefinition* electDef; + static const G4ParticleDefinition* positDef; +}; + + +inline +G4int G4ProductionCuts::GetIndex(const G4String& name) +{ + G4int index; + if ( name == "gamma" ) { index = 0; } + else if ( name == "e-" ) { index = 1; } + else if ( name == "e+" ) { index = 2; } + else { index = -1; } + + return index; +} + +inline +G4int G4ProductionCuts::GetIndex(const G4ParticleDefinition* ptcl) +{ + if(!ptcl) return -1; + if(gammaDef==0 && ptcl->GetParticleName()=="gamma") { gammaDef = ptcl; } + if(electDef==0 && ptcl->GetParticleName()=="e-") { electDef = ptcl; } + if(positDef==0 && ptcl->GetParticleName()=="e+") { positDef = ptcl; } + G4int index; + if(ptcl==gammaDef) { index = 0; } + else if(ptcl==electDef) { index = 1; } + else if(ptcl==positDef) { index = 2; } + else { index = -1; } + + return index; +} + +inline +void G4ProductionCuts::SetProductionCut(G4double cut, G4int index) +{ + if (index<0) { + for(G4int i = 0; i < NumberOfG4CutIndex; i++) { + fRangeCuts[i] = cut; + } + isModified = true; + + } else if (index < NumberOfG4CutIndex) { + fRangeCuts[index] = cut; + isModified = true; + } +} + +inline +void G4ProductionCuts::SetProductionCut(G4double cut, G4ParticleDefinition* ptcl) +{ + G4int idx = -1; + if(ptcl) idx = GetIndex(ptcl); + if(idx>=0) SetProductionCut(cut,idx); +} + +inline +G4double G4ProductionCuts::GetProductionCut(G4int index) const +{ + G4double cut=-1.0; + if ( (index>=0) && (index& cut) +{ + for(G4int i = 0; (i& G4ProductionCuts::GetProductionCuts() const +{ + return fRangeCuts; +} + +inline +G4bool G4ProductionCuts::IsModified() const +{ + return isModified; +} + +inline +void G4ProductionCuts::PhysicsTableUpdated() +{ + isModified = false; +} + + + + + + + + +#endif + + + + + + + + + + + diff --git a/source/particles/management/include/G4ProductionCutsTable.hh b/source/particles/management/include/G4ProductionCutsTable.hh new file mode 100644 index 0000000000..947ebca3b2 --- /dev/null +++ b/source/particles/management/include/G4ProductionCutsTable.hh @@ -0,0 +1,309 @@ +// +// ******************************************************************** +// * 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: G4ProductionCutsTable.hh,v 1.7 2003/04/10 02:51:18 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// ------------------------------------------------------------ +// First Implementation 05 Oct. 2002 M.Asai +// ------------------------------------------------------------ + +#ifndef G4ProductionCutsTable_h +#define G4ProductionCutsTable_h 1 + +class G4RegionStore; +class G4VRangeToEnergyConverter; +class G4LogicalVolume; +class G4ProductionCuts; + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" +#include "G4MaterialCutsCouple.hh" +#include "G4Region.hh" + + +class G4ProductionCutsTable +{ + // Class Description + // G4ProductionCutsTable is a static singleton class of a table of + // G4ProductionCuts objects. This class also manages tables of + // production cut and energy cut for each particle type. + + public: // with description + static G4ProductionCutsTable* GetProductionCutsTable(); + // This static method returns the singleton pointer of this class object. + // At the first invokation of this method, the singleton object is instantiated. + + protected: + G4ProductionCutsTable(); + private: + G4ProductionCutsTable(const G4ProductionCutsTable& right); + + public: + virtual ~G4ProductionCutsTable(); + + public: // with description + void UpdateCoupleTable(); + // This method triggers an update of the table of G4ProductionCuts objects. + + void SetEnergyRange(G4double lowedge, G4double highedge); + // This method sets the limits of energy cuts for all particles. + + G4double GetLowEdgeEnergy() const; + G4double GetHighEdgeEnergy() const; + // These methods get the limits of energy cuts for all particles. + + void DumpCouples() const; + // Display a list of registored couples + + private: + + static G4ProductionCutsTable* fG4ProductionCutsTable; + + typedef G4std::vector G4CoupleTable; + typedef G4std::vector::const_iterator CoupleTableIterator; + typedef G4std::vector G4CutVectorForAParticle; + typedef G4std::vector G4CutTable; + G4CoupleTable coupleTable; + G4CutTable rangeCutTable; + G4CutTable energyCutTable; + + G4RegionStore* fG4RegionStore; + G4VRangeToEnergyConverter* converters[NumberOfG4CutIndex]; + + G4ProductionCuts* defaultProductionCuts; + G4bool firstUse; + +// These two vectors are for the backward comparibility + G4double* rangeDoubleVector[NumberOfG4CutIndex]; + G4double* energyDoubleVector[NumberOfG4CutIndex]; + + public: + const G4std::vector* GetRangeCutsVector(size_t pcIdx) const; + const G4std::vector* GetEnergyCutsVector(size_t pcIdx) const; + +// These two vectors are for the backward comparibility + G4double* GetRangeCutsDoubleVector(size_t pcIdx) const; + G4double* GetEnergyCutsDoubleVector(size_t pcIdx) const; + + public: // with description + size_t GetTableSize() const; + // This method returns the size of the couple table. + + const G4MaterialCutsCouple* GetMaterialCutsCouple(G4int i) const; + // This method returns the pointer to the couple. + + const G4MaterialCutsCouple* + GetMaterialCutsCouple(const G4Material* aMat, + const G4ProductionCuts* aCut) const; + // This method returns the pointer to the couple. + + G4int GetCoupleIndex(const G4MaterialCutsCouple* aCouple) const; + G4int GetCoupleIndex(const G4Material* aMat, + const G4ProductionCuts* aCut) const; + // These methods return the index of the couple. + // -1 is returned if index is not found. + + G4bool IsModified() const; + // This method returns TRUE if at least one production cut value is modified. + + void PhysicsTableUpdated(); + // This method resets the status of IsModified(). This method must + // be exclusively used by RunManager when physics tables are built. + + G4ProductionCuts* GetDefaultProductionCuts() const; + // This method returns the default production cuts. + + private: + void ScanAndSetCouple(G4LogicalVolume* aLV, + G4MaterialCutsCouple* aCouple, + G4Region* aRegion); + + bool IsCoupleUsedInTheRegion(const G4MaterialCutsCouple* aCouple, + const G4Region* aRegion) const; + + public: // with description + // Store cuts and material information in files under the specified directory. + G4bool StoreCutsTable(const G4String& directory, + G4bool ascii = false); + + // Retrieve cuts values information in files under the specified directory. + G4bool RetrieveCutsTable(const G4String& directory, + G4bool ascii = false); + + // check stored material and cut values are consistent with the current detector setup. + G4bool CheckForRetrieveCutsTable(const G4String& directory, + G4bool ascii = false); + + protected: + + // Store material information in files under the specified directory. + virtual G4bool StoreMaterialInfo(const G4String& directory, + G4bool ascii = false); + + // check stored material is consistent with the current detector setup. + virtual G4bool CheckMaterialInfo(const G4String& directory, + G4bool ascii = false); + + // Store materialCutsCouple information in files under the specified directory. + virtual G4bool StoreMaterialCutsCoupleInfo(const G4String& directory, + G4bool ascii = false); + // check stored materialCutsCouple is consistent with the current detector setup. + virtual G4bool CheckMaterialCutsCoupleInfo(const G4String& directory, + G4bool ascii = false); + + // Store cut values information in files under the specified directory. + virtual G4bool StoreCutsInfo(const G4String& directory, + G4bool ascii = false); + + // Retrieve cut values information in files under the specified directory. + virtual G4bool RetrieveCutsInfo(const G4String& directory, + G4bool ascii = false); + + private: + enum { FixedStringLengthForStore = 32 }; + +}; + +inline + const G4std::vector* G4ProductionCutsTable::GetRangeCutsVector(size_t pcIdx) const +{ + return rangeCutTable[pcIdx]; +} + +inline + const G4std::vector* G4ProductionCutsTable::GetEnergyCutsVector(size_t pcIdx) const +{ + return energyCutTable[pcIdx]; +} + +inline + size_t G4ProductionCutsTable::GetTableSize() const +{ + return coupleTable.size(); +} + +inline + const G4MaterialCutsCouple* G4ProductionCutsTable::GetMaterialCutsCouple(G4int i) const +{ + return coupleTable[size_t(i)]; +} + +inline + G4bool G4ProductionCutsTable::IsModified() const +{ + if(firstUse) return true; + for(G4ProductionCutsTable::CoupleTableIterator itr=coupleTable.begin(); + itr!=coupleTable.end();itr++){ + if((*itr)->IsRecalcNeeded()) + { + return true; + } + } + return false; +} + +inline + void G4ProductionCutsTable::PhysicsTableUpdated() +{ + for(G4ProductionCutsTable::CoupleTableIterator itr=coupleTable.begin();itr!=coupleTable.end();itr++){ + (*itr)->PhysicsTableUpdated(); + } +} + +inline + G4double* G4ProductionCutsTable::GetRangeCutsDoubleVector(size_t pcIdx) const +{ return rangeDoubleVector[pcIdx]; } + +inline + G4double* G4ProductionCutsTable::GetEnergyCutsDoubleVector(size_t pcIdx) const +{ return energyDoubleVector[pcIdx]; } + +inline + G4ProductionCuts* G4ProductionCutsTable::GetDefaultProductionCuts() const +{ return defaultProductionCuts; } + +inline +bool G4ProductionCutsTable::IsCoupleUsedInTheRegion( + const G4MaterialCutsCouple* aCouple, + const G4Region* aRegion) const +{ + G4ProductionCuts* fProductionCut = aRegion->GetProductionCuts(); + G4std::vector::const_iterator mItr = aRegion->GetMaterialIterator(); + size_t nMaterial = aRegion->GetNumberOfMaterials(); + for(size_t iMate=0;iMateGetMaterial()==(*mItr) && + aCouple->GetProductionCuts()==fProductionCut){ + return true; + } + } + return false; +} + +inline +const G4MaterialCutsCouple* + G4ProductionCutsTable::GetMaterialCutsCouple(const G4Material* aMat, + const G4ProductionCuts* aCut) const +{ + for(CoupleTableIterator cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++) + { + if((*cItr)->GetMaterial()!=aMat) continue; + if((*cItr)->GetProductionCuts()==aCut) return (*cItr); + } + return 0; +} + +inline +G4int G4ProductionCutsTable::GetCoupleIndex(const G4MaterialCutsCouple* aCouple) const +{ + G4int idx = 0; + for(CoupleTableIterator cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++) + { + if((*cItr)==aCouple) return idx; + idx++; + } + return -1; +} + +inline +G4int G4ProductionCutsTable:: GetCoupleIndex(const G4Material* aMat, + const G4ProductionCuts* aCut) const +{ + const G4MaterialCutsCouple* aCouple = GetMaterialCutsCouple(aMat,aCut); + return GetCoupleIndex(aCouple); +} + + +#endif + + + + + + diff --git a/source/particles/management/include/G4RToEConvForAntiNeutron.hh b/source/particles/management/include/G4RToEConvForAntiNeutron.hh new file mode 100644 index 0000000000..67e4a633f9 --- /dev/null +++ b/source/particles/management/include/G4RToEConvForAntiNeutron.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForAntiNeutron.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for anti Neutron. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForAntiNeutron_h +#define G4RToEConvForAntiNeutron_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForAntiNeutron : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForAntiNeutron(); + + public: + // destructor + virtual ~G4RToEConvForAntiNeutron(); + + + // calculate energy cut from given range cut for the material + virtual G4double Convert(G4double rangeCut, const G4Material* material); + +}; + +inline + G4double G4RToEConvForAntiNeutron::Convert(G4double , const G4Material* ) +{ + // reutrn lowest energy + return LowestEnergy; +} +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForAntiProton.hh b/source/particles/management/include/G4RToEConvForAntiProton.hh new file mode 100644 index 0000000000..44263c37cd --- /dev/null +++ b/source/particles/management/include/G4RToEConvForAntiProton.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForAntiProton.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for anti proton. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForAntiProton_h +#define G4RToEConvForAntiProton_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForAntiProton : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForAntiProton(); + + public: + // destructor + virtual ~G4RToEConvForAntiProton(); + + +}; + + +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForElectron.hh b/source/particles/management/include/G4RToEConvForElectron.hh new file mode 100644 index 0000000000..52154701ef --- /dev/null +++ b/source/particles/management/include/G4RToEConvForElectron.hh @@ -0,0 +1,83 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForElectron.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for electron. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForElectron_h +#define G4RToEConvForElectron_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForElectron : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForElectron(); + + public: + // destructor + virtual ~G4RToEConvForElectron(); + + protected: + virtual G4double ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy + ) const; + + //-------------- Range Table ------------------------------------------ + virtual void BuildRangeVector(const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector); + + +}; + + +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForGamma.hh b/source/particles/management/include/G4RToEConvForGamma.hh new file mode 100644 index 0000000000..e3e777372f --- /dev/null +++ b/source/particles/management/include/G4RToEConvForGamma.hh @@ -0,0 +1,115 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForGamma.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for gamma. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForGamma_h +#define G4RToEConvForGamma_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForGamma : public G4VRangeToEnergyConverter +{ + public: // with description + // constructor + G4RToEConvForGamma(); + + public: + // destructor + virtual ~G4RToEConvForGamma(); + + public: // with description + // calculate energy cut from given range cut for the material + // virtual G4double convert(G4double rangeCut, const G4Material* material); + + protected: + virtual G4double ComputeLoss( G4double AtomicNumber, + G4double KineticEnergy + ) const; + + //-------------- Range Table ------------------------------------------ + virtual void BuildRangeVector( const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector); + + typedef G4LossTable G4CrossSectionTable; + void BuildAbsorptionLengthVector( const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector); + + G4double ComputeCrossSection( G4double AtomicNumber, + G4double KineticEnergy + ) const; + + +}; + +inline + G4double G4RToEConvForGamma::ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy) const +{ + return ComputeCrossSection(AtomicNumber,KineticEnergy); +} + +inline + void G4RToEConvForGamma::BuildRangeVector( + const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector) +{ + BuildAbsorptionLengthVector(aMaterial, maxEnergy, aMass, rangeVector); +} + + + +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForNeutron.hh b/source/particles/management/include/G4RToEConvForNeutron.hh new file mode 100644 index 0000000000..c44a28a8a2 --- /dev/null +++ b/source/particles/management/include/G4RToEConvForNeutron.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForNeutron.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for Neutron. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForNeutron_h +#define G4RToEConvForNeutron_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForNeutron : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForNeutron(); + + public: + // destructor + virtual ~G4RToEConvForNeutron(); + + // calculate energy cut from given range cut for the material + virtual G4double Convert(G4double rangeCut, const G4Material* material); + +}; + +inline + G4double G4RToEConvForNeutron::Convert(G4double , const G4Material* ) +{ + // reutrn lowest energy + return LowestEnergy; +} +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForPositron.hh b/source/particles/management/include/G4RToEConvForPositron.hh new file mode 100644 index 0000000000..d8218851d6 --- /dev/null +++ b/source/particles/management/include/G4RToEConvForPositron.hh @@ -0,0 +1,83 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForPositron.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for positron. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForPositron_h +#define G4RToEConvForPositron_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForPositron : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForPositron(); + + public: + // destructor + virtual ~G4RToEConvForPositron(); + + protected: + virtual G4double ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy + ) const; + + //-------------- Range Table ------------------------------------------ + virtual void BuildRangeVector(const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector); + + +}; + + +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4RToEConvForProton.hh b/source/particles/management/include/G4RToEConvForProton.hh new file mode 100644 index 0000000000..0b30ea10d1 --- /dev/null +++ b/source/particles/management/include/G4RToEConvForProton.hh @@ -0,0 +1,73 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForProton.hh,v 1.2 2002/12/16 11:15:43 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is a Range to Energy Converter for proton. +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4RToEConvForProton_h +#define G4RToEConvForProton_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4VRangeToEnergyConverter.hh" + + +class G4RToEConvForProton : public G4VRangeToEnergyConverter +{ + public: + // constructor + G4RToEConvForProton(); + + public: + // destructor + virtual ~G4RToEConvForProton(); + + + +}; + + +#endif + + + + + + + + + diff --git a/source/particles/management/include/G4ShortLivedTable.hh b/source/particles/management/include/G4ShortLivedTable.hh index d2139fee6e..de47ca7a4d 100644 --- a/source/particles/management/include/G4ShortLivedTable.hh +++ b/source/particles/management/include/G4ShortLivedTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShortLivedTable.hh,v 1.10 2001/07/11 10:01:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4TauLeptonicDecayChannel.hh b/source/particles/management/include/G4TauLeptonicDecayChannel.hh index 85362c4d9e..499a6cde91 100644 --- a/source/particles/management/include/G4TauLeptonicDecayChannel.hh +++ b/source/particles/management/include/G4TauLeptonicDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4TauLeptonicDecayChannel.hh,v 1.1 2002/03/08 08:47:52 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VDecayChannel.hh b/source/particles/management/include/G4VDecayChannel.hh index e078fece2c..194e4e0bef 100644 --- a/source/particles/management/include/G4VDecayChannel.hh +++ b/source/particles/management/include/G4VDecayChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VDecayChannel.hh,v 1.10 2002/11/20 15:05:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VIsotopeTable.hh b/source/particles/management/include/G4VIsotopeTable.hh index 98a92d258e..db445bdbb1 100644 --- a/source/particles/management/include/G4VIsotopeTable.hh +++ b/source/particles/management/include/G4VIsotopeTable.hh @@ -22,7 +22,7 @@ // // // $Id: G4VIsotopeTable.hh,v 1.5 2001/07/11 10:01:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VRangeToEnergyConverter.hh b/source/particles/management/include/G4VRangeToEnergyConverter.hh new file mode 100644 index 0000000000..370a522e2a --- /dev/null +++ b/source/particles/management/include/G4VRangeToEnergyConverter.hh @@ -0,0 +1,179 @@ +// +// ******************************************************************** +// * 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: G4VRangeToEnergyConverter.hh,v 1.3 2003/01/07 23:52:24 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// +// Class Description +// This class is base class for Range to Energy Converters. +// Cut in energy corresponding to given cut value in range +// is calculated for a material by using Convert method +// +// ------------------------------------------------------------ +// First Implementation 5 Oct. 2002 H.Kurahige +// ------------------------------------------------------------ + +#ifndef G4VRangeToEnergyConverter_h +#define G4VRangeToEnergyConverter_h 1 + +#include "globals.hh" +#include "G4ios.hh" +#include "g4std/vector" + +#include "G4ParticleDefinition.hh" + +#include "G4PhysicsTable.hh" +#include "G4Element.hh" +#include "G4Material.hh" +class G4PhysicsLogVector; + +class G4VRangeToEnergyConverter +{ + public: // with description + // constructor + G4VRangeToEnergyConverter(); + + // copy constructor + G4VRangeToEnergyConverter(const G4VRangeToEnergyConverter &right); + + G4VRangeToEnergyConverter & operator=(const G4VRangeToEnergyConverter &right); + + public: + // destructor + virtual ~G4VRangeToEnergyConverter(); + + // equal opperators + G4int operator==(const G4VRangeToEnergyConverter &right) const; + G4int operator!=(const G4VRangeToEnergyConverter &right) const; + + public: // with description + // calculate energy cut from given range cut for the material + virtual G4double Convert(G4double rangeCut, const G4Material* material); + + // set energy range for all particle type + static void SetEnergyRange(G4double lowedge, G4double highedge); + + // get energy range for all particle type + static G4double GetLowEdgeEnergy(); + static G4double GetHighEdgeEnergy(); + + // return pointer to the particle type which this converter takes care + const G4ParticleDefinition* GetParticleType() const; + + // return the Loss Table + const G4PhysicsTable* GetLossTable() const; + //-------------- Loss Table ------------------------------------------ + // theLossTable is a collection of loss vectors for all elements. + // Each loss vector has energy loss values (cross section values + // for neutral particles) which are calculated by + // ComputeLoss(G4double AtomicNumber,G4double KineticEnergy). + + protected: + static G4double LowestEnergy, HighestEnergy; + + const G4ParticleDefinition* theParticle; + typedef G4PhysicsTable G4LossTable; + G4LossTable* theLossTable; + G4int NumberOfElements; + + typedef G4PhysicsLogVector G4LossVector; + G4int TotBin; + + protected:// with description + virtual void BuildLossTable(); + + virtual G4double ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy + ) const; + + //-------------- Range Table ------------------------------------------ + protected: + typedef G4PhysicsLogVector G4RangeVector; + virtual void BuildRangeVector(const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector); + + protected: + G4double ConvertCutToKineticEnergy( + G4RangeVector* theRangeVector, + G4double theCutInLength, + size_t materialIndex + ) const; + + G4double RangeLinSimpson( + const G4ElementVector* elementVector, + const G4double* atomicNumDensityVector, + G4double aMass, + G4double taulow, G4double tauhigh, + G4int nbin + ); + + G4double RangeLogSimpson( + const G4ElementVector* elementVector, + const G4double* atomicNumDensityVector, + G4double aMass, + G4double ltaulow, G4double ltauhigh, + G4int nbin + ); + + public: // with description + void SetVerboseLevel(G4int value); + G4int GetVerboseLevel() const; + // controle flag for output message + // 0: Silent + // 1: Warning message + // 2: More + + private: + G4int verboseLevel; + +}; + +inline + void G4VRangeToEnergyConverter::SetVerboseLevel(G4int value) +{ + verboseLevel = value; +} + +inline + G4int G4VRangeToEnergyConverter::GetVerboseLevel() const +{ + return verboseLevel; +} + + +#endif + + + + + + + + diff --git a/source/particles/management/src/G4DalitzDecayChannel.cc b/source/particles/management/src/G4DalitzDecayChannel.cc index a350849cfb..f7301e74ee 100644 --- a/source/particles/management/src/G4DalitzDecayChannel.cc +++ b/source/particles/management/src/G4DalitzDecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4DalitzDecayChannel.cc,v 1.5 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayProducts.cc b/source/particles/management/src/G4DecayProducts.cc index 0837cb3dd3..4ce9771ab9 100644 --- a/source/particles/management/src/G4DecayProducts.cc +++ b/source/particles/management/src/G4DecayProducts.cc @@ -22,7 +22,7 @@ // // // $Id: G4DecayProducts.cc,v 1.9 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayTable.cc b/source/particles/management/src/G4DecayTable.cc index 45af9e5aec..9883688756 100644 --- a/source/particles/management/src/G4DecayTable.cc +++ b/source/particles/management/src/G4DecayTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4DecayTable.cc,v 1.7 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayTableMessenger.cc b/source/particles/management/src/G4DecayTableMessenger.cc index a39530c6a8..5e543f951f 100644 --- a/source/particles/management/src/G4DecayTableMessenger.cc +++ b/source/particles/management/src/G4DecayTableMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4DecayTableMessenger.cc,v 1.4 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4DynamicParticle.cc b/source/particles/management/src/G4DynamicParticle.cc index 0b7bdd62b6..2272efaa86 100644 --- a/source/particles/management/src/G4DynamicParticle.cc +++ b/source/particles/management/src/G4DynamicParticle.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.cc,v 1.11 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4DynamicParticle.cc,v 1.12 2003/03/13 09:59:39 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -360,7 +360,7 @@ void G4DynamicParticle::Set4Momentum(const G4LorentzVector &momentum ) momentum.z()/pModule); G4double totalenergy = momentum.t(); if (totalenergy > pModule) { - G4double mass = sqrt(totalenergy*totalenergy - pModule2); + G4double mass = sqrt(G4std::max(0., totalenergy*totalenergy - pModule2) ); theDynamicalMass = mass; SetKineticEnergy(totalenergy-mass); } else { diff --git a/source/particles/management/src/G4ElectronOccupancy.cc b/source/particles/management/src/G4ElectronOccupancy.cc index 1fdf697652..3287c43791 100644 --- a/source/particles/management/src/G4ElectronOccupancy.cc +++ b/source/particles/management/src/G4ElectronOccupancy.cc @@ -22,7 +22,7 @@ // // // $Id: G4ElectronOccupancy.cc,v 1.6 2001/07/11 10:01:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/management/src/G4IonTable.cc b/source/particles/management/src/G4IonTable.cc index db74805955..31f7c0dec3 100644 --- a/source/particles/management/src/G4IonTable.cc +++ b/source/particles/management/src/G4IonTable.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.cc,v 1.30 2001/10/15 09:58:34 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4IonTable.cc,v 1.33 2003/03/10 08:43:53 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -40,7 +40,7 @@ // Modified GetIon methods 17 Aug. 99 H.Kurashige // New design using G4VIsotopeTable 5 Oct. 99 H.Kurashige // Modified Element Name for Z>103 06 Apr. 01 H.Kurashige - +// Remove test of cuts in SetCuts 16 Jan 03 V.Ivanchenko #include "G4IonTable.hh" #include "G4ParticleTable.hh" @@ -158,7 +158,7 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, G4double E, G4int AddProcessManager(name); // Set cut value same as "GenericIon" - SetCuts(ion); + // SetCuts(ion); if (fProperty !=0) delete fProperty; return ion; @@ -474,50 +474,6 @@ void G4IonTable::AddProcessManager(const G4String& name) } #include "g4std/vector" -///////////////// -void G4IonTable::SetCuts(G4ParticleDefinition* ion) -{ - // Set cut value same as "GenericIon" - G4ParticleDefinition* genericIon=G4ParticleTable::GetParticleTable()->FindParticle("GenericIon"); - if (genericIon == 0) { - G4Exception("G4IonTable::SetCuts : GenericIon is not defined !!"); - } - - if (genericIon->GetEnergyCuts() != 0) { - G4std::vector cuts; - for (size_t j=0; jGetLengthCuts())[j] ); - } - ion->SetRangeCutVector(cuts); - - G4String name = ion->GetParticleName(); - - // Build Physics Tables for the ion - // create command string for buildPhysicsTable - char cmdBld[60]; - G4std::ostrstream osBld(cmdBld,60); - osBld << "/run/particle/buildPhysicsTable "<< name << '\0'; - - // set /control/verbose 0 - G4int tempVerboseLevel = G4UImanager::GetUIpointer()->GetVerboseLevel(); - G4UImanager::GetUIpointer()->SetVerboseLevel(0); - - // issue /run/particle/buildPhysicsTable - G4UImanager::GetUIpointer()->ApplyCommand(cmdBld); - - // retreive /control/verbose - G4UImanager::GetUIpointer()->SetVerboseLevel(tempVerboseLevel); - - } else { -#ifdef G4VERBOSE - if (GetVerboseLevel()> 1) { - G4cout << "G4IonTable::GetIon() : "; - G4cout << " cut value of GenericIon has not be defined yet"; - } -#endif - - } -} //////////////////// void G4IonTable::RegisterIsotopeTable(G4VIsotopeTable* table) diff --git a/source/particles/management/src/G4Ions.cc b/source/particles/management/src/G4Ions.cc index c0a1fb0b91..77e2315568 100644 --- a/source/particles/management/src/G4Ions.cc +++ b/source/particles/management/src/G4Ions.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Ions.cc,v 1.6 2001/07/11 10:02:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Ions.cc,v 1.8 2003/03/11 05:49:41 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- @@ -51,10 +51,11 @@ G4Ions::G4Ions( G4int baryon, G4int encoding, G4bool stable, G4double lifetime, G4DecayTable *decaytable ) - : G4ParticleWithCuts( aName,mass,width,charge,iSpin,iParity, + : G4ParticleDefinition( aName,mass,width,charge,iSpin,iParity, iConjugation,iIsospin,iIsospin3,gParity,pType, lepton,baryon,encoding,stable,lifetime,decaytable ) { + SetParticleSubType("generic"); // initialize excitation energy/level theExcitationEnergy = 0.0; } diff --git a/source/particles/management/src/G4IsotopeProperty.cc b/source/particles/management/src/G4IsotopeProperty.cc index 4c204cbc64..68cc47888d 100644 --- a/source/particles/management/src/G4IsotopeProperty.cc +++ b/source/particles/management/src/G4IsotopeProperty.cc @@ -22,7 +22,7 @@ // // // $Id: G4IsotopeProperty.cc,v 1.3 2001/07/11 10:02:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/management/src/G4KL3DecayChannel.cc b/source/particles/management/src/G4KL3DecayChannel.cc index 5d45a33206..752c93ca02 100644 --- a/source/particles/management/src/G4KL3DecayChannel.cc +++ b/source/particles/management/src/G4KL3DecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4KL3DecayChannel.cc,v 1.5 2001/07/11 10:02:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4MaterialCutsCouple.cc b/source/particles/management/src/G4MaterialCutsCouple.cc new file mode 100644 index 0000000000..b14e5803fa --- /dev/null +++ b/source/particles/management/src/G4MaterialCutsCouple.cc @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * 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: G4MaterialCutsCouple.cc,v 1.4 2003/04/10 02:51:19 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 18 Sep. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4MaterialCutsCouple.hh" +#include "g4std/iomanip" + +#include "G4Material.hh" +#include "G4ProductionCuts.hh" + +G4MaterialCutsCouple::G4MaterialCutsCouple() : + isMaterialModified(false), + fMaterial(0), + fCuts(0), + indexNumber(-1), + isUsedInGeometry(false) +{ +} + +G4MaterialCutsCouple::G4MaterialCutsCouple(const G4Material* material, + G4ProductionCuts* cut) : + isMaterialModified(true), + fMaterial(material), + fCuts(cut), + indexNumber(-1), + isUsedInGeometry(false) +{ +} + + +G4MaterialCutsCouple::G4MaterialCutsCouple(const G4MaterialCutsCouple& right) +{ + *this = right; +} + +G4MaterialCutsCouple::~G4MaterialCutsCouple() +{ +} + +G4MaterialCutsCouple & G4MaterialCutsCouple::operator=(const G4MaterialCutsCouple &right) +{ + if (&right==this) return *this; + + fMaterial = right.fMaterial; + fCuts = right.fCuts; + isMaterialModified = right.isMaterialModified; + indexNumber = right.indexNumber; + isUsedInGeometry = right.isUsedInGeometry; + + return *this; +} + diff --git a/source/particles/management/src/G4MuonDecayChannel.cc b/source/particles/management/src/G4MuonDecayChannel.cc index 989a2837ff..afc91bdf3f 100644 --- a/source/particles/management/src/G4MuonDecayChannel.cc +++ b/source/particles/management/src/G4MuonDecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4MuonDecayChannel.cc,v 1.9 2001/07/11 10:02:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4NeutronBetaDecayChannel.cc b/source/particles/management/src/G4NeutronBetaDecayChannel.cc index e948516a04..b2bcd664a2 100644 --- a/source/particles/management/src/G4NeutronBetaDecayChannel.cc +++ b/source/particles/management/src/G4NeutronBetaDecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronBetaDecayChannel.cc,v 1.4 2002/04/03 09:05:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4NucleiProperties.cc b/source/particles/management/src/G4NucleiProperties.cc index 13cde59032..8065aa123c 100644 --- a/source/particles/management/src/G4NucleiProperties.cc +++ b/source/particles/management/src/G4NucleiProperties.cc @@ -22,7 +22,7 @@ // // // $Id: G4NucleiProperties.cc,v 1.10 2002/05/30 02:13:10 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4NucleiPropertiesTableA.cc b/source/particles/management/src/G4NucleiPropertiesTableA.cc index 0edf2febd2..2cc8ec68c0 100644 --- a/source/particles/management/src/G4NucleiPropertiesTableA.cc +++ b/source/particles/management/src/G4NucleiPropertiesTableA.cc @@ -22,7 +22,7 @@ // // // $Id: G4NucleiPropertiesTableA.cc,v 1.7 2001/10/15 09:58:34 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1997 diff --git a/source/particles/management/src/G4NucleiPropertiesTableB.cc b/source/particles/management/src/G4NucleiPropertiesTableB.cc index 0942581a47..0eb30c8691 100644 --- a/source/particles/management/src/G4NucleiPropertiesTableB.cc +++ b/source/particles/management/src/G4NucleiPropertiesTableB.cc @@ -22,7 +22,7 @@ // // // $Id: G4NucleiPropertiesTableB.cc,v 1.7 2001/10/15 09:58:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/particles/management/src/G4NucleiPropertiesTheoreticalTableA.cc b/source/particles/management/src/G4NucleiPropertiesTheoreticalTableA.cc index c22dc261b2..84434d5290 100644 --- a/source/particles/management/src/G4NucleiPropertiesTheoreticalTableA.cc +++ b/source/particles/management/src/G4NucleiPropertiesTheoreticalTableA.cc @@ -22,7 +22,7 @@ // // // $Id: G4NucleiPropertiesTheoreticalTableA.cc,v 1.4 2001/10/15 09:58:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4PDGCodeChecker.cc b/source/particles/management/src/G4PDGCodeChecker.cc index 98da63b2e6..d2f678188b 100644 --- a/source/particles/management/src/G4PDGCodeChecker.cc +++ b/source/particles/management/src/G4PDGCodeChecker.cc @@ -22,7 +22,7 @@ // // // $Id: G4PDGCodeChecker.cc,v 1.5 2001/07/11 10:02:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/management/src/G4ParticleDefinition.cc b/source/particles/management/src/G4ParticleDefinition.cc index 189a7f1e32..8fb0b9710f 100644 --- a/source/particles/management/src/G4ParticleDefinition.cc +++ b/source/particles/management/src/G4ParticleDefinition.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.cc,v 1.12 2001/07/11 10:02:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleDefinition.cc,v 1.16 2003/04/11 11:48:40 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -96,8 +96,8 @@ G4ParticleDefinition::G4ParticleDefinition( thePDGLifeTime(lifetime), theDecayTable(decaytable), theProcessManager(0), - fApplyCutsFlag(false), - verboseLevel(1) + verboseLevel(1), + fApplyCutsFlag(false) { // check name and register this particle into ParticleTable theParticleTable = G4ParticleTable::GetParticleTable(); @@ -247,13 +247,132 @@ void G4ParticleDefinition::DumpTable() const } } - if ( fApplyCutsFlag ){ - G4cout << " ApplyCuts : ON" << G4endl; - } else { - G4cout << " ApplyCuts : OFF" << G4endl; +} + +void G4ParticleDefinition::SetApplyCutsFlag(G4bool flg) +{ + if(theParticleName=="gamma" + || theParticleName=="e-" + || theParticleName=="e+") + { fApplyCutsFlag = flg; } + else + { + G4cerr + << "G4ParticleDefinition::SetApplyCutsFlag() for " << theParticleName + << G4endl; + G4cerr + << "becomes obsolete. Production threshold is applied only for " + << "gamma, e- and e+." << G4endl; } } +// Following methods are moved from G4ParticleWithCuts class +// for keeping backward compatibility. These methods are obsolete +// and will be completely removed away in near future. + +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCuts.hh" +#include "G4ProductionCutsTable.hh" + +void G4ParticleDefinition::SetCuts(G4double aCut) +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::SetCuts." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4ProductionCuts* defaultCuts + = G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts(); + defaultCuts->SetProductionCut(aCut,this); +} + +void G4ParticleDefinition::SetRangeCut(G4double aCut, const G4Material*) +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::SetRangeCut." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4ProductionCuts* defaultCuts + = G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts(); + defaultCuts->SetProductionCut(aCut,this); +} + +void G4ParticleDefinition::SetRangeCutVector(G4std::vector& vec) +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::SetRangeCutVector." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4ProductionCuts* defaultCuts + = G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts(); + defaultCuts->SetProductionCut(vec[0],this); +} + +G4double* G4ParticleDefinition::GetLengthCuts() const +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::GetLengthCuts." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4int idx = G4ProductionCuts::GetIndex(this); + if(idx<0) return NULL; + return G4ProductionCutsTable::GetProductionCutsTable()->GetRangeCutsDoubleVector(idx); +} + +G4double G4ParticleDefinition::GetRangeThreshold(const G4Material* aMat) const +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::GetLengthThreshold." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4int idx = G4ProductionCuts::GetIndex(this); + if(idx<0) return -1.; + G4ProductionCuts* defaultCuts + = G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts(); + const G4MaterialCutsCouple* materialCutsCouple + = G4ProductionCutsTable::GetProductionCutsTable()->GetMaterialCutsCouple(aMat,defaultCuts); + if(materialCutsCouple==NULL) return -1.; + G4double* vec + = G4ProductionCutsTable::GetProductionCutsTable()->GetRangeCutsDoubleVector(idx); + return vec[materialCutsCouple->GetIndex()]; +} + +G4double* G4ParticleDefinition::GetEnergyCuts() const +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::GetEnergyCuts." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4int idx = G4ProductionCuts::GetIndex(this); + if(idx<0) return NULL; + return G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsDoubleVector(idx); +} + +G4double G4ParticleDefinition::GetEnergyThreshold(const G4Material* aMat) const +{ + G4cerr << "Warning : you invoked G4ParticleDefinition::GetEnergyThreshold." << G4endl; + G4cerr << " This method is obsolete and will be removed soon." << G4endl; + G4cerr << " Use G4ProductionCuts class." << G4endl; + + G4int idx = G4ProductionCuts::GetIndex(this); + if(idx<0) return -1.; + G4ProductionCuts* defaultCuts + = G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts(); + const G4MaterialCutsCouple* materialCutsCouple + = G4ProductionCutsTable::GetProductionCutsTable()->GetMaterialCutsCouple(aMat,defaultCuts); + if(materialCutsCouple==NULL) return -1.; + G4double* vec + = G4ProductionCutsTable::GetProductionCutsTable()->GetEnergyCutsDoubleVector(idx); + return vec[materialCutsCouple->GetIndex()]; +} + +#include "G4VRangeToEnergyConverter.hh" + +void G4ParticleDefinition::SetEnergyRange(G4double lowedge, G4double highedge) +{ + G4VRangeToEnergyConverter::SetEnergyRange(lowedge, highedge); +} + + diff --git a/source/particles/management/src/G4ParticleMessenger.cc b/source/particles/management/src/G4ParticleMessenger.cc index 8906d036eb..ec52e95e74 100644 --- a/source/particles/management/src/G4ParticleMessenger.cc +++ b/source/particles/management/src/G4ParticleMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleMessenger.cc,v 1.6 2001/10/24 18:42:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4ParticlePropertyMessenger.cc b/source/particles/management/src/G4ParticlePropertyMessenger.cc index 7e1bc97dbc..02c05ff4fe 100644 --- a/source/particles/management/src/G4ParticlePropertyMessenger.cc +++ b/source/particles/management/src/G4ParticlePropertyMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticlePropertyMessenger.cc,v 1.5 2002/12/04 18:36:45 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4ParticleTable.cc b/source/particles/management/src/G4ParticleTable.cc index de6be671c8..f4b348e0ee 100644 --- a/source/particles/management/src/G4ParticleTable.cc +++ b/source/particles/management/src/G4ParticleTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleTable.cc,v 1.18 2001/07/11 10:02:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class G4ParticleTable // diff --git a/source/particles/management/src/G4ParticleWithCuts.cc b/source/particles/management/src/G4ParticleWithCuts.cc deleted file mode 100644 index 4667c9f057..0000000000 --- a/source/particles/management/src/G4ParticleWithCuts.cc +++ /dev/null @@ -1,776 +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: G4ParticleWithCuts.cc,v 1.17 2001/10/28 05:08:37 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// -// -------------------------------------------------------------- -// GEANT 4 class implementation file -// -// History: -// first implementation, based on object model of Hisaya Kurashige, -// 21 Oct 1996 -// calculation of Range Table is based on implementeation for Muon -// by L.Urban, 10 May 1996 -// modify CalcEnergyCuts 09 Nov. 1998, L.Urban -// added RestoreCuts H.Kurashige 09 Mar. 2001 -// modify for material-V03-02-02 (STL migration) H.Kurashige 19 Sep. 2001 -// introduced material dependent range cuts 08 Oct. 2001 -// ------------------------------------------------------------ -#include "globals.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ParticleTable.hh" -#include "G4Material.hh" -#include "G4PhysicsLogVector.hh" -#include "G4ios.hh" - -#include "g4std/strstream" - - -// energy range -G4double G4ParticleWithCuts::LowestEnergy = 0.99e-3*MeV; -G4double G4ParticleWithCuts::HighestEnergy = 100.0e6*MeV; - -// pointer to G4Proton -G4ParticleDefinition* G4ParticleWithCuts::theProton = 0; - -G4ParticleWithCuts::G4ParticleWithCuts( - const G4String& aName, - G4double mass, - G4double width, - G4double charge, - G4int iSpin, - G4int iParity, - G4int iConjugation, - G4int iIsospin, - G4int iIsospinZ, - G4int gParity, - const G4String& pType, - G4int lepton, - G4int baryon, - G4int encoding, - G4bool stable, - G4double lifetime, - G4DecayTable *decaytable, - G4bool shortlived) - : G4ParticleDefinition(aName, mass, width, charge, iSpin, iParity, - iConjugation, iIsospin, iIsospinZ, gParity, - pType, lepton, baryon, encoding, stable, - lifetime, decaytable, shortlived), - //-- members initialisation for SetCuts ------------------------------ - theCutInMaxInteractionLength(0), - theKineticEnergyCuts(0), - - theLossTable(0), - NumberOfElements(0) -{ - // -- set ApplyCutsFlag in default ---------- - SetApplyCutsFlag(false); - - //-- default values for SetCuts ------------------------------ - // Lowest/Highest energy is defined in MeV - TotBin = 200; -} - -G4ParticleWithCuts::~G4ParticleWithCuts() -{ - if (theCutInMaxInteractionLength) delete [] theCutInMaxInteractionLength; - if (theKineticEnergyCuts) delete [] theKineticEnergyCuts; - if (theLossTable) delete theLossTable; -} - -// ********************************************************************** -// ************************ RangeLinSimpson ***************************** -// ********************************************************************** - -G4double G4ParticleWithCuts::RangeLinSimpson( - const G4ElementVector* elementVector, - const G4double* atomicNumDensityVector, - const G4LossTable* aLossTable, - G4double aMass, - G4double taulow, G4double tauhigh, - G4int nbin, G4int NumEl) -{ - // Simpson numerical integration, linear binning - G4double dtau = (tauhigh-taulow)/nbin; - G4double Value=0.; - for (G4int i=0; i<=nbin; i++) - { - G4double taui=taulow+dtau*i; - G4double ti=aMass*taui; - G4double lossi=0.; - for (G4int j=0; jGetIndex(); - lossi += atomicNumDensityVector[j]* - (*aLossTable)[IndEl]->GetValue(ti,isOut); - } - if ( i==0 ) - Value += 0.5/lossi; - else { - if ( iGetIndex(); - lossi += atomicNumDensityVector[j]* - (*aLossTable)[IndEl]->GetValue(ti,isOut); - } - if ( i==0 ) - Value += 0.5*taui/lossi; - else { - if ( ireserve(G4Element::GetNumberOfElements()); - -#ifdef G4VERBOSE - if (GetVerboseLevel()>2) { - G4cout << "G4ParticleWithCuts::BuildLossTable() "; - G4cout << "Create theLossTable[" << theLossTable << "]"; - G4cout << " NumberOfElements=" << NumberOfElements <GetParticleName() << "] "; - errOs << " : inconsistent G4Element::GetNumberOfElements =" << G4Element::GetNumberOfElements(); - errOs << " previous value" << NumberOfElements << '\0'; - G4Exception(errMsg); - } - } - - // fill the loss table - for (G4int J=0; JGetZ(), - aVector->GetLowEdgeEnergy(i) - ); - aVector->PutValue(i,Value); - } - theLossTable->insert(aVector); - } -} -// ********************************************************************** -// ****************** ConvertCutToKineticEnergy ************************* -// ********************************************************************** - -G4double - G4ParticleWithCuts::ConvertCutToKineticEnergy(G4RangeVector* rangeVector, - size_t materialIndex - ) const -{ - const G4double epsilon=0.01; - const G4int NBIN=200; - - // find max. range and the corresponding energy (rmax,Tmax) - G4double Tmax=HighestEnergy; - G4double rmax=-1.e10*mm; - - G4double fac=log(HighestEnergy/LowestEnergy)/NBIN; - fac=exp(fac); - G4double T=LowestEnergy/fac; - G4bool isOut; - for (G4int ibin=0; ibinGetValue(T,isOut); - if ( r>rmax ) - { - Tmax=T; - rmax=r; - } - } - - G4double T1 = LowestEnergy; - G4double r1 = rangeVector->GetValue(T1,isOut); - if ( theCutInMaxInteractionLength[materialIndex] <= r1 ) - return T1; - - if ( theCutInMaxInteractionLength[materialIndex] >= rmax ) - { -#ifdef G4VERBOSE - if (GetVerboseLevel()>0) { - G4cout << "Error in G4ParticleWithCuts::ConvertCutToKineticEnergy" <GetValue(T3,isOut); - while ( abs(1.-r3/theCutInMaxInteractionLength[materialIndex])>epsilon ) - { - if ( theCutInMaxInteractionLength[materialIndex] <= r3 ) { - T2 = T3; - } else { - T1 = T3; - } - T3 = sqrt(T1*T2); - r3 = rangeVector->GetValue(T3,isOut); - } - return T3; - } -} - -// ********************************************************************** -// **************************** RestoreCuts ********************************* -// ********************************************************************** - -void G4ParticleWithCuts::RestoreCuts(const G4double* cutInLength, - const G4double* cutInEnergy ) -{ - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - - // Set cut in stopping range - if(theCutInMaxInteractionLength) delete [] theCutInMaxInteractionLength; - theCutInMaxInteractionLength = new G4double [numberOfMaterials]; - - // Restore the vector of cuts in energy corresponding to the range cut - if(theKineticEnergyCuts) delete [] theKineticEnergyCuts; - theKineticEnergyCuts = new G4double [numberOfMaterials]; - for (size_t j=0; jGetPDGCharge() ; - G4bool useProtonCut = - ((GetParticleName() != "gamma" ) && - (GetParticleName() != "e-" ) && - (GetParticleName() != "e+" ) && - (GetParticleName() != "mu-" ) && - (GetParticleName() != "mu+" ) && - (GetParticleName() != "proton" ) && - (GetParticleName() != "anti_proton" ) && - (Charge != 0.) ); - if (!useProtonCut) return false; - - // check if the proton exists or not - if(theProton ==0) { - theProton = G4ParticleTable::GetParticleTable()->FindParticle("proton"); - if (theProton ==0) { -#ifdef G4VERBOSE - if (GetVerboseLevel()>0) { - G4cout << " G4ParticleWithCuts::UseProtonCut "; - G4cout << " proton is not defined !!" << G4endl; - } -#endif - return false; - } - } - - // check if cuts for the proton are defined or not - if (theProton->GetEnergyCuts()==0) { - char errMsg[1024]; - G4std::ostrstream errOs(errMsg,1024); - errOs << " G4ParticleWithCuts::CalcEnergyCuts "; - errOs << " proton energy cut is not defined !!" << '\0'; - G4Exception(errMsg); - } - - G4double* protonCuts = theProton->GetLengthCuts(); - - // check if the cut in range is same as one fro the proton - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - for (size_t J=0; J2) { - G4cout << " G4ParticleWithCuts: [" << GetParticleName() <<"]"; - if ( useProtonCut) { - G4cout << " uses Proton Cut " << G4endl; - } else { - G4cout << " calcurate by using its own loss table " << G4endl; - } - } -#endif - - return useProtonCut; -} - -G4bool G4ParticleWithCuts::CheckEnergyBinSetting() const -{ - // check LowestEnergy/ HighestEnergy/TotBin - if (TotBin<1) { - char errMsg[1024]; - G4std::ostrstream errOs(errMsg,1024); - errOs << "Error in G4ParticlWithCuts::G4ParticlWithCuts" ; - errOs << "[" << this->GetParticleName() << "]"; - errOs << " : not defined or illegal TotBin [" << TotBin << "]" << '\0'; - G4Exception(errMsg); - } - if ( (LowestEnergy<0.0)||(HighestEnergy<=LowestEnergy) ){ - char errMsg[1024]; - G4std::ostrstream errOs(errMsg,1024); - errOs << "Error in G4ParticlWithCuts::G4ParticlWithCuts"; - errOs << "[" << this->GetParticleName() << "]"; - errOs << " : illegal energy range" << "(" << LowestEnergy/GeV; - errOs << "," << HighestEnergy/GeV << ") [GeV]" << '\0'; - G4Exception(errMsg); - } - return true; -} - - -void G4ParticleWithCuts::CalcEnergyCuts(const G4Material* theMaterial) -{ - // check LowestEnergy/ HighestEnergy/TotBin - CheckEnergyBinSetting(); - - // number of materials - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - - // Create the vector of cuts in energy - // corresponding to the stopping range cut - if( !theMaterial) { - if(theKineticEnergyCuts) delete [] theKineticEnergyCuts; - theKineticEnergyCuts = new G4double [numberOfMaterials]; - } else { - if(!theKineticEnergyCuts) theKineticEnergyCuts = new G4double [numberOfMaterials]; - } - - - G4double Charge = this->GetPDGCharge() ; - - G4bool useProtonCut = UseProtonCut(); - - if (useProtonCut) { - // use energy cuts for Proton - G4double ChargeSquare = Charge*Charge/(eplus*eplus) ; - G4double massRatio = proton_mass_c2/(this->GetPDGMass()) ; - - for (size_t J=0; JGetIndex() != J ) continue; - } - - G4double protonEnergyCut = (theProton->GetEnergyCuts())[J] ; - // cut energy is rescaled by using charge and mass ratio - theKineticEnergyCuts[J] = ChargeSquare*protonEnergyCut/massRatio ; - if(theKineticEnergyCuts[J] < LowestEnergy) { - theKineticEnergyCuts[J] = LowestEnergy ; - } - } - } else { - // Build the energy loss table - BuildLossTable(); - - // Build range vector for every material, convert cut into energy-cut, - // fill theKineticEnergyCuts and delete the range vector - G4double tune = 0.025*mm*g/cm3 ,lowen = 30.*keV ; - G4double density ; - const G4MaterialTable * materialTable = G4Material::GetMaterialTable(); - for (size_t J=0; JGetIndex() != J ) continue; - } - - G4RangeVector* rangeVector = new - G4RangeVector(LowestEnergy, HighestEnergy, TotBin); - G4Material* aMaterial = (*materialTable)[J]; - density = aMaterial->GetDensity() ; - if(density == 0.) { - theKineticEnergyCuts[J] = 0. ; - } else { - this->BuildRangeVector(aMaterial, this->theLossTable, - this->HighestEnergy, this->GetPDGMass(), - rangeVector); - theKineticEnergyCuts[J] = ConvertCutToKineticEnergy(rangeVector, J); - - if( ((GetParticleName()=="e-")||(GetParticleName()=="e+")) - && (theKineticEnergyCuts[J] < lowen) ) { - theKineticEnergyCuts[J] /= (1.+tune/(theCutInMaxInteractionLength[J]*density)); - } - if(theKineticEnergyCuts[J] < LowestEnergy) { - theKineticEnergyCuts[J] = LowestEnergy ; - } - } - delete rangeVector; - } - - // Delete energy loss table - theLossTable->clearAndDestroy(); - } -} - -// ********************************************************************** -// ************************** ComputeLoss ******************************* -// ********************************************************************** - -G4double G4ParticleWithCuts::ComputeLoss(G4double AtomicNumber, - G4double KineticEnergy) const -{ - // calculate dE/dx - - static G4double Z; - static G4double ionpot, tau0, taum, taul, ca, cba, cc; - - G4double z2Particle = GetPDGCharge()/eplus; - z2Particle *= z2Particle; - if (z2Particle < 0.1) return 0.0; - - if( abs(AtomicNumber-Z)>0.1 ) - { - // recalculate constants - Z = AtomicNumber; - G4double Z13 = exp(log(Z)/3.); - tau0 = 0.1*Z13*MeV/proton_mass_c2; - taum = 0.035*Z13*MeV/proton_mass_c2; - taul = 2.*MeV/proton_mass_c2; - ionpot = 1.6e-5*MeV*exp(0.9*log(Z)); - cc = (taul+1.)*(taul+1.)*log(2.*electron_mass_c2*taul*(taul+2.)/ionpot)/(taul*(taul+2.))-1.; - cc = 2.*twopi_mc2_rcl2*Z*cc*sqrt(taul); - ca = cc/((1.-0.5*sqrt(tau0/taum))*tau0); - cba = -0.5/sqrt(taum); - } - - G4double tau = KineticEnergy/GetPDGMass(); - G4double dEdx; - if ( tau <= tau0 ) - dEdx = ca*(sqrt(tau)+cba*tau); - else - { - if( tau <= taul ) - dEdx = cc/sqrt(tau); - else - { - dEdx = (tau+1.)*(tau+1.)* - log(2.*electron_mass_c2*tau*(tau+2.)/ionpot)/(tau*(tau+2.))-1.; - - dEdx = 2.*twopi_mc2_rcl2*Z*dEdx; - - } - } - return dEdx*z2Particle ; -} -// ********************************************************************** -// ************************ BuildRangeVector **************************** -// ********************************************************************** - -void G4ParticleWithCuts::BuildRangeVector( - const G4Material* aMaterial, - const G4LossTable* aLossTable, - G4double maxEnergy, - G4double aMass, - G4RangeVector* rangeVector) -{ - // create range vector for a material - const G4double tlim=2.*MeV, t1=0.1*MeV, t2=0.025*MeV; - const G4int maxnbint=100; - - const G4ElementVector* elementVector = aMaterial->GetElementVector(); - const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4int NumEl = aMaterial->GetNumberOfElements(); - if (rangeVector == 0) { - char errMsg[1024]; - G4std::ostrstream errOs(errMsg,1024); - errOs << "Error in G4ParticleWithCuts::BuildRangeVector()"; - errOs << "[" << this->GetParticleName() << "] "; - errOs << " : 0 pointer is found in absorptionLengthVector" << '\0'; - G4Exception(errMsg); - } - - // calculate parameters of the low energy part first - G4double loss1=0.; - G4double loss2=0.; - G4int i; - for (i=0; iGetIndex(); - loss1 += atomicNumDensityVector[i]* - (*aLossTable)[IndEl]->GetValue(t1,isOut); - loss2 += atomicNumDensityVector[i]* - (*aLossTable)[IndEl]->GetValue(t2,isOut); - } - G4double tau1 = t1/proton_mass_c2; - G4double sqtau1 = sqrt(tau1); - G4double ca = (4.*loss2-loss1)/sqtau1; - G4double cb = (2.*loss1-4.*loss2)/tau1; - G4double cba = cb/ca; - G4double taulim = tlim/proton_mass_c2; - G4double taumax = maxEnergy/aMass; - G4double ltaumax = log(taumax); - - // now we can fill the range vector.... - G4double rmax = 0.0; - for (i=0; iGetLowEdgeEnergy(i); - G4double tau = LowEdgeEnergy/aMass; - G4double Value; - - if ( tau <= tau1 ){ - Value =2.*aMass*log(1.+cba*sqrt(tau))/cb; - } else { - Value = 2.*aMass*log(1.+cba*sqtau1)/cb; - if ( tau <= taulim ) - { - G4int nbin = (G4int)(maxnbint*(tau-tau1)/(taulim-tau1)); - if ( nbin<1 ) nbin = 1; - Value += RangeLinSimpson(elementVector,atomicNumDensityVector, - aLossTable, aMass, - tau1, tau, - nbin, NumEl); - } else { - Value += RangeLinSimpson(elementVector,atomicNumDensityVector, - aLossTable, aMass, - tau1, taulim, - maxnbint, NumEl); - G4double ltaulow = log(taulim); - G4double ltauhigh = log(tau); - G4int nbin = (G4int)(maxnbint*(ltauhigh-ltaulow)/(ltaumax-ltaulow)); - if ( nbin<1 ) nbin = 1; - Value += RangeLogSimpson(elementVector,atomicNumDensityVector, - aLossTable, aMass, - ltaulow, ltauhigh, - nbin, NumEl); - } - } - rangeVector->PutValue(i,Value); - if (rmax < Value) rmax = Value; - } - if ( theCutInMaxInteractionLength[aMaterial->GetIndex()] >= rmax) { -#ifdef G4VERBOSE - if (GetVerboseLevel()>0) { - G4cout << "Error in G4ParticleWithCuts::BuildRangeVector()" << G4endl; - G4cout << " SetCuts for " << GetParticleName() << G4endl; - G4cout << "The maximal meaningful cut is " << rmax/mm << " mm." << G4endl; - G4cout << "All the " << GetParticleName() << "will be killed !" << G4endl; - G4cout << "in the material " << aMaterial->GetName() << "." << G4endl; - } -#endif - } -} - -void G4ParticleWithCuts::SetCuts(G4double aCut) -{ - // set range cut values for all materials - SetCutInMaxInteractionLength(aCut); - - // calculate energy cut values - CalcEnergyCuts(); -} - -void G4ParticleWithCuts::SetRangeCut(G4double aCut, const G4Material* aMaterial) -{ - // set range cut values for all materials - SetCutInMaxInteractionLength(aCut, aMaterial); - - // calculate energy cut values - CalcEnergyCuts(aMaterial); -} - -void G4ParticleWithCuts::SetRangeCutVector(G4std::vector& cuts) -{ - // set material table pointer - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - - // check vector - if (cuts.size() != numberOfMaterials) { -#ifdef G4VERBOSE - if (GetVerboseLevel()>0) { - G4cout << " G4ParticleWithCuts::SetRangeCutVector: "; - G4cout << " given vector size is not consistent with material table size " -; - G4cout << G4endl; - G4cout << " Cut values remain unchanged !!" << G4endl; - } -#endif - return; - } - // Create the vector of cuts in range - if(theCutInMaxInteractionLength) delete [] theCutInMaxInteractionLength; - theCutInMaxInteractionLength = new G4double [numberOfMaterials]; - - // Set cut in stopping range for all materials - for (size_t J=0; J1) { - G4cout << " G4ParticleWithCuts::SetCutInMaxInteractionLength: "; - G4cout << " Cut in range for all material is set to "; - G4cout << aCut/mm << " [mm]" << G4endl; - } -#endif - for (size_t J=0; J1) { - G4cout << " G4ParticleWithCuts::SetCutInMaxInteractionLength: "; - G4cout << " Cut in range for all material is set to "; - G4cout << aCut/mm << " [mm]" << G4endl; - } -#endif - - for (size_t J=0; JGetIndex()] = aCut; -} - - -void G4ParticleWithCuts::SetEnergyCutValues(G4double energyCut) -{ - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - - if(theKineticEnergyCuts) delete [] theKineticEnergyCuts; - theKineticEnergyCuts = new G4double [numberOfMaterials]; - - // fill theKineticEnergyCuts and delete the range vector - for (size_t J=0; JFindParticle("gamma")) + { converters[0] = new G4RToEConvForGamma(); } + if(G4ParticleTable::GetParticleTable()->FindParticle("e-")) + { converters[1] = new G4RToEConvForElectron(); } + if(G4ParticleTable::GetParticleTable()->FindParticle("e+")) + { converters[2] = new G4RToEConvForPositron(); } + firstUse = false; + } + + // Reset "used" flags of all couples + for(CoupleTableIterator CoupleItr=coupleTable.begin();CoupleItr!=coupleTable.end();CoupleItr++) + { (*CoupleItr)->SetUseFlag(false); } + + // Update Material-Cut-Couple + typedef G4std::vector::iterator regionIterator; + for(regionIterator rItr=fG4RegionStore->begin();rItr!=fG4RegionStore->end();rItr++) + { + ///////////////////if(!((*rItr)->IsModified())) continue; + G4ProductionCuts* fProductionCut = (*rItr)->GetProductionCuts(); + G4std::vector::const_iterator mItr = (*rItr)->GetMaterialIterator(); + size_t nMaterial = (*rItr)->GetNumberOfMaterials(); + + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + // The following part of the code should be removed once all EM processes + // become "Region-aware" + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + //G4Region* theWorldRegion = *(fG4RegionStore->begin()); + //if((*rItr)==theWorldRegion) + //{ + // mItr = G4Material::GetMaterialTable()->begin(); + // nMaterial = G4Material::GetMaterialTable()->size(); + //} + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + // The previous part of the code should be removed once all EM processes + // become "Region-aware" + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + for(size_t iMate=0;iMateGetMaterial()==(*mItr) && (*cItr)->GetProductionCuts()==fProductionCut) + { + coupleAlreadyDefined = true; + aCouple = *cItr; + break; + } + } + + //if this combination is new, cleate and register a couple + if(!coupleAlreadyDefined) + { + aCouple = new G4MaterialCutsCouple((*mItr),fProductionCut); + coupleTable.push_back(aCouple); + aCouple->SetIndex(coupleTable.size()-1); + } + + //Set the couple to the proper logical volumes in that region + aCouple->SetUseFlag(); + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + // The following part of the code should be removed once all EM processes + // become "Region-aware" + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + // if((*rItr)==theWorldRegion) + // { + // aCouple->SetUseFlag(false); + // G4std::vector::const_iterator mItr1 = (*rItr)->GetMaterialIterator(); + // size_t nMaterial1 = (*rItr)->GetNumberOfMaterials(); + // for(size_t iMate1=0;iMate1GetMaterial()) aCouple->SetUseFlag(); + // mItr1++; + // } + // } + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + // The previous part of the code should be removed once all EM processes + // become "Region-aware" + //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + G4std::vector::iterator rootLVItr + = (*rItr)->GetRootLogicalVolumeIterator(); + size_t nRootLV = (*rItr)->GetNumberOfRootVolumes(); + for(size_t iLV=0;iLVsize(); + G4bool newCoupleAppears = nCouple>nTable; + if(newCoupleAppears) + { + for(size_t n=nCouple-nTable;n>0;n--) + { + for(size_t nn=0;nn< NumberOfG4CutIndex;nn++) + { + rangeCutTable[nn]->push_back(-1.); + energyCutTable[nn]->push_back(-1.); + } + } + } + + // Update RangeEnergy cuts tables + size_t idx = 0; + for(CoupleTableIterator cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++) + { + G4ProductionCuts* aCut = (*cItr)->GetProductionCuts(); + const G4Material* aMat = (*cItr)->GetMaterial(); + if((*cItr)->IsRecalcNeeded()) + { + for(size_t ptcl=0;ptcl< NumberOfG4CutIndex;ptcl++) + { + G4double rCut = aCut->GetProductionCut(ptcl); + (*(rangeCutTable[ptcl]))[idx] = rCut; + // if(converters[ptcl] && (*cItr)->IsUsed()) + if(converters[ptcl]) + { (*(energyCutTable[ptcl]))[idx] = converters[ptcl]->Convert(rCut,aMat); } + else + { (*(energyCutTable[ptcl]))[idx] = -1.; } + } + } + idx++; + } + + // resize Range/Energy cuts double vectors if new couple is made + if(newCoupleAppears) + { + for(size_t ix=0;ixGetRegion()!=aRegion) return; + + //Check if this particular volume has a material matched to the couple + if(aLV->GetMaterial()==aCouple->GetMaterial()) + { + aLV->SetMaterialCutsCouple(aCouple); + } + + size_t noDaughters = aLV->GetNoDaughters(); + if(noDaughters==0) return; + + //Loop over daughters with same region + for(size_t i=0;iGetDaughter(i)->GetLogicalVolume(); + ScanAndSetCouple(daughterLVol,aCouple,aRegion); + } +} + +void G4ProductionCutsTable::DumpCouples() const +{ + G4cout << G4endl; + G4cout << "========= Table of registered couples ==============================" << G4endl; + for(CoupleTableIterator cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++) + { + G4MaterialCutsCouple* aCouple = (*cItr); + G4ProductionCuts* aCut = aCouple->GetProductionCuts(); + G4cout << G4endl; + G4cout << "Index : " << aCouple->GetIndex() + << " used in the geometry : "; + if(aCouple->IsUsed()) G4cout << "Yes"; + else G4cout << "No "; + G4cout << " recalculation needed : "; + if(aCouple->IsRecalcNeeded()) G4cout << "Yes"; + else G4cout << "No "; + G4cout << G4endl; + G4cout << " Material : " << aCouple->GetMaterial()->GetName() << G4endl; + G4cout << " Range cuts : " + << " gamma " << G4BestUnit(aCut->GetProductionCut("gamma"),"Length") + << " e- " << G4BestUnit(aCut->GetProductionCut("e-"),"Length") + << " e+ " << G4BestUnit(aCut->GetProductionCut("e+"),"Length") + << G4endl; + G4cout << " Energy thresholds : " ; + // if(!(aCouple->IsUsed()) || aCouple->IsRecalcNeeded()) G4cout << " is not ready to print"; + if(aCouple->IsRecalcNeeded()) G4cout << " is not ready to print"; + else + G4cout << " gamma " << G4BestUnit((*(energyCutTable[0]))[aCouple->GetIndex()],"Energy") + << " e- " << G4BestUnit((*(energyCutTable[1]))[aCouple->GetIndex()],"Energy") + << " e+ " << G4BestUnit((*(energyCutTable[2]))[aCouple->GetIndex()],"Energy"); + G4cout << G4endl; + + if(aCouple->IsUsed()) + { + G4cout << " Region(s) which use this couple : " << G4endl; + typedef G4std::vector::iterator regionIterator; + for(regionIterator rItr=fG4RegionStore->begin();rItr!=fG4RegionStore->end();rItr++) + { + if (IsCoupleUsedInTheRegion(aCouple, *rItr) ){ + G4cout << " " << (*rItr)->GetName() << G4endl; + } + } + } + } + G4cout << G4endl; + G4cout << "====================================================================" << G4endl; + G4cout << G4endl; +} + + +// Store cuts and material information in files under the specified directory. +G4bool G4ProductionCutsTable::StoreCutsTable(const G4String& dir, + G4bool ascii) +{ + if (!StoreMaterialInfo(dir, ascii)) return false; + if (!StoreMaterialCutsCoupleInfo(dir, ascii)) return false; + if (!StoreCutsInfo(dir, ascii)) return false; + + return true; +} + +G4bool G4ProductionCutsTable::RetrieveCutsTable(const G4String& dir, + G4bool ascii) +{ + if (!CheckForRetrieveCutsTable(dir, ascii)) return false; + if (!RetrieveCutsInfo(dir, ascii)) return false; + + return true; +} + +// check stored material and cut values are consistent with the current detector setup. +G4bool G4ProductionCutsTable::CheckForRetrieveCutsTable(const G4String& directory, + G4bool ascii) +{ + if (!CheckMaterialInfo(directory, ascii)) return false; + if (!CheckMaterialCutsCoupleInfo(directory, ascii)) return false; + return true; +} + +// Store material information in files under the specified directory. +G4bool G4ProductionCutsTable::StoreMaterialInfo(const G4String& directory, + G4bool ascii) +{ + const G4String fileName = directory + "/" + "material.dat"; + const G4String key = "MATERIAL-V2.0"; + G4std::ofstream fOut; + + // open output file // +#ifdef G4USE_STD_NAMESPACE + if (!ascii ) + fOut.open(fileName,G4std::ios::out|G4std::ios::binary); + else +#endif + fOut.open(fileName,G4std::ios::out); + + + // check if the file has been opened successfully + if (!fOut) { +#ifdef G4VERBOSE + G4cerr << "G4ProductionCutsTable::StoreMaterialInfo "; + G4cerr << " Can not open file " << fileName << G4endl; +#endif + return false; + } + + const G4MaterialTable* matTable = G4Material::GetMaterialTable(); + // number of materials in the table + G4int numberOfMaterial = matTable->size(); + + if (ascii) { + /////////////// ASCII mode ///////////////// + // key word + fOut << key << G4endl; + + // number of materials in the table + fOut << numberOfMaterial << G4endl; + + fOut.setf(G4std::ios::scientific); + + // material name and density + for (size_t idx=0; G4int(idx)GetName(); + fOut << G4std::setw(FixedStringLengthForStore) << ((*matTable)[idx])->GetDensity()/(g/cm3) << G4endl; + } + + fOut.unsetf(G4std::ios::scientific); + + } else { + /////////////// Binary mode ///////////////// + char temp[FixedStringLengthForStore]; + size_t i; + + // key word + for (i=0; iGetName(); + G4double density = ((*matTable)[imat])->GetDensity(); + for (i=0; i> keyword; + } else { + fIn.read(temp, FixedStringLengthForStore); + keyword = (const char*)(temp); + } + if (key!=keyword) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutsTable::CheckMaterialInfo "; + G4cout << " Wrong key word " << key ; + G4cout <<"( != "<< keyword << ")" <size(); + // number of materials in the table + G4int nmat; + if (ascii) { + fIn >> nmat; + } else { + fIn.read( (char*)(&nmat), sizeof (G4int)); + } + if (nmat!=numberOfMaterial) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutsTable::CheckMaterialInfo "; + G4cout << "Number of material is inconsistent "<< G4endl; +#endif + return false; + } + + // list of material + for (G4int idx=0; idx> name >> density; + density *= (g/cm3); + + } else { + fIn.read(name, FixedStringLengthForStore); + fIn.read((char*)(&density), sizeof (G4double)); + } + if (fIn.fail()) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutsTable::CheckMaterialInfo "; + G4cout << " Bad data format " << G4endl; +#endif + fIn.close(); + return false; + } + G4double ratio = abs(density/((*matTable)[idx])->GetDensity() ); + if ( (name != ((*matTable)[idx])->GetName()) || (0.999>ratio) || (ratio>1.001) ){ +#ifdef G4VERBOSE + G4cout << "G4ProductionCutsTable::CheckMaterialInfo "; + G4cout << " Inconsistent material name or density" << G4endl;; + G4cout << G4std::setw(40) << name; + G4cout << G4std::setw(20) << G4std::setiosflags(G4std::ios::scientific) << density << G4endl; + G4cout << G4std::resetiosflags(G4std::ios::scientific); +#endif + fIn.close(); + return false; + } + } + + fIn.close(); + return true; + +} + +// Store materialCutsCouple information in files under the specified directory. +G4bool G4ProductionCutsTable::StoreMaterialCutsCoupleInfo(const G4String& directory, + G4bool ascii) +{ + const G4String fileName = directory + "/" + "couple.dat"; + const G4String key = "COUPLE-V2.0"; + G4std::ofstream fOut; + char temp[FixedStringLengthForStore]; + + // open output file // +#ifdef G4USE_STD_NAMESPACE + if (!ascii ) + fOut.open(fileName,G4std::ios::out|G4std::ios::binary); + else +#endif + fOut.open(fileName,G4std::ios::out); + + + // check if the file has been opened successfully + if (!fOut) { +#ifdef G4VERBOSE + G4cerr << "G4ProductionCutsTable::StoreMaterialCutsCoupleInfo "; + G4cerr << " Can not open file " << fileName << G4endl; +#endif + return false; + } + G4int numberOfCouples = coupleTable.size(); + if (ascii) { + /////////////// ASCII mode ///////////////// + // key word + fOut << G4std::setw(FixedStringLengthForStore) << key << G4endl; + + // number of couples in the table + fOut << numberOfCouples << G4endl; + } else { + /////////////// Binary mode ///////////////// + // key word + size_t i; + for (i=0; iGetIndex(); + // cut value + G4ProductionCuts* aCut = aCouple->GetProductionCuts(); + G4double cutValues[NumberOfG4CutIndex]; + for (size_t idx=0; idx GetProductionCut(idx); + } + // material/region info + G4String materialName = aCouple->GetMaterial()->GetName(); + G4String regionName = "NONE"; + if (aCouple->IsUsed()){ + typedef G4std::vector::iterator regionIterator; + for(regionIterator rItr=fG4RegionStore->begin();rItr!=fG4RegionStore->end();rItr++){ + if (IsCoupleUsedInTheRegion(aCouple, *rItr) ){ + regionName = (*rItr)->GetName(); + break; + } + } + } + + if (ascii) { + /////////////// ASCII mode ///////////////// + // index number + fOut << index << G4endl; + + // material name + fOut << G4std::setw(FixedStringLengthForStore) << materialName<< G4endl; + + // region name + fOut << G4std::setw(FixedStringLengthForStore) << regionName<< G4endl; + + fOut.setf(G4std::ios::scientific); + // cut values + for (size_t idx=0; idx< NumberOfG4CutIndex; idx++) { + fOut << G4std::setw(FixedStringLengthForStore) << cutValues[idx]/(mm) << G4endl; + } + fOut.unsetf(G4std::ios::scientific); + + } else { + /////////////// Binary mode ///////////////// + // index + fOut.write( (char*)(&index), sizeof (G4int)); + + // material name + size_t i; + for (i=0; i> keyword; + } else { + fIn.read(temp, FixedStringLengthForStore); + keyword = (const char*)(temp); + } + if (key!=keyword) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << " Wrong key word " << key ; + G4cout <<"( != "<< keyword << ")" <> numberOfCouples; + } else { + fIn.read( (char*)(&numberOfCouples), sizeof (G4int)); + } + if ( size_t(numberOfCouples) != coupleTable.size()) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "Number of couples is inconsistent "<< G4endl; +#endif + return false; + } + + // Loop over all couples + CoupleTableIterator cItr; + for (cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++){ + char name[FixedStringLengthForStore]; + G4MaterialCutsCouple* aCouple = (*cItr); + G4int index; + if (ascii) { + fIn >> index; + } else { + fIn.read( (char*)(&index), sizeof (G4int)); + } + if ( index != aCouple->GetIndex() ) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "Index of couples is inconsistent "<< index << G4endl; +#endif + return false; + } + + if (ascii) { + fIn >> name; + } else { + fIn.read(name, FixedStringLengthForStore); + } + if ( name != aCouple->GetMaterial()->GetName() ) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "MaterialName is inconsistent "; + G4cout << "[" << index << "] " << name << G4endl; +#endif + return false; + } + + if (ascii) { + fIn >> name; + } else { + fIn.read(name, FixedStringLengthForStore); + } + if (!aCouple->IsUsed()){ + if ( name != "NONE" ) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "Region Name is inconsistent "; + G4cout << "[" << index << "] " << name << G4endl; +#endif + return false; + } + } else { + G4Region* fRegion = fG4RegionStore->GetRegion(name); + if (!IsCoupleUsedInTheRegion(aCouple, fRegion) ){ +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "Region Name is inconsistent "; + G4cout << "[" << index << "] " << name << G4endl; +#endif + return false; + } + } + + // cut value + G4ProductionCuts* aCut = aCouple->GetProductionCuts(); + G4double cutValues[NumberOfG4CutIndex]; + for (size_t idx=0; idx< NumberOfG4CutIndex; idx++) { + if (ascii) { + fIn >> cutValues[idx]; + cutValues[idx] *= (mm); + } else { + fIn.read( (char*)(&(cutValues[idx])), sizeof (G4double)); + } + G4double ratio = cutValues[idx]/aCut->GetProductionCut(idx); + if ((0.999>ratio) || (ratio>1.001) ){ +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; + G4cout << "CutValue for " << idx << " is inconsistent "; + G4cout << "[" << index << "] " << G4endl; +#endif + return false; + } + } + } + return true; +} + + +// Store cut values information in files under the specified directory. +G4bool G4ProductionCutsTable::StoreCutsInfo(const G4String& directory, + G4bool ascii) +{ + const G4String fileName = directory + "/" + "cut.dat"; + const G4String key = "CUT-V2.0"; + G4std::ofstream fOut; + char temp[FixedStringLengthForStore]; + + // open output file // +#ifdef G4USE_STD_NAMESPACE + if (!ascii ) + fOut.open(fileName,G4std::ios::out|G4std::ios::binary); + else +#endif + fOut.open(fileName,G4std::ios::out); + + + // check if the file has been opened successfully + if (!fOut) { +#ifdef G4VERBOSE + G4cerr << "G4ProductionCutsTable::StoreCutsInfo "; + G4cerr << " Can not open file " << fileName << G4endl; +#endif + return false; + } + + G4int numberOfCouples = coupleTable.size(); + if (ascii) { + /////////////// ASCII mode ///////////////// + // key word + fOut << key << G4endl; + + // number of couples in the table + fOut << numberOfCouples << G4endl; + } else { + /////////////// Binary mode ///////////////// + // key word + size_t i; + for (i=0; i* fRange = GetRangeCutsVector(idx); + const G4std::vector* fEnergy = GetEnergyCutsVector(idx); + size_t i=0; + // Loop over all couples + CoupleTableIterator cItr; + for (cItr=coupleTable.begin();cItr!=coupleTable.end();cItr++, i++){ + if (ascii) { + /////////////// ASCII mode ///////////////// + fOut.setf(G4std::ios::scientific); + fOut << G4std::setw(20) << (*fRange)[i]/mm ; + fOut << G4std::setw(20) << (*fEnergy)[i]/keV << G4endl; + fOut.unsetf(G4std::ios::scientific); + } else { + /////////////// Binary mode ///////////////// + G4double cut = (*fRange)[i]; + fOut.write((char*)(&cut), sizeof (G4double)); + cut = (*fEnergy)[i]; + fOut.write((char*)(&cut), sizeof (G4double)); + } + } + } + fOut.close(); + return true; +} + +// Retrieve cut values information in files under the specified directory. +G4bool G4ProductionCutsTable::RetrieveCutsInfo(const G4String& directory, + G4bool ascii) +{ + const G4String fileName = directory + "/" + "cut.dat"; + const G4String key = "CUT-V2.0"; + G4std::ifstream fIn; + + // open input file // +#ifdef G4USE_STD_NAMESPACE + if (!ascii ) + fIn.open(fileName,G4std::ios::in|G4std::ios::binary); + else +#endif + fIn.open(fileName,G4std::ios::in); + + // check if the file has been opened successfully + if (!fIn) { +#ifdef G4VERBOSE + G4cerr << "G4ProductionCutTable::RetreiveCutsInfo "; + G4cerr << " Can not open file " << fileName << G4endl; +#endif + return false; + } + + char temp[FixedStringLengthForStore]; + + // key word + G4String keyword; + if (ascii) { + fIn >> keyword; + } else { + fIn.read(temp, FixedStringLengthForStore); + keyword = (const char*)(temp); + } + if (key!=keyword) { +#ifdef G4VERBOSE + G4cout << "G4ProductionCutTable::RetreiveCutsInfo "; + G4cout << " Wrong key word " << key ; + G4cout <<"( != "<< keyword << ")" <> numberOfCouples; + } else { + fIn.read( (char*)(&numberOfCouples), sizeof (G4int)); + } + + for (size_t idx=0; G4int(idx) clear(); + fEnergy->clear(); + + // Loop over all couples + for (size_t i=0; G4int(i)< numberOfCouples; i++){ + G4double rcut, ecut; + if (ascii) { + fIn >> rcut >> ecut; + rcut *= mm; + ecut *= keV; + } else { + fIn.read((char*)(&rcut), sizeof (G4double)); + fIn.read((char*)(&ecut), sizeof (G4double)); + } + fRange->push_back(rcut); + fEnergy->push_back(ecut); + } + } + return true; +} + + + + + + + diff --git a/source/particles/management/src/G4RToEConvForAntiNeutron.cc b/source/particles/management/src/G4RToEConvForAntiNeutron.cc new file mode 100644 index 0000000000..63d1f90ac9 --- /dev/null +++ b/source/particles/management/src/G4RToEConvForAntiNeutron.cc @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForAntiNeutron.cc,v 1.2 2002/12/16 11:15:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForAntiNeutron.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForAntiNeutron::G4RToEConvForAntiNeutron() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("anti_neutron"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForAntiNeutron::G4RToEConvForAntiNeutron() "; + G4cout << " Antineutron is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForAntiNeutron::~G4RToEConvForAntiNeutron() +{ +} + diff --git a/source/particles/management/src/G4RToEConvForAntiProton.cc b/source/particles/management/src/G4RToEConvForAntiProton.cc new file mode 100644 index 0000000000..2ee9399b5e --- /dev/null +++ b/source/particles/management/src/G4RToEConvForAntiProton.cc @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForAntiProton.cc,v 1.2 2002/12/16 11:15:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForAntiProton.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForAntiProton::G4RToEConvForAntiProton() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("anti_proton"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForAntiProton::G4RToEConvForAntiProton() "; + G4cout << " AntiProton is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForAntiProton::~G4RToEConvForAntiProton() +{ +} + diff --git a/source/particles/management/src/G4RToEConvForElectron.cc b/source/particles/management/src/G4RToEConvForElectron.cc new file mode 100644 index 0000000000..b796578356 --- /dev/null +++ b/source/particles/management/src/G4RToEConvForElectron.cc @@ -0,0 +1,170 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForElectron.cc,v 1.3 2003/01/07 23:52:24 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForElectron.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForElectron::G4RToEConvForElectron() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("e-"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForElectron::G4RToEConvForElectron() "; + G4cout << " Electron is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForElectron::~G4RToEConvForElectron() +{ +} + + +// ********************************************************************** +// ************************* ComputeLoss ******************************** +// ********************************************************************** +G4double G4RToEConvForElectron::ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy) const +{ + static G4double Z; + static G4double taul, ionpot, ionpotlog; + const G4double cbr1=0.02, cbr2=-5.7e-5, cbr3=1., cbr4=0.072; + const G4double Tlow=10.*keV, Thigh=1.*GeV; + static G4double bremfactor= 0.1 ; + + G4double Mass = theParticle->GetPDGMass(); + // calculate dE/dx for electrons + if( abs(AtomicNumber-Z)>0.1 ) { + Z = AtomicNumber; + taul = Tlow/Mass; + ionpot = 1.6e-5*MeV*exp(0.9*log(Z))/Mass; + ionpotlog = log(ionpot); + } + + + G4double tau = KineticEnergy/Mass; + G4double dEdx; + + if(tauGetElementVector(); + const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); + G4int NumEl = aMaterial->GetNumberOfElements(); + + // calculate parameters of the low energy part first + size_t i; + G4double loss=0.; + for (i=0; iGetIndex(); + loss += atomicNumDensityVector[i]* + (*theLossTable)[IndEl]->GetValue(tlim,isOut); + } + G4double taulim = tlim/aMass; + G4double clim = sqrt(taulim)*loss; + G4double taumax = maxEnergy/aMass; + + // now the range vector can be filled + for ( i=0; iGetLowEdgeEnergy(i); + G4double tau = LowEdgeEnergy/aMass; + + if ( tau <= taulim ) { + G4double Value = 2.*aMass*tau*sqrt(tau)/(3.*clim); + rangeVector->PutValue(i,Value); + } else { + G4double rangelim = 2.*aMass*taulim*sqrt(taulim)/(3.*clim); + G4double ltaulow = log(taulim); + G4double ltauhigh = log(tau); + G4double ltaumax = log(taumax); + G4int nbin = G4int(maxnbint*(ltauhigh-ltaulow)/(ltaumax-ltaulow)); + if( nbin < 1 ) nbin = 1; + G4double Value = RangeLogSimpson(elementVector, atomicNumDensityVector, + aMass, + ltaulow, ltauhigh, nbin) + + rangelim; + rangeVector->PutValue(i,Value); + } + } +} diff --git a/source/particles/management/src/G4RToEConvForGamma.cc b/source/particles/management/src/G4RToEConvForGamma.cc new file mode 100644 index 0000000000..a2df5fb53a --- /dev/null +++ b/source/particles/management/src/G4RToEConvForGamma.cc @@ -0,0 +1,159 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForGamma.cc,v 1.4 2003/01/07 23:52:24 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForGamma.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForGamma::G4RToEConvForGamma() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("gamma"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForGamma::G4RToEConvForGamma() "; + G4cout << " Gamma is not defined !!" << G4endl; + } +#endif + } + TotBin = 100; +} + +G4RToEConvForGamma::~G4RToEConvForGamma() +{ +} + + +// *********************************************************************** +// ******************* BuildAbsorptionLengthVector *********************** +// *********************************************************************** +void G4RToEConvForGamma::BuildAbsorptionLengthVector( + const G4Material* aMaterial, + G4double , + G4double , + G4RangeVector* absorptionLengthVector ) +{ + // fill the absorption length vector for this material + // absorption length is defined here as + // + // absorption length = 5./ macroscopic absorption cross section + // + const G4CrossSectionTable* aCrossSectionTable = (G4CrossSectionTable*)(theLossTable); + const G4ElementVector* elementVector = aMaterial->GetElementVector(); + const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); + + // fill absorption length vector + G4int NumEl = aMaterial->GetNumberOfElements(); + G4double absorptionLengthMax = 0.0; + for (size_t ibin=0; ibinGetLowEdgeEnergy(ibin); + + G4double SIGMA = 0. ; + + for (size_t iel=0; ielGetIndex(); + SIGMA += atomicNumDensityVector[iel]* + (*aCrossSectionTable)[IndEl]->GetValue(lowEdgeEnergy,isOut); + } + // absorption length=5./SIGMA + absorptionLengthVector->PutValue(ibin, 5./SIGMA); + if (absorptionLengthMax < 5./SIGMA ) absorptionLengthMax = 5./SIGMA; + } +} + + + +// *********************************************************************** +// ********************** ComputeCrossSection **************************** +// *********************************************************************** +G4double G4RToEConvForGamma::ComputeCrossSection(G4double AtomicNumber, + G4double KineticEnergy) const +{ + // Compute the "absorption" cross section of the photon "absorption" + // cross section means here the sum of the cross sections of the + // pair production, Compton scattering and photoelectric processes + static G4double Z; + const G4double t1keV = 1.*keV; + const G4double t200keV = 200.*keV; + const G4double t100MeV = 100.*MeV; + + static G4double s200keV, s1keV; + static G4double tmin, tlow; + static G4double smin, slow; + static G4double cmin, clow, chigh; + // compute Z dependent quantities in the case of a new AtomicNumber + if(abs(AtomicNumber-Z)>0.1) { + Z = AtomicNumber; + G4double Zsquare = Z*Z; + G4double Zlog = log(Z); + G4double Zlogsquare = Zlog*Zlog; + + s200keV = (0.2651-0.1501*Zlog+0.02283*Zlogsquare)*Zsquare; + tmin = (0.552+218.5/Z+557.17/Zsquare)*MeV; + smin = (0.01239+0.005585*Zlog-0.000923*Zlogsquare)*exp(1.5*Zlog); + cmin=log(s200keV/smin)/(log(tmin/t200keV)*log(tmin/t200keV)); + tlow = 0.2*exp(-7.355/sqrt(Z))*MeV; + slow = s200keV*exp(0.042*Z*log(t200keV/tlow)*log(t200keV/tlow)); + s1keV = 300.*Zsquare; + clow =log(s1keV/slow)/log(tlow/t1keV); + + chigh=(7.55e-5-0.0542e-5*Z)*Zsquare*Z/log(t100MeV/tmin); + } + + // calculate the cross section (using an approximate empirical formula) + G4double s; + if ( KineticEnergyFindParticle("neutron"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForNeutron::G4RToEConvForNeutron() "; + G4cout << " Neutron is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForNeutron::~G4RToEConvForNeutron() +{ +} + diff --git a/source/particles/management/src/G4RToEConvForPositron.cc b/source/particles/management/src/G4RToEConvForPositron.cc new file mode 100644 index 0000000000..ebc678e475 --- /dev/null +++ b/source/particles/management/src/G4RToEConvForPositron.cc @@ -0,0 +1,172 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForPositron.cc,v 1.3 2003/01/07 23:52:24 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForPositron.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForPositron::G4RToEConvForPositron() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("e+"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForPositron::G4RToEConvForPositron() "; + G4cout << " Positron is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForPositron::~G4RToEConvForPositron() +{ +} + + + + +// ********************************************************************** +// ************************* ComputeLoss ******************************** +// ********************************************************************** +G4double G4RToEConvForPositron::ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy) const +{ + static G4double Z; + static G4double taul, ionpot, ionpotlog; + const G4double cbr1=0.02, cbr2=-5.7e-5, cbr3=1., cbr4=0.072; + const G4double Tlow=10.*keV, Thigh=1.*GeV; + static G4double bremfactor = 0.1 ; + + G4double Mass = theParticle->GetPDGMass(); + // calculate dE/dx for electrons + if( abs(AtomicNumber-Z)>0.1 ) { + Z = AtomicNumber; + taul = Tlow/Mass; + ionpot = 1.6e-5*MeV*exp(0.9*log(Z))/Mass; + ionpotlog = log(ionpot); + } + + G4double tau = KineticEnergy/Mass; + G4double dEdx; + + if(tauGetElementVector(); + const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); + G4int NumEl = aMaterial->GetNumberOfElements(); + + // calculate parameters of the low energy part first + size_t i; + G4double loss=0.; + for (i=0; iGetIndex(); + loss += atomicNumDensityVector[i]* + (*theLossTable)[IndEl]->GetValue(tlim,isOut); + } + G4double taulim = tlim/aMass; + G4double clim = sqrt(taulim)*loss; + G4double taumax = maxEnergy/aMass; + + // now the range vector can be filled + for ( i=0; iGetLowEdgeEnergy(i); + G4double tau = LowEdgeEnergy/aMass; + + if ( tau <= taulim ) { + G4double Value = 2.*aMass*tau*sqrt(tau)/(3.*clim); + rangeVector->PutValue(i,Value); + } else { + G4double rangelim = 2.*aMass*taulim*sqrt(taulim)/(3.*clim); + G4double ltaulow = log(taulim); + G4double ltauhigh = log(tau); + G4double ltaumax = log(taumax); + G4int nbin = G4int(maxnbint*(ltauhigh-ltaulow)/(ltaumax-ltaulow)); + if( nbin < 1 ) nbin = 1; + G4double Value = RangeLogSimpson(elementVector, atomicNumDensityVector, + aMass, + ltaulow, ltauhigh, nbin) + + rangelim; + rangeVector->PutValue(i,Value); + } + } +} diff --git a/source/particles/management/src/G4RToEConvForProton.cc b/source/particles/management/src/G4RToEConvForProton.cc new file mode 100644 index 0000000000..0f4eb27ca6 --- /dev/null +++ b/source/particles/management/src/G4RToEConvForProton.cc @@ -0,0 +1,58 @@ +// +// ******************************************************************** +// * 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: G4RToEConvForProton.cc,v 1.2 2002/12/16 11:15:45 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4RToEConvForProton.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +G4RToEConvForProton::G4RToEConvForProton() : G4VRangeToEnergyConverter() +{ + theParticle = G4ParticleTable::GetParticleTable()->FindParticle("proton"); + if (theParticle ==0) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << " G4RToEConvForProton::G4RToEConvForProton() "; + G4cout << " proton is not defined !!" << G4endl; + } +#endif + } +} + +G4RToEConvForProton::~G4RToEConvForProton() +{ +} + diff --git a/source/particles/management/src/G4ShortLivedTable.cc b/source/particles/management/src/G4ShortLivedTable.cc index 2466bcd7dd..9f8b17df98 100644 --- a/source/particles/management/src/G4ShortLivedTable.cc +++ b/source/particles/management/src/G4ShortLivedTable.cc @@ -22,7 +22,7 @@ // // // $Id: G4ShortLivedTable.cc,v 1.10 2001/07/11 10:02:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/management/src/G4TauLeptonicDecayChannel.cc b/source/particles/management/src/G4TauLeptonicDecayChannel.cc index 6b0436876e..71c1769c2c 100644 --- a/source/particles/management/src/G4TauLeptonicDecayChannel.cc +++ b/source/particles/management/src/G4TauLeptonicDecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4TauLeptonicDecayChannel.cc,v 1.2 2002/03/28 10:56:09 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4VDecayChannel.cc b/source/particles/management/src/G4VDecayChannel.cc index 82e4b85d99..1849c5b1df 100644 --- a/source/particles/management/src/G4VDecayChannel.cc +++ b/source/particles/management/src/G4VDecayChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VDecayChannel.cc,v 1.15 2002/11/20 15:05:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4VRangeToEnergyConverter.cc b/source/particles/management/src/G4VRangeToEnergyConverter.cc new file mode 100644 index 0000000000..4f22877548 --- /dev/null +++ b/source/particles/management/src/G4VRangeToEnergyConverter.cc @@ -0,0 +1,464 @@ +// +// ******************************************************************** +// * 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: G4VRangeToEnergyConverter.cc,v 1.3 2003/01/07 23:52:24 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// +// -------------------------------------------------------------- +// GEANT 4 class implementation file/ History: +// 5 Oct. 2002, H.Kuirashige : Structure created based on object model +// -------------------------------------------------------------- + +#include "G4VRangeToEnergyConverter.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4PhysicsLogVector.hh" + +#include "G4ios.hh" +#include "g4std/iomanip" +#include "g4std/strstream" + +// energy range +G4double G4VRangeToEnergyConverter::LowestEnergy = 0.99e-3*MeV; +G4double G4VRangeToEnergyConverter::HighestEnergy = 100.0e6*MeV; + +G4VRangeToEnergyConverter::G4VRangeToEnergyConverter(): + theParticle(0), theLossTable(0), NumberOfElements(0), TotBin(200), + verboseLevel(1) +{ +} + +G4VRangeToEnergyConverter::G4VRangeToEnergyConverter(const G4VRangeToEnergyConverter& right) +{ + *this = right; +} + +G4VRangeToEnergyConverter & G4VRangeToEnergyConverter::operator=(const G4VRangeToEnergyConverter &right) +{ + if (this == &right) return *this; + if (theLossTable) delete theLossTable; + + NumberOfElements = right.NumberOfElements; + TotBin = right.TotBin; + theParticle = right.theParticle; + verboseLevel = right.verboseLevel; + + // create the loss table + theLossTable = new G4LossTable(); + theLossTable->reserve(G4Element::GetNumberOfElements()); + // fill the loss table + for (size_t j=0; jPutValue(i,Value); + } + theLossTable->insert(aVector); + } + return *this; +} + + +G4VRangeToEnergyConverter::~G4VRangeToEnergyConverter() +{ + if (theLossTable) delete theLossTable; +} + +G4int G4VRangeToEnergyConverter::operator==(const G4VRangeToEnergyConverter &right) const +{ + return this == &right; +} + +G4int G4VRangeToEnergyConverter::operator!=(const G4VRangeToEnergyConverter &right) const +{ + return this != &right; +} + + +// ********************************************************************** +// ************************* Convert *********************************** +// ********************************************************************** +G4double G4VRangeToEnergyConverter::Convert(G4double rangeCut, + const G4Material* material) +{ + //???????????? G4double Charge = theParticle->GetPDGCharge(); + G4double Mass = theParticle->GetPDGMass(); + G4double theKineticEnergyCuts = 0.; + + // Build the energy loss table + if (theLossTable ==0) BuildLossTable(); + + // Build range vector for every material, convert cut into energy-cut, + // fill theKineticEnergyCuts and delete the range vector + G4double tune = 0.025*mm*g/cm3 ,lowen = 30.*keV ; + + G4int idx = material->GetIndex(); + G4double density = material->GetDensity() ; + if(density > 0.) { + G4RangeVector* rangeVector = new G4RangeVector(LowestEnergy, HighestEnergy, TotBin); + BuildRangeVector(material, HighestEnergy, Mass, rangeVector); + theKineticEnergyCuts = ConvertCutToKineticEnergy(rangeVector, rangeCut, idx); + + if( ((theParticle->GetParticleName()=="e-")||(theParticle->GetParticleName()=="e+")) + && (theKineticEnergyCuts < lowen) ) + { theKineticEnergyCuts /= (1.+tune/(rangeCut*density)); } + if(theKineticEnergyCuts < LowestEnergy) { + theKineticEnergyCuts = LowestEnergy ; + } + delete rangeVector; + } + return theKineticEnergyCuts; +} + +// ********************************************************************** +// ************************ SetEnergyRange ***************************** +// ********************************************************************** +void G4VRangeToEnergyConverter::SetEnergyRange(G4double lowedge, + G4double highedge) +{ + // check LowestEnergy/ HighestEnergy + if ( (lowedge<0.0)||(highedge<=lowedge) ){ + G4cerr << "Error in G4VRangeToEnergyConverter::SetEnergyRange"; + G4cerr << " : illegal energy range" << "(" << lowedge/GeV; + G4cerr << "," << highedge/GeV << ") [GeV]" << G4endl; + } else { + LowestEnergy = lowedge; + HighestEnergy = highedge; + } +} + + +G4double G4VRangeToEnergyConverter::GetLowEdgeEnergy() +{ + return LowestEnergy; +} + + +G4double G4VRangeToEnergyConverter::GetHighEdgeEnergy() +{ + return HighestEnergy; +} + +// ********************************************************************** +// ************************ RangeLinSimpson ***************************** +// ********************************************************************** +G4double G4VRangeToEnergyConverter::RangeLinSimpson( + const G4ElementVector* elementVector, + const G4double* atomicNumDensityVector, + G4double aMass, + G4double taulow, G4double tauhigh, G4int nbin) +{ + // Simpson numerical integration, linear binning + G4double dtau = (tauhigh-taulow)/nbin; + G4double Value=0.; + for (size_t i=0; i<=size_t(nbin); i++){ + G4double taui=taulow+dtau*i; + G4double ti=aMass*taui; + G4double lossi=0.; + size_t nEl = elementVector->size(); + for (size_t j=0; jGetIndex(); + lossi += atomicNumDensityVector[j]* + (*theLossTable)[IndEl]->GetValue(ti,isOut); + } + if ( i==0 ) { + Value += 0.5/lossi; + } else { + if ( isize(); + for (size_t j=0; jGetIndex(); + lossi += atomicNumDensityVector[j]* + (*theLossTable)[IndEl]->GetValue(ti,isOut); + } + if ( i==0 ) { + Value += 0.5*taui/lossi; + } else { + if ( ireserve(G4Element::GetNumberOfElements()); +#ifdef G4VERBOSE + if (GetVerboseLevel()>2) { + G4cout << "G4VRangeToEnergyConverter::BuildLossTable() "; + G4cout << "Create theLossTable[" << theLossTable << "]"; + G4cout << " NumberOfElements=" << NumberOfElements <GetZ(), + aVector->GetLowEdgeEnergy(i) + ); + aVector->PutValue(i,Value); + } + theLossTable->insert(aVector); + } +} + +// ********************************************************************** +// ************************** ComputeLoss ******************************* +// ********************************************************************** +G4double G4VRangeToEnergyConverter::ComputeLoss(G4double AtomicNumber, + G4double KineticEnergy) const +{ + // calculate dE/dx + + static G4double Z; + static G4double ionpot, tau0, taum, taul, ca, cba, cc; + + G4double z2Particle = theParticle->GetPDGCharge()/eplus; + z2Particle *= z2Particle; + if (z2Particle < 0.1) return 0.0; + + if( abs(AtomicNumber-Z)>0.1 ){ + // recalculate constants + Z = AtomicNumber; + G4double Z13 = exp(log(Z)/3.); + tau0 = 0.1*Z13*MeV/proton_mass_c2; + taum = 0.035*Z13*MeV/proton_mass_c2; + taul = 2.*MeV/proton_mass_c2; + ionpot = 1.6e-5*MeV*exp(0.9*log(Z)); + cc = (taul+1.)*(taul+1.)*log(2.*electron_mass_c2*taul*(taul+2.)/ionpot)/(taul*(taul+2.))-1.; + cc = 2.*twopi_mc2_rcl2*Z*cc*sqrt(taul); + ca = cc/((1.-0.5*sqrt(tau0/taum))*tau0); + cba = -0.5/sqrt(taum); + } + + G4double tau = KineticEnergy/theParticle->GetPDGMass(); + G4double dEdx; + if ( tau <= tau0 ) { + dEdx = ca*(sqrt(tau)+cba*tau); + } else { + if( tau <= taul ) { + dEdx = cc/sqrt(tau); + } else { + dEdx = (tau+1.)*(tau+1.)* + log(2.*electron_mass_c2*tau*(tau+2.)/ionpot)/(tau*(tau+2.))-1.; + dEdx = 2.*twopi_mc2_rcl2*Z*dEdx; + } + } + return dEdx*z2Particle ; +} + +// ********************************************************************** +// ************************ BuildRangeVector **************************** +// ********************************************************************** +void G4VRangeToEnergyConverter::BuildRangeVector( + const G4Material* aMaterial, + G4double maxEnergy, + G4double aMass, + G4RangeVector* rangeVector) +{ + // create range vector for a material + const G4double tlim=2.*MeV, t1=0.1*MeV, t2=0.025*MeV; + const G4int maxnbint=100; + + const G4ElementVector* elementVector = aMaterial->GetElementVector(); + const G4double* atomicNumDensityVector = aMaterial->GetAtomicNumDensityVector(); + + G4int NumEl = aMaterial->GetNumberOfElements(); + + // calculate parameters of the low energy part first + G4double loss1=0.; + G4double loss2=0.; + size_t i; + for (i=0; iGetIndex(); + loss1 += atomicNumDensityVector[i]* + (*theLossTable)[IndEl]->GetValue(t1,isOut); + loss2 += atomicNumDensityVector[i]* + (*theLossTable)[IndEl]->GetValue(t2,isOut); + } + G4double tau1 = t1/proton_mass_c2; + G4double sqtau1 = sqrt(tau1); + G4double ca = (4.*loss2-loss1)/sqtau1; + G4double cb = (2.*loss1-4.*loss2)/tau1; + G4double cba = cb/ca; + G4double taulim = tlim/proton_mass_c2; + G4double taumax = maxEnergy/aMass; + G4double ltaumax = log(taumax); + + // now we can fill the range vector.... + G4double rmax = 0.0; + for (i=0; iGetLowEdgeEnergy(i); + G4double tau = LowEdgeEnergy/aMass; + G4double Value; + + if ( tau <= tau1 ){ + Value =2.*aMass*log(1.+cba*sqrt(tau))/cb; + } else { + Value = 2.*aMass*log(1.+cba*sqtau1)/cb; + if ( tau <= taulim ) { + G4int nbin = (G4int)(maxnbint*(tau-tau1)/(taulim-tau1)); + if ( nbin<1 ) nbin = 1; + Value += RangeLinSimpson(elementVector,atomicNumDensityVector, + aMass, + tau1, tau, nbin); + } else { + Value += RangeLinSimpson(elementVector,atomicNumDensityVector, + aMass, + tau1, taulim, maxnbint); + G4double ltaulow = log(taulim); + G4double ltauhigh = log(tau); + G4int nbin = (G4int)(maxnbint*(ltauhigh-ltaulow)/(ltaumax-ltaulow)); + if ( nbin<1 ) nbin = 1; + Value += RangeLogSimpson(elementVector,atomicNumDensityVector, + aMass, + ltaulow, ltauhigh, nbin); + } + } + rangeVector->PutValue(i,Value); + if (rmax < Value) rmax = Value; + } +} + +// ********************************************************************** +// ****************** ConvertCutToKineticEnergy ************************* +// ********************************************************************** +G4double G4VRangeToEnergyConverter::ConvertCutToKineticEnergy( + G4RangeVector* rangeVector, + G4double theCutInLength, + size_t materialIndex + ) const +{ + const G4double epsilon=0.01; + + // find max. range and the corresponding energy (rmax,Tmax) + G4double rmax= -1.e10*mm; + G4double Tmax= HighestEnergy; + G4double fac = exp( log(HighestEnergy/LowestEnergy)/TotBin ); + G4double T=LowestEnergy/fac; + G4bool isOut; + + for (size_t ibin=0; ibinGetValue(T,isOut); + if ( r>rmax ) { + Tmax=T; + rmax=r; + } + } + + // check cut in length is smaller than range max + if ( theCutInLength >= rmax ) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << "G4VRangeToEnergyConverter::ConvertCutToKineticEnergy "; + G4cout << " for " << theParticle->GetParticleName() << G4endl; + G4cout << "The cut in range [" << theCutInLength/mm << " (mm)] "; + G4cout << " is too big " << G4endl; + G4cout << "The cut in energy is set" << DBL_MAX/GeV << "GeV " <GetValue(T1,isOut); + if ( theCutInLength <= r1 ) + { + return T1; + } + + G4double T2 = Tmax ; + G4double T3 = sqrt(T1*T2); + G4double r3 = rangeVector->GetValue(T3,isOut); + while ( abs(1.-r3/theCutInLength)>epsilon ) { + if ( theCutInLength <= r3 ) { + T2 = T3; + } else { + T1 = T3; + } + T3 = sqrt(T1*T2); + r3 = rangeVector->GetValue(T3,isOut); + } + + return T3; +} + diff --git a/source/particles/shortlived/include/G4DiQuarks.hh b/source/particles/shortlived/include/G4DiQuarks.hh index e9f75591ae..f97bca9e8b 100644 --- a/source/particles/shortlived/include/G4DiQuarks.hh +++ b/source/particles/shortlived/include/G4DiQuarks.hh @@ -22,7 +22,7 @@ // // // $Id: G4DiQuarks.hh,v 1.4 2001/07/11 10:02:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh index ea311ea5ac..f5876756dd 100644 --- a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedBaryonConstructor.hh,v 1.5 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedBaryons.hh b/source/particles/shortlived/include/G4ExcitedBaryons.hh index 08251886d1..4784b59f4e 100644 --- a/source/particles/shortlived/include/G4ExcitedBaryons.hh +++ b/source/particles/shortlived/include/G4ExcitedBaryons.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedBaryons.hh,v 1.5 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh index d1cafb7ef3..26d21241dd 100644 --- a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedDeltaConstructor.hh,v 1.5 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh index 097bad86f4..1e4b5828a3 100644 --- a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedLambdaConstructor.hh,v 1.6 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh index 5b780fd66e..d8f73faa6b 100644 --- a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh @@ -28,7 +28,7 @@ // and all its terms. // // $Id: G4ExcitedMesonConstructor.hh,v 1.7 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedMesons.hh b/source/particles/shortlived/include/G4ExcitedMesons.hh index 13d46a361b..69d96de14e 100644 --- a/source/particles/shortlived/include/G4ExcitedMesons.hh +++ b/source/particles/shortlived/include/G4ExcitedMesons.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedMesons.hh,v 1.5 2001/07/11 10:02:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh index 75e8f310f4..77b5ce8a19 100644 --- a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedNucleonConstructor.hh,v 1.5 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh index 8f1ecaf3bc..cd1144c062 100644 --- a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedSigmaConstructor.hh,v 1.5 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh index e98c885afe..32cf391ea0 100644 --- a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedXiConstructor.hh,v 1.5 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4Gluons.hh b/source/particles/shortlived/include/G4Gluons.hh index 1e90484fb5..2401a79eda 100644 --- a/source/particles/shortlived/include/G4Gluons.hh +++ b/source/particles/shortlived/include/G4Gluons.hh @@ -22,7 +22,7 @@ // // // $Id: G4Gluons.hh,v 1.4 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4Quarks.hh b/source/particles/shortlived/include/G4Quarks.hh index 6f94f47318..bd4cf77946 100644 --- a/source/particles/shortlived/include/G4Quarks.hh +++ b/source/particles/shortlived/include/G4Quarks.hh @@ -22,7 +22,7 @@ // // // $Id: G4Quarks.hh,v 1.4 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ShortLivedConstructor.hh b/source/particles/shortlived/include/G4ShortLivedConstructor.hh index 28b2745206..998fdfc224 100644 --- a/source/particles/shortlived/include/G4ShortLivedConstructor.hh +++ b/source/particles/shortlived/include/G4ShortLivedConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShortLivedConstructor.hh,v 1.4 2001/07/11 10:02:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4VShortLivedParticle.hh b/source/particles/shortlived/include/G4VShortLivedParticle.hh index bd4f14bb9f..a4223ac6bb 100644 --- a/source/particles/shortlived/include/G4VShortLivedParticle.hh +++ b/source/particles/shortlived/include/G4VShortLivedParticle.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VShortLivedParticle.hh,v 1.5 2001/10/15 10:00:23 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VShortLivedParticle.hh,v 1.6 2003/03/10 08:43:56 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -73,19 +73,6 @@ class G4VShortLivedParticle : public G4ParticleDefinition G4int operator==(const G4VShortLivedParticle &right) const; G4int operator!=(const G4VShortLivedParticle &right) const; - public: - // These methods concerning cut values are not supported for shortlives - virtual void SetCuts(G4double ); - virtual void SetRangeCut(G4double ,const G4Material*); - virtual void SetRangeCutVector(G4std::vector&); - - virtual void ResetCuts(); - virtual void ReCalcCuts(); - - virtual G4double* GetLengthCuts() const; - virtual G4double GetRangeThreshold(const G4Material* ) const; - virtual G4double* GetEnergyCuts() const; - virtual G4double GetEnergyThreshold(const G4Material* ) const; }; #endif diff --git a/source/particles/shortlived/src/G4DiQuarks.cc b/source/particles/shortlived/src/G4DiQuarks.cc index 9eefd6c2b8..1a448c27e3 100644 --- a/source/particles/shortlived/src/G4DiQuarks.cc +++ b/source/particles/shortlived/src/G4DiQuarks.cc @@ -22,7 +22,7 @@ // // // $Id: G4DiQuarks.cc,v 1.4 2001/07/11 10:02:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc index 252a4aeee6..7217803227 100644 --- a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedBaryonConstructor.cc,v 1.6 2001/07/11 10:02:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedBaryons.cc b/source/particles/shortlived/src/G4ExcitedBaryons.cc index 0347c04027..4736800d15 100644 --- a/source/particles/shortlived/src/G4ExcitedBaryons.cc +++ b/source/particles/shortlived/src/G4ExcitedBaryons.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedBaryons.cc,v 1.4 2001/07/11 10:02:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc index a0c8cb6c6a..183ac6b3b9 100644 --- a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedDeltaConstructor.cc,v 1.7 2002/11/19 11:49:24 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc index 2d98c49c59..b8d6f6b3b3 100644 --- a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedLambdaConstructor.cc,v 1.5 2001/07/11 10:02:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc index 23f81d2ffe..967962f26e 100644 --- a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedMesonConstructor.cc,v 1.11 2002/10/01 04:30:58 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedMesons.cc b/source/particles/shortlived/src/G4ExcitedMesons.cc index f235c9e484..0f2cf52d99 100644 --- a/source/particles/shortlived/src/G4ExcitedMesons.cc +++ b/source/particles/shortlived/src/G4ExcitedMesons.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedMesons.cc,v 1.4 2001/07/11 10:02:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc index af988ae097..70f1c36eea 100644 --- a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedNucleonConstructor.cc,v 1.6 2002/11/19 11:49:24 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc index ff01800328..4630963721 100644 --- a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedSigmaConstructor.cc,v 1.7 2002/11/19 11:49:24 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc index 624bc82c2d..70efa6be5c 100644 --- a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedXiConstructor.cc,v 1.5 2001/07/11 10:02:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4Gluons.cc b/source/particles/shortlived/src/G4Gluons.cc index b968c6caf2..332c7657a7 100644 --- a/source/particles/shortlived/src/G4Gluons.cc +++ b/source/particles/shortlived/src/G4Gluons.cc @@ -22,7 +22,7 @@ // // // $Id: G4Gluons.cc,v 1.4 2001/07/11 10:02:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4Quarks.cc b/source/particles/shortlived/src/G4Quarks.cc index dcfccb9477..ca8a492615 100644 --- a/source/particles/shortlived/src/G4Quarks.cc +++ b/source/particles/shortlived/src/G4Quarks.cc @@ -22,7 +22,7 @@ // // // $Id: G4Quarks.cc,v 1.4 2001/07/11 10:02:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ShortLivedConstructor.cc b/source/particles/shortlived/src/G4ShortLivedConstructor.cc index 0ccd8f23cb..fc980e7ff1 100644 --- a/source/particles/shortlived/src/G4ShortLivedConstructor.cc +++ b/source/particles/shortlived/src/G4ShortLivedConstructor.cc @@ -22,7 +22,7 @@ // // // $Id: G4ShortLivedConstructor.cc,v 1.10 2002/11/19 11:49:24 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4VShortLivedParticle.cc b/source/particles/shortlived/src/G4VShortLivedParticle.cc index 97ad108344..463137271b 100644 --- a/source/particles/shortlived/src/G4VShortLivedParticle.cc +++ b/source/particles/shortlived/src/G4VShortLivedParticle.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VShortLivedParticle.cc,v 1.5 2001/10/15 10:00:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VShortLivedParticle.cc,v 1.6 2003/03/10 08:43:56 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -58,56 +58,6 @@ G4VShortLivedParticle::G4VShortLivedParticle(const G4String& aName, } -void G4VShortLivedParticle::ResetCuts() -{ - G4cout << "G4VShortLivedParticle::ResetCuts() causes no effect!!" << G4endl; -} - -void G4VShortLivedParticle::SetCuts(G4double ) -{ - G4cout << "G4VShortLivedParticle::SetCuts() causes no effect!!" << G4endl; -} - -void G4VShortLivedParticle::SetRangeCut(G4double ,const G4Material*) -{ - G4cout << "G4VShortLivedParticle::SetRangeCut() causes no effect!!" << G4endl; -} - -void G4VShortLivedParticle::SetRangeCutVector(G4std::vector -&) -{ - G4cout << "G4VShortLivedParticle::SetRangeCutVector() causes no effect!!" << G4endl; -} - -void G4VShortLivedParticle::ReCalcCuts() -{ - G4cout << "G4VShortLivedParticle::ReCalcCuts() causes no effect!!" << G4endl; -} - -G4double* G4VShortLivedParticle::GetLengthCuts() const -{ - G4cout << "G4VShortLivedParticle::GetLengthCuts() causes no effect!!" << G4endl; - return 0; -} - -G4double* G4VShortLivedParticle::GetEnergyCuts() const -{ - G4cout << "G4VShortLivedParticle::GetLengthCuts() causes no effect!!" << G4endl; - return 0; -} - -G4double G4VShortLivedParticle::GetRangeThreshold(const G4Material* ) const -{ - G4cout << "G4VShortLivedParticle::GetRangeThreshold() causes no effect!!" << G4endl; - return -1.0*mm; -} - -G4double G4VShortLivedParticle::GetEnergyThreshold(const G4Material* ) const -{ - G4cout << "G4VShortLivedParticle::GetEnergyThreshold() causes no effect!!" << G4endl; - return -1.0*eV; -} - const G4VShortLivedParticle & G4VShortLivedParticle::operator=(const G4VShortLivedParticle& right) { diff --git a/source/persistency/History b/source/persistency/History index 3399bcb9ed..e0aeb2657c 100644 --- a/source/persistency/History +++ b/source/persistency/History @@ -15,6 +15,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +05 February, 03 G.Cosmo (persistency-V05-00-00) +- Corrected inclusion of headers for constant and units from CLHEP. + 04 December, 02 Y.Morita (persistency-V04-01-02) - G4PersistencyManager.cc: protect for default persistency manager - G4PersistencyCenter.cc: bug fixes, disable HepMC/MCTruth printout diff --git a/source/persistency/src/G4MCTSimParticle.cc b/source/persistency/src/G4MCTSimParticle.cc index cd94e06ef1..f44e8fdda3 100644 --- a/source/persistency/src/G4MCTSimParticle.cc +++ b/source/persistency/src/G4MCTSimParticle.cc @@ -25,7 +25,7 @@ #include "g4std/strstream" #include "g4std/iomanip" #include "G4ios.hh" -#include "CLHEP/Units/SystemOfUnits.h" +#include #include "G4MCTSimParticle.hh" #include "G4MCTSimVertex.hh" diff --git a/source/persistency/src/G4MCTSimVertex.cc b/source/persistency/src/G4MCTSimVertex.cc index 19d4590766..ef97c2aa16 100644 --- a/source/persistency/src/G4MCTSimVertex.cc +++ b/source/persistency/src/G4MCTSimVertex.cc @@ -25,7 +25,7 @@ #include "g4std/strstream" #include "g4std/iomanip" #include "G4ios.hh" -#include "CLHEP/Units/SystemOfUnits.h" +#include #include "G4MCTSimParticle.hh" #include "G4MCTSimVertex.hh" diff --git a/source/processes/decay/History b/source/processes/decay/History index 4ea099bbf0..8e98e66fac 100644 --- a/source/processes/decay/History +++ b/source/processes/decay/History @@ -1,4 +1,4 @@ -$Id: History,v 1.10 2002/02/12 02:14:03 kurasige Exp $ +$Id: History,v 1.11 2003/04/26 18:54:11 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,10 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +- Apr 26, 03 V.Ivanchenko(decay-V05-00-00) +- add initialisation of TouchableHandle for decay products + - Feb 12, 02 H.Kurashige(decay-V04-00-01) - Remove physics table diff --git a/source/processes/decay/include/G4Decay.hh b/source/processes/decay/include/G4Decay.hh index b92929d9e8..e5090001d7 100644 --- a/source/processes/decay/include/G4Decay.hh +++ b/source/processes/decay/include/G4Decay.hh @@ -22,7 +22,7 @@ // // // $Id: G4Decay.hh,v 1.8 2002/02/12 02:14:03 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/decay/include/G4VExtDecayer.hh b/source/processes/decay/include/G4VExtDecayer.hh index b8f98a2b75..ec16bd4fe3 100644 --- a/source/processes/decay/include/G4VExtDecayer.hh +++ b/source/processes/decay/include/G4VExtDecayer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VExtDecayer.hh,v 1.3 2001/07/11 10:02:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/decay/src/G4Decay.cc b/source/processes/decay/src/G4Decay.cc index 3b876d90b7..1ba3177658 100644 --- a/source/processes/decay/src/G4Decay.cc +++ b/source/processes/decay/src/G4Decay.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Decay.cc,v 1.15 2002/02/12 08:57:20 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Decay.cc,v 1.16 2003/04/26 18:54:11 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -266,10 +266,10 @@ G4VParticleChange* G4Decay::DecayIt(const G4Track& aTrack, const G4Step& ) // AtRest case finalGlobalTime += fRemainderLifeTime; energyDeposit += aParticle->GetKineticEnergy(); - if (isPreAssigned) products->Boost( ParentEnergy, ParentDirection); + if (isPreAssigned) products->Boost( ParentEnergy, ParentDirection); } else { // PostStep case - if (!isExtDecayer) products->Boost( ParentEnergy, ParentDirection); + if (!isExtDecayer) products->Boost( ParentEnergy, ParentDirection); } //add products in fParticleChangeForDecay @@ -289,16 +289,18 @@ G4VParticleChange* G4Decay::DecayIt(const G4Track& aTrack, const G4Step& ) #endif G4int index; G4ThreeVector currentPosition; - for (index=0; index < numberOfSecondaries; index++) - { + const G4TouchableHandle thand = aTrack.GetTouchableHandle(); + for (index=0; index < numberOfSecondaries; index++) + { // get current position of the track currentPosition = aTrack.GetPosition(); // create a new track object G4Track* secondary = new G4Track( products->PopProducts(), finalGlobalTime , currentPosition ); - // switch on good for tracking flag + // switch on good for tracking flag secondary->SetGoodForTrackingFlag(); + secondary->SetTouchableHandle(thand); // add the secondary track in the List fParticleChangeForDecay.AddSecondary(secondary); } diff --git a/source/processes/electromagnetic/lowenergy/History b/source/processes/electromagnetic/lowenergy/History index 0f992ba605..45cd6852dc 100644 --- a/source/processes/electromagnetic/lowenergy/History +++ b/source/processes/electromagnetic/lowenergy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.163 2002/12/11 15:57:24 pia Exp $ +$Id: History,v 1.180 2003/04/26 19:06:24 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,89 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +26.04-2003 VI, tag emlowen-V05-00-17 + Fixes of stepLimit + +24.04-2003 MGP, tag emlowen-V05-00-16 + Fixes related to "cuts-per-region" + +24.04-2003 MGP, tag emlowen-V05-00-15 + Fixes for "final range" and fix in G4VeLowEnergyLoss + related to "cuts per region" + +17.04-2003 MGP, tag emlowen-V05-00-14 + Bug fix to the Auger effect, in response to user report + +17.04-2003 MGP, tag emlowen-V05-00-13 + Modifications related to "cuts per region" by VI as below + Bug fix to G4LowEnergyGammaConversion (angular distribution) + +12.04-2003 VI migration to cut per region for fluo AlongStep + G4ShellVacancy, G4hLowEnergyIonisation, G4LowEnergyIonisation + +28.03-2003 G.Cosmo, tag emlowen-V05-00-12 + Fixed compilation errors on SUN-CC for files: + G4PenelopeBremsstrahlung.cc, G4PenelopeBremsstrahlungAngular.cc, + G4PenelopeBremsstrahlungContinuous.cc, G4PenelopeInterpolator.cc. + Variables defined in for-loops scope were used outside scope! + +27.03-2003 G.Cosmo, tag emlowen-V05-00-11 + Fixed usage of 'abs' in G4PenelopeInterpolator.cc and + G4PenelopeBremsstrahlungContinuous.cc to allow porting + on WIN32-VC platform. 'abs' should not be included in + the std namespace. + +19.03-2003 MGP, tag emlowen-V05-00-10 + Includes the two minor items below, on top of emlowen-V05-00-09 + +10.03-2003 VI remove cut per material warning + VI use SutType for ions + +28.02-2003 VI Minor design iteration on Bremsstrahlung, to accomodate + variable name of file with parameters + +26.02-2003 G.Cosmo, tag emlowen-V05-00-09 + Fixed usage of 'abs' in G4PenelopeCompton.cc to allow porting + on WIN32-VC platform. 'abs' should not be included in the std + namespace. + +24.02-2003 MGP, tag emlowen-V05-00-08 + Small fixes related to Penelope processes for photons + +22.02-2003 MGP, tag emlowen-V05-00-07 + Porting Penelope processes for photons to SUN + +22.02-2003 MGP, tag emlowen-V05-00-06 + Minor design iteration on Bremsstrahlung, to accomodate + variable number of parameters compatible with Penelope + processes + +22.02-2003 MGP, tag emlowen-V05-00-05 + New Ziegler2000 parameterisation for G4hLowEnergyIonisation + added by VI + +12.02-2003 MGP, tag emlowen-V05-00-04 + Corrected compilation error in G4LowEnergyLoss in tags V05-00-02/3 + Migrated Penelope processes to cuts-per-region + Removed some compilation warnings + +11.02-2003 MGP, tag emlowen-V05-00-03 + First tag including Penelope processes for photons and related + unit tests, implemented by Luciano Pandola + +11.02-2003 MGP, tag emlowen-V05-00-02 + Included minor editing of header files in the cut-per-region + migration and protection of energy loss fluctuations by VI + +05.02-2003 CG, tag emlowen-V05-00-01 + Removed redundant inclusion of headers for units and constants. + Now using directly CLHEP headers. Affected files: + G4QAOLowEnergyLoss.cc and few unit test .cc files. + +24.01-2003 MGP, tag emlowen-V05-00-00 + Included changes by VI for migration to cuts-by-region aware + processes. + 10.12-2002 MGP, tag emlowen-V04-01-09 VI G4hLowEnergyIonisation.cc - antiprotons: free electron gas model replaces constant extension of quantum oscillator model diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh index 552ffb4070..e191fdb94e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransitionManager.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh index d6e81412e1..2023025850 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh @@ -22,7 +22,7 @@ // // // $Id: G4AtomicShell.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransition.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransition.hh index 8a1a456ffc..341b7dc94c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransition.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransition.hh @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransition.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh index 69b27f5f58..10f868ae26 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransitionManager.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh b/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh index 53a4983ddc..d4cd0f3ccd 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh @@ -23,7 +23,7 @@ // // // $Id: G4AugerData.hh -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh b/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh index 3aaeb35733..a08d9321ae 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BremsstrahlungParameters.hh,v 1.6 2001/11/29 19:01:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BremsstrahlungParameters.hh,v 1.8 2003/02/28 08:41:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V. Ivanchenko (Vladimir.Ivantchenko@cern.ch) @@ -34,6 +34,8 @@ // 12.09.01 V.Ivanchenko Add activeZ and paramA // 25.09.01 V.Ivanchenko Add parameter C and change interface to B // 29.11.01 V.Ivanchenko Parametrisation is updated +// 21.02.03 V.Ivanchenko Number of parameters is defined in the constructor +// 28.02.03 V.Ivanchenko Filename is defined in the constructor // // ------------------------------------------------------------------- @@ -56,32 +58,32 @@ class G4VEMDataSet; class G4VDataSetAlgorithm; class G4BremsstrahlungParameters { - + public: - G4BremsstrahlungParameters(G4int minZ = 1, G4int maxZ = 99); + G4BremsstrahlungParameters(const G4String& name, size_t num, G4int minZ = 1, G4int maxZ = 99); ~G4BremsstrahlungParameters(); - + G4double Parameter(G4int parameterIndex, G4int Z, G4double energy) const; G4double ParameterC(G4int index) const; - + void PrintData() const; private: - // hide assignment operator + // hide assignment operator G4BremsstrahlungParameters(const G4BremsstrahlungParameters&); G4BremsstrahlungParameters & operator=(const G4BremsstrahlungParameters &right); - void LoadData(); + void LoadData(const G4String& name); G4std::map > param; G4DataVector paramC; G4DataVector activeZ; - + G4int zMin; G4int zMax; @@ -90,7 +92,7 @@ private: }; #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh index 3d62fade70..9c0998049f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh @@ -22,7 +22,7 @@ // // // $Id: G4CompositeEMDataSet.hh,v 1.4 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh index d63800da74..53670d9fd9 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4CrossSectionHandler.hh,v 1.7 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh index 5a592e55a7..dc473e3df6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh @@ -22,7 +22,7 @@ // // // $Id: G4EMDataSet.hh,v 1.3 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh b/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh index afbf27ea0c..3bd09d0b16 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh @@ -22,7 +22,7 @@ // // // $Id: G4FluoTransition.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh index 3a2847a538..dddb2260c4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh @@ -22,7 +22,7 @@ // // // $Id: G4LinInterpolation.hh,v 1.2 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh index 7d27c392a3..065dd95323 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogLogInterpolation.hh,v 1.3 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh index 4c19ecac90..4bd3e6c5bf 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh @@ -22,8 +22,8 @@ // // // ------------------------------------------------------------------- -// $Id: G4LowEnergyBremsstrahlung.hh,v 1.30 2002/07/19 17:44:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyBremsstrahlung.hh,v 1.31 2003/02/21 17:05:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // @@ -34,6 +34,7 @@ // 10 Oct 2001 M.G. Pia Revision to improve code quality // and consistency with design // 29 Nov 2001 V.Ivanchenko New parametrisation of EEDL data +// 21 Feb 2003 V.Ivanchenko Energy bins for spectrum are defined here // // ------------------------------------------------------------------- @@ -73,7 +74,7 @@ public: void BuildPhysicsTable(const G4ParticleDefinition& particleType); G4VParticleChange* PostStepDoIt(const G4Track& track, - const G4Step& step); + const G4Step& step); void SetCutForLowEnSecPhotons(G4double cut); @@ -96,6 +97,7 @@ private: G4VCrossSectionHandler* crossSectionHandler; G4VEMDataSet* theMeanFreePath; G4VEnergySpectrum* energySpectrum; + G4DataVector energyBins; // Lower limit for generation of gamma in this model G4DataVector cutForSecondaryPhotons; @@ -103,9 +105,9 @@ private: }; - + #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh index 0728142bc7..d5be335478 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh @@ -21,7 +21,7 @@ // ******************************************************************** // $Id: G4LowEnergyCompton.hh,v 1.19 2001/12/13 12:04:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh index dc02b717bf..1823a90984 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh @@ -22,7 +22,7 @@ // // // $Id: G4LowEnergyGammaConversion.hh,v 1.14 2001/10/08 07:45:33 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh index 0e36532dbf..f1e3f427c6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // ------------------------------------------------------------------- -// $Id: G4LowEnergyIonisation.hh,v 1.38 2002/07/19 17:44:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyIonisation.hh,v 1.39 2003/02/07 15:39:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // @@ -36,6 +36,7 @@ // consistency with design // 29 Nov 2001 V.Ivanchenko New parametrisation of EEDL data // 31 May 2002 V.Ivanchenko Add Auger flag +// 06 Feb 2003 V.Ivanchenko Change signature of deexcitation for cut per region // // ------------------------------------------------------------------- @@ -95,7 +96,7 @@ protected: protected: - virtual G4std::vector* DeexciteAtom(const G4Material* material, + virtual G4std::vector* DeexciteAtom(const G4MaterialCutsCouple* couple, G4double incidentEnergy, G4double eLoss); diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh index a59058a8f1..26b0b198de 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh @@ -22,7 +22,7 @@ // // // $Id: G4LowEnergyPhotoElectric.hh,v 1.25 2002/06/01 03:14:18 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh index d0f88304f3..b107f40f67 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh @@ -22,7 +22,7 @@ // // // $Id: G4LowEnergyPolarizedCompton.hh,v 1.8 2002/05/31 18:11:45 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh index 454683b86b..ad75a4aa82 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh @@ -22,7 +22,7 @@ // // // $Id: G4LowEnergyRayleigh.hh,v 1.15 2001/10/08 07:45:35 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh new file mode 100644 index 0000000000..5f96760f02 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh @@ -0,0 +1,123 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlung.hh,v 1.2 2003/03/19 10:27:44 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L.Pandola +// +// History: +// ----------- +// 03 Feb 2003 L. Pandola 1st implementation +// 18 Mar 2003 L. Pandola positrons added +// Class description: +// Penelope electromagnetic process, electron and positron Bremsstrahlung +// -------------------------------------------------------------- + + +#ifndef G4PENELOPEBREMSSTRAHLUNG_HH +#define G4PENELOPEBREMSSTRAHLUNG_HH 1 + +#include "G4eLowEnergyLoss.hh" +#include "G4DataVector.hh" +#include "globals.hh" +#include "G4PenelopeBremsstrahlungAngular.hh" + +class G4Track; +class G4Step; +class G4ParticleDefinition; +class G4VParticleChange; +class G4VEMDataSet; +class G4VEnergySpectrum; +class G4VCrossSectionHandler; +class G4PenelopeBremsstrahlung : public G4eLowEnergyLoss +{ + typedef G4std::vector G4AngularData; + //vector of pointers to the angular factors of the elements in each material + +public: + + G4PenelopeBremsstrahlung(const G4String& processName = "PenelopeBrem"); + + ~G4PenelopeBremsstrahlung(); + + G4bool IsApplicable(const G4ParticleDefinition&); + + void BuildPhysicsTable(const G4ParticleDefinition& particleType); + + G4VParticleChange* PostStepDoIt(const G4Track& track, + const G4Step& step); + + void SetCutForLowEnSecPhotons(G4double cut); + + void PrintInfoDefinition(); + + //For testing purpose only + G4double DumpMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) + { return GetMeanFreePath(aTrack, previousStepSize, condition); } + +protected: + + G4double GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition ); + +private: + + // Hide copy constructor and assignment operator as private + G4PenelopeBremsstrahlung(const G4PenelopeBremsstrahlung& ); + G4PenelopeBremsstrahlung& operator = (const G4PenelopeBremsstrahlung& right); + + void BuildLossTable(const G4ParticleDefinition& ParticleType); + + void LoadAngularData(); + + G4VCrossSectionHandler* crossSectionHandler; + G4VEMDataSet* theMeanFreePath; + G4VEnergySpectrum* energySpectrum; + G4std::vector materialAngularData; + //Vector of pointers to the vectors containing tha angular data + //one element=one material + + // Lower limit for generation of gamma in this model + G4DataVector cutForSecondaryPhotons; + G4double cutForPhotons; +}; + + + +#endif + + + + + + + + + + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh new file mode 100644 index 0000000000..996e649361 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh @@ -0,0 +1,73 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlungAngular.hh,v 1.1 2003/03/13 17:23:03 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L.Pandola +// +// History: +// ----------- +// 04 Feb 2003 L. Pandola 1st implementation +// Class description: +// Calculation of angular distribution for Penelope Bremsstrahlung +// -------------------------------------------------------------- + + +#ifndef G4PENELOPEBREMSSTRAHLUNGANGULAR_HH +#define G4PENELOPEBREMSSTRAHLUNGANGULAR_HH 1 +#include "globals.hh" + +class G4PenelopeBremsstrahlungAngular +{ + +private: + enum{NumberofZPoints=6, + NumberofEPoints=6, + NumberofKPoints=4, + reducedEnergyGrid=21}; + +public: + + G4PenelopeBremsstrahlungAngular(G4int Zmat); + ~G4PenelopeBremsstrahlungAngular(); + G4double ExtractCosTheta(G4double PrimaryEnergy,G4double GammaEnergy); + +private: + + void InterpolationTableForZ(); //Initialization of tables (part 1) + void InterpolationForK(); //Initialization of tables (part 2) + + G4double betas[NumberofEPoints]; //betas for interpolation + //tables for interpolation + G4double Q1[NumberofEPoints][NumberofKPoints],Q2[NumberofEPoints][NumberofKPoints]; + //expanded tables for interpolation + G4double Q1E[NumberofEPoints][reducedEnergyGrid],Q2E[NumberofEPoints][reducedEnergyGrid]; + //Z of the element + G4int Zmat; +}; + + + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh new file mode 100644 index 0000000000..f7dba2d43b --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlungContinuous.hh,v 1.2 2003/03/19 10:28:28 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L.Pandola +// +// History: +// ----------- +// 20 Feb 2003 L. Pandola 1st implementation +// 17 Mar 2003 L. Pandola Added the correction for positrons +// Class description: +// Calculation of continuous energy loss for Penelope Bremsstrahlung +// It is used both for electrons and positrons +// -------------------------------------------------------------- + + +#ifndef G4PENELOPEBREMSSTRAHLUNGCONTINUOUS_HH +#define G4PENELOPEBREMSSTRAHLUNGCONTINUOUS_HH 1 +#include "globals.hh" + +class G4PenelopeBremsstrahlungContinuous +{ +private: + enum{ NumberofEPoints=57, + NumberofKPoints=32, + NumberofExtendedEGrid=200}; + +public: + + G4PenelopeBremsstrahlungContinuous(G4int Zmat,G4double tCut, G4double emin, G4double emax, + const G4String partName); + ~G4PenelopeBremsstrahlungContinuous(); + G4double CalculateStopping(G4double PrimaryEnergy); + +private: + + void PrepareInterpolationTable(); + void LoadFromFile(); + G4double PositronCorrection(G4double energy); //correction function for positrons + + G4int Zmat; + G4double tCut; + G4double MinE,MaxE; + const G4String partName; + G4double DLFC; //needed for calculation of extended energy grid + G4double Energies[NumberofEPoints]; + G4double ReducedCS[NumberofEPoints][NumberofKPoints]; + G4double TotalCS[NumberofEPoints]; + G4double ExtendedLogEnergy[NumberofExtendedEGrid]; + G4double p0[NumberofExtendedEGrid][NumberofKPoints]; + //G4double Pbcut[NumberofExtendedEGrid]; //serve? +}; + + + +#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh new file mode 100644 index 0000000000..7099920494 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh @@ -0,0 +1,116 @@ +// +// ******************************************************************** +// * 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: G4PenelopeCompton.hh,v 1.5 2003/02/24 00:36:10 pia Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 05 Dec 2002 L. Pandola 1st implementation +// 12 Feb 2003 MG Pia const argument in SelectRandomAtomForCompton +// 14 Feb 2003 MG Pia Modified some variables to lowercase initial +// +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic Physics, Compton Scattering +// Penelope Model +// ------------------------------------------------------------------- + +#ifndef G4PENELOPECOMPTON_HH +#define G4PENELOPECOMPTON_HH 1 + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" + +class G4Track; +class G4Step; +class G4ParticleDefinition; +class G4VParticleChange; +class G4VEMDataSet; +class G4VRangeTest; +class G4Material; + +class G4PenelopeCompton : public G4VDiscreteProcess { + +public: + + G4PenelopeCompton(const G4String& processName ="PenCompton"); + + ~G4PenelopeCompton(); + + G4bool IsApplicable(const G4ParticleDefinition& definition); + + void BuildPhysicsTable(const G4ParticleDefinition& photon); + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + + // For testing purpose only + G4double DumpMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) + { return GetMeanFreePath(aTrack, previousStepSize, condition); } + +protected: + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); + +private: + + // Hide copy constructor and assignment operator as private + G4PenelopeCompton& operator=(const G4PenelopeCompton& right); + G4PenelopeCompton(const G4PenelopeCompton& ); + + void ReadData(); + + G4double CrossSection(G4double energy,G4int Z); + G4double DifferentialCrossSection (G4double cdt); + + G4double lowEnergyLimit; // low energy limit applied to the process + G4double highEnergyLimit; // high energy limit applied to the process + + G4VEMDataSet* meanFreePathTable; + G4VRangeTest* rangeTest; + + const G4double intrinsicLowEnergyLimit; // intrinsic validity range + const G4double intrinsicHighEnergyLimit; + + G4double energyForIntegration; //for numerical integration of + G4int ZForIntegration;// analytical cross section + + G4std::vector *ionizationEnergy; + G4std::vector *hartreeFunction; + G4std::vector *occupationNumber; + + G4int SelectRandomAtomForCompton(const G4Material* material,G4double e) const; + + const G4int nBins; //for building cross section table + + G4std::vector* matCrossSections; //for random choice of atom +}; + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh new file mode 100644 index 0000000000..e8e4e852f7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh @@ -0,0 +1,117 @@ +// +// ******************************************************************** +// * 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: G4PenelopeGammaConversion.hh,v 1.1 2002/12/06 16:25:00 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L. Pandola +// +// History: +// ----------- +// 02 Dec 2002 L.Pandola 1st implementation +// ------------------------------------------------------------------- + +// Class description: +// Low Energy process, Photon conversion +// Penelope model + +// ------------------------------------------------------------------- + +#ifndef G4PENELOPEGAMMACONVERSION_HH +#define G4PENELOPEGAMMACONVERSION_HH 1 + +#include "G4VDiscreteProcess.hh" + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +class G4Track; +class G4Step; +class G4ParticleDefinition; +class G4VParticleChange; +class G4VEMDataSet; +class G4VCrossSectionHandler; +class G4VRangeTest; + +class G4PenelopeGammaConversion : public G4VDiscreteProcess { + +public: + + G4PenelopeGammaConversion(const G4String& processName ="PenConversion"); + + ~G4PenelopeGammaConversion(); + + G4bool IsApplicable(const G4ParticleDefinition& photon); + + void BuildPhysicsTable(const G4ParticleDefinition& photon); + + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + + // For testing purpose only + G4double DumpMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) + { return GetMeanFreePath(aTrack, previousStepSize, condition); } + +protected: + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); + +private: + + // Hide copy constructor and assignment operator as private + G4PenelopeGammaConversion& operator=(const G4PenelopeGammaConversion &right); + G4PenelopeGammaConversion(const G4PenelopeGammaConversion& ); + + G4double GetScreeningRadius(G4double Z); + G4double ScreenFunction(G4double screenVariable,G4int icase); + G4double CoulombCorrection(G4double ZAlpha); + G4double LowEnergyCorrection(G4double ZAlpha,G4double eki); + + G4double lowEnergyLimit; // low energy limit applied to the process + G4double highEnergyLimit; // high energy limit applied to the process + + G4VEMDataSet* meanFreePathTable; + G4VCrossSectionHandler* crossSectionHandler; + + G4VRangeTest* rangeTest; + + const G4double intrinsicLowEnergyLimit; // intrinsic validity range + const G4double intrinsicHighEnergyLimit; + + const G4double smallEnergy; + +}; + +#endif + + + + + + + + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.hh new file mode 100644 index 0000000000..b445e1e225 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.hh @@ -0,0 +1,63 @@ +// +// ******************************************************************** +// * 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: Luciano Pandola (Luciano.Pandola@cern.ch) +// +// History: +// ----------- +// 30 Nov 2002 LP Created +// +// ------------------------------------------------------------------- +// Class description: +// Numerical quadrature of a function +// G4double function (G4double x) +// using Gauss adaptive-bipartition formula. +// ------------------------------------------------------------------- + +#ifndef G4PENELOPEINTEGRATOR_HH +#define G4PENELOPEINTEGRATOR_HH 1 + +#include "globals.hh" +#include + +template +class G4PenelopeIntegrator +{ + public: + + G4PenelopeIntegrator(){;} + + ~G4PenelopeIntegrator(){;} + + G4double Calculate(T& typeT,F f,G4double LowPoint,G4double HighPoint, + G4double MaxError); + G4double Calculate(T* ptrT,F f,G4double LowPoint,G4double HighPoint, + G4double MaxError); + +}; + +#include "G4PenelopeIntegrator.icc" + +#endif + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.icc b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.icc new file mode 100644 index 0000000000..757d5e6476 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIntegrator.icc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * 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: Luciano Pandola (Luciano.Pandola@cern.ch) +// +// History: +// ----------- +// 30 Nov 2002 LP Created +// 14 Feb 2003 MGP Corrected compilation errors from SUN +// +// ------------------------------------------------------------------- + +template +G4double G4PenelopeIntegrator::Calculate(T& typeT, F f, + G4double LowPoint,G4double HighPoint, + G4double MaxError) +{ + const G4int npoints=10; + const G4int ncallsmax=20000; + const G4int nst=256; + static G4double Abscissas[10] = {7.652651133497334e-02,2.2778585114164508e-01,3.7370608871541956e-01, + 5.1086700195082710e-01,6.3605368072651503e-01,7.4633190646015079e-01, + 8.3911697182221882e-01,9.1223442825132591e-01,9.6397192727791379e-01, + 9.9312859918509492e-01}; + static G4double Weights[10] = {1.5275338713072585e-01,1.4917298647260375e-01,1.4209610931838205e-01, + 1.3168863844917663e-01,1.1819453196151842e-01,1.0193011981724044e-01, + 8.3276741576704749e-02,6.2672048334109064e-02,4.0601429800386941e-02, + 1.7614007139152118e-02}; + + //Error control + G4double Ctol = G4std::min(G4std::max(MaxError,1e-13),1e-02); + G4double Ptol = 0.01*Ctol; + G4double Err=1e35; + //Gauss integration from LowPoint to HighPoint + G4double h,sumga,a,b,c,d; + h=HighPoint-LowPoint; + sumga=0.0; + a=0.5*(HighPoint-LowPoint); + b=0.5*(HighPoint+LowPoint); + c=a*Abscissas[0]; + d=Weights[0]*((typeT.*f)(b+c)+(typeT.*f)(b-c)); + G4int i; + for (i=2;i<=npoints;i++){ + c=a*Abscissas[i-1]; + d=d+Weights[i-1]*((typeT.*f)(b+c)+(typeT.*f)(b-c)); + } + G4int icall = 2*npoints; + G4int LH=1; + G4double S[nst],x[nst],sn[nst],xrn[nst]; + S[0]=d*a; + x[0]=LowPoint; + + //Adaptive bipartition scheme + do{ + G4double h0=h; + h=0.5*h; //bipartition + G4double sumr=0; + G4int LHN=0; + G4double si,xa,xb,xc; + for (i=1;i<=LH;i++){ + si=S[i-1]; + xa=x[i-1]; + xb=xa+h; + xc=xa+h0; + a=0.5*(xb-xa); + b=0.5*(xb+xa); + c=a*Abscissas[0]; + d=Weights[0]*((typeT.*f)(b+c)+(typeT.*f)(b-c)); + G4int j; + for (j=1;jncallsmax || LHN>nst) + { + G4cout << "G4PenelopeIntegrator: " << G4endl; + G4cout << "LowPoint: " << LowPoint << ", High Point: " << HighPoint << G4endl; + G4cout << "Tolerance: " << MaxError << G4endl; + G4cout << "Calls: " << icall << ", Integral: " << sumga << ", Error: " << Err << G4cout; + G4cout << "Number of open subintervals: " << LHN << G4endl; + G4cout << "WARNING: the required accuracy has not been attained" << G4endl; + return sumga; + } + } + Err=abs(sumr)/G4std::max(abs(sumr+sumga),1e-35); + if (Err < Ctol || LHN == 0) return sumga; //end of cycle + LH=LHN; + for (G4int i=0;i +G4double G4PenelopeIntegrator::Calculate(T* ptrT, F f, + G4double LowPoint,G4double HighPoint, + G4double MaxError) +{ + return Calculate(*ptrT,f,LowPoint,HighPoint,MaxError); +} + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4CutsPerMaterialWarning.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeInterpolator.hh similarity index 67% rename from source/processes/electromagnetic/lowenergy/include/G4CutsPerMaterialWarning.hh rename to source/processes/electromagnetic/lowenergy/include/G4PenelopeInterpolator.hh index 82ff9b9330..8df095bfb2 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4CutsPerMaterialWarning.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeInterpolator.hh @@ -21,56 +21,48 @@ // ******************************************************************** // // -// $Id: G4CutsPerMaterialWarning.hh,v 1.1 2001/11/07 22:38:47 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ // -// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) +// Author: Luciano Pandola (Luciano.Pandola@cern.ch) // // History: // ----------- -// 7 Nov 2001 MGP Created +// 17 Feb 2003 LP Created // // ------------------------------------------------------------------- // Class description: -// Functor class to print a warning if the deprecated, unsupported feature -// of having different range cuts for different materials is used -// Will be removed when properly designed "range cuts by region" -// will be available in Geant4 -// Further documentation available from http://www.ge.infn.it/geant4/lowE/ - +// Cubic spline interpolation and momentum calculation of given order +// obtained by linear interpolation // ------------------------------------------------------------------- -#ifndef G4CUTSPERMATERIALWARNING_HH -#define G4CUTSPERMATERIALWARNING_HH 1 +#ifndef G4PENELOPEINTERPOLATOR_HH +#define G4PENELOPEINTERPOLATOR_HH 1 #include "globals.hh" -class G4ParticleDefinition; -class G4Material; - -class G4CutsPerMaterialWarning -{ +class G4DataVector; +class G4PenelopeInterpolator +{ public: - G4CutsPerMaterialWarning() { } + G4PenelopeInterpolator(G4double* pX, G4double* pY, G4int nbOfData, G4double S1=0, G4double SN=0); - ~G4CutsPerMaterialWarning() { } + ~G4PenelopeInterpolator(){;} - void PrintWarning(const G4ParticleDefinition* particle) const; - + G4double CubicSplineInterpolation(G4double xx); + G4double FirstDerivative(G4double xx); + G4double CalculateMomentum(G4double UpperLimit,G4int MomentumOrder); + private: - + G4int FindBin(G4double xx); + //coefficients + G4DataVector* a; + G4DataVector* b; + G4DataVector* c; + G4DataVector* d; + //stored data + G4DataVector* x; + G4DataVector* y; }; #endif - - - - - - - - - - diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh new file mode 100644 index 0000000000..40dfc0b07a --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh @@ -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: G4PenelopePhotoElectric.hh,v 1.2 2003/02/23 23:42:52 pia Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L.Pandola +// +// History: +// ----------- +// 07 Jan 2003 L.Pandola 1st implementation +// ------------------------------------------------------------------- + +// Class description: +// Low Energy Electromagnetic process, Photoelectric effect with +// Penelope model and tables +// ------------------------------------------------------------------- + +#ifndef G4PENELOPEPHOTOELECTRIC_HH +#define G4PENELOPEPHOTOELECTRIC_HH 1 + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4AtomicDeexcitation.hh" + +class G4Track; +class G4Step; +class G4ParticleDefinition; +class G4VParticleChange; +class G4VEMDataSet; +class G4VCrossSectionHandler; +class G4VRangeTest; + +class G4PenelopePhotoElectric : public G4VDiscreteProcess { + +public: + + G4PenelopePhotoElectric(const G4String& processName ="PenPhotoElec"); + + ~G4PenelopePhotoElectric(); + + G4bool IsApplicable(const G4ParticleDefinition&); + + void BuildPhysicsTable(const G4ParticleDefinition& photon); + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + + void SetCutForLowEnSecPhotons(G4double); + + void SetCutForLowEnSecElectrons(G4double); + + void ActivateAuger(G4bool); + + // For testing purpose only + G4double DumpMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) + { return GetMeanFreePath(aTrack, previousStepSize, condition); } + +protected: + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); + +private: + + // Hide copy constructor and assignment operator as private + G4PenelopePhotoElectric& operator=(const G4PenelopePhotoElectric& right); + G4PenelopePhotoElectric(const G4PenelopePhotoElectric& ); + + G4double lowEnergyLimit; // low energy limit applied to the process + G4double highEnergyLimit; // high energy limit applied to the process + + G4VEMDataSet* meanFreePathTable; + + G4VCrossSectionHandler* crossSectionHandler; + G4VCrossSectionHandler* shellCrossSectionHandler; + + G4VRangeTest* rangeTest; + + const G4double intrinsicLowEnergyLimit; // intrinsic validity range + const G4double intrinsicHighEnergyLimit; + + G4double cutForLowEnergySecondaryPhotons; + G4double cutForLowEnergySecondaryElectrons; + + G4AtomicDeexcitation deexcitationManager; +}; + +#endif + + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh new file mode 100644 index 0000000000..5560a7215e --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * 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: G4PenelopeRayleigh.hh,v 1.3 2003/03/13 16:53:50 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: Luciano Pandola +// +// History: +// ----------- +// 01 Dec 2002 L.Pandola 1st implementation +// 14 Feb 2003 MG Pia Removed data member material +// +// ------------------------------------------------------------------- +// Class description: +// Low Energy Electromagnetic process, Rayleigh effect +// Penelope model +// ------------------------------------------------------------------- + +#ifndef G4PENELOPERAYLEIGH_HH +#define G4PENELOPERAYLEIGH_HH 1 + +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4PenelopeIntegrator.hh" +class G4Track; +class G4Step; +class G4ParticleDefinition; +class G4VParticleChange; +class G4VEMDataSet; +class G4Material; +class G4DataVector; + +class G4PenelopeRayleigh : public G4VDiscreteProcess { + +public: + + G4PenelopeRayleigh(const G4String& processName ="PenRayleigh"); + + ~G4PenelopeRayleigh(); + + G4bool IsApplicable(const G4ParticleDefinition&); + + void BuildPhysicsTable(const G4ParticleDefinition& photon); + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + + G4double MolecularFormFactor(G4double x); + G4double DifferentialCrossSection (G4double e); + + // For testing purpose only + G4double DumpMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) + { return GetMeanFreePath(aTrack, previousStepSize, condition); } + + + +protected: + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition); + +private: + + // Hide copy constructor and assignment operator as private + G4PenelopeRayleigh& operator=(const G4PenelopeRayleigh &right); + G4PenelopeRayleigh(const G4PenelopeRayleigh& ); + + G4double lowEnergyLimit; // low energy limit applied to the process + G4double highEnergyLimit; // high energy limit applied to the process + + //void InizialiseSampling(const G4Material* material); + void InizialiseSampling(); + + G4DataVector* samplingFunction_x; + G4DataVector* samplingFunction_y; + + G4double samplingConstant; + G4double facte; //cross section factor + + G4VEMDataSet* meanFreePathTable; + + const G4Material* material; + const G4int nBins; + const G4double intrinsicLowEnergyLimit; // intrinsic validity range + const G4double intrinsicHighEnergyLimit; +}; + +#endif + + + + + + + + + + + + + + diff --git a/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh b/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh index 962db6620a..ad953b8c82 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh @@ -21,14 +21,15 @@ // ******************************************************************** // // -// $Id: G4RangeNoTest.hh,v 1.1 2001/10/08 07:51:41 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RangeNoTest.hh,v 1.2 2003/01/22 18:42:22 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: // ----------- -// 5 Oct 2001 MGP Created +// 5 Oct 2001 MGP Created +// 22 Jan 2003 V.Ivanchenko Cut per region // // ------------------------------------------------------------------- // Class description: @@ -45,27 +46,27 @@ #include "G4VRangeTest.hh" class G4ParticleDefinition; -class G4Material; +class G4MaterialCutsCouple; class G4RangeNoTest : public G4VRangeTest { - + public: G4RangeNoTest() { } virtual ~G4RangeNoTest() { } - - virtual G4bool Escape(const G4ParticleDefinition* particle, - const G4Material* material, - G4double energy, + + virtual G4bool Escape(const G4ParticleDefinition* particle, + const G4MaterialCutsCouple* couple, + G4double energy, G4double safety) const { return true; } private: }; - + #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh b/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh index 178984eb74..5d2e585d7b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh @@ -21,14 +21,15 @@ // ******************************************************************** // // -// $Id: G4RangeTest.hh,v 1.2 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RangeTest.hh,v 1.3 2003/01/22 18:42:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: // ----------- -// 5 Oct 2001 MGP Created +// 5 Oct 2001 MGP Created +// 21 Jan 2003 VI Cuts per region // // ------------------------------------------------------------------- // Class description: @@ -48,16 +49,16 @@ class G4ParticleDefinition; class G4Material; class G4RangeTest : public G4VRangeTest { - + public: G4RangeTest() { } virtual ~G4RangeTest(); - - virtual G4bool Escape(const G4ParticleDefinition* particle, - const G4Material* material, - G4double energy, + + virtual G4bool Escape(const G4ParticleDefinition* particle, + const G4MaterialCutsCouple* couple, + G4double energy, G4double safety) const; private: diff --git a/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh index ab6a5dedc7..e51a59a56b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh @@ -22,7 +22,7 @@ // // // $Id: G4SemiLogInterpolation.hh,v 1.3 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh b/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh index 2de9f29d7a..fbec2bce93 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShellData.hh,v 1.2 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh index 8fd202b2ab..b65fd8b593 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShellEMDataSet.hh,v 1.4 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4ShellVacancy.hh b/source/processes/electromagnetic/lowenergy/include/G4ShellVacancy.hh index 2c650513d6..d428004227 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ShellVacancy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4ShellVacancy.hh @@ -29,7 +29,8 @@ // History: // ----------- // 21 Sept 2001 Elena Guardincerri Created -// 25 Mar 2002 V.Ivanchenko Change AverageNOfIonisations int->double +// 25 Mar 2002 V.Ivanchenko Change AverageNOfIonisations int->double +// 12 Apr 2003 V.Ivanchenko Migrade to cut per region // // ------------------------------------------------------------------- @@ -46,25 +47,25 @@ #include "g4std/vector" class G4VEMDataSet; -class G4Material; +class G4MaterialCutsCouple; class G4Element; class G4ShellVacancy { public: - + G4ShellVacancy(); - + ~G4ShellVacancy(); - - G4std::vector GenerateNumberOfIonisations(const G4Material* material, - G4double incidentEnergy, + + G4std::vector GenerateNumberOfIonisations(const G4MaterialCutsCouple* couple, + G4double incidentEnergy, G4double eLoss) const; - + void AddXsiTable(G4VEMDataSet* set); - + private: - - G4double AverageNOfIonisations(const G4Material* material, + + G4double AverageNOfIonisations(const G4MaterialCutsCouple* couple, G4int index, G4double energy, G4double eLoss) const; diff --git a/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh index a763b4e059..3d0b4f5be8 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VCrossSectionHandler.hh,v 1.11 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VCrossSectionHandler.hh,v 1.12 2003/01/22 18:42:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -31,6 +31,7 @@ // 16 Sep 2001 MGP Created // 26 Sep 2001 V.Ivanchenko Hide copy constructor and assignement operator // 18 Apr 2002 V.Ivanchenko Move member function ValueForMaterial to public +// 21 Jan 2003 V.Ivanchenko Cut per region // // ------------------------------------------------------------------- @@ -48,6 +49,7 @@ #include "G4DataVector.hh" #include "g4std/map" #include "g4std/vector" +#include "G4MaterialCutsCouple.hh" class G4VDataSetAlgorithm; class G4VEMDataSet; @@ -55,34 +57,34 @@ class G4Material; class G4Element; class G4VCrossSectionHandler { - + public: G4VCrossSectionHandler(); G4VCrossSectionHandler(G4VDataSetAlgorithm* interpolation, - G4double minE = 250*eV, G4double maxE = 100*GeV, + G4double minE = 250*eV, G4double maxE = 100*GeV, G4int nBins = 200, G4double unitE = MeV, G4double unitData = barn, G4int minZ = 1, G4int maxZ = 99); virtual ~G4VCrossSectionHandler(); - + void Initialise(G4VDataSetAlgorithm* interpolation = 0, - G4double minE = 250*eV, G4double maxE = 100*GeV, + G4double minE = 250*eV, G4double maxE = 100*GeV, G4int numberOfBins = 200, G4double unitE = MeV, G4double unitData = barn, G4int minZ = 1, G4int maxZ = 99); - G4int SelectRandomAtom(const G4Material* material, G4double e) const; + G4int SelectRandomAtom(const G4MaterialCutsCouple* couple, G4double e) const; - const G4Element* SelectRandomElement(const G4Material* material, - G4double e) const; + const G4Element* SelectRandomElement(const G4MaterialCutsCouple* material, + G4double e) const; G4int SelectRandomShell(G4int Z, G4double e) const; G4VEMDataSet* BuildMeanFreePathForMaterials(const G4DataVector* energyCuts = 0); - + G4double FindValue(G4int Z, G4double e) const; G4double FindValue(G4int Z, G4double e, G4int shellIndex) const; @@ -94,21 +96,21 @@ public: void LoadShellData(const G4String& dataFile); void PrintData() const; - + void Clear(); -protected: - +protected: + G4int NumberOfComponents(G4int Z) const; void ActiveElements(); // Factory method - virtual G4std::vector* BuildCrossSectionsForMaterials(const G4DataVector& energyVector, + virtual G4std::vector* BuildCrossSectionsForMaterials(const G4DataVector& energyVector, const G4DataVector* energyCuts = 0) = 0; // Factory method - virtual G4VDataSetAlgorithm* CreateInterpolation(); + virtual G4VDataSetAlgorithm* CreateInterpolation(); const G4VDataSetAlgorithm* GetInterpolation() const { return interpolation; } @@ -120,7 +122,7 @@ private: G4VCrossSectionHandler & operator=(const G4VCrossSectionHandler &right); G4VDataSetAlgorithm* interpolation; - + G4double eMin; G4double eMax; G4int nBins; @@ -129,15 +131,15 @@ private: G4double unit2; G4int zMin; - G4int zMax; + G4int zMax; G4DataVector activeZ; G4std::map > dataMap; - + G4std::vector* crossSections; }; - + #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh b/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh index 5ed03903cb..03578c98df 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4VDataSetAlgorithm.hh,v 1.6 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh index 80499b1ee9..b00fc05023 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh @@ -22,7 +22,7 @@ // // // $Id: G4VEMDataSet.hh,v 1.6 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh b/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh index 939a3f4d5d..2675887b5e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh @@ -21,14 +21,15 @@ // ******************************************************************** // // -// $Id: G4VRangeTest.hh,v 1.1 2001/10/08 07:51:42 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VRangeTest.hh,v 1.2 2003/01/22 18:42:23 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: // ----------- -// 5 Oct 2001 MGP Created +// 5 Oct 2001 MGP Created +// 22 Jan 2003 V.Ivanchenko Cut per region // // ------------------------------------------------------------------- // Class description: @@ -43,27 +44,27 @@ #include "globals.hh" class G4ParticleDefinition; -class G4Material; +class G4MaterialCutsCouple; class G4VRangeTest { - + public: G4VRangeTest() { } virtual ~G4VRangeTest() { } - - virtual G4bool Escape(const G4ParticleDefinition* particle, - const G4Material* material, - G4double energy, + + virtual G4bool Escape(const G4ParticleDefinition* particle, + const G4MaterialCutsCouple* couple, + G4double energy, G4double safety) const = 0; private: }; - + #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh index fa0a05677c..b85bf294f3 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VeLowEnergyLoss.hh,v 1.7 2001/11/23 11:45:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VeLowEnergyLoss.hh,v 1.8 2003/01/22 18:42:24 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // 3.4.2000 Veronique Lefebure: // Move utils/include/G4VEnergyLoss.hh to @@ -45,12 +45,13 @@ // class. // // ----------------------------------------------------------- -// created on 28 January 2000 by L. Urban +// created on 28 January 2000 by L. Urban // ----------------------------------------------------------- // // Modifications: -// 20/09/00 V.Ivanchenko update fluctuations +// 20/09/00 V.Ivanchenko update fluctuations // 23/11/01 V.Ivanchenko Move static member-functions from header to source +// 22/01/03 V.Ivanchenko Cut per range // // Class description: // Abstract class for Low Energy Electromagnetic electron energy loss @@ -69,11 +70,11 @@ #include "G4VContinuousDiscreteProcess.hh" #include "G4PhysicsLogVector.hh" #include "G4PhysicsLinearVector.hh" +#include "G4MaterialCutsCouple.hh" - -class G4VeLowEnergyLoss : public G4VContinuousDiscreteProcess +class G4VeLowEnergyLoss : public G4VContinuousDiscreteProcess { - public: + public: G4VeLowEnergyLoss(const G4String& , G4ProcessType aType = fNotDefined ); @@ -103,28 +104,28 @@ class G4VeLowEnergyLoss : public G4VContinuousDiscreteProcess // code for the energy loss fluctuation G4double GetLossWithFluct(const G4DynamicParticle* aParticle, - G4Material* aMaterial, + const G4MaterialCutsCouple* couple, G4double MeanLoss, G4double step); private: - // hide default constructor and assignment operator as private + // hide default constructor and assignment operator as private G4VeLowEnergyLoss(); G4VeLowEnergyLoss & operator=(const G4VeLowEnergyLoss &right); protected: // data members to speed up the fluctuation calculation - G4Material* lastMaterial; + const G4Material* lastMaterial; G4int imat; G4double f1Fluct,f2Fluct,e1Fluct,e2Fluct,rateFluct,ipotFluct; G4double e1LogFluct,e2LogFluct,ipotLogFluct; const G4int nmaxCont1,nmaxCont2 ; - // static part of the class + // static part of the class public: // With description diff --git a/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh b/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh index be584149ec..68f1d05922 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4eBremsstrahlungSpectrum.hh,v 1.3 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eBremsstrahlungSpectrum.hh,v 1.5 2003/02/28 08:41:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // @@ -31,17 +31,19 @@ // File name: G4EBremsstrahlungSpectrum // // Author: V.Ivanchenko (Vladimir.Ivantchenko@cern.ch) -// +// // Creation date: 27 September 2001 // -// Modifications: +// Modifications: // 10.10.01 MGP Revision to improve code quality and consistency with design // 29.11.01 V.Ivanchenko Parametrisation is updated +// 21.02.03 V.Ivanchenko Energy bins are defined in the constructor +// 28.02.03 V.Ivanchenko Filename is defined in the constructor // // ------------------------------------------------------------------- -// Class Description: -// Provides various integration over gamma spectrum of e- Bremsstrahlung. +// Class Description: +// Provides various integration over gamma spectrum of e- Bremsstrahlung. // Parametrisation is described in Physics Reference Manual based on // data from EEDL database. // Further documentation available from http://www.ge.infn.it/geant4/lowE @@ -53,7 +55,7 @@ #include "globals.hh" #include "G4DataVector.hh" -#include "G4VEnergySpectrum.hh" +#include "G4VEnergySpectrum.hh" class G4BremsstrahlungParameters; @@ -61,51 +63,51 @@ class G4eBremsstrahlungSpectrum : public G4VEnergySpectrum { public: - G4eBremsstrahlungSpectrum(); + G4eBremsstrahlungSpectrum(const G4DataVector& bins,const G4String& name); ~G4eBremsstrahlungSpectrum(); - G4double Probability(G4int Z, - G4double tMin, - G4double tMax, - G4double kineticEnergy, - G4int shell=0, + G4double Probability(G4int Z, + G4double tMin, + G4double tMax, + G4double kineticEnergy, + G4int shell=0, const G4ParticleDefinition* pd=0) const; - G4double AverageEnergy(G4int Z, - G4double tMin, + G4double AverageEnergy(G4int Z, + G4double tMin, G4double tMax, G4double kineticEnergy, - G4int shell=0, + G4int shell=0, const G4ParticleDefinition* pd=0) const; - G4double SampleEnergy(G4int Z, - G4double tMin, + G4double SampleEnergy(G4int Z, + G4double tMin, G4double tMax, G4double kineticEnergy, - G4int shell=0, + G4int shell=0, const G4ParticleDefinition* pd=0) const; G4double MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z = 0, const G4ParticleDefinition* pd=0) const; - G4double Excitation(G4int Z, G4double kineticEnergy) const; + G4double Excitation(G4int Z, G4double kineticEnergy) const; void PrintData() const; private: G4double IntSpectrum(G4double xMin, G4double xMax, - const G4DataVector& p) const; - + const G4DataVector& p) const; + G4double AverageValue(G4double xMin, G4double xMax, - const G4DataVector& p) const; - - G4double Function(G4double x, const G4DataVector& p) const; + const G4DataVector& p) const; + + G4double Function(G4double x, const G4DataVector& p) const; - // Hide copy constructor and assignment operator + // Hide copy constructor and assignment operator G4eBremsstrahlungSpectrum(const G4eBremsstrahlungSpectrum&); G4eBremsstrahlungSpectrum & operator = (const G4eBremsstrahlungSpectrum &right); @@ -113,7 +115,7 @@ private: G4double lowestE; size_t length; G4int verbose; - G4DataVector xp; + const G4DataVector& xp; }; #endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh index 4bab51d992..77adfed068 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4eIonisationCrossSectionHandler.hh,v 1.4 2002/05/28 09:15:26 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh index 9074751a78..d1c47a44df 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4eIonisationParameters.hh,v 1.6 2001/11/29 19:01:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V. Ivanchenko diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh index da06f1b24b..27c3e311ef 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4eIonisationSpectrum.hh,v 1.4 2002/05/30 19:52:23 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh index 6214bed606..afdc02587d 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eLowEnergyLoss.hh,v 1.8 2002/03/28 11:48:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eLowEnergyLoss.hh,v 1.10 2003/02/07 15:39:03 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- @@ -57,11 +57,12 @@ // 18.10.01 Revision to improve code quality and consistency with design // 23.11.01 V.Ivanchenko Move static member-functions from header to source // 28.03.02 V.Ivanchenko add fluorescence flag +// 21.01.03 V.Ivanchenko cut per region // ------------------------------------------------------------ - + #ifndef G4eLowEnergyLoss_h #define G4eLowEnergyLoss_h 1 - + #include "G4ios.hh" #include "globals.hh" #include "Randomize.hh" @@ -79,19 +80,19 @@ #include "G4EnergyLossTables.hh" class G4EnergyLossMessenger; - + class G4eLowEnergyLoss : public G4VeLowEnergyLoss - + { public: - + G4eLowEnergyLoss(const G4String& ); ~G4eLowEnergyLoss(); G4bool IsApplicable(const G4ParticleDefinition&); // true for e+/e- , false otherwise - + void BuildDEDXTable(const G4ParticleDefinition& aParticleType); // It builds dE/dx and range tables for aParticleType and // for every material contained in the materialtable. @@ -117,42 +118,43 @@ class G4eLowEnergyLoss : public G4VeLowEnergyLoss const G4Step& step) = 0; // Virtual function to be overridden in the derived classes // ( ionisation and bremsstrahlung) . - + static void SetNbOfProcesses(G4int nb); // Sets number of processes giving contribution to the energy loss static void PlusNbOfProcesses(); // Increases number of processes giving contribution to the energy loss - static void MinusNbOfProcesses(); + static void MinusNbOfProcesses(); // Decreases number of processes giving contribution to the energy loss static G4int GetNbOfProcesses(); // Gets number of processes giving contribution to the energy loss // ( default value = 2) - - static void SetLowerBoundEloss(G4double val); - static void SetUpperBoundEloss(G4double val); + + static void SetLowerBoundEloss(G4double val); + static void SetUpperBoundEloss(G4double val); static void SetNbinEloss(G4int nb); - - static G4double GetLowerBoundEloss(); - static G4double GetUpperBoundEloss(); - static G4int GetNbinEloss(); + + static G4double GetLowerBoundEloss(); + static G4double GetUpperBoundEloss(); + static G4int GetNbinEloss(); void ActivateFluorescence(G4bool val); // Set fluorescence flag on/off G4bool Fluorescence() const; - // Get flurescence flag - + // Get flurescence flag + protected: - virtual G4std::vector* DeexciteAtom(const G4Material* material, - G4double incidentEnergy, - G4double eLoss) { return 0; } + virtual G4std::vector* DeexciteAtom( + const G4MaterialCutsCouple* couple, + G4double incidentEnergy, + G4double eLoss) { return 0; }; G4PhysicsTable* theLossTable; - + G4double MinKineticEnergy ; // particle with kinetic energy // smaller than MinKineticEnergy // is stopped in AlongStepDoIt @@ -168,31 +170,31 @@ class G4eLowEnergyLoss : public G4VeLowEnergyLoss //inverse tables of the range tables static G4PhysicsTable* theInverseRangeElectronTable; static G4PhysicsTable* theInverseRangePositronTable; - + // lab and proper time tables static G4PhysicsTable* theLabTimeElectronTable ; static G4PhysicsTable* theLabTimePositronTable ; static G4PhysicsTable* theProperTimeElectronTable ; static G4PhysicsTable* theProperTimePositronTable ; - //processes inherited from G4eLowEnergyLoss + //processes inherited from G4eLowEnergyLoss //register themselves in the static array Recorder //for electrons/positrons separately //nb of contributing processes = NbOfProcesses static G4int NbOfProcesses; static G4int CounterOfElectronProcess; - static G4int CounterOfPositronProcess ; + static G4int CounterOfPositronProcess ; static G4PhysicsTable** RecorderOfElectronProcess; static G4PhysicsTable** RecorderOfPositronProcess; - - + + private: G4double GetConstraints(const G4DynamicParticle* aParticle, - G4Material* aMaterial); - + const G4MaterialCutsCouple* couple); + // hide assignment operator - G4eLowEnergyLoss (G4eLowEnergyLoss &); + G4eLowEnergyLoss (G4eLowEnergyLoss &); G4eLowEnergyLoss & operator=(const G4eLowEnergyLoss &right); @@ -200,21 +202,21 @@ class G4eLowEnergyLoss : public G4VeLowEnergyLoss G4int CounterOfProcess; G4PhysicsTable** RecorderOfProcess; - + G4double fdEdx; // computed in GetConstraints G4double fRangeNow; // computed in GetConstraints G4double linLossLimit ; // used in AlongStepDoIt - + //New ParticleChange G4ParticleChangeForLoss fParticleChange ; - // + // // static part of the class // - - static G4int NbinEloss; // number of bins in table, + + static G4int NbinEloss; // number of bins in table, // calculated in BuildPhysicTable static G4double LowerBoundEloss; static G4double UpperBoundEloss; @@ -229,14 +231,14 @@ class G4eLowEnergyLoss : public G4VeLowEnergyLoss static G4PhysicsTable* thepRangeCoeffATable; static G4PhysicsTable* thepRangeCoeffBTable; static G4PhysicsTable* thepRangeCoeffCTable; - + static G4EnergyLossMessenger* eLossMessenger; - G4bool theFluo; // Fluorescence flag - + G4bool theFluo; // Fluorescence flag + }; - + #include "G4eLowEnergyLoss.icc" #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc index 2cef6656f7..a89f0271bc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eLowEnergyLoss.icc,v 1.4 2002/03/28 11:48:58 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eLowEnergyLoss.icc,v 1.6 2003/04/18 17:50:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------------------------------------------------------- // GEANT 4 class inlined methods file @@ -32,18 +32,20 @@ // ------------ G4eLowEnergyLoss physics process ------------ // by Laszlo Urban, 20 March 1997 // *************************************************************** -// It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. +// It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. // It calculates the energy loss of e+/e-. // ------------------------------------------------------------- // -// 08-09-98: cleanup +// 08-09-98 cleanup // 28-03-02 V.Ivanchenko add fluorescence flag +// 21-01-03 V.Ivanchenko cut per region +// 18-04-03 V.Ivanchenko finalRange redefinition // // --------------------------------------------------------------- inline G4double G4eLowEnergyLoss::GetConstraints( const G4DynamicParticle* aParticle, - G4Material* aMaterial) + const G4MaterialCutsCouple* couple) { G4double StepLimit; // returns the Step limit @@ -53,25 +55,21 @@ inline G4double G4eLowEnergyLoss::GetConstraints( const G4ParticleDefinition* ParticleType=aParticle->GetDefinition(); Charge = aParticle->GetDefinition()->GetPDGCharge(); - if(Charge != lastCharge) - { - lastCharge = Charge ; - - } + if(Charge != lastCharge) lastCharge = Charge ; G4double KineticEnergy = aParticle->GetKineticEnergy(); - fdEdx = G4EnergyLossTables::GetDEDX(ParticleType,KineticEnergy,aMaterial); + fdEdx = G4EnergyLossTables::GetDEDX(ParticleType,KineticEnergy,couple); fRangeNow = - G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,aMaterial); + G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,couple); - // compute the (random) Step limit - if (fRangeNow>finalRange) - { - StepLimit = c1lim*fRangeNow+c2lim+c3lim/fRangeNow; + G4double r = G4std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + + if (fRangeNow > r) { + StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); //randomise this value - if (rndmStepFlag) StepLimit = finalRange + - (StepLimit-finalRange)*G4UniformRand(); + if (rndmStepFlag) StepLimit = finalRange + (StepLimit-finalRange)*G4UniformRand(); if (StepLimit > fRangeNow) StepLimit = fRangeNow; } else StepLimit = fRangeNow; @@ -79,7 +77,7 @@ inline G4double G4eLowEnergyLoss::GetConstraints( return StepLimit; } -// +// inline G4double G4eLowEnergyLoss::GetContinuousStepLimit( const G4Track& track, @@ -87,16 +85,16 @@ inline G4double G4eLowEnergyLoss::GetContinuousStepLimit( G4double currentMinimumStep, G4double&) { - + G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterial()); + GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()); if ((Step>0.0)&&(Step* DeexciteAtom(const G4Material* material, + G4std::vector* DeexciteAtom(const G4MaterialCutsCouple* couple, G4double incidentEnergy, G4double hMass, G4double eLoss); - G4int SelectRandomAtom(const G4Material* material, + G4int SelectRandomAtom(const G4MaterialCutsCouple* couple, G4double kineticEnergy) const; - - // hide assignment operator + + // hide assignment operator G4hLowEnergyIonisation & operator=(const G4hLowEnergyIonisation &right); G4hLowEnergyIonisation(const G4hLowEnergyIonisation&); - + private: // private data members ............................... G4VLowEnergyModel* theBetheBlochModel; @@ -276,7 +278,7 @@ private: G4String theAntiProtonTable; G4String theNuclearTable; - // interval of parametrisation of electron stopping power + // interval of parametrisation of electron stopping power G4double protonLowEnergy; G4double protonHighEnergy; G4double antiProtonLowEnergy; @@ -291,15 +293,15 @@ private: G4double minGammaEnergy; G4double minElectronEnergy; G4PhysicsTable* theMeanFreePathTable; - + const G4double paramStepLimit; // parameter limits the step at low energy - + G4double fdEdx; // computed in GetContraints - G4double fRangeNow ; // + G4double fRangeNow ; // G4double charge; // G4double chargeSquare; // G4double initialMass; // mass to calculate Lambda tables - + G4AtomicDeexcitation deexcitationManager; G4ShellVacancy* shellVacancy; G4VhShellCrossSection* shellCS; @@ -309,15 +311,15 @@ private: }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + inline G4double G4hLowEnergyIonisation::GetContinuousStepLimit( const G4Track& track, G4double, G4double currentMinimumStep, G4double&) -{ +{ G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterial()) ; + GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()) ; if((Step>0.0)&&(Step proton_mass_c2*0.1); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh index 78942a94b8..db8c837b40 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4hLowEnergyLoss.hh,v 1.13 2001/11/23 11:45:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4hLowEnergyLoss.hh,v 1.15 2003/04/18 17:50:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // ------------------------------------------------------------ @@ -50,16 +50,18 @@ // 31/03/00 V.Ivanchenko rename to lowenergy as G4hLowEnergyLoss.hh // 09/08/00 V.Ivanchenko remove GetContinuousStepLimit and IsApplicable // 23/11/01 V.Ivanchenko Move static member-functions from header to source +// 22/01/03 V.Ivanchenko Cuts per region +// 18/04/03 V.Ivanchenko Make dRoverRange protected // // Class description: -// Class for Low Energy electromagnetic energy loss of hadrons +// Class for Low Energy electromagnetic energy loss of hadrons // Further documentation available from http://www.ge.infn.it/geant4/lowE // **************************************************************************** #ifndef G4hLowEnergyLoss_h #define G4hLowEnergyLoss_h 1 - + #include "G4ios.hh" #include "globals.hh" #include "Randomize.hh" @@ -74,11 +76,11 @@ #include "G4Step.hh" #include "G4PhysicsLogVector.hh" #include "G4PhysicsLinearVector.hh" - + class G4EnergyLossMessenger; - + class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess - + { public: @@ -98,9 +100,11 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess protected: + G4bool CutsWhereModified(); + private: - // hide assignment operator + // hide assignment operator G4hLowEnergyLoss(G4hLowEnergyLoss &); G4hLowEnergyLoss & operator=(const G4hLowEnergyLoss &right); @@ -116,18 +120,18 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess static G4double Mass,taulow,tauhigh,ltaulow,ltauhigh; protected: - G4Material *lastMaterial ; +// G4Material *lastMaterial ; const G4double MaxExcitationNumber ; const G4double probLimFluct ; const long nmaxDirectFluct,nmaxCont1,nmaxCont2 ; // ==================================================================== // static part of the class - + public: // get the number of processes contributing to the cont.energy loss - static G4int GetNumberOfProcesses(); + static G4int GetNumberOfProcesses(); // set the number of processes contributing to the cont.energy loss static void SetNumberOfProcesses(G4int number); @@ -209,7 +213,7 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess static G4PhysicsTable* theProperTimepTable ; static G4PhysicsTable* theProperTimepbarTable ; - // processes inherited from G4hLowEnergyLoss + // processes inherited from G4hLowEnergyLoss // register themselves in the static array Recorder static G4PhysicsTable** RecorderOfpProcess; static G4PhysicsTable** RecorderOfpbarProcess; @@ -230,7 +234,7 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess static G4double HighestKineticEnergy; static G4int TotBin; // number of bins in table, // calculated in BuildPhysicsTable - + static G4double RTable,LOGRTable; // LOGRTable=log(HighestKineticEnergy // /LowestKineticEnergy)/TotBin // RTable = exp(LOGRTable) @@ -259,16 +263,16 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess static G4PhysicsTable* theRangeCoeffCTable; static G4int NumberOfProcesses ; - static G4double dRoverRange ; // maximum allowed deltarange/range - // in one step protected: G4PhysicsTable* theLossTable ; G4double linLossLimit ; - + G4double MinKineticEnergy ; + static G4double dRoverRange ; // maximum allowed deltarange/range + // in one step static G4double finalRange ; // last step before stop static G4double c1lim,c2lim,c3lim ; // coeffs for computing steplimit @@ -278,6 +282,6 @@ class G4hLowEnergyLoss : public G4VContinuousDiscreteProcess }; #endif - + diff --git a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc index 43b03f4844..c97534ba92 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc @@ -22,7 +22,7 @@ // // // $Id: G4hLowEnergyLoss.icc,v 1.2 2001/07/11 10:02:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // --------------------------------------------------------------- diff --git a/source/processes/electromagnetic/lowenergy/include/G4hSRIM2000p.hh b/source/processes/electromagnetic/lowenergy/include/G4hSRIM2000p.hh new file mode 100644 index 0000000000..7ac79d977a --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/include/G4hSRIM2000p.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4hSRIM2000p +// +// Author: V.Ivanchenko (Vladimir.Ivanchenko@cern.ch) +// +// Creation date: 7 Jan 2003 +// +// Modifications: +// 07/01/2003 V.Ivanchenko First implementation +// +// Class Description: +// +// Electronic stopping power parametrised according to +// J. F. Ziegler, SRIM-2000 software package from www.SRIM.org +// + +// ------------------------------------------------------------------- +// + +#ifndef G4hSRIM2000p_h +#define G4hSRIM2000p_h 1 + +#include "globals.hh" +#include "G4VhElectronicStoppingPower.hh" + +class G4Material; + +class G4hSRIM2000p : public G4VhElectronicStoppingPower +{ + +public: + + G4hSRIM2000p(); + + ~G4hSRIM2000p(); + + G4bool HasMaterial(const G4Material* material); + + G4double StoppingPower(const G4Material* material, + G4double kineticEnergy); + + G4double ElectronicStoppingPower(G4double z, + G4double kineticEnergy) const; + +protected: + +private: + const G4double protonMassAMU; + static G4double a[92][8]; + +}; + +#endif diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc index e2b2e5e798..487f238d4f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransitionManager.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) @@ -50,7 +50,7 @@ G4AtomicDeexcitation::G4AtomicDeexcitation(): G4AtomicDeexcitation::~G4AtomicDeexcitation() {} -G4std::vector* G4AtomicDeexcitation::GenerateParticles(G4int Z,G4int shellId) +G4std::vector* G4AtomicDeexcitation::GenerateParticles(G4int Z,G4int givenShellId) { G4std::vector* vectorOfParticles = new G4std::vector; G4DynamicParticle* aParticle; @@ -63,17 +63,17 @@ do { if (counter == 0) // First call to GenerateParticles(...): - // shellId is given by the process + // givenShellId is given by the process { - provShellId = SelectTypeOfTransition(Z, shellId); + provShellId = SelectTypeOfTransition(Z, givenShellId); if ( provShellId >0) { - aParticle = GenerateFluorescence(Z,shellId,provShellId); + aParticle = GenerateFluorescence(Z,givenShellId,provShellId); } else if ( provShellId == -1) { - aParticle = GenerateAuger(Z, shellId); + aParticle = GenerateAuger(Z, givenShellId); } else { @@ -102,7 +102,9 @@ do if (aParticle != 0) {vectorOfParticles->push_back(aParticle);} else {provShellId = -2;} } - while (provShellId >= 0); + +// Look this in a particular way: only one auger emitted! // + while (provShellId >= -1); return vectorOfParticles; } @@ -252,9 +254,9 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) transitionManager->ReachableAugerShell(Z,maxNumOfShells-1); - // This loop gives shellNum the value of the index of shellId - // in the vector storing the list of the shells reachable through - // a NON-radiative transition + // This loop gives to shellNum the value of the index of shellId + // in the vector storing the list of the vacancies in the variuos shells + // that can originate a NON-radiative transition // ---- MGP ---- Next line commented out to remove compilation warning // G4int p = refAugerTransition->FinalShellId(); @@ -262,20 +264,31 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) G4int shellNum = 0; - if ( shellId <= refAugerTransition->FinalShellId() ) + if ( shellId <= refAugerTransition->FinalShellId() ) + //"FinalShellId" is final from the point of view of the elctron who makes the transition, + // being the Id of the shell in which there is a vacancy { + G4int pippo = transitionManager->ReachableAugerShell(Z,shellNum)->FinalShellId(); + if (shellId != pippo ) { + do { + shellNum++; + if(shellNum == maxNumOfShells) + { + G4Exception("G4AtomicDeexcitation: No Auger transition found"); + } + } + while (shellId != (transitionManager->ReachableAugerShell(Z,shellNum)->FinalShellId()) ) ; + } + /* { - do + if(shellNum == maxNumOfShells-1) + { + G4Exception("G4AtomicDeexcitation: No Auger tramsition found"); + } + shellNum++; + }*/ + - { - if(shellNum == maxNumOfShells-1) - { - break; - } - shellNum++; - } - - while (shellId != transitionManager->ReachableAugerShell(Z,shellNum)->FinalShellId()); // Now we have that shellnum is the shellIndex of the shell named ShellId @@ -300,14 +313,21 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) G4int augerIndex = 0; // G4int partSum2 = 0; - while (augerIndex < numberOfPossibleAuger) { - partSum += anAugerTransition->AugerTransitionProbability(augerIndex, - transitionLoopShellId); - augerIndex++; - } + + if (augerIndex < numberOfPossibleAuger) { + + do + { + G4double thisProb = anAugerTransition->AugerTransitionProbability(augerIndex, + transitionLoopShellId); + partSum += thisProb; + augerIndex++; + + } while (augerIndex < numberOfPossibleAuger); + } transitionLoopShellIndex++; } - + // Now we have the entire probability of an auger transition for the vacancy @@ -338,8 +358,10 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) while (augerIndex < numberOfPossibleAuger) { - partSum += anAugerTransition->AugerTransitionProbability(augerIndex, - transitionRandomShellId); + G4double thisProb =anAugerTransition->AugerTransitionProbability(augerIndex, + transitionRandomShellId); + + partSum += thisProb; if (partSum >= (partialProb/totalVacancyAugerProbability) ) {break;} augerIndex++; @@ -361,46 +383,17 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) G4ThreeVector newElectronDirection(xDir,yDir,zDir); - /* - G4int shellNum = 0; - G4int maxNumOfShells = transitionManager->NumberOfReachableShells(Z); - - - // find the index of the shell named shellId - while (shellId != transitionManager-> - ReachableShell(Z,shellNum)->FinalShellId()) - { - if(shellNum == maxNumOfShells-1) - { - break; - } - shellNum++; - } - // number of shell from wich an electron can reach shellId - size_t transitionSize = transitionManager-> - ReachableShell(Z,shellNum)->OriginatingShellIds().size(); - - size_t index = 0; - - // find the index of the shell named provShellId in the vector - // storing the shells from which shellId can be reached - while (provShellId != transitionManager-> - ReachableShell(Z,shellNum)->OriginatingShellId(index)) - { - if(index == transitionSize-1) - { - break; - } - index++; - } - */ - // energy of the auger electron emitted G4double transitionEnergy = anAugerTransition->AugerTransitionEnergy(augerIndex, transitionRandomShellId); - + /* + G4cout << "AUger TransitionId " << anAugerTransition->FinalShellId() << G4endl; + G4cout << "augerIndex: " << augerIndex << G4endl; + G4cout << "transitionShellId: " << transitionRandomShellId << G4endl; + */ + // This is the shell where the new vacancy is: it is the same // shell where the electron came from newShellId = transitionRandomShellId; @@ -411,7 +404,7 @@ G4DynamicParticle* G4AtomicDeexcitation::GenerateAuger(G4int Z, G4int shellId) transitionEnergy); return newPart; - } +} else { //G4Exception("G4AtomicDeexcitation: no auger transition found"); diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc index d5a1a25680..f861eea76b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc @@ -22,7 +22,7 @@ // // // $Id: G4AtomicShell.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransition.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransition.cc index ba350373fa..4c861c56da 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransition.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransition.cc @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransition.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc index 42107b1e7e..c3d60324e5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4AtomicTransitionManager.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) @@ -173,24 +173,35 @@ G4AtomicShell* G4AtomicTransitionManager::Shell(G4int Z, size_t shellIndex) cons pos = shellTable.find(Z); - if (pos!= shellTable.end()){ - - G4std::vector v = (*pos).second; - - if (shellIndex v = (*pos).second; + if (shellIndex 0) + { + return v[lastShell - 1]; + } + else + { + return 0; + } + } } - else { - G4Exception("G4AtomicTransitionManager:shell not found"); + else + { + G4Exception("G4AtomicTransitionManager:Z not found"); return 0; - } - } - else{ - G4Exception("G4AtomicTransitionManager:Z not found"); - return 0; - } + } } // This function gives, upon Z and the Index of the initial shell where te vacancy is, diff --git a/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc b/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc index 05466d91a7..f644f9d78a 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AugerTransition.cc @@ -65,17 +65,17 @@ const G4std::vector* G4AugerTransition::AugerOriginatingShellIds(G4int st { G4std::map,G4std::less >::const_iterator shellId = augerOriginatingShellIdsMap.find(startShellId); - const G4std::vector dataSet = (*shellId).second; - const G4std::vector* dataOut = 0; + const G4std::vector* dataSet = &(*shellId).second; + //const G4std::vector* dataOut = 0; - if (dataSet.size() == 0) {G4cout << "Error: no auger Id found"<< G4endl;} + if (dataSet->size() == 0) {G4cout << "Error: no auger Id found"<< G4endl;} else { - dataOut = &dataSet; + // dataOut = &dataSet; } - return dataOut; + return dataSet; } // Returns the ids of the shells from wich an electron cuuld fill the vacancy in finalShellId diff --git a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc index bc33d9dd4b..c0899e5c84 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4BremsstrahlungCrossSectionHandler.cc,v 1.5 2001/10/25 14:31:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BremsstrahlungCrossSectionHandler.cc,v 1.6 2003/01/22 18:47:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // @@ -36,6 +36,7 @@ // // Modifications: // 10.10.2001 MGP Revision to improve code quality and consistency with design +// 21.01.2003 VI cut per region // // ------------------------------------------------------------------- @@ -48,9 +49,9 @@ #include "G4VEMDataSet.hh" #include "G4EMDataSet.hh" #include "G4Material.hh" -#include "G4MaterialTable.hh" +#include "G4ProductionCutsTable.hh" -G4BremsstrahlungCrossSectionHandler::G4BremsstrahlungCrossSectionHandler(const G4VEnergySpectrum* spec, +G4BremsstrahlungCrossSectionHandler::G4BremsstrahlungCrossSectionHandler(const G4VEnergySpectrum* spec, G4VDataSetAlgorithm* alg) : theBR(spec) { @@ -58,14 +59,14 @@ G4BremsstrahlungCrossSectionHandler::G4BremsstrahlungCrossSectionHandler(const G } -G4BremsstrahlungCrossSectionHandler::~G4BremsstrahlungCrossSectionHandler() +G4BremsstrahlungCrossSectionHandler::~G4BremsstrahlungCrossSectionHandler() { delete interp; } -G4std::vector* -G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(const G4DataVector& energyVector, +G4std::vector* +G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(const G4DataVector& energyVector, const G4DataVector* energyCuts) { G4std::vector* set = new G4std::vector; @@ -74,15 +75,14 @@ G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(const G4Data G4DataVector* cs; G4int nOfBins = energyVector.size(); - const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); - if (materialTable == 0) - G4Exception("G4VCrossSectionHandler::G4VCrossSectionHandler - no MaterialTable found)"); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - G4int nMaterials = G4Material::GetNumberOfMaterials(); + for (size_t m=0; mGetMaterialCutsCouple(m); + const G4Material* material= couple->GetMaterial(); const G4ElementVector* elementVector = material->GetElementVector(); const G4double* nAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4int nElements = material->GetNumberOfElements(); @@ -93,7 +93,7 @@ G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(const G4Data G4VEMDataSet* setForMat = new G4CompositeEMDataSet(algo,1.,1.); for (G4int i=0; iGetZ()); energies = new G4DataVector; cs = new G4DataVector; @@ -107,19 +107,19 @@ G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(const G4Data if(e > tcut) { G4double elemCs = FindValue(Z, e); - + value = theBR->Probability(Z, tcut, e, e); value *= elemCs*density; } cs->push_back(value); - } + } G4VDataSetAlgorithm* algol = interp->Clone(); G4VEMDataSet* elSet = new G4EMDataSet(i,energies,cs,algol,1.,1.); setForMat->AddComponent(elSet); } set->push_back(setForMat); } - + return set; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc index e617e1d7b2..07f4fb6849 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4BremsstrahlungParameters.cc,v 1.14 2002/11/18 18:08:25 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4BremsstrahlungParameters.cc,v 1.16 2003/02/28 08:42:18 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V.Ivanchenko (Vladimir.Ivantchenko@cern.ch) @@ -34,6 +34,8 @@ // 25.09.01 V.Ivanchenko Add parameter C and change interface to B // 29.11.01 V.Ivanchenko Update parametrisation // 18.11.02 V.Ivanchenko Fix problem of load +// 21.02.03 V.Ivanchenko Number of parameters is defined in the constructor +// 28.02.03 V.Ivanchenko Filename is defined in the constructor // // ------------------------------------------------------------------- @@ -46,18 +48,19 @@ #include "g4std/strstream" -G4BremsstrahlungParameters:: G4BremsstrahlungParameters(G4int minZ, G4int maxZ) - : zMin(minZ), +G4BremsstrahlungParameters:: G4BremsstrahlungParameters(const G4String& name, + size_t num, G4int minZ, G4int maxZ) + : zMin(minZ), zMax(maxZ), - length(16) + length(num) { - LoadData(); + LoadData(name); } G4BremsstrahlungParameters::~G4BremsstrahlungParameters() -{ - // Reset the map of data sets: remove the data sets from the map +{ + // Reset the map of data sets: remove the data sets from the map G4std::map >::iterator pos; for (pos = param.begin(); pos != param.end(); ++pos) @@ -71,12 +74,12 @@ G4BremsstrahlungParameters::~G4BremsstrahlungParameters() } -G4double G4BremsstrahlungParameters::Parameter(G4int parameterIndex, - G4int Z, +G4double G4BremsstrahlungParameters::Parameter(G4int parameterIndex, + G4int Z, G4double energy) const { G4double value = 0.; - G4int id = Z*20 + parameterIndex; + G4int id = Z*length + parameterIndex; G4std::map >::const_iterator pos; pos = param.find(id); @@ -86,7 +89,7 @@ G4double G4BremsstrahlungParameters::Parameter(G4int parameterIndex, const G4DataVector ener = dataSet->GetEnergies(0); G4double ee = G4std::max(ener.front(),G4std::min(ener.back(),energy)); value = dataSet->FindValue(ee); - + } else { G4cout << "WARNING: G4BremsstrahlungParameters::FindValue " << "did not find ID = " @@ -96,7 +99,7 @@ G4double G4BremsstrahlungParameters::Parameter(G4int parameterIndex, return value; } -void G4BremsstrahlungParameters::LoadData() +void G4BremsstrahlungParameters::LoadData(const G4String& name) { // Build the complete string identifying the file with the data set @@ -112,13 +115,13 @@ void G4BremsstrahlungParameters::LoadData() for (G4int mm=0; mm<100; mm++) { paramC.push_back(x); } - + for (G4int m=0; mGetElementVector(); const G4int nElements = material->GetNumberOfElements(); - + for (G4int iEl=0; iElGetZ(); @@ -127,31 +130,30 @@ void G4BremsstrahlungParameters::LoadData() paramC[iz] = 0.217635e-33*(material->GetTotNbOfElectPerVolume()); if (!(activeZ.contains(Z))) { activeZ.push_back(Z); - } + } } } // Read parameters - + char* path = getenv("G4LEDATA"); if (path == 0) - { + { G4String excep("G4BremsstrahlungParameters - G4LEDATA environment variable not set"); G4Exception(excep); } G4String pathString_a(path); - G4String stringConversion1("/brem/br-sp.dat"); - G4String name_a = pathString_a + stringConversion1; + G4String name_a = pathString_a + name; G4std::ifstream file_a(name_a); G4std::filebuf* lsdp_a = file_a.rdbuf(); - - if (! (lsdp_a->is_open()) ) + + if (! (lsdp_a->is_open()) ) { G4String stringConversion2("G4BremsstrahlungParameters: cannot open file "); G4String excep = stringConversion2 + name_a; G4Exception(excep); - } + } // The file is organized into two columns: // 1st column is the energy @@ -163,15 +165,15 @@ void G4BremsstrahlungParameters::LoadData() G4DataVector* data; G4double ener = 0.0; G4double sum = 0.0; - energies = new G4DataVector(); - data = new G4DataVector(); + energies = new G4DataVector(); + data = new G4DataVector(); G4int z = 0; G4std::vector a; for (size_t j=0; j> ener >> sum; // End of file - if (ener == -2) { + if (ener == (G4double)(-2)) { break; // End of next element - } else if (ener == -1) { + } else if (ener == (G4double)(-1)) { z++; G4double Z = (G4double)z; - + // fill map if Z is used if (activeZ.contains(Z)) { for (size_t k=0; kclear(); } } e.clear(); - + } else { if(ener > 1000.) ener = 1000.; @@ -225,11 +227,11 @@ void G4BremsstrahlungParameters::LoadData() G4double qRead; file_a >> qRead; a[j]->push_back(qRead); - } + } } - } while (ener != -2); - + } while (ener != (G4double)(-2)); + file_a.close(); } @@ -238,7 +240,7 @@ void G4BremsstrahlungParameters::LoadData() G4double G4BremsstrahlungParameters::ParameterC(G4int id) const { G4int n = paramC.size(); - if (id < 0 || id >= n) + if (id < 0 || id >= n) { G4String stringConversion1("G4BremsstrahlungParameters::ParameterC - wrong id = "); G4String stringConversion2(id); @@ -252,7 +254,7 @@ G4double G4BremsstrahlungParameters::ParameterC(G4int id) const void G4BremsstrahlungParameters::PrintData() const { - + G4cout << G4endl; G4cout << "===== G4BremsstrahlungParameters =====" << G4endl; G4cout << G4endl; @@ -263,15 +265,15 @@ void G4BremsstrahlungParameters::PrintData() const G4std::map >::const_iterator pos; for (size_t j=0; jPrintData(); diff --git a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc index f755fab1ea..8a11690e8b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc @@ -22,7 +22,7 @@ // // // $Id: G4CompositeEMDataSet.cc,v 1.6 2002/05/28 09:20:18 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc index 6ac4a8f926..92c936ee7c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4CrossSectionHandler.cc,v 1.14 2002/07/19 17:32:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4CrossSectionHandler.cc,v 1.15 2003/04/24 14:19:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -30,6 +30,7 @@ // ----------- // 1 Aug 2001 MGP Created // 19 Jul 2002 VI Create composite data set for material +// 24 Apr 2003 VI Cut per region mfpt // // ------------------------------------------------------------------- @@ -39,10 +40,10 @@ #include "G4EMDataSet.hh" #include "G4CompositeEMDataSet.hh" #include "G4ShellEMDataSet.hh" -#include "G4MaterialTable.hh" +#include "G4ProductionCutsTable.hh" #include "G4Material.hh" #include "G4Element.hh" -#include "Randomize.hh" +#include "Randomize.hh" #include "g4std/map" #include "g4std/vector" #include "g4std/fstream" @@ -56,7 +57,7 @@ G4CrossSectionHandler::G4CrossSectionHandler() G4CrossSectionHandler::~G4CrossSectionHandler() { } -G4std::vector* +G4std::vector* G4CrossSectionHandler::BuildCrossSectionsForMaterials(const G4DataVector& energyVector, const G4DataVector*) { @@ -65,15 +66,17 @@ G4CrossSectionHandler::BuildCrossSectionsForMaterials(const G4DataVector& energy G4std::vector* matCrossSections = new G4std::vector; - const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); - G4int nMaterials = G4Material::GetNumberOfMaterials(); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + size_t nOfBins = energyVector.size(); const G4VDataSetAlgorithm* interpolationAlgo = CreateInterpolation(); - for (G4int m=0; mGetMaterialCutsCouple(m); + const G4Material* material= couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); const G4ElementVector* elementVector = material->GetElementVector(); const G4double* nAtomsPerVolume = material->GetAtomicNumDensityVector(); diff --git a/source/processes/electromagnetic/lowenergy/src/G4CutsPerMaterialWarning.cc b/source/processes/electromagnetic/lowenergy/src/G4CutsPerMaterialWarning.cc deleted file mode 100644 index 8c248195c7..0000000000 --- a/source/processes/electromagnetic/lowenergy/src/G4CutsPerMaterialWarning.cc +++ /dev/null @@ -1,73 +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: G4CutsPerMaterialWarning.cc,v 1.1 2001/11/07 22:39:02 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// -// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) -// -// History: -// ----------- -// 05 Oct 2001 MGP Created -// -// ------------------------------------------------------------------- - -#include "G4CutsPerMaterialWarning.hh" -#include "G4ParticleDefinition.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" - -void G4CutsPerMaterialWarning::PrintWarning(const G4ParticleDefinition* particle) const -{ - const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); - size_t nMaterials = materialTable->size(); - if (nMaterials > 1) - { - G4Material* material = (*materialTable)[0]; - G4double cut0 = particle->GetRangeThreshold(material); - G4double cut = cut0; - G4bool different = false; - size_t mat = 0; - while ((!different) && mat < (nMaterials-1)) - { - mat++; - G4Material* material = (*materialTable)[mat]; - cut = particle->GetRangeThreshold(material); - if (cut != cut0) different = true; - } - - - if (different) - { - G4cout << "========================== W A R N I N G ============================ " << G4endl - << " " << G4endl - << "You are using different range thresholds for different materials" << G4endl - << "This is an UNSUPPORTED feature temporarily implemented in Geant4" << G4endl - << "Geant4 Low Energy Electromagnetic Physics Processes are not supported," << G4endl - << "if this feature is activated and you may get inconsistent results" << G4endl - << "Please define the same range threshold for all materials" << G4endl - << " " << G4endl - << "========================== W A R N I N G ============================ " << G4endl; - } - } -} diff --git a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc index 9a463e0432..4d5a44791c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EMDataSet.cc,v 1.6 2002/05/28 09:20:19 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EMDataSet.cc,v 1.7 2003/02/24 00:36:10 pia Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -82,29 +82,30 @@ G4EMDataSet::~G4EMDataSet() G4double G4EMDataSet::FindValue(G4double e, G4int id) const { - G4double value; - G4double e0 = (*energies)[0]; - // Protections - size_t bin = FindBinLocation(e); - if (bin == numberOfBins) + G4double value = 0.; + if ( !(energies->empty()) ) { - // G4cout << "WARNING - G4EMDataSet::FindValue: energy outside upper boundary" - // << G4endl; - value = (*data)[bin]; + G4double e0 = (*energies)[0]; + // Protections + size_t bin = FindBinLocation(e); + if (bin == numberOfBins) + { + // G4cout << "WARNING - G4EMDataSet::FindValue: energy outside upper boundary" + // << G4endl; + value = (*data)[bin]; + } + else if (e <= e0) + { + // G4cout << "WARNING - G4EMDataSet::FindValue: energy outside lower boundary" + // << G4endl; + value = (*data)[0]; + } + else + { + if (algorithm == 0) G4Exception("G4EMDataSet::FindValue - interpolation algorithm = 0"); + value = algorithm->Calculate(e,bin,*energies,*data); + } } - else if (e <= e0) - { - // G4cout << "WARNING - G4EMDataSet::FindValue: energy outside lower boundary" - // << G4endl; - value = (*data)[0]; - } - else - { - if (algorithm == 0) - G4Exception("G4EMDataSet::FindValue - interpolation algorithm = 0"); - value = algorithm->Calculate(e,bin,*energies,*data); - } - return value; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc b/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc index fb9b6cc79f..1f9a63ab33 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc @@ -22,7 +22,7 @@ // // // $Id: G4FluoTransition.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc index a20f519341..e4c0e95722 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc @@ -22,7 +22,7 @@ // // // $Id: G4LinInterpolation.cc,v 1.2 2002/05/28 09:20:19 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc index 2304c006d4..aff3074b2c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc @@ -22,7 +22,7 @@ // // // $Id: G4LogLogInterpolation.cc,v 1.4 2002/05/28 09:20:19 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc index 87d531b83b..bc2bd5be73 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc @@ -20,15 +20,15 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4LowEnergyBremsstrahlung.cc,v 1.55 2002/07/30 18:14:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyBremsstrahlung.cc,v 1.58 2003/02/28 08:42:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // // File name: G4LowEnergyBremsstrahlung // // Author: Alessandra Forti, Vladimir Ivanchenko -// +// // Creation date: March 1999 // // Modifications: @@ -51,6 +51,9 @@ // 28.10.2001 VI Update printout // 29.11.2001 VI New parametrisation // 30.07.2002 VI Fix in restricted energy loss +// 21.01.2003 VI Cut per region +// 21.02.2003 V.Ivanchenko Energy bins for spectrum are defined here +// 28.02.03 V.Ivanchenko Filename is defined in the constructor // // -------------------------------------------------------------- @@ -64,11 +67,11 @@ #include "G4UnitsTable.hh" #include "G4Electron.hh" #include "G4Gamma.hh" +#include "G4ProductionCutsTable.hh" -#include "G4CutsPerMaterialWarning.hh" G4LowEnergyBremsstrahlung::G4LowEnergyBremsstrahlung(const G4String& nam) - : G4eLowEnergyLoss(nam), + : G4eLowEnergyLoss(nam), crossSectionHandler(0), theMeanFreePath(0), energySpectrum(0) @@ -83,6 +86,7 @@ G4LowEnergyBremsstrahlung::~G4LowEnergyBremsstrahlung() if(crossSectionHandler) delete crossSectionHandler; if(energySpectrum) delete energySpectrum; if(theMeanFreePath) delete theMeanFreePath; + energyBins.clear(); } @@ -92,15 +96,24 @@ void G4LowEnergyBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aP G4cout << "G4LowEnergyBremsstrahlung::BuildPhysicsTable start" << G4endl; } - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&aParticleType); cutForSecondaryPhotons.clear(); // Create and fill BremsstrahlungParameters once if( energySpectrum != 0 ) delete energySpectrum; - energySpectrum = new G4eBremsstrahlungSpectrum(); + energyBins.clear(); + for(size_t i=0; i<15; i++) { + G4double x = 0.1*((G4double)i); + if(i == 0) x = 0.01; + if(i == 10) x = 0.95; + if(i == 11) x = 0.97; + if(i == 12) x = 0.99; + if(i == 13) x = 0.995; + if(i == 14) x = 1.0; + energyBins.push_back(x); + } + const G4String dataName("/brem/br-sp.dat"); + energySpectrum = new G4eBremsstrahlungSpectrum(energyBins,dataName); if(verboseLevel > 0) { G4cout << "G4LowEnergyBremsstrahlungSpectrum is initialized" @@ -119,11 +132,11 @@ void G4LowEnergyBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aP crossSectionHandler->LoadShellData("brem/br-cs-"); if (verboseLevel > 0) { - G4cout << GetProcessName() - << " is created; Cross section data: " + G4cout << GetProcessName() + << " is created; Cross section data: " << G4endl; crossSectionHandler->PrintData(); - G4cout << "Parameters: " + G4cout << "Parameters: " << G4endl; energySpectrum->PrintData(); } @@ -161,7 +174,7 @@ void G4LowEnergyBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aP } // Build common DEDX table for all ionisation processes - + BuildDEDXTable(aParticleType); if(verboseLevel > 0) { @@ -187,50 +200,52 @@ void G4LowEnergyBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aPart theLossTable->clearAndDestroy(); delete theLossTable; } - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - const size_t numOfMaterials = G4Material::GetNumberOfMaterials(); - theLossTable = new G4PhysicsTable(numOfMaterials); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + theLossTable = new G4PhysicsTable(numOfCouples); + // Clean up the vector of cuts cutForSecondaryPhotons.clear(); // Loop for materials - - for (size_t j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); // the cut cannot be below lowest limit - G4double tCut = G4std::min(highKineticEnergy, - ((G4Gamma::Gamma())->GetEnergyThreshold(material))); + G4double tCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[j]; + tCut = G4std::min(highKineticEnergy, tCut); cutForSecondaryPhotons.push_back(tCut); const G4ElementVector* theElementVector = material->GetElementVector(); size_t NumberOfElements = material->GetNumberOfElements() ; - const G4double* theAtomicNumDensityVector = + const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); if(verboseLevel > 1) { G4cout << "Energy loss for material # " << j << " tCut(keV)= " << tCut/keV << G4endl; } - + // now comes the loop for the kinetic energy values for (size_t i = 0; iGetLowEdgeEnergy(i); - G4double ionloss = 0.; - + G4double ionloss = 0.; + // loop for elements in the material for (size_t iel=0; ielGetZ()); - G4double e = energySpectrum->AverageEnergy(Z, 0.0, tCut, lowEdgeEnergy); + G4double e = energySpectrum->AverageEnergy(Z, 0.0, tCut, lowEdgeEnergy); G4double cs= crossSectionHandler->FindValue(Z, lowEdgeEnergy); ionloss += e * cs * theAtomicNumDensityVector[iel]; if(verboseLevel > 1) { @@ -242,7 +257,7 @@ void G4LowEnergyBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aPart << "; loss= " << ionloss << G4endl; } - } + } aVector->PutValue(i,ionloss); } theLossTable->insert(aVector); @@ -255,38 +270,38 @@ G4VParticleChange* G4LowEnergyBremsstrahlung::PostStepDoIt(const G4Track& track, { aParticleChange.Initialize(track); - const G4Material* material = track.GetMaterial(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); G4double kineticEnergy = track.GetKineticEnergy(); - G4int index = material->GetIndex(); + G4int index = couple->GetIndex(); G4double tCut = cutForSecondaryPhotons[index]; // Control limits - if(tCut >= kineticEnergy) + if(tCut >= kineticEnergy) return G4VContinuousDiscreteProcess::PostStepDoIt(track, step); - G4int Z = crossSectionHandler->SelectRandomAtom(material, kineticEnergy); + G4int Z = crossSectionHandler->SelectRandomAtom(couple, kineticEnergy); G4double tGamma = energySpectrum->SampleEnergy(Z, tCut, kineticEnergy, kineticEnergy); // Sample gamma angle (Z - axis along the parent particle). - // Universal distribution suggested by L. Urban (Geant3 manual (1993) + // Universal distribution suggested by L. Urban (Geant3 manual (1993) // Phys211) derived from Tsai distribution (Rev Mod Phys 49,421(1977)) - G4double totalEnergy = kineticEnergy + electron_mass_c2; + G4double totalEnergy = kineticEnergy + electron_mass_c2; const G4double a1 = 0.625, a2 = 3.*a1, d = 27.; G4double u = - log(G4UniformRand()*G4UniformRand()); if (9./(9.+d) > G4UniformRand()) u /= a1; else u /= a2; - + G4double theta = u*electron_mass_c2/totalEnergy; G4double phi = twopi * G4UniformRand(); G4double dirZ = cos(theta); G4double sinTheta = sqrt(1. - dirZ*dirZ); G4double dirX = sinTheta*cos(phi); - G4double dirY = sinTheta*sin(phi); - + G4double dirY = sinTheta*sin(phi); + G4ThreeVector gammaDirection (dirX, dirY, dirZ); G4ThreeVector electronDirection = track.GetMomentumDirection(); @@ -318,7 +333,7 @@ G4VParticleChange* G4LowEnergyBremsstrahlung::PostStepDoIt(const G4Track& track, // create G4DynamicParticle object for the gamma G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), gammaDirection, tGamma); - aParticleChange.AddSecondary(aGamma); + aParticleChange.AddSecondary(aGamma); return G4VContinuousDiscreteProcess::PostStepDoIt(track, step); } @@ -347,11 +362,11 @@ G4double G4LowEnergyBremsstrahlung::GetMeanFreePath(const G4Track& track, G4ForceCondition* cond) { *cond = NotForced; - G4int index = (track.GetMaterial())->GetIndex(); + G4int index = (track.GetMaterialCutsCouple())->GetIndex(); const G4VEMDataSet* data = theMeanFreePath->GetComponent(index); G4double meanFreePath = data->FindValue(track.GetKineticEnergy()); - return meanFreePath; -} + return meanFreePath; +} void G4LowEnergyBremsstrahlung::SetCutForLowEnSecPhotons(G4double cut) { diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc index 48b18eaa28..5f64a6e3e0 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4LowEnergyCompton.cc,v 1.33 2001/11/07 20:47:29 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyCompton.cc,v 1.36 2003/04/24 14:19:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) @@ -33,8 +33,11 @@ // Modified PostStepDoIt to insert sampling with EPDL97 data A. Forti // Added SelectRandomAtom A. Forti // Added map of the elements A. Forti -// 24.04.2001 V.Ivanchenko - Remove RogueWave +// 24.04.2001 V.Ivanchenko - Remove RogueWave // 06.08.2001 MGP - Revised according to a design iteration +// 22.01.2003 V.Ivanchenko - Cut per region +// 10.03.2003 V.Ivanchenko - Remove CutPerMaterial warning +// 24.04.2003 V.Ivanchenko - Cut per region mfpt // // ------------------------------------------------------------------- @@ -58,17 +61,17 @@ #include "G4LogLogInterpolation.hh" #include "G4VRangeTest.hh" #include "G4RangeTest.hh" +#include "G4MaterialCutsCouple.hh" -#include "G4CutsPerMaterialWarning.hh" G4LowEnergyCompton::G4LowEnergyCompton(const G4String& processName) : G4VDiscreteProcess(processName), - lowEnergyLimit(250*eV), + lowEnergyLimit(250*eV), highEnergyLimit(100*GeV), intrinsicLowEnergyLimit(10*eV), intrinsicHighEnergyLimit(100*GeV) { - if (lowEnergyLimit < intrinsicLowEnergyLimit || + if (lowEnergyLimit < intrinsicLowEnergyLimit || highEnergyLimit > intrinsicHighEnergyLimit) { G4Exception("G4LowEnergyCompton::G4LowEnergyCompton - energy outside intrinsic process validity range"); @@ -84,16 +87,16 @@ G4LowEnergyCompton::G4LowEnergyCompton(const G4String& processName) rangeTest = new G4RangeTest; - if (verboseLevel > 0) + if (verboseLevel > 0) { G4cout << GetProcessName() << " is created " << G4endl - << "Energy range: " + << "Energy range: " << lowEnergyLimit / keV << " keV - " - << highEnergyLimit / GeV << " GeV" + << highEnergyLimit / GeV << " GeV" << G4endl; } } - + G4LowEnergyCompton::~G4LowEnergyCompton() { delete meanFreePathTable; @@ -104,9 +107,6 @@ G4LowEnergyCompton::~G4LowEnergyCompton() void G4LowEnergyCompton::BuildPhysicsTable(const G4ParticleDefinition& photon) { - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&photon); crossSectionHandler->Clear(); G4String crossSectionFile = "comp/ce-cs-"; @@ -116,26 +116,26 @@ void G4LowEnergyCompton::BuildPhysicsTable(const G4ParticleDefinition& photon) meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); } -G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, +G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { // The scattered gamma energy is sampled according to Klein - Nishina formula. - // then accepted or rejected depending on the Scattering Function multiplied - // by factor from Klein - Nishina formula. - // Expression of the angular distribution as Klein Nishina + // then accepted or rejected depending on the Scattering Function multiplied + // by factor from Klein - Nishina formula. + // Expression of the angular distribution as Klein Nishina // angular and energy distribution and Scattering fuctions is taken from - // D. E. Cullen "A simple model of photon transport" Nucl. Instr. Meth. - // Phys. Res. B 101 (1995). Method of sampling with form factors is different + // D. E. Cullen "A simple model of photon transport" Nucl. Instr. Meth. + // Phys. Res. B 101 (1995). Method of sampling with form factors is different // data are interpolated while in the article they are fitted. // Reference to the article is from J. Stepanek New Photon, Positron // and Electron Interaction Data for GEANT in Energy Range from 1 eV to 10 - // TeV (draft). - // The random number techniques of Butcher & Messel are used + // TeV (draft). + // The random number techniques of Butcher & Messel are used // (Nucl Phys 20(1960),15). aParticleChange.Initialize(aTrack); - - // Dynamic particle quantities + + // Dynamic particle quantities const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); G4double photonEnergy0 = incidentPhoton->GetKineticEnergy(); @@ -151,8 +151,8 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, G4ParticleMomentum photonDirection0 = incidentPhoton->GetMomentumDirection(); // Select randomly one element in the current material - G4Material* material = aTrack.GetMaterial(); - G4int Z = crossSectionHandler->SelectRandomAtom(material,photonEnergy0); + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + G4int Z = crossSectionHandler->SelectRandomAtom(couple,photonEnergy0); G4double epsilon0 = 1. / (1. + 2. * e0m); G4double epsilon0Sq = epsilon0 * epsilon0; @@ -160,8 +160,8 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, G4double alpha2 = 0.5 * (1. - epsilon0Sq); G4double wlPhoton = h_Planck*c_light/photonEnergy0; - - // Sample the energy of the scattered photon + + // Sample the energy of the scattered photon G4double epsilon; G4double epsilonSq; G4double oneCosT; @@ -172,20 +172,20 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, if ( alpha1/(alpha1+alpha2) > G4UniformRand()) { epsilon = exp(-alpha1 * G4UniformRand()); // pow(epsilon0,G4UniformRand()) - epsilonSq = epsilon * epsilon; + epsilonSq = epsilon * epsilon; } else { epsilonSq = epsilon0Sq + (1. - epsilon0Sq) * G4UniformRand(); epsilon = sqrt(epsilonSq); } - + oneCosT = (1. - epsilon) / ( epsilon * e0m); - sinT2 = oneCosT * (2. - oneCosT); + sinT2 = oneCosT * (2. - oneCosT); G4double x = sqrt(oneCosT/2.) / (wlPhoton/cm); G4double scatteringFunction = scatterFunctionData->FindValue(x,Z-1); gReject = (1. - epsilon * sinT2 / (1. + epsilonSq)) * scatteringFunction; - + } while(gReject < G4UniformRand()*Z); G4double cosTheta = 1. - oneCosT; @@ -195,8 +195,8 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, G4double diry = sinTheta * sin(phi); G4double dirz = cosTheta ; - // Update G4VParticleChange for the scattered photon - + // Update G4VParticleChange for the scattered photon + G4ThreeVector photonDirection1(dirx,diry,dirz); photonDirection1.rotateUz(photonDirection0); aParticleChange.SetMomentumChange(photonDirection1) ; @@ -207,28 +207,28 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, aParticleChange.SetEnergyChange(photonEnergy1) ; } else - { + { aParticleChange.SetEnergyChange(0.) ; aParticleChange.SetStatusChange(fStopAndKill); } - - // Kinematics of the scattered electron + + // Kinematics of the scattered electron G4double eKineticEnergy = photonEnergy0 - photonEnergy1; // Generate the electron only if with large enough range w.r.t. cuts and safety G4double safety = aStep.GetPostStepPoint()->GetSafety(); - if (rangeTest->Escape(G4Electron::Electron(),material,eKineticEnergy,safety)) + if (rangeTest->Escape(G4Electron::Electron(),couple,eKineticEnergy,safety)) { G4double eMomentum = sqrt(eKineticEnergy*(eKineticEnergy+2.*electron_mass_c2)); - G4ThreeVector eDirection((photonEnergy0 * photonDirection0 - - photonEnergy1 * photonDirection1) * (1./eMomentum)); + G4ThreeVector eDirection((photonEnergy0 * photonDirection0 - + photonEnergy1 * photonDirection1) * (1./eMomentum)); G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), eDirection,eKineticEnergy) ; aParticleChange.SetNumberOfSecondaries(1); aParticleChange.AddSecondary(electron); - aParticleChange.SetLocalEnergyDeposit(0.); + aParticleChange.SetLocalEnergyDeposit(0.); } else { @@ -241,17 +241,17 @@ G4VParticleChange* G4LowEnergyCompton::PostStepDoIt(const G4Track& aTrack, G4bool G4LowEnergyCompton::IsApplicable(const G4ParticleDefinition& particle) { - return ( &particle == G4Gamma::Gamma() ); + return ( &particle == G4Gamma::Gamma() ); } -G4double G4LowEnergyCompton::GetMeanFreePath(const G4Track& track, - G4double previousStepSize, +G4double G4LowEnergyCompton::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, G4ForceCondition*) { const G4DynamicParticle* photon = track.GetDynamicParticle(); G4double energy = photon->GetKineticEnergy(); - G4Material* material = track.GetMaterial(); - size_t materialIndex = material->GetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + size_t materialIndex = couple->GetIndex(); G4double meanFreePath; if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc index c59d0a0e85..4ec7a962e6 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc @@ -22,8 +22,8 @@ // // -------------------------------------------------------------------- /// -// $Id: G4LowEnergyGammaConversion.cc,v 1.27 2002/05/31 18:48:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyGammaConversion.cc,v 1.30 2003/04/24 14:19:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -38,8 +38,11 @@ // Change initialisation of lowestEnergyLimit from 1.22 to 1.022. // Note that the hard coded value 1.022 should be used instead of // 2*electron_mass_c2 in order to agree with the value of the data bank EPDL97 -// 24.04.01 V.Ivanchenko remove RogueWave -// 27.07.01 F.Longo correct bug in energy distribution +// 24.04.01 V.Ivanchenko remove RogueWave +// 27.07.01 F.Longo correct bug in energy distribution +// 21.01.03 V.Ivanchenko Cut per region +// 25.03.03 F.Longo fix in angular distribution of e+/e- +// 24.04.03 V.Ivanchenko - Cut per region mfpt // // -------------------------------------------------------------- @@ -65,11 +68,10 @@ #include "G4LogLogInterpolation.hh" #include "G4VRangeTest.hh" #include "G4RangeTest.hh" - -#include "G4CutsPerMaterialWarning.hh" +#include "G4MaterialCutsCouple.hh" G4LowEnergyGammaConversion::G4LowEnergyGammaConversion(const G4String& processName) - : G4VDiscreteProcess(processName), + : G4VDiscreteProcess(processName), lowEnergyLimit(1.022000*MeV), highEnergyLimit(100*GeV), intrinsicLowEnergyLimit(1.022000*MeV), @@ -109,9 +111,6 @@ G4LowEnergyGammaConversion::~G4LowEnergyGammaConversion() void G4LowEnergyGammaConversion::BuildPhysicsTable(const G4ParticleDefinition& photon) { - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&photon); crossSectionHandler->Clear(); G4String crossSectionFile = "pair/pp-cs-"; @@ -121,92 +120,92 @@ void G4LowEnergyGammaConversion::BuildPhysicsTable(const G4ParticleDefinition& p meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); } -G4VParticleChange* G4LowEnergyGammaConversion::PostStepDoIt(const G4Track& aTrack, +G4VParticleChange* G4LowEnergyGammaConversion::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { -// The energies of the e+ e- secondaries are sampled using the Bethe - Heitler -// cross sections with Coulomb correction. A modified version of the random +// The energies of the e+ e- secondaries are sampled using the Bethe - Heitler +// cross sections with Coulomb correction. A modified version of the random // number techniques of Butcher & Messel is used (Nuc Phys 20(1960),15). -// Note 1 : Effects due to the breakdown of the Born approximation at low +// Note 1 : Effects due to the breakdown of the Born approximation at low // energy are ignored. -// Note 2 : The differential cross section implicitly takes account of -// pair creation in both nuclear and atomic electron fields. However triplet +// Note 2 : The differential cross section implicitly takes account of +// pair creation in both nuclear and atomic electron fields. However triplet // prodution is not generated. aParticleChange.Initialize(aTrack); - G4Material* material = aTrack.GetMaterial(); - + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); G4double photonEnergy = incidentPhoton->GetKineticEnergy(); G4ParticleMomentum photonDirection = incidentPhoton->GetMomentumDirection(); - + G4double epsilon ; G4double epsilon0 = electron_mass_c2 / photonEnergy ; // Do it fast if photon energy < 2. MeV - if (photonEnergy < smallEnergy ) - { - epsilon = epsilon0 + (0.5 - epsilon0) * G4UniformRand(); + if (photonEnergy < smallEnergy ) + { + epsilon = epsilon0 + (0.5 - epsilon0) * G4UniformRand(); } else - { + { // Select randomly one element in the current material - const G4Element* element = crossSectionHandler->SelectRandomElement(material,photonEnergy); + const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); - if (element == 0) + if (element == 0) { G4cout << "G4LowEnergyGammaConversion::PostStepDoIt - element = 0" << G4endl; } G4IonisParamElm* ionisation = element->GetIonisation(); - if (ionisation == 0) + if (ionisation == 0) { G4cout << "G4LowEnergyGammaConversion::PostStepDoIt - ionisation = 0" << G4endl; } - + // Extract Coulomb factor for this Element G4double fZ = 8. * (ionisation->GetlogZ3()); if (photonEnergy > 50. * MeV) fZ += 8. * (element->GetfCoulomb()); - + // Limits of the screening variable G4double screenFactor = 136. * epsilon0 / (element->GetIonisation()->GetZ3()) ; G4double screenMax = exp ((42.24 - fZ)/8.368) - 0.952 ; G4double screenMin = G4std::min(4.*screenFactor,screenMax) ; - + // Limits of the energy sampling G4double epsilon1 = 0.5 - 0.5 * sqrt(1. - screenMin / screenMax) ; G4double epsilonMin = G4std::max(epsilon0,epsilon1); G4double epsilonRange = 0.5 - epsilonMin ; - - // Sample the energy rate of the created electron (or positron) + + // Sample the energy rate of the created electron (or positron) G4double screen; G4double gReject ; - + G4double f10 = ScreenFunction1(screenMin) - fZ; G4double f20 = ScreenFunction2(screenMin) - fZ; G4double normF1 = G4std::max(f10 * epsilonRange * epsilonRange,0.); G4double normF2 = G4std::max(1.5 * f20,0.); - + do { if (normF1 / (normF1 + normF2) > G4UniformRand() ) { epsilon = 0.5 - epsilonRange * pow(G4UniformRand(), 0.3333) ; screen = screenFactor / (epsilon * (1. - epsilon)); gReject = (ScreenFunction1(screen) - fZ) / f10 ; - } - else - { + } + else + { epsilon = epsilonMin + epsilonRange * G4UniformRand(); screen = screenFactor / (epsilon * (1 - epsilon)); gReject = (ScreenFunction2(screen) - fZ) / f20 ; } } while ( gReject < G4UniformRand() ); - + } // End of epsilon sampling - - // Fix charges randomly - + + // Fix charges randomly + G4double electronTotEnergy; G4double positronTotEnergy; @@ -220,7 +219,7 @@ G4VParticleChange* G4LowEnergyGammaConversion::PostStepDoIt(const G4Track& aTrac positronTotEnergy = (1. - epsilon) * photonEnergy; electronTotEnergy = epsilon * photonEnergy; } - + // Scattered electron (positron) angles. ( Z - axis along the parent photon) // Universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211), // derived from Tsai distribution (Rev. Mod. Phys. 49, 421 (1977) @@ -229,7 +228,7 @@ G4VParticleChange* G4LowEnergyGammaConversion::PostStepDoIt(const G4Track& aTrac const G4double a1 = 0.625; G4double a2 = 3. * a1; // G4double d = 27. ; - + // if (9. / (9. + d) > G4UniformRand()) if (0.25 > G4UniformRand()) { @@ -240,51 +239,55 @@ G4VParticleChange* G4LowEnergyGammaConversion::PostStepDoIt(const G4Track& aTrac u = - log(G4UniformRand() * G4UniformRand()) / a2 ; } - G4double theta = u * electron_mass_c2 / photonEnergy ; - G4double phi = twopi * G4UniformRand() ; - G4double dirX = sin(theta) * cos(phi); - G4double dirY = sin(theta) * sin(phi); - G4double dirZ = cos(theta); - -// Kinematics of the created pair: -// the electron and positron are assumed to have a symetric angular -// distribution with respect to the Z axis along the parent photon + G4double thetaEle = u*electron_mass_c2/electronTotEnergy; + G4double thetaPos = u*electron_mass_c2/positronTotEnergy; + G4double phi = twopi * G4UniformRand(); + G4double dxEle= sin(thetaEle)*cos(phi),dyEle= sin(thetaEle)*sin(phi),dzEle=cos(thetaEle); + G4double dxPos=-sin(thetaPos)*cos(phi),dyPos=-sin(thetaPos)*sin(phi),dzPos=cos(thetaPos); + + + // Kinematics of the created pair: + // the electron and positron are assumed to have a symetric angular + // distribution with respect to the Z axis along the parent photon + G4double localEnergyDeposit = 0. ; aParticleChange.SetNumberOfSecondaries(2) ; G4double electronKineEnergy = G4std::max(0.,electronTotEnergy - electron_mass_c2) ; - + // Generate the electron only if with large enough range w.r.t. cuts and safety - + G4double safety = aStep.GetPostStepPoint()->GetSafety(); - - if (rangeTest->Escape(G4Electron::Electron(),material,electronKineEnergy,safety)) + + if (rangeTest->Escape(G4Electron::Electron(),couple,electronKineEnergy,safety)) { - G4ThreeVector electronDirection ( dirX, dirY, dirZ ); - electronDirection.rotateUz(photonDirection); + G4ThreeVector electronDirection (dxEle, dyEle, dzEle); + electronDirection.rotateUz(photonDirection); + G4DynamicParticle* particle1 = new G4DynamicParticle (G4Electron::Electron(), - electronDirection, + electronDirection, electronKineEnergy); - aParticleChange.AddSecondary(particle1) ; + aParticleChange.AddSecondary(particle1) ; } else - { - localEnergyDeposit += electronKineEnergy ; + { + localEnergyDeposit += electronKineEnergy ; } // The e+ is always created (even with kinetic energy = 0) for further annihilation G4double positronKineEnergy = G4std::max(0.,positronTotEnergy - electron_mass_c2) ; // Is the local energy deposit correct, if the positron is always created? - if (! (rangeTest->Escape(G4Positron::Positron(),material,positronKineEnergy,safety))) + if (! (rangeTest->Escape(G4Positron::Positron(),couple,positronKineEnergy,safety))) { localEnergyDeposit += positronKineEnergy ; positronKineEnergy = 0. ; } - G4ThreeVector positronDirection(-dirX,-dirY,dirZ); + + G4ThreeVector positronDirection (dxPos, dyPos, dzPos); positronDirection.rotateUz(photonDirection); - + // Create G4DynamicParticle object for the particle2 G4DynamicParticle* particle2 = new G4DynamicParticle(G4Positron::Positron(), positronDirection, positronKineEnergy); @@ -312,8 +315,8 @@ G4double G4LowEnergyGammaConversion::GetMeanFreePath(const G4Track& track, { const G4DynamicParticle* photon = track.GetDynamicParticle(); G4double energy = photon->GetKineticEnergy(); - G4Material* material = track.GetMaterial(); - size_t materialIndex = material->GetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + size_t materialIndex = couple->GetIndex(); G4double meanFreePath; if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc index b055bb1387..901dd54ea0 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4LowEnergyIonisation.cc,v 1.90 2002/10/28 09:43:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyIonisation.cc,v 1.93 2003/04/12 16:40:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // @@ -77,7 +77,7 @@ // 10.10.01 MGP Revision to improve code quality and // consistency with design // 18.10.01 V.Ivanchenko Add fluorescence AlongStepDoIt -// 18.10.01 MGP Revision to improve code quality and +// 18.10.01 MGP Revision to improve code quality and // consistency with design // 19.10.01 V.Ivanchenko update according to new design, V.Ivanchenko // 26.10.01 V.Ivanchenko clean up deexcitation @@ -86,12 +86,15 @@ // 25.03.02 V.Ivanchneko Fix in fluorescence // 28.03.02 V.Ivanchenko Add flag of fluorescence // 28.05.02 V.Ivanchenko Remove flag fStopAndKill -// 31.05.02 V.Ivanchenko Add path of Fluo + Auger cuts to +// 31.05.02 V.Ivanchenko Add path of Fluo + Auger cuts to // AtomicDeexcitation // 03.06.02 MGP Restore fStopAndKill // 19.06.02 VI Additional printout // 30.07.02 VI Fix in restricted energy loss // 20.09.02 VI Remove ActivateFlurescence from SetCut... +// 21.01.03 VI Cut per region +// 12.02.03 VI Change signature for Deexcitation +// 12.04.03 V.Ivanchenko Cut per region for fluo AlongStep // // -------------------------------------------------------------- @@ -111,8 +114,7 @@ #include "G4UnitsTable.hh" #include "G4Electron.hh" #include "G4Gamma.hh" - -#include "G4CutsPerMaterialWarning.hh" +#include "G4ProductionCutsTable.hh" G4LowEnergyIonisation::G4LowEnergyIonisation(const G4String& nam) : G4eLowEnergyLoss(nam), @@ -142,9 +144,6 @@ void G4LowEnergyIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParti G4cout << "G4LowEnergyIonisation::BuildPhysicsTable start" << G4endl; } - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&aParticleType); cutForDelta.clear(); @@ -164,19 +163,19 @@ void G4LowEnergyIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParti G4double lowKineticEnergy = GetLowerBoundEloss(); G4double highKineticEnergy = GetUpperBoundEloss(); G4int totBin = GetNbinEloss(); - crossSectionHandler = new G4eIonisationCrossSectionHandler(energySpectrum, + crossSectionHandler = new G4eIonisationCrossSectionHandler(energySpectrum, interpolation, - lowKineticEnergy, + lowKineticEnergy, highKineticEnergy, totBin); crossSectionHandler->LoadShellData("ioni/ion-ss-cs-"); if (verboseLevel > 0) { - G4cout << GetProcessName() - << " is created; Cross section data: " + G4cout << GetProcessName() + << " is created; Cross section data: " << G4endl; crossSectionHandler->PrintData(); - G4cout << "Parameters: " + G4cout << "Parameters: " << G4endl; energySpectrum->PrintData(); } @@ -236,14 +235,15 @@ void G4LowEnergyIonisation::BuildLossTable( size_t totBin = GetNbinEloss(); // create table - + if (theLossTable) { theLossTable->clearAndDestroy(); delete theLossTable; } - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - const size_t numOfMaterials = G4Material::GetNumberOfMaterials(); - theLossTable = new G4PhysicsTable(numOfMaterials); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + theLossTable = new G4PhysicsTable(numOfCouples); if (shellVacancy != 0) delete shellVacancy; shellVacancy = new G4ShellVacancy(); @@ -261,38 +261,39 @@ void G4LowEnergyIonisation::BuildLossTable( cutForDelta.clear(); // Loop for materials - - for (size_t m=0; mGetMaterialCutsCouple(m); + const G4Material* material= couple->GetMaterial(); // the cut cannot be below lowest limit - G4double tCut = G4Electron::Electron()->GetEnergyThreshold(material); + G4double tCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[m]; if(tCut > highKineticEnergy) tCut = highKineticEnergy; cutForDelta.push_back(tCut); const G4ElementVector* theElementVector = material->GetElementVector(); size_t NumberOfElements = material->GetNumberOfElements() ; - const G4double* theAtomicNumDensityVector = + const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); if(verboseLevel > 0) { G4cout << "Energy loss for material # " << m << " tCut(keV)= " << tCut/keV << G4endl; } - + // now comes the loop for the kinetic energy values for (size_t i = 0; iGetLowEdgeEnergy(i); - G4double ionloss = 0.; - + G4double ionloss = 0.; + // loop for elements in the material for (size_t iel=0; ielAverageEnergy(Z, 0.0, tCut, + G4double e = energySpectrum->AverageEnergy(Z, 0.0, tCut, lowEdgeEnergy, n); G4double cs= crossSectionHandler->FindValue(Z, lowEdgeEnergy, n); ionloss += e * cs * theAtomicNumDensityVector[iel]; @@ -319,9 +320,9 @@ void G4LowEnergyIonisation::BuildLossTable( } G4double esp = energySpectrum->Excitation(Z, lowEdgeEnergy); ionloss += esp * theAtomicNumDensityVector[iel]; - } + } if(verboseLevel > 1 || (m == 0 && lowEdgeEnergy>=1. && lowEdgeEnergy<=0.)) { - G4cout << "Sum: " + G4cout << "Sum: " << " E(keV)= " << lowEdgeEnergy/keV << " loss(MeV/mm)= " << ionloss*mm/MeV << G4endl; @@ -349,9 +350,9 @@ void G4LowEnergyIonisation::BuildLossTable( for (G4int n=0; nAverageEnergy(Z, 0.0, tCut, + G4double e = energySpectrum->AverageEnergy(Z, 0.0, tCut, lowEdgeEnergy, n); - G4double pro = energySpectrum->Probability(Z, 0.0, tCut, + G4double pro = energySpectrum->Probability(Z, 0.0, tCut, lowEdgeEnergy, n); G4double cs= crossSectionHandler->FindValue(Z, lowEdgeEnergy, n); eAverage += e * cs * theAtomicNumDensityVector[iel]; @@ -389,7 +390,7 @@ void G4LowEnergyIonisation::BuildLossTable( xsis->AddComponent(set); } if(verboseLevel) xsis->PrintData(); - shellVacancy->AddXsiTable(xsis); + shellVacancy->AddXsiTable(xsis); } delete bVector; } @@ -399,50 +400,50 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, const G4Step& step) { // Delta electron production mechanism on base of the model - // J. Stepanek " A program to determine the radiation spectra due - // to a single atomic subshell ionisation by a particle or due to - // deexcitation or decay of radionuclides", + // J. Stepanek " A program to determine the radiation spectra due + // to a single atomic subshell ionisation by a particle or due to + // deexcitation or decay of radionuclides", // Comp. Phys. Comm. 1206 pp 1-19 (1997) aParticleChange.Initialize(track); - const G4Material* material = track.GetMaterial(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); G4double kineticEnergy = track.GetKineticEnergy(); // Select atom and shell - G4int Z = crossSectionHandler->SelectRandomAtom(material, kineticEnergy); + G4int Z = crossSectionHandler->SelectRandomAtom(couple, kineticEnergy); G4int shell = crossSectionHandler->SelectRandomShell(Z, kineticEnergy); - const G4AtomicShell* atomicShell = + const G4AtomicShell* atomicShell = (G4AtomicTransitionManager::Instance())->Shell(Z, shell); G4double bindingEnergy = atomicShell->BindingEnergy(); G4int shellId = atomicShell->ShellId(); // Sample delta energy - G4int index = material->GetIndex(); + G4int index = couple->GetIndex(); G4double tCut = cutForDelta[index]; G4double tmax = energySpectrum->MaxEnergyOfSecondaries(kineticEnergy); - G4double tDelta = energySpectrum->SampleEnergy(Z, tCut, tmax, + G4double tDelta = energySpectrum->SampleEnergy(Z, tCut, tmax, kineticEnergy, shell); - if(tDelta == 0.0) + if(tDelta == 0.0) return G4VContinuousDiscreteProcess::PostStepDoIt(track, step); // Transform to shell potential - G4double deltaKinE = tDelta + 2.0*bindingEnergy; - G4double primaryKinE = kineticEnergy + 2.0*bindingEnergy; + G4double deltaKinE = tDelta + 2.0*bindingEnergy; + G4double primaryKinE = kineticEnergy + 2.0*bindingEnergy; // sampling of scattering angle neglecting atomic motion G4double deltaMom = sqrt(deltaKinE*(deltaKinE + 2.0*electron_mass_c2)); G4double primaryMom = sqrt(primaryKinE*(primaryKinE + 2.0*electron_mass_c2)); - + G4double cost = deltaKinE * (primaryKinE + 2.0*electron_mass_c2) / (deltaMom * primaryMom); if (cost > 1.) cost = 1.; G4double sint = sqrt(1. - cost*cost); - G4double phi = twopi * G4UniformRand(); + G4double phi = twopi * G4UniformRand(); G4double dirx = sint * cos(phi); G4double diry = sint * sin(phi); G4double dirz = cost; @@ -461,7 +462,7 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, cost = 2.0*G4UniformRand() - 1.0; sint = sqrt(1. - cost*cost); - phi = twopi * G4UniformRand(); + phi = twopi * G4UniformRand(); G4double del = sqrt(bindingEnergy *(bindingEnergy + 2.0*electron_mass_c2)) / deltaMom; dirx += del* sint * cos(phi); @@ -469,9 +470,9 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, dirz += del* cost; // Find out new primary electron direction - G4double finalPx = primaryMom*primaryDirection.x() - deltaMom*dirx; - G4double finalPy = primaryMom*primaryDirection.y() - deltaMom*diry; - G4double finalPz = primaryMom*primaryDirection.z() - deltaMom*dirz; + G4double finalPx = primaryMom*primaryDirection.x() - deltaMom*dirx; + G4double finalPy = primaryMom*primaryDirection.y() - deltaMom*diry; + G4double finalPz = primaryMom*primaryDirection.z() - deltaMom*dirz; // create G4DynamicParticle object for delta ray G4DynamicParticle* theDeltaRay = new G4DynamicParticle(); @@ -480,19 +481,19 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, dirx *= norm; diry *= norm; dirz *= norm; - theDeltaRay->SetMomentumDirection(dirx, diry, dirz); + theDeltaRay->SetMomentumDirection(dirx, diry, dirz); theDeltaRay->SetDefinition(G4Electron::Electron()); - + G4double theEnergyDeposit = bindingEnergy; - // fill ParticleChange + // fill ParticleChange // changed energy and momentum of the actual particle G4double finalKinEnergy = kineticEnergy - tDelta - theEnergyDeposit; if(finalKinEnergy < 0.0) { theEnergyDeposit += finalKinEnergy; finalKinEnergy = 0.0; - aParticleChange.SetStatusChange(fStopAndKill); + aParticleChange.SetStatusChange(fStopAndKill); } else { @@ -511,10 +512,10 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, G4std::vector* secondaryVector = 0; G4DynamicParticle* aSecondary = 0; G4ParticleDefinition* type = 0; - + // Fluorescence data start from element 6 - - if (Fluorescence() && Z > 5 && (bindingEnergy >= cutForPhotons + + if (Fluorescence() && Z > 5 && (bindingEnergy >= cutForPhotons || bindingEnergy >= cutForElectrons)) { secondaryVector = deexcitationManager.GenerateParticles(Z, shellId); @@ -526,11 +527,11 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, aSecondary = (*secondaryVector)[i]; if (aSecondary) { - + G4double e = aSecondary->GetKineticEnergy(); type = aSecondary->GetDefinition(); - if (e < theEnergyDeposit && - ((type == G4Gamma::Gamma() && e > cutForPhotons ) || + if (e < theEnergyDeposit && + ((type == G4Gamma::Gamma() && e > cutForPhotons ) || (type == G4Electron::Electron() && e > cutForElectrons ))) { theEnergyDeposit -= e; @@ -545,14 +546,14 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, } } } - + // Save delta-electrons aParticleChange.SetNumberOfSecondaries(totalNumber); aParticleChange.AddSecondary(theDeltaRay); // Save Fluorescence and Auger - + if (secondaryVector) { for (size_t l = 0; l < nSecondaries; l++) { @@ -562,13 +563,13 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt(const G4Track& track, if(aSecondary) { aParticleChange.AddSecondary(aSecondary); - } + } } delete secondaryVector; } - + if(theEnergyDeposit < 0.) { - G4cout << "G4LowEnergyIonisation: Negative energy deposit: " + G4cout << "G4LowEnergyIonisation: Negative energy deposit: " << theEnergyDeposit/eV << " eV" << G4endl; theEnergyDeposit = 0.0; } @@ -582,97 +583,98 @@ void G4LowEnergyIonisation::PrintInfoDefinition() { G4String comments = "Total cross sections from EEDL database."; comments += "\n Gamma energy sampled from a parametrised formula."; - comments += "\n Implementation of the continuous dE/dx part."; + comments += "\n Implementation of the continuous dE/dx part."; comments += "\n At present it can be used for electrons "; comments += "in the energy range [250eV,100GeV]."; comments += "\n The process must work with G4LowEnergyBremsstrahlung."; - + G4cout << G4endl << GetProcessName() << ": " << comments << G4endl; -} +} G4bool G4LowEnergyIonisation::IsApplicable(const G4ParticleDefinition& particle) { return ( (&particle == G4Electron::Electron()) ); } -G4std::vector* -G4LowEnergyIonisation::DeexciteAtom(const G4Material* material, +G4std::vector* +G4LowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, G4double incidentEnergy, G4double eLoss) -{ +{ // create vector of secondary particles - - G4std::vector* partVector = + const G4Material* material = couple->GetMaterial(); + + G4std::vector* partVector = new G4std::vector; - + if(eLoss > cutForPhotons && eLoss > cutForElectrons) { - const G4AtomicTransitionManager* transitionManager = + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); - + size_t nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); - - G4std::vector* secVector = 0; + + G4std::vector* secVector = 0; G4DynamicParticle* aSecondary = 0; G4ParticleDefinition* type = 0; G4double e; G4ThreeVector position; G4int shell, shellId; - + // sample secondaries - - G4double eTot = 0.0; - G4std::vector n = - shellVacancy->GenerateNumberOfIonisations(material, + + G4double eTot = 0.0; + G4std::vector n = + shellVacancy->GenerateNumberOfIonisations(couple, incidentEnergy,eLoss); for (size_t i=0; iGetZ()); size_t nVacancies = n[i]; - + G4double maxE = transitionManager->Shell(Z, 0)->BindingEnergy(); - + if (nVacancies && Z > 5 && (maxE>cutForPhotons || maxE>cutForElectrons)) { for (size_t j=0; jSelectRandomShell(Z, incidentEnergy); shellId = transitionManager->Shell(Z, shell)->ShellId(); - G4double maxEShell = + G4double maxEShell = transitionManager->Shell(Z, shell)->BindingEnergy(); - + if (maxEShell>cutForPhotons || maxEShell>cutForElectrons ) { secVector = deexcitationManager.GenerateParticles(Z, shellId); - - if (secVector != 0) { - + + if (secVector != 0) { + for (size_t l = 0; lsize(); l++) { - + aSecondary = (*secVector)[l]; if (aSecondary != 0) { - + e = aSecondary->GetKineticEnergy(); type = aSecondary->GetDefinition(); if ( eTot + e <= eLoss && - (type == G4Gamma::Gamma() && e>cutForPhotons ) || + (type == G4Gamma::Gamma() && e>cutForPhotons ) || (type == G4Electron::Electron() && e>cutForElectrons)) { - - eTot += e; + + eTot += e; partVector->push_back(aSecondary); - + } else { - + delete aSecondary; - + } } } delete secVector; - } - } - } + } + } + } } } } @@ -684,17 +686,17 @@ G4double G4LowEnergyIonisation::GetMeanFreePath(const G4Track& track, G4ForceCondition* cond) { *cond = NotForced; - G4int index = (track.GetMaterial())->GetIndex(); + G4int index = (track.GetMaterialCutsCouple())->GetIndex(); const G4VEMDataSet* data = theMeanFreePath->GetComponent(index); G4double meanFreePath = data->FindValue(track.GetKineticEnergy()); - return meanFreePath; -} + return meanFreePath; +} void G4LowEnergyIonisation::SetCutForLowEnSecPhotons(G4double cut) { cutForPhotons = cut; deexcitationManager.SetCutForSecondaryPhotons(cut); -} +} void G4LowEnergyIonisation::SetCutForLowEnSecElectrons(G4double cut) { diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc index 7eea0c1073..4f84de7916 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LowEnergyPhotoElectric.cc,v 1.48 2002/06/14 17:39:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyPhotoElectric.cc,v 1.49 2003/01/22 18:47:28 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) @@ -52,10 +52,11 @@ // 06.10.2001 MGP Added protection to avoid negative electron energies // when binding energy of selected shell > photon energy // 18.04.2001 V.Ivanchenko Fix problem with low energy gammas from fluorescence -// MeanFreePath is calculated by crosSectionHandler directly +// MeanFreePath is calculated by crosSectionHandler directly // 31.05.2002 V.Ivanchenko Add path of Fluo + Auger cuts to AtomicDeexcitation // 14.06.2002 V.Ivanchenko By default do not cheak range of e- -// +// 21.01.2003 V.Ivanchenko Cut per region +// // -------------------------------------------------------------- #include "G4LowEnergyPhotoElectric.hh" @@ -79,8 +80,7 @@ #include "G4RangeNoTest.hh" #include "G4AtomicTransitionManager.hh" #include "G4AtomicShell.hh" - -#include "G4CutsPerMaterialWarning.hh" +#include "G4ProductionCutsTable.hh" G4LowEnergyPhotoElectric::G4LowEnergyPhotoElectric(const G4String& processName) : G4VDiscreteProcess(processName), lowEnergyLimit(250*eV), highEnergyLimit(100*GeV), @@ -100,12 +100,12 @@ G4LowEnergyPhotoElectric::G4LowEnergyPhotoElectric(const G4String& processName) meanFreePathTable = 0; rangeTest = new G4RangeNoTest; - if (verboseLevel > 0) + if (verboseLevel > 0) { G4cout << GetProcessName() << " is created " << G4endl - << "Energy range: " + << "Energy range: " << lowEnergyLimit / keV << " keV - " - << highEnergyLimit / GeV << " GeV" + << highEnergyLimit / GeV << " GeV" << G4endl; } } @@ -120,9 +120,6 @@ G4LowEnergyPhotoElectric::~G4LowEnergyPhotoElectric() void G4LowEnergyPhotoElectric::BuildPhysicsTable(const G4ParticleDefinition& photon) { - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&photon); crossSectionHandler->Clear(); G4String crossSectionFile = "phot/pe-cs-"; @@ -136,11 +133,11 @@ void G4LowEnergyPhotoElectric::BuildPhysicsTable(const G4ParticleDefinition& pho meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); } -G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, +G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { // Fluorescence generated according to: - // J. Stepanek ,"A program to determine the radiation spectra due to a single atomic + // J. Stepanek ,"A program to determine the radiation spectra due to a single atomic // subshell ionisation by a particle or due to deexcitation or decay of radionuclides", // Comp. Phys. Comm. 1206 pp 1-1-9 (1997) @@ -157,10 +154,10 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, } G4ParticleMomentum photonDirection = incidentPhoton->GetMomentumDirection(); - + // Select randomly one element in the current material - G4Material* material = aTrack.GetMaterial(); - G4int Z = crossSectionHandler->SelectRandomAtom(material,photonEnergy); + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + G4int Z = crossSectionHandler->SelectRandomAtom(couple,photonEnergy); // Select the ionised shell in the current atom according to shell cross sections size_t shellIndex = shellCrossSectionHandler->SelectRandomShell(Z,photonEnergy); @@ -188,17 +185,17 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, // Generate the electron only if with large enough range w.r.t. cuts and safety G4double safety = aStep.GetPostStepPoint()->GetSafety(); - if (rangeTest->Escape(G4Electron::Electron(),material,eKineticEnergy,safety)) + if (rangeTest->Escape(G4Electron::Electron(),couple,eKineticEnergy,safety)) { - // The electron is created in the direction of the incident photon ... - G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), - photonDirection, + // The electron is created in the direction of the incident photon ... + G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), + photonDirection, eKineticEnergy); electronVector.push_back(electron); - } - else + } + else { - energyDeposit += eKineticEnergy; + energyDeposit += eKineticEnergy; } } else @@ -209,19 +206,25 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, G4int nElectrons = electronVector.size(); size_t nTotPhotons = 0; G4int nPhotons=0; - G4double cutg = G4std::min(cutForLowEnergySecondaryPhotons, - G4Gamma::Gamma()->GetEnergyThreshold(material)); - G4double cute = G4std::min(cutForLowEnergySecondaryElectrons, - G4Electron::Electron()->GetEnergyThreshold(material)); - G4DynamicParticle* aPhoton; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + size_t index = couple->GetIndex(); + G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; + cutg = G4std::min(cutForLowEnergySecondaryPhotons,cutg); + + G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + cute = G4std::min(cutForLowEnergySecondaryPhotons,cute); + + G4DynamicParticle* aPhoton; // Generation of fluorescence // Data in EADL are available only for Z > 5 - // Protection to avoid generating photons in the unphysical case of + // Protection to avoid generating photons in the unphysical case of // shell binding energy > photon energy if (Z > 5 && (bindingEnergy > cutg || bindingEnergy > cute)) { - photonVector = deexcitationManager.GenerateParticles(Z,shellId); + photonVector = deexcitationManager.GenerateParticles(Z,shellId); nTotPhotons = photonVector->size(); for (size_t k=0; k itsCut && itsEnergy <= bindingEnergy) { nPhotons++; - // Local energy deposit is given as the sum of the + // Local energy deposit is given as the sum of the // energies of incident photons minus the energies // of the outcoming fluorescence photons bindingEnergy -= itsEnergy; - + } else - { - delete aPhoton; + { + delete aPhoton; (*photonVector)[k] = 0; } } @@ -262,16 +265,16 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, aParticleChange.AddSecondary(aPhoton); } } - for ( size_t ll = 0; ll < nTotPhotons; ll++) + for ( size_t ll = 0; ll < nTotPhotons; ll++) { aPhoton = (*photonVector)[ll]; if(aPhoton) { aParticleChange.AddSecondary(aPhoton); - } + } } - + delete photonVector; - + if (energyDeposit < 0) { G4cout << "WARNING - " @@ -279,25 +282,25 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack, << G4endl; energyDeposit = 0; } - - // Kill the incident photon + + // Kill the incident photon aParticleChange.SetMomentumChange( 0., 0., 0. ); aParticleChange.SetEnergyChange( 0. ); - - aParticleChange.SetLocalEnergyDeposit(energyDeposit); - aParticleChange.SetStatusChange( fStopAndKill ); - + + aParticleChange.SetLocalEnergyDeposit(energyDeposit); + aParticleChange.SetStatusChange( fStopAndKill ); + // Reset NbOfInteractionLengthLeft and return aParticleChange return G4VDiscreteProcess::PostStepDoIt( aTrack, aStep ); } G4bool G4LowEnergyPhotoElectric::IsApplicable(const G4ParticleDefinition& particle) { - return ( &particle == G4Gamma::Gamma() ); + return ( &particle == G4Gamma::Gamma() ); } -G4double G4LowEnergyPhotoElectric::GetMeanFreePath(const G4Track& track, - G4double previousStepSize, +G4double G4LowEnergyPhotoElectric::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, G4ForceCondition*) { const G4DynamicParticle* photon = track.GetDynamicParticle(); @@ -334,10 +337,3 @@ void G4LowEnergyPhotoElectric::ActivateAuger(G4bool val) { deexcitationManager.ActivateAugerElectronProduction(val); } - - - - - - - diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc index 0c4b9c9755..de65aa1dbf 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LowEnergyPolarizedCompton.cc,v 1.13 2002/06/02 21:27:52 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyPolarizedCompton.cc,v 1.15 2003/04/24 14:19:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file @@ -44,12 +44,14 @@ // 21 February 2002 - F.Longo Revisions with A.Zoglauer and G.Depaola // - better description of parallelism // - system of ref change method improved +// 22 January 2003 - V.Ivanchenko Cut per region +// 24 April 2003 - V.Ivanchenko Cut per region mfpt // // // ************************************************************ // // Corrections by Rui Curado da Silva (2000) -// New Implementation by G.Depaola & F.Longo +// New Implementation by G.Depaola & F.Longo // // - sampling of phi // - polarization of scattered photon @@ -75,8 +77,7 @@ #include "G4LogLogInterpolation.hh" #include "G4VRangeTest.hh" #include "G4RangeTest.hh" - -#include "G4CutsPerMaterialWarning.hh" +#include "G4MaterialCutsCouple.hh" // constructor @@ -87,30 +88,30 @@ G4LowEnergyPolarizedCompton::G4LowEnergyPolarizedCompton(const G4String& process intrinsicLowEnergyLimit(10*eV), intrinsicHighEnergyLimit(100*GeV) { - if (lowEnergyLimit < intrinsicLowEnergyLimit || + if (lowEnergyLimit < intrinsicLowEnergyLimit || highEnergyLimit > intrinsicHighEnergyLimit) { G4Exception("G4LowEnergyPolarizedCompton::G4LowEnergyPolarizedCompton - energy outside intrinsic process validity range"); } - + crossSectionHandler = new G4CrossSectionHandler; - - + + G4VDataSetAlgorithm* scatterInterpolation = new G4LogLogInterpolation; G4String scatterFile = "comp/ce-sf-"; - scatterFunctionData = new + scatterFunctionData = new G4CompositeEMDataSet(scatterFile,scatterInterpolation,1.,1.); - + meanFreePathTable = 0; - + rangeTest = new G4RangeTest; - - if (verboseLevel > 0) + + if (verboseLevel > 0) { G4cout << GetProcessName() << " is created " << G4endl - << "Energy range: " + << "Energy range: " << lowEnergyLimit / keV << " keV - " - << highEnergyLimit / GeV << " GeV" + << highEnergyLimit / GeV << " GeV" << G4endl; } } @@ -124,13 +125,10 @@ G4LowEnergyPolarizedCompton::~G4LowEnergyPolarizedCompton() delete scatterFunctionData; delete rangeTest; } - + void G4LowEnergyPolarizedCompton::BuildPhysicsTable(const G4ParticleDefinition& photon) { - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&photon); crossSectionHandler->Clear(); G4String crossSectionFile = "comp/ce-cs-"; @@ -150,26 +148,26 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra aParticleChange.Initialize(aTrack); - // Dynamic particle quantities + // Dynamic particle quantities const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); G4double gammaEnergy0 = incidentPhoton->GetKineticEnergy(); - G4ThreeVector gammaPolarization0 = incidentPhoton->GetPolarization(); + G4ThreeVector gammaPolarization0 = incidentPhoton->GetPolarization(); - // gammaPolarization0 = gammaPolarization0.unit(); // + // gammaPolarization0 = gammaPolarization0.unit(); // - // Protection: a polarisation parallel to the - // direction causes problems; + // Protection: a polarisation parallel to the + // direction causes problems; // in that case find a random polarization - + G4ThreeVector gammaDirection0 = incidentPhoton->GetMomentumDirection(); // ---- MGP ---- Next two lines commented out to remove compilation warnings // G4double scalarproduct = gammaPolarization0.dot(gammaDirection0); // G4double angle = gammaPolarization0.angle(gammaDirection0); - // Make sure that the polarization vector is perpendicular to the - // gamma direction. If not - - if(!(gammaPolarization0.isOrthogonal(gammaDirection0, 1e-6))||(gammaPolarization0.mag()==0)) + // Make sure that the polarization vector is perpendicular to the + // gamma direction. If not + + if(!(gammaPolarization0.isOrthogonal(gammaDirection0, 1e-6))||(gammaPolarization0.mag()==0)) { // only for testing now gammaPolarization0 = GetRandomPolarization(gammaDirection0); } @@ -184,7 +182,7 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra // End of Protection // Within energy limit? - + if(gammaEnergy0 <= lowEnergyLimit) { aParticleChange.SetStatusChange(fStopAndKill); @@ -192,18 +190,18 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra aParticleChange.SetLocalEnergyDeposit(gammaEnergy0); return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); } - + G4double E0_m = gammaEnergy0 / electron_mass_c2 ; // Select randomly one element in the current material - - G4Material* material = aTrack.GetMaterial(); - G4int Z = crossSectionHandler->SelectRandomAtom(material,gammaEnergy0); - // Sample the energy and the polarization of the scattered photon - + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + G4int Z = crossSectionHandler->SelectRandomAtom(couple,gammaEnergy0); + + // Sample the energy and the polarization of the scattered photon + G4double epsilon, epsilonSq, onecost, sinThetaSqr, greject ; - + G4double epsilon0 = 1./(1. + 2*E0_m); G4double epsilon0Sq = epsilon0*epsilon0; G4double alpha1 = - log(epsilon0); @@ -212,10 +210,10 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra G4double wlGamma = h_Planck*c_light/gammaEnergy0; G4double gammaEnergy1; G4ThreeVector gammaDirection1; - + do { if ( alpha1/(alpha1+alpha2) > G4UniformRand() ) - { + { epsilon = exp(-alpha1*G4UniformRand()); epsilonSq = epsilon*epsilon; } @@ -224,28 +222,28 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra epsilonSq = epsilon0Sq + (1.- epsilon0Sq)*G4UniformRand(); epsilon = sqrt(epsilonSq); } - + onecost = (1.- epsilon)/(epsilon*E0_m); sinThetaSqr = onecost*(2.-onecost); - + // Protection if (sinThetaSqr > 1.) { - if (verboseLevel>0) G4cout + if (verboseLevel>0) G4cout << " -- Warning -- G4LowEnergyPolarizedCompton::PostStepDoIt " - << "sin(theta)**2 = " + << "sin(theta)**2 = " << sinThetaSqr - << "; set to 1" + << "; set to 1" << G4endl; sinThetaSqr = 1.; } if (sinThetaSqr < 0.) { - if (verboseLevel>0) G4cout + if (verboseLevel>0) G4cout << " -- Warning -- G4LowEnergyPolarizedCompton::PostStepDoIt " - << "sin(theta)**2 = " + << "sin(theta)**2 = " << sinThetaSqr - << "; set to 0" + << "; set to 0" << G4endl; sinThetaSqr = 0.; } @@ -253,32 +251,32 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra G4double x = sqrt(onecost/2.) / (wlGamma/cm);; G4double scatteringFunction = scatterFunctionData->FindValue(x,Z-1); - greject = (1. - epsilon*sinThetaSqr/(1.+ epsilonSq))*scatteringFunction; - + greject = (1. - epsilon*sinThetaSqr/(1.+ epsilonSq))*scatteringFunction; + } while(greject < G4UniformRand()*Z); - - + + // **************************************************** // Phi determination // **************************************************** - + G4double phi = SetPhi(epsilon,sinThetaSqr); - + // // scattered gamma angles. ( Z - axis along the parent gamma) // - + G4double cosTheta = 1. - onecost; - + // Protection - + if (cosTheta > 1.) { - if (verboseLevel>0) G4cout + if (verboseLevel>0) G4cout << " -- Warning -- G4LowEnergyPolarizedCompton::PostStepDoIt " - << "cosTheta = " + << "cosTheta = " << cosTheta - << "; set to 1" + << "; set to 1" << G4endl; cosTheta = 1.; } @@ -288,7 +286,7 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra << " -- Warning -- G4LowEnergyPolarizedCompton::PostStepDoIt " << "cosTheta = " << cosTheta - << "; set to -1" + << "; set to -1" << G4endl; cosTheta = -1.; } @@ -304,7 +302,7 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra << " -- Warning -- G4LowEnergyPolarizedCompton::PostStepDoIt " << "sinTheta = " << sinTheta - << "; set to 1" + << "; set to 1" << G4endl; sinTheta = 1.; } @@ -328,25 +326,25 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra // // update G4VParticleChange for the scattered photon // - + gammaEnergy1 = epsilon*gammaEnergy0; - + // New polarization - + G4ThreeVector gammaPolarization1 = SetNewPolarization(epsilon, sinThetaSqr, phi, cosTheta); - - // Set new direction + + // Set new direction G4ThreeVector tmpDirection1( dirx,diry,dirz ); gammaDirection1 = tmpDirection1; - + // Change reference frame. - + SystemOfRefChange(gammaDirection0,gammaDirection1, - gammaPolarization0,gammaPolarization1); - + gammaPolarization0,gammaPolarization1); + if (gammaEnergy1 > 0.) { aParticleChange.SetEnergyChange( gammaEnergy1 ) ; @@ -354,26 +352,26 @@ G4VParticleChange* G4LowEnergyPolarizedCompton::PostStepDoIt(const G4Track& aTra aParticleChange.SetPolarizationChange( gammaPolarization1 ); } else - { + { aParticleChange.SetEnergyChange(0.) ; aParticleChange.SetStatusChange(fStopAndKill); } - + // // kinematic of the scattered electron // - + G4double ElecKineEnergy = gammaEnergy0 - gammaEnergy1 ; - + // Generate the electron only if with large enough range w.r.t. cuts and safety - + G4double safety = aStep.GetPostStepPoint()->GetSafety(); - - if (rangeTest->Escape(G4Electron::Electron(),material,ElecKineEnergy,safety)) + + if (rangeTest->Escape(G4Electron::Electron(),couple,ElecKineEnergy,safety)) { G4double ElecMomentum = sqrt(ElecKineEnergy*(ElecKineEnergy+2.*electron_mass_c2)); - G4ThreeVector ElecDirection((gammaEnergy0 * gammaDirection0 - - gammaEnergy1 * gammaDirection1) * (1./ElecMomentum)); + G4ThreeVector ElecDirection((gammaEnergy0 * gammaDirection0 - + gammaEnergy1 * gammaDirection1) * (1./ElecMomentum)); G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(),ElecDirection.unit(),ElecKineEnergy) ; aParticleChange.SetNumberOfSecondaries(1); aParticleChange.AddSecondary(electron); @@ -398,7 +396,7 @@ G4double G4LowEnergyPolarizedCompton::SetPhi(G4double energyRate, G4double phiProbability; G4double phi; G4double a, b; - + do { rand1 = G4UniformRand(); @@ -476,7 +474,7 @@ G4ThreeVector G4LowEnergyPolarizedCompton::GetPerpendicularPolarization } -G4ThreeVector G4LowEnergyPolarizedCompton::SetNewPolarization(G4double epsilon, +G4ThreeVector G4LowEnergyPolarizedCompton::SetNewPolarization(G4double epsilon, G4double sinSqrTh, G4double phi, G4double costheta) @@ -508,7 +506,7 @@ G4ThreeVector G4LowEnergyPolarizedCompton::SetNewPolarization(G4double epsilon, a = 4*normalisation*normalisation; b = (epsilon + 1/epsilon) - 2; thetaProbability = (b + a*cos(theta)*cos(theta))/(a+b); - cosTheta = cos(theta); + cosTheta = cos(theta); } while ( rand2 > thetaProbability ); @@ -516,14 +514,14 @@ G4ThreeVector G4LowEnergyPolarizedCompton::SetNewPolarization(G4double epsilon, G4double sinBeta = sqrt(1-cosBeta*cosBeta); G4ThreeVector gammaPolarization1; - + G4double xParallel = normalisation*cosBeta; G4double yParallel = -(sinSqrTh*cosPhi*sinPhi)*cosBeta/normalisation; G4double zParallel = -(costheta*sinTheta*cosPhi)*cosBeta/normalisation; G4double xPerpendicular = 0.; G4double yPerpendicular = (costheta)*sinBeta/normalisation; G4double zPerpendicular = -(sinTheta*sinPhi)*sinBeta/normalisation; - + G4double xTotal = (xParallel + xPerpendicular); G4double yTotal = (yParallel + yPerpendicular); G4double zTotal = (zParallel + zPerpendicular); @@ -558,7 +556,7 @@ void G4LowEnergyPolarizedCompton::SystemOfRefChange G4double polarization_x = polarization1.getX(); G4double polarization_y = polarization1.getY(); G4double polarization_z = polarization1.getZ(); - + polarization1 =(polarization_x*Axis_X0+polarization_y*Axis_Y0+polarization_z*Axis_Z0).unit(); } @@ -570,14 +568,14 @@ G4bool G4LowEnergyPolarizedCompton::IsApplicable(const G4ParticleDefinition& par } -G4double G4LowEnergyPolarizedCompton::GetMeanFreePath(const G4Track& track, +G4double G4LowEnergyPolarizedCompton::GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition*) { const G4DynamicParticle* photon = track.GetDynamicParticle(); G4double energy = photon->GetKineticEnergy(); - G4Material* material = track.GetMaterial(); - size_t materialIndex = material->GetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + size_t materialIndex = couple->GetIndex(); G4double meanFreePath; if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc index 101ce09185..63a1038a75 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc @@ -22,24 +22,26 @@ // // -------------------------------------------------------------------- // -// $Id: G4LowEnergyRayleigh.cc,v 1.30 2002/11/08 07:59:05 flongo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LowEnergyRayleigh.cc,v 1.32 2003/04/24 14:19:37 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: -// -------- +// -------- // Added Livermore data table construction methods A. Forti // Added BuildMeanFreePath A. Forti // Added PostStepDoIt A. Forti // Added SelectRandomAtom A. Forti // Added map of the elements A.Forti -// 24.04.01 V.Ivanchenko remove RogueWave +// 24.04.01 V.Ivanchenko remove RogueWave // 11.08.2001 MGP - Major revision according to a design iteration // 06.10.2001 MGP - Added strategy to test range for secondary generation // 05.06.2002 F.Longo and G.Depaola - bug fixed in angular distribution -// 20.10.2002 G. Depaola - Change sampling method of theta +// 20.10.2002 G. Depaola - Change sampling method of theta +// 22.01.2003 V.Ivanchenko - Cut per region +// 24.04.2003 V.Ivanchenko - Cut per region mfpt // // -------------------------------------------------------------------- @@ -61,21 +63,21 @@ #include "G4VDataSetAlgorithm.hh" #include "G4LogLogInterpolation.hh" -#include "G4CutsPerMaterialWarning.hh" +#include "G4MaterialCutsCouple.hh" G4LowEnergyRayleigh::G4LowEnergyRayleigh(const G4String& processName) : G4VDiscreteProcess(processName), - lowEnergyLimit(250*eV), + lowEnergyLimit(250*eV), highEnergyLimit(100*GeV), intrinsicLowEnergyLimit(10*eV), intrinsicHighEnergyLimit(100*GeV) { - if (lowEnergyLimit < intrinsicLowEnergyLimit || + if (lowEnergyLimit < intrinsicLowEnergyLimit || highEnergyLimit > intrinsicHighEnergyLimit) { G4Exception("G4LowEnergyRayleigh::G4LowEnergyRayleigh - energy limit outside intrinsic process validity range"); } - + crossSectionHandler = new G4CrossSectionHandler(); G4VDataSetAlgorithm* ffInterpolation = new G4LogLogInterpolation; @@ -84,16 +86,16 @@ G4LowEnergyRayleigh::G4LowEnergyRayleigh(const G4String& processName) meanFreePathTable = 0; - if (verboseLevel > 0) + if (verboseLevel > 0) { G4cout << GetProcessName() << " is created " << G4endl - << "Energy range: " + << "Energy range: " << lowEnergyLimit / keV << " keV - " - << highEnergyLimit / GeV << " GeV" + << highEnergyLimit / GeV << " GeV" << G4endl; } } - + G4LowEnergyRayleigh::~G4LowEnergyRayleigh() { delete meanFreePathTable; @@ -103,9 +105,6 @@ G4LowEnergyRayleigh::~G4LowEnergyRayleigh() void G4LowEnergyRayleigh::BuildPhysicsTable(const G4ParticleDefinition& photon) { - - G4CutsPerMaterialWarning warning; - warning.PrintWarning(&photon); crossSectionHandler->Clear(); G4String crossSectionFile = "rayl/re-cs-"; @@ -115,7 +114,7 @@ void G4LowEnergyRayleigh::BuildPhysicsTable(const G4ParticleDefinition& photon) meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); } -G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, +G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { @@ -123,7 +122,7 @@ G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); G4double photonEnergy0 = incidentPhoton->GetKineticEnergy(); - + if (photonEnergy0 <= lowEnergyLimit) { aParticleChange.SetStatusChange(fStopAndKill); @@ -136,10 +135,10 @@ G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, G4ParticleMomentum photonDirection0 = incidentPhoton->GetMomentumDirection(); // Select randomly one element in the current material - G4Material* material = aTrack.GetMaterial(); - G4int Z = crossSectionHandler->SelectRandomAtom(material,photonEnergy0); - - // Sample the angle of the scattered photon + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + G4int Z = crossSectionHandler->SelectRandomAtom(couple,photonEnergy0); + + // Sample the angle of the scattered photon G4double wlPhoton = h_Planck*c_light/photonEnergy0; @@ -159,14 +158,14 @@ G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, G4double sinThetaHalf = sqrt((1. - cosTheta) / 2.); x = sinThetaHalf / (wlPhoton/cm); - if (x > 1.e+005) + if (x > 1.e+005) dataFormFactor = formFactorData->FindValue(x,Z-1); else dataFormFactor = formFactorData->FindValue(0.,Z-1); randomFormFactor = G4UniformRand() * Z * Z; sinTheta = sqrt(1. - cosTheta*cosTheta); gReject = dataFormFactor * dataFormFactor; - + } while( gReject < randomFormFactor); // Scattered photon angles. ( Z - axis along the parent photon) @@ -174,14 +173,14 @@ G4VParticleChange* G4LowEnergyRayleigh::PostStepDoIt(const G4Track& aTrack, G4double dirX = sinTheta*cos(phi); G4double dirY = sinTheta*sin(phi); G4double dirZ = cosTheta; - - // Update G4VParticleChange for the scattered photon + + // Update G4VParticleChange for the scattered photon G4ThreeVector photonDirection1(dirX, dirY, dirZ); photonDirection1.rotateUz(photonDirection0); aParticleChange.SetEnergyChange(photonEnergy0); aParticleChange.SetMomentumChange(photonDirection1); - + aParticleChange.SetNumberOfSecondaries(0); return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); @@ -198,8 +197,8 @@ G4double G4LowEnergyRayleigh::GetMeanFreePath(const G4Track& track, { const G4DynamicParticle* photon = track.GetDynamicParticle(); G4double energy = photon->GetKineticEnergy(); - G4Material* material = track.GetMaterial(); - size_t materialIndex = material->GetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + size_t materialIndex = couple->GetIndex(); G4double meanFreePath; if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc new file mode 100644 index 0000000000..0e67083132 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc @@ -0,0 +1,450 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlung.cc,v 1.5 2003/04/24 14:51:10 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -------------------------------------------------------------- +// +// File name: G4PenelopeBremsstrahlung +// +// Author: Luciano Pandola +// +// Creation date: February 2003 +// +// Modifications: +// 24.04.2003 V.Ivanchenko - Cut per region mfpt +// +//---------------------------------------------------------------- + +#include "G4PenelopeBremsstrahlung.hh" +#include "G4PenelopeBremsstrahlungContinuous.hh" +#include "G4eBremsstrahlungSpectrum.hh" +#include "G4BremsstrahlungCrossSectionHandler.hh" +#include "G4VDataSetAlgorithm.hh" +#include "G4LogLogInterpolation.hh" +#include "G4VEMDataSet.hh" +#include "G4EnergyLossTables.hh" +#include "G4UnitsTable.hh" +#include "G4Electron.hh" +#include "G4Gamma.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4DataVector.hh" +#include "G4ProductionCutsTable.hh" + + +// +// +// Il load dei dati continui si puo' mettere nel BuildLossTable +// +// +// Anche la sezione d'urto totale dovrebbe essere convertita +// le tabelle di G4 mi paiono piu' complete pero' (le lascio!) +// + +G4PenelopeBremsstrahlung::G4PenelopeBremsstrahlung(const G4String& nam) + : G4eLowEnergyLoss(nam), + crossSectionHandler(0), + theMeanFreePath(0), + energySpectrum(0) +{ + materialAngularData.clear(); + cutForPhotons = 0.; + verboseLevel = 0; + LoadAngularData(); +} + + +G4PenelopeBremsstrahlung::~G4PenelopeBremsstrahlung() +{ + if(crossSectionHandler) delete crossSectionHandler; + if(energySpectrum) delete energySpectrum; + if(theMeanFreePath) delete theMeanFreePath; +} + + +void G4PenelopeBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) +{ + if(verboseLevel > 0) { + G4cout << "G4PenelopeBremsstrahlung::BuildPhysicsTable start" + << G4endl; + } + + cutForSecondaryPhotons.clear(); + + // Create and fill BremsstrahlungParameters once + if( energySpectrum != 0 ) delete energySpectrum; + //grid of reduced energy bins for photons + + G4DataVector ebins; + ebins.push_back(1.0e-12); + ebins.push_back(0.05); + ebins.push_back(0.075); + ebins.push_back(0.1); + ebins.push_back(0.125); + ebins.push_back(0.15); + ebins.push_back(0.2); + ebins.push_back(0.25); + ebins.push_back(0.3); + ebins.push_back(0.35); + ebins.push_back(0.40); + ebins.push_back(0.45); + ebins.push_back(0.50); + ebins.push_back(0.55); + ebins.push_back(0.60); + ebins.push_back(0.65); + ebins.push_back(0.70); + ebins.push_back(0.75); + ebins.push_back(0.80); + ebins.push_back(0.85); + ebins.push_back(0.90); + ebins.push_back(0.925); + ebins.push_back(0.95); + ebins.push_back(0.97); + ebins.push_back(0.99); + ebins.push_back(0.995); + ebins.push_back(0.999); + ebins.push_back(0.9995); + ebins.push_back(0.9999); + ebins.push_back(0.99995); + ebins.push_back(0.99999); + ebins.push_back(1.0); + + + const G4String dataName("/penelope/br-sp-pen.dat"); + energySpectrum = new G4eBremsstrahlungSpectrum(ebins,dataName); + + //the shape of the energy spectrum for positron is the same used for the electrons, + //as the differential cross section is scaled of a factor f(E,Z) which is independent + //on the energy of the gamma + + if(verboseLevel > 0) { + G4cout << "G4PenelopeBremsstrahlungSpectrum is initialized" + << G4endl; + } + + // Create and fill G4CrossSectionHandler once + + if( crossSectionHandler != 0 ) delete crossSectionHandler; + G4VDataSetAlgorithm* interpolation = new G4LogLogInterpolation(); + G4double lowKineticEnergy = GetLowerBoundEloss(); + G4double highKineticEnergy = GetUpperBoundEloss(); + G4int totBin = GetNbinEloss(); + crossSectionHandler = new G4BremsstrahlungCrossSectionHandler(energySpectrum, interpolation); + crossSectionHandler->Initialise(0,lowKineticEnergy, highKineticEnergy, totBin); + if (&aParticleType==G4Electron::Electron()) + { + //G4cout << "Leggo le sezioni d'urto degli elettroni" << G4endl; + crossSectionHandler->LoadShellData("brem/br-cs-"); + } + else + { + //G4cout << "Leggo le sezioni d'urto dei positroni" << G4endl; + crossSectionHandler->LoadShellData("penelope/br-cs-pos-"); //cross section for positrons + } + + if (verboseLevel > 0) { + G4cout << GetProcessName() + << " is created; Cross section data: " + << G4endl; + crossSectionHandler->PrintData(); + G4cout << "Parameters: " + << G4endl; + energySpectrum->PrintData(); + } + + // Build loss table for Bremsstrahlung + + BuildLossTable(aParticleType); + + if(verboseLevel > 0) { + G4cout << "The loss table is built" + << G4endl; + } + + if (&aParticleType==G4Electron::Electron()) { + + RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; + CounterOfElectronProcess++; + PrintInfoDefinition(); + + } else { + + RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; + CounterOfPositronProcess++; + } + + // Build mean free path data using cut values + + if( theMeanFreePath != 0 ) delete theMeanFreePath; + theMeanFreePath = crossSectionHandler-> + BuildMeanFreePathForMaterials(&cutForSecondaryPhotons); + + if(verboseLevel > 0) { + G4cout << "The MeanFreePath table is built" + << G4endl; + } + + // Build common DEDX table for all ionisation processes + + BuildDEDXTable(aParticleType); + + if(verboseLevel > 0) { + G4cout << "G4PenelopeBremsstrahlung::BuildPhysicsTable end" + << G4endl; + } + +} + + +void G4PenelopeBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aParticleType) +{ + // Build table for energy loss due to soft brems + // the tables are built for *MATERIALS* binning is taken from LowEnergyLoss + + G4double lowKineticEnergy = GetLowerBoundEloss(); + G4double highKineticEnergy = GetUpperBoundEloss(); + size_t totBin = GetNbinEloss(); + + // create table + + if (theLossTable) { + theLossTable->clearAndDestroy(); + delete theLossTable; + } + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + theLossTable = new G4PhysicsTable(numOfCouples); + + + // Clean up the vector of cuts + cutForSecondaryPhotons.clear(); + + // Loop for materials + for (size_t j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + // the cut cannot be below lowest limit + G4double tCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[j]; + tCut = G4std::min(highKineticEnergy, tCut); + cutForSecondaryPhotons.push_back(tCut); + + const G4ElementVector* theElementVector = material->GetElementVector(); + size_t NumberOfElements = material->GetNumberOfElements() ; + const G4double* theAtomicNumDensityVector = + material->GetAtomicNumDensityVector(); + if(verboseLevel > 1) { + G4cout << "Energy loss for material # " << j + << " tCut(keV)= " << tCut/keV + << G4endl; + } + + G4DataVector* ionloss = new G4DataVector(); + for (size_t i = 0; ipush_back(0.0); //il vettore ha come elementi totBin zeri + } + + const G4String partName = aParticleType.GetParticleName(); + // loop for elements in the material + for (size_t iel=0; ielGetZ()); + //costruttore del continuo per l'elemento Z + G4PenelopeBremsstrahlungContinuous* ContLoss = new G4PenelopeBremsstrahlungContinuous(Z,tCut,GetLowerBoundEloss(), + GetUpperBoundEloss(), + partName); + //l'inizializzazione va ripetuta per ogni Z! + // now comes the loop for the kinetic energy values + for (size_t k = 0; kGetLowEdgeEnergy(k); + //qui viene chiamato il metodo giusto della perdita continua + (*ionloss)[k] += ContLoss->CalculateStopping(lowEdgeEnergy) * theAtomicNumDensityVector[iel]; + //if (Z == 29) + // G4cout << lowEdgeEnergy << " " << ContLoss->CalculateStopping(lowEdgeEnergy) * theAtomicNumDensityVector[iel] << G4endl; + //va chiamato una volta per ogni energia + //per ogni energia k, somma su tutti gli elementi del materiale + } + delete ContLoss; + } + + for (size_t ibin = 0; ibinPutValue(ibin,(*ionloss)[ibin]); //un valore per ogni energia (somma sugli elementi del mate) + } + delete ionloss; + theLossTable->insert(aVector); + } +} + + +G4VParticleChange* G4PenelopeBremsstrahlung::PostStepDoIt(const G4Track& track, + const G4Step& step) +{ + aParticleChange.Initialize(track); + + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + const G4Material* material = couple->GetMaterial(); + G4double kineticEnergy = track.GetKineticEnergy(); + G4int index = couple->GetIndex(); + G4double tCut = cutForSecondaryPhotons[index]; + + // Control limits + if(tCut >= kineticEnergy) + return G4VContinuousDiscreteProcess::PostStepDoIt(track, step); + + G4int Z = crossSectionHandler->SelectRandomAtom(couple, kineticEnergy); + + G4double tGamma = energySpectrum->SampleEnergy(Z, tCut, kineticEnergy, kineticEnergy); + //bisogna recuperare il puntatore + G4AngularData* elementData = materialAngularData[index]; //punta al vettore che contiene i puntatori del materiale + //look for the index of the selected atom + const G4ElementVector* theElementVector = material->GetElementVector(); + size_t NumberOfElements = material->GetNumberOfElements(); + // loop for elements in the material + size_t iel=0; + G4int Z_try=0,indexEl=0; + do { + if (iel >= NumberOfElements ) { + G4String excep = "Not found the angular data for material " + material->GetName(); + G4Exception(excep); + } + Z_try = (G4int)((*theElementVector)[(size_t) iel]->GetZ()); + indexEl = iel; + iel++; + }while(Z_try != Z); + + G4PenelopeBremsstrahlungAngular* finalAngularData = (*elementData)[indexEl]; + + // Sample gamma angle (Z - axis along the parent particle). + G4double dirZ = finalAngularData->ExtractCosTheta(kineticEnergy,tGamma); + + //G4std::ofstream fff("prova.dat",G4std::ios::app); + //fff << dirZ << G4endl; + //fff.close(); + + G4double totalEnergy = kineticEnergy + electron_mass_c2; + G4double phi = twopi * G4UniformRand(); + G4double sinTheta = sqrt(1. - dirZ*dirZ); + G4double dirX = sinTheta*cos(phi); + G4double dirY = sinTheta*sin(phi); + + G4ThreeVector gammaDirection (dirX, dirY, dirZ); + G4ThreeVector electronDirection = track.GetMomentumDirection(); + + gammaDirection.rotateUz(electronDirection); + + // + // Update the incident particle + // + + G4double finalEnergy = kineticEnergy - tGamma; + + // Kinematic problem + if (finalEnergy < 0.) { + tGamma += finalEnergy; + finalEnergy = 0.0; + } + + G4double momentum = sqrt((totalEnergy + electron_mass_c2)*kineticEnergy); + + G4double finalX = momentum*electronDirection.x() - tGamma*gammaDirection.x(); + G4double finalY = momentum*electronDirection.y() - tGamma*gammaDirection.y(); + G4double finalZ = momentum*electronDirection.z() - tGamma*gammaDirection.z(); + + aParticleChange.SetNumberOfSecondaries(1); + G4double norm = 1./sqrt(finalX*finalX + finalY*finalY + finalZ*finalZ); + aParticleChange.SetMomentumChange(finalX*norm, finalY*norm, finalZ*norm); + aParticleChange.SetEnergyChange( finalEnergy ); + + // create G4DynamicParticle object for the gamma + G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), + gammaDirection, tGamma); + aParticleChange.AddSecondary(aGamma); + + return G4VContinuousDiscreteProcess::PostStepDoIt(track, step); +} + + +void G4PenelopeBremsstrahlung::PrintInfoDefinition() +{ + G4String comments = "Total cross sections from EEDL database for electrons."; + comments += "\n Total cross section for positrons calculated from the electrons"; + comments += "\n through an empirical scaling function."; + comments += "\n Gamma energy sampled from a data-driven histogram."; + comments += "\n Implementation of the continuous dE/dx part."; + comments += "\n It can be used for electrons and positrons"; + comments += "in the energy range [250eV,100GeV]."; + comments += "\n The process must work with G4LowEnergyIonisation."; + + G4cout << G4endl << GetProcessName() << ": " << comments << G4endl; +} + +G4bool G4PenelopeBremsstrahlung::IsApplicable(const G4ParticleDefinition& particle) +{ + return ( (&particle == G4Electron::Electron()) || (&particle == G4Positron::Positron()) ); +} + + +G4double G4PenelopeBremsstrahlung::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* cond) +{ + //*cond = NotForced; + G4int index = (track.GetMaterialCutsCouple())->GetIndex(); + const G4VEMDataSet* data = theMeanFreePath->GetComponent(index); + G4double meanFreePath = data->FindValue(track.GetKineticEnergy()); + return meanFreePath; +} + +void G4PenelopeBremsstrahlung::SetCutForLowEnSecPhotons(G4double cut) +{ + cutForPhotons = cut; +} + +void G4PenelopeBremsstrahlung::LoadAngularData() +{ + const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); + const size_t numOfMaterials = G4Material::GetNumberOfMaterials(); + materialAngularData.clear(); + + for (size_t j=0; jGetElementVector(); + size_t NumberOfElements = material->GetNumberOfElements(); + // loop for elements in the material + G4AngularData* elementAngularData = new G4AngularData; + for (size_t iel=0; ielGetZ()); + G4PenelopeBremsstrahlungAngular* AngPointer = new G4PenelopeBremsstrahlungAngular(Z); + elementAngularData->push_back(AngPointer); + } + materialAngularData.push_back(elementAngularData); + } +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc new file mode 100644 index 0000000000..0b93558176 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc @@ -0,0 +1,233 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlungAngular.cc,v 1.3 2003/03/28 11:16:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -------------------------------------------------------------- +// +// File name: G4PenelopeBremsstrahlungAngular +// +// Author: Luciano Pandola +// +// Creation date: February 2003 +// +// History: +// ----------- +// 04 Feb 2003 L. Pandola 1st implementation +// 19 Mar 2003 L. Pandola Bugs fixed +//---------------------------------------------------------------- + +#include "G4PenelopeBremsstrahlungAngular.hh" +#include "G4PenelopeInterpolator.hh" +#include "Randomize.hh" +#include "globals.hh" + +G4PenelopeBremsstrahlungAngular::G4PenelopeBremsstrahlungAngular (G4int Zed) + : Zmat(Zed) +{ + InterpolationTableForZ(); + InterpolationForK(); +} + + +G4PenelopeBremsstrahlungAngular::~G4PenelopeBremsstrahlungAngular() +{ +} + +void G4PenelopeBremsstrahlungAngular::InterpolationTableForZ() +{ + G4double pZ[NumberofZPoints] = {2.0,8.0,13.0,47.0,79.0,92.0}; + G4double pX[NumberofZPoints],pY[NumberofZPoints]; + G4double QQ1[NumberofZPoints][NumberofEPoints][NumberofKPoints]; + G4double QQ2[NumberofZPoints][NumberofEPoints][NumberofKPoints]; + + //Read information from DataBase file + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4PenelopeBremsstrahlungAngular - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + G4String pathString(path); + G4String pathFile = pathString + "/penelope/br-ang-pen.dat"; + G4std::ifstream file(pathFile); + G4std::filebuf* lsdp = file.rdbuf(); + + if (!(lsdp->is_open())) + { + G4String excep = "G4PenelopeBremsstrahlungAngular - data file " + pathFile + " not found!"; + G4Exception(excep); + } + G4int i=0,j=0,k=0; // i=index for Z, j=index for E, k=index for K + G4double a1,a2; + while(i != -1) { + file >> i >> j >> k >> a1 >> a2; + if (i > -1){ + QQ1[i][j][k]=a1; + QQ2[i][j][k]=a2; + } + } + file.close(); + + + //Interpolation in Z + for (i=0;iCubicSplineInterpolation((G4double) Zmat)); + delete interpolator1; + G4PenelopeInterpolator* interpolator2 = new G4PenelopeInterpolator(pZ,pY,NumberofZPoints); + Q2[i][j]=interpolator2->CubicSplineInterpolation((G4double) Zmat); + delete interpolator2; + } + } + + + //G4std::ofstream fil("matrice.dat",G4std::ios::app); + //fil << "Numero atomico: " << Zmat << G4endl; + //for (i=0;iCubicSplineInterpolation(ppK[j]); + } + delete interpolator; + for (j=0;jCubicSplineInterpolation(ppK[j]); + } + delete interpolator2; + } +} + +G4double G4PenelopeBremsstrahlungAngular::ExtractCosTheta(G4double e1,G4double e2) +{ + //e1 = kinetic energy of the electron + //e2 = energy of the bremsstrahlung photon + + G4double beta = sqrt(e1*(e1+2*electron_mass_c2))/(e1+electron_mass_c2); + + + G4double RK=20.0*e2/e1; + G4int ik=G4std::min((G4int) RK,19); + + G4double P10=0,P11=0,P1=0; + G4double P20=0,P21=0,P2=0; + G4double pX[NumberofEPoints]; + + //First coefficient + G4int i; + G4int j = ik; + for (i=0;iCubicSplineInterpolation(beta); + delete interpolator; + j++; //(j=ik+1) + for (i=0;iCubicSplineInterpolation(beta); + delete interpolator2; + P1=P10+(RK-(G4double) ik)*(P11-P10); + + //Second coefficient + j = ik; + for (i=0;iCubicSplineInterpolation(beta); + delete interpolator3; + j++; //(j=ik+1) + for (i=0;iCubicSplineInterpolation(beta); + delete interpolator4; + P2=P20+(RK-(G4double) ik)*(P21-P20); + + //Sampling from the Lorenz-trasformed dipole distributions + P1=G4std::min(exp(P1)/beta,1.0); + G4double betap = G4std::min(G4std::max(beta*(1.0+P2/beta),0.0),0.9999); + + G4double cdt=0,testf=0; + + if (G4UniformRand() < P1){ + do{ + cdt = 2.0*G4UniformRand()-1.0; + testf=2.0*G4UniformRand()-(1.0+cdt*cdt); + }while(testf>0); + } + else{ + do{ + cdt = 2.0*G4UniformRand()-1.0; + testf=G4UniformRand()-(1.0-cdt*cdt); + }while(testf>0); + } + cdt = (cdt+betap)/(1.0+betap*cdt); + return cdt; +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc new file mode 100644 index 0000000000..52dafcb302 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc @@ -0,0 +1,279 @@ +// +// ******************************************************************** +// * 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: G4PenelopeBremsstrahlungContinuous.cc,v 1.4 2003/03/28 11:16:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// -------------------------------------------------------------- +// +// File name: G4PenelopeBremsstrahlungContinuous +// +// Author: Luciano Pandola +// +// Creation date: February 2003 +// History: +// ----------- +// 20 Feb 2003 L. Pandola 1st implementation +// 17 Mar 2003 L. Pandola Added the correction for positrons +// 19 Mar 2003 L. Pandola Bugs fixed +//---------------------------------------------------------------- + +#include "G4PenelopeBremsstrahlungContinuous.hh" +#include "G4PenelopeInterpolator.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "Randomize.hh" +#include "G4ParticleDefinition.hh" +#include "globals.hh" +#include "g4std/strstream" + +G4PenelopeBremsstrahlungContinuous::G4PenelopeBremsstrahlungContinuous (G4int Zed,G4double taglio,G4double e1, + G4double e2, + const G4String name) : + Zmat(Zed),tCut(taglio),MinE(e1),MaxE(e2),partName(name) +{ + //Construct extended energy table + //200 bins between MinE and MaxE (logarithmic) + G4double EL=0.99999*MinE; + G4double EU=1.00001*MaxE; + DLFC=log(EU/EL)/((G4double) (NumberofExtendedEGrid-1)); + ExtendedLogEnergy[0]=log(EL); + for (size_t i=1;iis_open())) + { + G4String excep = "G4PenelopeBremsstrahlungContinuous - data file " + name + " not found!"; + G4Exception(excep); + } + G4double a1; + for (size_t i=0;i> a1; + Energies[i]=a1; + for (size_t j=0;j> a1; + ReducedCS[i][j]=a1/millibarn; //coversion present in Penelope source + } + file >> a1; + TotalCS[i]=a1/millibarn; //conversion present in Penelope source + file >> a1; + if (a1 != ((G4double) -1)){ + G4String excep = "G4PenelopeBremsstrahlungContinuous - Check the bremms data file "+ name; + G4Exception(excep); + } + } + + file.close(); +} + +void G4PenelopeBremsstrahlungContinuous::PrepareInterpolationTable() +{ + //The energy-loss spectrum is re-normalized to reproduce the + //total scaled cross-section of Berger and Seltzer + + G4double pK[NumberofKPoints] = {1.0e-12,0.05,0.075,0.1,0.125,0.15,0.2,0.25, + 0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7, + 0.75,0.8,0.85,0.9,0.925,0.95,0.97,0.99, + 0.995,0.999,0.9995,0.9999,0.99995,0.99999,1.0}; + G4double pY[NumberofKPoints]; + + size_t i=0,j=0; + for (i=0;iCalculateMomentum(1.0,0); + + delete interpolator; + G4double Fact = (millibarn/cm2)*(Energies[i]+electron_mass_c2)*(1.0/fine_structure_const)/ + (pow(classic_electr_radius,2)*(Energies[i]+2.0*electron_mass_c2)); + G4double Normalization = TotalCS[i]/(Rsum*Fact); + G4double TST = abs(Normalization-100.0); + if (TST > 1.0) { + G4String excep = "G4PenelopeBremsstrahlungContinuous - Check the bremms data file"; + G4Exception(excep); + } + for (j=0;j= pX[0]) { + p0[i][j] = exp(interpolator2->CubicSplineInterpolation(ELL)); + } + else + { + G4double F1=interpolator2->CubicSplineInterpolation(pX[0]); + G4double FP1 = interpolator2->FirstDerivative(pX[0]); + p0[i][j] = exp(F1+FP1*(ELL-pX[0])); + } + } + delete interpolator2; + } + + //Forse questa roba (e Pbcut come membro privato) non serve + // G4double PDF[NumberofKPoints]; + +// for (i=0;iCalculateMomentum(Xc,-1); +// delete interpolator3; +// } + +} + +G4double G4PenelopeBremsstrahlungContinuous::CalculateStopping(G4double e1) + //Stopping power expressed in MeV/mm*2 +{ + G4double Xel=G4std::max(log(e1),ExtendedLogEnergy[0]); + G4double Xe=1.0+(Xel-ExtendedLogEnergy[0])*DLFC; + G4int Ke = (G4int) Xe; + G4double Xek = Xe-Ke; + + //Global x-section factor + G4double Fact=pow((G4double) Zmat,2)*(pow(e1+electron_mass_c2,2)/(e1*(e1+2.0*electron_mass_c2))) + *(millibarn/cm2); + //G4cout << "Particella: " << partName << ";Z: " << Zmat << ";Energia: " << e1 << "; fattore di correzione: " + // << PositronCorrection(e1) << G4endl; + Fact=Fact*PositronCorrection(e1); + + //Moments of the scaled bremss x-section + G4double wcre = tCut/e1; + G4double pY[NumberofKPoints]; + G4double pK[NumberofKPoints] = {1.0e-12,0.05,0.075,0.1,0.125,0.15,0.2,0.25, + 0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7, + 0.75,0.8,0.85,0.9,0.925,0.95,0.97,0.99, + 0.995,0.999,0.9995,0.9999,0.99995,0.99999,1.0}; + + for (size_t i=0;iCalculateMomentum(wcre,0); + G4double XS2A = interpolator1->CalculateMomentum(wcre,1); + delete interpolator1; + for (size_t k=0;kCalculateMomentum(wcre,0); + G4double XS2B = interpolator2->CalculateMomentum(wcre,1); + delete interpolator2; + + G4double XS1 = ((1.0-Xek)*XS1A+Xek*XS1B)*Fact*e1; //weighted mean between the energy bin of the grid + G4double XS2 = ((1.0-Xek)*XS2A+Xek*XS2B)*Fact*e1*e1; //straggling cross section (2nd momentum); + //Il secondo momento XS2 potrebbe tornare utile in seguito + + //XS1 is given in MeV*cm2, as in Penelope, but it must be converted in MeV*mm2 + XS1=XS1*cm2/mm2; + //XS2 is given in MeV2*cm2, as in Penelope, but it must be converted in MeV2*mm2 + XS2=XS2*cm2/mm2; + + //Deve includere anche le famose correzioni per tenere conto + //che la sezione d'urto varia sullo step! + //Il valore che tira fuori va nella tabella e non viene piu' modificato + return XS1; +} + +G4double G4PenelopeBremsstrahlungContinuous::PositronCorrection(G4double en) +{ + const G4double Coeff[7]={-1.2359e-01,6.1274e-2,-3.1516e-2,7.7446e-3,-1.0595e-3, + 7.0568e-5,-1.8080e-6}; + G4double T=0; + G4double correct=0; + if (partName == "e-") { + return 1.0; //no correction for electrons + } + else if (partName == "e+"){ + T=log(1+((1e6*en)/(pow( (G4double) Zmat,2)*electron_mass_c2))); + for (G4int i=0;i<7;i++){ + correct += Coeff[i]*pow(T,i+1); + } + correct = 1.0-exp(correct); + return correct; + } + else //ne' elettroni ne' positroni...exception + { + G4String excep = "G4PenelopeBremmstrahlungContinuous: the particle is not e- nor e+!"; + G4Exception(excep); + return 0; + } +} diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc new file mode 100644 index 0000000000..3bba5b5f2d --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc @@ -0,0 +1,660 @@ +// +// ******************************************************************** +// * 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: G4PenelopeCompton.cc,v 1.10 2003/03/13 16:56:40 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: Luciano Pandola +// +// History: +// -------- +// 12 Feb 2003 MG Pia const argument in SelectRandomAtomForCompton +// Migration to "cuts per region" +// 14 Feb 2003 MG Pia Corrected compilation errors and warnings +// from SUN +// Modified some variables to lowercase initial +// 10 Mar 2003 V.Ivanchenko Remove CutPerMaterial warning +// 13 Mar 2003 L.Pandola Code "cleaned" +// +// ------------------------------------------------------------------- + +#include "G4PenelopeCompton.hh" +#include "Randomize.hh" +#include "G4ParticleDefinition.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ForceCondition.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4DynamicParticle.hh" +#include "G4VParticleChange.hh" +#include "G4ThreeVector.hh" +#include "G4EnergyLossTables.hh" +#include "G4VCrossSectionHandler.hh" +#include "G4CrossSectionHandler.hh" +#include "G4VEMDataSet.hh" +#include "G4EMDataSet.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4VDataSetAlgorithm.hh" +#include "G4LogLogInterpolation.hh" +#include "G4VRangeTest.hh" +#include "G4RangeTest.hh" +#include "G4PenelopeIntegrator.hh" +#include "G4MaterialCutsCouple.hh" + + +G4PenelopeCompton::G4PenelopeCompton(const G4String& processName) + : G4VDiscreteProcess(processName), + lowEnergyLimit(250*eV), + highEnergyLimit(100*GeV), + intrinsicLowEnergyLimit(10*eV), + intrinsicHighEnergyLimit(100*GeV), + energyForIntegration(0.0), + ZForIntegration(1), + nBins(200) +{ + if (lowEnergyLimit < intrinsicLowEnergyLimit || + highEnergyLimit > intrinsicHighEnergyLimit) + { + G4Exception("G4PenelopeCompton::G4PenelopeCompton - energy outside intrinsic process validity range"); + } + + meanFreePathTable = 0; + ionizationEnergy = new G4std::vector; + hartreeFunction = new G4std::vector; + occupationNumber = new G4std::vector; + rangeTest = new G4RangeTest; + + ReadData(); //Legge i dati da file! + + if (verboseLevel > 0) + { + G4cout << GetProcessName() << " is created " << G4endl + << "Energy range: " + << lowEnergyLimit / keV << " keV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +G4PenelopeCompton::~G4PenelopeCompton() +{ + delete meanFreePathTable; + delete rangeTest; + delete matCrossSections; + delete ionizationEnergy; + delete hartreeFunction; + delete occupationNumber; +} + +void G4PenelopeCompton::BuildPhysicsTable(const G4ParticleDefinition& photon) +{ + G4DataVector energyVector; + G4double dBin = log10(highEnergyLimit/lowEnergyLimit)/nBins; + G4int i; + for (i=0;i; + + + G4int m; + for (m=0; mGetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + const G4double* nAtomsPerVolume = material->GetAtomicNumDensityVector(); + + G4VEMDataSet* setForMat = new G4CompositeEMDataSet(algo,1.,1.); + + for (i=0; iGetZ(); + G4double density = nAtomsPerVolume[i]; + G4double cross=0.0; + energies = new G4DataVector; + data = new G4DataVector; + + + for (bin=0; binpush_back(e); + cross = density * CrossSection(e,Z); + data->push_back(cross); + } + + G4VEMDataSet* elSet = new G4EMDataSet(i,energies,data,algo,1.,1.); + setForMat->AddComponent(elSet); + } + + matCrossSections->push_back(setForMat); + } + + G4double matCS = 0.0; + G4VEMDataSet* matCrossSet = new G4CompositeEMDataSet(algo,1.,1.); + G4VEMDataSet* materialSet = new G4CompositeEMDataSet(algo,1.,1.); + + + for (m=0; mpush_back(energy); + matCrossSet = (*matCrossSections)[m]; + matCS = 0.0; + G4int nElm = matCrossSet->NumberOfComponents(); + for(G4int j=0; jGetComponent(j)->FindValue(energy); + } + if (matCS > 0.) + { + data->push_back(1./matCS); + } + else + { + data->push_back(DBL_MAX); + } + } + G4VEMDataSet* dataSet = new G4EMDataSet(m,energies,data,algo,1.,1.); + materialSet->AddComponent(dataSet); + } + meanFreePathTable = materialSet; +} + +G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep) +{ + //Penelope model + + aParticleChange.Initialize(aTrack); + + // Dynamic particle quantities + const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); + G4double photonEnergy0 = incidentPhoton->GetKineticEnergy(); + + if (photonEnergy0 <= lowEnergyLimit) + { + aParticleChange.SetStatusChange(fStopAndKill); + aParticleChange.SetEnergyChange(0.); + aParticleChange.SetLocalEnergyDeposit(photonEnergy0); + return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); + } + + G4ParticleMomentum photonDirection0 = incidentPhoton->GetMomentumDirection(); + + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + const G4Material* material = couple->GetMaterial(); + G4int Z = SelectRandomAtomForCompton(material,photonEnergy0); + const G4int nmax = 64; + G4double rn[nmax],pac[nmax]; + + G4double ki,ki1,ki2,ki3,taumin,a1,a2; + G4double tau,TST; + G4double S=0.0; + G4double epsilon,cosTheta; + G4double harFunc = 0.0; + G4int occupNb= 0; + G4double ionEnergy=0.0; + G4int nosc = ((*occupationNumber)[Z-1])->size(); + G4int iosc = nosc; + ki = photonEnergy0/electron_mass_c2; + ki2 = 2*ki+1.0; + ki3 = ki*ki; + ki1 = ki3-ki2-1.0; + taumin = 1.0/ki2; + a1 = log(ki2); + a2 = a1+2.0*ki*(1.0+ki)/(ki2*ki2); + if (photonEnergy0 > 5*MeV) + { + do{ + do{ + if ((a2*G4UniformRand()) < a1) + { + tau = pow(taumin,G4UniformRand()); + } + else + { + tau = sqrt(1.0+G4UniformRand()*(taumin*taumin-1.0)); + } + //rejection function + TST = (1+tau*(ki1+tau*(ki2+tau*ki3)))/(ki3*tau*(1.0+tau*tau)); + }while (G4UniformRand()> TST); + epsilon=tau; + cosTheta = 1.0 - (1.0-tau)/(ki*tau); + //Target shell electrons + TST = Z*G4UniformRand(); + iosc = nosc; + S=0.0; + for (G4int j=0;j TST) iosc = j; + if (S > TST) break; + } + ionEnergy = (*((*ionizationEnergy)[Z-1]))[iosc]; + }while((epsilon*photonEnergy0-photonEnergy0+ionEnergy) >0); + } + + else //photonEnergy0<5 MeV + { + //Incoherent scattering function for theta=PI + G4double s0=0.0; + G4double pzomc=0.0,rni=0.0; + G4double aux=0.0; + for (G4int i=0;i ionEnergy) + { + G4double aux = photonEnergy0*(photonEnergy0-ionEnergy)*2.0; + harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const; + occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i]; + pzomc = harFunc*(aux-electron_mass_c2*ionEnergy)/ + (electron_mass_c2*sqrt(2.0*aux+pow(ionEnergy,2))); + if (pzomc > 0) + { + rni = 1.0-0.5*exp(0.5-pow(sqrt(0.5)+sqrt(2.0)*pzomc,2)); + } + else + { + rni = 0.5*exp(0.5-pow(sqrt(0.5)-sqrt(2.0)*pzomc,2)); + } + s0 = s0 + occupNb*rni; + } + } + + //Sampling tau + G4double cdt1; + do + { + if ((G4UniformRand()*a2) < a1) + { + tau = pow(taumin,G4UniformRand()); + } + else + { + tau = sqrt(1.0+G4UniformRand()*(taumin*taumin-1.0)); + } + cdt1 = (1.0-tau)/(ki*tau); + S=0.0; + //Incoherent scattering function + for (G4int i=0;i ionEnergy) //sum only on excitable levels + { + aux = photonEnergy0*(photonEnergy0-ionEnergy)*cdt1; + harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const; + occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i]; + pzomc = harFunc*(aux-electron_mass_c2*ionEnergy)/ + (electron_mass_c2*sqrt(2.0*aux+pow(ionEnergy,2))); + if (pzomc > 0) + { + rn[i] = 1.0-0.5*exp(0.5-pow(sqrt(0.5)+sqrt(2.0)*pzomc,2)); + } + else + { + rn[i] = 0.5*exp(0.5-pow(sqrt(0.5)-sqrt(2.0)*pzomc,2)); + } + S = S + occupNb*rn[i]; + pac[i] = S; + } + else + { + pac[i] = S-(1e-06); + } + } + //Rejection function + TST = S*(1.0+tau*(ki1+tau*(ki2+tau*ki3)))/(ki3*tau*(1.0+tau*tau)); + }while ((G4UniformRand()*s0) > TST); + + //Target electron shell + cosTheta = 1.0 - cdt1; + G4double fpzmax=0.0,fpz=0.0; + G4double A=0.0; + do + { + do + { + TST =S*G4UniformRand(); + iosc=nosc; + for (G4int i=0;iTST) iosc = i; + if (pac[i]>TST) break; + } + A = G4UniformRand()*rn[iosc]; + harFunc = (*((*hartreeFunction)[Z-1]))[iosc]/fine_structure_const; + occupNb = (G4int) (*((*occupationNumber)[Z-1]))[iosc]; + if (A < 0.5) { + pzomc = (sqrt(0.5)-sqrt(0.5-log(2.0*A)))/ + (sqrt(2.0)*harFunc); + } + else + { + pzomc = (sqrt(0.5-log(2.0-2.0*A))-sqrt(0.5))/ + (sqrt(2.0)*harFunc); + } + } while (pzomc < -1); + // F(EP) rejection + G4double XQC = 1.0+tau*(tau-2.0*cosTheta); + G4double AF = sqrt(XQC)*(1.0+tau*(tau-cosTheta)/XQC); + if (AF > 0) { + fpzmax = 1.0+AF*0.2; + } + else + { + fpzmax = 1.0-AF*0.2; + } + fpz = 1.0+AF*G4std::max(G4std::min(pzomc,0.2),-0.2); + }while ((fpzmax*G4UniformRand())>fpz); + + //Energy of the scattered photon + G4double T = pow(pzomc,2); + G4double b1 = 1.0-T*tau*tau; + G4double b2 = 1.0-T*tau*cosTheta; + if (pzomc > 0.0) + { + epsilon = (tau/b1)*(b2+sqrt(abs(b2*b2-b1*(1.0-T)))); + } + else + { + epsilon = (tau/b1)*(b2-sqrt(abs(b2*b2-b1*(1.0-T)))); + } + } + + + G4double sinTheta = sqrt(1-pow(cosTheta,2)); + G4double phi = twopi * G4UniformRand() ; + G4double dirx = sinTheta * cos(phi); + G4double diry = sinTheta * sin(phi); + G4double dirz = cosTheta ; + + // Update G4VParticleChange for the scattered photon + + G4ThreeVector photonDirection1(dirx,diry,dirz); + photonDirection1.rotateUz(photonDirection0); + aParticleChange.SetMomentumChange(photonDirection1) ; + G4double photonEnergy1 = epsilon * photonEnergy0; + + if (photonEnergy1 > 0.) + { + aParticleChange.SetEnergyChange(photonEnergy1) ; + } + else + { + aParticleChange.SetEnergyChange(0.) ; + aParticleChange.SetStatusChange(fStopAndKill); + } + + + // Kinematics of the scattered electron + + G4double diffEnergy = photonEnergy0*(1-epsilon); + ionEnergy = (*((*ionizationEnergy)[Z-1]))[iosc]; + G4double eKineticEnergy = diffEnergy - ionEnergy; + G4double Q2 = pow(photonEnergy0,2)+photonEnergy1*(photonEnergy1-2.0*photonEnergy0*cosTheta); + G4double cosThetaE; //scattering angle for the electron + if (Q2 > 1.0e-12) + { + cosThetaE = (photonEnergy0-photonEnergy1*cosTheta)/sqrt(Q2); + } + else + { + cosThetaE = 1.0; + } + G4double sinThetaE = sqrt(1-pow(cosThetaE,2)); + + // Generate the electron only if with large enough range w.r.t. cuts and safety + + G4double safety = aStep.GetPostStepPoint()->GetSafety(); + + if (rangeTest->Escape(G4Electron::Electron(),couple,eKineticEnergy,safety)) + { + G4double xEl = sinThetaE * cos(phi+pi); + G4double yEl = sinThetaE * sin(phi+pi); + G4double zEl = cosThetaE; + G4ThreeVector eDirection(xEl,yEl,zEl); //electron direction + + G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), + eDirection,eKineticEnergy) ; + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(electron); + aParticleChange.SetLocalEnergyDeposit(0.); + } + else + { + aParticleChange.SetNumberOfSecondaries(0); + aParticleChange.SetLocalEnergyDeposit(eKineticEnergy); + } + + return G4VDiscreteProcess::PostStepDoIt( aTrack, aStep); +} + +G4bool G4PenelopeCompton::IsApplicable(const G4ParticleDefinition& particle) +{ + return ( &particle == G4Gamma::Gamma() ); +} + +G4double G4PenelopeCompton::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition*) +{ + const G4DynamicParticle* photon = track.GetDynamicParticle(); + G4double energy = photon->GetKineticEnergy(); + G4Material* material = track.GetMaterial(); + size_t materialIndex = material->GetIndex(); + + G4double meanFreePath; + if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); + else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; + else meanFreePath = meanFreePathTable->FindValue(energy,materialIndex); + return meanFreePath; +} + + +void G4PenelopeCompton::ReadData() +{ + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4PenelopeCompton - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + G4String pathString(path); + G4String pathFile = pathString + "/penelope/comptondata.dat"; + G4std::ifstream file(pathFile); + G4std::filebuf* lsdp = file.rdbuf(); + + if (!(lsdp->is_open())) + { + G4String excep = "G4PenelopeCompton - data file " + pathFile + " not found!"; + G4Exception(excep); + } + file.close(); + + //This algorithm is slow and unelegant! + //It must be improved. + G4int k1,k2; + G4double a1,a2; + G4int Z=0; + G4DataVector* f; + G4DataVector* u; + G4DataVector* j; + for(Z=1;Z<93;Z++) { + f = new G4DataVector; + u = new G4DataVector; + j = new G4DataVector; + G4std::ifstream file(pathFile); + k1=1; + while (k1>0) + { + file >> k1 >> k2 >> a1 >> a2; + if(k1 == Z) + { + f->push_back((G4double) k2); + u->push_back(a1); + j->push_back(a2); + } + } + file.close(); + ionizationEnergy->push_back(u); + hartreeFunction->push_back(j); + occupationNumber->push_back(f); + } + //(*((*ionizationEnergy)[Z-1]))[i] contains the ionization energy of the i-th level of + //the element Z +}; + +G4double G4PenelopeCompton::CrossSection(G4double energy,G4int Z) +{ + G4double cs=0.0; + energyForIntegration=energy; + ZForIntegration = Z; + if (energy< 5*MeV) + { + G4PenelopeIntegrator theIntegrator; + cs = theIntegrator.Calculate(this,&G4PenelopeCompton::DifferentialCrossSection,-1.0,1.0,1e-05); + } + else + { + G4double ki=energy/electron_mass_c2; + G4double ki3=ki*ki; + G4double ki2=1.0+2*ki; + G4double ki1=ki3-ki2-1.0; + G4double t0=1.0/(ki2); + G4double csl = 0.5*ki3*t0*t0+ki2*t0+ki1*log(t0)-(1.0/t0); + G4int nosc = ((*occupationNumber)[Z-1])->size(); + for (G4int i=0;i t0) + { + G4double csu = 0.5*ki3*tau*tau+ki2*tau+ki1*log(tau)-(1.0/tau); + G4int f = (G4int) (*((*occupationNumber)[Z-1]))[i]; + cs = cs + f*(csu-csl); + } + } + cs=pi*classic_electr_radius*classic_electr_radius*cs/(ki*ki3); + } + return cs; +} + + +G4double G4PenelopeCompton::DifferentialCrossSection(G4double cosTheta) +{ + const G4double k2 = sqrt(2.0); + const G4double k1 = sqrt(0.5); + const G4double k12 = 0.5; + G4double cdt1 = 1.0-cosTheta; + G4double energy = energyForIntegration; + G4int Z = ZForIntegration; + G4double ionEnergy=0.0,Pzimax=0.0,XKN=0.0; + G4double diffCS=0.0; + G4double x=0.0,siap=0.0; + G4double harFunc=0.0; + G4int occupNb; + //energy of Compton line; + G4double EOEC = 1.0+(energy/electron_mass_c2)*cdt1; + G4double ECOE = 1.0/EOEC; + //Incoherent scattering function (analytical profile) + G4double sia = 0.0; + G4int nosc = ((*occupationNumber)[Z-1])->size(); + for (G4int i=0;iEion + if (energy > ionEnergy) + { + G4double aux = energy * (energy-ionEnergy)*cdt1; + Pzimax = (aux - electron_mass_c2*ionEnergy)/(electron_mass_c2*sqrt(2*aux+pow(ionEnergy,2))); + harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const; + occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i]; + x = harFunc*Pzimax; + if (x > 0) + { + siap = 1.0-0.5*exp(k12-pow((k1+k2*x),2)); + } + else + { + siap = 0.5*exp(k12-pow((k1-k2*x),2)); + } + sia = sia + occupNb*siap; //sum of all contributions; + } + } + XKN = EOEC+ECOE-1+cosTheta*cosTheta; + diffCS = pi*pow(classic_electr_radius,2)*pow(ECOE,2)*XKN*sia; + return diffCS; +} + +G4int G4PenelopeCompton::SelectRandomAtomForCompton(const G4Material* material,G4double energy) const +{ + G4int nElements = material->GetNumberOfElements(); + //Special case: the material consists of one element + if (nElements == 1) + { + G4int Z = (G4int) material->GetZ(); + return Z; + } + + //Composite material + const G4ElementVector* elementVector = material->GetElementVector(); + size_t materialIndex = material->GetIndex(); + + G4VEMDataSet* materialSet = (*matCrossSections)[materialIndex]; + G4double materialCrossSection0 = 0.0; + G4DataVector cross; + cross.clear(); + G4int i; + for (i=0;iGetComponent(i))->FindValue(energy); + materialCrossSection0 += cr; + cross.push_back(materialCrossSection0); //cumulative cross section + } + + G4double random = G4UniformRand()*materialCrossSection0; + for (i=0;iGetZ(); + } + //It should never get here + return 0; +} + diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversion.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversion.cc new file mode 100644 index 0000000000..f7c11b975d --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeGammaConversion.cc @@ -0,0 +1,379 @@ +// +// ******************************************************************** +// * 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: L.Pandola +// History: +// -------- +// 02 Dec 2002 L.Pandola 1st implementation +// 12 Feb 2003 MG Pia Migration to "cuts per region" +// 10 Mar 2003 V.Ivanchenko Remove CutPerMaterial warning +// 13 Mar 2003 L.Pandola Code "cleaned" +// 25 Mar 2003 L.Pandola Changed the name of the database file to read +// 24 Apr 2003 V.Ivanchenko Cut per region mfpt +// -------------------------------------------------------------- + +#include "G4PenelopeGammaConversion.hh" + +#include "Randomize.hh" +#include "G4ParticleDefinition.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ForceCondition.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4DynamicParticle.hh" +#include "G4VParticleChange.hh" +#include "G4ThreeVector.hh" +#include "G4Positron.hh" +#include "G4IonisParamElm.hh" +#include "G4Material.hh" +#include "G4VCrossSectionHandler.hh" +#include "G4CrossSectionHandler.hh" +#include "G4VEMDataSet.hh" +#include "G4VDataSetAlgorithm.hh" +#include "G4LogLogInterpolation.hh" +#include "G4VRangeTest.hh" +#include "G4RangeTest.hh" +#include "G4MaterialCutsCouple.hh" + + +G4PenelopeGammaConversion::G4PenelopeGammaConversion(const G4String& processName) + : G4VDiscreteProcess(processName), + lowEnergyLimit(1.022000*MeV), + highEnergyLimit(100*GeV), + intrinsicLowEnergyLimit(1.022000*MeV), + intrinsicHighEnergyLimit(100*GeV), + smallEnergy(1.1*MeV) + +{ + if (lowEnergyLimit < intrinsicLowEnergyLimit || + highEnergyLimit > intrinsicHighEnergyLimit) + { + G4Exception("G4PenelopeGammaConversion::G4PenelopeGammaConversion - energy limit outside intrinsic process validity range"); + } + + // The following pointer is owned by G4DataHandler + crossSectionHandler = new G4CrossSectionHandler(); + // Log log interpolation (default) + crossSectionHandler->Initialise(0,1.0220*MeV,100.*GeV,400); + meanFreePathTable = 0; + rangeTest = new G4RangeTest; + + if (verboseLevel > 0) + { + G4cout << GetProcessName() << " is created " << G4endl + << "Energy range: " + << lowEnergyLimit / MeV << " MeV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +G4PenelopeGammaConversion::~G4PenelopeGammaConversion() +{ + delete meanFreePathTable; + delete crossSectionHandler; + delete rangeTest; +} + +void G4PenelopeGammaConversion::BuildPhysicsTable(const G4ParticleDefinition& photon) +{ + + crossSectionHandler->Clear(); + G4String crossSectionFile = "penelope/pp-cs-pen-"; + crossSectionHandler->LoadData(crossSectionFile); + delete meanFreePathTable; + meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); +} + +G4VParticleChange* G4PenelopeGammaConversion::PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep) +{ + aParticleChange.Initialize(aTrack); + + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + + const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); + G4double photonEnergy = incidentPhoton->GetKineticEnergy(); + G4ParticleMomentum photonDirection = incidentPhoton->GetMomentumDirection(); + + G4double eps ; + G4double eki = electron_mass_c2 / photonEnergy ; + + // Do it fast if photon energy < 1.1 MeV + if (photonEnergy < smallEnergy ) + { + eps = eki + (1-2*eki) * G4UniformRand(); + } + else + { + // Select randomly one element in the current material + const G4Element* element = crossSectionHandler->SelectRandomElement(couple,photonEnergy); + + if (element == 0) + { + G4cout << "G4PenelopeGammaConversion::PostStepDoIt - element = 0" << G4endl; + } + G4IonisParamElm* ionisation = element->GetIonisation(); + if (ionisation == 0) + { + G4cout << "G4PenelopeGammaConversion::PostStepDoIt - ionisation = 0" << G4endl; + } + + //Low energy and Coulomb corrections + G4double Z=ionisation->GetZ(); + G4double ZAlpha = Z*fine_structure_const; + G4double ScreenRadius = GetScreeningRadius(Z); + G4double funct1=0,g0=0; + G4double g1min=0,g2min=0; + funct1 = 4.0*log(ScreenRadius); + g0 = funct1-4*CoulombCorrection(ZAlpha)+LowEnergyCorrection(ZAlpha,eki); + G4double bmin = 2*eki*ScreenRadius; + g1min=g0+ScreenFunction(bmin,1); + g2min=g0+ScreenFunction(bmin,2); + G4double xr,a1,p1; + xr=0.5-eki; + a1=(2.0/3.0)*g1min*xr*xr; + p1=a1/(a1+g2min); + + //Random sampling of eps + G4double rand1,rand2,rand3,b; + G4double g1; + + do{ + rand1 = G4UniformRand(); + if (rand1 < p1) { + rand2 = 2.0*G4UniformRand()-1.0; + if (rand2 < 0) { + eps = 0.5 - xr*pow(abs(rand2),(1./3.)); + } + else + { + eps = 0.5 + xr*pow(rand2,(1./3.)); + } + b = (eki*ScreenRadius)/(2*eps*(1.0-eps)); + g1 = g0+ScreenFunction(b,1); + if (g1 < 0) g1=0; + rand3 = G4UniformRand()*g1min; + } + else + { + eps = eki+2.0*xr*G4UniformRand(); + b = (eki*ScreenRadius)/(2*eps*(1.0-eps)); + g1 = g0+ScreenFunction(b,2); + if (g1 < 0) g1=0; + rand3 = G4UniformRand()*g2min; + } + } while (rand3>g1); + } //End of eps sampling + + G4double electronTotEnergy; + G4double positronTotEnergy; + + electronTotEnergy = eps*photonEnergy; + positronTotEnergy = (1.0-eps)*photonEnergy; + + // Scattered electron (positron) angles. ( Z - axis along the parent photon) + + //electron kinematics + G4double costheta_el,costheta_po; + G4double phi_el,phi_po; + G4double electronKineEnergy = G4std::max(0.,electronTotEnergy - electron_mass_c2) ; + costheta_el = G4UniformRand()*2.0-1.0; + G4double kk = sqrt(electronKineEnergy*(electronKineEnergy+2.*electron_mass_c2)); + costheta_el = (costheta_el*electronTotEnergy+kk)/(electronTotEnergy+costheta_el*kk); + phi_el = twopi * G4UniformRand() ; + G4double dirX_el = sqrt(1.-costheta_el*costheta_el) * cos(phi_el); + G4double dirY_el = sqrt(1.-costheta_el*costheta_el) * sin(phi_el); + G4double dirZ_el = costheta_el; + + //positron kinematics + G4double positronKineEnergy = G4std::max(0.,positronTotEnergy - electron_mass_c2) ; + costheta_po = G4UniformRand()*2.0-1.0; + kk = sqrt(positronKineEnergy*(positronKineEnergy+2.*electron_mass_c2)); + costheta_po = (costheta_po*positronTotEnergy+kk)/(positronTotEnergy+costheta_po*kk); + phi_po = twopi * G4UniformRand() ; + G4double dirX_po = sqrt(1.-costheta_po*costheta_po) * cos(phi_po); + G4double dirY_po = sqrt(1.-costheta_po*costheta_po) * sin(phi_po); + G4double dirZ_po = costheta_po; + +// Kinematics of the created pair: +// the electron and positron are assumed to have a symetric angular +// distribution with respect to the Z axis along the parent photon + + G4double localEnergyDeposit = 0. ; + + aParticleChange.SetNumberOfSecondaries(2) ; + + + // Generate the electron only if with large enough range w.r.t. cuts and safety + + G4double safety = aStep.GetPostStepPoint()->GetSafety(); + + if (rangeTest->Escape(G4Electron::Electron(),couple,electronKineEnergy,safety)) + { + G4ThreeVector electronDirection ( dirX_el, dirY_el, dirZ_el); + electronDirection.rotateUz(photonDirection); + G4DynamicParticle* particle1 = new G4DynamicParticle (G4Electron::Electron(), + electronDirection, + electronKineEnergy); + aParticleChange.AddSecondary(particle1) ; + } + else + { + localEnergyDeposit += electronKineEnergy ; + } + + + if (! (rangeTest->Escape(G4Positron::Positron(),couple,positronKineEnergy,safety))) + { + localEnergyDeposit += positronKineEnergy ; + positronKineEnergy = 0. ; + } + G4ThreeVector positronDirection(dirX_po,dirY_po,dirZ_po); + positronDirection.rotateUz(photonDirection); + + // Create G4DynamicParticle object for the particle2 + G4DynamicParticle* particle2 = new G4DynamicParticle(G4Positron::Positron(), + positronDirection, positronKineEnergy); + aParticleChange.AddSecondary(particle2) ; + + aParticleChange.SetLocalEnergyDeposit(localEnergyDeposit) ; + + // Kill the incident photon + aParticleChange.SetMomentumChange(0.,0.,0.) ; + aParticleChange.SetEnergyChange(0.) ; + aParticleChange.SetStatusChange(fStopAndKill) ; + + // Reset NbOfInteractionLengthLeft and return aParticleChange + return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); +} + +G4bool G4PenelopeGammaConversion::IsApplicable(const G4ParticleDefinition& particle) +{ + return ( &particle == G4Gamma::Gamma() ); +} + +G4double G4PenelopeGammaConversion::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition*) +{ + const G4DynamicParticle* photon = track.GetDynamicParticle(); + G4double energy = photon->GetKineticEnergy(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + size_t materialIndex = couple->GetIndex(); + + G4double meanFreePath; + if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); + else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; + else meanFreePath = meanFreePathTable->FindValue(energy,materialIndex); + return meanFreePath; +} + +G4double G4PenelopeGammaConversion::ScreenFunction(G4double b,G4int icase) +{ + G4double bsquare=b*b; + G4double a0,f1,f2,g1,g2; + f1=2.0-2*log(1+bsquare); + f2=f1-(2.0/3.0); + if (b < 1.0e-10) + { + f1=f1-twopi*b; + } + else + { + a0 = 4*b*atan(1.0/b); + f1 = f1 - a0; + f2 = f2+2*bsquare*(4.0-a0-3*log((1+bsquare)/bsquare)); + } + g1=0.5*(3*f1-f2); + g2=0.25*(3*f1+f2); + if (icase==1) { + return g1; + } + else + { + return g2; + } +} + +G4double G4PenelopeGammaConversion::CoulombCorrection(G4double a) +{ + G4double fc=0; + G4double b[7] = {0.202059,-0.03693,0.00835,-0.00201,0.00049,-0.00012,0.00003}; + fc = ((1.0/(1.0+a*a))+b[0]+b[1]*pow(a,2)+b[2]*pow(a,4)+b[3]*pow(a,6)+b[4]*pow(a,8)+b[5]*pow(a,10)+b[6]*pow(a,12)); + fc=pow(a,2)*fc; + return fc; +} + +G4double G4PenelopeGammaConversion::LowEnergyCorrection(G4double a,G4double eki) +{ + G4double f0=0,t=0; + G4double b[12] = {-1.744,-12.10,11.18,8.523,73.26,-41.41,-13.52,-121.1,94.41,8.946,62.05,-63.41}; + t=sqrt(2.0*eki); + f0=(b[0]+b[1]*a+b[2]*a*a)*t+(b[3]+b[4]*a+b[5]*a*a)*pow(t,2)+(b[6]+b[7]*a+b[8]*a*a)*pow(t,3)+ + (b[9]+b[10]*a+b[11]*a*a)*pow(t,4); + return f0; +} + +G4double G4PenelopeGammaConversion::GetScreeningRadius(G4double Z) +{ + char* path = getenv("G4LEDATA"); + if (!path) + { + G4String excep = "G4PenelopeGammaConversion - G4LEDATA environment variable not set!"; + G4Exception(excep); + } + G4String pathString(path); + G4String pathFile = pathString + "/penelope/pp-pen.dat"; + G4std::ifstream file(pathFile); + G4std::filebuf* lsdp = file.rdbuf(); + + if (!(lsdp->is_open())) + { + G4String excep = "G4PenelopeGammaConversion - data file " + pathFile + "not found!"; + G4Exception(excep); + } + G4int k; + G4double a1,a2; + while(!file.eof()) { + file >> k >> a1 >> a2; + if ((G4double) k == Z) + { + return a1; + } + } + G4String excep = "G4PenelopeGammaConversion - Screening Radius for not found in the data file"; + G4Exception(excep); + return 0; +}; + + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeInterpolator.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeInterpolator.cc new file mode 100644 index 0000000000..bb8208a0f7 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeInterpolator.cc @@ -0,0 +1,241 @@ +// +// ******************************************************************** +// * 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: Luciano Pandola (Luciano.Pandola@cern.ch) +// +// History: +// ----------- +// 17 Feb 2003 LP Created +// +// ------------------------------------------------------------------- + +#include "G4PenelopeInterpolator.hh" +#include "G4DataVector.hh" + +G4PenelopeInterpolator::G4PenelopeInterpolator(G4double* pX,G4double* pY,G4int nOfData,G4double S1,G4double SN) : + a(0),b(0),c(0),d(0),x(0),y(0) +{ + // pX = X grid points (ascending order) + // pY = corresponding function values + // nOfData = number of points in the grid > 4 + // S1 and S2 = second derivatives at X[0] and X[nOfData-1] + a = new G4DataVector; + b = new G4DataVector; + c = new G4DataVector; + d = new G4DataVector; + + if (nOfData < 4 ) + { + G4String excep = "Spline interpolation cannot be performed with less than 4 points"; + G4Exception(excep); + } + + G4int N1=nOfData-1; + G4int N2=nOfData-2; + G4int i; + G4int k=0; + G4DataVector A(N1),B(N2),D(nOfData);//auxiliary arrays + A.clear(); + B.clear(); + D.clear(); + for (i=0;ipush_back(store); + store=(HI/2.0)*(SI1*pow(pX[i],2)-SI*pow(pX[i+1],2))+HI*(pY[i+1]-pY[i])+(H/6.0)*(SI-SI1); + b->push_back(store); + store=(HI/2.0)*(SI*pX[i+1]-SI1*pX[i]); + c->push_back(store); + store=(HI/6.0)*(SI1-SI); + d->push_back(store); + } + //Natural cubic spline for x > x[nOfData-1] + G4double FN=pY[nOfData-1]; + store=(*b)[N1-1]+pX[nOfData-1]*(2.0*(*c)[N1-1]+pX[nOfData-1]*3.0*(*d)[N1-1]); + a->push_back(FN-pX[nOfData-1]*store); + b->push_back(store); + c->push_back(0.0); + d->push_back(0.0); + + x = new G4DataVector; + y = new G4DataVector; + + for (i=0;ipush_back(pX[i]); + y->push_back(pY[i]); + } + return; +} + +G4double G4PenelopeInterpolator::CubicSplineInterpolation(G4double xx) +{ + G4double interp=0; + G4int index = FindBin(xx); + interp=(*a)[index]+xx*((*b)[index]+xx*((*c)[index]+xx*(*d)[index])); + return interp; +} + +G4double G4PenelopeInterpolator::FirstDerivative(G4double xx) +{ + G4double interp=0; + G4int index = FindBin(xx); + interp=(*b)[index]+xx*((*c)[index]*2.0+xx*(*d)[index]*3.0); + return interp; +} + +G4double G4PenelopeInterpolator::CalculateMomentum(G4double UpperLimit, + G4int MomentumOrder) +{ + G4int i; + G4int nOfData = (G4int) x->size(); + const G4double eps=1.0e-35; + if (MomentumOrder < -1) G4Exception("Calculate Momentum: error 0"); + if (nOfData < 2) G4Exception("Calculate Momentum: error 1"); + if ((*x)[0]<0) G4Exception("Calculate Momentum: error 2"); + for (i=1;i (1e-14*abs(dy))) + { + b1=dy/dx; + a1=y1-b1*x1; + if (MomentumOrder == -1) + { + ds=a1*log(xtc/x1)+b1*(xtc-x1); + } + else + { + ds=a1*(pow(xtc,MomentumOrder+1)-pow(x1,MomentumOrder+1))/ ((G4double) (MomentumOrder+1))+ + b1*(pow(xtc,MomentumOrder+2)-pow(x1,MomentumOrder+2))/((G4double) (MomentumOrder+2)); + } + } + else + { + ds=0.5*(y1+y2)*pow((xtc-x1),MomentumOrder); + } + RMom += ds; + if (iend != 0) return RMom; + } + return RMom; +} + +G4int G4PenelopeInterpolator::FindBin(G4double xx) +{ + //Finds the interval x[i],x[i+1] which contains the value xx + + G4int nbOfPoints=x->size(); + + if (xx > (*x)[nbOfPoints-1]) + { + return (nbOfPoints-1); + } + if (xx < (*x)[0]) + { + return 0; + } + G4int i=0,i1=nbOfPoints-1; + do{ + G4int it=(i+i1)/2; + if (xx > (*x)[it]) + { + i=it; + } + else + { + i1=it; + } + } while((i1-i) > 1); + return i; +} + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc new file mode 100644 index 0000000000..93f236e260 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc @@ -0,0 +1,317 @@ +// +// ******************************************************************** +// * 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: G4PenelopePhotoElectric.cc,v 1.5 2003/03/13 17:04:10 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L. Pandola +// +// History: +// -------- +// January 2003 - Created +// 12 Feb 2003 MG Pia Migration to "cuts per region" +// 10 Mar 2003 V.Ivanchenko Remome CutPerMaterial warning +// -------------------------------------------------------------- + +#include "G4PenelopePhotoElectric.hh" + +#include "G4ParticleDefinition.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ForceCondition.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4DynamicParticle.hh" +#include "G4VParticleChange.hh" +#include "G4ThreeVector.hh" +#include "G4VCrossSectionHandler.hh" +#include "G4CrossSectionHandler.hh" +#include "G4VEMDataSet.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4VDataSetAlgorithm.hh" +#include "G4LogLogInterpolation.hh" +#include "G4VRangeTest.hh" +#include "G4RangeNoTest.hh" +#include "G4AtomicTransitionManager.hh" +#include "G4AtomicShell.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" + +G4PenelopePhotoElectric::G4PenelopePhotoElectric(const G4String& processName) + : G4VDiscreteProcess(processName), lowEnergyLimit(250*eV), highEnergyLimit(100*GeV), + intrinsicLowEnergyLimit(10*eV), + intrinsicHighEnergyLimit(100*GeV), + cutForLowEnergySecondaryPhotons(250.*eV), + cutForLowEnergySecondaryElectrons(250.*eV) +{ + if (lowEnergyLimit < intrinsicLowEnergyLimit || + highEnergyLimit > intrinsicHighEnergyLimit) + { + G4Exception("G4PenelopePhotoElectric::G4PenelopePhotoElectric - energy limit outside intrinsic process validity range"); + } + + crossSectionHandler = new G4CrossSectionHandler(); + shellCrossSectionHandler = new G4CrossSectionHandler(); + meanFreePathTable = 0; + rangeTest = new G4RangeNoTest; + + if (verboseLevel > 0) + { + G4cout << GetProcessName() << " is created " << G4endl + << "Energy range: " + << lowEnergyLimit / keV << " keV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +G4PenelopePhotoElectric::~G4PenelopePhotoElectric() +{ + delete crossSectionHandler; + delete shellCrossSectionHandler; + delete meanFreePathTable; + delete rangeTest; +} + +void G4PenelopePhotoElectric::BuildPhysicsTable(const G4ParticleDefinition& photon) +{ + + crossSectionHandler->Clear(); + G4String crossSectionFile = "penelope/ph-cs-pen-"; + crossSectionHandler->LoadData(crossSectionFile); + + shellCrossSectionHandler->Clear(); + G4String shellCrossSectionFile = "penelope/ph-ss-cs-pen-"; + shellCrossSectionHandler->LoadShellData(shellCrossSectionFile); + + delete meanFreePathTable; + meanFreePathTable = crossSectionHandler->BuildMeanFreePathForMaterials(); +} + +G4VParticleChange* G4PenelopePhotoElectric::PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep) +{ + // Fluorescence generated according to: + // J. Stepanek ,"A program to determine the radiation spectra due to a single atomic + // subshell ionisation by a particle or due to deexcitation or decay of radionuclides", + // Comp. Phys. Comm. 1206 pp 1-1-9 (1997) + + aParticleChange.Initialize(aTrack); + + const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); + G4double photonEnergy = incidentPhoton->GetKineticEnergy(); + if (photonEnergy <= lowEnergyLimit) + { + aParticleChange.SetStatusChange(fStopAndKill); + aParticleChange.SetEnergyChange(0.); + aParticleChange.SetLocalEnergyDeposit(photonEnergy); + return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); + } + + G4ParticleMomentum photonDirection = incidentPhoton->GetMomentumDirection(); + + // Select randomly one element in the current material + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + + G4int Z = crossSectionHandler->SelectRandomAtom(couple,photonEnergy); + + // Select the ionised shell in the current atom according to shell cross sections + size_t shellIndex = shellCrossSectionHandler->SelectRandomShell(Z,photonEnergy); + + // Retrieve the corresponding identifier and binding energy of the selected shell + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); + const G4AtomicShell* shell = transitionManager->Shell(Z,shellIndex); + G4double bindingEnergy = shell->BindingEnergy(); + G4int shellId = shell->ShellId(); + + // Create lists of pointers to DynamicParticles (photons and electrons) + // (Is the electron vector necessary? To be checked) + G4std::vector* photonVector = 0; + G4std::vector electronVector; + + G4double energyDeposit = 0.0; + + // Primary outcoming electron + G4double eKineticEnergy = photonEnergy - bindingEnergy; + + // There may be cases where the binding energy of the selected shell is > photon energy + // In such cases do not generate secondaries + if (eKineticEnergy > 0.) + { + // Generate the electron only if with large enough range w.r.t. cuts and safety + G4double safety = aStep.GetPostStepPoint()->GetSafety(); + + if (rangeTest->Escape(G4Electron::Electron(),couple,eKineticEnergy,safety)) + { + // The electron is created in the direction of the incident photon ... + G4DynamicParticle* electron = new G4DynamicParticle (G4Electron::Electron(), + photonDirection, + eKineticEnergy); + electronVector.push_back(electron); + } + else + { + energyDeposit += eKineticEnergy; + } + } + else + { + bindingEnergy = photonEnergy; + } + + G4int nElectrons = electronVector.size(); + size_t nTotPhotons = 0; + G4int nPhotons=0; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + size_t index = couple->GetIndex(); + G4double cutg = (*(theCoupleTable->GetEnergyCutsVector(0)))[index]; + cutg = G4std::min(cutForLowEnergySecondaryPhotons,cutg); + + G4double cute = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + cute = G4std::min(cutForLowEnergySecondaryPhotons,cute); + + G4DynamicParticle* aPhoton; + + // Generation of fluorescence + // Data in EADL are available only for Z > 5 + // Protection to avoid generating photons in the unphysical case of + // shell binding energy > photon energy + if (Z > 5 && (bindingEnergy > cutg || bindingEnergy > cute)) + { + photonVector = deexcitationManager.GenerateParticles(Z,shellId); + nTotPhotons = photonVector->size(); + for (size_t k=0; kGetDefinition() == G4Electron::Electron()) itsCut = cute; + G4double itsEnergy = aPhoton->GetKineticEnergy(); + + if (itsEnergy > itsCut && itsEnergy <= bindingEnergy) + { + nPhotons++; + // Local energy deposit is given as the sum of the + // energies of incident photons minus the energies + // of the outcoming fluorescence photons + bindingEnergy -= itsEnergy; + + } + else + { + delete aPhoton; + (*photonVector)[k] = 0; + } + } + } + } + + energyDeposit += bindingEnergy; + + G4int nSecondaries = nElectrons + nPhotons; + aParticleChange.SetNumberOfSecondaries(nSecondaries); + + for (G4int l = 0; lGetKineticEnergy(); + G4Material* material = track.GetMaterial(); + + G4double meanFreePath = DBL_MAX; + + G4double cross = shellCrossSectionHandler->ValueForMaterial(material,energy); + if(cross > 0.0) meanFreePath = 1.0/cross; + + return meanFreePath; +} + +void G4PenelopePhotoElectric::SetCutForLowEnSecPhotons(G4double cut) +{ + cutForLowEnergySecondaryPhotons = cut; + deexcitationManager.SetCutForSecondaryPhotons(cut); +} + +void G4PenelopePhotoElectric::SetCutForLowEnSecElectrons(G4double cut) +{ + cutForLowEnergySecondaryElectrons = cut; + deexcitationManager.SetCutForAugerElectrons(cut); +} + +void G4PenelopePhotoElectric::ActivateAuger(G4bool val) +{ + deexcitationManager.ActivateAugerElectronProduction(val); +} + + + + + + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc new file mode 100644 index 0000000000..b3c11b2b14 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc @@ -0,0 +1,499 @@ +// +// ******************************************************************** +// * 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: G4PenelopeRayleigh.cc,v 1.7 2003/03/13 16:55:35 pandola Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// Author: L. Pandola (luciano.pandola@cern.ch) +// +// History: +// -------- +// 14 Feb 2003 MG Pia Corrected compilation errors and warnings +// from SUN +// 10 Mar 2003 V.Ivanchenko Remove CutPerMaterial warning +// 12 Mar 2003 L.Pandola Code "cleaned" - Cuts per region +// -------------------------------------------------------------------- + +#include "G4PenelopeRayleigh.hh" +#include "Randomize.hh" +#include "G4ParticleDefinition.hh" +#include "G4Track.hh" +#include "G4Step.hh" +#include "G4ForceCondition.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4DynamicParticle.hh" +#include "G4VParticleChange.hh" +#include "G4ThreeVector.hh" +#include "G4VCrossSectionHandler.hh" +#include "G4CrossSectionHandler.hh" +#include "G4VEMDataSet.hh" +#include "G4EMDataSet.hh" +#include "G4CompositeEMDataSet.hh" +#include "G4VDataSetAlgorithm.hh" +#include "G4LogLogInterpolation.hh" +#include "G4PenelopeIntegrator.hh" +#include "G4MaterialCutsCouple.hh" + +G4PenelopeRayleigh::G4PenelopeRayleigh(const G4String& processName) + : G4VDiscreteProcess(processName), + lowEnergyLimit(250*eV), + highEnergyLimit(100*GeV), + samplingConstant(0.0), + nBins(200), + intrinsicLowEnergyLimit(10*eV), + intrinsicHighEnergyLimit(100*GeV) + +{ + if (lowEnergyLimit < intrinsicLowEnergyLimit || + highEnergyLimit > intrinsicHighEnergyLimit) + { + G4Exception("G4PenelopeRayleigh::G4PenelopeRayleigh - energy limit outside intrinsic process validity range"); + } + + samplingFunction_x = new G4DataVector(); + samplingFunction_y = new G4DataVector(); + meanFreePathTable = 0; + material = 0; + + if (verboseLevel > 0) + { + G4cout << GetProcessName() << " is created " << G4endl + << "Energy range: " + << lowEnergyLimit / keV << " keV - " + << highEnergyLimit / GeV << " GeV" + << G4endl; + } +} + +G4PenelopeRayleigh::~G4PenelopeRayleigh() +{ + delete meanFreePathTable; + delete samplingFunction_x; + delete samplingFunction_y; +} + +void G4PenelopeRayleigh::BuildPhysicsTable(const G4ParticleDefinition& photon) +{ + + G4DataVector energyVector; + G4double dBin = log10(highEnergyLimit/lowEnergyLimit)/nBins; + for (G4int i=0;i matCrossSections; + + G4int m; + for (m=0; mGetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + const G4double k1=849.3315; + + + G4int IZZ=0; + G4int iright=0; + for (G4int i=0; iGetZ(); + if (Z>IZZ){ + IZZ = Z; + iright=i; + } + } + + for (bin=0; binpush_back(energyVector[bin]); + G4double ec=G4std::min(energyVector[bin],0.5*IZZ); + facte=k1*pow(ec/electron_mass_c2,2); + G4double cs=0; + G4PenelopeIntegrator theIntegrator; + cs = + theIntegrator.Calculate(this,&G4PenelopeRayleigh::DifferentialCrossSection,-1.0,0.90,1e-06); + cs += theIntegrator.Calculate(this,&G4PenelopeRayleigh::DifferentialCrossSection,0.90,0.9999999,1e-06); + cs = cs*pow((ec/energyVector[bin]),2)*pi*pow(classic_electr_radius,2); + const G4double* vector_of_atoms = material->GetVecNbOfAtomsPerVolume(); + const G4int* stechiometric = material->GetAtomsVector(); + G4double density; + if (stechiometric) + { + density = vector_of_atoms[iright]/stechiometric[iright]; //number of molecules per volume + } + else + { + density = vector_of_atoms[iright]; //non-bound molecules + } + G4double cross = density*cs; + data->push_back(cross); + } + G4VEMDataSet* elSet = new G4EMDataSet(0,energies,data,algo); + G4VEMDataSet* setForMat = new G4CompositeEMDataSet(algo); + setForMat->AddComponent(elSet); + matCrossSections.push_back(setForMat); + } + G4double matCS = 0.0; + + for (m=0; mpush_back(energyVector[bin]); + matCS = (matCrossSections[m]->GetComponent(0))->FindValue(energyVector[bin]); + if (matCS > 0.){ + data->push_back(1./matCS); + } + else + { + data->push_back(DBL_MAX); + } + } + G4VEMDataSet* dataSet = new G4EMDataSet(m,energies,data,algo,1.,1.); + materialSet->AddComponent(dataSet); + } + meanFreePathTable = materialSet; +} + +G4VParticleChange* G4PenelopeRayleigh::PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep) +{ + + aParticleChange.Initialize(aTrack); + + const G4DynamicParticle* incidentPhoton = aTrack.GetDynamicParticle(); + G4double photonEnergy0 = incidentPhoton->GetKineticEnergy(); + + if (photonEnergy0 <= lowEnergyLimit) + { + aParticleChange.SetStatusChange(fStopAndKill); + aParticleChange.SetEnergyChange(0.); + aParticleChange.SetLocalEnergyDeposit(photonEnergy0); + return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); + } + + + G4ParticleMomentum photonDirection0 = incidentPhoton->GetMomentumDirection(); + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + material = couple->GetMaterial(); + + // Sampling inizialitation (build internal table) + + InizialiseSampling(); + + // Sample the angle of the scattered photon + const G4double xpar=41.2148; + G4double x2max = 2.0*log(xpar*photonEnergy0/electron_mass_c2); + G4int jm; + G4int asize = samplingFunction_x->size(); + if (x2max<(*samplingFunction_x)[1]) + { + jm=0; + } + else if(x2max>(*samplingFunction_x)[asize-2]) + { + jm=asize-2; + } + else + { + jm=(G4int) ((x2max-(*samplingFunction_x)[0])/samplingConstant); + } + G4double rumax = (*samplingFunction_y)[jm]+((*samplingFunction_y)[jm+1]-(*samplingFunction_y)[jm])* + (x2max-(*samplingFunction_x)[jm])/((*samplingFunction_x)[jm+1]-(*samplingFunction_x)[jm]); + G4int j,ju,jt; + G4double ru,denomin,x2rat; + G4double CDT,G,rand; + do{ + ru = rumax + log(G4UniformRand()); + j=0; + ju=jm+1; + do{ + jt=(j+ju)/2; //bipartition + if (ru > (*samplingFunction_y)[jt]) + { + j=jt; + } + else + { + ju=jt; + } + }while ((ju-j)>1); + denomin = (*samplingFunction_y)[j+1]-(*samplingFunction_y)[j]; + if (denomin > 1e-12) + { + x2rat = (*samplingFunction_x)[j]+(((*samplingFunction_x)[j+1]-(*samplingFunction_x)[j])* + (ru-(*samplingFunction_y)[j])/denomin)-x2max; + } + else + { + x2rat = (*samplingFunction_x)[j]-x2max; + } + CDT = 1.0-2.0*exp(x2rat); + G = 0.5*(1.0+CDT*CDT); + rand = G4UniformRand(); + }while (rand>G); + + G4double cosTheta = CDT; + G4double sinTheta = sqrt(1-cosTheta*cosTheta); + + + + + // Scattered photon angles. ( Z - axis along the parent photon) + G4double phi = twopi * G4UniformRand() ; + G4double dirX = sinTheta*cos(phi); + G4double dirY = sinTheta*sin(phi); + G4double dirZ = cosTheta; + + // Update G4VParticleChange for the scattered photon + G4ThreeVector photonDirection1(dirX, dirY, dirZ); + + photonDirection1.rotateUz(photonDirection0); + aParticleChange.SetEnergyChange(photonEnergy0); + aParticleChange.SetMomentumChange(photonDirection1); + + aParticleChange.SetNumberOfSecondaries(0); + + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); +} + +G4bool G4PenelopeRayleigh::IsApplicable(const G4ParticleDefinition& particle) +{ + return ( &particle == G4Gamma::Gamma() ); +} + +G4double G4PenelopeRayleigh::GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition*) +{ + const G4DynamicParticle* photon = track.GetDynamicParticle(); + G4double energy = photon->GetKineticEnergy(); + material = track.GetMaterial(); + size_t materialIndex = material->GetIndex(); + + G4double meanFreePath; + if (energy > highEnergyLimit) meanFreePath = meanFreePathTable->FindValue(highEnergyLimit,materialIndex); + else if (energy < lowEnergyLimit) meanFreePath = DBL_MAX; + else + { + meanFreePath = meanFreePathTable->FindValue(energy,materialIndex); + } + return meanFreePath; +} + +void G4PenelopeRayleigh::InizialiseSampling() +{ + const G4int points=241; + samplingFunction_x->clear(); + samplingFunction_y->clear(); + G4double sum = 0.0; + G4double Xlow=0; + G4double Xhigh=1e-04; + G4double fact = pow((1e06/Xhigh),(1/240.0)); + G4PenelopeIntegrator theIntegrator; + sum = theIntegrator.Calculate(this,&G4PenelopeRayleigh::MolecularFormFactor, + Xlow,Xhigh,1e-10); + samplingFunction_x->push_back(Xhigh); + samplingFunction_y->push_back(sum); + G4int i; + for (i=1;ipush_back(Xhigh); + samplingFunction_y->push_back(sum+(*samplingFunction_y)[i-1]); + } + for (i=0;iGetNumberOfElements(); + const G4ElementVector* elementVector = material->GetElementVector(); + const G4int* stechiometric = material->GetAtomsVector(); + const G4double* vector_of_atoms = material->GetVecNbOfAtomsPerVolume(); + const G4double tot_atoms = material->GetTotNbOfAtomsPerVolume(); + for (G4int i=0;iGetZ(); + if (Z>ntot) Z=95; + fa=Z*(1+y*(RA1[Z-1]+x*(RA2[Z-1]+x*RA3[Z-1])))/pow((1+y*(RA4[Z-1]+y*RA5[Z-1])),2); + G4bool a = ((Z>10) && (fa>2.0)); + if (a) + { + G4double Pa,Pg,Pq,fb; + G4double k1=0.3125; + G4double k2=2.426311e-02; + Pa=(Z-k1)*fine_structure_const; + Pg=sqrt(1-pow(Pa,2)); + Pq=k2*x/Pa; + fb=sin(2*Pg*atan(Pq))/(Pg*Pq*pow((1+Pq*Pq),Pg)); + fa=G4std::max(fa,fb); + } + if (stechiometric) + { + gradx1=gradx1+stechiometric[i]*(fa*fa); //sum on the molecule + } + else + { + gradx1=gradx1+(vector_of_atoms[i]/tot_atoms)*(fa*fa); //weighted mean + } + } + return gradx1; +} + + +G4double G4PenelopeRayleigh::DifferentialCrossSection(G4double x) +{ + G4double x2=facte*(1-x); + G4double gradx = (1+x*x)*MolecularFormFactor(x2); + return gradx; +} + + diff --git a/source/processes/electromagnetic/lowenergy/src/G4QAOLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4QAOLowEnergyLoss.cc index 4a7b528876..363cef9b93 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4QAOLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4QAOLowEnergyLoss.cc @@ -54,8 +54,6 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4QAOLowEnergyLoss.hh" -#include "PhysicalConstants.h" -#include "SystemOfUnits.h" #include "G4DynamicParticle.hh" #include "G4Material.hh" #include "G4ParticleDefinition.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc b/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc index 0d8676fa43..1310b853c4 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc @@ -21,34 +21,42 @@ // ******************************************************************** // // -// $Id: G4RangeTest.cc,v 1.5 2002/05/28 09:20:21 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RangeTest.cc,v 1.6 2003/01/22 18:47:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // // History: // ----------- // 05 Oct 2001 MGP Created +// 21 Jan 2003 VI Cut per region // // ------------------------------------------------------------------- #include "G4RangeTest.hh" #include "G4ParticleDefinition.hh" -#include "G4Material.hh" +#include "G4MaterialCutsCouple.hh" #include "G4EnergyLossTables.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" G4RangeTest::~G4RangeTest() { } -G4bool G4RangeTest::Escape(const G4ParticleDefinition* particle, - const G4Material* material, - G4double energy, +G4bool G4RangeTest::Escape(const G4ParticleDefinition* particle, + const G4MaterialCutsCouple* couple, + G4double energy, G4double safety) const { - G4double range = G4EnergyLossTables::GetRange(particle,energy,material); - G4double cut = particle->GetRangeThreshold(material); - G4double rMin = G4std::min(cut,safety); - G4bool value = (range > rMin); - + G4bool value = true; + size_t idx = 0; + if(particle == G4Electron::Electron()) idx = 1; + else if(particle == G4Positron::Positron()) idx = 2; + if(idx>0) { + G4double range = G4EnergyLossTables::GetRange(particle,energy,couple); + G4double cut = couple->GetProductionCuts()->GetProductionCut(idx); + G4double rMin = G4std::min(cut,safety); + value = (range > rMin); + } return value; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc index 2c82463e30..68474efff5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc @@ -22,7 +22,7 @@ // // // $Id: G4SemiLogInterpolation.cc,v 1.4 2002/05/28 09:20:21 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc b/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc index aab9f0f17e..91dd6b87ab 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc @@ -22,7 +22,7 @@ // // // $Id: G4ShellData.cc,v 1.5 2002/05/28 09:20:21 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc index 7e15121798..8cef5408c1 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc @@ -22,7 +22,7 @@ // // // $Id: G4ShellEMDataSet.cc,v 1.8 2002/05/28 09:20:21 pia Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4ShellVacancy.cc b/source/processes/electromagnetic/lowenergy/src/G4ShellVacancy.cc index a96a7f200a..82215006bc 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ShellVacancy.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4ShellVacancy.cc @@ -22,18 +22,19 @@ // // // $Id: G4ShellVacancy.cc -// GEANT4 tag $Name: +// GEANT4 tag $Name: // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // // History: // ----------- // 21 Sept 2001 Elena Guardincerri Created -// 25 Mar 2002 V.Ivanchenko Change AverageNOfIonisations int->double +// 25 Mar 2002 V.Ivanchenko Change AverageNOfIonisations int->double // // ------------------------------------------------------------------- #include "G4ShellVacancy.hh" +#include "G4MaterialCutsCouple.hh" #include "G4Material.hh" #include "G4Poisson.hh" #include "G4VEMDataSet.hh" @@ -44,13 +45,13 @@ G4ShellVacancy::G4ShellVacancy() G4ShellVacancy::~G4ShellVacancy() -{ +{ G4int size = xsis.size(); for (G4int k =0; k G4ShellVacancy::GenerateNumberOfIonisations(const G4Material* - material, - G4double - incidentEnergy, +G4std::vector G4ShellVacancy::GenerateNumberOfIonisations(const G4MaterialCutsCouple* + couple, + G4double + incidentEnergy, G4double eLoss) const -{ - G4std::vector numberOfIonisations; - +{ + G4std::vector numberOfIonisations; + const G4Material* material = couple->GetMaterial(); G4int numberOfElements = material->GetNumberOfElements(); for (G4int i = 0; i G4ShellVacancy::GenerateNumberOfIonisations(const G4Materia } numberOfIonisations.push_back(ionisations); - + } - return numberOfIonisations; + return numberOfIonisations; } -G4double G4ShellVacancy::AverageNOfIonisations(const G4Material* material, - G4int index, +G4double G4ShellVacancy::AverageNOfIonisations(const G4MaterialCutsCouple* couple, + G4int index, G4double energy, G4double eLoss) const { // G4int indexOfElementInMaterial= -1; - + G4double averageEnergy = energy - eLoss/2.; - - size_t indexInMaterialTable = material->GetIndex(); + + size_t indexInMaterialTable = couple->GetIndex(); G4VEMDataSet* aSetOfXsi = xsis[indexInMaterialTable]; - G4double aXsi = aSetOfXsi->FindValue(averageEnergy,index); - - return aXsi * eLoss; + G4double aXsi = aSetOfXsi->FindValue(averageEnergy,index); + + return aXsi * eLoss; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc index 461cc34382..0972a0a7f9 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VCrossSectionHandler.cc,v 1.11 2002/07/30 10:06:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VCrossSectionHandler.cc,v 1.12 2003/01/22 18:47:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // @@ -32,6 +32,7 @@ // 09 Oct 2001 VI Add FindValue with 3 parameters // + NumberOfComponents // 19 Jul 2002 VI Create composite data set for material +// 21 Jan 2003 VI Cut per region // // ------------------------------------------------------------------- @@ -42,10 +43,10 @@ #include "G4EMDataSet.hh" #include "G4CompositeEMDataSet.hh" #include "G4ShellEMDataSet.hh" -#include "G4MaterialTable.hh" +#include "G4ProductionCutsTable.hh" #include "G4Material.hh" #include "G4Element.hh" -#include "Randomize.hh" +#include "Randomize.hh" #include "g4std/map" #include "g4std/vector" #include "g4std/fstream" @@ -62,10 +63,10 @@ G4VCrossSectionHandler::G4VCrossSectionHandler() G4VCrossSectionHandler::G4VCrossSectionHandler(G4VDataSetAlgorithm* algorithm, - G4double minE, - G4double maxE, + G4double minE, + G4double maxE, G4int bins, - G4double unitE, + G4double unitE, G4double unitData, G4int minZ, G4int maxZ) @@ -234,7 +235,7 @@ void G4VCrossSectionHandler::LoadShellData(const G4String& fileName) char nameChar[100] = {""}; G4std::ostrstream ost(nameChar, 100, G4std::ios::out); - + ost << fileName << Z << ".dat"; G4String name(nameChar); @@ -306,7 +307,7 @@ void G4VCrossSectionHandler::Clear() for (pos = dataMap.begin(); pos != dataMap.end(); ++pos) { // The following is a workaround for STL ObjectSpace implementation, - // which does not support the standard and does not accept + // which does not support the standard and does not accept // the syntax pos->first or pos->second // G4VEMDataSet* dataSet = pos->second; G4VEMDataSet* dataSet = (*pos).second; @@ -349,7 +350,7 @@ G4double G4VCrossSectionHandler::FindValue(G4int Z, G4double energy, G4int shellIndex) const { G4double value = 0.; - + G4std::map >::const_iterator pos; pos = dataMap.find(Z); if (pos!= dataMap.end()) @@ -385,17 +386,17 @@ G4double G4VCrossSectionHandler::FindValue(G4int Z, G4double energy, } -G4double G4VCrossSectionHandler::ValueForMaterial(const G4Material* material, +G4double G4VCrossSectionHandler::ValueForMaterial(const G4Material* material, G4double energy) const { G4double value = 0.; const G4ElementVector* elementVector = material->GetElementVector(); - const G4double* nAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); + const G4double* nAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4int nElements = material->GetNumberOfElements(); for (G4int i=0 ; iGetZ(); G4double elementValue = FindValue(Z,energy); G4double nAtomsVol = nAtomsPerVolume[i]; @@ -406,7 +407,7 @@ G4double G4VCrossSectionHandler::ValueForMaterial(const G4Material* material, } -G4VEMDataSet* G4VCrossSectionHandler::BuildMeanFreePathForMaterials(const G4DataVector* energyCuts) +G4VEMDataSet* G4VCrossSectionHandler::BuildMeanFreePathForMaterials(const G4DataVector* energyCuts) { // Builds a CompositeDataSet containing the mean free path for each material // in the material table @@ -414,13 +415,13 @@ G4VEMDataSet* G4VCrossSectionHandler::BuildMeanFreePathForMaterials(const G4Data G4DataVector energyVector; G4double dBin = log10(eMax/eMin) / nBins; - for (G4int i=0; iGetTableSize(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); - for (size_t m=0; mGetMaterial(); G4int nElements = material->GetNumberOfElements(); // Special case: the material consists of one element - if (nElements == 1) + if (nElements == 1) { G4int Z = (G4int) material->GetZ(); return Z; @@ -501,66 +507,67 @@ G4int G4VCrossSectionHandler::SelectRandomAtom(const G4Material* material, G4dou // Composite material const G4ElementVector* elementVector = material->GetElementVector(); - size_t materialIndex = material->GetIndex(); + size_t materialIndex = couple->GetIndex(); G4VEMDataSet* materialSet = (*crossSections)[materialIndex]; G4double materialCrossSection0 = 0.0; G4DataVector cross; cross.clear(); - for ( G4int i=0; i < nElements; i++ ) + for ( G4int i=0; i < nElements; i++ ) { G4double cr = materialSet->GetComponent(i)->FindValue(e); materialCrossSection0 += cr; cross.push_back(materialCrossSection0); - } + } G4double random = G4UniformRand() * materialCrossSection0; for (G4int k=0 ; k < nElements ; k++ ) - { + { if (random <= cross[k]) return (G4int) (*elementVector)[k]->GetZ(); } // It should never get here return 0; } -const G4Element* G4VCrossSectionHandler::SelectRandomElement(const G4Material* material, +const G4Element* G4VCrossSectionHandler::SelectRandomElement(const G4MaterialCutsCouple* couple, G4double e) const { // Select randomly an element within the material, according to the weight determined // by the cross sections in the data set + const G4Material* material = couple->GetMaterial(); G4Element* nullElement = 0; G4int nElements = material->GetNumberOfElements(); const G4ElementVector* elementVector = material->GetElementVector(); // Special case: the material consists of one element - if (nElements == 1) + if (nElements == 1) { G4Element* element = (*elementVector)[0]; return element; } else { - // Composite material + // Composite material - size_t materialIndex = material->GetIndex(); + size_t materialIndex = couple->GetIndex(); G4VEMDataSet* materialSet = (*crossSections)[materialIndex]; G4double materialCrossSection0 = 0.0; G4DataVector cross; cross.clear(); - for (G4int i=0; iGetComponent(i)->FindValue(e); materialCrossSection0 += cr; cross.push_back(materialCrossSection0); - } + } G4double random = G4UniformRand() * materialCrossSection0; for (G4int k=0 ; k < nElements ; k++ ) - { + { if (random <= cross[k]) return (*elementVector)[k]; } // It should never end up here @@ -586,8 +593,8 @@ G4int G4VCrossSectionHandler::SelectRandomShell(G4int Z, G4double e) const G4VEMDataSet* dataSet = 0; G4std::map >::const_iterator pos; pos = dataMap.find(Z); - // The following is a workaround for STL ObjectSpace implementation, - // which does not support the standard and does not accept + // The following is a workaround for STL ObjectSpace implementation, + // which does not support the standard and does not accept // the syntax pos->first or pos->second // if (pos != dataMap.end()) dataSet = pos->second; if (pos != dataMap.end()) dataSet = (*pos).second; @@ -612,20 +619,20 @@ void G4VCrossSectionHandler::ActiveElements() const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); if (materialTable == 0) G4Exception("G4VCrossSectionHandler::ActiveElements - no MaterialTable found)"); - + G4int nMaterials = G4Material::GetNumberOfMaterials(); - + for (G4int m=0; mGetElementVector(); const G4int nElements = material->GetNumberOfElements(); - + for (G4int iEl=0; iElGetZ(); - if (!(activeZ.contains(Z)) && Z >= zMin && Z <= zMax) + if (!(activeZ.contains(Z)) && Z >= zMin && Z <= zMax) { activeZ.push_back(Z); } @@ -642,7 +649,7 @@ G4VDataSetAlgorithm* G4VCrossSectionHandler::CreateInterpolation() G4int G4VCrossSectionHandler::NumberOfComponents(G4int Z) const { G4int n = 0; - + G4std::map >::const_iterator pos; pos = dataMap.find(Z); if (pos!= dataMap.end()) diff --git a/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc index 9398442321..3484a83bba 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc @@ -21,12 +21,12 @@ // ******************************************************************** // // -// $Id: G4VeLowEnergyLoss.cc,v 1.18 2002/09/09 08:54:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VeLowEnergyLoss.cc,v 1.21 2003/04/24 11:24:16 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// // -------------------------------------------------------------- -// GEANT 4 class implementation file +// GEANT 4 class implementation file // // History: first implementation, based on object model of // 2nd December 1995, G.Cosmo @@ -38,16 +38,20 @@ // 10/05/01 V.Ivanchenko Clean up againist Linux compilation with -Wall // 22/05/01 V.Ivanchenko Update range calculation // 23/11/01 V.Ivanchenko Move static member-functions from header to source +// 22/01/03 V.Ivanchenko Cut per region +// 11/02/03 V.Ivanchenko Add limits to fluctuations +// 24/04/03 V.Ivanchenko Fix the problem of table size // // -------------------------------------------------------------- #include "G4VeLowEnergyLoss.hh" +#include "G4ProductionCutsTable.hh" -G4double G4VeLowEnergyLoss::ParticleMass ; -G4double G4VeLowEnergyLoss::taulow ; -G4double G4VeLowEnergyLoss::tauhigh ; -G4double G4VeLowEnergyLoss::ltaulow ; -G4double G4VeLowEnergyLoss::ltauhigh ; +G4double G4VeLowEnergyLoss::ParticleMass ; +G4double G4VeLowEnergyLoss::taulow ; +G4double G4VeLowEnergyLoss::tauhigh ; +G4double G4VeLowEnergyLoss::ltaulow ; +G4double G4VeLowEnergyLoss::ltauhigh ; G4bool G4VeLowEnergyLoss::rndmStepFlag = false; @@ -59,7 +63,7 @@ G4double G4VeLowEnergyLoss::c2lim = 2.*(1.-dRoverRange)*finalRange ; G4double G4VeLowEnergyLoss::c3lim = -(1.-dRoverRange)*finalRange*finalRange; -// +// G4VeLowEnergyLoss::G4VeLowEnergyLoss() :G4VContinuousDiscreteProcess("No Name Loss Process"), @@ -70,7 +74,7 @@ G4VeLowEnergyLoss::G4VeLowEnergyLoss() G4Exception("G4VeLowEnergyLoss:: default constructor is called"); } -// +// G4VeLowEnergyLoss::G4VeLowEnergyLoss(const G4String& aName , G4ProcessType aType) : G4VContinuousDiscreteProcess(aName, aType), @@ -80,13 +84,13 @@ G4VeLowEnergyLoss::G4VeLowEnergyLoss(const G4String& aName , G4ProcessType aType { } -// +// G4VeLowEnergyLoss::~G4VeLowEnergyLoss() { } -// +// G4VeLowEnergyLoss::G4VeLowEnergyLoss(G4VeLowEnergyLoss& right) : G4VContinuousDiscreteProcess(right), @@ -96,19 +100,19 @@ G4VeLowEnergyLoss::G4VeLowEnergyLoss(G4VeLowEnergyLoss& right) { } -void G4VeLowEnergyLoss::SetRndmStep(G4bool value) +void G4VeLowEnergyLoss::SetRndmStep(G4bool value) { rndmStepFlag = value; } -void G4VeLowEnergyLoss::SetEnlossFluc(G4bool value) +void G4VeLowEnergyLoss::SetEnlossFluc(G4bool value) { EnlossFlucFlag = value; } void G4VeLowEnergyLoss::SetStepFunction (G4double c1, G4double c2) { - dRoverRange = c1; + dRoverRange = c1; finalRange = c2; c1lim=dRoverRange; c2lim=2.*(1-dRoverRange)*finalRange; @@ -116,22 +120,22 @@ void G4VeLowEnergyLoss::SetStepFunction (G4double c1, G4double c2) } G4PhysicsTable* G4VeLowEnergyLoss::BuildRangeTable( - G4PhysicsTable* theDEDXTable,G4PhysicsTable* theRangeTable, + G4PhysicsTable* theDEDXTable,G4PhysicsTable* theRangeTable, G4double lowestKineticEnergy,G4double highestKineticEnergy, G4int TotBin) // Build range table from the energy loss table { - - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + + G4int numOfCouples = theDEDXTable->length(); if(theRangeTable) { theRangeTable->clearAndDestroy(); delete theRangeTable; } - theRangeTable = new G4PhysicsTable(numOfMaterials); + theRangeTable = new G4PhysicsTable(numOfCouples); // loop for materials - for (G4int J=0; Jinsert(aVector); } return theRangeTable ; -} +} -// +// void G4VeLowEnergyLoss::BuildRangeVector(G4PhysicsTable* theDEDXTable, G4double lowestKineticEnergy, @@ -179,9 +183,9 @@ void G4VeLowEnergyLoss::BuildRangeVector(G4PhysicsTable* theDEDXTable, dedx = dedx1 ; energy1 = energy2 ; } -} +} -// +// G4double G4VeLowEnergyLoss::RangeIntLin(G4PhysicsVector* physicsVector, G4int nbin) @@ -212,7 +216,7 @@ G4double G4VeLowEnergyLoss::RangeIntLin(G4PhysicsVector* physicsVector, return Value; } -// +// G4double G4VeLowEnergyLoss::RangeIntLog(G4PhysicsVector* physicsVector, G4int nbin) @@ -246,24 +250,24 @@ G4double G4VeLowEnergyLoss::RangeIntLog(G4PhysicsVector* physicsVector, } -// +// G4PhysicsTable* G4VeLowEnergyLoss::BuildLabTimeTable(G4PhysicsTable* theDEDXTable, G4PhysicsTable* theLabTimeTable, G4double lowestKineticEnergy, G4double highestKineticEnergy,G4int TotBin) - + { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + G4int numOfCouples = G4ProductionCutsTable::GetProductionCutsTable()->GetTableSize(); + if(theLabTimeTable) { theLabTimeTable->clearAndDestroy(); delete theLabTimeTable; } - theLabTimeTable = new G4PhysicsTable(numOfMaterials); + theLabTimeTable = new G4PhysicsTable(numOfCouples); - for (G4int J=0; JGetTableSize(); if(theProperTimeTable) { theProperTimeTable->clearAndDestroy(); delete theProperTimeTable; } - theProperTimeTable = new G4PhysicsTable(numOfMaterials); + theProperTimeTable = new G4PhysicsTable(numOfCouples); - for (G4int J=0; JGetTableSize(); if(theInverseRangeTable) { theInverseRangeTable->clearAndDestroy(); delete theInverseRangeTable; } - theInverseRangeTable = new G4PhysicsTable(numOfMaterials); + theInverseRangeTable = new G4PhysicsTable(numOfCouples); // loop for materials - for (G4int i=0; iGetLowEdgeEnergy(ihigh); - range2 = pv->GetValue(energy2, b); + range2 = pv->GetValue(energy2, b); if(range2 >= range || ihigh == nbins-1) { ilow = ihigh - 1; energy1 = pv->GetLowEdgeEnergy(ilow); @@ -634,12 +638,12 @@ G4PhysicsTable* G4VeLowEnergyLoss::BuildRangeCoeffATable(G4PhysicsTable* theRang // create table for coefficients "A" { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4int numOfCouples = G4ProductionCutsTable::GetProductionCutsTable()->GetTableSize(); if(theRangeCoeffATable) { theRangeCoeffATable->clearAndDestroy(); delete theRangeCoeffATable; } - theRangeCoeffATable = new G4PhysicsTable(numOfMaterials); + theRangeCoeffATable = new G4PhysicsTable(numOfCouples); G4double RTable = exp(log(highestKineticEnergy/lowestKineticEnergy)/TotBin) ; G4double R2 = RTable*RTable ; @@ -650,7 +654,7 @@ G4PhysicsTable* G4VeLowEnergyLoss::BuildRangeCoeffATable(G4PhysicsTable* theRang G4bool isOut; // loop for materials - for (G4int J=0; JGetTableSize(); if(theRangeCoeffBTable) { theRangeCoeffBTable->clearAndDestroy(); delete theRangeCoeffBTable; } - theRangeCoeffBTable = new G4PhysicsTable(numOfMaterials); + theRangeCoeffBTable = new G4PhysicsTable(numOfCouples); G4double RTable = exp(log(highestKineticEnergy/lowestKineticEnergy)/TotBin) ; G4double R2 = RTable*RTable ; @@ -712,7 +716,7 @@ G4PhysicsTable* G4VeLowEnergyLoss::BuildRangeCoeffBTable(G4PhysicsTable* theRang G4bool isOut; // loop for materials - for (G4int J=0; JGetTableSize(); if(theRangeCoeffCTable) { theRangeCoeffCTable->clearAndDestroy(); delete theRangeCoeffCTable; } - theRangeCoeffCTable = new G4PhysicsTable(numOfMaterials); + theRangeCoeffCTable = new G4PhysicsTable(numOfCouples); G4double RTable = exp(log(highestKineticEnergy/lowestKineticEnergy)/TotBin) ; G4double R2 = RTable*RTable ; @@ -773,7 +777,7 @@ G4PhysicsTable* G4VeLowEnergyLoss::BuildRangeCoeffCTable(G4PhysicsTable* theRang G4bool isOut; // loop for materials - for (G4int J=0; JGetMaterial(); // check if the material has changed ( cache mechanism) if (aMaterial != lastMaterial) { lastMaterial = aMaterial; - imat = aMaterial->GetIndex(); + imat = couple->GetIndex(); f1Fluct = aMaterial->GetIonisation()->GetF1fluct(); f2Fluct = aMaterial->GetIonisation()->GetF2fluct(); e1Fluct = aMaterial->GetIonisation()->GetEnergy1fluct(); @@ -851,7 +855,7 @@ G4double G4VeLowEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, G4double dp3; G4double siga ; - // shortcut for very very small loss + // shortcut for very very small loss if(MeanLoss < minLoss) return MeanLoss ; // get particle data @@ -859,67 +863,60 @@ G4double G4VeLowEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, // G4cout << "MGP -- Fluc Tkin " << Tkin/keV << " keV " << " MeanLoss = " << MeanLoss/keV << G4endl; - threshold = G4Electron::Electron()->GetEnergyThreshold(aMaterial); + threshold = (*((G4ProductionCutsTable::GetProductionCutsTable()) + ->GetEnergyCutsVector(1)))[imat]; G4double rmass = electron_mass_c2/ParticleMass; G4double tau = Tkin/ParticleMass, tau1 = tau+1., tau2 = tau*(tau+2.); G4double Tm = 2.*electron_mass_c2*tau2/(1.+2.*tau1*rmass+rmass*rmass); // G4cout << "MGP Particle mass " << ParticleMass/MeV << " Tm " << Tm << G4endl; - if (Tm <= ipotFluct) Tm = ipotFluct ; - if(Tm > threshold) Tm = threshold; beta2 = tau2/(tau1*tau1); // Gaussian fluctuation ? - if(MeanLoss >= kappa*Tm) + if(MeanLoss >= kappa*Tm || MeanLoss <= kappa*ipotFluct) { G4double electronDensity = aMaterial->GetElectronDensity() ; siga = sqrt(Tm*(1.0-0.5*beta2)*step* factor*electronDensity/beta2) ; - loss = G4RandGauss::shoot(MeanLoss,siga) ; - if(loss < 0.) loss = 0. ; + do { + loss = G4RandGauss::shoot(MeanLoss,siga) ; + } while (loss < 0. || loss > 2.0*MeanLoss); return loss ; } w1 = Tm/ipotFluct; w2 = log(2.*electron_mass_c2*tau2); - + C = MeanLoss*(1.-rateFluct)/(w2-ipotLogFluct-beta2); - + a1 = C*f1Fluct*(w2-e1LogFluct-beta2)/e1Fluct; a2 = C*f2Fluct*(w2-e2LogFluct-beta2)/e2Fluct; - if(Tm > ipotFluct) - a3 = rateFluct*MeanLoss*(Tm-ipotFluct)/(ipotFluct*Tm*log(w1)); - else - { - a1 /= 1.-rateFluct ; - a2 /= 1.-rateFluct ; - a3 = 0. ; - } - + a3 = rateFluct*MeanLoss*(Tm-ipotFluct)/(ipotFluct*Tm*log(w1)); + suma = a1+a2+a3; - + loss = 0. ; - + if(suma < sumaLim) // very small Step { e0 = aMaterial->GetIonisation()->GetEnergy0fluct(); // G4cout << "MGP e0 = " << e0/keV << G4endl; - + if(Tm == ipotFluct) { a3 = MeanLoss/e0; - + if(a3>alim) { siga=sqrt(a3) ; p3 = G4std::max(0,G4int(G4RandGauss::shoot(a3,siga)+0.5)); } else p3 = G4Poisson(a3); - + loss = p3*e0 ; - + if(p3 > 0) loss += (1.-2.*G4UniformRand())*e0 ; // G4cout << "MGP very small step " << loss/keV << G4endl; } @@ -929,8 +926,8 @@ G4double G4VeLowEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, Tm = Tm-ipotFluct+e0 ; // MGP ---- workaround to avoid log argument<0, TO BE CHECKED - if (Tm <= 0.) - { + if (Tm <= 0.) + { loss = MeanLoss; p3 = 0; // G4cout << "MGP correction loss = MeanLoss " << loss/keV << G4endl; @@ -971,7 +968,7 @@ G4double G4VeLowEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, } } } - + else // not so small Step { // excitation type 1 diff --git a/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc b/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc index 42fec84d94..5dce4e4866 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4eBremsstrahlungSpectrum.cc,v 1.7 2002/05/30 17:53:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eBremsstrahlungSpectrum.cc,v 1.9 2003/02/28 08:42:18 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // @@ -31,14 +31,16 @@ // File name: G4eBremsstrahlungSpectrum // // Author: V.Ivanchenko (Vladimir.Ivanchenko@cern.ch) -// +// // Creation date: 29 September 2001 // -// Modifications: +// Modifications: // 10.10.01 MGP Revision to improve code quality and consistency with design // 15.11.01 VI Update spectrum model Bethe-Haitler spectrum at high energy // 30.05.02 VI Update interpolation between 2 last energy points in the // parametrisation +// 21.02.03 V.Ivanchenko Energy bins are defined in the constructor +// 28.02.03 V.Ivanchenko Filename is defined in the constructor // // ------------------------------------------------------------------- @@ -47,36 +49,27 @@ #include "Randomize.hh" -G4eBremsstrahlungSpectrum::G4eBremsstrahlungSpectrum(): - G4VEnergySpectrum(), +G4eBremsstrahlungSpectrum::G4eBremsstrahlungSpectrum(const G4DataVector& bins, + const G4String& name):G4VEnergySpectrum(), lowestE(0.1*eV), - length(15) + xp(bins) { - theBRparam = new G4BremsstrahlungParameters(); - xp.clear(); - for(size_t i=0; iParameter(i, Z, e)); } - + G4double x = IntSpectrum(t0, tm, p); - G4double y = IntSpectrum(z, 1.0, p); + G4double y = IntSpectrum(z, 1.0, p); if(1 < verbose) { - G4cout << "tcut(MeV)= " << tmin/MeV - << "; tMax(MeV)= " << tmax/MeV - << "; t0= " << t0 - << "; tm= " << tm + G4cout << "tcut(MeV)= " << tmin/MeV + << "; tMax(MeV)= " << tmax/MeV + << "; t0= " << t0 + << "; tm= " << tm << "; xp[0]= " << xp[0] - << "; z= " << z - << "; val= " << x - << "; nor= " << y + << "; z= " << z + << "; val= " << x + << "; nor= " << y << G4endl; } p.clear(); @@ -117,13 +110,13 @@ G4double G4eBremsstrahlungSpectrum::Probability(G4int Z, else x = 0.0; // if(x < 0.0) x = 0.0; - return x; + return x; } G4double G4eBremsstrahlungSpectrum::AverageEnergy(G4int Z, - G4double tmin, - G4double tmax, + G4double tmin, + G4double tmax, G4double e, G4int, const G4ParticleDefinition*) const @@ -153,16 +146,16 @@ G4double G4eBremsstrahlungSpectrum::AverageEnergy(G4int Z, G4double f = Function(z0, p); x += 0.5*f*z0*(z0 - c*atan(z0/c)); - x *= e; + x *= e; if(1 < verbose) { - G4cout << "tcut(MeV)= " << tmin/MeV - << "; tMax(MeV)= " << tmax/MeV - << "; e(MeV)= " << e/MeV - << "; t0= " << t0 - << "; tm= " << tm + G4cout << "tcut(MeV)= " << tmin/MeV + << "; tMax(MeV)= " << tmax/MeV + << "; e(MeV)= " << e/MeV + << "; t0= " << t0 + << "; tm= " << tm << "; y= " << y - << "; x= " << x + << "; x= " << x << G4endl; } p.clear(); @@ -171,13 +164,13 @@ G4double G4eBremsstrahlungSpectrum::AverageEnergy(G4int Z, else x = 0.0; // if(x < 0.0) x = 0.0; - return x; + return x; } G4double G4eBremsstrahlungSpectrum::SampleEnergy(G4int Z, - G4double tmin, - G4double tmax, + G4double tmin, + G4double tmax, G4double e, G4int, const G4ParticleDefinition*) const @@ -194,7 +187,7 @@ G4double G4eBremsstrahlungSpectrum::SampleEnergy(G4int Z, for (size_t i=0; i<=length; i++) { p.push_back(theBRparam->Parameter(i, Z, e)); } - G4double amaj = G4std::max(p[15], 1. - (p[1] - p[0])/9.); + G4double amaj = G4std::max(p[length], 1. - (p[1] - p[0])*xp[0]/(xp[1] - xp[0]) ); G4double amax = log(tm); G4double amin = log(t0); @@ -206,8 +199,8 @@ G4double G4eBremsstrahlungSpectrum::SampleEnergy(G4int Z, fun = Function(tgam, p); if(fun > amaj) { - G4cout << "WARNING in G4eBremsstrahlungSpectrum::SampleEnergy:" - << " Majoranta " << amaj + G4cout << "WARNING in G4eBremsstrahlungSpectrum::SampleEnergy:" + << " Majoranta " << amaj << " < " << fun << G4endl; } @@ -219,19 +212,19 @@ G4double G4eBremsstrahlungSpectrum::SampleEnergy(G4int Z, p.clear(); - return tgam; + return tgam; } -G4double G4eBremsstrahlungSpectrum::IntSpectrum(G4double xMin, +G4double G4eBremsstrahlungSpectrum::IntSpectrum(G4double xMin, G4double xMax, const G4DataVector& p) const { G4double x1 = G4std::min(xMin, xp[0]); G4double x2 = G4std::min(xMax, xp[0]); G4double sum = 0.0; - + if(x1 < x2) { - G4double k = (p[1] - p[0])/0.09; + G4double k = (p[1] - p[0])/(xp[1] - xp[0]); sum += (1. - k*xp[0])*log(x2/x1) + k*(x2 - x1); } @@ -248,7 +241,7 @@ G4double G4eBremsstrahlungSpectrum::IntSpectrum(G4double xMin, return sum; } -G4double G4eBremsstrahlungSpectrum::AverageValue(G4double xMin, +G4double G4eBremsstrahlungSpectrum::AverageValue(G4double xMin, G4double xMax, const G4DataVector& p) const { @@ -257,9 +250,9 @@ G4double G4eBremsstrahlungSpectrum::AverageValue(G4double xMin, G4double z1 = x1; G4double z2 = x2; G4double sum = 0.0; - + if(x1 < x2) { - G4double k = (p[1] - p[0])/0.09; + G4double k = (p[1] - p[0])/(xp[1] - xp[0]); sum += (z2 - z1)*(1. - k*xp[0]); z1 *= x1; z2 *= x2; @@ -277,15 +270,15 @@ G4double G4eBremsstrahlungSpectrum::AverageValue(G4double xMin, } if(sum < 0.0) sum = 0.0; return sum; -} - -G4double G4eBremsstrahlungSpectrum::Function(G4double x, +} + +G4double G4eBremsstrahlungSpectrum::Function(G4double x, const G4DataVector& p) const { G4double f = 0.0; - + if(x <= xp[0]) { - f = 1. + (p[1] - p[0])*(x - xp[0])/0.09; + f = 1. + (p[1] - p[0])*(x - xp[0])/(xp[1] - xp[0]); } else { @@ -298,7 +291,7 @@ G4double G4eBremsstrahlungSpectrum::Function(G4double x, } } return f; -} +} void G4eBremsstrahlungSpectrum::PrintData() const { theBRparam->PrintData(); } @@ -311,6 +304,6 @@ G4double G4eBremsstrahlungSpectrum::Excitation(G4int Z, G4double kineticEnergy) G4double G4eBremsstrahlungSpectrum::MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z, const G4ParticleDefinition*) const -{ - return kineticEnergy; +{ + return kineticEnergy; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc index 0e876a68ef..4911cdec04 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4eIonisationCrossSectionHandler.cc,v 1.8 2002/07/19 17:32:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eIonisationCrossSectionHandler.cc,v 1.9 2003/01/22 18:47:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // @@ -35,8 +35,9 @@ // Creation date: 25 Sept 2001 // // Modifications: -// 10 Oct 2001 M.G. Pia Revision to improve code quality and consistency with design -// 19 Jul 2002 VI Create composite data set for material +// 10 Oct 2001 M.G. Pia Revision to improve code quality and consistency with design +// 19 Jul 2002 VI Create composite data set for material +// 21 Jan 2003 V.Ivanchenko Cut per region // // ------------------------------------------------------------------- @@ -50,11 +51,11 @@ #include "G4VEMDataSet.hh" #include "G4EMDataSet.hh" #include "G4Material.hh" -#include "G4MaterialTable.hh" +#include "G4ProductionCutsTable.hh" G4eIonisationCrossSectionHandler::G4eIonisationCrossSectionHandler( - const G4VEnergySpectrum* spec, G4VDataSetAlgorithm* alg, + const G4VEnergySpectrum* spec, G4VDataSetAlgorithm* alg, G4double emin, G4double emax, G4int nbin) : G4VCrossSectionHandler(), theParam(spec) @@ -64,15 +65,15 @@ G4eIonisationCrossSectionHandler::G4eIonisationCrossSectionHandler( } -G4eIonisationCrossSectionHandler::~G4eIonisationCrossSectionHandler() +G4eIonisationCrossSectionHandler::~G4eIonisationCrossSectionHandler() { delete interp; } G4std::vector* G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials( - const G4DataVector& energyVector, - const G4DataVector* energyCuts) + const G4DataVector& energyVector, + const G4DataVector* energyCuts) { G4int verbose = 0; G4std::vector* set = new G4std::vector; @@ -81,33 +82,31 @@ G4std::vector* G4eIonisationCrossSectionHandler::BuildCrossSectio G4DataVector* cs; G4int nOfBins = energyVector.size(); - const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); - if (materialTable == 0) - G4Exception("G4VCrossSectionHandler::G4VCrossSectionHandler - no MaterialTable found)"); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - G4int nMaterials = G4Material::GetNumberOfMaterials(); + for (size_t m=0; mGetMaterialCutsCouple(m); + const G4Material* material= couple->GetMaterial(); const G4ElementVector* elementVector = material->GetElementVector(); - //const G4double* nAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); const G4double* nAtomsPerVolume = material->GetAtomicNumDensityVector(); G4int nElements = material->GetNumberOfElements(); if(verbose > 0) { - G4cout << "eIonisation CS for " << m << "th material " - << material->GetName() - << " eEl= " << nElements << G4endl; + G4cout << "eIonisation CS for " << m << "th material " + << material->GetName() + << " eEl= " << nElements << G4endl; } G4double tcut = (*energyCuts)[m]; - + G4VDataSetAlgorithm* algo = interp->Clone(); G4VEMDataSet* setForMat = new G4CompositeEMDataSet(algo,1.,1.); for (G4int i=0; iGetZ(); G4int nShells = NumberOfComponents(Z); energies = new G4DataVector; @@ -123,10 +122,10 @@ G4std::vector* G4eIonisationCrossSectionHandler::BuildCrossSectio if(e > tcut) { for (G4int n=0; nProbability(Z, tcut, e, e, n); + G4double p = theParam->Probability(Z, tcut, e, e, n); value += cross * p * density; - - if(verbose>0 && m == 0 && e>=1. && e<=0.) { + + if(verbose>0 && m == 0 && e>=1. && e<=0.) { G4cout << "G4eIonCrossSH: e(MeV)= " << e/MeV << " n= " << n << " cross= " << cross @@ -137,18 +136,18 @@ G4std::vector* G4eIonisationCrossSectionHandler::BuildCrossSectio << " Z= " << Z << G4endl; } - + } } cs->push_back(value); - } + } G4VDataSetAlgorithm* algo = interp->Clone(); G4VEMDataSet* elSet = new G4EMDataSet(i,energies,cs,algo,1.,1.); setForMat->AddComponent(elSet); } set->push_back(setForMat); } - + return set; } diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc index 296d43510d..3cf25ff16c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4eIonisationParameters.cc,v 1.19 2002/05/30 17:53:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc index 5d4f1976d5..f8b7882d9f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4eIonisationSpectrum.cc,v 1.20 2002/07/19 17:32:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc index 0c316fc86d..60a7683cd1 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eLowEnergyLoss.cc,v 1.29 2002/10/28 09:43:51 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eLowEnergyLoss.cc,v 1.30 2003/01/22 18:47:29 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------- // GEANT 4 class implementation file @@ -42,7 +42,7 @@ // 08-09-98: cleanup // 24-09-98: rndmStepFlag false by default (no randomization of the step) // 14-10-98: messenger file added. -// 16-10-98: public method SetStepFunction() +// 16-10-98: public method SetStepFunction() // 20-01-99: important correction in AlongStepDoIt , L.Urban // 10/02/00 modifications , new e.m. structure, L.Urban // 11/04/00: Bug fix in dE/dx fluctuation simulation, Veronique Lefebure @@ -52,19 +52,21 @@ // 18/10/01 Revision to improve code quality and consistency with design, MGP // 19/10/01 update according to new design, V.Ivanchenko // 24/10/01 MGP - Protection against negative energy loss in AlongStepDoIt -// 26/10/01 VI Clean up access to deexcitation +// 26/10/01 VI Clean up access to deexcitation // 23/11/01 VI Move static member-functions from header to source // 28/05/02 VI Remove flag fStopAndKill // 03/06/02 MGP - Restore fStopAndKill // 28/10/02 VI Optimal binning for dE/dx +// 21/01/03 VI cut per region // // -------------------------------------------------------------- - + #include "G4eLowEnergyLoss.hh" #include "G4EnergyLossMessenger.hh" #include "G4Poisson.hh" +#include "G4ProductionCutsTable.hh" -// +// // Initialisation of static data members // ------------------------------------- @@ -84,7 +86,7 @@ G4PhysicsTable** G4eLowEnergyLoss::RecorderOfElectronProcess = new G4PhysicsTable*[10]; G4PhysicsTable** G4eLowEnergyLoss::RecorderOfPositronProcess = new G4PhysicsTable*[10]; - + G4PhysicsTable* G4eLowEnergyLoss::theDEDXElectronTable = 0; G4PhysicsTable* G4eLowEnergyLoss::theDEDXPositronTable = 0; @@ -136,7 +138,7 @@ G4eLowEnergyLoss::G4eLowEnergyLoss(const G4String& processName) if(!eLossMessenger) eLossMessenger = new G4EnergyLossMessenger(); } -// +// G4eLowEnergyLoss::~G4eLowEnergyLoss() { @@ -170,19 +172,19 @@ G4int G4eLowEnergyLoss::GetNbOfProcesses() void G4eLowEnergyLoss::SetLowerBoundEloss(G4double val) { LowerBoundEloss=val; -} +} void G4eLowEnergyLoss::SetUpperBoundEloss(G4double val) { UpperBoundEloss=val; } - + void G4eLowEnergyLoss::SetNbinEloss(G4int nb) { NbinEloss=nb; } -G4double G4eLowEnergyLoss::GetLowerBoundEloss() +G4double G4eLowEnergyLoss::GetLowerBoundEloss() { return LowerBoundEloss; } @@ -191,7 +193,7 @@ G4double G4eLowEnergyLoss::GetUpperBoundEloss() { return UpperBoundEloss; } - + G4int G4eLowEnergyLoss::GetNbinEloss() { return NbinEloss; @@ -210,11 +212,13 @@ void G4eLowEnergyLoss::BuildDEDXTable( LOGRTable=lrate/NbinEloss; RTable =exp(LOGRTable); // Build energy loss table as a sum of the energy loss due to the - // different processes. + // different processes. // - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + // create table for the total energy loss if (&aParticleType==G4Electron::Electron()) @@ -224,11 +228,11 @@ void G4eLowEnergyLoss::BuildDEDXTable( if (CounterOfProcess == NbOfProcesses) { if (theDEDXElectronTable) - { + { theDEDXElectronTable->clearAndDestroy(); - delete theDEDXElectronTable; + delete theDEDXElectronTable; } - theDEDXElectronTable = new G4PhysicsTable(numOfMaterials); + theDEDXElectronTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXElectronTable; } } @@ -239,11 +243,11 @@ void G4eLowEnergyLoss::BuildDEDXTable( if (CounterOfProcess == NbOfProcesses) { if (theDEDXPositronTable) - { + { theDEDXPositronTable->clearAndDestroy(); - delete theDEDXPositronTable; + delete theDEDXPositronTable; } - theDEDXPositronTable = new G4PhysicsTable(numOfMaterials); + theDEDXPositronTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXPositronTable; } } @@ -256,39 +260,39 @@ void G4eLowEnergyLoss::BuildDEDXTable( G4bool isOutRange; G4PhysicsTable* pointer; - for (G4int J=0; JGetLowEdgeEnergy(i) ; - //here comes the sum of the different tables created by the - //processes (ionisation,bremsstrahlung,etc...) - Value = 0.; + LowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; + //here comes the sum of the different tables created by the + //processes (ionisation,bremsstrahlung,etc...) + Value = 0.; for (G4int process=0; process < NbOfProcesses; process++) { pointer= RecorderOfProcess[process]; Value += (*pointer)[J]->GetValue(LowEdgeEnergy,isOutRange); } - aVector->PutValue(i,Value) ; + aVector->PutValue(i,Value) ; } theDEDXTable->insert(aVector) ; } - + //reset counter to zero if (&aParticleType==G4Electron::Electron()) CounterOfElectronProcess=0; if (&aParticleType==G4Positron::Positron()) CounterOfPositronProcess=0; - ParticleMass = aParticleType.GetPDGMass(); + ParticleMass = aParticleType.GetPDGMass(); if (&aParticleType==G4Electron::Electron()) { @@ -370,7 +374,7 @@ void G4eLowEnergyLoss::BuildDEDXTable( // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, (&aParticleType==G4Electron::Electron())? theDEDXElectronTable: theDEDXPositronTable, (&aParticleType==G4Electron::Electron())? @@ -385,83 +389,83 @@ void G4eLowEnergyLoss::BuildDEDXTable( } } -// - +// + G4VParticleChange* G4eLowEnergyLoss::AlongStepDoIt( const G4Track& trackData, const G4Step& stepData) -{ +{ // compute the energy loss after a Step static const G4double faclow = 1.5 ; - // get particle and material pointers from trackData + // get particle and material pointers from trackData const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - G4double E = aParticle->GetKineticEnergy() ; - - G4Material* aMaterial = trackData.GetMaterial(); - + G4double E = aParticle->GetKineticEnergy(); + + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + G4double Step = stepData.GetStepLength(); - aParticleChange.Initialize(trackData); - //fParticleChange.Initialize(trackData); - - G4double MeanLoss, finalT; + aParticleChange.Initialize(trackData); + //fParticleChange.Initialize(trackData); - if (E < MinKineticEnergy) finalT = 0.; - - else if ( E< faclow*LowerBoundEloss) + G4double MeanLoss, finalT; + + if (E < MinKineticEnergy) finalT = 0.; + + else if ( E< faclow*LowerBoundEloss) { - if (Step >= fRangeNow) finalT = 0.; + if (Step >= fRangeNow) finalT = 0.; // else finalT = E*(1.-Step/fRangeNow) ; else finalT = E*(1.-sqrt(Step/fRangeNow)) ; } - + else if (E>=UpperBoundEloss) finalT = E - Step*fdEdx; - - else if (Step >= fRangeNow) finalT = 0.; - + + else if (Step >= fRangeNow) finalT = 0.; + else { if(Step/fRangeNow < linLossLimit) finalT = E-Step*fdEdx ; else { if (Charge<0.) finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Electron::Electron(),fRangeNow-Step,aMaterial); + (G4Electron::Electron(),fRangeNow-Step,couple); else finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Positron::Positron(),fRangeNow-Step,aMaterial); + (G4Positron::Positron(),fRangeNow-Step,couple); } } if(finalT < MinKineticEnergy) finalT = 0. ; - MeanLoss = E-finalT ; - + MeanLoss = E-finalT ; + //now the loss with fluctuation if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) { - finalT = E-GetLossWithFluct(aParticle,aMaterial,MeanLoss,Step); + finalT = E-GetLossWithFluct(aParticle,couple,MeanLoss,Step); if (finalT < 0.) finalT = 0.; } - // kill the particle if the kinetic energy <= 0 + // kill the particle if the kinetic energy <= 0 if (finalT <= 0. ) { finalT = 0.; - aParticleChange.SetStatusChange(fStopAndKill); - } + aParticleChange.SetStatusChange(fStopAndKill); + } G4double edep = E - finalT; - aParticleChange.SetEnergyChange(finalT); - + aParticleChange.SetEnergyChange(finalT); + // Deexcitation of ionised atoms G4std::vector* deexcitationProducts = 0; - if (theFluo) deexcitationProducts = DeexciteAtom(aMaterial,E,edep); + if (theFluo) deexcitationProducts = DeexciteAtom(couple,E,edep); - size_t nSecondaries = 0; + size_t nSecondaries = 0; if (deexcitationProducts != 0) nSecondaries = deexcitationProducts->size(); aParticleChange.SetNumberOfSecondaries(nSecondaries); - + if (nSecondaries > 0) { const G4StepPoint* preStep = stepData.GetPreStepPoint(); @@ -474,14 +478,14 @@ G4VParticleChange* G4eLowEnergyLoss::AlongStepDoIt( const G4Track& trackData, deltaT -= t; G4double time, q; G4ThreeVector position; - + for (size_t i=0; iGetKineticEnergy(); edep -= eSecondary; - if (edep > 0.) + if (edep > 0.) { q = G4UniformRand(); time = deltaT*q + t; @@ -498,14 +502,13 @@ G4VParticleChange* G4eLowEnergyLoss::AlongStepDoIt( const G4Track& trackData, } } } - } - delete deexcitationProducts; - + } + delete deexcitationProducts; + aParticleChange.SetLocalEnergyDeposit(edep); - + return &aParticleChange; } -// - +// diff --git a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyIonisation.cc b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyIonisation.cc index 7128f58f5f..a70ccd05d6 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyIonisation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyIonisation.cc @@ -35,10 +35,10 @@ // charged hadrons. // ************************************************************ // 28 July 1999 V.Ivanchenko cleen up -// 17 August 1999 G.Mancinelli added ICRU parametrisations for protons -// 20 August 1999 G.Mancinelli added ICRU tables for alpha -// 31 August 1999 V.Ivanchenko update and cleen up -// 30 Sept. 1999 V.Ivanchenko minor upgrade +// 17 August 1999 G.Mancinelli added ICRU parametrisations for protons +// 20 August 1999 G.Mancinelli added ICRU tables for alpha +// 31 August 1999 V.Ivanchenko update and cleen up +// 30 Sept. 1999 V.Ivanchenko minor upgrade // 12 Dec. 1999 S. Chauvie added Barkas correction // 19 Jan. 2000 V.Ivanchenko minor changing in Barkas corrections // 02 April 2000 S. Chauvie linearization of Barkas effect @@ -70,11 +70,11 @@ // 30 Oct. 2001 V.Ivanchenko Add minGammaEnergy and minElectronEnergy // 07 Dec 2001 V.Ivanchenko Add SetFluorescence method // 15 Feb 2002 V.Ivanchenko Fix problem of Generic Ions -// 25 Mar 2002 V.Ivanchenko Fix problem of fluorescence below threshold +// 25 Mar 2002 V.Ivanchenko Fix problem of fluorescence below threshold // 28 Mar 2002 V.Ivanchenko Set fluorescence off by default // 09 Apr 2002 V.Ivanchenko Fix table problem of GenericIons // 28 May 2002 V.Ivanchenko Remove flag fStopAndKill -// 31 May 2002 V.Ivanchenko Add path of Fluo + Auger cuts to +// 31 May 2002 V.Ivanchenko Add path of Fluo + Auger cuts to // AtomicDeexcitation // 03 Jun 2002 MGP Restore fStopAndKill // 10 Jun 2002 V.Ivanchenko Restore fStopButAlive @@ -83,7 +83,12 @@ // 20 Sept 2002 V.Ivanchenko Clean up energy ranges for models // 07 Oct 2002 V.Ivanchenko Clean up initialisation of fluorescence // 28 Oct 2002 V.Ivanchenko Optimal binning for dE/dx -// 10 Dec 2002 V.Ivanchenko antiProtonLowEnergy -> 25 keV, QEG model below +// 10 Dec 2002 V.Ivanchenko antiProtonLowEnergy -> 25 keV, QEG model below +// 21 Jan 2003 V.Ivanchenko Cut per region +// 10 Mar 2003 V.Ivanchenko Use SubTypes for ions +// 12 Apr 2003 V.Ivanchenko Cut per region for fluo AlongStep +// 18 Apr 2003 V.Ivanchenko finalRange redefinition +// 26 Apr 2003 V.Ivanchenko fix for stepLimit // ----------------------------------------------------------------------- @@ -111,6 +116,7 @@ #include "G4LogLogInterpolation.hh" #include "G4SemiLogInterpolation.hh" #include "G4ProcessManager.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -145,7 +151,7 @@ void G4hLowEnergyIonisation::InitializeMe() HighestKineticEnergy = 100.0*GeV ; MinKineticEnergy = 10.0*eV ; TotBin = 360 ; - protonLowEnergy = 1.*keV ; + protonLowEnergy = 1.*keV ; protonHighEnergy = 2.*MeV ; antiProtonLowEnergy = 25.*keV ; antiProtonHighEnergy = 2.*MeV ; @@ -157,7 +163,7 @@ void G4hLowEnergyIonisation::InitializeMe() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4hLowEnergyIonisation::~G4hLowEnergyIonisation() +G4hLowEnergyIonisation::~G4hLowEnergyIonisation() { if (theMeanFreePathTable) { theMeanFreePathTable->clearAndDestroy(); @@ -214,8 +220,8 @@ void G4hLowEnergyIonisation::InitializeParametrisation() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4hLowEnergyIonisation::BuildPhysicsTable( - const G4ParticleDefinition& aParticleType) - + const G4ParticleDefinition& aParticleType) + // just call BuildLossTable+BuildLambdaTable { if(verboseLevel > 0) { @@ -228,9 +234,9 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( if(verboseLevel > 1) { G4ProcessVector* pv = aParticleType.GetProcessManager()->GetProcessList(); - - G4cout << " 0: " << (*pv)[0]->GetProcessName() << " " << (*pv)[0] - << " 1: " << (*pv)[1]->GetProcessName() << " " << (*pv)[1] + + G4cout << " 0: " << (*pv)[0]->GetProcessName() << " " << (*pv)[0] + << " 1: " << (*pv)[1]->GetProcessName() << " " << (*pv)[1] // << " 2: " << (*pv)[2]->GetProcessName() << " " << (*pv)[2] << G4endl; G4cout << "ionModel= " << theIonEffChargeModel @@ -240,11 +246,12 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( } } - if(aParticleType.GetParticleType() == "nucleus" && + if(aParticleType.GetParticleType() == "nucleus" && aParticleType.GetParticleName() != "GenericIon" && - theMeanFreePathTable) { + aParticleType.GetParticleSubType() == "generic") + { - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, theDEDXpTable, theRangepTable, theInverseRangepTable, @@ -256,7 +263,9 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( return; } - + + if( !CutsWhereModified() && theLossTable) return; + InitializeParametrisation() ; G4Proton* theProton = G4Proton::Proton(); G4AntiProton* theAntiProton = G4AntiProton::AntiProton(); @@ -264,28 +273,21 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( charge = aParticleType.GetPDGCharge()/eplus; chargeSquare = charge*charge ; - // ---- MGP ---- workaround for the deprecated "cuts per material" - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - const G4Material* material = (*theMaterialTable)[0]; - G4double electronCutInRange = G4Electron::Electron()->GetRangeThreshold(material); - // was = G4Electron::Electron()->GetCuts(); - // ---- MGP ---- - - // Define cuts - - // create table - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); cutForDelta.clear(); cutForGamma.clear(); - for (G4int j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); // the cut cannot be below lowest limit - G4double tCut = G4Electron::Electron()->GetEnergyThreshold(material); + G4double tCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[j]; if(tCut > HighestKineticEnergy) tCut = HighestKineticEnergy; G4double excEnergy = material->GetIonisation()->GetMeanExcitationEnergy(); @@ -294,7 +296,7 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( cutForDelta.push_back(tCut); // the cut cannot be below lowest limit - tCut = G4Gamma::Gamma()->GetEnergyThreshold(material); + tCut = (*(theCoupleTable->GetEnergyCutsVector(0)))[j]; if(tCut > HighestKineticEnergy) tCut = HighestKineticEnergy; tCut = G4std::max(tCut,minGammaEnergy); cutForGamma.push_back(tCut); @@ -304,46 +306,45 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( G4cout << "Cuts are defined " << G4endl; } - - if(0.0 < charge) + if(0.0 < charge) { - - if( (ptableElectronCutInRange != electronCutInRange) - || (theDEDXpTable == 0)) - { - BuildLossTable(*theProton) ; - RecorderOfpProcess[CounterOfpProcess] = theLossTable ; - CounterOfpProcess++; - } - - } else{ - - if( (pbartableElectronCutInRange != electronCutInRange) - || (theDEDXpbarTable == 0)) - { - BuildLossTable(*theAntiProton) ; - RecorderOfpbarProcess[CounterOfpbarProcess] = theLossTable ; - CounterOfpbarProcess++; - } - } + { + BuildLossTable(*theProton) ; + RecorderOfpProcess[CounterOfpProcess] = theLossTable ; + CounterOfpProcess++; + } + } else { + { + BuildLossTable(*theAntiProton) ; + RecorderOfpbarProcess[CounterOfpbarProcess] = theLossTable ; + CounterOfpbarProcess++; + } + } if(verboseLevel > 0) { G4cout << "G4hLowEnergyIonisation::BuildPhysicsTable: " - << "Loss table is built" << G4endl; + << "Loss table is built " +// << theLossTable + << G4endl; } - + BuildLambdaTable(aParticleType) ; BuildDataForFluorescence(aParticleType); + if(verboseLevel > 1) { G4cout << (*theMeanFreePathTable) << G4endl; } if(verboseLevel > 0) { G4cout << "G4hLowEnergyIonisation::BuildPhysicsTable: " - << "DEDX table will be built" << G4endl; + << "DEDX table will be built " +// << theDEDXpTable << " " << theDEDXpbarTable +// << " " << theRangepTable << " " << theRangepbarTable + << G4endl; } BuildDEDXTable(aParticleType) ; + if(verboseLevel > 1) { G4cout << (*theDEDXpTable) << G4endl; } @@ -359,9 +360,9 @@ void G4hLowEnergyIonisation::BuildPhysicsTable( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4hLowEnergyIonisation::BuildLossTable( - const G4ParticleDefinition& aParticleType) + const G4ParticleDefinition& aParticleType) { - + // Initialisation G4double lowEdgeEnergy , ionloss, ionlossBB, paramB ; G4double lowEnergy, highEnergy; @@ -378,65 +379,65 @@ void G4hLowEnergyIonisation::BuildLossTable( } chargeSquare = 1.0 ; - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - - // create table - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + if ( theLossTable) { theLossTable->clearAndDestroy(); delete theLossTable; } - theLossTable = new G4PhysicsTable(numOfMaterials); - - // loop for materials - for (G4int j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); if ( charge > 0.0 ) { - ionloss = ProtonParametrisedDEDX(material,highEnergy) ; + ionloss = ProtonParametrisedDEDX(couple,highEnergy) ; } else { - ionloss = AntiProtonParametrisedDEDX(material,highEnergy) ; + ionloss = AntiProtonParametrisedDEDX(couple,highEnergy) ; } ionlossBB = theBetheBlochModel->TheValue(&aParticleType,material,highEnergy) ; - ionlossBB -= DeltaRaysEnergy(material,highEnergy,proton_mass_c2) ; + ionlossBB -= DeltaRaysEnergy(couple,highEnergy,proton_mass_c2) ; - - paramB = ionloss/ionlossBB - 1.0 ; - // now comes the loop for the kinetic energy values + paramB = ionloss/ionlossBB - 1.0 ; + + // now comes the loop for the kinetic energy values for (G4int i = 0 ; i < TotBin ; i++) { lowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; // low energy part for this material, parametrised energy loss formulae if ( lowEdgeEnergy < highEnergy ) { - + if ( charge > 0.0 ) { - ionloss = ProtonParametrisedDEDX(material,lowEdgeEnergy) ; + ionloss = ProtonParametrisedDEDX(couple,lowEdgeEnergy) ; } else { - ionloss = AntiProtonParametrisedDEDX(material,lowEdgeEnergy) ; + ionloss = AntiProtonParametrisedDEDX(couple,lowEdgeEnergy) ; } } else { - - // high energy part for this material, Bethe-Bloch formula - ionloss = theBetheBlochModel->TheValue(theProton,material, - lowEdgeEnergy) ; - ionloss -= DeltaRaysEnergy(material,lowEdgeEnergy,proton_mass_c2) ; + // high energy part for this material, Bethe-Bloch formula + ionloss = theBetheBlochModel->TheValue(theProton,material, + lowEdgeEnergy) ; + + ionloss -= DeltaRaysEnergy(couple,lowEdgeEnergy,proton_mass_c2) ; ionloss *= (1.0 + paramB*highEnergy/lowEdgeEnergy) ; - } - + } + // now put the loss into the vector if(verboseLevel > 1) { G4cout << "E(MeV)= " << lowEdgeEnergy/MeV @@ -467,10 +468,9 @@ void G4hLowEnergyIonisation::BuildDataForFluorescence( deexcitationManager.SetCutForAugerElectrons(minElectronEnergy); G4double mass = aParticleType.GetPDGMass(); - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - - // create table - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); if (shellVacancy != 0) delete shellVacancy; shellVacancy = new G4ShellVacancy(); @@ -491,28 +491,29 @@ void G4hLowEnergyIonisation::BuildDataForFluorescence( G4PhysicsLogVector* bVector = new G4PhysicsLogVector(LowestKineticEnergy, HighestKineticEnergy, binForFluo); - const G4AtomicTransitionManager* transitionManager = + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); G4double bindingEnergy; // G4double x; // G4double y; - // loop for materials - for (G4int j=0; jGetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); const G4ElementVector* theElementVector = material->GetElementVector(); size_t NumberOfElements = material->GetNumberOfElements() ; - const G4double* theAtomicNumDensityVector = + const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); G4VDataSetAlgorithm* interp = new G4SemiLogInterpolation(); G4VEMDataSet* xsis = new G4CompositeEMDataSet(interp, 1., 1.); G4VDataSetAlgorithm* interp1 = new G4SemiLogInterpolation(); G4VEMDataSet* xsis1 = new G4CompositeEMDataSet(interp1, 1., 1.); - + G4double tCut = cutForDelta[j]; G4double elDensity = 1.; @@ -524,7 +525,7 @@ void G4hLowEnergyIonisation::BuildDataForFluorescence( ksi = new G4DataVector(); energy1= new G4DataVector(); ksi1 = new G4DataVector(); - //if(NumberOfElements > 1) + //if(NumberOfElements > 1) elDensity = theAtomicNumDensityVector[iel]/((G4double)nShells); for (size_t j = 0; jAddComponent(set1); } if(verboseLevel > 1) { - G4cout << "### Shell inverse cross sections for " + G4cout << "### Shell inverse cross sections for " << material->GetName() << G4endl; xsis->PrintData(); - G4cout << "### Atom cross sections for " + G4cout << "### Atom cross sections for " << material->GetName() << G4endl; xsis1->PrintData(); } shellVacancy->AddXsiTable(xsis); - zFluoDataVector.push_back(xsis1); + zFluoDataVector.push_back(xsis1); } delete bVector; } @@ -587,12 +588,12 @@ void G4hLowEnergyIonisation::BuildDataForFluorescence( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4hLowEnergyIonisation::BuildLambdaTable( - const G4ParticleDefinition& aParticleType) - + const G4ParticleDefinition& aParticleType) + { // Build mean free path tables for the delta ray production process - // tables are built for MATERIALS - + // tables are built for MATERIALS + if(verboseLevel > 1) { G4cout << "G4hLowEnergyIonisation::BuildLambdaTable for " << aParticleType.GetParticleName() << " is started" << G4endl; @@ -600,49 +601,51 @@ void G4hLowEnergyIonisation::BuildLambdaTable( G4double lowEdgeEnergy, value; - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); charge = aParticleType.GetPDGCharge()/eplus ; chargeSquare = charge*charge ; initialMass = aParticleType.GetPDGMass(); - - //create table - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if (theMeanFreePathTable) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - - theMeanFreePathTable = new G4PhysicsTable(numOfMaterials); - - // loop for materials - - for (G4int J=0 ; J < numOfMaterials; J++) { - //create physics vector then fill it .... - G4PhysicsLogVector* aVector = new G4PhysicsLogVector(LowestKineticEnergy, - HighestKineticEnergy, + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); + + // loop for materials + + for (size_t J=0 ; J < numOfCouples; J++) { + + //create physics vector then fill it .... + G4PhysicsLogVector* aVector = new G4PhysicsLogVector(LowestKineticEnergy, + HighestKineticEnergy, TotBin); - + // compute the (macroscopic) cross section first - - const G4Material* material = (*theMaterialTable)[J]; - const G4ElementVector* theElementVector = + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + const G4ElementVector* theElementVector = material->GetElementVector() ; - const G4double* theAtomicNumDensityVector = + const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); const G4int NumberOfElements = material->GetNumberOfElements() ; - + // get the electron kinetic energy cut for the actual material, // it will be used in ComputeMicroscopicCrossSection // ( it is the SAME for ALL the ELEMENTS in THIS MATERIAL ) // ------------------------------------------------------ - + G4double deltaCut = cutForDelta[J]; - + for ( G4int i = 0 ; i < TotBin ; i++ ) { lowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; - G4double sigma = 0.0 ; + G4double sigma = 0.0 ; for (G4int iel=0; ielGetZ(), deltaCut ) ; } - + // mean free path = 1./macroscopic cross section - - value = sigma<=0 ? DBL_MAX : 1./sigma ; - + + value = sigma<=0 ? DBL_MAX : 1./sigma ; + aVector->PutValue(i, value) ; } - + theMeanFreePathTable->insert(aVector); } @@ -676,47 +679,47 @@ G4double G4hLowEnergyIonisation::ComputeMicroscopicCrossSection( //****************************************************************** // cross section formula is OK for spin=0, 1/2, 1 only ! // ***************************************************************** - + // calculates the microscopic cross section in GEANT4 internal units // ( it is called for elements , AtomicNumber = z ) - + G4double energy, gamma, beta2, tmax, var; G4double totalCrossSection = 0.0 ; - + G4double particleMass = initialMass; - + // get particle data ................................... - + energy = kineticEnergy + particleMass; - + // some kinematics...................... - + gamma = energy/particleMass; beta2 = 1.0 - 1.0/(gamma*gamma); var = electron_mass_c2/particleMass; tmax = 2.*electron_mass_c2*(gamma*gamma - 1.)/(1. + 2.*gamma*var + var*var); - - // now you can calculate the total cross section - + + // now you can calculate the total cross section + if( tmax > deltaCutInEnergy ) { - + var=deltaCutInEnergy/tmax; totalCrossSection = (1.0 - var*(1.0 - beta2*log(var))) / deltaCutInEnergy ; G4double spin = aParticleType.GetPDGSpin() ; - + // +term for spin=1/2 particle if( 0.5 == spin ) totalCrossSection += 0.5 * (tmax - deltaCutInEnergy) / (energy*energy); - + // +term for spin=1 particle else if( 0.9 < spin ) totalCrossSection += -log(var)/(3.0*deltaCutInEnergy) + - (tmax - deltaCutInEnergy) * ( (5.0+ 1.0/var)*0.25 / (energy*energy) - + (tmax - deltaCutInEnergy) * ( (5.0+ 1.0/var)*0.25 / (energy*energy) - beta2 / (tmax * deltaCutInEnergy) ) / 3.0 ; - + totalCrossSection *= twopi_mc2_rcl2 * atomicNumber / beta2 ; } - + return totalCrossSection ; } @@ -726,23 +729,24 @@ G4double G4hLowEnergyIonisation::GetMeanFreePath(const G4Track& trackData, G4double previousStepSize, enum G4ForceCondition* condition) { - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle() ; - G4Material* aMaterial = trackData.GetMaterial() ; + const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* material = couple->GetMaterial(); G4double meanFreePath; G4bool isOutRange ; - + *condition = NotForced ; G4double kineticEnergy = (aParticle->GetKineticEnergy())*initialMass/(aParticle->GetMass()); charge = aParticle->GetCharge(); - chargeSquare = theIonEffChargeModel->TheValue(aParticle, aMaterial); + chargeSquare = theIonEffChargeModel->TheValue(aParticle, material); if(kineticEnergy < LowestKineticEnergy) meanFreePath = DBL_MAX; else { if(kineticEnergy > HighestKineticEnergy) kineticEnergy = HighestKineticEnergy; - meanFreePath = (((*theMeanFreePathTable)(aMaterial->GetIndex()))-> + meanFreePath = (((*theMeanFreePathTable)(couple->GetIndex()))-> GetValue(kineticEnergy,isOutRange))/chargeSquare; } @@ -753,150 +757,153 @@ G4double G4hLowEnergyIonisation::GetMeanFreePath(const G4Track& trackData, G4double G4hLowEnergyIonisation::GetConstraints( const G4DynamicParticle* particle, - const G4Material* material) + const G4MaterialCutsCouple* couple) { // returns the Step limit - // dEdx is calculated as well as the range + // dEdx is calculated as well as the range // based on Effective Charge Approach - + + const G4Material* material = couple->GetMaterial(); G4Proton* theProton = G4Proton::Proton(); G4AntiProton* theAntiProton = G4AntiProton::AntiProton(); G4double stepLimit = 0.0 ; G4double dx, highEnergy; - + G4double massRatio = proton_mass_c2/(particle->GetMass()) ; G4double kineticEnergy = particle->GetKineticEnergy() ; - + // Scale the kinetic energy - - G4double tscaled = kineticEnergy*massRatio ; - + + G4double tscaled = kineticEnergy*massRatio ; + if(charge > 0.0) { - + highEnergy = protonHighEnergy ; - fRangeNow = G4EnergyLossTables::GetRange(theProton, tscaled, material); - dx = G4EnergyLossTables::GetRange(theProton, highEnergy, material); - fdEdx = G4EnergyLossTables::GetDEDX(theProton, tscaled, material) + fRangeNow = G4EnergyLossTables::GetRange(theProton, tscaled, couple); + dx = G4EnergyLossTables::GetRange(theProton, highEnergy, couple); + fdEdx = G4EnergyLossTables::GetDEDX(theProton, tscaled, couple) * chargeSquare ; if(tscaled > highEnergy) { // Correction for positive ions if(theBarkas) { - fdEdx += BarkasTerm(material,tscaled)*sqrt(chargeSquare)*chargeSquare; - fdEdx += BlochTerm(material,tscaled,chargeSquare); + fdEdx += BarkasTerm(material,tscaled)*sqrt(chargeSquare)*chargeSquare; + fdEdx += BlochTerm(material,tscaled,chargeSquare); } } - - // Antiprotons and negative hadrons + + // Antiprotons and negative hadrons } else { highEnergy = antiProtonHighEnergy ; - fRangeNow = G4EnergyLossTables::GetRange(theAntiProton, tscaled, material); - dx = G4EnergyLossTables::GetRange(theAntiProton, highEnergy, material); - fdEdx = G4EnergyLossTables::GetDEDX(theAntiProton, tscaled, material) + fRangeNow = G4EnergyLossTables::GetRange(theAntiProton, tscaled, couple); + dx = G4EnergyLossTables::GetRange(theAntiProton, highEnergy, couple); + fdEdx = G4EnergyLossTables::GetDEDX(theAntiProton, tscaled, couple) * chargeSquare ; if(tscaled > highEnergy) { // Correction for positive ions if(theBarkas) { - fdEdx -= BarkasTerm(material,tscaled)*sqrt(chargeSquare)*chargeSquare; - fdEdx += BlochTerm(material,tscaled,chargeSquare); + fdEdx -= BarkasTerm(material,tscaled)*sqrt(chargeSquare)*chargeSquare; + fdEdx += BlochTerm(material,tscaled,chargeSquare); } } } - + // scaling back fRangeNow /= (chargeSquare*massRatio) ; dx /= (chargeSquare*massRatio) ; + stepLimit = fRangeNow ; - + G4double r = G4std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + + if (fRangeNow > r) { + stepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); + if(rndmStepFlag) stepLimit = r + (stepLimit-r)*G4UniformRand() ; + if (stepLimit > fRangeNow) stepLimit = fRangeNow; + } // compute the (random) Step limit in standard energy range if(tscaled > highEnergy ) { - if(fRangeNow > finalRange) { - stepLimit = (c1lim*fRangeNow+c2lim+c3lim/fRangeNow) ; - - // randomise this value - if(rndmStepFlag) stepLimit = finalRange + - (stepLimit-finalRange)*G4UniformRand() ; - } - // cut step in front of Bragg's peak + if(stepLimit > fRangeNow - dx*0.9) stepLimit = fRangeNow - dx*0.9 ; // Step limit in low energy range } else { - stepLimit = G4std::min(fRangeNow, dx*paramStepLimit) ; + G4double x = dx*paramStepLimit; + if (stepLimit > x) stepLimit = x; } - return stepLimit ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( - const G4Track& trackData, - const G4Step& stepData) + const G4Track& trackData, + const G4Step& stepData) { - // compute the energy loss after a step + // compute the energy loss after a step G4Proton* theProton = G4Proton::Proton(); G4AntiProton* theAntiProton = G4AntiProton::AntiProton(); G4double finalT = 0.0 ; - + aParticleChange.Initialize(trackData) ; - G4Material* material = trackData.GetMaterial() ; - - // get the actual (true) Step length from stepData + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* material = couple->GetMaterial(); + + // get the actual (true) Step length from stepData const G4double step = stepData.GetStepLength() ; - + const G4DynamicParticle* particle = trackData.GetDynamicParticle() ; - + G4double kineticEnergy = particle->GetKineticEnergy() ; G4double massRatio = proton_mass_c2/(particle->GetMass()) ; - G4double tscaled= kineticEnergy*massRatio ; + G4double tscaled= kineticEnergy*massRatio ; G4double eloss = 0.0 ; G4double nloss = 0.0 ; - + // very small particle energy if(kineticEnergy < MinKineticEnergy) { - eloss = kineticEnergy ; + eloss = kineticEnergy ; // particle energy outside tabulated energy range - } else if( kineticEnergy > HighestKineticEnergy) { - eloss = step*fdEdx ; - + } else if( kineticEnergy > HighestKineticEnergy) { + eloss = step*fdEdx ; + // big step } else if(step >= fRangeNow ) { eloss = kineticEnergy ; - // tabulated range + // tabulated range } else { - - // step longer than linear step limit + + // step longer than linear step limit if(step > linLossLimit*fRangeNow) { - + G4double rscaled= fRangeNow*massRatio*chargeSquare ; G4double sscaled= step *massRatio*chargeSquare ; - + if(charge > 0.0) { eloss = G4EnergyLossTables::GetPreciseEnergyFromRange( - theProton,rscaled, material) - + theProton,rscaled, couple) - G4EnergyLossTables::GetPreciseEnergyFromRange( - theProton,rscaled-sscaled,material) ; - + theProton,rscaled-sscaled,couple) ; + } else { eloss = G4EnergyLossTables::GetPreciseEnergyFromRange( - theAntiProton,rscaled,material) - + theAntiProton,rscaled,couple) - G4EnergyLossTables::GetPreciseEnergyFromRange( - theAntiProton,rscaled-sscaled,material) ; + theAntiProton,rscaled-sscaled,couple) ; } eloss /= massRatio ; - // step shorter than linear step limit + // step shorter than linear step limit } else { eloss = step*fdEdx ; } @@ -905,7 +912,7 @@ G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( G4double ts = tscaled - eloss*0.5*massRatio; if(ts < protonHighEnergy) ts = protonHighEnergy; eloss += BarkasTerm(material,ts)*charge*chargeSquare*step; - eloss += BlochTerm(material,ts,chargeSquare)*step; + eloss += BlochTerm(material,ts,chargeSquare)*step; } if(nStopping && tscaled < protonHighEnergy) { nloss = (theNuclearStoppingModel->TheValue(particle, material))*step; @@ -913,39 +920,39 @@ G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( } if(eloss < 0.0) eloss = 0.0; - + finalT = kineticEnergy - eloss - nloss; if( EnlossFlucFlag && 0.0 < eloss && finalT > MinKineticEnergy) { - + // now the electron loss with fluctuation - eloss = ElectronicLossFluctuation(particle, material, eloss, step) ; + eloss = ElectronicLossFluctuation(particle, couple, eloss, step) ; if(eloss < 0.0) eloss = 0.0; - finalT = kineticEnergy - eloss - nloss; + finalT = kineticEnergy - eloss - nloss; } - + // stop particle if the kinetic energy <= MinKineticEnergy if (finalT <= MinKineticEnergy ) { - + finalT = 0.0; if(!particle->GetDefinition()->GetProcessManager()-> GetAtRestProcessVector()->size()) aParticleChange.SetStatusChange(fStopAndKill); - else + else aParticleChange.SetStatusChange(fStopButAlive); - } + } aParticleChange.SetEnergyChange( finalT ); G4double edep = kineticEnergy-finalT; // Deexcitation only of ionised atoms eloss = G4std::min(edep, eloss); - + G4double hMass = particle->GetMass(); G4std::vector* newpart = 0; G4DynamicParticle* part = 0; - if(theFluo) newpart = DeexciteAtom(material, kineticEnergy, hMass, eloss); + if(theFluo) newpart = DeexciteAtom(couple, kineticEnergy, hMass, eloss); if(newpart != 0) { @@ -965,7 +972,7 @@ G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( for(size_t i=0; iGetKineticEnergy(); @@ -978,15 +985,15 @@ G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( position += r; newtrack = new G4Track(part, time, position); aParticleChange.AddSecondary(newtrack); - + } else { - + delete part; } } } - delete newpart; + delete newpart; } aParticleChange.SetLocalEnergyDeposit(edep); @@ -996,43 +1003,45 @@ G4VParticleChange* G4hLowEnergyIonisation::AlongStepDoIt( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4hLowEnergyIonisation::ProtonParametrisedDEDX( - const G4Material* material, + const G4MaterialCutsCouple* couple, G4double kineticEnergy) const { + const G4Material* material = couple->GetMaterial(); G4Proton* theProton = G4Proton::Proton(); G4double eloss = 0.0; - // Free Electron Gas Model + // Free Electron Gas Model if(kineticEnergy < protonLowEnergy) { eloss = (theProtonModel->TheValue(theProton, material, protonLowEnergy)) * sqrt(kineticEnergy/protonLowEnergy) ; - + // Parametrisation } else { eloss = theProtonModel->TheValue(theProton, material, kineticEnergy) ; } - + // Delta rays energy - eloss -= DeltaRaysEnergy(material,kineticEnergy,proton_mass_c2) ; + eloss -= DeltaRaysEnergy(couple,kineticEnergy,proton_mass_c2) ; if(verboseLevel > 2) { G4cout << "p E(MeV)= " << kineticEnergy/MeV - << " dE/dx(MeV/mm)= " << eloss*mm/MeV - << " for " << material->GetName() + << " dE/dx(MeV/mm)= " << eloss*mm/MeV + << " for " << material->GetName() << " model: " << theProtonModel << G4endl; } - if(eloss < 0.0) eloss = 0.0 ; - + if(eloss < 0.0) eloss = 0.0 ; + return eloss ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4hLowEnergyIonisation::AntiProtonParametrisedDEDX( - const G4Material* material, + const G4MaterialCutsCouple* couple, G4double kineticEnergy) const { + const G4Material* material = couple->GetMaterial(); G4AntiProton* theAntiProton = G4AntiProton::AntiProton(); G4double eloss = 0.0 ; @@ -1041,61 +1050,62 @@ G4double G4hLowEnergyIonisation::AntiProtonParametrisedDEDX( if(kineticEnergy < antiProtonLowEnergy) { eloss = theAntiProtonModel->TheValue(theAntiProton,material,antiProtonLowEnergy) * sqrt(kineticEnergy/antiProtonLowEnergy) ; - - // Parametrisation + + // Parametrisation } else { eloss = theAntiProtonModel->TheValue(theAntiProton,material, kineticEnergy); } // The proton model is used + Barkas correction - } else { + } else { if(kineticEnergy < protonLowEnergy) { eloss = theProtonModel->TheValue(G4Proton::Proton(),material,protonLowEnergy); - - // Parametrisation + + // Parametrisation } else { eloss = theProtonModel->TheValue(G4Proton::Proton(),material, kineticEnergy); } if(theBarkas) eloss -= 2.0*BarkasTerm(material, kineticEnergy); } - + // Delta rays energy - eloss -= DeltaRaysEnergy(material,kineticEnergy,proton_mass_c2) ; + eloss -= DeltaRaysEnergy(couple,kineticEnergy,proton_mass_c2) ; if(verboseLevel > 2) { G4cout << "pbar E(MeV)= " << kineticEnergy/MeV - << " dE/dx(MeV/mm)= " << eloss*mm/MeV - << " for " << material->GetName() + << " dE/dx(MeV/mm)= " << eloss*mm/MeV + << " for " << material->GetName() << " model: " << theProtonModel << G4endl; } - if(eloss < 0.0) eloss = 0.0 ; - + if(eloss < 0.0) eloss = 0.0 ; + return eloss ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4hLowEnergyIonisation::DeltaRaysEnergy( - const G4Material* material, + const G4MaterialCutsCouple* couple, G4double kineticEnergy, G4double particleMass) const { G4double dloss = 0.0 ; - G4double deltaCutNow = cutForDelta[(material->GetIndex())] ; + G4double deltaCutNow = cutForDelta[(couple->GetIndex())] ; + const G4Material* material = couple->GetMaterial(); G4double electronDensity = material->GetElectronDensity(); G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy(); - G4double tau = kineticEnergy/particleMass ; + G4double tau = kineticEnergy/particleMass ; G4double rateMass = electron_mass_c2/particleMass ; - - // some local variables - + + // some local variables + G4double gamma,bg2,beta2,tmax,x ; - + gamma = tau + 1.0 ; bg2 = tau*(tau+2.0) ; beta2 = bg2/(gamma*gamma) ; @@ -1103,10 +1113,10 @@ G4double G4hLowEnergyIonisation::DeltaRaysEnergy( // Validity range for delta electron cross section G4double deltaCut = G4std::max(deltaCutNow, eexc); - + if ( deltaCut < tmax) { x = deltaCut / tmax ; - dloss = ( beta2 * (x - 1.0) - log(x) ) * twopi_mc2_rcl2 + dloss = ( beta2 * (x - 1.0) - log(x) ) * twopi_mc2_rcl2 * electronDensity / beta2 ; } return dloss ; @@ -1115,21 +1125,21 @@ G4double G4hLowEnergyIonisation::DeltaRaysEnergy( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( - const G4Track& trackData, - const G4Step& stepData) + const G4Track& trackData, + const G4Step& stepData) { // Units are expressed in GEANT4 internal units. - + G4double KineticEnergy,TotalEnergy,TotalMomentum,betasquare, DeltaKineticEnergy,DeltaTotalMomentum,costheta,sintheta,phi, dirx,diry,dirz,finalKineticEnergy,finalPx,finalPy,finalPz, x,xc,grej,Psquare,Esquare,rate,finalMomentum ; - + aParticleChange.Initialize(trackData) ; - G4Material* aMaterial = trackData.GetMaterial() ; - + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4DynamicParticle* aParticle = trackData.GetDynamicParticle() ; - + // some kinematics ParticleMass=aParticle->GetDefinition()->GetPDGMass(); @@ -1139,24 +1149,24 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( Esquare=TotalEnergy*TotalEnergy; betasquare=Psquare/Esquare; G4ThreeVector ParticleDirection = aParticle->GetMomentumDirection() ; - + G4double gamma= KineticEnergy/ParticleMass + 1.; G4double r = electron_mass_c2/ParticleMass; G4double tmax = 2.*electron_mass_c2*(gamma*gamma - 1.)/(1. + 2.*gamma*r + r*r); - + // Validity range for delta electron cross section - G4double DeltaCut = cutForDelta[aMaterial->GetIndex()]; + G4double DeltaCut = cutForDelta[couple->GetIndex()]; // This should not be a case if(DeltaCut >= tmax) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - + xc = DeltaCut / tmax; rate = tmax / TotalEnergy; rate = rate*rate ; - G4double spin = aParticle->GetDefinition()->GetPDGSpin() ; - - // sampling follows ... + G4double spin = aParticle->GetDefinition()->GetPDGSpin() ; + + // sampling follows ... do { x=xc/(1.-(1.-xc)*G4UniformRand()); @@ -1167,47 +1177,47 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( grej = (1.0 - betasquare * x + 0.5*x*x*rate) / (1.0 + 0.5 * rate) ; } else { - grej = (1.0 - betasquare * x ) * (1.0 + x/ (3.0*xc)) + - x * x * rate * (1.0 + 0.5 * x / xc) / 3.0 / + grej = (1.0 - betasquare * x ) * (1.0 + x/ (3.0*xc)) + + x * x * rate * (1.0 + 0.5 * x / xc) / 3.0 / (1.0 + 1.0/(3.0*xc) + rate *(1.0+ 0.5/xc) /3.0) ; } } while( G4UniformRand() > grej ); - - + + DeltaKineticEnergy = x * tmax; - + DeltaTotalMomentum = sqrt(DeltaKineticEnergy * (DeltaKineticEnergy + 2. * electron_mass_c2 )) ; TotalMomentum = sqrt(Psquare) ; costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) /(DeltaTotalMomentum * TotalMomentum) ; - + // protection against costheta > 1 or < -1 --------------- - if ( costheta < -1. ) + if ( costheta < -1. ) costheta = -1. ; - if ( costheta > +1. ) + if ( costheta > +1. ) costheta = +1. ; - + // direction of the delta electron ........ - phi = twopi * G4UniformRand() ; + phi = twopi * G4UniformRand() ; sintheta = sqrt(1. - costheta*costheta); dirx = sintheta * cos(phi) ; diry = sintheta * sin(phi) ; dirz = costheta ; - + G4ThreeVector DeltaDirection(dirx,diry,dirz) ; DeltaDirection.rotateUz(ParticleDirection) ; - + // create G4DynamicParticle object for delta ray G4DynamicParticle *theDeltaRay = new G4DynamicParticle; theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); theDeltaRay->SetMomentumDirection(DeltaDirection.x(), DeltaDirection.y(), - DeltaDirection.z()); + DeltaDirection.z()); theDeltaRay->SetDefinition(G4Electron::Electron()); - - // fill aParticleChange + + // fill aParticleChange finalKineticEnergy = KineticEnergy - DeltaKineticEnergy ; // Generation of Fluorescence and Auger @@ -1218,12 +1228,12 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( G4ParticleDefinition* type = 0; // Select atom and shell - G4int Z = SelectRandomAtom(aMaterial, KineticEnergy); + G4int Z = SelectRandomAtom(couple, KineticEnergy); if(theFluo && Z > 5) { G4int shell = shellCS->SelectRandomShell(Z, KineticEnergy, ParticleMass,DeltaKineticEnergy); - const G4AtomicShell* atomicShell = + const G4AtomicShell* atomicShell = (G4AtomicTransitionManager::Instance())->Shell(Z, shell); G4double bindingEnergy = atomicShell->BindingEnergy(); @@ -1232,12 +1242,12 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( << " bindingE(keV)= " << bindingEnergy/keV << " finalE(keV)= " << finalKineticEnergy/keV << G4endl; - } + } // Fluorescence data start from element 6 - - if (finalKineticEnergy >= bindingEnergy - && (bindingEnergy >= minGammaEnergy + + if (finalKineticEnergy >= bindingEnergy + && (bindingEnergy >= minGammaEnergy || bindingEnergy >= minElectronEnergy) ) { G4int shellId = atomicShell->ShellId(); @@ -1250,11 +1260,11 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( aSecondary = (*secondaryVector)[i]; if (aSecondary) { - + G4double e = aSecondary->GetKineticEnergy(); type = aSecondary->GetDefinition(); - if (e < finalKineticEnergy && - ((type == G4Gamma::Gamma() && e > minGammaEnergy ) || + if (e < finalKineticEnergy && + ((type == G4Gamma::Gamma() && e > minGammaEnergy ) || (type == G4Electron::Electron() && e > minElectronEnergy ))) { finalKineticEnergy -= e; @@ -1269,10 +1279,10 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( } } } - } - + } + // Save delta-electrons - + G4double edep = 0.0; if (finalKineticEnergy > MinKineticEnergy) @@ -1288,7 +1298,7 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( finalPx /= finalMomentum ; finalPy /= finalMomentum ; finalPz /= finalMomentum ; - + aParticleChange.SetMomentumChange( finalPx,finalPy,finalPz ); } else @@ -1300,17 +1310,17 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( if(!aParticle->GetDefinition()->GetProcessManager()-> GetAtRestProcessVector()->size()) aParticleChange.SetStatusChange(fStopAndKill); - else + else aParticleChange.SetStatusChange(fStopButAlive); } - + aParticleChange.SetEnergyChange( finalKineticEnergy ); aParticleChange.SetLocalEnergyDeposit (edep); aParticleChange.SetNumberOfSecondaries(totalNumber); aParticleChange.AddSecondary(theDeltaRay); // Save Fluorescence and Auger - + if (secondaryVector) { for (size_t l = 0; l < nSecondaries; l++) { @@ -1318,40 +1328,41 @@ G4VParticleChange* G4hLowEnergyIonisation::PostStepDoIt( aSecondary = (*secondaryVector)[l]; if(aSecondary) { aParticleChange.AddSecondary(aSecondary); - } + } } delete secondaryVector; } - + return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* -G4hLowEnergyIonisation::DeexciteAtom(const G4Material* material, +G4std::vector* +G4hLowEnergyIonisation::DeexciteAtom(const G4MaterialCutsCouple* couple, G4double incidentEnergy, G4double hMass, G4double eLoss) { if (verboseLevel > 1) { - G4cout << "DeexciteAtom: cutForPhotons(keV)= " << minGammaEnergy/keV - << " cutForElectrons(keV)= " << minElectronEnergy/keV + G4cout << "DeexciteAtom: cutForPhotons(keV)= " << minGammaEnergy/keV + << " cutForElectrons(keV)= " << minElectronEnergy/keV << " eLoss(MeV)= " << eLoss << G4endl; } if(eLoss < minGammaEnergy && eLoss < minElectronEnergy) return 0; - G4int index = material->GetIndex(); + const G4Material* material = couple->GetMaterial(); + G4int index = couple->GetIndex(); // G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy(); G4double gamma = incidentEnergy/hMass + 1; G4double beta2 = 1.0 - 1.0/(gamma*gamma); G4double r = electron_mass_c2/hMass; G4double tmax = 2.*electron_mass_c2*(gamma*gamma - 1.)/(1. + 2.*gamma*r + r*r); G4double tcut = G4std::min(tmax,cutForDelta[index]); - const G4AtomicTransitionManager* transitionManager = + const G4AtomicTransitionManager* transitionManager = G4AtomicTransitionManager::Instance(); size_t nElements = material->GetNumberOfElements(); @@ -1373,7 +1384,7 @@ G4hLowEnergyIonisation::DeexciteAtom(const G4Material* material, // create vector of tracks of secondary particles - G4std::vector* partVector = + G4std::vector* partVector = new G4std::vector; G4std::vector* secVector = 0; G4DynamicParticle* aSecondary = 0; @@ -1384,8 +1395,8 @@ G4hLowEnergyIonisation::DeexciteAtom(const G4Material* material, // sample secondaries - G4double etot = 0.0; - G4std::vector n = shellVacancy->GenerateNumberOfIonisations(material, + G4double etot = 0.0; + G4std::vector n = shellVacancy->GenerateNumberOfIonisations(couple, incidentEnergy, eLoss); for (size_t i=0; i 5 && maxE < tcut && (maxE > minGammaEnergy || maxE > minElectronEnergy)) { for(size_t j=0; j grej ); shell = shellCS->SelectRandomShell(Z,incidentEnergy,hMass,tkin); shellId = transitionManager->Shell(Z, shell)->ShellId(); G4double maxE = transitionManager->Shell(Z, shell)->BindingEnergy(); - + if (maxE>minGammaEnergy || maxE>minElectronEnergy ) { secVector = deexcitationManager.GenerateParticles(Z, shellId); } else { secVector = 0; } - if (secVector) { + if (secVector) { for (size_t l = 0; lsize(); l++) { aSecondary = (*secVector)[l]; if(aSecondary) { - + e = aSecondary->GetKineticEnergy(); type = aSecondary->GetDefinition(); if ( etot + e <= eLoss && - (type == G4Gamma::Gamma() && e > minGammaEnergy ) || + (type == G4Gamma::Gamma() && e > minGammaEnergy ) || (type == G4Electron::Electron() && e > minElectronEnergy)) { - - etot += e; + + etot += e; partVector->push_back(aSecondary); } else { @@ -1452,9 +1463,10 @@ G4hLowEnergyIonisation::DeexciteAtom(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4int G4hLowEnergyIonisation::SelectRandomAtom(const G4Material* material, +G4int G4hLowEnergyIonisation::SelectRandomAtom(const G4MaterialCutsCouple* couple, G4double kineticEnergy) const { + const G4Material* material = couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); G4int Z = 0; @@ -1465,7 +1477,7 @@ G4int G4hLowEnergyIonisation::SelectRandomAtom(const G4Material* material, const G4ElementVector* theElementVector = material->GetElementVector(); G4std::vector p; - G4int index = material->GetIndex(); + G4int index = couple->GetIndex(); G4double norm = 0.0; for (G4int j=0; jGetMaterial(); G4Proton* theProton = G4Proton::Proton(); G4AntiProton* theAntiProton = G4AntiProton::AntiProton(); G4double dedx = 0.0 ; - - G4double tscaled = kineticEnergy*proton_mass_c2/(aParticle->GetPDGMass()) ; + + G4double tscaled = kineticEnergy*proton_mass_c2/(aParticle->GetPDGMass()) ; charge = aParticle->GetPDGCharge() ; - + if(charge>0.0) { if(tscaled > protonHighEnergy) { - dedx=G4EnergyLossTables::GetDEDX(theProton,tscaled,material) ; + dedx=G4EnergyLossTables::GetDEDX(theProton,tscaled,couple) ; } else { - dedx=ProtonParametrisedDEDX(material,tscaled) ; + dedx=ProtonParametrisedDEDX(couple,tscaled) ; } } else { if(tscaled > antiProtonHighEnergy) { - dedx=G4EnergyLossTables::GetDEDX(theAntiProton,tscaled,material); - + dedx=G4EnergyLossTables::GetDEDX(theAntiProton,tscaled,couple); + } else { - dedx=AntiProtonParametrisedDEDX(material,tscaled) ; + dedx=AntiProtonParametrisedDEDX(couple,tscaled) ; } - } + } dedx *= theIonEffChargeModel->TheValue(aParticle, material, kineticEnergy) ; - + return dedx ; } @@ -1536,102 +1549,102 @@ G4double G4hLowEnergyIonisation::BarkasTerm(const G4Material* material, // //Ref. Z_1^3 effect in the stopping power of matter for charged particles // J.C Ashley and R.H.Ritchie -// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 +// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 // { - static double FTable[47][2] = { + static double FTable[47][2] = { { 0.02, 21.5}, - { 0.03, 20.0}, - { 0.04, 18.0}, + { 0.03, 20.0}, + { 0.04, 18.0}, { 0.05, 15.6}, - { 0.06, 15.0}, - { 0.07, 14.0}, - { 0.08, 13.5}, + { 0.06, 15.0}, + { 0.07, 14.0}, + { 0.08, 13.5}, { 0.09, 13.}, - { 0.1, 12.2}, - { 0.2, 9.25}, - { 0.3, 7.0}, + { 0.1, 12.2}, + { 0.2, 9.25}, + { 0.3, 7.0}, { 0.4, 6.0}, - { 0.5, 4.5}, - { 0.6, 3.5}, - { 0.7, 3.0}, + { 0.5, 4.5}, + { 0.6, 3.5}, + { 0.7, 3.0}, { 0.8, 2.5}, - { 0.9, 2.0}, - { 1.0, 1.7}, - { 1.2, 1.2}, - { 1.3, 1.0}, - { 1.4, 0.86}, - { 1.5, 0.7}, - { 1.6, 0.61}, - { 1.7, 0.52}, - { 1.8, 0.5}, - { 1.9, 0.43}, - { 2.0, 0.42}, + { 0.9, 2.0}, + { 1.0, 1.7}, + { 1.2, 1.2}, + { 1.3, 1.0}, + { 1.4, 0.86}, + { 1.5, 0.7}, + { 1.6, 0.61}, + { 1.7, 0.52}, + { 1.8, 0.5}, + { 1.9, 0.43}, + { 2.0, 0.42}, { 2.1, 0.3}, - { 2.4, 0.2}, - { 3.0, 0.13}, - { 3.08, 0.1}, - { 3.1, 0.09}, - { 3.3, 0.08}, - { 3.5, 0.07}, - { 3.8, 0.06}, - { 4.0, 0.051}, - { 4.1, 0.04}, - { 4.8, 0.03}, + { 2.4, 0.2}, + { 3.0, 0.13}, + { 3.08, 0.1}, + { 3.1, 0.09}, + { 3.3, 0.08}, + { 3.5, 0.07}, + { 3.8, 0.06}, + { 4.0, 0.051}, + { 4.1, 0.04}, + { 4.8, 0.03}, { 5.0, 0.024}, { 5.1, 0.02}, { 6.0, 0.013}, { 6.5, 0.01}, - { 7.0, 0.009}, + { 7.0, 0.009}, { 7.1, 0.008}, - { 8.0, 0.006}, - { 9.0, 0.0032}, + { 8.0, 0.006}, + { 9.0, 0.0032}, { 10.0, 0.0025} }; // Information on particle and material G4double kinE = kineticEnergy ; - if(0.5*MeV > kinE) kinE = 0.5*MeV ; + if(0.5*MeV > kinE) kinE = 0.5*MeV ; G4double gamma = 1.0 + kinE / proton_mass_c2 ; G4double beta2 = 1.0 - 1.0/(gamma*gamma) ; if(0.0 >= beta2) return 0.0; - + G4double BarkasTerm = 0.0; G4double AMaterial = 0.0; G4double ZMaterial = 0.0; const G4ElementVector* theElementVector = material->GetElementVector(); G4int numberOfElements = material->GetNumberOfElements(); - + for (G4int i = 0; iGetA()*mole/g; ZMaterial = (*theElementVector)[i]->GetZ(); - + G4double X = 137.0 * 137.0 * beta2 / ZMaterial; - + // Variables to compute L_1 G4double Eta0Chi = 0.8; G4double EtaChi = Eta0Chi * ( 1.0 + 6.02*pow( ZMaterial,-1.19 ) ); - G4double W = ( EtaChi * pow( ZMaterial,1.0/6.0 ) ) / sqrt(X); + G4double W = ( EtaChi * pow( ZMaterial,1.0/6.0 ) ) / sqrt(X); G4double FunctionOfW = FTable[46][1]*FTable[46][0]/W ; - + for(G4int j=0; j<47; j++) { - + if( W < FTable[j][0] ) { - + if(0 == j) { FunctionOfW = FTable[0][1] ; } else { - FunctionOfW = (FTable[j][1] - FTable[j-1][1]) * (W - FTable[j-1][0]) + FunctionOfW = (FTable[j][1] - FTable[j-1][1]) * (W - FTable[j-1][0]) / (FTable[j][0] - FTable[j-1][0]) + FTable[j-1][1] ; } - + break; } - + } - + BarkasTerm += FunctionOfW /( sqrt(ZMaterial * X) * X); } @@ -1639,7 +1652,7 @@ G4double G4hLowEnergyIonisation::BarkasTerm(const G4Material* material, return BarkasTerm; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4hLowEnergyIonisation::BlochTerm(const G4Material* material, @@ -1649,7 +1662,7 @@ G4double G4hLowEnergyIonisation::BlochTerm(const G4Material* material, // //Ref. Z_1^3 effect in the stopping power of matter for charged particles // J.C Ashley and R.H.Ritchie -// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 +// Physical review B Vol.5 No.7 1 April 1972 pagg. 2393-2397 // { G4double eloss = 0.0 ; @@ -1659,7 +1672,7 @@ G4double G4hLowEnergyIonisation::BlochTerm(const G4Material* material, if(y < 0.05) { eloss = 1.202 ; - + } else { eloss = 1.0 / (1.0 + y) ; G4double de = eloss ; @@ -1669,9 +1682,9 @@ G4double G4hLowEnergyIonisation::BlochTerm(const G4Material* material, eloss += de ; } } - eloss *= -1.0 * y * cSquare * twopi_mc2_rcl2 * + eloss *= -1.0 * y * cSquare * twopi_mc2_rcl2 * (material->GetElectronDensity()) / beta2 ; - + return eloss; } @@ -1679,11 +1692,11 @@ G4double G4hLowEnergyIonisation::BlochTerm(const G4Material* material, G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( const G4DynamicParticle* particle, - const G4Material* material, + const G4MaterialCutsCouple* couple, G4double meanLoss, G4double step) const // calculate actual loss from the mean loss -// The model used to get the fluctuation is essentially the same +// The model used to get the fluctuation is essentially the same // as in Glandz in Geant3. { // data members to speed up the fluctuation calculation @@ -1695,7 +1708,8 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( static const G4double kappa = 10. ; static const G4double theBohrBeta2 = 50.0 * keV/proton_mass_c2 ; - G4int imaterial = material->GetIndex() ; + const G4Material* material = couple->GetMaterial(); + G4int imaterial = couple->GetIndex() ; G4double ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy() ; G4double electronDensity = material->GetElectronDensity() ; G4double zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()) ; @@ -1705,7 +1719,7 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( G4double particleMass = particle->GetMass() ; G4double deltaCutInKineticEnergyNow = cutForDelta[imaterial]; - // shortcut for very very small loss + // shortcut for very very small loss if(meanLoss < minLoss) return meanLoss ; // Validity range for delta electron cross section @@ -1713,19 +1727,19 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( G4double loss, siga; G4double rmass = electron_mass_c2/particleMass; - G4double tau = tkin/particleMass; - G4double tau1 = tau+1.0; + G4double tau = tkin/particleMass; + G4double tau1 = tau+1.0; G4double tau2 = tau*(tau+2.); G4double tmax = 2.*electron_mass_c2*tau2/(1.+2.*tau1*rmass+rmass*rmass); - + if(tmax > threshold) tmax = threshold; G4double beta2 = tau2/(tau1*tau1); - // Gaussian fluctuation + // Gaussian fluctuation if(meanLoss > kappa*tmax || tmax < kappa*ipotFluct ) { - siga = tmax * (1.0-0.5*beta2) * step * twopi_mc2_rcl2 + siga = tmax * (1.0-0.5*beta2) * step * twopi_mc2_rcl2 * electronDensity / beta2 ; // High velocity or negatively charged particle @@ -1739,14 +1753,14 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( G4double yang = theIonYangFluctuationModel->TheValue(particle, material); siga = sqrt( siga * (chargeSquare * chu + yang)) ; } - + do { loss = G4RandGauss::shoot(meanLoss,siga); } while (loss < 0. || loss > 2.0*meanLoss); return loss; } - // Non Gaussian fluctuation + // Non Gaussian fluctuation static const G4double probLim = 0.01 ; static const G4double sumaLim = -log(probLim) ; static const G4double alim = 10.; @@ -1832,11 +1846,11 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( corrfac = 1. ; for(G4int i=0; i 0) - loss += (1.-2.*G4UniformRand())*e2Fluct; + loss += (1.-2.*G4UniformRand())*e2Fluct; else if (loss>0.) - loss += (1.-2.*G4UniformRand())*e1Fluct; + loss += (1.-2.*G4UniformRand())*e1Fluct; // ionisation ....................................... if(a3 > 0.) @@ -1879,7 +1893,7 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( lossc = 0.; if(p3 > 0) { - na = 0.; + na = 0.; alfa = 1.; if (p3 > nmaxCont2) { @@ -1903,17 +1917,17 @@ G4double G4hLowEnergyIonisation::ElectronicLossFluctuation( if (nb > 0) { w2 = alfa*ipotFluct; - w = (tmax-w2)/tmax; + w = (tmax-w2)/tmax; for (G4int k=0; kGetTableSize(); - const G4Material* material= (*theMaterialTable)[j]; - G4double deltaCutNow = cutForDelta[(material->GetIndex())] ; + // loop for materials + + for (size_t j=0 ; j < numOfCouples; j++) { + + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(j); + const G4Material* material= couple->GetMaterial(); + G4double deltaCutNow = cutForDelta[(couple->GetIndex())] ; G4double eexc = material->GetIonisation()->GetMeanExcitationEnergy(); if(eexc > deltaCutNow) { @@ -1988,5 +2004,5 @@ void G4hLowEnergyIonisation::PrintInfoDefinition() const G4cout << G4std::setw(20) << material->GetName() << G4std::setw(15) << eexc/keV << G4endl; } - } + } } diff --git a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc index 1096ad7928..7810991726 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc @@ -21,23 +21,23 @@ // ******************************************************************** // // -// $Id: G4hLowEnergyLoss.cc,v 1.17 2002/10/28 09:43:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4hLowEnergyLoss.cc,v 1.19 2003/01/23 11:39:07 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------- -// GEANT 4 class implementation file +// GEANT 4 class implementation file // // History: based on object model of // 2nd December 1995, G.Cosmo // ---------- G4hEnergyLoss physics process ----------- -// by Laszlo Urban, 30 May 1997 +// by Laszlo Urban, 30 May 1997 // // ************************************************************** // It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. // It calculates the energy loss of charged hadrons. // ************************************************************** // -// 7/10/98 bug fixes + some cleanup , L.Urban +// 7/10/98 bug fixes + some cleanup , L.Urban // 22/10/98 cleanup , L.Urban // 07/12/98 works for ions as well+ bug corrected, L.Urban // 02/02/99 several bugs fixed, L.Urban @@ -46,19 +46,22 @@ // 10/05/01 V.Ivanchenko Clean up againist Linux compilation with -Wall // 23/11/01 V.Ivanchenko Move static member-functions from header to source // 28/10/02 V.Ivanchenko Optimal binning for dE/dx +// 21/01/03 V.Ivanchenko Cut per region +// 23/01/03 V.Ivanchenko Fix in table build // -------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4hLowEnergyLoss.hh" #include "G4EnergyLossTables.hh" #include "G4Poisson.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... // Initialisation of static members ****************************************** // contributing processes : ion.loss ->NumberOfProcesses is initialized // to 1 . YOU DO NOT HAVE TO CHANGE this variable for a 'normal' run. -// You have to change NumberOfProcesses +// You have to change NumberOfProcesses // if you invent a new process contributing to the cont. energy loss, // NumberOfProcesses should be 2 in this case, // or for debugging purposes. @@ -133,7 +136,7 @@ G4bool G4hLowEnergyLoss::rndmStepFlag = false ; G4bool G4hLowEnergyLoss::EnlossFlucFlag = true ; G4double G4hLowEnergyLoss::LowestKineticEnergy = 10.*eV; -G4double G4hLowEnergyLoss::HighestKineticEnergy= 100.*GeV; +G4double G4hLowEnergyLoss::HighestKineticEnergy= 100.*GeV; G4int G4hLowEnergyLoss::TotBin = 360; G4double G4hLowEnergyLoss::RTable,G4hLowEnergyLoss::LOGRTable; @@ -143,7 +146,6 @@ G4double G4hLowEnergyLoss::RTable,G4hLowEnergyLoss::LOGRTable; G4hLowEnergyLoss::G4hLowEnergyLoss(const G4String& processName) : G4VContinuousDiscreteProcess (processName), - lastMaterial (0), MaxExcitationNumber (1.e6), probLimFluct (0.01), nmaxDirectFluct (100), @@ -230,49 +232,26 @@ void G4hLowEnergyLoss::BuildDEDXTable( const G4ParticleDefinition& aParticleType) { // calculate data members TotBin,LOGRTable,RTable first - /* - G4double binning = dRoverRange; - G4double lrate = log(HighestKineticEnergy/LowestKineticEnergy); - G4int nbin = G4int(lrate/log(1.+binning) + 0.5 ); - nbin = (nbin+25)/50; - LOGRTable=lrate/TotBin; - RTable =exp(LOGRTable); - */ - // create table if there is no table or there is a new cut value - G4bool MakeTable = false ; - - // ---- MGP ---- workaround for the deprecated "cuts per material" - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - const G4Material* material = (*theMaterialTable)[0]; - G4double ElectronCutInRange = G4Electron::Electron()->GetEnergyThreshold(material); - // was = G4Electron::Electron()->GetCuts(); - // ---- MGP ---- - // create/fill proton or antiproton tables depending on the charge + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + // create/fill proton or antiproton tables depending on the charge Charge = aParticleType.GetPDGCharge()/eplus; ParticleMass = aParticleType.GetPDGMass() ; if (Charge>0.) {theDEDXTable= theDEDXpTable;} else {theDEDXTable= theDEDXpbarTable;} - if( - ((Charge>0.) && ((theDEDXTable==0) || - (ElectronCutInRange != ptableElectronCutInRange))) - || - ((Charge<0.) && ((theDEDXTable==0) || - (ElectronCutInRange != pbartableElectronCutInRange))) + if( ((Charge>0.) && (theDEDXTable==0)) || + ((Charge<0.) && (theDEDXTable==0)) ) - MakeTable = true ; - - - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - - if( MakeTable ) { // Build energy loss table as a sum of the energy loss due to the - // different processes. - if( Charge >0.) + // different processes. + if( Charge >0.) { RecorderOfProcess=RecorderOfpProcess; CounterOfProcess=CounterOfpProcess; @@ -282,9 +261,8 @@ void G4hLowEnergyLoss::BuildDEDXTable( if(theDEDXpTable) { theDEDXpTable->clearAndDestroy(); delete theDEDXpTable; } - theDEDXpTable = new G4PhysicsTable(numOfMaterials); + theDEDXpTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXpTable; - ptableElectronCutInRange = ElectronCutInRange ; } } else @@ -297,9 +275,8 @@ void G4hLowEnergyLoss::BuildDEDXTable( if(theDEDXpbarTable) { theDEDXpbarTable->clearAndDestroy(); delete theDEDXpbarTable; } - theDEDXpbarTable = new G4PhysicsTable(numOfMaterials); + theDEDXpbarTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXpbarTable; - pbartableElectronCutInRange = ElectronCutInRange ; } } @@ -310,18 +287,18 @@ void G4hLowEnergyLoss::BuildDEDXTable( G4bool isOutRange ; G4PhysicsTable* pointer ; - for (G4int J=0; JGetLowEdgeEnergy(i) ; + LowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; Value = 0. ; - + // loop for the contributing processes for (G4int process=0; process < NumberOfProcesses; process++) { @@ -330,24 +307,24 @@ void G4hLowEnergyLoss::BuildDEDXTable( GetValue(LowEdgeEnergy,isOutRange) ; } - aVector->PutValue(i,Value) ; + aVector->PutValue(i,Value) ; } theDEDXTable->insert(aVector) ; } - + // reset counter to zero .................. - if( Charge >0.) + if( Charge >0.) CounterOfpProcess=0 ; else CounterOfpbarProcess=0 ; // Build range table - BuildRangeTable( aParticleType); + BuildRangeTable( aParticleType); // Build lab/proper time tables BuildTimeTables( aParticleType) ; - + // Build coeff tables for the energy loss calculation BuildRangeCoeffATable( aParticleType); BuildRangeCoeffBTable( aParticleType); @@ -360,7 +337,7 @@ void G4hLowEnergyLoss::BuildDEDXTable( } // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, (Charge>0)? theDEDXpTable: theDEDXpbarTable, (Charge>0)? @@ -378,35 +355,37 @@ void G4hLowEnergyLoss::BuildDEDXTable( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + void G4hLowEnergyLoss::BuildRangeTable( const G4ParticleDefinition& aParticleType) // Build range table from the energy loss table { - Mass = aParticleType.GetPDGMass(); + Mass = aParticleType.GetPDGMass(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); if( Charge >0.) - { + { if(theRangepTable) { theRangepTable->clearAndDestroy(); delete theRangepTable; } - theRangepTable = new G4PhysicsTable(numOfMaterials); + theRangepTable = new G4PhysicsTable(numOfCouples); theRangeTable = theRangepTable ; } else - { + { if(theRangepbarTable) { theRangepbarTable->clearAndDestroy(); delete theRangepbarTable; } - theRangepbarTable = new G4PhysicsTable(numOfMaterials); + theRangepbarTable = new G4PhysicsTable(numOfCouples); theRangeTable = theRangepbarTable ; } // loop for materials - for (G4int J=0; Jinsert(aVector); } -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -423,20 +402,22 @@ void G4hLowEnergyLoss::BuildTimeTables( const G4ParticleDefinition& aParticleType) { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + if(&aParticleType == G4Proton::Proton()) { if(theLabTimepTable) { theLabTimepTable->clearAndDestroy(); delete theLabTimepTable; } - theLabTimepTable = new G4PhysicsTable(numOfMaterials); + theLabTimepTable = new G4PhysicsTable(numOfCouples); theLabTimeTable = theLabTimepTable ; if(theProperTimepTable) { theProperTimepTable->clearAndDestroy(); delete theProperTimepTable; } - theProperTimepTable = new G4PhysicsTable(numOfMaterials); + theProperTimepTable = new G4PhysicsTable(numOfCouples); theProperTimeTable = theProperTimepTable ; } @@ -445,17 +426,17 @@ void G4hLowEnergyLoss::BuildTimeTables( if(theLabTimepbarTable) { theLabTimepbarTable->clearAndDestroy(); delete theLabTimepbarTable; } - theLabTimepbarTable = new G4PhysicsTable(numOfMaterials); + theLabTimepbarTable = new G4PhysicsTable(numOfCouples); theLabTimeTable = theLabTimepbarTable ; if(theProperTimepbarTable) { theProperTimepbarTable->clearAndDestroy(); delete theProperTimepbarTable; } - theProperTimepbarTable = new G4PhysicsTable(numOfMaterials); + theProperTimepbarTable = new G4PhysicsTable(numOfCouples); theProperTimeTable = theProperTimepbarTable ; } - for (G4int J=0; JGetLowEdgeEnergy(i); @@ -764,23 +745,23 @@ void G4hLowEnergyLoss::BuildRangeCoeffATable( // create table for coefficients "A" { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4int numOfCouples = G4ProductionCutsTable::GetProductionCutsTable()->GetTableSize(); if(Charge>0.) { if(thepRangeCoeffATable) { thepRangeCoeffATable->clearAndDestroy(); delete thepRangeCoeffATable; } - thepRangeCoeffATable = new G4PhysicsTable(numOfMaterials); + thepRangeCoeffATable = new G4PhysicsTable(numOfCouples); theRangeCoeffATable = thepRangeCoeffATable ; theRangeTable = theRangepTable ; } - else + else { if(thepbarRangeCoeffATable) { thepbarRangeCoeffATable->clearAndDestroy(); delete thepbarRangeCoeffATable; } - thepbarRangeCoeffATable = new G4PhysicsTable(numOfMaterials); + thepbarRangeCoeffATable = new G4PhysicsTable(numOfCouples); theRangeCoeffATable = thepbarRangeCoeffATable ; theRangeTable = theRangepbarTable ; } @@ -793,7 +774,7 @@ void G4hLowEnergyLoss::BuildRangeCoeffATable( G4bool isOut; // loop for materials - for (G4int J=0; JGetTableSize(); if(Charge>0.) { if(thepRangeCoeffBTable) { thepRangeCoeffBTable->clearAndDestroy(); delete thepRangeCoeffBTable; } - thepRangeCoeffBTable = new G4PhysicsTable(numOfMaterials); + thepRangeCoeffBTable = new G4PhysicsTable(numOfCouples); theRangeCoeffBTable = thepRangeCoeffBTable ; theRangeTable = theRangepTable ; } @@ -852,7 +833,7 @@ void G4hLowEnergyLoss::BuildRangeCoeffBTable( if(thepbarRangeCoeffBTable) { thepbarRangeCoeffBTable->clearAndDestroy(); delete thepbarRangeCoeffBTable; } - thepbarRangeCoeffBTable = new G4PhysicsTable(numOfMaterials); + thepbarRangeCoeffBTable = new G4PhysicsTable(numOfCouples); theRangeCoeffBTable = thepbarRangeCoeffBTable ; theRangeTable = theRangepbarTable ; } @@ -865,7 +846,7 @@ void G4hLowEnergyLoss::BuildRangeCoeffBTable( G4bool isOut; // loop for materials - for (G4int J=0; JGetTableSize(); if(Charge>0.) { if(thepRangeCoeffCTable) { thepRangeCoeffCTable->clearAndDestroy(); delete thepRangeCoeffCTable; } - thepRangeCoeffCTable = new G4PhysicsTable(numOfMaterials); + thepRangeCoeffCTable = new G4PhysicsTable(numOfCouples); theRangeCoeffCTable = thepRangeCoeffCTable ; theRangeTable = theRangepTable ; } @@ -923,7 +904,7 @@ void G4hLowEnergyLoss::BuildRangeCoeffCTable( if(thepbarRangeCoeffCTable) { thepbarRangeCoeffCTable->clearAndDestroy(); delete thepbarRangeCoeffCTable; } - thepbarRangeCoeffCTable = new G4PhysicsTable(numOfMaterials); + thepbarRangeCoeffCTable = new G4PhysicsTable(numOfCouples); theRangeCoeffCTable = thepbarRangeCoeffCTable ; theRangeTable = theRangepbarTable ; } @@ -936,7 +917,7 @@ void G4hLowEnergyLoss::BuildRangeCoeffCTable( G4bool isOut; // loop for materials - for (G4int J=0; JGetTableSize(); + if(&aParticleType == G4Proton::Proton()) { if(theInverseRangepTable) { theInverseRangepTable->clearAndDestroy(); delete theInverseRangepTable; } - theInverseRangepTable = new G4PhysicsTable(numOfMaterials); + theInverseRangepTable = new G4PhysicsTable(numOfCouples); theInverseRangeTable = theInverseRangepTable ; theRangeTable = theRangepTable ; theDEDXTable = theDEDXpTable ; @@ -998,7 +982,7 @@ void G4hLowEnergyLoss::BuildInverseRangeTable( if(theInverseRangepbarTable) { theInverseRangepbarTable->clearAndDestroy(); delete theInverseRangepbarTable; } - theInverseRangepbarTable = new G4PhysicsTable(numOfMaterials); + theInverseRangepbarTable = new G4PhysicsTable(numOfCouples); theInverseRangeTable = theInverseRangepbarTable ; theRangeTable = theRangepbarTable ; theDEDXTable = theDEDXpbarTable ; @@ -1008,7 +992,7 @@ void G4hLowEnergyLoss::BuildInverseRangeTable( } // loop for materials - for (G4int i=0; iGetLowEdgeEnergy(ihigh); - range2 = pv->GetValue(energy2, b); + range2 = pv->GetValue(energy2, b); if(range2 >= range || ihigh == nbins-1) { ilow = ihigh - 1; energy1 = pv->GetLowEdgeEnergy(ilow); - range1 = pv->GetValue(energy1, b); + range1 = pv->GetValue(energy1, b); break; } } @@ -1106,5 +1090,24 @@ void G4hLowEnergyLoss::InvertRangeVector(G4int materialIndex, } } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4bool G4hLowEnergyLoss::CutsWhereModified() +{ + G4bool wasModified = false; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + for (size_t j=0; jGetMaterialCutsCouple(j)->IsRecalcNeeded()) { + wasModified = true; + break; + } + } + return wasModified; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/lowenergy/src/G4hParametrisedLossModel.cc b/source/processes/electromagnetic/lowenergy/src/G4hParametrisedLossModel.cc index d0fab0d92a..82aacfb36a 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hParametrisedLossModel.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hParametrisedLossModel.cc @@ -37,6 +37,7 @@ // 18/08/2000 V.Ivanchenko TRIM85 model is added // 03/10/2000 V.Ivanchenko CodeWizard clean up // 10/05/2001 V.Ivanchenko Clean up againist Linux compilation with -Wall +// 30/12/2003 V.Ivanchenko SRIM2003 model is added // // Class Description: // @@ -55,6 +56,8 @@ #include "G4hZiegler1977p.hh" #include "G4hZiegler1977He.hh" #include "G4hZiegler1985p.hh" +#include "G4hSRIM2000p.hh" +//#include "G4hSRIM2003p.hh" #include "G4hICRU49p.hh" #include "G4hICRU49He.hh" #include "G4DynamicParticle.hh" @@ -83,11 +86,12 @@ void G4hParametrisedLossModel::InitializeMe() G4String ir49p = G4String("ICRU_R49p") ; G4String ir49He = G4String("ICRU_R49He") ; G4String zi85p = G4String("Ziegler1985p") ; - if(zi77p == modelName) { + G4String zi00p = G4String("SRIM2000p") ; + if(zi77p == modelName) { eStopingPowerTable = new G4hZiegler1977p(); highEnergyLimit = 100.0*MeV; lowEnergyLimit = 1.0*keV; - + } else if(zi77He == modelName) { eStopingPowerTable = new G4hZiegler1977He(); highEnergyLimit = 10.0*MeV/4.0; @@ -96,7 +100,12 @@ void G4hParametrisedLossModel::InitializeMe() } else if(zi85p == modelName) { eStopingPowerTable = new G4hZiegler1985p(); highEnergyLimit = 100.0*MeV; - lowEnergyLimit = 1.0*eV; + lowEnergyLimit = 1.0*keV; + + } else if(zi00p == modelName) { + eStopingPowerTable = new G4hSRIM2000p(); + highEnergyLimit = 100.0*MeV; + lowEnergyLimit = 1.0*keV; } else if(ir49p == modelName || blank == modelName) { eStopingPowerTable = new G4hICRU49p(); @@ -107,7 +116,7 @@ void G4hParametrisedLossModel::InitializeMe() eStopingPowerTable = new G4hICRU49He(); highEnergyLimit = 10.0*MeV/4.0; lowEnergyLimit = 1.0*keV/4.0; - + } else { G4cout << "G4hLowEnergyIonisation warning: There is no table with the modelName <" diff --git a/source/processes/electromagnetic/lowenergy/src/G4hSRIM2000p.cc b/source/processes/electromagnetic/lowenergy/src/G4hSRIM2000p.cc new file mode 100644 index 0000000000..60f3797728 --- /dev/null +++ b/source/processes/electromagnetic/lowenergy/src/G4hSRIM2000p.cc @@ -0,0 +1,224 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4hSRIM2000p +// +// Author: V.Ivanchenko (Vladimir.Ivanchenko@cern.ch) +// +// Creation date: 07 Jan 2003 +// +// Modifications: +// +// Class Description: +// +// Electronic stopping power parametrised according to +// J. F. Ziegler, SRIM-2000 software package from www.SRIM.org +// +// Class Description: End +// +// ------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4hSRIM2000p.hh" +#include "G4UnitsTable.hh" +#include "globals.hh" +#include "G4Material.hh" + +G4double G4hSRIM2000p::a[92][8] = { + { 1.28116E-02, 5.33047E-03, 6.51042E-01, 5.31902E-01, 1.95901E03, 1.18870E00, 5.98263E02, 9.54514E-03} + ,{ 3.11787E-01, 4.99529E-03, 1.18546E-01, 9.20917E-01, 9.84843E02, 1.08223E00, 5.54388E02, 5.05072E-02} + ,{ 6.44503E-01, 5.00368E-03, 8.66544E-01, 5.67488E-01, 9.62900E02, 1.01566E00, 1.62034E03, 2.37767E-02} + ,{ 9.53561E-01, 5.07406E-03, 1.30450E00, 5.90300E-01, 1.94512E03, 1.05703E00, 3.26951E02, 1.30441E-02} + ,{ 1.53151E00, 4.88520E-03, 2.56760E00, 4.23246E-01, 1.73888E03, 1.03208E00, 1.82942E03, 2.00331E-02} + ,{ 2.40289E00, 4.91497E-03, 2.49101E00, 4.14939E-01, 1.85836E03, 1.01581E00, 2.50417E03, 1.81984E-02} + ,{ 3.31007E00, 4.95744E-03, 5.40621E-01, 7.79940E-01, 1.10415E03, 9.67848E-01, 2.23535E03, 5.31612E-02} + ,{ 9.72706E-01, 5.00390E-03, 1.35102E00, 5.49800E-01, 1.25428E03, 9.68356E-01, 5.09320E03, 5.36453E-02} + ,{ 6.90408E-01, 4.62723E-03, 3.26749E-01, 1.10520E00, 1.30190E03, 9.43525E-01, 4.70373E01, 2.80245E-02} + ,{ 2.81235E-01, 4.59698E-03, 5.25630E-01, 8.78183E-01, 1.15830E03, 9.38564E-01, 1.01606E01, 4.14147E-02} + ,{ 2.15352E00, 4.40847E-03, 2.30923E00, 6.06001E-01, 1.33224E03, 9.43478E-01, 7.35116E02, 5.77231E-02} + ,{ 3.42983E00, 4.36897E-03, 2.39377E00, 5.54737E-01, 1.14029E03, 9.29844E-01, 2.10748E03, 7.89342E-02} + ,{ 3.89096E-02, 4.54168E-03, 4.27975E00, 4.78838E-01, 1.31642E03, 9.34106E-01, 5.65574E02, 5.27220E-02} + ,{ 1.33101E00, 4.43533E-03, 1.52262E00, 7.75843E-01, 1.22702E03, 9.14146E-01, 1.09117E03, 4.44972E-02} + ,{ 5.78119E00, 3.98281E-03, 3.24072E-01, 1.22769E00, 6.73459E02, 8.65731E-01, 1.23619E02, 1.82036E-01} + ,{ 6.11741E-01, 4.46376E-03, 3.38101E00, 5.42907E-01, 1.16067E03, 9.12049E-01, 1.40312E04, 8.77050E-02} + ,{ 1.15307E00, 4.47333E-03, 4.20464E00, 5.38231E-01, 1.30113E03, 9.02702E-01, 4.92301E03, 5.25717E-02} + ,{ 1.70408E00, 4.47609E-03, 2.75072E00, 5.83835E-01, 2.71393E03, 9.53183E-01, 2.03579E03, 1.46897E-02} + ,{ 2.60265E00, 4.32185E-03, 1.56811E00, 8.64656E-01, 5.56393E02, 8.44750E-01, 1.20010E02, 9.62648E-01} + ,{ 5.36555E-01, 4.40846E-03, 3.22706E00, 6.02927E-01, 5.00851E02, 8.33450E-01, 1.76639E03, 2.02699E00} + ,{ 1.71870E00, 4.36934E-03, 4.60285E00, 5.16212E-01, 1.60160E03, 9.14664E-01, 6.34168E03, 6.29243E-02} + ,{ 1.46403E-01, 4.84558E-03, 5.54014E00, 4.55903E-01, 1.76346E03, 9.19014E-01, 3.95193E03, 5.50341E-02} + ,{ 4.21238E00, 4.00130E-03, 3.79858E00, 4.82892E-01, 2.41697E03, 9.36204E-01, 7.73596E03, 2.89635E-02} + ,{ 6.97881E-01, 4.30794E-03, 2.28630E00, 7.84069E-01, 9.67872E02, 8.57874E-01, 1.78526E01, 1.11149E-01} + ,{ 5.92743E-01, 4.31334E-03, 1.40625E00, 9.68261E-01, 1.42642E03, 8.81488E-01, 1.44002E01, 4.24183E-02} + ,{ 2.83155E-02, 3.54506E-03, 5.64961E-01, 1.24111E00, 1.52781E03, 8.81848E-01, 2.59497E01, 3.54067E-02} + ,{ 2.69545E-01, 4.32088E-03, 2.24249E00, 7.64706E-01, 1.24391E03, 8.67051E-01, 2.34911E01, 6.04457E-02} + ,{ 3.68234E00, 4.37139E-03, 1.52146E00, 7.36656E-01, 1.47086E03, 8.74909E-01, 2.51685E02, 4.28115E-02} + ,{ 2.15403E00, 4.32278E-03, 2.69390E00, 5.23003E-01, 1.71727E03, 8.93617E-01, 2.09938E03, 5.25222E-02} + ,{ 5.31847E-01, 3.82833E-03, 6.75606E-01, 1.06647E00, 1.00848E03, 8.26099E-01, 3.58939E01, 4.19818E-02} + ,{ 6.91973E00, 4.01198E-03, 5.22284E-01, 9.74708E-01, 8.99033E02, 8.21636E-01, 3.71581E02, 7.38361E-02} + ,{ 1.80976E00, 4.48896E-03, 5.66120E00, 4.18493E-01, 1.55821E03, 8.70542E-01, 1.75605E03, 6.05859E-02} + ,{ 1.64641E00, 4.30255E-03, 5.12108E00, 5.16356E-01, 1.02024E03, 8.32723E-01, 2.20277E03, 8.46531E-02} + ,{ 4.07150E00, 4.29051E-03, 3.33803E00, 5.43517E-01, 2.60626E03, 9.03072E-01, 1.08974E03, 1.81133E-02} + ,{ 1.99798E00, 4.29503E-03, 3.23907E00, 5.93111E-01, 4.64572E03, 9.47444E-01, 6.40841E02, 9.69460E-03} + ,{ 5.08884E00, 4.25630E-03, 1.43000E00, 7.22156E-01, 7.08778E03, 9.79865E-01, 7.62818E02, 6.04351E-03} + ,{ 6.26370E-01, 4.13189E-03, 6.66229E-02, 2.65318E00, 1.07460E03, 8.14706E-01, 8.69523E00, 5.04427E-02} + ,{ 5.04987E00, 3.93427E-03, 4.95613E00, 5.27062E-01, 1.88617E03, 8.68672E-01, 4.81765E03, 3.49423E-02} + ,{ 1.17376E00, 4.21587E-03, 5.93823E00, 4.90520E-01, 1.55691E03, 8.49851E-01, 7.82193E03, 4.34207E-02} + ,{ 7.26083E00, 4.19413E-03, 5.93121E00, 4.47579E-01, 4.68769E03, 9.39722E-01, 2.44636E03, 1.01526E-02} + ,{ 3.51621E-01, 4.12551E-03, 1.33637E00, 1.28649E00, 1.49535E03, 8.50544E-01, 1.27864E01, 4.71084E-02} + ,{ 1.79112E-02, 4.17066E-03, 1.16601E00, 1.18837E00, 1.26027E03, 8.25733E-01, 1.29721E01, 4.82827E-02} + ,{ 3.72287E00, 4.17681E-03, 4.62860E00, 5.67689E-01, 1.67802E03, 8.62020E-01, 3.09395E03, 6.24402E-02} + ,{ 1.79112E-02, 4.17066E-03, 1.16601E00, 1.18837E00, 1.26027E03, 8.25733E-01, 1.29721E01, 4.82827E-02} + ,{ 3.07959E-01, 4.14183E-03, 5.45099E-01, 1.36766E00, 1.49906E03, 8.36456E-01, 2.65156E01, 3.82323E-02} + ,{ 8.13324E-01, 4.21976E-03, 5.48878E00, 6.21228E-01, 1.49147E03, 8.43298E-01, 1.70197E01, 6.33415E-02} + ,{ 2.89508E00, 4.20494E-03, 5.30021E00, 4.58632E-01, 1.38077E03, 8.35929E-01, 1.31565E04, 7.68200E-02} + ,{ 3.47169E00, 4.13440E-03, 3.23372E00, 6.37885E-01, 1.11636E03, 8.19589E-01, 4.76603E03, 1.17895E-01} + ,{ 2.28576E00, 4.22582E-03, 3.48478E00, 6.25713E-01, 8.04033E02, 7.95990E-01, 8.95357E03, 3.02479E-01} + ,{ 4.70915E00, 4.09414E-03, 3.88322E00, 5.82491E-01, 1.03140E03, 8.15544E-01, 1.33004E04, 1.67355E-01} + ,{ 7.35883E00, 4.38746E-03, 3.22730E00, 6.93616E-01, 1.36465E03, 8.32171E-01, 1.51236E03, 7.87703E-02} + ,{ 1.20379E00, 4.21476E-03, 4.65732E00, 6.15557E-01, 8.57568E02, 7.94208E-01, 5.81437E03, 2.55765E-01} + ,{ 4.21323E00, 4.20978E-03, 4.67533E00, 5.79451E-01, 3.50393E03, 8.92614E-01, 1.46887E03, 1.43590E-02} + ,{ 1.00615E01, 3.91035E-03, 3.64002E-01, 1.20347E00, 1.53997E03, 8.21892E-01, 1.42428E03, 4.02424E-02} + ,{ 3.73157E-01, 3.64035E-03, 2.26519E00, 1.15100E00, 1.67529E03, 8.37764E-01, 1.30656E01, 5.16993E-02} + ,{ 4.82483E00, 4.14578E-03, 6.09343E00, 5.70256E-01, 2.30011E03, 8.63588E-01, 2.98072E03, 3.86788E-02} + ,{ 5.74872E-01, 4.10857E-03, 2.76314E00, 8.78406E-01, 6.54727E02, 7.77081E-01, 4.60584E02, 9.63426E-01} + ,{ 3.27544E00, 4.21774E-03, 5.76803E00, 5.40540E-01, 6.63129E03, 9.42817E-01, 7.44066E02, 8.30259E-03} + ,{ 2.99783E00, 4.09014E-03, 4.52986E00, 6.20247E-01, 2.16115E03, 8.56688E-01, 1.26859E03, 4.30305E-02} + ,{ 3.02248E00, 4.10313E-03, 3.16182E00, 7.50444E-01, 6.87321E02, 7.65038E-01, 3.63380E02, 3.89438E-01} + ,{ 3.56550E00, 4.11367E-03, 6.01196E00, 5.21709E-01, 1.83002E03, 8.38996E-01, 3.66199E03, 5.75667E-02} + ,{ 3.64072E00, 4.17820E-03, 4.87424E00, 5.78614E-01, 1.26770E03, 8.22111E-01, 3.50817E03, 2.41737E-01} + ,{ 5.42525E-01, 4.12806E-03, 4.33656E00, 6.39323E-01, 1.10785E03, 7.88122E-01, 3.52321E02, 9.46601E-02} + ,{ 7.54702E00, 4.08134E-03, 4.92913E00, 5.07107E-01, 2.56583E03, 8.61877E-01, 3.29996E03, 3.12730E-02} + ,{ 4.43006E00, 4.19028E-03, 5.39210E00, 5.08608E-01, 3.60527E03, 8.85038E-01, 1.68786E03, 1.64866E-02} + ,{ 4.31706E00, 4.06269E-03, 3.55237E00, 5.72971E-01, 2.13874E03, 8.39174E-01, 3.20435E03, 2.94710E-02} + ,{ 2.73097E00, 4.02842E-03, 3.10590E00, 6.45438E-01, 1.80236E03, 8.20889E-01, 6.91941E02, 3.06839E-02} + ,{ 1.27982E00, 4.05535E-03, 4.63018E00, 5.73846E-01, 1.59512E03, 8.16419E-01, 1.06728E03, 5.52321E-02} + ,{ 5.75613E00, 4.04905E-03, 4.35700E00, 5.24956E-01, 2.20732E03, 8.37956E-01, 1.57951E03, 2.71650E-02} + ,{ 9.20610E00, 4.03636E-03, 3.37689E00, 5.72174E-01, 3.66035E03, 8.68034E-01, 1.19114E03, 9.53995E-03} + ,{ 8.23962E00, 4.04348E-03, 3.83028E00, 5.34511E-01, 4.35771E03, 8.82431E-01, 1.52426E03, 7.86437E-03} + ,{ 3.06189E00, 4.05111E-03, 3.58030E00, 5.90820E-01, 2.34610E03, 8.37132E-01, 1.22199E03, 2.00717E-02} + ,{ 7.99485E00, 3.29576E-03, 1.26335E00, 7.77934E-01, 1.80413E03, 8.12400E-01, 1.26630E03, 2.63526E-02} + ,{ 6.48326E00, 4.14609E-03, 7.76185E-01, 1.08393E00, 2.50557E02, 6.43106E-01, 1.77277E02, 8.98821E-01} + ,{ 6.20494E-01, 4.03017E-03, 2.53792E00, 6.77642E-01, 7.27918E02, 7.48340E-01, 1.17069E02, 2.01369E-01} + ,{ 5.51045E-01, 4.02571E-03, 2.70928E00, 6.83870E-01, 1.08946E03, 7.77755E-01, 1.08830E03, 8.10305E-02} + ,{ 1.26011E00, 4.04797E-03, 3.57127E00, 5.25416E-01, 2.61309E03, 8.53001E-01, 2.15571E03, 2.82139E-02} + ,{ 3.20857E00, 4.05101E-03, 3.66577E00, 5.36178E-01, 3.09116E03, 8.56024E-01, 1.50812E03, 1.54014E-02} + ,{ 1.04066E00, 4.05071E-03, 5.61035E00, 4.39133E-01, 3.64613E03, 8.69259E-01, 2.87840E03, 1.39437E-02} + ,{ 1.04586E00, 4.05038E-03, 5.38433E00, 4.45067E-01, 3.71715E03, 8.70310E-01, 2.90728E03, 1.32933E-02} + ,{ 3.15124E00, 4.05235E-03, 4.09956E00, 5.42499E-01, 3.24631E03, 8.57723E-01, 1.69177E03, 1.50581E-02} + ,{ 3.06995E00, 4.05334E-03, 6.62045E00, 4.52822E-01, 3.38058E03, 8.60267E-01, 2.63856E03, 1.53938E-02} + ,{ 3.84541E00, 4.06028E-03, 8.77920E00, 4.42301E-01, 2.72199E03, 8.43866E-01, 2.51315E03, 2.28962E-02} + ,{ 4.36117E00, 4.05648E-03, 8.18512E00, 4.36260E-01, 3.11358E03, 8.52235E-01, 3.00179E03, 1.72051E-02} + ,{ 4.36117E00, 4.05648E-03, 8.18512E00, 4.36260E-01, 3.11358E03, 8.52235E-01, 3.00179E03, 1.72051E-02} + ,{ 3.22200E00, 4.00409E-03, 5.90236E00, 5.26779E-01, 4.04015E03, 8.68037E-01, 1.65835E03, 1.17469E-02} + ,{ 9.34124E00, 3.96606E-03, 7.92099E00, 4.29769E-01, 5.18090E03, 8.87726E-01, 2.17316E03, 9.20070E-03} + ,{ 6.28686E00, 3.96735E-03, 5.81778E00, 5.35859E-01, 4.86643E03, 8.84427E-01, 2.25734E03, 1.05815E-02} + ,{ 5.92839E00, 3.96948E-03, 6.40824E00, 5.21225E-01, 4.61951E03, 8.80827E-01, 2.32352E03, 1.16274E-02} + ,{ 5.24536E00, 3.97440E-03, 6.79689E00, 4.85424E-01, 4.58631E03, 8.77944E-01, 2.48150E03, 1.12824E-02} + ,{ 2.77047E00, 3.98192E-03, 3.55107E00, 6.38231E-01, 2.51688E03, 8.29309E-01, 2.15559E03, 2.31207E-02} + ,{ 2.78483E00, 3.98116E-03, 3.32988E00, 6.47983E-01, 2.66277E03, 8.36780E-01, 2.33743E03, 2.40740E-02} + + }; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4hSRIM2000p::G4hSRIM2000p():G4VhElectronicStoppingPower(), + protonMassAMU(1.007276) +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4hSRIM2000p::~G4hSRIM2000p() +{;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool G4hSRIM2000p::HasMaterial(const G4Material* material) +{ + if(1 == (material->GetNumberOfElements())) return true; + return false ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4hSRIM2000p::StoppingPower(const G4Material* material, + G4double kineticEnergy) +{ + G4double ionloss = 0.0 ; + + // pure material (normally not the case for this function) + if(1 == (material->GetNumberOfElements())) { + G4double z = material->GetZ() ; + ionloss = ElectronicStoppingPower( z, kineticEnergy ) ; + } + + return ionloss; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4hSRIM2000p::ElectronicStoppingPower(G4double z, + G4double kineticEnergy) const +{ + G4double ionloss ; + G4int i = G4int(z) - 1 ; // index of atom + if(i < 0) i = 0 ; + if(i > 91) i = 91 ; + + // Proton kinetic energy for parametrisation in Ziegler's units (keV/amu) + + G4double T = kineticEnergy/(keV*protonMassAMU) ; + + + + G4double e = T ; + if ( T < 25.0 ) e = 25.0 ; + + // universal approximation + G4double slow = a[i][0] * pow(e, a[i][1]) + a[i][2] * pow(e, a[i][3]) ; + G4double shigh = log( a[i][6]/e + a[i][7]*e ) * a[i][4] / pow(e, a[i][5]) ; + ionloss = slow*shigh / (slow + shigh) ; + + // low energy region + if ( T < 25.0 ) { + + G4double s = 0.45 ; + // light elements + if(6.5 > z) s = 0.25 ; + // semiconductors + if(5 == i || 13 == i || 31 == i) s = 0.375 ; + + ionloss *= pow(T/25.0, s) ; + } + + if ( ionloss < 0.0) ionloss = 0.0 ; + + return ionloss; +} + diff --git a/source/processes/electromagnetic/muons/History b/source/processes/electromagnetic/muons/History index b95b3419d3..5cce03b5e1 100644 --- a/source/processes/electromagnetic/muons/History +++ b/source/processes/electromagnetic/muons/History @@ -1,4 +1,4 @@ -$Id: History,v 1.34 2002/12/09 10:26:20 vnivanch Exp $ +$Id: History,v 1.44 2003/04/29 07:24:24 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,38 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28 Apr 03: V.Ivant (muons-V05-00-08) +-fix leak in retrieve tables + +26 Apr 03: V.Ivant (muons-V05-00-07) +-fix store/retrieve tables + +09 Apr 03: V.Ivant (muons-V05-00-06) +-G4VeMuEnergyLoss : make finalRange to be region aware + +25 Mar 03: mma (muons-V05-00-05) +-G4VeMuEnergyLoss : add finalRangeRequested + +13 feb 03: V.Ivant (muons-V05-00-04) +- add names for all models +- make the set of model per region available +- make SubCutoff regime available per region + +05 feb 03: V.Ivant (muons-V05-00-03) +- Fix on warnings at SUN for STD classes +- Add Initialise method to STD classes to calculate PartialSumSigma +- Subsitute Material by MaterialCutsCouple for PostStep STD + +24 jan 03: V.Ivant (muons-V05-00-02) +- Migration to "cut per region" + +08 jan 03: mma (muons-V05-00-01) +-MuPairProduction::PostStepDoIt : remove 'tracking cut' of muon + +06 jan 03: V.Ivant (muons-V05-00-00) +- Update interfaces to STD classes in order to be ready to migrade + to "cut per region" + 09 dec 02: V.Ivant (muons-V04-01-03) -fix warning in G4MuIonisationSTD diff --git a/source/processes/electromagnetic/muons/documents/dif_tab.dat b/source/processes/electromagnetic/muons/documents/dif_tab.dat deleted file mode 100644 index d13d161988..0000000000 --- a/source/processes/electromagnetic/muons/documents/dif_tab.dat +++ /dev/null @@ -1,54 +0,0 @@ - No.events=1000000 - X=1000 g/cm2 Fe - T=100 GeV T=10000 GeV - bc b k n p b k n p - -.950 1015.9 155842.0 .0 80340.4 1018.8 165585.0 .0 281133.8 - -.850 1015.2 123833.1 .0 75005.4 1018.8 131898.4 .0 284400.3 - -.750 1014.3 98379.0 .0 68839.1 1018.8 105052.9 .0 285790.3 - -.650 1013.1 78139.7 1002.2 62042.4 1018.8 83661.7 1760.4 285381.4 - -.550 1011.6 62048.8 901.3 54844.3 1018.8 66618.6 1590.7 283275.9 - -.450 1009.8 49257.4 811.0 47492.3 1018.8 53041.3 1439.8 279594.9 - -.350 1007.5 39090.2 730.2 40236.1 1018.7 42226.3 1305.5 274473.0 - -.250 1004.7 31009.8 657.6 33308.3 1018.7 33612.7 1186.1 268052.0 - -.150 1001.1 24588.6 592.5 26906.0 1018.7 26753.0 1079.9 260475.6 - -.050 996.7 19486.5 534.1 21179.8 1018.7 21290.8 985.6 251883.9 - .050 991.2 15433.1 481.6 16229.7 1018.7 16941.9 901.9 242410.7 - .150 984.5 12213.2 434.6 12102.7 1018.6 13479.8 827.8 232180.2 - .250 976.1 9655.8 392.4 8790.1 1018.6 10723.9 762.4 221306.5 - .350 965.9 7624.9 354.5 6229.3 1018.6 8530.4 704.6 209892.6 - .450 953.5 6012.3 320.5 4317.9 1018.5 6784.8 653.6 198031.8 - .550 938.4 4732.2 289.7 2934.4 1018.4 5395.7 608.8 185808.4 - .650 920.3 3716.2 261.8 1959.1 1018.3 4290.5 569.3 173300.2 - .750 898.6 2910.0 236.4 1286.7 1018.2 3411.2 534.5 160580.9 - .850 873.0 2270.7 212.9 831.9 1018.1 2711.8 503.9 147723.5 - .950 843.0 1764.0 191.1 529.5 1017.9 2155.4 476.9 134803.8 - 1.050 808.1 1362.6 170.7 331.4 1017.6 1712.9 452.9 121905.0 - 1.150 768.2 1045.2 151.3 203.8 1017.3 1361.1 431.7 109121.5 - 1.250 723.1 794.6 132.7 123.0 1017.0 1081.3 412.7 96562.6 - 1.350 672.9 597.4 114.8 72.7 1016.5 858.8 395.6 84354.7 - 1.450 618.4 442.8 97.6 42.1 1015.9 682.0 380.1 72639.3 - 1.550 560.7 322.7 81.1 23.9 1015.1 541.4 366.0 61567.2 - 1.650 501.8 230.4 65.5 13.5 1014.2 429.7 352.9 51286.6 - 1.750 444.1 160.9 51.1 7.7 1013.0 340.9 340.7 41928.2 - 1.850 387.1 110.4 37.8 4.6 1011.5 270.4 329.1 33591.5 - 1.950 300.1 75.6 22.1 2.8 1009.6 214.3 318.0 26338.0 - 2.050 .0 .0 .0 .0 1007.3 169.8 307.3 20189.6 - 2.150 .0 .0 .0 .0 1004.3 134.4 296.6 15126.5 - 2.250 .0 .0 .0 .0 1000.6 106.3 286.0 11085.2 - 2.350 .0 .0 .0 .0 996.0 84.0 275.3 7959.3 - 2.450 .0 .0 .0 .0 990.3 66.3 264.3 5611.7 - 2.550 .0 .0 .0 .0 983.1 52.2 253.0 3893.8 - 2.650 .0 .0 .0 .0 974.1 41.1 241.2 2663.7 - 2.750 .0 .0 .0 .0 963.0 32.2 228.8 1798.5 - 2.850 .0 .0 .0 .0 949.4 25.2 215.7 1199.0 - 2.950 .0 .0 .0 .0 932.7 19.6 201.9 788.9 - 3.050 .0 .0 .0 .0 912.4 15.2 187.2 511.9 - 3.150 .0 .0 .0 .0 887.9 11.7 171.6 327.1 - 3.250 .0 .0 .0 .0 859.0 8.9 155.1 205.6 - 3.350 .0 .0 .0 .0 825.4 6.8 137.7 126.8 - 3.450 .0 .0 .0 .0 787.7 5.1 119.8 76.7 - 3.550 .0 .0 .0 .0 747.4 3.7 101.5 45.6 - 3.650 .0 .0 .0 .0 707.8 2.7 83.5 26.8 - 3.750 .0 .0 .0 .0 675.1 2.0 66.1 15.8 - 3.850 .0 .0 .0 .0 658.6 1.4 49.5 9.8 - 3.950 .0 .0 .0 .0 655.9 1.0 29.2 6.6 diff --git a/source/processes/electromagnetic/muons/documents/ion_comm.txt b/source/processes/electromagnetic/muons/documents/ion_comm.txt deleted file mode 100644 index 3bea318ad2..0000000000 --- a/source/processes/electromagnetic/muons/documents/ion_comm.txt +++ /dev/null @@ -1,21 +0,0 @@ -COMMENTS ON IONISATION AND KNOCK-ON ELECTRONS WITH -CORRECTION - -1) Let us introduce Tbound (? 100 KeV); below Tbound the correction to the -differential cross section is negligibly small. -2) There also exists Tmax (= function (E)) defined by kinematics. In this case, the -following possibilities appear: -3) Tmax < Tbound; usual BBS energy loss (and Bhabha cross section – for Tcut < -Tmax, with correction or without it, it does not play any substantial role) may be -used, as it was earlier. But it takes place only for rather low muon energies. -4) Tmax > Tbound, with three possibilities for Tcut: -5) Tcut < Tbound: restricted BBS energy loss (< Tcut), numerical calculation of the total -cross section with accurate formula and sampling with accurate formula are needed. -6) Tbound < Tcut < Tmax: for energy loss it is necessary to take “usual” restricted BBS -(< Tbound) plus “twice restricted” numerically integrated energy loss for the interval -(Tbound,Tcut), total cross section and sampling being similar to preceding point. -7) Tcut > Tmax: restricted BBS (< Tbound) plus twice restricted numerical (Tbound, -Tmax); discrete interactions are not simulated. - -RPK 10.05.2000 - diff --git a/source/processes/electromagnetic/muons/documents/mcs_qst.txt b/source/processes/electromagnetic/muons/documents/mcs_qst.txt deleted file mode 100644 index bd603d78c7..0000000000 --- a/source/processes/electromagnetic/muons/documents/mcs_qst.txt +++ /dev/null @@ -1,45 +0,0 @@ -By R.P.Kokoulin, May 12th, 2000 - -Multiple Coulomb Scattering – some questions and problems - -Apart from the problems of creation and development of convenient -procedure for fast simulation of the effect, some principal questions are to be -answered (possibly, most of them have already been investigated) - -General - -Is it possible to use cross section formulae without magnetic formfactor and spin effects: - -a) for nucleus (probably yes); -b) for proton (possibly yes); -c) for electron (probably no). - -Should the scattering on the screened nucleus and on atomic electrons be considered -separately? (likely, they should; they probably can be combined later, but…) - -Scattering on the nucleus: - -a) influence of the choice of the elastic atomic formfactor (TF, HF, hydrogen-like, …); -there is a hope that the difference is small (with a proper choice of the parameters) but -it should be estimated; -b) influence of the nuclear size (it should influence RMS angle and distribution shape on -the tail); -c) influence of the choice of nuclear formfactor (exponential, Gaussian, Fermi model, -etc.); probably, it is small (only RMS nucleus radius is crucial) but it is better to -compare directly; -d) contribution of inelastic nucleus formfactor (incoherent scattering on protons of the -nucleus); -e) necessity of taking into account proton formfactor (for incoherent scattering); last two -points are expected to give small effect but need evaluation. - -Scattering on atomic electrons: - -a) introduction and influence of the choice of inelastic atomic formfactor (TH, -hydrogen-like exponential, what else?) – it should be evaluated; more simple -approaches, such as Z(Z+1) substitutions, seem to be incorrect; -b) problem of a double account for scattering on electrons if explicit simulation of the -elastic scattering of the projectile on electrons (possibly, above the cut Tcut) is -included (knock-on electron production with full kinematics) – the possible way is to -consider restricted multiple scattering (below Tcut). - - diff --git a/source/processes/electromagnetic/muons/documents/mcs_refs.txt b/source/processes/electromagnetic/muons/documents/mcs_refs.txt deleted file mode 100644 index deba603356..0000000000 --- a/source/processes/electromagnetic/muons/documents/mcs_refs.txt +++ /dev/null @@ -1,27 +0,0 @@ -Some references concerning multiple scattering (May, 2000; RPK) - -1) S.Hayakawa. Cosmic Ray Physics. -2) S.Striganov. Nucl.Phys.B (Proc.Suppl.) 51A (1996) 172-178. -3) B.Rossi. High Energy Particles. -4) I.S.Baishev e.a. Sov.J.Nucl.Phys. 42 (1985) 745-749. -5) G.R.Lynch, O.I.Dahl. NIM B58 (1991) 6-10. -6) A.Van Ginneken. NIM A251 (1986) 21-39. -7) A.Van Ginneken. NIM A362 (1995) 213-223. -8) D.Liljequist. J.Appl.Phys. 62 (1987) 333-341. -9) D.Liljequist, M.Ismail. J.Appl.Phys. 62 (1987) 342-350. -10) D.Liljequist e.a. J.Appl.Phys. 68 (1990) 3061-3065. -11) G.Shen e.a. Phys.Rev.D 20 (1979) 1584-1588. -12) J.M.Fernandez-Varea e.a. NIM B73 (1993) 447-473. -13) P.Arce, M.Wadhwa. CMS Note 1999/000 (?). -14) L.Urban. G4 Phys.Ref.Manual (also G3toG4/quick overview and references). -15) G.Moliere. Z.Naturforsch. 2a (1947) 133-145. -16) G.Moliere. Z.Naturforsch. 3a (1948) 78-97. -17) H.A.Bethe. Phys.Rev. 89 (1953) 1256-1266. -18) W.T.Scott. Rev.Mod.Phys. 35 (1963) 231-313. -19) L.N.Cooper, J.Rainwater. Phys.Rev. 97 (1955) 492-504. -20) U.Fano. Phys.Rev. 93 (1954) 117-120. -21) H.W.Lewis. Phys.Rev. 78 (1950) 526-529. -22) S.Goudsmit, J.L.Sounderson. Phys.Rev. 57 (1940) 24-29. -23) S.Goudsmit, J.L.Sounderson. Phys.Rev. 58 (1940) 36-42. -24) Y.S.Tsai. Rev.Mod.Phys. 46 (1974) 815-851; ibid. 49 (1977) 421 - Errata. -25) L.V.Spencer, C.H.Blanchard. Phys.Rev. 93 (1954) 114-116. diff --git a/source/processes/electromagnetic/muons/documents/summary.txt b/source/processes/electromagnetic/muons/documents/summary.txt deleted file mode 100644 index 190895631d..0000000000 --- a/source/processes/electromagnetic/muons/documents/summary.txt +++ /dev/null @@ -1,47 +0,0 @@ -Prepared by R.Kokoulin, May 22nd, 2000 - -Brief summary of G4 muon activity, May 2nd - May 23rd, 2000 -S.Kelner, R.Kokoulin, M.Maire, A.Rybin, L.Urban - -1. G4 muon tests -The test procedure of the verification of muon interaction simulation which allows to check -both mean free path calculation and energy transfer sampling has been suggested and -implemented. -First test results revealed appreciable deviations of the distributions of the energy loss from -theoretical dependencies (for bremsstrahlung, pair production, nuclear interaction). Several bugs -have been found and eliminated; it has greatly improved the agreement. -The program of further G4 muon tests has been prepared and agreed, including thin target -tests (extending the set of materials, energies, and increasing statistics), and thick target -simulation which will allow to verify the consistency of consideration of restricted continuous -energy loss. - -2. Refinement of the processes already implemented -Simple formulae and algorithm for sampling photon and muon angles in muon -bremsstrahlung have been suggested and prepared for implementation in G4. It will be coded in -the nearest days. -Final states for other processes (pair production, photonuclear interaction) have been -clarified, fixed and introduced into documentation. -Logical scheme of a consistent inclusion of bremsstrahlung correction in high-energy knock- -on electron production and ionisation energy loss is prepared. -List of questions concerning the validity of multiple scattering model has been compiled. -After answering these questions, the "calibration" simulation of MCS for high-energy muons can -be performed. - -3. Documentation -Sections concerning three basic muon interaction processes (bremsstrahlung, pair production, -photonuclear interaction) for PRM (Phys. Ref. Manual) have been extended, updated and -corrected. -Suggestions for improvements for the section in PRM about muon ionisation, and also -comments and corrections for "Electromagnetic Physics" gallery have been prepared. - -4. Extension of the muon interactions in G4 -List of muon processes for further inclusion in G4 has been discussed. The processes of -interest are: muon pair production by photon, muon pair production by muon, diffractive -bremsstrahlung (which leads to a difference in positive/negative muon energy loss). Refinement -of multiple scattering and introduction of the screening correction to bremsstrahlung and pair -production based on recent calculations of radiation logarithm in HF model are also important -and can improve the accuracy of G4-based simulations. The level of theoretical knowledge of -these processes is sufficient for their implementation into algorithms and codes. -Theoretical clarification of LPM and Coulomb corrections for electron pair production by -muons is needed; these are important both for accelerator and high-energy cosmic ray -applications. diff --git a/source/processes/electromagnetic/muons/documents/tasklist.txt b/source/processes/electromagnetic/muons/documents/tasklist.txt deleted file mode 100644 index daea702e7f..0000000000 --- a/source/processes/electromagnetic/muons/documents/tasklist.txt +++ /dev/null @@ -1,36 +0,0 @@ -List of problems with G4muons 15.05.00 - -(Rostislav, Andrew, Laszlo, Michel, Stas, …, May 15th – May 22nd ) - -1) Tests electromagnetic (conduction, search of the possible -sources of disagreement,…) -a) brems -b) pairs -c) knock-on - -2) Tests photonuclear - -3) Physics Reference Manual -Brems, pairs, photonuclear, ionisation -a) to agree -b) to correct -c) to verify -d) to commission - -4)”A Quick Overview” - corrections - -5) Summary Note on HE muons in G4 -a) to prepare draft -b) to discuss and to correct -c) to prepare the iteration (pre-final) - -6) Discussions: -a) final states in the above processes -b) multiple scattering – applicability for HE muons -c) muon pairs by photon -d) muon pairs by muon -e) diffractive bremsstrahlung -f) … - -7) Concluding remarks and summary - diff --git a/source/processes/electromagnetic/muons/documents/testlist.txt b/source/processes/electromagnetic/muons/documents/testlist.txt deleted file mode 100644 index d26e105d82..0000000000 --- a/source/processes/electromagnetic/muons/documents/testlist.txt +++ /dev/null @@ -1,47 +0,0 @@ -List of tests of HE muon interactions in Geant4 -(By RPK 20-21.05.00) - -Thin target (to continue the works started): - -10 TeV, 100 cm iron, 10^5 muons, 4 processes: delta, brems, pairs, photonuclear - (to compare with the expectation: X*?(T,?)*?*N?*?lg*log10) - -Remaining problems found at the moment: - -1) Knock-on electron production for high-energy muons has to be modified (including -contribution from electron bremsstrahlung diagrams and radiative corrections); now it -is not implemented properly; -2) There is a hint for a peak near the edge of the distribution of energy lost by muon in -photonuclear interaction (similar to that which was found and eliminated earlier in the -bremsstrahlung); - problem has been solved! (L.U.,May 22nd) -3) It is not clear whether the energy lost by muon is equal to the energy transferred to -secondary particles (kinetic energy of delta-electron, total energy of electron and -positron in pair production, etc.). There is a hint that they are different. -4) With high statistics simulation, an error appears sometimes in -G4HEInelastic::GenerateNBodyEvent (total mass >= total energy). - -After the general agreement is reached, to extend these calculations (with additional -energy/material): - -Muon energies: 100 GeV and 10 TeV -Materials: iron (100 cm, or 787 g/cm^2) and carbon (graphite, 500 cm x 2.265 g/cm^3) - -Again, after the agreement is reached, to perform calculations for iron and carbon target -at 10 TeV energy with increased statistics (about 10^6 muons), to compare with -expectation (also in terms of the ratio "simulated/expected"), to prepare beautiful pictures -for inclusion in EM Physics gallery and other presentations. - -Thick target (distribution of the total energy lost by muon in bulk matter, including -continuous energy loss and all 4 discrete processes), 3 m iron, 1 TeV muon energy, -statistics about 10^5, then 10^6 muons: - -- histograms of the residual muon energy (in linear scale, 2 GeV bin) and of the energy -lost by muon (in log scale, 0.10 bin in common logarithm); comparison is possible -with Van Ginneken's TRAMU (the figure given by Particle Data Group) and with -Geant 3.21** (A.Rybin); also simulation with original Geant 3.21 is of interest - to -show, where it was wrong; -- cut variation: with cut = 1 - 100 MeV the distribution should be the same (in -particular, this is one of the tests of the consistency of continuous loss calculation); -- histograms of the scattering angle and lateral displacement (nothing to compare? may -be, Geant 3.21 ?). - diff --git a/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh b/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh index d6a08cf4ab..4166fdbf16 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh @@ -29,13 +29,18 @@ // File name: G4MuBetheBlochModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 09.08.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add Nama (V.Ivanchenko) +// // -// Class Description: +// Class Description: // // Implementation of Bethe-Bloch model of energy loss and // delta-electron production by heavy charged particles @@ -53,25 +58,24 @@ class G4MuBetheBlochModel : public G4VEmModel public: - G4MuBetheBlochModel(const G4ParticleDefinition* p = 0); + G4MuBetheBlochModel(const G4ParticleDefinition* p = 0, const G4String& nam = "MuBetheBloch"); ~G4MuBetheBlochModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + G4bool IsInCharge(const G4ParticleDefinition*); virtual G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,8 +88,14 @@ public: G4double cutEnergy, G4double maxEnergy); - virtual G4std::vector* SampleSecondary( - const G4Material*, + virtual G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + virtual G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); @@ -122,7 +132,7 @@ private: G4double highKinEnergy; G4double lowKinEnergy; G4double twoln10; - G4double bg2lim; + G4double bg2lim; G4double taulim; G4double qc; }; diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh index ddf41ec885..a3a2a75777 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh @@ -21,15 +21,16 @@ // ******************************************************************** // // -// $Id: G4MuBremsstrahlung.hh,v 1.12 2001/10/29 13:53:18 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuBremsstrahlung.hh,v 1.14 2003/01/20 18:16:25 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4MuBremsstrahlung physics process ------------------ // by Laszlo Urban, September 1997 //------------------------------------------------------------------------------ // 10/02/00 modifications , new e.m. structure, L.Urban // 10-08-01: new methods Store/Retrieve PhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) //------------------------------------------------------------------------------ #ifndef G4MuBremsstrahlung_h @@ -37,25 +38,26 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4ios.hh" +#include "G4ios.hh" #include "globals.hh" -#include "Randomize.hh" +#include "Randomize.hh" #include "G4VMuEnergyLoss.hh" #include "G4Track.hh" #include "G4Step.hh" -#include "G4OrderedTable.hh" +#include "G4OrderedTable.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" +#include "G4MaterialCutsCouple.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + class G4MuBremsstrahlung : public G4VMuEnergyLoss - -{ + +{ public: - + G4MuBremsstrahlung(const G4String& processName = "MuBrems"); - + ~G4MuBremsstrahlung(); G4bool IsApplicable(const G4ParticleDefinition&); @@ -65,55 +67,55 @@ class G4MuBremsstrahlung : public G4VMuEnergyLoss void BuildLossTable(const G4ParticleDefinition& ParticleType); void BuildLambdaTable(const G4ParticleDefinition& ParticleType); - + void PrintInfoDefinition(); G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); - + G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); + const G4Step& Step ); G4double GetDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, - G4double AtomicMass, + G4double AtomicMass, G4double GammaEnergy); - + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file - // specified by 'directory' + // specified by 'directory' protected: G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial); + G4double KineticEnergy, + const G4MaterialCutsCouple* couple); void ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial); + G4double KineticEnergy, + const G4MaterialCutsCouple* couple); virtual G4double ComputeMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, - G4double AtomicMass, + G4double AtomicMass, G4double GammaEnergyCut); virtual G4double ComputeDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, - G4double AtomicMass, + G4double AtomicMass, G4double GammaEnergy); private: @@ -125,27 +127,30 @@ class G4MuBremsstrahlung : public G4VMuEnergyLoss G4double Z,G4double A, G4double T, G4double Cut); - G4Element* SelectRandomAtom(G4Material* aMaterial) const; + const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; void MakeSamplingTables( const G4ParticleDefinition* ParticleType ); + protected: + + virtual G4double SecondaryEnergyThreshold(size_t index); + private: - G4PhysicsTable* theMeanFreePathTable; + G4PhysicsTable* theMeanFreePathTable; - G4OrderedTable PartialSumSigma; + G4OrderedTable PartialSumSigma; static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; + static G4double UpperBoundLambda; static G4int NbinLambda; G4double LowestKineticEnergy,HighestKineticEnergy; G4int TotBin; - const G4double* GammaCutInKineticEnergy; - G4double GammaCutInKineticEnergyNow; + const G4std::vector* secondaryEnergyCuts; - // tables for sampling + // tables for sampling static G4int nzdat,ntdat,NBIN; static G4double zdat[5],adat[5],tdat[8]; static G4double ya[1001],proba[5][8][1001]; @@ -165,5 +170,5 @@ class G4MuBremsstrahlung : public G4VMuEnergyLoss //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4MuBremsstrahlung.icc" - + #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.icc b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.icc index 7d6aeb7ac8..40e36120a8 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.icc +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuBremsstrahlung.icc,v 1.8 2001/10/24 16:36:40 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuBremsstrahlung.icc,v 1.9 2003/01/17 18:54:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4MuBremsstrahlung physics process ------------------ // by Laszlo Urban, September 1997 @@ -33,6 +33,7 @@ // 17-09-01 migration of Materials to pure STL (mma) // 29.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // //------------------------------------------------------------------------------ @@ -43,54 +44,54 @@ inline G4double G4MuBremsstrahlung::GetMeanFreePath(const G4Track& trackData, G4ForceCondition* condition) { const G4DynamicParticle* aDynamicParticle; - G4Material* aMaterial; G4double MeanFreePath; G4bool isOutRange ; - + *condition = NotForced ; aDynamicParticle = trackData.GetDynamicParticle(); - aMaterial = trackData.GetMaterial(); + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); if (KineticEnergy < LowestKineticEnergy) MeanFreePath = DBL_MAX ; else { - if (KineticEnergy > HighestKineticEnergy) + if (KineticEnergy > HighestKineticEnergy) KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> + MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> GetValue( KineticEnergy, isOutRange ); } - return MeanFreePath; -} + return MeanFreePath; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + inline G4double G4MuBremsstrahlung::ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, - const G4Material* aMaterial) + const G4MaterialCutsCouple* couple) { + const G4Material* aMaterial = couple->GetMaterial(); const G4ElementVector* theElementVector = aMaterial->GetElementVector() ; - const G4double* theAtomNumDensityVector = + const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = (G4Gamma::Gamma())->GetEnergyThreshold(aMaterial); + G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); G4double SIGMA = 0 ; for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * + { + SIGMA += theAtomNumDensityVector[i] * ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), - (*theElementVector)[i]->GetA(), + (*theElementVector)[i]->GetZ(), + (*theElementVector)[i]->GetA(), GammaEnergyCut ); - } + } return SIGMA > 0. ? 1./SIGMA : DBL_MAX; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + inline G4bool G4MuBremsstrahlung::IsApplicable( const G4ParticleDefinition& particle) { @@ -99,4 +100,11 @@ inline G4bool G4MuBremsstrahlung::IsApplicable( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + +inline G4double G4MuBremsstrahlung::SecondaryEnergyThreshold(size_t index) +{ + return (*secondaryEnergyCuts)[index]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh index 3a94ce1575..babfc67252 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh @@ -32,10 +32,15 @@ // // Creation date: 18.05.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// // -// Class Description: +// Class Description: // // Implementation of energy loss for gamma emission by muons @@ -52,25 +57,24 @@ class G4MuBremsstrahlungModel : public G4VEmModel public: - G4MuBremsstrahlungModel(const G4ParticleDefinition* p = 0); + G4MuBremsstrahlungModel(const G4ParticleDefinition* p = 0, const G4String& nam = "MuBrem"); ~G4MuBremsstrahlungModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -83,42 +87,48 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); - + + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + virtual G4double MaxSecondaryEnergy( - const G4DynamicParticle* dynParticle); + const G4DynamicParticle* dynParticle); protected: virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kineticEnergy); + G4double kineticEnergy); private: - G4double ComputMuBremLoss(G4double Z, G4double A, G4double tkin, G4double cut); + G4double ComputMuBremLoss(G4double Z, G4double A, G4double tkin, G4double cut); G4double ComputeMicroscopicCrossSection(G4double tkin, G4double Z, - G4double A, + G4double A, G4double cut); G4double ComputeDMicroscopicCrossSection(G4double tkin, G4double Z, - G4double A, + G4double A, G4double gammaEnergy); - void ComputePartialSumSigma(const G4Material* material, G4double tkin, - G4double cut); + G4DataVector* ComputePartialSumSigma(const G4Material* material, + G4double tkin, G4double cut); - const G4Element* SelectRandomAtom(const G4Material* material) const; + const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; void MakeSamplingTables(); - // hide assignment operator + // hide assignment operator G4MuBremsstrahlungModel & operator=(const G4MuBremsstrahlungModel &right); G4MuBremsstrahlungModel(const G4MuBremsstrahlungModel&); @@ -126,13 +136,12 @@ private: G4double lowKinEnergy; G4double minThreshold; - // tables for sampling + // tables for sampling G4int nzdat,ntdat,NBIN; static G4double zdat[5],adat[5],tdat[8]; G4double ya[1001], proba[5][8][1001]; G4double cutFixed; - const G4Material* oldMaterial; G4std::vector partialSumSigma; G4bool samplingTablesAreFilled; @@ -140,7 +149,7 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline +inline G4double G4MuBremsstrahlungModel::MaxSecondaryEnergy( const G4DynamicParticle* dynParticle) { diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungSTD.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungSTD.hh index d32f8ea1ca..954c6cebdf 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungSTD.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungSTD.hh @@ -32,18 +32,21 @@ // // Creation date: 30.09.1997 // -// Modifications: +// Modifications: // -// 10/02/00 modifications , new e.m. structure, L.Urban -// 10-08-01: new methods Store/Retrieve PhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) +// 10/02/00 modifications , new e.m. structure, L.Urban +// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) +// 29-10-01 all static functions no more inlined (mma) // 10-05-02 V.Ivanchenko update to new design +// 26-12-02 secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) // -// Class Description: +// Class Description: // // This class manages the Bremsstrahlung process for muons. // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLossSTD. -// +// // ------------------------------------------------------------------- // @@ -57,14 +60,14 @@ #include "G4VEnergyLossSTD.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + class G4MuBremsstrahlungSTD : public G4VEnergyLossSTD - -{ + +{ public: - + G4MuBremsstrahlungSTD(const G4String& processName = "MuBrems"); - + ~G4MuBremsstrahlungSTD(); G4bool IsApplicable(const G4ParticleDefinition& p) @@ -73,6 +76,19 @@ public: virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&) {return 0;}; + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -102,7 +118,7 @@ inline G4double G4MuBremsstrahlungSTD::MinPrimaryEnergy(const G4ParticleDefiniti const G4Material*, G4double cut) { - return cut; + return cut; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -112,6 +128,25 @@ inline G4double G4MuBremsstrahlungSTD::MaxSecondaryEnergy(const G4DynamicParticl return dynParticle->GetKineticEnergy(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4MuBremsstrahlungSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* gamma = model->SampleSecondary(couple, dp, tcut, kinEnergy); + if(gamma) { + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(gamma); + kinEnergy -= gamma->GetKineticEnergy(); + } +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisation.hh b/source/processes/electromagnetic/muons/include/G4MuIonisation.hh index 8e306b099b..8829ba0fd9 100644 --- a/source/processes/electromagnetic/muons/include/G4MuIonisation.hh +++ b/source/processes/electromagnetic/muons/include/G4MuIonisation.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuIonisation.hh,v 1.13 2001/10/29 13:53:18 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuIonisation.hh,v 1.14 2003/01/17 18:54:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------- G4MuIonisation physics process ------------------------------ // by Laszlo Urban, September 1997 @@ -33,6 +33,7 @@ // 29-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 19-09-01 come back to the old process name 'MuIoni' // 29-10-01 all static functions no more inlined (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // // ----------------------------------------------------------------------------- @@ -45,54 +46,55 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #ifndef G4MuIonisation_h #define G4MuIonisation_h 1 - + #include "G4VMuEnergyLoss.hh" - +#include "G4MaterialCutsCouple.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MuIonisation : public G4VMuEnergyLoss - + +class G4MuIonisation : public G4VMuEnergyLoss + { public: // with description - - G4MuIonisation(const G4String& processName = "MuIoni"); + + G4MuIonisation(const G4String& processName = "MuIoni"); ~G4MuIonisation(); G4bool IsApplicable(const G4ParticleDefinition&); - // return true for charged particles, false otherwise - + // return true for charged particles, false otherwise + void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); // this function overloads a virtual function of the base class. // It is invoked by the G4ParticleWithCuts::SetCut() method. // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - + void BuildLossTable(const G4ParticleDefinition& aParticleType); // build the dE/dx tables due to the ionisation, for every materials. // (restricted stopping power, Bethe-Bloch formula) - + void BuildLambdaTable(const G4ParticleDefinition& aParticleType); // build mean free path tables for the delta rays production. // the tables are built for every materials. - + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file // specified by 'directory' - + virtual void PrintInfoDefinition(); // Print few lines of informations about the process: validity range, // origine ..etc.. // Invoked by BuildPhysicsTable(). - + G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); @@ -101,77 +103,81 @@ class G4MuIonisation : public G4VMuEnergyLoss // The previousStepSize and G4ForceCondition* are not used. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + G4VParticleChange* PostStepDoIt(const G4Track& track, - const G4Step& Step ); + const G4Step& Step ); // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. + // returned as a ParticleChange object. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + protected: // with description - + virtual G4double ComputeRestrictedMeandEdx( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, const G4Material* material, G4double DeltaThreshold); // computes restricted mean dE/dx in Geant4 internal units. - + virtual G4double ComputeCrossSectionPerAtom( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double DeltaThreshold); // computes total cross section per atom in Geant4 internal units. - + virtual G4double ComputeDifCrossSectionPerAtom( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double KnockonEnergy); - // computes differential cross section per atom. - + // computes differential cross section per atom. + protected: - + + virtual G4double SecondaryEnergyThreshold(size_t index); + G4PhysicsTable* theMeanFreePathTable; private: - // hide assignment operator + // hide assignment operator G4MuIonisation & operator=(const G4MuIonisation &right); G4MuIonisation(const G4MuIonisation&); - + private: static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; + static G4double UpperBoundLambda; static G4int NbinLambda; - + G4double LowestKineticEnergy; // binning for dE/dx table G4double HighestKineticEnergy; G4int TotBin; + const G4std::vector* secondaryEnergyCuts; + public: // with description static void SetLowerBoundLambda(G4double val); static void SetUpperBoundLambda(G4double val); static void SetNbinLambda(G4int n); // set the parameters of the mean free path table. - + static G4double GetLowerBoundLambda(); static G4double GetUpperBoundLambda(); static G4int GetNbinLambda(); // get the parameters of the mean free path table. }; - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4MuIonisation.icc" - + #endif - + diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisation.icc b/source/processes/electromagnetic/muons/include/G4MuIonisation.icc index 2b8e88ae4d..556b7ac1fe 100644 --- a/source/processes/electromagnetic/muons/include/G4MuIonisation.icc +++ b/source/processes/electromagnetic/muons/include/G4MuIonisation.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuIonisation.icc,v 1.4 2001/08/29 16:38:05 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuIonisation.icc,v 1.5 2003/01/17 18:54:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT 4 class inlined methods file @@ -31,9 +31,10 @@ // by Laszlo Urban, September 1997 // --------------------------------------------------------------- // -// 20/11/97: correction on MeanFreePath for KineticEnergy > HighestLimit -// 14-08-01: 'cleanup' of GetMeanFreePath (mma) -// +// 20/11/97 correction on MeanFreePath for KineticEnergy > HighestLimit +// 14-08-01 'cleanup' of GetMeanFreePath (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// // --------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -41,7 +42,7 @@ inline G4bool G4MuIonisation::IsApplicable( const G4ParticleDefinition& particle) -{ +{ return ((&particle == G4MuonPlus::MuonPlus() ) || (&particle == G4MuonMinus::MuonMinus()) ); } @@ -49,21 +50,29 @@ inline G4bool G4MuIonisation::IsApplicable( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4MuIonisation::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) + G4ForceCondition*) { G4double KineticEnergy = track.GetDynamicParticle()->GetKineticEnergy(); - G4Material* aMaterial = track.GetMaterial(); - + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + G4double MeanFreePath; G4bool isOut; - + if (KineticEnergy > HighestKineticEnergy) KineticEnergy = HighestKineticEnergy; if (KineticEnergy > LowestKineticEnergy) - MeanFreePath = ((*theMeanFreePathTable)(aMaterial->GetIndex()))-> - GetValue(KineticEnergy, isOut); + MeanFreePath = ((*theMeanFreePathTable)(couple->GetIndex()))-> + GetValue(KineticEnergy, isOut); else MeanFreePath = DBL_MAX; return MeanFreePath; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4MuIonisation::SecondaryEnergyThreshold(size_t index) +{ + return (*secondaryEnergyCuts)[index]; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisationSTD.hh b/source/processes/electromagnetic/muons/include/G4MuIonisationSTD.hh index 5cecb3244c..f866616654 100644 --- a/source/processes/electromagnetic/muons/include/G4MuIonisationSTD.hh +++ b/source/processes/electromagnetic/muons/include/G4MuIonisationSTD.hh @@ -29,10 +29,10 @@ // File name: G4MuIonisationSTD // // Author: Laszlo Urban -// +// // Creation date: 30.05.1997 // -// Modifications: +// Modifications: // // corrected by L.Urban on 24/09/97 // corrected by L.Urban on 13/01/98 @@ -41,15 +41,19 @@ // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 14-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 19-09-01 come back to previous process name "hIoni" -// 29-10-01 all static functions no more inlined +// 29-10-01 all static functions no more inlined // 10-05-02 V.Ivanchenko update to new design // 09-12-02 V.Ivanchenko remove warning +// 26-12-02 Secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // -// Class Description: +// Class Description: // // This class manages the ionisation process for muons. // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLossSTD. -// +// // ------------------------------------------------------------------- // @@ -72,13 +76,28 @@ public: G4MuIonisationSTD(const G4String& name = "muIoni"); ~G4MuIonisationSTD(); - - G4bool IsApplicable(const G4ParticleDefinition& p) + + G4bool IsApplicable(const G4ParticleDefinition& p) {return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);}; virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&); + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void SetSubCutoff(G4bool val); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -92,21 +111,24 @@ private: void InitialiseProcess(); - // hide assignment operator + // hide assignment operator G4MuIonisationSTD & operator=(const G4MuIonisationSTD &right); G4MuIonisationSTD(const G4MuIonisationSTD&); - const G4ParticleDefinition* theParticle; - const G4ParticleDefinition* theBaseParticle; G4double mass; G4double ratio; + + const G4ParticleDefinition* theParticle; + const G4ParticleDefinition* theBaseParticle; + + G4bool subCutoff; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4MuIonisationSTD::MinPrimaryEnergy(const G4ParticleDefinition* p, - const G4Material*, + const G4Material*, G4double cut) { G4double x = 0.5*cut/electron_mass_c2; @@ -125,6 +147,49 @@ inline G4double G4MuIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* d return tmax; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VSubCutoffProcessor.hh" + +inline G4std::vector* G4MuIonisationSTD::SecondariesAlongStep( + const G4Step& step, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) +{ + G4std::vector* newp = 0; + if(subCutoff) { + G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex()); + if (sp) { + G4VEmModel* model = SelectModel(kinEnergy); + newp = sp->SampleSecondaries(step,tmax,eloss,model); + } + } + return newp; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4MuIonisationSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* delta = model->SampleSecondary(couple, dp, tcut, kinEnergy); + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(delta); + G4ThreeVector finalP = dp->GetMomentum(); + kinEnergy -= delta->GetKineticEnergy(); + finalP -= delta->GetMomentum(); + finalP = finalP.unit(); + aParticleChange.SetMomentumDirectionChange(finalP); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh b/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh index c434114e8c..1396635210 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh +++ b/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuPairProduction.hh,v 1.12 2001/10/29 13:53:18 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuPairProduction.hh,v 1.13 2003/01/17 18:54:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4MuPairProduction physics process ------------------ // by Laszlo Urban, May 1998 @@ -30,32 +30,34 @@ // 10-02-00 modifications , new e.m. structure, L.Urban // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 29-10-01 all static functions no more inlined (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) //------------------------------------------------------------------------------ #ifndef G4MuPairproduction_h #define G4MuPairproduction_h 1 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4ios.hh" + +#include "G4ios.hh" #include "globals.hh" -#include "Randomize.hh" +#include "Randomize.hh" #include "G4VMuEnergyLoss.hh" #include "G4Track.hh" #include "G4Step.hh" -#include "G4OrderedTable.hh" +#include "G4OrderedTable.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" +#include "G4MaterialCutsCouple.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + class G4MuPairProduction : public G4VMuEnergyLoss - -{ + +{ public: - + G4MuPairProduction(const G4String& processName = "MuPairProd"); - + ~G4MuPairProduction(); G4bool IsApplicable(const G4ParticleDefinition&); @@ -71,53 +73,53 @@ class G4MuPairProduction : public G4VMuEnergyLoss G4double GetMeanFreePath( const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); - + G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); + const G4Step& Step ); G4double GetDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, G4double PairEnergy); - + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file - // specified by 'directory' + // specified by 'directory' protected: G4double ComputeMeanFreePath(const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial); + G4double KineticEnergy, + const G4MaterialCutsCouple* couple); void ComputePartialSumSigma(const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial); + G4double KineticEnergy, + const G4MaterialCutsCouple* couple); virtual G4double ComputeMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, G4double ElectronEnergyCut, G4double PositronEnergyCut); G4double ComputeDDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, G4double PairEnergy, G4double asymmetry); G4double ComputeDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, G4double PairEnergy); @@ -130,15 +132,19 @@ class G4MuPairProduction : public G4VMuEnergyLoss G4double Z,G4double T,G4double ElectronCut, G4double PositronCut); - G4Element* SelectRandomAtom(G4Material* aMaterial) const; + G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; void MakeSamplingTables( const G4ParticleDefinition* ParticleType ); + protected: + + virtual G4double SecondaryEnergyThreshold(size_t index); + private: - G4PhysicsTable* theMeanFreePathTable; + G4PhysicsTable* theMeanFreePathTable; - G4OrderedTable PartialSumSigma; + G4OrderedTable PartialSumSigma; static G4double LowerBoundLambda; // bining for lambda table static G4double UpperBoundLambda; @@ -146,13 +152,10 @@ class G4MuPairProduction : public G4VMuEnergyLoss G4double LowestKineticEnergy,HighestKineticEnergy; G4int TotBin; - const G4double* ElectronCutInKineticEnergy; - const G4double* PositronCutInKineticEnergy; + const G4std::vector* electronEnergyCuts; + const G4std::vector* positronEnergyCuts; - G4double ElectronCutInKineticEnergyNow; - G4double PositronCutInKineticEnergyNow; - - // tables for sampling + // tables for sampling static G4int nzdat,ntdat,NBIN; static G4double zdat[5],tdat[8]; static G4double ya[1001],proba[5][8][1001]; @@ -170,7 +173,7 @@ class G4MuPairProduction : public G4VMuEnergyLoss }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4MuPairProduction.icc" - + #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProduction.icc b/source/processes/electromagnetic/muons/include/G4MuPairProduction.icc index 2b7429b862..5b296f84bd 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProduction.icc +++ b/source/processes/electromagnetic/muons/include/G4MuPairProduction.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuPairProduction.icc,v 1.8 2001/10/24 16:36:40 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuPairProduction.icc,v 1.9 2003/01/17 18:54:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4MuPairProduction physics process ------------------ // by Laszlo Urban, May 1998 @@ -33,60 +33,60 @@ // 17-09-01 migration of Materials to pure STL (mma) // 29.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // //------------------------------------------------------------------------------ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + inline G4double G4MuPairProduction::GetMeanFreePath(const G4Track& trackData, G4double previousStepSize, G4ForceCondition* condition) { const G4DynamicParticle* aDynamicParticle; - G4Material* aMaterial; G4double MeanFreePath; G4bool isOutRange ; - + *condition = NotForced ; aDynamicParticle = trackData.GetDynamicParticle(); - aMaterial = trackData.GetMaterial(); + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); if (KineticEnergy < LowestKineticEnergy) MeanFreePath = DBL_MAX ; else { - if (KineticEnergy > HighestKineticEnergy) + if (KineticEnergy > HighestKineticEnergy) KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> + MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> GetValue( KineticEnergy, isOutRange ); } - return MeanFreePath; -} + return MeanFreePath; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + inline G4double G4MuPairProduction::ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial) + G4double KineticEnergy, + const G4MaterialCutsCouple* couple) { + const G4Material* aMaterial = couple->GetMaterial(); const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = + const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double ElectronEnergyCut = - G4Electron::Electron()->GetEnergyThreshold(aMaterial); - G4double PositronEnergyCut = - G4Positron::Positron()->GetEnergyThreshold(aMaterial); + size_t index = couple->GetIndex(); + G4double ElectronEnergyCut = (*electronEnergyCuts)[index]; + G4double PositronEnergyCut = (*positronEnergyCuts)[index]; G4double SIGMA = 0; for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * + { + SIGMA += theAtomNumDensityVector[i] * ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), + (*theElementVector)[i]->GetZ(), ElectronEnergyCut,PositronEnergyCut ); - } + } return SIGMA > 0. ? 1./SIGMA : DBL_MAX; } @@ -101,3 +101,11 @@ inline G4bool G4MuPairProduction::IsApplicable( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4MuPairProduction::SecondaryEnergyThreshold(size_t index) +{ + return (*electronEnergyCuts)[index] + (*positronEnergyCuts)[index] + + 2.*electron_mass_c2; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh b/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh index 8146a3928f..80703b06ce 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh @@ -29,16 +29,21 @@ // File name: G4MuPairProductionModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 18.05.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// // -// Class Description: +// Class Description: // // Implementation of e+e- pair production by muons -// +// // ------------------------------------------------------------------- // @@ -53,25 +58,24 @@ class G4MuPairProductionModel : public G4VEmModel public: - G4MuPairProductionModel(const G4ParticleDefinition* p = 0); + G4MuPairProductionModel(const G4ParticleDefinition* p = 0, const G4String& nam = "MuPairProd"); ~G4MuPairProductionModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,58 +88,63 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); virtual G4double MaxSecondaryEnergy( - const G4DynamicParticle* dynParticle); + const G4DynamicParticle* dynParticle); protected: virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kineticEnergy); + G4double kineticEnergy); private: - G4double ComputMuPairLoss(G4double Z, G4double tkin, G4double cut); + G4double ComputMuPairLoss(G4double Z, G4double tkin, G4double cut); G4double ComputeMicroscopicCrossSection(G4double tkin, G4double Z, - G4double A, + G4double A, G4double cut); G4double ComputeDMicroscopicCrossSection(G4double tkin, G4double Z, - G4double pairEnergy); + G4double pairEnergy); G4double ComputeDDMicroscopicCrossSection(G4double tkin, G4double Z, G4double pairEnergy, - G4double asymmetry); + G4double asymmetry); - void ComputePartialSumSigma(const G4Material* material, G4double tkin, G4double cut); + G4DataVector* ComputePartialSumSigma(const G4Material* material, + G4double tkin, G4double cut); - const G4Element* SelectRandomAtom(const G4Material* material) const; + const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; void MakeSamplingTables(); - // hide assignment operator + // hide assignment operator G4MuPairProductionModel & operator=(const G4MuPairProductionModel &right); G4MuPairProductionModel(const G4MuPairProductionModel&); G4double minPairEnergy; G4double highKinEnergy; G4double lowKinEnergy; - G4double minThreshold; - // tables for sampling + // tables for sampling G4int nzdat,ntdat,NBIN; static G4double zdat[5],adat[5],tdat[8]; G4double ya[1001],proba[5][8][1001]; - const G4Material* oldMaterial; G4std::vector partialSumSigma; G4bool samplingTablesAreFilled; }; diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProductionSTD.hh b/source/processes/electromagnetic/muons/include/G4MuPairProductionSTD.hh index a9237f3ab7..fee02229ca 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProductionSTD.hh +++ b/source/processes/electromagnetic/muons/include/G4MuPairProductionSTD.hh @@ -29,21 +29,25 @@ // File name: G4MuPairProductionSTD // // Author: Laszlo Urban -// +// // Creation date: 30.05.1998 // -// Modifications: +// Modifications: // 10-02-00 modifications , new e.m. structure, L.Urban // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 10-05-02 V.Ivanchenko update to new design +// 26-12-02 secondary production moved to derived classes (VI) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // -// Class Description: +// Class Description: // // This class manages the PairProduction process for muons. // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLossSTD. -// +// // ------------------------------------------------------------------- // @@ -57,14 +61,14 @@ #include "G4VEnergyLossSTD.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + class G4MuPairProductionSTD : public G4VEnergyLossSTD - -{ + +{ public: - + G4MuPairProductionSTD(const G4String& processName = "MuPairProd"); - + ~G4MuPairProductionSTD(); G4bool IsApplicable(const G4ParticleDefinition& p) @@ -73,6 +77,21 @@ public: virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&); + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void SetSubCutoff(G4bool val); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -93,25 +112,73 @@ private: const G4ParticleDefinition* theParticle; const G4ParticleDefinition* theBaseParticle; + G4bool subCutoff; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4MuPairProductionSTD::MinPrimaryEnergy(const G4ParticleDefinition*, - const G4Material*, + const G4Material*, G4double cut) { - return G4std::max(cut, 2.0*electron_mass_c2); + return G4std::max(cut, 2.0*electron_mass_c2); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4MuPairProductionSTD::MaxSecondaryEnergy(const G4DynamicParticle* dp) +inline G4double G4MuPairProductionSTD::MaxSecondaryEnergy(const G4DynamicParticle* dp) { return dp->GetKineticEnergy(); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VSubCutoffProcessor.hh" + +inline G4std::vector* G4MuPairProductionSTD::SecondariesAlongStep( + const G4Step& step, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) +{ + G4std::vector* newp = 0; + if(subCutoff) { + G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex()); + if (sp) { + G4VEmModel* model = SelectModel(kinEnergy); + newp = sp->SampleSecondaries(step,tmax,eloss,model); + } + } + return newp; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4MuPairProductionSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4std::vector* newp = + model->SampleSecondaries(couple, dp, tcut, kinEnergy); + if(newp) { + aParticleChange.SetNumberOfSecondaries(2); + G4DynamicParticle* elpos = (*newp)[0]; + aParticleChange.AddSecondary(elpos); + kinEnergy -= elpos->GetKineticEnergy(); + elpos = (*newp)[1]; + aParticleChange.AddSecondary(elpos); + kinEnergy -= elpos->GetKineticEnergy(); + delete newp; + } +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #endif diff --git a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh index a8dcd1b189..a5a51eceaf 100644 --- a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh +++ b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VMuEnergyLoss.hh,v 1.7 2001/10/29 13:53:18 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VMuEnergyLoss.hh,v 1.8 2003/01/17 18:54:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------------- // GEANT 4 class header file // @@ -41,17 +41,18 @@ // This class creates static muplus/muminus dE/dx and range tables , // which tables can be used by other processes. // ************************************************************ -// 27-05-98 some corrections by L.Urban -// 23-10-98 cleanup L.Urban -// 10-02-00 corrections due to new e.m. structure L.Urban +// 27-05-98 some corrections by L.Urban +// 23-10-98 cleanup L.Urban +// 10-02-00 corrections due to new e.m. structure L.Urban // 10-09-01 loss+ mechanism has been implemented (subcutoff delta rays), L.Urban // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) // 29-10-01 all static functions no more inlined (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // ------------------------------------------------------------ - + #ifndef G4VMuEnergyLoss_h #define G4VMuEnergyLoss_h 1 - + #include "G4ios.hh" #include "g4std/fstream" #include "g4std/iomanip" @@ -71,16 +72,17 @@ #include "G4MuonPlus.hh" #include "G4PhysicsLogVector.hh" #include "G4PhysicsLinearVector.hh" - +#include "G4MaterialCutsCouple.hh" + class G4EnergyLossMessenger ; - + class G4VMuEnergyLoss : public G4VEnergyLoss - + { public: G4VMuEnergyLoss(const G4String& ); - + virtual ~G4VMuEnergyLoss(); G4bool IsApplicable(const G4ParticleDefinition&); @@ -91,7 +93,7 @@ class G4VMuEnergyLoss : public G4VEnergyLoss const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, - G4double& currentSafety) ; + G4double& currentSafety) ; G4VParticleChange* AlongStepDoIt(const G4Track& track ,const G4Step& Step) ; @@ -109,20 +111,19 @@ class G4VMuEnergyLoss : public G4VEnergyLoss private: - // hide assignment operator + // hide assignment operator G4VMuEnergyLoss(G4VMuEnergyLoss &); G4VMuEnergyLoss & operator=(const G4VMuEnergyLoss &right); G4double GetConstraints(const G4DynamicParticle *aParticle, - G4Material *aMaterial); - + const G4MaterialCutsCouple* couple); + protected: + virtual G4double SecondaryEnergyThreshold(size_t index) = 0; + G4PhysicsTable* theLossTable ; - - G4double* lastgammaCutInRange ; - G4double* lastelectronCutInRange ; private: @@ -134,13 +135,13 @@ class G4VMuEnergyLoss : public G4VEnergyLoss G4PhysicsTable** RecorderOfProcess; G4int CounterOfProcess; - + // fdEdx=(-dE/dx) // computed in GetConstraints at every call; G4double fdEdx; - // fRangeNow is the actual range of the particle + // fRangeNow is the actual range of the particle // computed in GetConstraints G4double fRangeNow ; @@ -181,16 +182,16 @@ class G4VMuEnergyLoss : public G4VEnergyLoss static G4PhysicsTable* theRangemuminusTable; static G4PhysicsTable* theInverseRangemuplusTable; - static G4PhysicsTable* theInverseRangemuminusTable; + static G4PhysicsTable* theInverseRangemuminusTable; static G4PhysicsTable* theLabTimemuplusTable; - static G4PhysicsTable* theLabTimemuminusTable; - + static G4PhysicsTable* theLabTimemuminusTable; + static G4PhysicsTable* theProperTimemuplusTable; static G4PhysicsTable* theProperTimemuminusTable; - // processes inherited from G4muEnergyLoss + // processes inherited from G4muEnergyLoss // register themselves in the static array Recorder static G4int NbOfProcesses; static G4PhysicsTable** RecorderOfmuplusProcess; @@ -221,7 +222,7 @@ class G4VMuEnergyLoss : public G4VEnergyLoss // delta rays in one step }; - + #include "G4VMuEnergyLoss.icc" #endif diff --git a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc index 19d658406a..73fbe30e56 100644 --- a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc +++ b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VMuEnergyLoss.icc,v 1.3 2001/09/28 15:44:20 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VMuEnergyLoss.icc,v 1.4 2003/01/17 18:54:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // --------------------------------------------------------------- // GEANT 4 class inlined methods file // @@ -38,19 +38,20 @@ // 27-05-98 corrections by L. Urban // 23-10-98 cleanup L.Urban // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // --------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + inline G4double G4VMuEnergyLoss::GetContinuousStepLimit( const G4Track& track, G4double, G4double currentMinimumStep, G4double&) { - + G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterial()) ; + GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()) ; if((Step>0.0)&&(StepGetPDGMass(); @@ -79,17 +87,15 @@ void G4MuBetheBlochModel::SetParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBetheBlochModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuBetheBlochModel::HighEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuBetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return lowKinEnergy; @@ -98,33 +104,40 @@ G4double G4MuBetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4MuBetheBlochModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material* material) + const G4MaterialCutsCouple* couple) { - return material->GetIonisation()->GetMeanExcitationEnergy(); + return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4MuBetheBlochModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4MuBetheBlochModel::IsInCharge(const G4ParticleDefinition* p) { - return (p->GetPDGCharge() != 0.0 && p->GetPDGMass() > 10.*MeV + if(!particle) SetParticle(p); + return (p->GetPDGCharge() != 0.0 && p->GetPDGMass() > 10.*MeV && p->GetPDGSpin() == 0.5); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4MuBetheBlochModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + if(!particle) SetParticle(p); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4MuBetheBlochModel::ComputeDEDX(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, - G4double cutEnergy) + G4double cutEnergy) { - if(!particle) SetParticle(p); G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); G4double tau = kineticEnergy/mass; G4double x = 1.0; if(cutEnergy < tmax) x = cutEnergy/tmax; - G4double gam = tau + 1.0; + G4double gam = tau + 1.0; G4double beta2 = 1. - 1./(gam*gam); G4double bg2 = tau * (tau+2.0); @@ -139,14 +152,14 @@ G4double G4MuBetheBlochModel::ComputeDEDX(const G4Material* material, G4double* shellCorrectionVector = material->GetIonisation()->GetShellCorrectionVector(); G4double eDensity = material->GetElectronDensity(); - + G4double dedx = log(2.0*electron_mass_c2*bg2*tmax*x/eexc2)-(1.0 + x)*beta2; G4double totEnergy = kineticEnergy + mass; G4double del = 0.5*x*tmax/totEnergy; dedx += del*del; - - // density correction + + // density correction x = log(bg2)/twoln10; if ( x >= x0den ) { dedx -= twoln10*x - cden ; @@ -194,20 +207,19 @@ G4double G4MuBetheBlochModel::CrossSection(const G4Material* material, G4double cutEnergy, G4double maxEnergy) { - if(!particle) SetParticle(p); G4double cross = 0.0; G4double tmaxSecondary = MaxSecondaryEnergy(p, kineticEnergy); G4double tmax = G4std::min(tmaxSecondary, maxEnergy); if(cutEnergy < tmax) { - + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4int NumberOfElements = material->GetNumberOfElements(); - + for (G4int iel=0; ielGetZ(), + cross += NbOfAtomsPerVolume[iel]* CrossSectionPerAtom( + (*theElementVector)[iel]->GetZ(), kineticEnergy, cutEnergy, tmax, tmaxSecondary); } @@ -227,7 +239,7 @@ G4double G4MuBetheBlochModel::CrossSectionPerAtom( G4double tmax, G4double tmaxSecondary) { - + G4double cross = 0.; const G4double xgi[] = {0.06943,0.33001,0.66999,0.93057}; @@ -279,18 +291,18 @@ G4double G4MuBetheBlochModel::DifCrossSectionPerAtom(G4double kineticEnergy, (beta2*knockonEnergy*knockonEnergy); G4double a1 = log(1.+2.*knockonEnergy/electron_mass_c2); G4double a3 = log(4.*totalEnergy*(totalEnergy-knockonEnergy)/(mass*mass)); - cross *= (1.+alphaprime*a1*(a3-a1)); + cross *= (1.+alphaprime*a1*(a3-a1)); return cross; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4MuBetheBlochModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4MuBetheBlochModel::SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) { G4double tmax = MaxSecondaryEnergy(dp); G4double xmin = tmin/tmax; @@ -304,21 +316,21 @@ G4std::vector* G4MuBetheBlochModel::SampleSecondary( G4double beta2 = 1. - mass*mass/(totEnergy*totEnergy); G4double x = 0.5*tmax*tmax/(totEnergy*totEnergy); - const G4double alphaprime = fine_structure_const/twopi; - G4double a0=log(2.*totEnergy/mass); + const G4double alphaprime = fine_structure_const/twopi; + G4double a0=log(2.*totEnergy/mass); G4double grej = (1.0 - beta2*xmin + xmax*xmax*x)*(1. + alphaprime*a0*a0); - + G4double z, f, a1, twoep; - - // sampling follows ... + + // sampling follows ... do { G4double q = G4UniformRand(); z = xmin*xmax/(xmin*(1.0 - q) + xmax*q); twoep = 2.0*z*tmax; - a1= log(1.0 + twoep/electron_mass_c2); - + a1= log(1.0 + twoep/electron_mass_c2); + f = (1.0 - beta2 * z + z*z*x) * (1. + alphaprime*a1*(a0 + log((2.0*totEnergy-twoep)/mass) - a1)); @@ -326,23 +338,23 @@ G4std::vector* G4MuBetheBlochModel::SampleSecondary( G4cout << "G4MuBetheBlochModel::SampleSecondary Warning! " << "Majorant " << grej << " < " << f << " for x= " << z - << G4endl; + << G4endl; } } while( grej*G4UniformRand() >= f ); - + G4double deltaKinEnergy = z * tmax; - - G4double deltaMomentum = + + G4double deltaMomentum = sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); G4double totMomentum = sqrt(totEnergy*totEnergy - mass*mass); G4double cost = deltaKinEnergy * (totEnergy + electron_mass_c2) / (deltaMomentum * totMomentum); - + G4double sint = sqrt(1.0 - cost*cost); - - G4double phi = twopi * G4UniformRand() ; + + G4double phi = twopi * G4UniformRand() ; G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost) ; deltaDirection.rotateUz(momentum); @@ -353,7 +365,19 @@ G4std::vector* G4MuBetheBlochModel::SampleSecondary( delta->SetKineticEnergy(deltaKinEnergy); delta->SetMomentumDirection(deltaDirection); + return delta; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4MuBetheBlochModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* delta = SampleSecondary(couple,dp,tmin,maxEnergy); vdp->push_back(delta); return vdp; diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc index a567ede3ff..ea099633d2 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: G4MuBremsstrahlung.cc,v 1.22 2001/11/09 13:52:31 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuBremsstrahlung.cc,v 1.27 2003/04/29 04:58:32 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// //--------------- G4MuBremsstrahlung physics process --------------------------- // by Laszlo Urban, September 1997 // @@ -37,15 +37,18 @@ // 26-09-01 completion of store/retrieve PhysicsTable (mma) // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) // 29-10-01 all static functions no more inlined (mma) -// 08-11-01 particleMass becomes a local variable (mma) +// 08-11-01 particleMass becomes a local variable (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) //------------------------------------------------------------------------------ #include "G4MuBremsstrahlung.hh" #include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// static members + +// static members // G4int G4MuBremsstrahlung::nzdat = 5 ; G4double G4MuBremsstrahlung::zdat[]={1.,4.,13.,29.,92.}; @@ -64,14 +67,14 @@ G4int G4MuBremsstrahlung::NbinLambda = 150; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // constructor - + G4MuBremsstrahlung::G4MuBremsstrahlung(const G4String& processName) - : G4VMuEnergyLoss(processName), + : G4VMuEnergyLoss(processName), theMeanFreePathTable(NULL) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4MuBremsstrahlung::~G4MuBremsstrahlung() { if (theMeanFreePathTable) { @@ -79,53 +82,52 @@ G4MuBremsstrahlung::~G4MuBremsstrahlung() delete theMeanFreePathTable; } - if (&PartialSumSigma) { - PartialSumSigma.clearAndDestroy(); - } + PartialSumSigma.clearAndDestroy(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4MuBremsstrahlung::SetLowerBoundLambda(G4double val) {LowerBoundLambda = val;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuBremsstrahlung::SetUpperBoundLambda(G4double val) {UpperBoundLambda = val;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuBremsstrahlung::SetNbinLambda(G4int n) {NbinLambda = n;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuBremsstrahlung::GetLowerBoundLambda() { return LowerBoundLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuBremsstrahlung::GetUpperBoundLambda() { return UpperBoundLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4int G4MuBremsstrahlung::GetNbinLambda() {return NbinLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuBremsstrahlung::BuildPhysicsTable( const G4ParticleDefinition& aParticleType) { - // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss() ; - HighestKineticEnergy = GetUpperBoundEloss() ; - TotBin = GetNbinEloss() ; + if( !CutsWhereModified() && theLossTable) return; + + LowestKineticEnergy = GetLowerBoundEloss() ; + HighestKineticEnergy = GetUpperBoundEloss() ; + TotBin = GetNbinEloss() ; BuildLossTable(aParticleType) ; - + if(&aParticleType==G4MuonMinus::MuonMinus()) { RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; @@ -137,13 +139,10 @@ void G4MuBremsstrahlung::BuildPhysicsTable( CounterOfmuplusProcess++; } - if(theMeanFreePathTable == NULL) - MakeSamplingTables(&aParticleType) ; + if( !theMeanFreePathTable ) MakeSamplingTables(&aParticleType) ; + + BuildLambdaTable(aParticleType) ; - G4double* gammaCutInRange = G4Gamma::Gamma()->GetLengthCuts(); - if( !EqualCutVectors(gammaCutInRange,lastgammaCutInRange)) - BuildLambdaTable(aParticleType) ; - G4VMuEnergyLoss::BuildDEDXTable(aParticleType); if(&aParticleType == G4MuonPlus::MuonPlus()) PrintInfoDefinition(); @@ -155,42 +154,44 @@ void G4MuBremsstrahlung::BuildLossTable( const G4ParticleDefinition& aParticleType) { G4double KineticEnergy,TotalEnergy,bremloss,Z, - loss,natom,Cut ; + loss,natom ; - const G4MaterialTable* theMaterialTable = - G4Material::GetMaterialTable(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); G4double particleMass = aParticleType.GetPDGMass(); - GammaCutInKineticEnergy = G4Gamma::Gamma()->GetEnergyCuts() ; - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + // loop for materials + // + for (size_t J=0; JclearAndDestroy(); - delete theLossTable; - } - theLossTable = new G4PhysicsTable(numOfMaterials) ; - - for (G4int J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + G4double Cut = SecondaryEnergyThreshold(J); + const G4ElementVector* theElementVector = material->GetElementVector() ; const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector() ; - const G4int NumberOfElements = - material->GetNumberOfElements() ; + const G4int NumberOfElements = material->GetNumberOfElements() ; for (G4int i=0; iGetLowEdgeEnergy(i) ; TotalEnergy = KineticEnergy+particleMass ; - Cut = GammaCutInKineticEnergyNow ; + if(Cut>KineticEnergy) Cut = KineticEnergy ; - bremloss = 0.; + bremloss = 0.; for (G4int iel=0; ielGetA(), - KineticEnergy,Cut) ; + KineticEnergy,Cut) ; bremloss += natom*loss ; - } - if(bremloss<0.) bremloss = 0. ; - + } + if(bremloss<0.) bremloss = 0. ; + aVector->PutValue(i,bremloss); } theLossTable->insert(aVector); @@ -223,7 +224,7 @@ G4double G4MuBremsstrahlung::ComputeBremLoss( G4double xgi[]={0.03377,0.16940,0.38069,0.61931,0.83060,0.96623}; G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; G4double loss = 0. ; - + G4double particleMass = aParticleType->GetPDGMass(); TotalEnergy=KineticEnergy+particleMass ; vcut = GammaEnergyCut/TotalEnergy ; @@ -231,7 +232,7 @@ G4double G4MuBremsstrahlung::ComputeBremLoss( aaa=0.; bbb=vcut ; - if(vcut>vmax) bbb=vmax ; + if(vcut>vmax) bbb=vmax ; kkk=int((bbb-aaa)/ak1)+k2 ; hhh=(bbb-aaa)/float(kkk) ; @@ -262,36 +263,40 @@ void G4MuBremsstrahlung::BuildLambdaTable( G4double LowEdgeEnergy , Value; G4double FixedEnergy = (LowestKineticEnergy + HighestKineticEnergy)/2. ; - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable() ; + //create table + // + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + //create table + if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); + delete theMeanFreePathTable; + } + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(G4Material::GetNumberOfMaterials()); + PartialSumSigma.resize(numOfCouples); G4PhysicsLogVector* ptrVector; - for ( size_t J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { + for ( size_t J=0; JGetMaterialCutsCouple(J); - for ( G4int i = 0 ; i < NbinLambda ; i++ ) + for ( G4int i = 0 ; i < NbinLambda ; i++ ) { LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, - material ); + Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, couple); ptrVector->PutValue( i , Value ) ; } theMeanFreePathTable->insertAt( J , ptrVector ); // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &ParticleType, FixedEnergy, material) ; + ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ; } } @@ -300,31 +305,32 @@ void G4MuBremsstrahlung::BuildLambdaTable( void G4MuBremsstrahlung::ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, - const G4Material* aMaterial) + const G4MaterialCutsCouple* couple) // Build the table of cross section per element. // The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. +// This table is used by DoIt to select randomly an element in the material. { - G4int Imate = aMaterial->GetIndex(); - G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = + const G4Material* aMaterial = couple->GetMaterial(); + size_t index = couple->GetIndex(); + G4int NbOfElements = aMaterial->GetNumberOfElements(); + const G4ElementVector* theElementVector = aMaterial->GetElementVector(); + const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = (G4Gamma::Gamma()->GetEnergyCuts())[Imate]; + G4double GammaEnergyCut = SecondaryEnergyThreshold(index); - PartialSumSigma[Imate] = new G4DataVector(); + PartialSumSigma[index] = new G4DataVector(); - G4double SIGMA = 0. ; + G4double SIGMA = 0. ; - for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * + for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) + { + SIGMA += theAtomNumDensityVector[Ielem] * ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), - (*theElementVector)[Ielem]->GetA(), + (*theElementVector)[Ielem]->GetZ(), + (*theElementVector)[Ielem]->GetA(), GammaEnergyCut ); - PartialSumSigma[Imate]->push_back(SIGMA); - } + PartialSumSigma[index]->push_back(SIGMA); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -344,7 +350,7 @@ G4double G4MuBremsstrahlung::ComputeMicroscopicCrossSection( G4double xgi[]={0.03377,0.16940,0.38069,0.61931,0.83060,0.96623}; G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; G4double CrossSection = 0. ; - + G4double particleMass = ParticleType->GetPDGMass(); TotalEnergy=KineticEnergy+particleMass ; vcut = GammaEnergyCut/TotalEnergy ; @@ -370,24 +376,24 @@ G4double G4MuBremsstrahlung::ComputeMicroscopicCrossSection( } } - CrossSection *= hhh ; + CrossSection *= hhh ; return CrossSection; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuBremsstrahlung::GetDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, G4double AtomicNumber, - G4double AtomicMass, + G4double AtomicMass, G4double GammaEnergy) // get differential cross section { return ComputeDMicroscopicCrossSection(ParticleType,KineticEnergy, AtomicNumber,AtomicMass,GammaEnergy); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -395,12 +401,12 @@ G4double G4MuBremsstrahlung::ComputeDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, G4double AtomicNumber, - G4double AtomicMass, + G4double AtomicMass, G4double GammaEnergy) // differential cross section { G4double particleMass = ParticleType->GetPDGMass(); - + static const G4double sqrte=sqrt(exp(1.)) ; static const G4double bh=202.4,bh1=446.,btf=183.,btf1=1429. ; static const G4double rmass=particleMass/electron_mass_c2 ; @@ -433,7 +439,7 @@ G4double G4MuBremsstrahlung::ComputeDMicroscopicCrossSection( b=btf; b1=btf1; dnstar = exp((1.-1./AtomicNumber)*log(dn)) ; - } + } // nucleus contribution logarithm G4double rab1=b*z13; @@ -441,7 +447,7 @@ G4double G4MuBremsstrahlung::ComputeDMicroscopicCrossSection( (particleMass+delta*(dnstar*sqrte-2.))) ; if(fn <0.) fn = 0. ; // electron contribution logarithm - G4double epmax1=E/(1.+0.5*particleMass*rmass/E) ; + G4double epmax1=E/(1.+0.5*particleMass*rmass/E) ; G4double fe=0.; if(GammaEnergyGetKineticEnergy(); - G4ParticleMomentum ParticleDirection = + G4ParticleMomentum ParticleDirection = aDynamicParticle->GetMomentumDirection(); // Gamma cut in this material - G4double GammaEnergyCut = - G4Gamma::Gamma()->GetEnergyThreshold(aMaterial); + G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); // check against insufficient energy if(KineticEnergy < GammaEnergyCut) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // select randomly one element constituing the material - G4Element* anElement = SelectRandomAtom(aMaterial); + // select randomly one element constituing the material + const G4Element* anElement = SelectRandomAtom(couple); G4double TotalEnergy=KineticEnergy+aDynamicParticle-> GetDefinition()->GetPDGMass() ; @@ -565,10 +570,10 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData, G4double ymin=log(log(GammaEnergyCut/CutFixed)/log(KineticEnergy/CutFixed)) ; - if(ymin < ysmall) + if(ymin < ysmall) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // sampling using tables + // sampling using tables //G4double v,xc,x,yc,y ; //G4int iZ,iT,iy ; G4double v,x,y ; @@ -601,7 +606,7 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData, itt=it ; } } - G4int iymin = G4int((ymin+5.)/dy+0.5) ; + G4int iymin = G4int((ymin+5.)/dy+0.5) ; if(ymin < ytablelow) { @@ -624,12 +629,12 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData, x = exp(y) ; - v = CutFixed*exp(x*log(KineticEnergy/CutFixed)) ; + v = CutFixed*exp(x*log(KineticEnergy/CutFixed)) ; if( v <= 0.) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // create G4DynamicParticle object for the Gamma - G4double GammaEnergy = v; + // create G4DynamicParticle object for the Gamma + G4double GammaEnergy = v; // angles of the emitted gamma. ( Z - axis along the parent particle) // Teta = electron_mass_c2/TotalEnergy for the moment ..... @@ -640,21 +645,21 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData, dirz = cos(Teta) ; G4ThreeVector GammaDirection ( dirx, diry, dirz); - GammaDirection.rotateUz(ParticleDirection); - + GammaDirection.rotateUz(ParticleDirection); + G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), GammaDirection, GammaEnergy); aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(aGamma); + aParticleChange.AddSecondary(aGamma); - // Update the incident particle + // Update the incident particle G4double NewKinEnergy = KineticEnergy - GammaEnergy; - if (NewKinEnergy > 0.) + if (NewKinEnergy > 0.) { aParticleChange.SetMomentumChange(ParticleDirection); aParticleChange.SetEnergyChange(NewKinEnergy); - aParticleChange.SetLocalEnergyDeposit (0.); + aParticleChange.SetLocalEnergyDeposit (0.); } else { @@ -668,18 +673,19 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4Element* G4MuBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const +const G4Element* G4MuBremsstrahlung::SelectRandomAtom( + const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material - - const G4int Index = aMaterial->GetIndex(); + size_t index = couple->GetIndex(); + const G4Material* aMaterial = couple->GetMaterial(); const G4int NumberOfElements = aMaterial->GetNumberOfElements(); const G4ElementVector* theElementVector = aMaterial->GetElementVector(); G4double rval = G4UniformRand() - *((*PartialSumSigma[Index])[NumberOfElements-1]); + *((*PartialSumSigma[index])[NumberOfElements-1]); for ( G4int i=0; i < NumberOfElements; i++ ) - if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)[i]); + if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); G4cout << " WARNING !!! - The Material " << aMaterial->GetName() << " has no elements, NULL pointer returned." << G4endl; return NULL; @@ -688,11 +694,11 @@ G4Element* G4MuBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String filename; - + // store stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ @@ -715,68 +721,74 @@ G4bool G4MuBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " + << ": Success to store the PhysicsTables in " << directory << G4endl; - + return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuBremsstrahlung::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - if (&PartialSumSigma != 0) PartialSumSigma.clear(); - + // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); G4String filename; - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); + PartialSumSigma.clearAndDestroy(); + PartialSumSigma.reserve(numOfCouples); + // retreive stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theLossTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retrieve PartialSumSigma table (G4OrderedTable) filename = GetPhysicsTableFileName(particle,directory,"PartSumSigma",ascii); if ( !PartialSumSigma.Retrieve(filename, ascii) ){ G4cout << " FAIL PartialSumSigma.retrieve in " << filename << G4endl; - return false; + return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + if (particle->GetPDGCharge() < 0.) { RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; @@ -788,15 +800,17 @@ G4bool G4MuBremsstrahlung::RetrievePhysicsTable(G4ParticleDefinition* particle, CounterOfmuplusProcess++; } + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); MakeSamplingTables(particle); - + G4VMuEnergyLoss::BuildDEDXTable(*particle); + if(particle==G4MuonPlus::MuonPlus()) PrintInfoDefinition(); return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuBremsstrahlung::PrintInfoDefinition() { G4String comments = "theoretical cross section \n "; diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc index c4e6d447cf..e46c1e7f26 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc @@ -29,14 +29,22 @@ // File name: G4MuBremsstrahlungModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 24.06.2002 // -// Modifications: 04.12.02 (VI) Change G4DynamicParticle constructor in PostStepDoIt +// Modifications: +// +// 04-12-02 Change G4DynamicParticle constructor in PostStepDoIt (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Fix for compounds (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// + +// +// Class Description: // -// Class Description: // -// // ------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -50,10 +58,11 @@ #include "G4Material.hh" #include "G4Element.hh" #include "G4ElementVector.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// static members +// static members // G4double G4MuBremsstrahlungModel::zdat[]={1.,4.,13.,29.,92.}; G4double G4MuBremsstrahlungModel::adat[]={1.01,9.01,26.98,63.55,238.03}; @@ -61,8 +70,9 @@ G4double G4MuBremsstrahlungModel::tdat[]={1.e3,1.e4,1.e5,1.e6,1.e7,1.e8,1.e9,1.e //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(const G4ParticleDefinition* p, + const G4String& nam) + : G4VEmModel(nam), highKinEnergy(100.*TeV), lowKinEnergy(1.0*keV), minThreshold(1.0*keV), @@ -70,11 +80,8 @@ G4MuBremsstrahlungModel::G4MuBremsstrahlungModel(const G4ParticleDefinition* p) ntdat(8), NBIN(1000), cutFixed(0.98*keV), - oldMaterial(0), samplingTablesAreFilled(false) -{ - partialSumSigma.clear(); -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -90,48 +97,70 @@ G4MuBremsstrahlungModel::~G4MuBremsstrahlungModel() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBremsstrahlungModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuBremsstrahlungModel::HighEnergyLimit(const G4ParticleDefinition*) { return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBremsstrahlungModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuBremsstrahlungModel::LowEnergyLimit(const G4ParticleDefinition*) { return lowKinEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*) { return minThreshold; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4MuBremsstrahlungModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4MuBremsstrahlungModel::IsInCharge(const G4ParticleDefinition* p) { return (p == G4MuonMinus::MuonMinus() || p == G4MuonPlus::MuonPlus()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuBremsstrahlungModel::ComputeDEDX(const G4Material* material, - const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy) +void G4MuBremsstrahlungModel::Initialise(const G4ParticleDefinition*, + const G4DataVector& cuts) { - if(kineticEnergy < lowKinEnergy) return 0.0; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + G4double fixedEnergy = 0.5*highKinEnergy; +// G4double fixedEnergy = 500000.*TeV; + + for (size_t ii=0; iiGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); + G4DataVector* dv = ComputePartialSumSigma(material, fixedEnergy,cuts[i]); + partialSumSigma.push_back(dv); + } if(!samplingTablesAreFilled) MakeSamplingTables(); - G4double cut = G4std::min(G4std::max(cutEnergy, minThreshold), kineticEnergy); - +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4MuBremsstrahlungModel::ComputeDEDX(const G4Material* material, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy) +{ + if(kineticEnergy < lowKinEnergy) return 0.0; + + G4double cut = G4std::min(cutEnergy, kineticEnergy); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); @@ -141,7 +170,7 @@ G4double G4MuBremsstrahlungModel::ComputeDEDX(const G4Material* material, for (size_t i=0; iGetNumberOfElements(); i++) { G4double Z = (*theElementVector)[i]->GetZ(); - G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; + G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; G4double loss = ComputMuBremLoss(Z, A, kineticEnergy, cut); @@ -162,13 +191,13 @@ G4double G4MuBremsstrahlungModel::ComputMuBremLoss(G4double Z, G4double A, G4double xgi[]={0.03377,0.16940,0.38069,0.61931,0.83060,0.96623}; G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; G4double loss = 0.; - + G4double vcut = cut/totalEnergy; G4double vmax = tkin/totalEnergy; G4double aaa = 0.; G4double bbb = vcut; - if(vcut>vmax) bbb=vmax ; + if(vcut>vmax) bbb=vmax ; G4int kkk = (G4int)((bbb-aaa)/ak1)+k2 ; G4double hhh=(bbb-aaa)/float(kkk) ; @@ -193,7 +222,7 @@ G4double G4MuBremsstrahlungModel::ComputMuBremLoss(G4double Z, G4double A, G4double G4MuBremsstrahlungModel::ComputeMicroscopicCrossSection( G4double tkin, G4double Z, - G4double A, + G4double A, G4double cut) { G4double totalEnergy = (G4MuonPlus::MuonPlus())->GetPDGMass() + tkin; @@ -203,8 +232,8 @@ G4double G4MuBremsstrahlungModel::ComputeMicroscopicCrossSection( G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; G4double cross = 0.; - if(cut >= tkin) return cross; - + if(cut >= tkin) return cross; + G4double vcut = cut/totalEnergy; G4double vmax = tkin/totalEnergy; @@ -235,12 +264,12 @@ G4double G4MuBremsstrahlungModel::ComputeMicroscopicCrossSection( G4double G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection( G4double tkin, G4double Z, - G4double A, + G4double A, G4double gammaEnergy) // differential cross section { G4double particleMass = (G4MuonPlus::MuonPlus())->GetPDGMass(); - + static const G4double sqrte=sqrt(exp(1.)) ; static const G4double bh=202.4,bh1=446.,btf=183.,btf1=1429. ; static const G4double rmass=particleMass/electron_mass_c2 ; @@ -272,7 +301,7 @@ G4double G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection( b=btf; b1=btf1; dnstar = exp((1.-1./Z)*log(dn)) ; - } + } // nucleus contribution logarithm G4double rab1=b*z13; @@ -280,7 +309,7 @@ G4double G4MuBremsstrahlungModel::ComputeDMicroscopicCrossSection( (particleMass+delta*(dnstar*sqrte-2.))) ; if(fn <0.) fn = 0. ; // electron contribution logarithm - G4double epmax1=E/(1.+0.5*particleMass*rmass/E) ; + G4double epmax1=E/(1.+0.5*particleMass*rmass/E) ; G4double fe=0.; if(gammaEnergy= tmax) return cross; - if(!samplingTablesAreFilled) MakeSamplingTables(); const G4ElementVector* theElementVector = material->GetElementVector() ; const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - if(material != oldMaterial) { - oldMaterial = material; - G4double fixedEnergy = sqrt(lowKinEnergy*highKinEnergy); - ComputePartialSumSigma(material, fixedEnergy, cutEnergy); - } - for (size_t i=0; iGetNumberOfElements(); i++) { G4double Z = (*theElementVector)[i]->GetZ(); G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; - + G4double cr = ComputeMicroscopicCrossSection(kineticEnergy, Z, A, cut); if(tmax < kineticEnergy) { cr -= ComputeMicroscopicCrossSection(kineticEnergy, Z, A, tmax); } - cross += theAtomNumDensityVector[i] * cr; - } - + cross += theAtomNumDensityVector[i] * cr; + } + return cross; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4MuBremsstrahlungModel::ComputePartialSumSigma(const G4Material* material, - G4double kineticEnergy, - G4double cut) +G4DataVector* G4MuBremsstrahlungModel::ComputePartialSumSigma( + const G4Material* material, + G4double kineticEnergy, + G4double cut) // Build the table of cross section per element. The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. +// This table is used by DoIt to select randomly an element in the material. { - size_t index = material->GetIndex(); G4int nElements = material->GetNumberOfElements(); - const G4ElementVector* theElementVector = material->GetElementVector(); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - G4DataVector* dv; - - if (index >= partialSumSigma.size()) { - - dv = new G4DataVector(); - partialSumSigma.push_back(dv); - - } else { - - dv = partialSumSigma[index]; - dv->clear(); - if(0 == index) samplingTablesAreFilled = false; - } + G4DataVector* dv = new G4DataVector(); G4double cross = 0.0; for (G4int i=0; iGetZ(); G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; cross += theAtomNumDensityVector[i] * ComputeMicroscopicCrossSection(kineticEnergy, Z, A, cut); dv->push_back(cross); } + return dv; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -422,7 +433,7 @@ void G4MuBremsstrahlungModel::MakeSamplingTables() AtomicWeight,ep) ; ya[i]=y ; proba[iz][it][i] = CrossSection ; - + } proba[iz][it][NBIN] = CrossSection ; @@ -442,35 +453,35 @@ void G4MuBremsstrahlungModel::MakeSamplingTables() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4MuBremsstrahlungModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4MuBremsstrahlungModel::SampleSecondary( + const G4MaterialCutsCouple* couple, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) { + G4double kineticEnergy = dp->GetKineticEnergy(); // check against insufficient energy - if(tmin >= maxEnergy) return 0; - + G4double tmax = G4std::min(kineticEnergy, maxEnergy); + if(tmin >= tmax) return 0; + static G4double ysmall = -100. ; static G4double ytablelow = -5. ; - - G4double kineticEnergy = dp->GetKineticEnergy(); + G4ParticleMomentum ParticleDirection = dp->GetMomentumDirection(); - - // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(material); + // select randomly one element constituing the material + const G4Element* anElement = SelectRandomAtom(couple); G4double totalEnergy = kineticEnergy + dp->GetMass(); G4double dy = 5./G4float(NBIN); // This sampling should be checked!!! VI - G4double ymin=log(log(tmin/cutFixed)/log(maxEnergy/cutFixed)); + G4double ymin=log(log(tmin/cutFixed)/log(tmax/cutFixed)); if(ymin < ysmall) return 0; - // sampling using tables + // sampling using tables G4double v,x,y ; G4int iy; @@ -495,41 +506,43 @@ G4std::vector* G4MuBremsstrahlungModel::SampleSecondary( delmin = 1.e10 ; for (G4int it=0; it (proba[izz][itt][iy]-proba[izz][itt][iymin])/delmin) + } while ((r > (proba[izz][itt][iy]-proba[izz][itt][iymin])/delmin) &&(iy < NBINminus1)) ; - //sampling is Done uniformly in y in the bin - y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy] ) ; - } + //sampling is Done uniformly in y in the bin + y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy] ) ; + } - x = exp(y) ; + x = exp(y) ; - v = cutFixed*exp(x*log(maxEnergy/cutFixed)) ; - if( v <= 0.) return 0; + v = cutFixed*exp(x*log(tmax/cutFixed)) ; + + } while ( v <= 0.); - // create G4DynamicParticle object for the Gamma - G4double GammaEnergy = v; + // create G4DynamicParticle object for the Gamma + G4double GammaEnergy = v; // angles of the emitted gamma. ( Z - axis along the parent particle) // Teta = electron_mass_c2/TotalEnergy for the moment ..... @@ -540,14 +553,26 @@ G4std::vector* G4MuBremsstrahlungModel::SampleSecondary( dirz = cos(Teta) ; G4ThreeVector GammaDirection ( dirx, diry, dirz); - GammaDirection.rotateUz(ParticleDirection); - + GammaDirection.rotateUz(ParticleDirection); + G4DynamicParticle* aGamma = new G4DynamicParticle(); aGamma->SetDefinition(G4Gamma::Gamma()); aGamma->SetKineticEnergy(GammaEnergy); aGamma->SetMomentumDirection(GammaDirection); + return aGamma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4MuBremsstrahlungModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* aGamma = SampleSecondary(couple,dp,tmin,maxEnergy); vdp->push_back(aGamma); return vdp; @@ -556,16 +581,17 @@ G4std::vector* G4MuBremsstrahlungModel::SampleSecondary( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... const G4Element* G4MuBremsstrahlungModel::SelectRandomAtom( - const G4Material* material) const + const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material + const G4Material* material = couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); if(1 == nElements) return (*theElementVector)[0]; - else if(1 > nElements) return 0; + else if(1 > nElements) return 0; - G4DataVector* dv = partialSumSigma[material->GetIndex()]; + G4DataVector* dv = partialSumSigma[couple->GetIndex()]; G4double rval = G4UniformRand()*((*dv)[nElements-1]); for (G4int i=0; iSetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em, 0); - G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(100.0*TeV); + AddEmModel(1, em); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/src/G4MuIonisation.cc b/source/processes/electromagnetic/muons/src/G4MuIonisation.cc index d0a66ad837..41e3fca265 100644 --- a/source/processes/electromagnetic/muons/src/G4MuIonisation.cc +++ b/source/processes/electromagnetic/muons/src/G4MuIonisation.cc @@ -21,11 +21,11 @@ // ******************************************************************** // // -// $Id: G4MuIonisation.cc,v 1.26 2002/12/04 15:45:53 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuIonisation.cc,v 1.31 2003/04/26 11:38:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------- G4MuIonisation physics process ------------------------------ -// by Laszlo Urban, September 1997 +// by Laszlo Urban, September 1997 // ----------------------------------------------------------------------------- // // 08-04-98 remove 'tracking cut' of the ionizing particle (mma) @@ -33,21 +33,24 @@ // 10-02-00 modifications , new e.m. structure, L.Urban // 23-03-01 R.Kokoulin's correction is commented out, L.Urban // 29-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) +// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 28-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 17-09-01 migration of Materials to pure STL (mma) // 26-09-01 completion of RetrievePhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 07-11-01 correction(Tmax+xsection computation) L.Urban // 08-11-01 particleMass becomes a local variable (mma) // 04-12-02 fix misprint in majorant in PostStep (VI) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) // ----------------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #include "G4MuIonisation.hh" #include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -56,15 +59,15 @@ G4double G4MuIonisation::UpperBoundLambda = 1000000.*TeV; G4int G4MuIonisation::NbinLambda = 150; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4MuIonisation::G4MuIonisation(const G4String& processName) : G4VMuEnergyLoss(processName), theMeanFreePathTable(0) { } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MuIonisation::~G4MuIonisation() + +G4MuIonisation::~G4MuIonisation() { if (theMeanFreePathTable) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} @@ -86,7 +89,7 @@ void G4MuIonisation::SetNbinLambda(G4int n) {NbinLambda = n;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuIonisation::GetLowerBoundLambda() { return LowerBoundLambda;} @@ -105,6 +108,8 @@ G4int G4MuIonisation::GetNbinLambda() void G4MuIonisation::BuildPhysicsTable(const G4ParticleDefinition& ParticleType) // just call BuildLossTable+BuildLambdaTable { + if( !CutsWhereModified() && theLossTable) return; + // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); @@ -122,11 +127,9 @@ void G4MuIonisation::BuildPhysicsTable(const G4ParticleDefinition& ParticleType) RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; CounterOfmuminusProcess++; } - - if( !EqualCutVectors(G4Electron::Electron() - ->GetLengthCuts(), lastelectronCutInRange)) - BuildLambdaTable(ParticleType); - + + BuildLambdaTable(ParticleType); + G4VMuEnergyLoss::BuildDEDXTable(ParticleType); if(&ParticleType == G4MuonPlus::MuonPlus()) PrintInfoDefinition(); @@ -136,44 +139,42 @@ void G4MuIonisation::BuildPhysicsTable(const G4ParticleDefinition& ParticleType) void G4MuIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) { - // Build tables of dE/dx due to the ionization process - // the tables are built for *MATERIALS* - // create table - // - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfMaterials); - - // get delta cut in energy - G4double* DeltaCutInKineticEnergy = (G4Electron::Electron())->GetEnergyCuts(); - - // loop for materials - // - for (G4int J=0; JclearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); - // now comes the loop for the kinetic energy values + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + + // loop for materials // - for (G4int i = 0 ; i < TotBin ; i++) - { - G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, + for (size_t J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + // get electron cut in kinetic energy for the material + G4double DeltaThreshold = SecondaryEnergyThreshold(J); + + // now comes the loop for the kinetic energy values + + for (G4int i = 0 ; i < TotBin ; i++) + { + G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, aVector->GetLowEdgeEnergy(i), material, DeltaThreshold); - aVector->PutValue(i,dEdx); - } - theLossTable->insert(aVector); + aVector->PutValue(i,dEdx); + } + theLossTable->insert(aVector); } } @@ -181,47 +182,52 @@ void G4MuIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) void G4MuIonisation::BuildLambdaTable(const G4ParticleDefinition& aParticleType) { - // Build mean free path tables for the delta ray production process - // tables are built for MATERIALS - //create table - // - - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + if(0 < verboseLevel) { + G4cout << "G4MuIonisation::BuildLambdaTable() for process " + << GetProcessName() << " and particle " + << aParticleType.GetParticleName() << G4endl; + } - if (theMeanFreePathTable) - {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} + //create table + // + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - theMeanFreePathTable = new G4PhysicsTable(numOfMaterials); + if (theMeanFreePathTable) + { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - // get electron cut in kinetic energy - G4double* DeltaCutInKineticEnergy = (G4Electron::Electron())->GetEnergyCuts(); - - // loop for materials + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + + // loop for materials + + for (size_t J=0 ; J < numOfCouples; J++) + { - for (G4int J=0 ; J < numOfMaterials; J++) - { //create physics vector then fill it .... G4PhysicsLogVector* aVector = new G4PhysicsLogVector( LowerBoundLambda,UpperBoundLambda,NbinLambda); // compute the (macroscopic) cross section first - - const G4Material* material= (*theMaterialTable)[J]; + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4int NumberOfElements = material->GetNumberOfElements(); - + // get the electron kinetic energy cut for the actual material, // it will be used in ComputeCrossSectionPerAtom // ( --> it will be the same for all the elements in this material) - G4double DeltaThreshold =DeltaCutInKineticEnergy[J]; + G4double DeltaThreshold = SecondaryEnergyThreshold(J); for ( G4int i = 0 ; i < NbinLambda ; i++ ) { G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double sigma = 0.; + G4double sigma = 0.; for (G4int iel=0; iel DBL_MIN ? 1./sigma : DBL_MAX; + G4double Value = sigma > DBL_MIN ? 1./sigma : DBL_MAX; aVector->PutValue(i, Value); } theMeanFreePathTable->insert(aVector); - } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -250,12 +256,12 @@ G4double G4MuIonisation::ComputeRestrictedMeandEdx ( // calculate the dE/dx due to the ionization process (Geant4 internal units) // Bethe-Bloch formula // - G4double particleMass = aParticleType.GetPDGMass(); - + G4double particleMass = aParticleType.GetPDGMass(); + G4double ElectronDensity = material->GetElectronDensity(); G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); G4double Eexc2 = Eexc*Eexc; - + G4double tau = KineticEnergy/particleMass; G4double gamma = tau + 1., bg2 = tau*(tau+2.), beta2 = bg2/(gamma*gamma); G4double RateMass = electron_mass_c2/particleMass; @@ -265,30 +271,30 @@ G4double G4MuIonisation::ComputeRestrictedMeandEdx ( G4double dEdx = 0.; // - // high energy part , Bethe-Bloch formula - // + // high energy part , Bethe-Bloch formula + // if (tau > taul) { G4double rcut = G4std::min(DeltaThreshold/Tmax, 1.); dEdx = log(2.*electron_mass_c2*bg2*Tmax/Eexc2) +log(rcut)-(1.+rcut)*beta2; - - //density correction + + //density correction G4double Cden = material->GetIonisation()->GetCdensity(); G4double Mden = material->GetIonisation()->GetMdensity(); G4double Aden = material->GetIonisation()->GetAdensity(); G4double X0den = material->GetIonisation()->GetX0density(); G4double X1den = material->GetIonisation()->GetX1density(); - - const G4double twoln10 = 2.*log(10.); + + const G4double twoln10 = 2.*log(10.); G4double x = log(bg2)/twoln10; G4double delta; if (x < X0den) delta = 0.; else {delta = twoln10*x - Cden; if (x < X1den) delta += Aden*pow((X1den-x),Mden); - } + } - // shell correction + // shell correction G4double* ShellCorrectionVector = material->GetIonisation()-> GetShellCorrectionVector(); const G4double bg2lim = 0.0169, taulim = 8.4146e-3; @@ -297,38 +303,38 @@ G4double G4MuIonisation::ComputeRestrictedMeandEdx ( {xs *= bg2; sh += ShellCorrectionVector[k]/xs;} else { for (G4int k=0; k<3; k++) {xs *= bg2lim; sh += ShellCorrectionVector[k]/xs;} - sh *= log(tau/taul)/log(taulim/taul); + sh *= log(tau/taul)/log(taulim/taul); } // now you can compute the total ionization loss dEdx -= (delta + sh); dEdx /= beta2; - - // correction of R. Kokoulin // has been taken out *************** + + // correction of R. Kokoulin // has been taken out *************** // G4double E = KineticEnergy+particleMass; // G4double epmax = RateMass*E*E/(RateMass*E+particleMass); // G4double apar = log(2.*epmax/electron_mass_c2); // dEdx += fine_structure_const*(log(2.*E/particleMass)-apar/3.)* - // apar*apar/twopi; - + // apar*apar/twopi; + dEdx *= twopi_mc2_rcl2*ElectronDensity; if (dEdx < 0.) dEdx = 0.; } - // + // // low energy part , parametrized energy loss formulae - // + // if (tau <= taul) - { - // get elements in the actual material, + { + // get elements in the actual material, const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume=material->GetVecNbOfAtomsPerVolume(); G4int NumberOfElements = material->GetNumberOfElements(); - + // loop for the elements in the material dEdx = 0.; for (G4int iel=0; ielGetIonisation()->GetTau0()) + const G4Element* element = (*theElementVector)[iel]; + if (tau < element->GetIonisation()->GetTau0()) dEdx += NbOfAtomsPerVolume[iel] *(element->GetIonisation()->GetAlow()*sqrt(tau) + element->GetIonisation()->GetBlow()*tau); @@ -340,7 +346,7 @@ G4double G4MuIonisation::ComputeRestrictedMeandEdx ( if (DeltaThreshold < Tmax) { deltaloss = log(Tmax/DeltaThreshold)- - beta2*(1.-DeltaThreshold/Tmax) ; + beta2*(1.-DeltaThreshold/Tmax) ; if (aParticleType.GetPDGSpin() == 0.5) deltaloss += 0.25*(Tmax-DeltaThreshold)*(Tmax-DeltaThreshold)/ (KineticEnergy*KineticEnergy+proton_mass_c2*proton_mass_c2); @@ -363,8 +369,8 @@ G4double G4MuIonisation::ComputeCrossSectionPerAtom( // calculates the totalcross section per atom in GEANT4 internal units // ( it is called for elements , AtomicNumber = Z ) // - - G4double particleMass = aParticleType.GetPDGMass(); + + G4double particleMass = aParticleType.GetPDGMass(); G4double TotalEnergy = KineticEnergy + particleMass; G4double tempvar = particleMass+electron_mass_c2; G4double KnockonMaxEnergy = 2.*electron_mass_c2*KineticEnergy @@ -373,7 +379,7 @@ G4double G4MuIonisation::ComputeCrossSectionPerAtom( G4double TotalCrossSection = 0.; if (KnockonMaxEnergy <= DeltaThreshold) return TotalCrossSection; - + const G4double xgi[] = {0.06943,0.33001,0.66999,0.93057}; const G4double wgi[] = {0.17393,0.32607,0.32607,0.17393}; const G4double ak1 = 4.6; @@ -385,7 +391,7 @@ G4double G4MuIonisation::ComputeCrossSectionPerAtom( G4double hhh = (bbb-aaa)/kkk; G4double step = exp(hhh); G4double ymax = 1./KnockonMaxEnergy; - + for (G4int k=0; kGetDefinition()->GetPDGMass(); @@ -453,31 +459,30 @@ G4VParticleChange* G4MuIonisation::PostStepDoIt(const G4Track& trackData, G4double TotalEnergy = KineticEnergy + particleMass; G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); G4double Esquare = TotalEnergy*TotalEnergy; - G4double betasquare=Psquare/Esquare; + G4double betasquare=Psquare/Esquare; G4double summass = particleMass + electron_mass_c2; G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*Psquare /(summass*summass+2.*electron_mass_c2*KineticEnergy); G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - // get electron cut in kinetic energy - G4double* DeltaCutInKineticEnergy = (G4Electron::Electron())->GetEnergyCuts(); - G4double DeltaThreshold = DeltaCutInKineticEnergy[aMaterial->GetIndex()]; - // sampling kinetic energy of the delta ray + // get electron cut in kinetic energy + G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); + + // sampling kinetic energy of the delta ray // if (MaxKineticEnergyTransfer <= DeltaThreshold) // pathological case (it should not happen, there is no change at all) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // normal case + // normal case G4double xc = DeltaThreshold/MaxKineticEnergyTransfer; G4double rate = MaxKineticEnergyTransfer/TotalEnergy; G4double te2 = 0.5*rate*rate; - + // sampling follows ... G4double x,twoep,a1,grej; - const G4double alphaprime = fine_structure_const/twopi; - G4double a0=log(2.*TotalEnergy/particleMass); + const G4double alphaprime = fine_structure_const/twopi; + G4double a0=log(2.*TotalEnergy/particleMass); G4double grejc=(1.-xc*betasquare+te2)*(1.+ alphaprime*a0*a0); do { x=xc/(1.-(1.-xc)*G4UniformRand()); twoep = 2.*x*MaxKineticEnergyTransfer; @@ -485,7 +490,7 @@ G4VParticleChange* G4MuIonisation::PostStepDoIt(const G4Track& trackData, grej = (1.-x*(betasquare-x*te2))*(1.+alphaprime*a1* (a0+log((2.*TotalEnergy-twoep)/particleMass)-a1))/grejc ; } while(G4UniformRand() > grej); - + G4double DeltaKineticEnergy = x * MaxKineticEnergyTransfer; if (DeltaKineticEnergy <= 0.) @@ -501,8 +506,8 @@ G4VParticleChange* G4MuIonisation::PostStepDoIt(const G4Track& trackData, if (costheta > +1.) costheta = +1.; // direction of the delta electron - // - G4double phi = twopi * G4UniformRand(); + // + G4double phi = twopi * G4UniformRand(); G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; @@ -514,11 +519,11 @@ G4VParticleChange* G4MuIonisation::PostStepDoIt(const G4Track& trackData, G4DynamicParticle *theDeltaRay = new G4DynamicParticle; theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); + DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); theDeltaRay->SetDefinition(G4Electron::Electron()); // fill aParticleChange - // + // G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; if (finalKineticEnergy > 0.) @@ -543,10 +548,10 @@ G4VParticleChange* G4MuIonisation::PostStepDoIt(const G4Track& trackData, } aParticleChange.SetEnergyChange( finalKineticEnergy ); - aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.SetNumberOfSecondaries(1); aParticleChange.AddSecondary(theDeltaRay); aParticleChange.SetLocalEnergyDeposit (0.); - + //ResetNumberOfInteractionLengthLeft(); return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } @@ -554,11 +559,11 @@ return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuIonisation::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String filename; - + // store stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ @@ -573,59 +578,65 @@ G4bool G4MuIonisation::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " + << ": Success to store the PhysicsTables in " << directory << G4endl; - + return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - + // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); - + G4String filename; + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); // retreive stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theLossTable0->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + if (particle->GetPDGCharge() > 0.) { RecorderOfmuplusProcess[CounterOfmuplusProcess] = (*this).theLossTable; @@ -636,13 +647,14 @@ G4bool G4MuIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; CounterOfmuminusProcess++; } - + G4VMuEnergyLoss::BuildDEDXTable(*particle); - + if(particle==G4MuonPlus::MuonPlus()) PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4MuIonisation::PrintInfoDefinition() diff --git a/source/processes/electromagnetic/muons/src/G4MuIonisationSTD.cc b/source/processes/electromagnetic/muons/src/G4MuIonisationSTD.cc index 7808d74058..a3e576f0f2 100644 --- a/source/processes/electromagnetic/muons/src/G4MuIonisationSTD.cc +++ b/source/processes/electromagnetic/muons/src/G4MuIonisationSTD.cc @@ -32,22 +32,25 @@ // // Creation date: 30.09.1997 // -// Modifications: +// Modifications: // // 08-04-98 remove 'tracking cut' of the ionizing particle (mma) // 26-10-98 new stuff from R.Kokoulin + cleanup , L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban // 23-03-01 R.Kokoulin's correction is commented out, L.Urban // 29-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) +// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 28-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 17-09-01 migration of Materials to pure STL (mma) // 26-09-01 completion of RetrievePhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 07-11-01 correction(Tmax+xsection computation) L.Urban // 08-11-01 particleMass becomes a local variable (mma) // 10-05-02 V.Ivanchenko update to new design -// 04-12-02 V.Ivanchenko the low energy limit for Kokoulin model to 10 GeV +// 04-12-02 V.Ivanchenko the low energy limit for Kokoulin model to 10 GeV +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -66,45 +69,45 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuIonisationSTD::G4MuIonisationSTD(const G4String& name) +G4MuIonisationSTD::G4MuIonisationSTD(const G4String& name) : G4VEnergyLossSTD(name), theParticle(0), - theBaseParticle(0) + theBaseParticle(0), + subCutoff(false) { InitialiseProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuIonisationSTD::~G4MuIonisationSTD() +G4MuIonisationSTD::~G4MuIonisationSTD() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4MuIonisationSTD::InitialiseProcess() +void G4MuIonisationSTD::InitialiseProcess() { SetSecondaryParticle(G4Electron::Electron()); - SetSubCutoffIsDesired(true); SetDEDXBinning(120); SetLambdaBinning(120); SetMinKinEnergy(0.1*keV); SetMaxKinEnergy(100.0*TeV); - G4VEmModel* em = new G4BraggModel(); - em->SetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 2.*MeV); - AddEmModel(em, 0); - G4VEmModel* em1 = new G4BetheBlochModel(); - em1->SetLowEnergyLimit(0, 2.*MeV); - em1->SetHighEnergyLimit(0, 10.0*GeV); - AddEmModel(em1, 1); - G4VEmModel* em2 = new G4MuBetheBlochModel(); - em2->SetLowEnergyLimit(0, 10.0*GeV); - em2->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em2, 2); G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + + G4VEmModel* em = new G4BraggModel(); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(2.*MeV); + AddEmModel(1, em, fm); + G4VEmModel* em1 = new G4BetheBlochModel(); + em1->SetLowEnergyLimit(2.*MeV); + em1->SetHighEnergyLimit(10.0*GeV); + AddEmModel(2, em1, fm); + G4VEmModel* em2 = new G4MuBetheBlochModel(); + em2->SetLowEnergyLimit(10.0*GeV); + em2->SetHighEnergyLimit(100.0*TeV); + AddEmModel(3, em2, fm); mass = (G4MuonPlus::MuonPlus())->GetPDGMass(); ratio = electron_mass_c2/mass; @@ -126,11 +129,18 @@ void G4MuIonisationSTD::PrintInfoDefinition() const { G4VEnergyLossSTD::PrintInfoDefinition(); - G4cout << " Bether-Bloch model for E > 0.2 MeV " + G4cout << " Bether-Bloch model for E > 0.2 MeV " << "parametrisation of Bragg peak below." << G4endl; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4MuIonisationSTD::SetSubCutoff(G4bool val) +{ + subCutoff = val; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc index 13d9cbe5cb..a60399d56e 100644 --- a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc +++ b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc @@ -21,11 +21,11 @@ // ******************************************************************** // // -// $Id: G4MuPairProduction.cc,v 1.26 2001/11/09 13:52:32 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuPairProduction.cc,v 1.33 2003/04/29 04:58:33 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4MuPairProduction physics process --------------------------- -// by Laszlo Urban, May 1998 +// by Laszlo Urban, May 1998 //------------------------------------------------------------------------------ // 04-06-98 in DoIt,secondary production condition: // range>G4std::min(threshold,safety) @@ -40,15 +40,19 @@ // 26-09-01 completion of store/retrieve PhysicsTable // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) // 29-10-01 all static functions no more inlined (mma) -// 07-11-01 particleMass becomes a local variable (mma) +// 07-11-01 particleMass becomes a local variable (mma) +// 08-01-03 DoIt: no more 'tracking cut' for the muon (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) //------------------------------------------------------------------------------ #include "G4MuPairProduction.hh" #include "G4EnergyLossTables.hh" #include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + // static members G4int G4MuPairProduction::nzdat = 5 ; @@ -67,12 +71,12 @@ G4int G4MuPairProduction::NbinLambda = 150; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4MuPairProduction::G4MuPairProduction(const G4String& processName) - : G4VMuEnergyLoss(processName), + : G4VMuEnergyLoss(processName), theMeanFreePathTable(NULL) { } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4MuPairProduction::~G4MuPairProduction() { if (theMeanFreePathTable) { @@ -80,9 +84,7 @@ G4MuPairProduction::~G4MuPairProduction() delete theMeanFreePathTable; } - if (&PartialSumSigma) { - PartialSumSigma.clearAndDestroy(); - } + PartialSumSigma.clearAndDestroy(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -91,27 +93,27 @@ void G4MuPairProduction::SetLowerBoundLambda(G4double val) {LowerBoundLambda = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuPairProduction::SetUpperBoundLambda(G4double val) {UpperBoundLambda = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MuPairProduction::SetNbinLambda(G4int n) {NbinLambda = n;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuPairProduction::GetLowerBoundLambda() { return LowerBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuPairProduction::GetUpperBoundLambda() { return UpperBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4int G4MuPairProduction::GetNbinLambda() {return NbinLambda;} @@ -121,14 +123,14 @@ void G4MuPairProduction::BuildPhysicsTable( const G4ParticleDefinition& aParticleType) // just call BuildLossTable+BuildLambdaTable { - - // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss() ; - HighestKineticEnergy = GetUpperBoundEloss() ; - TotBin = GetNbinEloss() ; + if( !CutsWhereModified() && theLossTable) return; + + LowestKineticEnergy = GetLowerBoundEloss() ; + HighestKineticEnergy = GetUpperBoundEloss() ; + TotBin = GetNbinEloss() ; BuildLossTable(aParticleType) ; - + if(&aParticleType==G4MuonMinus::MuonMinus()) { RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable ; @@ -141,12 +143,9 @@ void G4MuPairProduction::BuildPhysicsTable( } // sampling table should be made only once ! - if(theMeanFreePathTable == NULL) - MakeSamplingTables(&aParticleType); + if( !theMeanFreePathTable ) MakeSamplingTables(&aParticleType); - G4double* electronCutInRange = G4Electron::Electron()->GetLengthCuts(); - if( !EqualCutVectors(electronCutInRange, lastelectronCutInRange)) - BuildLambdaTable(aParticleType) ; + BuildLambdaTable(aParticleType) ; G4VMuEnergyLoss::BuildDEDXTable(aParticleType); @@ -161,28 +160,31 @@ void G4MuPairProduction::BuildLossTable( G4double KineticEnergy,TotalEnergy,pairloss,Z, loss,natom,eCut,pCut ; - const G4MaterialTable* theMaterialTable = - G4Material::GetMaterialTable(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); + + electronEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + positronEnergyCuts = theCoupleTable->GetEnergyCutsVector(2); + G4double particleMass = aParticleType.GetPDGMass(); - ElectronCutInKineticEnergy = G4Electron::Electron()->GetEnergyCuts(); - PositronCutInKineticEnergy = G4Positron::Positron()->GetEnergyCuts(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - - if (theLossTable) { - theLossTable->clearAndDestroy(); - delete theLossTable; - } - - theLossTable = new G4PhysicsTable(numOfMaterials) ; - - for (G4int J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + G4double electronCut = (*electronEnergyCuts)[J] ; + G4double positronCut = (*positronEnergyCuts)[J] ; const G4ElementVector* theElementVector = material->GetElementVector() ; const G4double* theAtomicNumDensityVector = @@ -194,8 +196,9 @@ void G4MuPairProduction::BuildLossTable( { KineticEnergy = aVector->GetLowEdgeEnergy(i) ; TotalEnergy = KineticEnergy+particleMass ; - eCut = ElectronCutInKineticEnergyNow ; - pCut = PositronCutInKineticEnergyNow ; + + eCut = electronCut; + pCut = positronCut; if(eCut>KineticEnergy) eCut = KineticEnergy ; @@ -208,7 +211,7 @@ void G4MuPairProduction::BuildLossTable( Z=(*theElementVector)[iel]->GetZ(); natom = theAtomicNumDensityVector[iel] ; loss = ComputePairLoss(&aParticleType, - Z,KineticEnergy,eCut,pCut) ; + Z,KineticEnergy,eCut,pCut) ; pairloss += natom*loss ; } if(pairloss<0.) @@ -226,8 +229,8 @@ G4double G4MuPairProduction::ComputePairLoss( const G4ParticleDefinition* ParticleType, G4double AtomicNumber, G4double KineticEnergy, - G4double ElectronEnergyCut, - G4double PositronEnergyCut) + G4double ElectronEnergyCut, + G4double PositronEnergyCut) { static const G4double xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801 }; @@ -245,26 +248,26 @@ G4double G4MuPairProduction::ComputePairLoss( G4double CutInPairEnergy = ElectronEnergyCut+PositronEnergyCut +2.*electron_mass_c2 ; if( CutInPairEnergy <= MinPairEnergy ) return loss ; - + G4double particleMass = ParticleType->GetPDGMass(); G4double MaxPairEnergy = KineticEnergy+particleMass*(1.-0.75*sqrte*z13) ; if(MaxPairEnergy < MinPairEnergy) MaxPairEnergy = MinPairEnergy ; - - if( CutInPairEnergy >= MaxPairEnergy ) + + if( CutInPairEnergy >= MaxPairEnergy ) CutInPairEnergy = MaxPairEnergy ; if(CutInPairEnergy <= MinPairEnergy) return loss ; G4double aaa,bbb,hhh,x,epln,ep ; G4int kkk ; - // calculate the rectricted loss + // calculate the rectricted loss // numerical integration in log(PairEnergy) aaa = log(MinPairEnergy) ; bbb = log(CutInPairEnergy) ; kkk = int((bbb-aaa)/ak1+ak2) ; hhh = (bbb-aaa)/kkk ; - + for (G4int l=0 ; lclearAndDestroy(); - delete theMeanFreePathTable; - } - theMeanFreePathTable = new - G4PhysicsTable( G4Material::GetNumberOfMaterials() ) ; + //create table + // + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + //create table + if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); + delete theMeanFreePathTable; + } + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(G4Material::GetNumberOfMaterials()); + PartialSumSigma.resize(numOfCouples); - G4PhysicsLogVector* ptrVector; - for ( size_t J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { - ptrVector = new G4PhysicsLogVector( + G4PhysicsLogVector* ptrVector; + for ( size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= (*theMaterialTable)[J]; - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { + for ( G4int i = 0 ; i < NbinLambda ; i++ ) + { LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, - material ); + Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, couple); ptrVector->PutValue( i , Value ) ; - } + } - theMeanFreePathTable->insertAt( J , ptrVector ); + theMeanFreePathTable->insertAt( J , ptrVector ); // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &ParticleType, FixedEnergy, material) ; - } + ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4MuPairProduction::ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial) + G4double KineticEnergy, + const G4MaterialCutsCouple* couple) { - G4int Imate = aMaterial->GetIndex(); + const G4Material* aMaterial = couple->GetMaterial(); + size_t index = couple->GetIndex(); G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); + const G4ElementVector* theElementVector = aMaterial->GetElementVector(); const G4double* theAtomNumDensityVector = aMaterial-> GetAtomicNumDensityVector(); - G4double ElectronEnergyCut = (G4Electron::Electron()->GetEnergyCuts())[Imate]; - G4double PositronEnergyCut = (G4Positron::Positron()->GetEnergyCuts())[Imate]; + G4double eCut = (*electronEnergyCuts)[index] ; + G4double pCut = (*positronEnergyCuts)[index] ; - PartialSumSigma[Imate] = new G4DataVector(); + PartialSumSigma[index] = new G4DataVector(); G4double SIGMA = 0. ; for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * + { + SIGMA += theAtomNumDensityVector[Ielem] * ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), - ElectronEnergyCut,PositronEnergyCut ); + (*theElementVector)[Ielem]->GetZ(), + eCut,pCut ); - PartialSumSigma[Imate]->push_back(SIGMA); + PartialSumSigma[index]->push_back(SIGMA); } } @@ -363,7 +370,7 @@ G4double G4MuPairProduction::ComputeMicroscopicCrossSection( G4double AtomicNumber, G4double ElectronEnergyCut, G4double PositronEnergyCut) - + { static const G4double xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801 }; @@ -384,7 +391,7 @@ G4double G4MuPairProduction::ComputeMicroscopicCrossSection( if( CutInPairEnergy < 4.*electron_mass_c2 ) CutInPairEnergy = 4.*electron_mass_c2 ; - + G4double particleMass = ParticleType->GetPDGMass(); G4double MaxPairEnergy = KineticEnergy+particleMass*(1.-0.75*sqrte*z13) ; if( CutInPairEnergy >= MaxPairEnergy ) return CrossSection ; @@ -422,11 +429,11 @@ void G4MuPairProduction::MakeSamplingTables( const G4ParticleDefinition* ParticleType) { G4int nbin; - G4double AtomicNumber,KineticEnergy ; + G4double AtomicNumber,KineticEnergy ; G4double c,y,ymin,ymax,dy,yy,dx,x,ep ; static const G4double sqrte = sqrt(exp(1.)) ; - G4double particleMass = ParticleType->GetPDGMass(); + G4double particleMass = ParticleType->GetPDGMass(); for (G4int iz=0; izGetPDGMass(); G4double massratio = particleMass/electron_mass_c2 ; G4double massratio2 = massratio*massratio ; @@ -508,7 +515,7 @@ G4double G4MuPairProduction::ComputeDDMicroscopicCrossSection( G4double c3 = 3.*sqrte*particleMass/4. ; G4double DDCrossSection = 0. ; - + if(EnergyLoss <= c3*z13) return DDCrossSection ; @@ -552,8 +559,8 @@ G4double G4MuPairProduction::ComputeDDMicroscopicCrossSection( G4double a1 = PairEnergy*PairEnergy/a0 ; G4double bet = 0.5*a1 ; G4double xi0 = 0.25*massratio2*a1 ; - G4double del = c8/a0 ; - + G4double del = c8/a0 ; + G4double romin = 0. ; G4double romax = (1.-del)*sqrt(1.-c7/PairEnergy) ; @@ -569,7 +576,7 @@ G4double G4MuPairProduction::ComputeDDMicroscopicCrossSection( G4double xii = 1./xi ; G4double xi1 = 1.+xi ; G4double screen = screen0*xi1/a5 ; - + G4double yeu = 5.-a6+4.*bet*a7 ; G4double yed = 2.*(1.+3.*bet)*log(3.+xii)-a6-a1*(2.-a6) ; G4double yel = 1.+yeu/yed ; @@ -604,16 +611,16 @@ G4double G4MuPairProduction::ComputeDDMicroscopicCrossSection( DDCrossSection *= 4.*fine_structure_const*fine_structure_const *classic_electr_radius*classic_electr_radius/(3.*pi) ; - + DDCrossSection *= z2*EnergyLoss/(TotalEnergy*PairEnergy) ; - - + + return DDCrossSection ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4double G4MuPairProduction::GetDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, G4double AtomicNumber, @@ -629,7 +636,7 @@ G4double G4MuPairProduction::ComputeDMicroscopicCrossSection( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double PairEnergy) - // Calculates the differential (D) microscopic cross section + // Calculates the differential (D) microscopic cross section // using the cross section formula of R.P. Kokoulin (18/01/98) { @@ -657,7 +664,7 @@ G4double G4MuPairProduction::ComputeDMicroscopicCrossSection( for (G4int i=0; i<7; i++) { ro = 1.-exp(tmn*xgi[i]) ; - + DCrossSection += (1.-ro)*ComputeDDMicroscopicCrossSection( ParticleType,KineticEnergy, AtomicNumber,PairEnergy,ro) @@ -671,26 +678,26 @@ G4double G4MuPairProduction::ComputeDMicroscopicCrossSection( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VParticleChange* G4MuPairProduction::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) + const G4Step& stepData) { static const G4double esq = sqrt(exp(1.)); aParticleChange.Initialize(trackData); - G4Material* aMaterial=trackData.GetMaterial() ; - const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + size_t index = couple->GetIndex(); + + const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4double particleMass = aDynamicParticle->GetDefinition()->GetPDGMass(); - G4ParticleMomentum ParticleDirection = + G4double particleMass = aDynamicParticle->GetDefinition()->GetPDGMass(); + G4ParticleMomentum ParticleDirection = aDynamicParticle->GetMomentumDirection(); // e-e+ cut in this material - G4double ElectronEnergyCut = electron_mass_c2+ - G4Electron::Electron()->GetEnergyThreshold(aMaterial); - G4double PositronEnergyCut = electron_mass_c2+ - G4Positron::Positron()->GetEnergyThreshold(aMaterial); - G4double CutInPairEnergy = ElectronEnergyCut + PositronEnergyCut ; + G4double eCut = (*electronEnergyCuts)[index] ; + G4double pCut = (*positronEnergyCuts)[index] ; + G4double CutInPairEnergy = eCut + pCut + 2.0*electron_mass_c2; if (CutInPairEnergy < MinPairEnergy) CutInPairEnergy = MinPairEnergy ; @@ -698,8 +705,8 @@ G4VParticleChange* G4MuPairProduction::PostStepDoIt(const G4Track& trackData, if(KineticEnergy < CutInPairEnergy ) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // select randomly one element constituing the material - G4Element* anElement = SelectRandomAtom(aMaterial); + // select randomly one element constituing the material + const G4Element* anElement = SelectRandomAtom(couple); // limits of the energy sampling G4double TotalEnergy = KineticEnergy + particleMass ; @@ -748,7 +755,7 @@ G4VParticleChange* G4MuPairProduction::PostStepDoIt(const G4Track& trackData, { xc = log(CutInPairEnergy/MinPairEnergy)/log(MaxPairEnergy/MinPairEnergy) ; yc = log(xc) ; - + iy = -1 ; do { iy += 1 ; @@ -756,153 +763,124 @@ G4VParticleChange* G4MuPairProduction::PostStepDoIt(const G4Track& trackData, } G4double norm = proba[izz][itt][iy] ; + G4double r = norm + G4UniformRand()*(1.-norm); - G4double r = norm+G4UniformRand()*(1.-norm) ; - iy -= 1 ; - do { - iy += 1 ; - } while ((proba[izz][itt][iy] < r)&&(iy < NBINminus1)) ; + do { iy += 1; } while ((proba[izz][itt][iy] < r) && (iy < NBINminus1)); //sampling is uniformly in y in the bin - if( iy < NBIN ) - y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy]) ; - else - y = ya[iy] ; + if (iy < NBIN) y = ya[iy] + G4UniformRand()*(ya[iy+1] - ya[iy]); + else y = ya[iy]; - x = exp(y) ; + x = exp(y); - PairEnergy = MinPairEnergy*exp(x*log(MaxPairEnergy/MinPairEnergy)) ; + PairEnergy = MinPairEnergy*exp(x*log(MaxPairEnergy/MinPairEnergy)); - // sample r=(E+-E-)/PairEnergy ( uniformly .....) - G4double rmax = (1.-6.*particleMass*particleMass/(TotalEnergy* - (TotalEnergy-PairEnergy))) - *sqrt(1.-MinPairEnergy/PairEnergy) ; - r = rmax * (-1.+2.*G4UniformRand()) ; + // sample r=(E+-E-)/PairEnergy ( uniformly .....) + G4double rmax = + (1.-6.*particleMass*particleMass/(TotalEnergy*(TotalEnergy-PairEnergy))) + *sqrt(1.-MinPairEnergy/PairEnergy); + r = rmax * (-1.+2.*G4UniformRand()); + + // compute energies from PairEnergy,r + G4double ElectronEnergy = (1-r)*PairEnergy/2.; + G4double PositronEnergy = (1+r)*PairEnergy/2.; - // compute energies from PairEnergy,r - G4double ElectronEnergy=(1.-r)*PairEnergy/2. ; - G4double PositronEnergy=(1.+r)*PairEnergy/2. ; - // angles of the emitted particles ( Z - axis along the parent particle) // (mean theta for the moment) - G4double Teta = electron_mass_c2/TotalEnergy ; + G4double Teta = electron_mass_c2/TotalEnergy; - G4double Phi = twopi * G4UniformRand() ; + G4double Phi = twopi * G4UniformRand(); G4double dirx = sin(Teta)*cos(Phi) , diry = sin(Teta)*sin(Phi) , - dirz = cos(Teta) ; + dirz = cos(Teta); - G4double LocalEnerDeposit = 0. ; - G4int numberofsecondaries = 1 ; - G4int flagelectron = 0 ; - G4int flagpositron = 1 ; + G4double LocalEnerDeposit = 0.; + G4int numberofsecondaries = 1; + G4int flagelectron = 0; + G4int flagpositron = 1; G4DynamicParticle* aParticle1 = 0; G4DynamicParticle* aParticle2 = 0; - G4double ElectronMomentum , PositronMomentum ; - //G4double finalPx,finalPy,finalPz ; + // e- + // G4double ElectKineEnergy = ElectronEnergy - electron_mass_c2 ; - - if((ElectKineEnergy > ElectronEnergyCut) || - (G4EnergyLossTables::GetRange( - G4Electron::Electron(),ElectKineEnergy,aMaterial) >= - stepData.GetPostStepPoint()->GetSafety())) - { - numberofsecondaries += 1 ; - flagelectron = 1 ; - ElectronMomentum = sqrt(ElectKineEnergy* - (ElectronEnergy+electron_mass_c2)); - G4ThreeVector ElectDirection ( dirx, diry, dirz ); - ElectDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the particle1 - aParticle1= new G4DynamicParticle (G4Electron::Electron(), - ElectDirection, ElectKineEnergy); - } - else - { LocalEnerDeposit += ElectKineEnergy ; } + if (ElectKineEnergy > eCut) + { + numberofsecondaries += 1; + flagelectron = 1; + G4ThreeVector ElectDirection ( dirx, diry, dirz ); + ElectDirection.rotateUz(ParticleDirection); + // create G4DynamicParticle object for the particle1 + aParticle1 = new G4DynamicParticle (G4Electron::Electron(), + ElectDirection, ElectKineEnergy); + } + else { LocalEnerDeposit += ElectKineEnergy;} // the e+ is always created (even with Ekine=0) for further annihilation. - - G4double PositKineEnergy = PositronEnergy - electron_mass_c2 ; - PositronMomentum = sqrt(PositKineEnergy*(PositronEnergy+electron_mass_c2)); - - if((PositKineEnergy < PositronEnergyCut) && - (G4EnergyLossTables::GetRange( - G4Positron::Positron(),PositKineEnergy,aMaterial) <= - stepData.GetPostStepPoint()->GetSafety())) - { - LocalEnerDeposit += PositKineEnergy ; - PositKineEnergy = 0. ; - } + // + G4double PositKineEnergy = PositronEnergy - electron_mass_c2; + if (PositKineEnergy < pCut) + { + LocalEnerDeposit += PositKineEnergy; + PositKineEnergy = 0.; + } G4ThreeVector PositDirection ( -dirx, -diry, dirz ); - PositDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the particle2 + PositDirection.rotateUz(ParticleDirection); + // create G4DynamicParticle object for the particle2 aParticle2= new G4DynamicParticle (G4Positron::Positron(), - PositDirection, PositKineEnergy); + PositDirection, PositKineEnergy); // fill particle change and update initial particle - aParticleChange.SetNumberOfSecondaries(numberofsecondaries) ; - if(flagelectron==1) - aParticleChange.AddSecondary( aParticle1 ) ; - if(flagpositron==1) - aParticleChange.AddSecondary( aParticle2 ) ; + aParticleChange.SetNumberOfSecondaries(numberofsecondaries) ; + if (flagelectron==1) aParticleChange.AddSecondary(aParticle1); + if (flagpositron==1) aParticleChange.AddSecondary(aParticle2); - G4double NewKinEnergy = KineticEnergy - ElectronEnergy - PositronEnergy ; - //G4double finalMomentum=sqrt(NewKinEnergy*(NewKinEnergy+2.*particleMass)); + G4double NewKinEnergy = KineticEnergy - ElectronEnergy - PositronEnergy; - aParticleChange.SetMomentumChange( ParticleDirection ); + aParticleChange.SetMomentumChange(ParticleDirection); - G4double KinEnergyCut = (aDynamicParticle->GetDefinition()-> - GetEnergyCuts())[aMaterial->GetIndex()]; + if (NewKinEnergy > 0.) aParticleChange.SetEnergyChange(NewKinEnergy); + else { aParticleChange.SetEnergyChange(0.); + aParticleChange.SetStatusChange(fStopButAlive); + } - if (NewKinEnergy > KinEnergyCut) - { - aParticleChange.SetEnergyChange( NewKinEnergy ); - } - else - { - aParticleChange.SetEnergyChange(0.); - LocalEnerDeposit += NewKinEnergy ; - aParticleChange.SetStatusChange(fStopButAlive); - } - - aParticleChange.SetLocalEnergyDeposit( LocalEnerDeposit ) ; + aParticleChange.SetLocalEnergyDeposit(LocalEnerDeposit); + //reset NumberOfinteractionLengthLeft() return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4Element* G4MuPairProduction::SelectRandomAtom(G4Material* aMaterial) const +G4Element* G4MuPairProduction::SelectRandomAtom(const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material + size_t index = couple->GetIndex(); + const G4Material* aMaterial = couple->GetMaterial(); - const G4int Index = aMaterial->GetIndex(); const G4int NumberOfElements = aMaterial->GetNumberOfElements(); const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - G4double rval = G4UniformRand()*((*PartialSumSigma[Index]) + G4double rval = G4UniformRand()*((*PartialSumSigma[index]) [NumberOfElements-1]); for ( G4int i=0; i < NumberOfElements; i++ ) { - if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)[i]); + if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); } G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName() << "' has no elements, NULL pointer returned." << G4endl; - return NULL; + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuPairProduction::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String filename; - + // store stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ @@ -917,75 +895,81 @@ G4bool G4MuPairProduction::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + // store PartialSumSigma table (G4OrderedTable) filename = GetPhysicsTableFileName(particle,directory,"PartSumSigma",ascii); if ( !PartialSumSigma.Store(filename, ascii) ){ G4cout << " FAIL PartialSumSigma.store in " << filename << G4endl; return false; - } + } G4cout << GetProcessName() << "for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " + << ": Success to store the PhysicsTables in " << directory << G4endl; - + return true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4MuPairProduction::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - if (&PartialSumSigma != 0) PartialSumSigma.clear(); - + // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); G4String filename; - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + electronEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + positronEnergyCuts = theCoupleTable->GetEnergyCutsVector(2); + // retreive stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theLossTable0->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retrieve PartialSumSigma table (G4OrderedTable) + PartialSumSigma.clearAndDestroy(); + PartialSumSigma.reserve(numOfCouples); filename = GetPhysicsTableFileName(particle,directory,"PartSumSigma",ascii); if ( !PartialSumSigma.Retrieve(filename, ascii) ){ G4cout << " FAIL PartialSumSigma.retrieve in " << filename << G4endl; return false; } - + G4cout << GetProcessName() << "for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + if (particle->GetPDGCharge() < 0.) { RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; @@ -996,14 +980,14 @@ G4bool G4MuPairProduction::RetrievePhysicsTable(G4ParticleDefinition* particle, RecorderOfmuplusProcess[CounterOfmuplusProcess] = (*this).theLossTable; CounterOfmuplusProcess++; } - + MakeSamplingTables(particle); - G4VMuEnergyLoss::BuildDEDXTable(*particle); - + if(particle==G4MuonPlus::MuonPlus()) PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4MuPairProduction::PrintInfoDefinition() diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc index c3bf100de6..fe55c021e4 100644 --- a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc @@ -29,14 +29,21 @@ // File name: G4MuPairProductionModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 24.06.2002 // -// Modifications: 04.12.2002 Change G4DynamicParticle constructor in PostStep (VI) +// Modifications: +// +// 04-12-02 Change G4DynamicParticle constructor in PostStep (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Fix for compounds (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add model (V.Ivanchenko) + +// +// Class Description: // -// Class Description: // -// // ------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -51,10 +58,11 @@ #include "G4Material.hh" #include "G4Element.hh" #include "G4ElementVector.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// static members + +// static members // G4double G4MuPairProductionModel::zdat[]={1.,4.,13.,29.,92.}; G4double G4MuPairProductionModel::adat[]={1.01,9.01,26.98,63.55,238.03}; @@ -62,24 +70,21 @@ G4double G4MuPairProductionModel::tdat[]={1.e3,1.e4,1.e5,1.e6,1.e7,1.e8,1.e9,1.e //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuPairProductionModel::G4MuPairProductionModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4MuPairProductionModel::G4MuPairProductionModel(const G4ParticleDefinition* p, + const G4String& nam) + : G4VEmModel(nam), minPairEnergy(4.*electron_mass_c2), highKinEnergy(1000000.*TeV), lowKinEnergy(minPairEnergy), - minThreshold(minPairEnergy), nzdat(5), ntdat(8), NBIN(1000), - oldMaterial(0), samplingTablesAreFilled(false) -{ - partialSumSigma.clear(); -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuPairProductionModel::~G4MuPairProductionModel() +G4MuPairProductionModel::~G4MuPairProductionModel() { size_t n = partialSumSigma.size(); if(n > 0) { @@ -91,58 +96,87 @@ G4MuPairProductionModel::~G4MuPairProductionModel() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuPairProductionModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuPairProductionModel::HighEnergyLimit(const G4ParticleDefinition*) { return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuPairProductionModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MuPairProductionModel::LowEnergyLimit(const G4ParticleDefinition*) { return lowKinEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material* material) +G4double G4MuPairProductionModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple* couple) { - G4double eCut = (G4Electron::Electron())->GetEnergyThreshold(material); - G4double pCut = (G4Positron::Positron())->GetEnergyThreshold(material); - G4double x = minPairEnergy; + + size_t index = couple->GetIndex(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + + G4double eCut = (*(theCoupleTable->GetEnergyCutsVector(1)))[index]; + G4double pCut = (*(theCoupleTable->GetEnergyCutsVector(2)))[index]; + G4double x = 2.0*electron_mass_c2 + eCut + pCut; + if(x < minPairEnergy) x = minPairEnergy; +/* if(eCut < highKinEnergy && pCut < highKinEnergy) { x += eCut + pCut; } else { x = 0.5*highKinEnergy; } + */ return x; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4MuPairProductionModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4MuPairProductionModel::IsInCharge(const G4ParticleDefinition* p) { return (p == G4MuonMinus::MuonMinus() || p == G4MuonPlus::MuonPlus()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4MuPairProductionModel::Initialise(const G4ParticleDefinition*, + const G4DataVector& cuts) +{ + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + G4double fixedEnergy = sqrt(lowKinEnergy*highKinEnergy); + + for (size_t ii=0; iiGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); + G4DataVector* dv = ComputePartialSumSigma(material, fixedEnergy, + G4std::min(cuts[i], 0.25*highKinEnergy)); + partialSumSigma.push_back(dv); + } + if(!samplingTablesAreFilled) MakeSamplingTables(); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4MuPairProductionModel::ComputeDEDX(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, - G4double cutEnergy) + G4double cutEnergy) { G4double dedx = 0.0; - if(!samplingTablesAreFilled) { - minThreshold = MinEnergyCut(p, material); - MakeSamplingTables(); - } - if(kineticEnergy < minPairEnergy) return dedx; - + if(minPairEnergy >= cutEnergy) return dedx; + G4double cut = cutEnergy; + if(kineticEnergy <= cutEnergy) cut = kineticEnergy; + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); @@ -151,7 +185,7 @@ G4double G4MuPairProductionModel::ComputeDEDX(const G4Material* material, G4double Z = (*theElementVector)[i]->GetZ(); - G4double loss = ComputMuPairLoss(Z, kineticEnergy, cutEnergy); + G4double loss = ComputMuPairLoss(Z, kineticEnergy, cut); dedx += loss*theAtomicNumDensityVector[i]; } @@ -161,12 +195,12 @@ G4double G4MuPairProductionModel::ComputeDEDX(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MuPairProductionModel::ComputMuPairLoss(G4double Z, +G4double G4MuPairProductionModel::ComputMuPairLoss(G4double Z, G4double tkin, G4double cutEnergy) { - static const + static const G4double xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801}; - static const + static const G4double wgi[] ={ 0.0506,0.1112,0.1569,0.1813,0.1813,0.1569,0.1112,0.0506}; static const G4double ak1=6.9; static const G4double ak2=1.0; @@ -176,20 +210,16 @@ G4double G4MuPairProductionModel::ComputMuPairLoss(G4double Z, G4double loss = 0.0 ; - if (Z < 1. || cutEnergy < minPairEnergy) return loss; - G4double particleMass = (G4MuonPlus::MuonPlus())->GetPDGMass(); G4double tmax = tkin + particleMass*(1.-0.75*sqrte*z13); // G4cout << "###DEDX tkin= " << tkin << " tmax= " << tmax << " tmin= " << minPairEnergy << G4endl; - if(tmax < minPairEnergy) tmax = minPairEnergy; - G4double cut = cutEnergy; - if(cut >= tmax) cut = tmax; + if(tmax <= cutEnergy) cut = tmax; if(cut <= minPairEnergy) return loss; - - // calculate the rectricted loss + + // calculate the rectricted loss // numerical integration in log(PairEnergy) G4double bbb = log(cut) ; G4int kkk = (G4int)((bbb-aaa)/ak1+ak2); @@ -201,7 +231,7 @@ G4double G4MuPairProductionModel::ComputMuPairLoss(G4double Z, for (G4int l=0 ; lGetPDGMass(); G4double tmax = tkin + particleMass*(1.-0.75*sqrte*z13); - if(tmax < minPairEnergy) tmax = minPairEnergy; if(tmax <= cut) return cross; @@ -258,13 +286,13 @@ G4double G4MuPairProductionModel::ComputeMicroscopicCrossSection( for(G4int i=0; i<8; i++) { G4double ep = exp(x + xgi[i]*hhh); - + cross += ep*wgi[i]*ComputeDMicroscopicCrossSection(tkin, Z, ep); } aaa += hhh; } - cross *=hhh; + cross *=hhh; if(cross < 0.0) cross = 0.0; return cross; @@ -274,9 +302,9 @@ G4double G4MuPairProductionModel::ComputeMicroscopicCrossSection( G4double G4MuPairProductionModel::ComputeDMicroscopicCrossSection( G4double tkin, - G4double Z, + G4double Z, G4double pairEnergy) - // Calculates the differential (D) microscopic cross section + // Calculates the differential (D) microscopic cross section // using the cross section formula of R.P. Kokoulin (18/01/98) { @@ -310,7 +338,7 @@ G4double G4MuPairProductionModel::ComputeDMicroscopicCrossSection( for (G4int i=0; i<7; i++) { G4double ro = 1.-exp(tmn*xgi[i]) ; - + cross += wgi[i]*(1.-ro)*ComputeDDMicroscopicCrossSection(tkin,Z,pairEnergy,ro); // cout << "ro= " << ro << " cross= " << cross << endl; } @@ -324,34 +352,34 @@ G4double G4MuPairProductionModel::ComputeDMicroscopicCrossSection( G4double G4MuPairProductionModel::ComputeDDMicroscopicCrossSection( G4double tkin, - G4double Z, + G4double Z, G4double pairEnergy, G4double asymmetry) - // Calculates the differential (D) microscopic cross section + // Calculates the differential (D) microscopic cross section // using the cross section formula of R.P. Kokoulin (18/01/98) { static const G4double sqrte = sqrt(exp(1.)) ; G4double bbbtf= 183. ; - G4double bbbh = 202.4 ; + G4double bbbh = 202.4 ; G4double g1tf = 1.95e-5 ; G4double g2tf = 5.3e-5 ; G4double g1h = 4.4e-5 ; G4double g2h = 4.8e-5 ; - + G4double particleMass = (G4MuonPlus::MuonPlus())->GetPDGMass(); G4double totalEnergy = tkin + particleMass; G4double energyLoss = totalEnergy - pairEnergy; G4double massratio = particleMass/electron_mass_c2 ; G4double massratio2 = massratio*massratio ; - + G4double z13 = pow(Z,0.333333333); G4double z23 = z13*z13 ; G4double c3 = 3.*sqrte*particleMass/4. ; G4double DDCrossSection = 0. ; - + if(energyLoss <= c3*z13) return DDCrossSection ; G4double c7 = 4.*electron_mass_c2 ; @@ -393,8 +421,8 @@ G4double G4MuPairProductionModel::ComputeDDMicroscopicCrossSection( G4double a1 = pairEnergy*pairEnergy/a0 ; G4double bet = 0.5*a1 ; G4double xi0 = 0.25*massratio2*a1 ; - G4double del = c8/a0 ; - + G4double del = c8/a0 ; + G4double romin = 0. ; G4double romax = (1.-del)*sqrt(1.-c7/pairEnergy) ; @@ -409,7 +437,7 @@ G4double G4MuPairProductionModel::ComputeDDMicroscopicCrossSection( G4double xii = 1./xi ; G4double xi1 = 1.+xi ; G4double screen = screen0*xi1/a5 ; - + G4double yeu = 5.-a6+4.*bet*a7 ; G4double yed = 2.*(1.+3.*bet)*log(3.+xii)-a6-a1*(2.-a6) ; G4double yel = 1.+yeu/yed ; @@ -444,10 +472,10 @@ G4double G4MuPairProductionModel::ComputeDDMicroscopicCrossSection( DDCrossSection *= 4.*fine_structure_const*fine_structure_const *classic_electr_radius*classic_electr_radius/(3.*pi) ; - + DDCrossSection *= z2*energyLoss/(totalEnergy*pairEnergy) ; - - + + return DDCrossSection ; } @@ -458,74 +486,52 @@ G4double G4MuPairProductionModel::CrossSection(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, G4double cutEnergy, - G4double maxEnergy) + G4double maxEnergy) { G4double cross = 0.0; - if(!samplingTablesAreFilled) { - minThreshold = MinEnergyCut(p, material); - MakeSamplingTables(); - } + G4double tmax = G4std::min(maxEnergy, kineticEnergy); - G4double cut = G4std::max(cutEnergy, minThreshold); - if(cut >= tmax) return cross; + if(cutEnergy >= tmax) return cross; const G4ElementVector* theElementVector = material->GetElementVector() ; const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - if(material != oldMaterial) { - oldMaterial = material; - G4double fixedEnergy = sqrt(lowKinEnergy*highKinEnergy); - ComputePartialSumSigma(material, fixedEnergy, cutEnergy); - } - for (size_t i=0; iGetNumberOfElements(); i++) { G4double Z = (*theElementVector)[i]->GetZ(); G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; - + G4double cr = ComputeMicroscopicCrossSection(kineticEnergy, Z, A, cutEnergy); if(maxEnergy < kineticEnergy) { cr -= ComputeMicroscopicCrossSection(kineticEnergy, Z, A, maxEnergy); } - cross += theAtomNumDensityVector[i] * cr; - } - + cross += theAtomNumDensityVector[i] * cr; + } + return cross; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4MuPairProductionModel::ComputePartialSumSigma(const G4Material* material, - G4double kineticEnergy, - G4double cut) +G4DataVector* G4MuPairProductionModel::ComputePartialSumSigma( + const G4Material* material, + G4double kineticEnergy, + G4double cut) // Build the table of cross section per element. The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. +// This table is used by DoIt to select randomly an element in the material. { - size_t index = material->GetIndex(); G4int nElements = material->GetNumberOfElements(); - const G4ElementVector* theElementVector = material->GetElementVector(); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - G4DataVector* dv; - - if (index >= partialSumSigma.size()) { - - dv = new G4DataVector(); - partialSumSigma.push_back(dv); - - } else { - - dv = partialSumSigma[index]; - dv->clear(); - if(0 == index) samplingTablesAreFilled = false; - } + G4DataVector* dv = new G4DataVector(); G4double cross = 0.0; for (G4int i=0; iGetZ(); G4double A = (*theElementVector)[i]->GetA()/(g/mole) ; @@ -533,6 +539,7 @@ void G4MuPairProductionModel::ComputePartialSumSigma(const G4Material* material, Z, A, cut); dv->push_back(cross); } + return dv; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -556,28 +563,28 @@ void G4MuPairProductionModel::MakeSamplingTables() G4double ymin = -5. ; G4double ymax = 0. ; - G4double dy = (ymax-ymin)/NBIN ; - + G4double dy = (ymax-ymin)/NBIN ; + G4double y = ymin - 0.5*dy ; G4double yy = ymin - dy ; G4double x = exp(y); G4double fac = exp(dy); G4double dx = exp(yy)*(fac - 1.0); - if(maxPairEnergy > minThreshold) { - G4double c = log(maxPairEnergy/minThreshold) ; + if(maxPairEnergy > minPairEnergy) { + G4double c = log(maxPairEnergy/minPairEnergy) ; for (G4int i=0 ; i 0.) @@ -608,27 +615,38 @@ void G4MuPairProductionModel::MakeSamplingTables() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4MuPairProductionModel::SampleSecondary( - const G4Material* aMaterial, +G4DynamicParticle* G4MuPairProductionModel::SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double, + G4double) +{ + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4MuPairProductionModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, const G4DynamicParticle* aDynamicParticle, G4double minEnergy, - G4double maxEnergy) + G4double maxEnergy) { static const G4double esq = sqrt(exp(1.)); G4double kineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4double particleMass = aDynamicParticle->GetDefinition()->GetPDGMass(); - G4ParticleMomentum ParticleDirection = + G4double particleMass = aDynamicParticle->GetDefinition()->GetPDGMass(); + G4ParticleMomentum ParticleDirection = aDynamicParticle->GetMomentumDirection(); - // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(aMaterial); + // select randomly one element constituing the material + const G4Element* anElement = SelectRandomAtom(couple); // limits of the energy sampling G4double totalEnergy = kineticEnergy + particleMass ; //G4double TotalMomentum = sqrt(KineticEnergy*(TotalEnergy+particleMass)) ; G4double Z3 = anElement->GetIonisation()->GetZ3() ; G4double maxPairEnergy = totalEnergy-0.75*esq*particleMass*Z3 ; - if(maxPairEnergy > maxEnergy) maxPairEnergy = maxEnergy; + if(maxPairEnergy > maxEnergy) maxPairEnergy = maxEnergy; // check against insufficient energy if(minEnergy >= maxPairEnergy) return 0; @@ -671,7 +689,7 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( { G4double xc = log(minEnergy/minPairEnergy)/log(maxPairEnergy/minPairEnergy) ; yc = log(xc) ; - + iy = -1 ; do { iy += 1 ; @@ -681,7 +699,7 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( G4double norm = proba[izz][itt][iy] ; G4double r = norm+G4UniformRand()*(1.-norm) ; - + iy -= 1 ; do { iy += 1 ; @@ -704,9 +722,9 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( r = rmax * (-1.+2.*G4UniformRand()) ; // compute energies from PairEnergy,r - G4double ElectronEnergy=(1.-r)*PairEnergy/2. ; + G4double ElectronEnergy=(1.-r)*PairEnergy/2. ; G4double PositronEnergy=(1.+r)*PairEnergy/2. ; - + // angles of the emitted particles ( Z - axis along the parent particle) // (mean theta for the moment) G4double Teta = electron_mass_c2/totalEnergy ; @@ -721,12 +739,12 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( ElectronMomentum = sqrt(ElectKineEnergy*(ElectronEnergy+electron_mass_c2)); G4ThreeVector ElectDirection ( dirx, diry, dirz ); - ElectDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the particle1 + ElectDirection.rotateUz(ParticleDirection); + + // create G4DynamicParticle object for the particle1 G4DynamicParticle* aParticle1= new G4DynamicParticle(); aParticle1->SetDefinition(G4Electron::Electron()); - aParticle1->SetMomentumDirection(ElectDirection); + aParticle1->SetMomentumDirection(ElectDirection); aParticle1->SetKineticEnergy(ElectKineEnergy); @@ -734,12 +752,12 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( PositronMomentum = sqrt(PositKineEnergy*(PositronEnergy+electron_mass_c2)); G4ThreeVector PositDirection ( -dirx, -diry, dirz ); - PositDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the particle2 + PositDirection.rotateUz(ParticleDirection); + + // create G4DynamicParticle object for the particle2 G4DynamicParticle* aParticle2= new G4DynamicParticle(); aParticle2->SetDefinition(G4Positron::Positron()); - aParticle2->SetMomentumDirection(PositDirection); + aParticle2->SetMomentumDirection(PositDirection); aParticle2->SetKineticEnergy(PositKineEnergy); @@ -753,16 +771,17 @@ G4std::vector* G4MuPairProductionModel::SampleSecondary( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... const G4Element* G4MuPairProductionModel::SelectRandomAtom( - const G4Material* material) const + const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material + const G4Material* material = couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); if(1 == nElements) return (*theElementVector)[0]; - else if(1 > nElements) return 0; + else if(1 > nElements) return 0; - G4DataVector* dv = partialSumSigma[material->GetIndex()]; + G4DataVector* dv = partialSumSigma[couple->GetIndex()]; G4double rval = G4UniformRand()*((*dv)[nElements-1]); for (G4int i=0; iG4std::min(threshold,safety) -// 26/10/98 new stuff from R. Kokoulin + cleanup , L.Urban -// 06/05/99 bug fixed , L.Urban -// 10/02/00 modifications+bug fix , new e.m. structure, L.Urban -// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 26-10-98 new stuff from R. Kokoulin + cleanup , L.Urban +// 06-05-99 bug fixed , L.Urban +// 10-02-00 modifications+bug fix , new e.m. structure, L.Urban +// 29-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 17-09-01 migration of Materials to pure STL (mma) // 20-09-01 (L.Urban) in ComputeMicroscopicCrossSection, remove: @@ -49,6 +49,9 @@ // 29-10-01 all static functions no more inlined (mma) // 07-11-01 particleMass becomes a local variable (mma) // 19-08-02 V.Ivanchenko update to new design +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -67,22 +70,22 @@ G4MuPairProductionSTD::G4MuPairProductionSTD(const G4String& name) : G4VEnergyLossSTD(name), theParticle(0), - theBaseParticle(0) + theBaseParticle(0), + subCutoff(false) { InitialiseProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MuPairProductionSTD::~G4MuPairProductionSTD() +G4MuPairProductionSTD::~G4MuPairProductionSTD() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4MuPairProductionSTD::InitialiseProcess() +void G4MuPairProductionSTD::InitialiseProcess() { SetSecondaryParticle(G4Electron::Electron()); - SetSubCutoffIsDesired(true); SetDEDXBinning(120); SetLambdaBinning(120); @@ -90,11 +93,9 @@ void G4MuPairProductionSTD::InitialiseProcess() SetMaxKinEnergy(100.0*TeV); G4VEmModel* em = new G4MuPairProductionModel(); - em->SetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em, 0); - G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(100.0*TeV); + AddEmModel(1, em); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -116,7 +117,14 @@ void G4MuPairProductionSTD::PrintInfoDefinition() const << G4endl; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4MuPairProductionSTD::SetSubCutoff(G4bool val) +{ + subCutoff = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc b/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc index e596a4868d..55cbabe32b 100644 --- a/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc +++ b/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VMuEnergyLoss.cc,v 1.22 2002/05/29 12:26:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VMuEnergyLoss.cc,v 1.28 2003/04/26 12:11:14 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -------------------------------------------------------------- // GEANT 4 class implementation file // @@ -39,16 +39,19 @@ // cleanup L.Urban on 23/10/98 // corrections due to new e.m. structure L.Urban 10/02/00 // signature in GetLossWithFluct changed L.Urban 30/10/00 -// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 10/09/01 L.Urban : loss+ mechanism (subcutoff delta rays) implemented // 12/09/01 min.delta cut is set as rcut/100 + some optimisation, L.Urban // 17-09-01 migration of Materials to pure STL (mma) // 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 08-11-01 some small cosmetics , L.Urban // 06-02-02 bug fixed at subcutoff definition, L.Urban // 26-02-02 bug fixed in TouchebleHandle definition, V.Ivanchenko // 29-05-02 bug fixed in N of subcutoff delta, V.Ivanchenko +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 25-03-03 add finalRangeRequested (mma) +// 09-04-03 finalRange is region aware (V.Ivanchenko) // -------------------------------------------------------------- @@ -57,6 +60,7 @@ #include "G4Poisson.hh" #include "G4Navigator.hh" #include "G4TransportationManager.hh" +#include "G4ProductionCutsTable.hh" // Initialisation of static members ******************************************* @@ -87,7 +91,7 @@ G4PhysicsTable* G4VMuEnergyLoss::themuplusRangeCoeffCTable = 0 ; G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffATable = 0 ; G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffBTable = 0 ; G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffCTable = 0 ; - + G4double G4VMuEnergyLoss::LowerBoundEloss = 1.*keV ; G4double G4VMuEnergyLoss::UpperBoundEloss = 1000000.*TeV ; G4int G4VMuEnergyLoss::NbinEloss = 150 ; @@ -100,23 +104,21 @@ G4int G4VMuEnergyLoss::Ndeltamax = 100 ; G4EnergyLossMessenger* G4VMuEnergyLoss::eLossMessenger = 0 ; // constructor and destructor - + G4VMuEnergyLoss::G4VMuEnergyLoss(const G4String& processName) : G4VEnergyLoss (processName), theLossTable(0), - lastgammaCutInRange(0), - lastelectronCutInRange(0), theRangeCoeffATable(0), theRangeCoeffBTable(0), theRangeCoeffCTable(0) -{ +{ } -G4VMuEnergyLoss::~G4VMuEnergyLoss() +G4VMuEnergyLoss::~G4VMuEnergyLoss() { if(theLossTable) { theLossTable->clearAndDestroy(); - delete theLossTable; theLossTable = 0; + delete theLossTable; theLossTable = 0; } } @@ -141,7 +143,7 @@ void G4VMuEnergyLoss::SetNbinEloss(G4int nb) {NbinEloss=nb;} G4double G4VMuEnergyLoss::GetLowerBoundEloss() {return LowerBoundEloss;} G4double G4VMuEnergyLoss::GetUpperBoundEloss() {return UpperBoundEloss;} G4int G4VMuEnergyLoss::GetNbinEloss() {return NbinEloss;} - + void G4VMuEnergyLoss::BuildDEDXTable( const G4ParticleDefinition& aParticleType) { @@ -151,50 +153,32 @@ void G4VMuEnergyLoss::BuildDEDXTable( LOGRTable=lrate/NbinEloss; RTable =exp(LOGRTable); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + //set physically consistent value for finalRange // and parameters for en.loss step limit - for (size_t idxMate=0; idxMate (G4Electron::Electron()->GetLengthCuts())[idxMate]) - finalRange = (G4Electron::Electron()->GetLengthCuts())[idxMate]; - } - c1lim = dRoverRange ; - c2lim = 2.*(1.-dRoverRange)*finalRange ; - c3lim = -(1.-dRoverRange)*finalRange*finalRange; + if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} G4bool MakeTable ; - ParticleMass = aParticleType.GetPDGMass() ; + ParticleMass = aParticleType.GetPDGMass() ; G4double Charge = aParticleType.GetPDGCharge()/eplus ; - G4double* gammaCutInRange = G4Gamma::Gamma()->GetLengthCuts(); - G4double* electronCutInRange = G4Electron::Electron()->GetLengthCuts(); MakeTable = false ; - // Create tables only if there are new cut values - if(EqualCutVectors(gammaCutInRange,lastgammaCutInRange) && - EqualCutVectors(electronCutInRange,lastelectronCutInRange)) - { - ; - } - else - { - lastgammaCutInRange = CopyCutVectors(lastgammaCutInRange,gammaCutInRange); - lastelectronCutInRange = CopyCutVectors(lastelectronCutInRange,electronCutInRange); - if((Charge > 0.)&&(CounterOfmuplusProcess==NbOfProcesses)) - MakeTable = true ; - if((Charge < 0.)&&(CounterOfmuminusProcess==NbOfProcesses)) - MakeTable = true ; - } - - const G4MaterialTable* theMaterialTable= - G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + if ( (Charge > 0.) && (CounterOfmuplusProcess==NbOfProcesses) ) + MakeTable = true ; + else if ( (Charge < 0.) && (CounterOfmuminusProcess==NbOfProcesses) ) + MakeTable = true ; + if( MakeTable ) { // Build energy loss table as a sum of the energy loss due to the - // different processes. + // different processes. - if( Charge >0.) + if( Charge >0.) { RecorderOfProcess=RecorderOfmuplusProcess; CounterOfProcess=CounterOfmuplusProcess; @@ -205,7 +189,7 @@ void G4VMuEnergyLoss::BuildDEDXTable( { theDEDXmuplusTable->clearAndDestroy(); delete theDEDXmuplusTable; } - theDEDXmuplusTable = new G4PhysicsTable(numOfMaterials); + theDEDXmuplusTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXmuplusTable; } } @@ -219,7 +203,7 @@ void G4VMuEnergyLoss::BuildDEDXTable( if(theDEDXmuminusTable) { theDEDXmuminusTable->clearAndDestroy(); delete theDEDXmuminusTable; } - theDEDXmuminusTable = new G4PhysicsTable(numOfMaterials); + theDEDXmuminusTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXmuminusTable; } } @@ -229,18 +213,17 @@ void G4VMuEnergyLoss::BuildDEDXTable( // loop for materials G4double LowEdgeEnergy , Value ; G4bool isOutRange ; - G4int J; G4PhysicsTable* pointer ; - for (J=0; JGetLowEdgeEnergy(i) ; + LowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; Value = 0. ; for (G4int process=0; process < NbOfProcesses; process++) { @@ -248,13 +231,13 @@ void G4VMuEnergyLoss::BuildDEDXTable( Value += (*pointer)[J]-> GetValue(LowEdgeEnergy,isOutRange) ; } - aVector->PutValue(i,Value) ; + aVector->PutValue(i,Value) ; } theDEDXTable->insert(aVector) ; } - } + // reset counter to zero .................. - if( Charge >0.) + if( Charge >0.) CounterOfmuplusProcess=0 ; else CounterOfmuminusProcess=0 ; @@ -265,7 +248,7 @@ void G4VMuEnergyLoss::BuildDEDXTable( { // Build range table theRangemuplusTable = BuildRangeTable( - theDEDXmuplusTable,theRangemuplusTable, + theDEDXmuplusTable,theRangemuplusTable, LowerBoundEloss,UpperBoundEloss,NbinEloss); // Build lab/proper time tables @@ -301,7 +284,7 @@ void G4VMuEnergyLoss::BuildDEDXTable( { // Build range table theRangemuminusTable = BuildRangeTable( - theDEDXmuminusTable,theRangemuminusTable, + theDEDXmuminusTable,theRangemuminusTable, LowerBoundEloss,UpperBoundEloss,NbinEloss); // Build lab/proper time tables @@ -338,7 +321,7 @@ void G4VMuEnergyLoss::BuildDEDXTable( } // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, (Charge > 0)? theDEDXmuplusTable: theDEDXmuminusTable, (Charge > 0)? theRangemuplusTable: theRangemuminusTable, (Charge > 0)? theInverseRangemuplusTable: theInverseRangemuminusTable, @@ -359,25 +342,26 @@ void G4VMuEnergyLoss::BuildDEDXTable( // } if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfMaterials]; + MinDeltaEnergy = new G4double [numOfCouples]; if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfMaterials]; + LowerLimitForced = new G4bool [numOfCouples]; G4double Tlowerlimit = 1.*keV ; - for(G4int mat=0; matGetLengthCuts())[mat]/10.; + // create array for the min. delta cuts in kinetic energy + G4double rcut = (*(theCoupleTable->GetRangeCutsVector(1)))[mat]; + if(!setMinDeltaCutInRange) MinDeltaCutInRange = rcut/10.0; + MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( + G4Electron::Electron(), + MinDeltaCutInRange, + theCoupleTable->GetMaterialCutsCouple(mat)); - MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(),MinDeltaCutInRange, - (*theMaterialTable)[mat]) ; - if(MinDeltaEnergy[mat]G4Electron::Electron()->GetEnergyCuts()[mat]) - MinDeltaEnergy[mat]=G4Electron::Electron()->GetEnergyCuts()[mat] ; + G4double ecut = (*(theCoupleTable->GetEnergyCutsVector(1)))[mat]; + if(MinDeltaEnergy[mat]>ecut) MinDeltaEnergy[mat] = ecut; // if((subSecFlag) && (aParticleType.GetParticleName()=="mu+")) // { @@ -388,14 +372,13 @@ void G4VMuEnergyLoss::BuildDEDXTable( // else // G4cout << G4endl ; // } - } - - + } + } } - + G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, - G4Material *aMaterial) + const G4MaterialCutsCouple* couple) { // returns the Step limit @@ -404,7 +387,7 @@ G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, G4double KineticEnergy,StepLimit; G4bool isOutRange ; - G4int index,bin ; + G4int bin ; if(aParticle->GetDefinition()->GetPDGCharge()>0.) { @@ -430,7 +413,7 @@ G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, bin = G4int(log(KineticEnergy/LowerBoundEloss)/LOGRTable) ; EnergyBinNumber = bin ; - index = aMaterial->GetIndex() ; + size_t index = couple->GetIndex() ; if( KineticEnergy < LowerBoundEloss ) { @@ -461,15 +444,16 @@ G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, fRangeNow = (RangeCoeffA*KineticEnergy+RangeCoeffB) *KineticEnergy+RangeCoeffC ; - // compute the (random) Step limit .............. - if(fRangeNow>finalRange) + // compute the Step limit .............. + G4double r = G4std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + if(fRangeNow>r) { - StepLimit = c1lim*fRangeNow+c2lim+c3lim/fRangeNow ; + StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); // randomise this value - if(rndmStepFlag) StepLimit = finalRange+(StepLimit-finalRange)* - G4UniformRand() ; - if(StepLimit > fRangeNow) StepLimit = fRangeNow ; + if(rndmStepFlag) StepLimit = r+(StepLimit-r)*G4UniformRand() ; + if(StepLimit > fRangeNow) StepLimit = fRangeNow ; } else StepLimit = fRangeNow ; @@ -479,10 +463,10 @@ G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, } -G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( - const G4Track& trackData,const G4Step& stepData) +G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( + const G4Track& trackData,const G4Step& stepData) { - // compute the energy loss after a Step + // compute the energy loss after a Step static const G4double faclow = 1.5 ; @@ -490,247 +474,247 @@ G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double E = aParticle->GetKineticEnergy() ; G4double Charge = aParticle->GetDefinition()->GetPDGCharge(); - - G4Material* aMaterial = trackData.GetMaterial(); - G4int index = aMaterial->GetIndex(); - + + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* aMaterial = couple->GetMaterial(); + size_t index = couple->GetIndex(); + G4double Step = stepData.GetStepLength(); - + aParticleChange.Initialize(trackData); - + // do not track further if kin.energy < 1. eV - const G4double MinKineticEnergy = 1.*eV; - const G4double linLossLimit = 0.05 ; - + const G4double MinKineticEnergy = 1.*eV; + const G4double linLossLimit = 0.05 ; + G4double MeanLoss, finalT; - - if (E < MinKineticEnergy) finalT = 0.; + + if (E < MinKineticEnergy) finalT = 0.; else if ( E< faclow*LowerBoundEloss) { if (Step >= fRangeNow) finalT = 0.; - else finalT = E*(1.-Step/fRangeNow) ; + else finalT = E*(1.-Step/fRangeNow) ; } - + else if (E>=UpperBoundEloss) finalT = E - Step*fdEdx; else if (Step >= fRangeNow) finalT = 0.; - + else { if(Step/fRangeNow < linLossLimit) finalT = E-Step*fdEdx ; else { if (Charge<0.) finalT = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4MuonMinus::MuonMinus(),fRangeNow-Step,aMaterial); + G4MuonMinus::MuonMinus(),fRangeNow-Step,couple); else finalT = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4MuonPlus::MuonPlus(),fRangeNow-Step,aMaterial); - } + G4MuonPlus::MuonPlus(),fRangeNow-Step,couple); + } } if(finalT < MinKineticEnergy) finalT = 0. ; - MeanLoss = E-finalT ; + MeanLoss = E-finalT ; - // subcutoff delta ray production start - if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) - { - G4double MinDeltaEnergyNow,Tc,TmintoProduceDelta,w,ww ; - G4double rcut,T0,presafety,postsafety,safety,delta,Tmax,mass ; - G4double fragment = Step; - G4double frperstep = 1.0; - G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; - //G4double epsil = MinKineticEnergy/2. ; + // subcutoff delta ray production start + if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) + { + G4double MinDeltaEnergyNow,Tc,TmintoProduceDelta,w,ww ; + G4double rcut,T0,presafety,postsafety,safety,delta,Tmax,mass ; + G4double fragment = Step; + G4double frperstep = 1.0; + G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; + //G4double epsil = MinKineticEnergy/2. ; - MinDeltaEnergyNow = MinDeltaEnergy[index] ; - Tc=G4Electron::Electron()->GetEnergyCuts()[index]; - const G4ParticleDefinition* aParticleType=aParticle->GetDefinition() ; - mass=aParticleType->GetPDGMass() ; - w=mass+electron_mass_c2 ; - ww=2.*mass-MinDeltaEnergyNow ; - TmintoProduceDelta=0.5*(sqrt(ww*ww+2.*w*w*MinDeltaEnergyNow/ + MinDeltaEnergyNow = MinDeltaEnergy[index] ; + Tc=SecondaryEnergyThreshold(index); + const G4ParticleDefinition* aParticleType=aParticle->GetDefinition() ; + mass=aParticleType->GetPDGMass() ; + w=mass+electron_mass_c2 ; + ww=2.*mass-MinDeltaEnergyNow ; + TmintoProduceDelta=0.5*(sqrt(ww*ww+2.*w*w*MinDeltaEnergyNow/ electron_mass_c2)-ww) ; - if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) + if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) && (finalT > MinKineticEnergy)) - { + { // max. possible delta energy - Tmax = 2.*electron_mass_c2*E*(E+2.*mass)/ + Tmax = 2.*electron_mass_c2*E*(E+2.*mass)/ (mass*mass+2.*electron_mass_c2*(E+mass)+ electron_mass_c2*electron_mass_c2) ; - rcut=(G4Electron::Electron()->GetLengthCuts())[index]; + rcut=couple->GetProductionCuts()->GetProductionCut(1); - if(Tc > Tmax) Tc=Tmax ; + if (Tc > Tmax) Tc=Tmax ; // generate subcutoff delta rays only if Tc>MinDeltaEnergyNow! - if((Tc > MinDeltaEnergyNow) && (Tmax > MinDeltaEnergyNow)) - { - presafety = stepData.GetPreStepPoint()->GetSafety() ; + if ((Tc > MinDeltaEnergyNow) && (Tmax > MinDeltaEnergyNow)) + { + presafety = stepData.GetPreStepPoint()->GetSafety() ; // postsafety = stepData.GetPostStepPoint()->GetSafety() ; - G4Navigator *navigator= + G4Navigator *navigator= G4TransportationManager::GetTransportationManager() ->GetNavigatorForTracking(); - postsafety = + postsafety = navigator->ComputeSafety(stepData.GetPostStepPoint()->GetPosition()); - safety = G4std::min(presafety,postsafety) ; - if(safety < rcut) - { - - x1=stepData.GetPreStepPoint()->GetPosition().x(); - y1=stepData.GetPreStepPoint()->GetPosition().y(); - z1=stepData.GetPreStepPoint()->GetPosition().z(); - dx=stepData.GetPostStepPoint()->GetPosition().x()-x1 ; - dy=stepData.GetPostStepPoint()->GetPosition().y()-y1 ; - dz=stepData.GetPostStepPoint()->GetPosition().z()-z1 ; - time0=stepData.GetPreStepPoint()->GetGlobalTime(); - dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; - - if((presafety0.) - { - T0=G4EnergyLossTables::GetPreciseEnergyFromRange( + x1=stepData.GetPreStepPoint()->GetPosition().x(); + y1=stepData.GetPreStepPoint()->GetPosition().y(); + z1=stepData.GetPreStepPoint()->GetPosition().z(); + dx=stepData.GetPostStepPoint()->GetPosition().x()-x1 ; + dy=stepData.GetPostStepPoint()->GetPosition().y()-y1 ; + dz=stepData.GetPostStepPoint()->GetPosition().z()-z1 ; + time0=stepData.GetPreStepPoint()->GetGlobalTime(); + dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; + + if ((presafety0.) + { + T0=G4EnergyLossTables::GetPreciseEnergyFromRange( G4Electron::Electron(), G4std::min(presafety,postsafety), - aMaterial) ; + couple) ; // absolute lower limit for T0 - // if(T0GetIndex()])) + if((T0GetDensity()* + // approximate value based on Bethe-Bloch and + // assuming an 1/E**2 delta spectrum + G4double deldedx=cN*aMaterial->GetDensity()* ((E+mass)*(E+mass)*log(Tc/T0)/(E*(E+mass))) ; - G4double delToverTc=1.-T0/Tc ; - G4int N = G4int(deldedx*fragment*delToverTc/(T0*log(Tc/T0))+0.5) ; - if(N > Ndeltamax) N = Ndeltamax ; - - G4double Px,Py,Pz ; - G4ThreeVector ParticleDirection ; - ParticleDirection=aParticle-> + G4double delToverTc=1.-T0/Tc ; + G4int N = G4int(deldedx*fragment*delToverTc/(T0*log(Tc/T0))+0.5) ; + if(N > Ndeltamax) N = Ndeltamax ; + + G4double Px,Py,Pz ; + G4ThreeVector ParticleDirection ; + ParticleDirection=aParticle-> GetMomentumDirection() ; - Px =ParticleDirection.x() ; - Py =ParticleDirection.y() ; - Pz =ParticleDirection.z() ; + Px =ParticleDirection.x() ; + Py =ParticleDirection.y() ; + Pz =ParticleDirection.z() ; - G4int subdelta = 0; + G4int subdelta = 0; - if(N > 0) - { - G4double Tkin,Etot,P,T,p,costheta,sintheta,phi,dirx,diry,dirz, + if (N > 0) + { + G4double Tkin,Etot,P,T,p,costheta,sintheta,phi,dirx,diry,dirz, Pnew,urandom; //delTkin,delLoss,rate, //G4StepPoint *point ; - Tkin = E ; - Etot = Tkin+mass ; - P = sqrt(Tkin*(Etot+mass)) ; + Tkin = E ; + Etot = Tkin+mass ; + P = sqrt(Tkin*(Etot+mass)) ; - aParticleChange.SetNumberOfSecondaries(N); - do { - subdelta += 1 ; + aParticleChange.SetNumberOfSecondaries(N); + do { + subdelta += 1 ; - Tmax = 2.*electron_mass_c2*Tkin*(Tkin+2.*mass)/ + Tmax = 2.*electron_mass_c2*Tkin*(Tkin+2.*mass)/ (mass*mass+2.*electron_mass_c2*(Tkin+mass)+ electron_mass_c2*electron_mass_c2) ; - if(Tc>Tmax) Tc = Tmax ; + if(Tc>Tmax) Tc = Tmax ; //check if there is enough energy .... - if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) - { - T=T0/(1.-delToverTc*G4UniformRand()) ; - if(T > MeanLoss) T=MeanLoss ; - MeanLoss -= T ; - p=sqrt(T*(T+2.*electron_mass_c2)) ; + if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) + { + T=T0/(1.-delToverTc*G4UniformRand()) ; + if(T > MeanLoss) T=MeanLoss ; + MeanLoss -= T ; + p=sqrt(T*(T+2.*electron_mass_c2)) ; - costheta = T*(Etot+electron_mass_c2)/(P*p) ; - if(costheta<-1.) costheta=-1.; - if(costheta> 1.) costheta= 1.; + costheta = T*(Etot+electron_mass_c2)/(P*p) ; + if(costheta<-1.) costheta=-1.; + if(costheta> 1.) costheta= 1.; - phi=twopi*G4UniformRand() ; - sintheta=sqrt(1.-costheta*costheta); - dirx=sintheta*cos(phi); - diry=sintheta*sin(phi); - dirz=costheta; + phi=twopi*G4UniformRand() ; + sintheta=sqrt(1.-costheta*costheta); + dirx=sintheta*cos(phi); + diry=sintheta*sin(phi); + dirz=costheta; - urandom = G4UniformRand() ; + urandom = G4UniformRand() ; // distribute x,y,z along Pre-Post ! - G4double xd,yd,zd ; - xd=x1+frperstep*dx*urandom ; - yd=y1+frperstep*dy*urandom ; - zd=z1+frperstep*dz*urandom ; - G4ThreeVector DeltaPosition(xd,yd,zd) ; - DeltaTime=time0+frperstep*dTime*urandom ; + G4double xd,yd,zd ; + xd=x1+frperstep*dx*urandom ; + yd=y1+frperstep*dy*urandom ; + zd=z1+frperstep*dz*urandom ; + G4ThreeVector DeltaPosition(xd,yd,zd) ; + DeltaTime=time0+frperstep*dTime*urandom ; - G4ThreeVector DeltaDirection(dirx,diry,dirz) ; - DeltaDirection.rotateUz(ParticleDirection); + G4ThreeVector DeltaDirection(dirx,diry,dirz) ; + DeltaDirection.rotateUz(ParticleDirection); - G4DynamicParticle* theDelta = new G4DynamicParticle ; - theDelta->SetDefinition(G4Electron::Electron()); - theDelta->SetKineticEnergy(T); + G4DynamicParticle* theDelta = new G4DynamicParticle ; + theDelta->SetDefinition(G4Electron::Electron()); + theDelta->SetKineticEnergy(T); - theDelta->SetMomentumDirection(DeltaDirection.x(), + theDelta->SetMomentumDirection(DeltaDirection.x(), DeltaDirection.y(),DeltaDirection.z()); // update initial particle,fill ParticleChange - Tkin -= T ; - Px =(P*ParticleDirection.x()-p*DeltaDirection.x()) ; - Py =(P*ParticleDirection.y()-p*DeltaDirection.y()) ; - Pz =(P*ParticleDirection.z()-p*DeltaDirection.z()) ; - Pnew = sqrt(Px*Px+Py*Py+Pz*Pz) ; - Px /= Pnew ; - Py /= Pnew ; - Pz /= Pnew ; - P = Pnew ; - G4ThreeVector ParticleDirectionnew(Px,Py,Pz) ; - ParticleDirection = ParticleDirectionnew; + Tkin -= T ; + Px =(P*ParticleDirection.x()-p*DeltaDirection.x()) ; + Py =(P*ParticleDirection.y()-p*DeltaDirection.y()) ; + Pz =(P*ParticleDirection.z()-p*DeltaDirection.z()) ; + Pnew = sqrt(Px*Px+Py*Py+Pz*Pz) ; + Px /= Pnew ; + Py /= Pnew ; + Pz /= Pnew ; + P = Pnew ; + G4ThreeVector ParticleDirectionnew(Px,Py,Pz) ; + ParticleDirection = ParticleDirectionnew; - G4Track* deltaTrack = + G4Track* deltaTrack = new G4Track(theDelta,DeltaTime,DeltaPosition); - deltaTrack-> + deltaTrack-> SetTouchableHandle(stepData.GetPreStepPoint()->GetTouchableHandle()) ; - deltaTrack->SetParentID(trackData.GetTrackID()) ; - aParticleChange.AddSecondary(deltaTrack) ; + deltaTrack->SetParentID(trackData.GetTrackID()) ; + aParticleChange.AddSecondary(deltaTrack) ; - } + } - } while (subdelta 0) - aParticleChange.SetMomentumChange(Px,Py,Pz) ; - E = Tkin ; - } + if(subdelta > 0) + aParticleChange.SetMomentumChange(Px,Py,Pz) ; + E = Tkin ; + } } - } - } - } + } + } + } } // end of subcutoff business @@ -741,16 +725,16 @@ G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) { - finalT = E-GetLossWithFluct(aParticle,aMaterial,1.,MeanLoss,Step); + finalT = E-GetLossWithFluct(aParticle,couple,1.,MeanLoss,Step); if (finalT < 0.) finalT = 0. ; } // kill the particle if the kinetic energy <= 0 if (finalT <= 0. ) - { + { finalT = 0.; aParticleChange.SetStatusChange(fStopButAlive); - } + } // aParticleChange.SetNumberOfSecondaries(0); aParticleChange.SetEnergyChange(finalT); @@ -758,6 +742,3 @@ G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( return &aParticleChange; } - - - diff --git a/source/processes/electromagnetic/standard/History b/source/processes/electromagnetic/standard/History index c62edaa764..68be604782 100644 --- a/source/processes/electromagnetic/standard/History +++ b/source/processes/electromagnetic/standard/History @@ -1,4 +1,4 @@ -$Id: History,v 1.70 2002/12/04 14:58:27 vnivanch Exp $ +$Id: History,v 1.89 2003/04/29 07:14:13 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,66 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +29 Apr 03: V.Ivant (stand-V05-00-13) +- fix leak in restore tables + +26 Apr 03: V.Ivant (stand-V05-00-12) +- fix store/restore tables + +11 Apr 03: V.Ivant (stand-V05-00-11) +- fix problem of hadronic tests + +11 Apr 03: V.Ivant (stand-V05-00-10) +- fix problem of MFP for PAI + +08 Apr 03: V.Ivant (stand-V05-00-09) +- finalRange is region aware + +07 Apr 03: V.Ivant (stand-V05-00-08) +- G4VhEnergyLoss, G4hIonisation - fix problem of several runs with + different cuts + +25 Mar 03: mma (stand-V05-00-07) +- G4Ve(h)EnergyLoss : add finalRangeRequested + +10 mar 03: V.Ivant (stand-V05-00-06) +- use SubType for ions in G4hIonisation +- migrade to "cut per region" for G4PAIonisation + +18 feb 03: V.Ivant (stand-V05-00-05) +- fix problems with lambda and range tables for STD hadrons/ions + +13 feb 03: V.Ivant +- add names for all models +- make the set of model per region available +- make SubCutoff regime available per region + +12 feb 03: G.Cosmo (stand-V05-00-04) +- Replaced call to RandPoisson::shoot() with G4Poisson(), more performant. + Affected files: G4PAIonisation.cc, G4PAIxSection.cc. + +05 feb 03: V.Ivant (stand-V05-00-03) +- Fix on warnings at SUN for STD classes +- Add Initialise method to STD classes to calculate PartialSumSigma +- Subsitute Material by MaterialCutsCouple for PostStep STD + +04 feb 03: mma +- AnnihiToMuPair.hh and cc : first implementation from Helmut Burkhardt. + Cosmetic simplifications (mma) + +24 jan 03: V.Ivant (stand-V05-00-02) +- Migration to "cut per region" + +15 jan 03: mma +- PhotoElectricEffect::ElecThetaDistribution : if gamma>5 --> costeta=1 + +13 jan 03: V.Ivant (stand-V05-00-01) +- Fix problem in cut control in G4PAIonisation.cc + +06 jan 03: V.Ivant (stand-V05-00-00) +- Update interfaces to STD classes in order to be ready to migrade + to "cut per region" + 04 dec 02: V.Ivant (stand-V04-01-07) - fix d-electron spectra for STD diff --git a/source/processes/electromagnetic/standard/include/G4AnnihiToMuPair.hh b/source/processes/electromagnetic/standard/include/G4AnnihiToMuPair.hh new file mode 100644 index 0000000000..3c7d815e14 --- /dev/null +++ b/source/processes/electromagnetic/standard/include/G4AnnihiToMuPair.hh @@ -0,0 +1,120 @@ +// +// ******************************************************************** +// * 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: G4AnnihiToMuPair.hh,v 1.2 2003/02/04 11:08:41 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// ------------ G4AnnihiToMuPair physics process ------ +// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002 +// ----------------------------------------------------------------------------- + +// class description +// +// (high energy) e+ (atomic) e- ---> mu+ mu- +// inherit from G4VDiscreteProcess +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......// +// +// 04.02.03 : cosmetic simplifications (mma) +// 27.01.03 : first implementation (hbu) +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef G4AnnihiToMuPair_h +#define G4AnnihiToMuPair_h 1 + +#include "G4VDiscreteProcess.hh" +#include "globals.hh" + +class G4ParticleDefinition; +class G4Track; +class G4Step; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4AnnihiToMuPair : public G4VDiscreteProcess +{ + public: // with description + + G4AnnihiToMuPair(const G4String& processName ="AnnihiToMuPair"); + + ~G4AnnihiToMuPair(); + + G4bool IsApplicable(const G4ParticleDefinition&); + // true for positron only. + + void BuildPhysicsTable(const G4ParticleDefinition&); + // here dummy, just calling PrintInfoDefinition + // the total cross section is calculated analytically + + void PrintInfoDefinition(); + // Print few lines of informations about the process: validity range, + // origine ..etc.. + // Invoked by BuildPhysicsTable(). + + void SetCrossSecFactor(G4double fac); + // Set the factor to artificially increase the crossSection (default 1) + + G4double GetCrossSecFactor() {return CrossSecFactor;}; + // Get the factor to artificially increase the cross section + + G4double ComputeCrossSectionPerAtom(G4double PositronEnergy, + G4double AtomicZ); + // Compute total cross section + + G4double GetMeanFreePath(const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* ); + // It returns the MeanFreePath of the process for the current track : + // (energy, material) + // The previousStepSize and G4ForceCondition* are not used. + // This function overloads a virtual function of the base class. + // It is invoked by the ProcessManager of the Particle. + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep); + // It computes the final state of the process (at end of step), + // returned as a ParticleChange object. + // This function overloads a virtual function of the base class. + // It is invoked by the ProcessManager of the Particle. + + private: + + // hide assignment operator as private + G4AnnihiToMuPair& operator=(const G4AnnihiToMuPair &right); + G4AnnihiToMuPair(const G4AnnihiToMuPair& ); + + private: + + G4double LowestEnergyLimit; // Energy threshold of e+ + G4double HighestEnergyLimit; // Limit of validity of the model + + G4double CrossSecFactor; // factor to artificially increase + // the cross section, static to make sure + // to have single value +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh b/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh index 5e7627466f..124fc28392 100644 --- a/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh @@ -22,7 +22,7 @@ // // // $Id: G4ComptonScattering.hh,v 1.9 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------------ G4ComptonScattering physics process ----------------------- // by Michel Maire, April 1996 diff --git a/source/processes/electromagnetic/standard/include/G4ComptonScattering.icc b/source/processes/electromagnetic/standard/include/G4ComptonScattering.icc index 387231f7bd..6a13ccdf14 100644 --- a/source/processes/electromagnetic/standard/include/G4ComptonScattering.icc +++ b/source/processes/electromagnetic/standard/include/G4ComptonScattering.icc @@ -22,7 +22,7 @@ // // // $Id: G4ComptonScattering.icc,v 1.8 2001/09/21 09:50:53 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------------ G4ComptonScattering physics process ----------------------- // by Michel Maire, April 1996 diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversion.hh b/source/processes/electromagnetic/standard/include/G4GammaConversion.hh index 7df39ad5d2..52cd599520 100644 --- a/source/processes/electromagnetic/standard/include/G4GammaConversion.hh +++ b/source/processes/electromagnetic/standard/include/G4GammaConversion.hh @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversion.hh,v 1.10 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------------ G4GammaConversion physics process ------------------------- // by Michel Maire, 24 May 1996 diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversion.icc b/source/processes/electromagnetic/standard/include/G4GammaConversion.icc index 36c1e71259..7b3f8e4c8a 100644 --- a/source/processes/electromagnetic/standard/include/G4GammaConversion.icc +++ b/source/processes/electromagnetic/standard/include/G4GammaConversion.icc @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversion.icc,v 1.7 2001/09/17 17:07:11 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------ G4GammaConversion physics process ------------------------- diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.hh b/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.hh index a6cc3701c0..d9452c86bc 100644 --- a/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.hh +++ b/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.hh @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversionToMuons.hh,v 1.2 2002/05/06 09:32:41 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.icc b/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.icc index 7703e19f92..39bf4fb6f7 100644 --- a/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.icc +++ b/source/processes/electromagnetic/standard/include/G4GammaConversionToMuons.icc @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversionToMuons.icc,v 1.1 2002/04/19 14:44:33 hbu Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 diff --git a/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh b/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh index a9a9576bb6..778df73f7a 100644 --- a/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh +++ b/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh @@ -29,16 +29,20 @@ // File name: G4MollerBhabhaModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 07.01.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // -// Class Description: +// Class Description: // // Implementation of energy loss process and delta-electrons production -// of electrons and positrons +// of electrons and positrons // ------------------------------------------------------------------- // @@ -53,25 +57,24 @@ class G4MollerBhabhaModel : public G4VEmModel public: - G4MollerBhabhaModel(const G4ParticleDefinition* p = 0); + G4MollerBhabhaModel(const G4ParticleDefinition* p = 0, const G4String& nam = "MollerBhabha"); ~G4MollerBhabhaModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,8 +87,14 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); diff --git a/source/processes/electromagnetic/standard/include/G4PAIonisation.hh b/source/processes/electromagnetic/standard/include/G4PAIonisation.hh index dde77f9255..f78483bc4e 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIonisation.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PAIonisation.hh,v 1.16 2002/11/20 15:41:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PAIonisation.hh,v 1.17 2003/03/10 10:50:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -59,15 +59,15 @@ #include "G4PhysicsLinearVector.hh" #include "G4PhysicsFreeVector.hh" #include "G4PhysicsVector.hh" - - -class G4PAIonisation : public G4VPAIenergyLoss - + + +class G4PAIonisation : public G4VPAIenergyLoss + { public: - + G4PAIonisation( const G4String& materialName, - const G4String& processName = "PAIonisation"); + const G4String& processName = "PAIonisation"); ~G4PAIonisation(); @@ -75,21 +75,21 @@ class G4PAIonisation : public G4VPAIenergyLoss private: - // hide assignment operator + // hide assignment operator G4PAIonisation & operator=(const G4PAIonisation &right); G4PAIonisation(const G4PAIonisation&); public: - // post Step functions ....................................... + // post Step functions ....................................... G4double GetConstraints(const G4DynamicParticle *aParticle, G4Material *aMaterial); - - G4VParticleChange *PostStepDoIt( const G4Track& track, - const G4Step& Step ) ; + + G4VParticleChange *PostStepDoIt( const G4Track& track, + const G4Step& Step ) ; // void BuildLossTable(const G4ParticleDefinition& aParticleType); @@ -112,7 +112,7 @@ class G4PAIonisation : public G4VPAIenergyLoss const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, - G4double& currentSafety) ; + G4double& currentSafety) ; G4double GetMeanFreePath( const G4Track& track, G4double previousStepSize, @@ -131,7 +131,7 @@ class G4PAIonisation : public G4VPAIenergyLoss G4double GetRandomEnergyTransfer( G4double scaledTkin ) ; G4double GetEnergyTransfer( G4int iPlace, G4double position, G4int iTransfer ) ; - // static + // static static G4double GetMaxKineticEnergy(); static G4double GetMinKineticEnergy(); @@ -146,20 +146,20 @@ class G4PAIonisation : public G4VPAIenergyLoss void ComputeSandiaPhotoAbsCof() ; private: - + G4PhysicsLogVector* GetProtonEnergyVector(); private: - // private data members + // private data members size_t fMatIndex ; // index of material, where dE/dx is calculated G4PhysicsTable* theMeanFreePathTable; // LowestKineticEnergy = lower limit of particle kinetic energy - // HighestKineticEnergy = upper limit of particle kinetic energy - // TotBin = number of bins in the energy ionisation loss table + // HighestKineticEnergy = upper limit of particle kinetic energy + // TotBin = number of bins in the energy ionisation loss table // static const G4double LowestKineticEnergy; @@ -167,31 +167,25 @@ class G4PAIonisation : public G4VPAIenergyLoss static G4int TotBin; static G4PhysicsLogVector* fProtonEnergyVector ; - // cut in range - G4double* CutInRange ; - G4double* lastCutInRange ; - - // particles , cuts in kinetic energy + // particles , cuts in kinetic energy const G4Electron* theElectron; const G4Proton* theProton; const G4AntiProton* theAntiProton; - const G4double* ParticleCutInKineticEnergy; - const G4double* DeltaCutInKineticEnergy ; - - G4double ParticleCutInKineticEnergyNow ; + const G4std::vector* DeltaCutInKineticEnergy ; + G4double DeltaCutInKineticEnergyNow ; // Sandia Photo Absorption Coefficients - - G4double** fSandiaPhotoAbsCof ; + + G4double** fSandiaPhotoAbsCof ; G4int fSandiaIntervalNumber ; }; - + #include "G4PAIonisation.icc" - + #endif diff --git a/source/processes/electromagnetic/standard/include/G4PAIxSection.hh b/source/processes/electromagnetic/standard/include/G4PAIxSection.hh index 343b3116ec..d990f852dc 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIxSection.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIxSection.hh @@ -22,7 +22,7 @@ // // // $Id: G4PAIxSection.hh,v 1.9 2002/10/14 17:30:10 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4PAIxSection.hh -- header file diff --git a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh index feec2cb023..97e2046907 100644 --- a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh +++ b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhotoElectricEffect.hh,v 1.15 2002/05/02 11:37:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.icc b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.icc index 95f5a8454c..6665ae34d6 100644 --- a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.icc +++ b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.icc @@ -22,7 +22,7 @@ // // // $Id: G4PhotoElectricEffect.icc,v 1.10 2002/04/18 10:12:01 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh b/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh index 1aa25eb6e4..9ec1834e59 100644 --- a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh @@ -22,7 +22,7 @@ // // // $Id: G4PolarizedComptonScattering.hh,v 1.7 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------- G4PolarizedComptonScattering physics process ---------------------- // by Vicente Lara, March 1998 diff --git a/source/processes/electromagnetic/standard/include/G4SynchrotronRadiation.hh b/source/processes/electromagnetic/standard/include/G4SynchrotronRadiation.hh index bdd6905dfd..3c6921f83d 100644 --- a/source/processes/electromagnetic/standard/include/G4SynchrotronRadiation.hh +++ b/source/processes/electromagnetic/standard/include/G4SynchrotronRadiation.hh @@ -22,7 +22,7 @@ // // // $Id: G4SynchrotronRadiation.hh,v 1.7 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/electromagnetic/standard/include/G4VPAIenergyLoss.hh b/source/processes/electromagnetic/standard/include/G4VPAIenergyLoss.hh index ca2f3ba474..c72a428537 100644 --- a/source/processes/electromagnetic/standard/include/G4VPAIenergyLoss.hh +++ b/source/processes/electromagnetic/standard/include/G4VPAIenergyLoss.hh @@ -21,17 +21,17 @@ // ******************************************************************** // // -// $Id: G4VPAIenergyLoss.hh,v 1.8 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VPAIenergyLoss.hh,v 1.9 2003/03/10 12:22:02 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ -// GEANT 4 class header file +// GEANT 4 class header file // // History: first implementation, based on object model of // 2nd December 1995, G.Cosmo // ---------- G4VPAIenergyLoss physics process ----------- -// by V. Grichine, 30 Nov 97 -// ************************************************************ +// by V. Grichine, 30 Nov 97 +// ************************************************************ // It is the first implementation of the NEW UNIFIED ENERGY LOSS PROCESS. // It calculates the continuous energy loss for charged hadrons. // Processes giving contribution to the continuous loss : @@ -41,18 +41,19 @@ // which tables can be used by other processes. // The energy loss for other charged hadrons is calculated from the p/pbar // tables with scaled kinetic energy. -//******************************************************************************* -//* It is assumed that the cut in range is the same for all the charged hadrons!* //******************************************************************************* -// corrected by V. Grichine on 24/11/97 +//* It is assumed that the cut in range is the same for all the charged hadrons!* +//******************************************************************************* +// corrected by V. Grichine on 24/11/97 // corrected by L. Urban on 27/05/98 (other corrections come soon!) // 10/02/00 modifications , new e.m. structure, L.Urban // 08/11/01 BuildDEDXTable is not static any more, L.Urban +// 10-03-03 remove tails of old cuts (V.Ivanchenko) // ------------------------------------------------------------ - + #ifndef G4VPAIenergyLoss_h #define G4VPAIenergyLoss_h 1 - + #include "G4ios.hh" #include "g4std/fstream" #include "g4std/iomanip" @@ -118,7 +119,7 @@ class G4VPAIenergyLoss : public G4VEnergyLoss virtual G4VParticleChange* PostStepDoIt(const G4Track& track,const G4Step& Step) = 0 ; // Build energy loss table (total continuous energy loss) - + void BuildDEDXTable(const G4ParticleDefinition& aParticleType); //---------------------------------------------- @@ -241,12 +242,12 @@ class G4VPAIenergyLoss : public G4VEnergyLoss // LowerBoundEloss = lower limit of particle kinetic energy - // UpperBoundEloss = upper limit of particle kinetic energy - // NbinEloss = number of bins + // UpperBoundEloss = upper limit of particle kinetic energy + // NbinEloss = number of bins // ---------in the energy loss/range tables------------------- static G4double LowerBoundEloss; - static G4double UpperBoundEloss; + static G4double UpperBoundEloss; static G4int NbinEloss; static G4double RTable,LOGRTable; // LOGRTable=log(UpperBoundEloss @@ -254,10 +255,7 @@ class G4VPAIenergyLoss : public G4VEnergyLoss // RTable = exp(LOGRTable) - // cut in range - static G4double* CutInRange; - - // cuts in kinetic energy ........ + // cuts in kinetic energy ........ G4double* ParticleCutInKineticEnergy ; G4double ParticleCutInKineticEnergyNow ; diff --git a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh index 9fcf0b4fc8..e09b838b30 100644 --- a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh +++ b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh @@ -21,18 +21,19 @@ // ******************************************************************** // // -// $Id: G4VeEnergyLoss.hh,v 1.11 2002/04/09 17:34:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VeEnergyLoss.hh,v 1.12 2003/01/17 18:55:42 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // 18-11-98 It is a modified version of G4VeEnergyLoss: continuous energy loss // with generation of subcutoff delta rays, L. Urban -// 02-02-99 new data members , L.Urban +// 02-02-99 new data members , L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban // 29-10-01 all static functions no more inlined (mma) // 08-11-01 Charge,lastCharge not data members, L.Urban -// +// 15-01-03 Migrade to cut per region (V.Ivanchenko) +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -54,6 +55,7 @@ #include "G4PhysicsLogVector.hh" #include "G4PhysicsLinearVector.hh" #include "G4EnergyLossTables.hh" +#include "G4MaterialCutsCouple.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -113,7 +115,7 @@ class G4VeEnergyLoss : public G4VEnergyLoss // Tcut is the cut in energy. // --- Updates the value of the mean energy loss and // the direction of the primary - // --- Computes the energy loss fluctuation. + // --- Computes the energy loss fluctuation. virtual G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, @@ -125,23 +127,25 @@ class G4VeEnergyLoss : public G4VEnergyLoss const G4Step& Step) = 0; // Virtual function to be overridden in the derived classes // ( ionisation and bremsstrahlung) . - - + + private: G4double GetConstraints(const G4DynamicParticle* aParticle, - G4Material* aMaterial); - + const G4MaterialCutsCouple* couple); + // hide assignment operator - G4VeEnergyLoss (G4VeEnergyLoss &); + G4VeEnergyLoss (G4VeEnergyLoss &); G4VeEnergyLoss & operator=(const G4VeEnergyLoss &right); protected: + virtual G4double SecondaryEnergyThreshold(size_t index) = 0; + G4PhysicsTable* theLossTable; - - G4double MinKineticEnergy ; + + G4double MinKineticEnergy ; private: @@ -149,7 +153,7 @@ class G4VeEnergyLoss : public G4VEnergyLoss G4int CounterOfProcess; G4PhysicsTable** RecorderOfProcess; - + G4double fdEdx; // computed in GetConstraints G4double fRangeNow; // computed in GetConstraints @@ -158,8 +162,8 @@ class G4VeEnergyLoss : public G4VEnergyLoss G4double cN ; // coeffs to compute nb of deltas G4int Ndeltamax ; // upper limit for nb of subcutoff // delta rays in one step - - // + + // // static part of the class // public: // With description @@ -185,9 +189,9 @@ class G4VeEnergyLoss : public G4VEnergyLoss static G4double GetUpperBoundEloss(); static G4int GetNbinEloss(); - + protected: - + //basic DEDX and Range tables static G4PhysicsTable* theDEDXElectronTable ; static G4PhysicsTable* theDEDXPositronTable ; @@ -197,26 +201,26 @@ class G4VeEnergyLoss : public G4VEnergyLoss //inverse tables of the range tables static G4PhysicsTable* theInverseRangeElectronTable; static G4PhysicsTable* theInverseRangePositronTable; - + // lab and proper time tables static G4PhysicsTable* theLabTimeElectronTable ; static G4PhysicsTable* theLabTimePositronTable ; static G4PhysicsTable* theProperTimeElectronTable ; static G4PhysicsTable* theProperTimePositronTable ; - //processes inherited from G4VeEnergyLoss + //processes inherited from G4VeEnergyLoss //register themselves in the static array Recorder //for electrons/positrons separately //nb of contributing processes = NbOfProcesses static G4int NbOfProcesses; static G4int CounterOfElectronProcess; - static G4int CounterOfPositronProcess ; + static G4int CounterOfPositronProcess ; static G4PhysicsTable** RecorderOfElectronProcess; static G4PhysicsTable** RecorderOfPositronProcess; - + private: - + static G4int NbinEloss; // number of bins in table, // calculated in BuildPhysicTable static G4double LowerBoundEloss; @@ -232,15 +236,15 @@ class G4VeEnergyLoss : public G4VEnergyLoss static G4PhysicsTable* thepRangeCoeffATable; static G4PhysicsTable* thepRangeCoeffBTable; static G4PhysicsTable* thepRangeCoeffCTable; - + public: // With description - + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4VeEnergyLoss.icc" #endif - + diff --git a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc index 42bbe413da..19b1311891 100644 --- a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc +++ b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VeEnergyLoss.icc,v 1.7 2001/11/09 13:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VeEnergyLoss.icc,v 1.11 2003/04/26 12:11:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // @@ -30,13 +30,15 @@ // It is a modified version of G4VeEnergyLoss: // continuous energy loss with generation of subcutoff delta rays // 08-11-01 Charge,lastCharge not data members, L.Urban -// +// 15-01-03 Migrade to cut per region (V.Ivanchenko) +// 08-04-03 finalRange is region aware (V.Ivanchenko) +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4VeEnergyLoss::GetConstraints( const G4DynamicParticle* aParticle, - G4Material* aMaterial) + const G4MaterialCutsCouple* couple) { // returns the Step limit // dRoverRange is the max. allowed relative range loss in one Step @@ -47,17 +49,18 @@ inline G4double G4VeEnergyLoss::GetConstraints( G4double KineticEnergy = aParticle->GetKineticEnergy(); - fdEdx = G4EnergyLossTables::GetDEDX(ParticleType,KineticEnergy,aMaterial); + fdEdx = G4EnergyLossTables::GetDEDX(ParticleType,KineticEnergy,couple); fRangeNow = - G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,aMaterial); + G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,couple); - // compute the (random) Step limit - if (fRangeNow>finalRange) + // compute the Step limit + G4double r = G4std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + if (fRangeNow>r) { - StepLimit = c1lim*fRangeNow+c2lim+c3lim/fRangeNow; + StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); //randomise this value - if (rndmStepFlag) StepLimit = finalRange + - (StepLimit-finalRange)*G4UniformRand(); + if (rndmStepFlag) StepLimit = r + (StepLimit-r)*G4UniformRand(); if (StepLimit > fRangeNow) StepLimit = fRangeNow; } else StepLimit = fRangeNow; @@ -73,9 +76,9 @@ inline G4double G4VeEnergyLoss::GetContinuousStepLimit( G4double currentMinimumStep, G4double&) { - + G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterial()); + GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()); if ((Step>0.0)&&(Step 0.0)&&(Step < currentMinimumStep)) currentMinimumStep = Step; return Step; } diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.hh index d0d8c1959c..4a747c8722 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.hh +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eBremsstrahlung.hh,v 1.14 2002/04/09 17:34:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eBremsstrahlung.hh,v 1.15 2003/01/17 18:55:42 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------ G4eBremsstrahlung physics process ------ @@ -36,6 +36,8 @@ // 09-08-01 new methods Store/Retrieve PhysicsTable (mma) // 19-09-01 come back to previous process name "eBrem" // 29-10-01 all static functions no more inlined (mma) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// // ------------------------------------------------------------ // Class description @@ -51,36 +53,37 @@ #ifndef G4eBremsstrahlung_h #define G4eBremsstrahlung_h 1 -#include "G4ios.hh" +#include "G4ios.hh" #include "globals.hh" -#include "Randomize.hh" +#include "Randomize.hh" #include "G4VeEnergyLoss.hh" #include "G4Track.hh" #include "G4Step.hh" #include "G4Gamma.hh" #include "G4Electron.hh" #include "G4Positron.hh" -#include "G4OrderedTable.hh" +#include "G4OrderedTable.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsLogVector.hh" +#include "G4MaterialCutsCouple.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + class G4eBremsstrahlung : public G4VeEnergyLoss - -{ + +{ public: - + G4eBremsstrahlung(const G4String& processName = "eBrem"); - + ~G4eBremsstrahlung(); G4bool IsApplicable(const G4ParticleDefinition&); - + void PrintInfoDefinition(); - + void BuildPhysicsTable(const G4ParticleDefinition& ParticleType); - + void BuildLossTable(const G4ParticleDefinition& ParticleType); void BuildLambdaTable(const G4ParticleDefinition& ParticleType); @@ -88,40 +91,40 @@ class G4eBremsstrahlung : public G4VeEnergyLoss G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& step); - G4double GetLambda(G4double KineticEnergy,G4Material* material); - + G4VParticleChange *PostStepDoIt(const G4Track& track, + const G4Step& step); + + G4double GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple); + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file // specified by 'directory' - + protected: G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4Material* aMaterial); + G4double KineticEnergy, + const G4MaterialCutsCouple* couple); void ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, - const G4Material* aMaterial); + const G4MaterialCutsCouple* couple); virtual G4double ComputeCrossSectionPerAtom( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, + G4double KineticEnergy, G4double AtomicNumber, G4double GammaEnergyCut); private: - + G4double ComputeBremLoss(G4double Z,G4double natom,G4double T, G4double Cut,G4double x); @@ -130,10 +133,10 @@ class G4eBremsstrahlung : public G4VeEnergyLoss G4double GammaEnergyCut); G4double ComputePositronCorrFactorSigma(G4double AtomicNumber, - G4double KineticEnergy, + G4double KineticEnergy, G4double GammaEnergyCut); - G4Element* SelectRandomAtom(G4Material* aMaterial) const; + G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; G4double ScreenFunction1(G4double ScreenVariable); @@ -144,38 +147,44 @@ class G4eBremsstrahlung : public G4VeEnergyLoss G4double GammaEnergy) ; G4eBremsstrahlung & operator=(const G4eBremsstrahlung &right); - + G4eBremsstrahlung(const G4eBremsstrahlung&); - + + protected: + + virtual G4double SecondaryEnergyThreshold(size_t index); + private: - G4PhysicsTable* theMeanFreePathTable; + G4PhysicsTable* theMeanFreePathTable; G4OrderedTable PartialSumSigma; // partial sum of total crosssection static G4double LowerBoundLambda; // low energy limit of crossection table static G4double UpperBoundLambda; // high energy limit of crossection table - static G4int NbinLambda; // number of bins in the tables - + static G4int NbinLambda; // number of bins in the tables + G4double MinThreshold; // minimun value for the production threshold - + G4double LowestKineticEnergy,HighestKineticEnergy; // bining of the Eloss table G4int TotBin; // (from G4VeEnergyLoss) static G4double probsup; static G4bool LPMflag; + const G4std::vector* secondaryEnergyCuts; + public: - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); + static void SetLowerBoundLambda(G4double val); + static void SetUpperBoundLambda(G4double val); + static void SetNbinLambda(G4int n); + static G4double GetLowerBoundLambda(); + static G4double GetUpperBoundLambda(); + static G4int GetNbinLambda(); - static void SetLPMflag(G4bool val); - static G4bool GetLPMflag(); + static void SetLPMflag(G4bool val); + static G4bool GetLPMflag(); }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.icc b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.icc index 6016f27fc2..4bc523f61f 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.icc +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eBremsstrahlung.icc,v 1.6 2001/08/09 17:24:22 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eBremsstrahlung.icc,v 1.7 2003/01/17 18:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------ G4eBremsstrahlung physics process --------- // by Michel Maire, 27 July 1996 @@ -30,6 +30,7 @@ // 13-12-96 : Sign corrected in the ScreenFunctions, L.Urban // 20/03/97 : new energy loss+ionisation+brems scheme, L.Urban // 28/05/01 : V.Ivanchenko minor changes to provide ANSI -wall compilation +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // --------------------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -52,20 +53,20 @@ inline G4double G4eBremsstrahlung::GetMeanFreePath(const G4Track& track, { const G4DynamicParticle* aDynamicParticle = track.GetDynamicParticle(); G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4Material* aMaterial = track.GetMaterial(); - + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + G4double MeanFreePath; G4bool isOutRange; if (KineticEnergy < LowestKineticEnergy) MeanFreePath = DBL_MAX; else { if (KineticEnergy > HighestKineticEnergy) KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> + MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> GetValue( KineticEnergy, isOutRange ); } - return MeanFreePath; -} + return MeanFreePath; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -82,7 +83,7 @@ inline G4double G4eBremsstrahlung::ScreenFunction1(G4double ScreenVariable) screenVal = 42.392 - ScreenVariable* (7.796 - 1.961*ScreenVariable); return screenVal; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -99,17 +100,24 @@ inline G4double G4eBremsstrahlung::ScreenFunction2(G4double ScreenVariable) screenVal = 41.734 - ScreenVariable* (6.484 - 1.250*ScreenVariable); return screenVal; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4eBremsstrahlung::GetLambda( G4double KineticEnergy, - G4Material* material) + const G4MaterialCutsCouple* couple) { - G4bool isOut; - return (*theMeanFreePathTable)[material->GetIndex()]-> + G4bool isOut; + return (*theMeanFreePathTable)[couple->GetIndex()]-> GetValue(KineticEnergy,isOut); } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4eBremsstrahlung::SecondaryEnergyThreshold(size_t index) +{ + return (*secondaryEnergyCuts)[index]; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh index 28977060a4..ddb1709ec1 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh @@ -29,15 +29,19 @@ // File name: G4eBremsstrahlungModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 07.01.2002 // -// Modifications: - +// Modifications: // -// Class Description: +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // -// Implementation of energy loss for gamma emission by electrons and +// +// Class Description: +// +// Implementation of energy loss for gamma emission by electrons and // positrons // ------------------------------------------------------------------- @@ -53,25 +57,24 @@ class G4eBremsstrahlungModel : public G4VEmModel public: - G4eBremsstrahlungModel(const G4ParticleDefinition* p = 0); + G4eBremsstrahlungModel(const G4ParticleDefinition* p = 0, const G4String& nam = "StanBrem"); ~G4eBremsstrahlungModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,8 +87,14 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); @@ -112,19 +121,19 @@ private: G4double CrossSectionPerAtom(G4double tkin, G4double Z, G4double cut); - void ComputePartialSumSigma(const G4Material* material, G4double tkin, - G4double cut); + G4DataVector* ComputePartialSumSigma(const G4Material* material, + G4double tkin, G4double cut); - const G4Element* SelectRandomAtom(const G4Material* material) const; + const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; - G4double SupressionFunction(const G4Material* material, G4double tkin, + G4double SupressionFunction(const G4Material* material, G4double tkin, G4double gammaEnergy); G4double ScreenFunction1(G4double ScreenVariable); G4double ScreenFunction2(G4double ScreenVariable); - // hide assignment operator + // hide assignment operator G4eBremsstrahlungModel & operator=(const G4eBremsstrahlungModel &right); G4eBremsstrahlungModel(const G4eBremsstrahlungModel&); @@ -137,7 +146,6 @@ private: G4double LPMconstant; G4bool isElectron; G4bool theLPMflag; - const G4Material* oldMaterial; G4std::vector partialSumSigma; }; @@ -184,7 +192,7 @@ G4double G4eBremsstrahlungModel::MaxSecondaryEnergy( const G4DynamicParticle* dynParticle) { return dynParticle->GetKineticEnergy(); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungSTD.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungSTD.hh index d549a10fa3..e956fdc0f6 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungSTD.hh +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungSTD.hh @@ -29,27 +29,30 @@ // File name: G4eBremsstrahlungSTD // // Author: Laszlo Urban -// +// // Creation date: 24.06.1996 // -// Modifications: +// Modifications: // // 01-10-96 new type G4OrderedTable; ComputePartialSumSigma() // 20-03-97 new energy loss+ionisation+brems scheme, L.Urban -// 01-09-98 new method PrintInfo() +// 01-09-98 new method PrintInfo() // 10-02-00 modifications , new e.m. structure, L.Urban // 07-08-00 new cross section/en.loss parametrisation, LPM flag , L.Urban // 09-08-01 new methods Store/Retrieve PhysicsTable (mma) // 19-09-01 come back to previous process name "eBrem" -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 07-01-02 new design of em processes (V.Ivanchenko) +// 26-12-02 secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) // // -// Class Description: +// Class Description: // // This class manages the bremsstrahlung for e-/e+ // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLoss. -// +// // ------------------------------------------------------------------- // @@ -79,6 +82,19 @@ public: const G4Material*, G4double cut) {return cut;}; + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&) {return 0;}; + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -91,7 +107,7 @@ private: void InitialiseProcess(); - // hide assignment operator + // hide assignment operator G4eBremsstrahlungSTD & operator=(const G4eBremsstrahlungSTD &right); G4eBremsstrahlungSTD(const G4eBremsstrahlungSTD&); @@ -99,5 +115,22 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#include "G4VEmModel.hh" + +inline void G4eBremsstrahlungSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* gamma = model->SampleSecondary(couple, dp, tcut, kinEnergy); + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(gamma); + kinEnergy -= gamma->GetKineticEnergy(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/include/G4eIonisation.hh b/source/processes/electromagnetic/standard/include/G4eIonisation.hh index d096e3b8d6..9aeea46b84 100644 --- a/source/processes/electromagnetic/standard/include/G4eIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4eIonisation.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4eIonisation.hh,v 1.16 2002/04/09 17:34:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eIonisation.hh,v 1.17 2003/01/17 18:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4eIonisation physics process -------------------------------- // by Laszlo Urban, 20 March 1997 @@ -32,6 +32,7 @@ // 13-08-01 new function ComputeRestrictedMeandEdx() (mma) // 19-09-01 come back to previous ProcessName "eIoni" // 29-10-01 all static functions no more inlined (mma) +// 15-01-03 Migrade to cut per region (V.Ivanchenko) // //------------------------------------------------------------------------------ @@ -44,31 +45,32 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #ifndef G4eIonisation_h #define G4eIonisation_h 1 - + #include "G4VeEnergyLoss.hh" +#include "G4MaterialCutsCouple.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4eIonisation : public G4VeEnergyLoss - + +class G4eIonisation : public G4VeEnergyLoss + { public: // with description - - G4eIonisation(const G4String& processName = "eIoni"); + + G4eIonisation(const G4String& processName = "eIoni"); ~G4eIonisation(); G4bool IsApplicable(const G4ParticleDefinition&); - // return true for e+/e-, false otherwise - + // return true for e+/e-, false otherwise + void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); // this function overloads a virtual function of the base class. // It is invoked by the G4ParticleWithCuts::SetCut() method. // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - + void BuildLossTable(const G4ParticleDefinition& aParticleType); // build the dE/dx tables due to the ionisation, for every materials. // (restricted stopping power, Berger-Seltzer formula) @@ -76,22 +78,22 @@ class G4eIonisation : public G4VeEnergyLoss void BuildLambdaTable(const G4ParticleDefinition& aParticleType); // build mean free path tables for the delta rays production. // the tables are built for every materials. - + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file // specified by 'directory' - + void PrintInfoDefinition(); // Print few lines of informations about the process: validity range, // origine ..etc.. // Invoked by BuildPhysicsTable(). - + G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); @@ -100,70 +102,74 @@ class G4eIonisation : public G4VeEnergyLoss // The previousStepSize and G4ForceCondition* are not used. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); + + G4VParticleChange *PostStepDoIt(const G4Track& track, + const G4Step& Step ); // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. + // returned as a ParticleChange object. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - - G4double GetLambda(G4double KineticEnergy, G4Material* material); + + G4double GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple); // It returns the MeanFreePath of the process for a (energy, material) protected: // with description - + virtual G4double ComputeRestrictedMeandEdx( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, const G4Material* material, G4double DeltaThreshold); - // computes restricted mean dE/dx in Geant4 internal units. - + // computes restricted mean dE/dx in Geant4 internal units. + virtual G4double ComputeCrossSectionPerAtom( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double DeltaThreshold); - // computes total cross section per atom in Geant4 internal units. - + // computes total cross section per atom in Geant4 internal units. + protected: - + + virtual G4double SecondaryEnergyThreshold(size_t index); + G4PhysicsTable* theMeanFreePathTable; private: - // hide assignment operator - G4eIonisation & operator=(const G4eIonisation &right); - G4eIonisation(const G4eIonisation&); + // hide assignment operator + G4eIonisation & operator=(const G4eIonisation &right); + G4eIonisation(const G4eIonisation&); private: static G4double LowerBoundLambda; // binning for mean free path table static G4double UpperBoundLambda; static G4int NbinLambda; - + G4double LowestKineticEnergy; // binning for dE/dx table G4double HighestKineticEnergy; G4int TotBin; + const G4std::vector* secondaryEnergyCuts; + public: // with description static void SetLowerBoundLambda(G4double val); static void SetUpperBoundLambda(G4double val); static void SetNbinLambda(G4int n); // set the parameters of the mean free path table. - - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); + + static G4double GetLowerBoundLambda(); + static G4double GetUpperBoundLambda(); static G4int GetNbinLambda(); // get the parameters of the mean free path table. - + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4eIonisation.icc" - + #endif - + diff --git a/source/processes/electromagnetic/standard/include/G4eIonisation.icc b/source/processes/electromagnetic/standard/include/G4eIonisation.icc index 9e3f6c526d..1e45b79117 100644 --- a/source/processes/electromagnetic/standard/include/G4eIonisation.icc +++ b/source/processes/electromagnetic/standard/include/G4eIonisation.icc @@ -21,16 +21,17 @@ // ******************************************************************** // // -// $Id: G4eIonisation.icc,v 1.10 2001/11/09 13:56:28 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eIonisation.icc,v 1.11 2003/01/17 18:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// //----------------- G4eIonisation physics process ------------------------------ // by Laszlo Urban, 20 March 1997 //------------------------------------------------------------------------------ // -// 24-11-97: correction on MeanFreePath for KinEnergy > HighestLimit -// 28-05-01: V.Ivanchenko minor changes to provide ANSI -wall compilation +// 24-11-97 correction on MeanFreePath for KinEnergy > HighestLimit +// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 16-01-03 Migrade to cut per region (V.Ivanchenko) // //------------------------------------------------------------------------------ @@ -42,22 +43,22 @@ inline G4bool G4eIonisation::IsApplicable(const G4ParticleDefinition& particle) return( (&particle == G4Electron::Electron()) ||(&particle == G4Positron::Positron()) ); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4eIonisation::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) + G4ForceCondition*) { G4double KineticEnergy = track.GetDynamicParticle()->GetKineticEnergy(); - G4Material* aMaterial = track.GetMaterial(); - + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + G4double MeanFreePath; G4bool isOut; - + if (KineticEnergy > HighestKineticEnergy) KineticEnergy = HighestKineticEnergy; if (KineticEnergy > LowestKineticEnergy) - MeanFreePath = ((*theMeanFreePathTable)(aMaterial->GetIndex()))-> - GetValue(KineticEnergy, isOut); + MeanFreePath = ((*theMeanFreePathTable)(couple->GetIndex()))-> + GetValue(KineticEnergy, isOut); else MeanFreePath = DBL_MAX; return MeanFreePath; @@ -65,12 +66,19 @@ inline G4double G4eIonisation::GetMeanFreePath(const G4Track& track, G4double, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline -G4double G4eIonisation::GetLambda(G4double KineticEnergy, G4Material* material) +inline +G4double G4eIonisation::GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple) { G4bool isOut; - return (*theMeanFreePathTable)[material->GetIndex()]-> + return (*theMeanFreePathTable)[couple->GetIndex()]-> GetValue(KineticEnergy,isOut); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4eIonisation::SecondaryEnergyThreshold(size_t index) +{ + return (*secondaryEnergyCuts)[index]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4eIonisationSTD.hh b/source/processes/electromagnetic/standard/include/G4eIonisationSTD.hh index a1e97e332a..669c5b29a5 100644 --- a/source/processes/electromagnetic/standard/include/G4eIonisationSTD.hh +++ b/source/processes/electromagnetic/standard/include/G4eIonisationSTD.hh @@ -29,10 +29,10 @@ // File name: G4eIonisationSTD // // Author: Laszlo Urban -// +// // Creation date: 20.03.1997 // -// Modifications: +// Modifications: // // 10-02-00 modifications , new e.m. structure, L.Urban // 03-08-01 new methods Store/Retrieve PhysicsTable (mma) @@ -40,13 +40,17 @@ // 19-09-01 come back to previous ProcessName "eIoni" // 29-10-01 all static functions no more inlined (mma) // 07-01-02 new design of em processes (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // // -// Class Description: +// Class Description: // // This class manages the ionisation process for e-/e+ // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLoss. -// +// // ------------------------------------------------------------------- // @@ -69,12 +73,27 @@ public: G4eIonisationSTD(const G4String& name = "eIoni"); ~G4eIonisationSTD(); - + G4bool IsApplicable(const G4ParticleDefinition& p); virtual G4double MinPrimaryEnergy(const G4ParticleDefinition*, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&); + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void SetSubCutoff(G4bool val); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -88,11 +107,13 @@ private: void InitialiseProcess(); - // hide assignment operator + // hide assignment operator G4eIonisationSTD & operator=(const G4eIonisationSTD &right); G4eIonisationSTD(const G4eIonisationSTD&); const G4ParticleDefinition* theElectron; + + G4bool subCutoff; G4bool isElectron; }; @@ -101,7 +122,7 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4eIonisationSTD::MinPrimaryEnergy(const G4ParticleDefinition*, - const G4Material*, + const G4Material*, G4double cut) { G4double x = cut; @@ -111,20 +132,62 @@ inline G4double G4eIonisationSTD::MinPrimaryEnergy(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4bool G4eIonisationSTD::IsApplicable(const G4ParticleDefinition& p) +inline G4bool G4eIonisationSTD::IsApplicable(const G4ParticleDefinition& p) { return (&p == G4Electron::Electron() || &p == G4Positron::Positron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4eIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* dp) +inline G4double G4eIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* dp) { G4double tmax = dp->GetKineticEnergy(); if(isElectron) tmax *= 0.5; return tmax; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VSubCutoffProcessor.hh" + +inline G4std::vector* G4eIonisationSTD::SecondariesAlongStep( + const G4Step& step, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) +{ + G4std::vector* newp = 0; + if(subCutoff) { + G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex()); + if (sp) { + G4VEmModel* model = SelectModel(kinEnergy); + newp = sp->SampleSecondaries(step,tmax,eloss,model); + } + } + return newp; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4eIonisationSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* delta = model->SampleSecondary(couple, dp, tcut, kinEnergy); + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(delta); + G4ThreeVector finalP = dp->GetMomentum(); + kinEnergy -= delta->GetKineticEnergy(); + finalP -= delta->GetMomentum(); + finalP = finalP.unit(); + aParticleChange.SetMomentumDirectionChange(finalP); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh index d3aef3b330..fde5ccfbb7 100644 --- a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh +++ b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh @@ -22,7 +22,7 @@ // // // $Id: G4eplusAnnihilation.hh,v 1.10 2002/04/09 17:34:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.icc b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.icc index c8675a7e64..200321a342 100644 --- a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.icc +++ b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.icc @@ -22,7 +22,7 @@ // // // $Id: G4eplusAnnihilation.icc,v 1.8 2001/09/17 17:07:11 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation.hh b/source/processes/electromagnetic/standard/include/G4hIonisation.hh index b5f196f7da..e66ec3a08a 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4hIonisation.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4hIonisation.hh,v 1.20 2002/03/27 21:43:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4hIonisation.hh,v 1.21 2003/01/17 18:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------- G4hIonisation physics process ------------------------------- // by Laszlo Urban, 30 May 1997 @@ -35,7 +35,8 @@ // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 14-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 19-09-01 come back to previous process name "hIoni" -// 29-10-01 all static functions no more inlined +// 29-10-01 all static functions no more inlined +// 15-01-03 Migrade to cut per region (V.Ivanchenko) // // ----------------------------------------------------------------------------- @@ -48,54 +49,55 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #ifndef G4hIonisation_h #define G4hIonisation_h 1 - -#include "G4VhEnergyLoss.hh" - + +#include "G4VhEnergyLoss.hh" +#include "G4MaterialCutsCouple.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4hIonisation : public G4VhEnergyLoss - + +class G4hIonisation : public G4VhEnergyLoss + { public: // with description - - G4hIonisation(const G4String& processName = "hIoni"); + + G4hIonisation(const G4String& processName = "hIoni"); ~G4hIonisation(); G4bool IsApplicable(const G4ParticleDefinition&); - // return true for charged particles, false otherwise - + // return true for charged particles, false otherwise + void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); // this function overloads a virtual function of the base class. // It is invoked by the G4ParticleWithCuts::SetCut() method. // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - + void BuildLossTable(const G4ParticleDefinition& aParticleType); // build the dE/dx tables due to the ionisation, for every materials. // (restricted stopping power, Bethe-Bloch formula) - + void BuildLambdaTable(const G4ParticleDefinition& aParticleType); // build mean free path tables for the delta rays production. // the tables are built for every materials. - + G4bool StorePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // store eLoss and MeanFreePath tables into an external file // specified by 'directory' (must exist before invokation) - - G4bool RetrievePhysicsTable(G4ParticleDefinition* , + + G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve eLoss and MeanFreePath tables from an external file // specified by 'directory' - + virtual void PrintInfoDefinition(); // Print few lines of informations about the process: validity range, // origine ..etc.. // Invoked by BuildPhysicsTable(). - + G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition ); @@ -104,73 +106,77 @@ class G4hIonisation : public G4VhEnergyLoss // The previousStepSize and G4ForceCondition* are not used. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); + const G4Step& Step ); // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. + // returned as a ParticleChange object. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + protected: // with description - + virtual G4double ComputeRestrictedMeandEdx( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, const G4Material* material, G4double DeltaThreshold); // computes restricted mean dE/dx in Geant4 internal units. - + virtual G4double ComputeCrossSectionPerAtom( const G4ParticleDefinition& aParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double DeltaThreshold); // computes total cross section per atom in Geant4 internal units. - + protected: - + + virtual G4double SecondaryEnergyThreshold(size_t index); + G4PhysicsTable* theMeanFreePathTable; private: - // hide assignment operator + // hide assignment operator G4hIonisation & operator=(const G4hIonisation &right); G4hIonisation(const G4hIonisation&); - + private: static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; + static G4double UpperBoundLambda; static G4int NbinLambda; - + G4double LowestKineticEnergy; // binning for dE/dx table G4double HighestKineticEnergy; G4int TotBin; - + G4double Tmincut; // min energy of d-rays G4double initialMass; // mass for Lambda table + const G4std::vector* secondaryEnergyCuts; + public: // with description static void SetLowerBoundLambda(G4double val); static void SetUpperBoundLambda(G4double val); static void SetNbinLambda(G4int n); // set the parameters of the mean free path table. - + static G4double GetLowerBoundLambda(); static G4double GetUpperBoundLambda(); static G4int GetNbinLambda(); // get the parameters of the mean free path table. }; - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4hIonisation.icc" - + #endif - + diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation.icc b/source/processes/electromagnetic/standard/include/G4hIonisation.icc index a55a0e2313..b7b843a37a 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisation.icc +++ b/source/processes/electromagnetic/standard/include/G4hIonisation.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4hIonisation.icc,v 1.11 2002/04/09 17:34:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4hIonisation.icc,v 1.12 2003/01/17 18:55:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //------------------ G4hIonisation physics process ----------------------------- @@ -33,7 +33,8 @@ // 20/11/97: correction on MeanFreePath for KineticEnergy > HighestLimit // 14-08-01: 'cleanup' of GetMeanFreePath (mma) // 09-04-02: e+- are not applicable (V.Ivanchenko) -// +// 15-01-03: Migrade to cut per region (V.Ivanchenko) +// //------------------------------------------------------------------------------ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -48,21 +49,21 @@ inline G4bool G4hIonisation::IsApplicable( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4hIonisation::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) + G4ForceCondition*) { const G4DynamicParticle* dynParticle = track.GetDynamicParticle(); G4double kinEnergy = (dynParticle->GetKineticEnergy())*initialMass/(dynParticle->GetMass()); G4double q = dynParticle->GetCharge()/eplus; G4double currentChargeSquare = q*q; - G4Material* aMaterial = track.GetMaterial(); - + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + G4double MeanFreePath; G4bool isOut; - + if(kinEnergy > UpperBoundLambda) kinEnergy = UpperBoundLambda; if(kinEnergy > LowerBoundLambda) - MeanFreePath = (((*theMeanFreePathTable)(aMaterial->GetIndex()))-> - GetValue(kinEnergy, isOut))/currentChargeSquare; + MeanFreePath = (((*theMeanFreePathTable)(couple->GetIndex()))-> + GetValue(kinEnergy, isOut))/currentChargeSquare; else MeanFreePath = DBL_MAX; return MeanFreePath; @@ -70,3 +71,10 @@ inline G4double G4hIonisation::GetMeanFreePath(const G4Track& track, G4double, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline G4double G4hIonisation::SecondaryEnergyThreshold(size_t index) +{ + return G4std::max((*secondaryEnergyCuts)[index],Tmincut); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/standard/include/G4hIonisationSTD.hh b/source/processes/electromagnetic/standard/include/G4hIonisationSTD.hh index 5f00710a2f..fab82c41d4 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisationSTD.hh +++ b/source/processes/electromagnetic/standard/include/G4hIonisationSTD.hh @@ -41,13 +41,19 @@ // 10-08-01 new methods Store/Retrieve PhysicsTable (mma) // 14-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) // 19-09-01 come back to previous process name "hIoni" -// 29-10-01 all static functions no more inlined +// 29-10-01 all static functions no more inlined +// 07-01-02 new design of em processes (V.Ivanchenko) +// 26-12-02 secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) +// 15-02-03 Add control on delta pointer (V.Ivanchenko) // -// Class Description: +// Class Description: // // This class manages the ionisation process for hadrons. // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLoss. -// +// // ------------------------------------------------------------------- // @@ -70,13 +76,27 @@ public: G4hIonisationSTD(const G4String& name = "hIoni"); ~G4hIonisationSTD(); - - G4bool IsApplicable(const G4ParticleDefinition& p) - {return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);}; + + G4bool IsApplicable(const G4ParticleDefinition& p); virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&); + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void SetSubCutoff(G4bool val); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -90,27 +110,37 @@ private: void InitialiseProcess(); - // hide assignment operator + // hide assignment operator G4hIonisationSTD & operator=(const G4hIonisationSTD &right); G4hIonisationSTD(const G4hIonisationSTD&); - const G4ParticleDefinition* theParticle; - const G4ParticleDefinition* theBaseParticle; G4double mass; G4double ratio; + + const G4ParticleDefinition* theParticle; + const G4ParticleDefinition* theBaseParticle; + + G4bool subCutoff; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline G4bool G4hIonisationSTD::IsApplicable(const G4ParticleDefinition& p) +{ + return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + inline G4double G4hIonisationSTD::MinPrimaryEnergy(const G4ParticleDefinition*, - const G4Material*, + const G4Material*, G4double cut) { G4double x = 0.5*cut/electron_mass_c2; G4double y = electron_mass_c2/mass; G4double g = x*y + sqrt((1. + x)*(1. + x*y*y)); - return mass*(g - 1.0); + return mass*(g - 1.0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -120,10 +150,54 @@ inline G4double G4hIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* dy G4double gamma= dynParticle->GetKineticEnergy()/mass + 1.0; G4double tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) / (1. + 2.0*gamma*ratio + ratio*ratio); - + return tmax; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#include "G4VSubCutoffProcessor.hh" + +inline G4std::vector* G4hIonisationSTD::SecondariesAlongStep( + const G4Step& step, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) +{ + G4std::vector* newp = 0; + if(subCutoff) { + G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex()); + if (sp) { + G4VEmModel* model = SelectModel(kinEnergy); + newp = sp->SampleSecondaries(step,tmax,eloss,model); + } + } + return newp; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4hIonisationSTD::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* delta = model->SampleSecondary(couple, dp, tcut, kinEnergy); + if (delta) { + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(delta); + G4ThreeVector finalP = dp->GetMomentum(); + kinEnergy -= delta->GetKineticEnergy(); + finalP -= delta->GetMomentum(); + finalP = finalP.unit(); + aParticleChange.SetMomentumDirectionChange(finalP); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh index 84ede5f83b..14a70a8cb2 100644 --- a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh @@ -29,17 +29,22 @@ // File name: G4ionIonisation // // Author: Vladimir Ivanchenko -// +// // Creation date: 07.05.2002 // -// Modifications: +// Modifications: // +// 26-12-02 Secondary production moved to derived classes (VI) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) +// 15-02-03 Add control on delta pointer (V.Ivanchenko) // -// Class Description: +// Class Description: // // This class manages the ionisation process for ions. // it inherites from G4VContinuousDiscreteProcess via G4VEnergyLoss. -// +// // ------------------------------------------------------------------- // @@ -49,11 +54,7 @@ #include "G4VEnergyLossSTD.hh" -class G4ParticleDefinition; -class G4Track; -class G4Step; class G4Material; -class G4VEffectiveChargeModel; class G4ionIonisation : public G4VEnergyLossSTD { @@ -63,13 +64,27 @@ public: G4ionIonisation(const G4String& name = "ionIoni"); ~G4ionIonisation(); - - G4bool IsApplicable(const G4ParticleDefinition& p) - {return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);}; + + G4bool IsApplicable(const G4ParticleDefinition& p); virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double&, + G4double&, + G4double&); + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void SetSubCutoff(G4bool val); + void PrintInfoDefinition() const; // Print out of the class parameters @@ -87,17 +102,24 @@ private: void InitialiseProcess(); - // hide assignment operator + // hide assignment operator G4ionIonisation & operator=(const G4ionIonisation &right); G4ionIonisation(const G4ionIonisation&); const G4ParticleDefinition* theParticle; const G4ParticleDefinition* theBaseParticle; - + G4bool subCutoff; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4bool G4ionIonisation::IsApplicable(const G4ParticleDefinition& p) +{ + return (p.GetPDGCharge() != 0.0 && p.GetParticleType() == "nucleus"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4ionIonisation::MinPrimaryEnergy( const G4ParticleDefinition* p, const G4Material*, G4double cut) @@ -107,10 +129,10 @@ inline G4double G4ionIonisation::MinPrimaryEnergy( // G4double y = electron_mass_c2/mass; // G4double g = x*y + sqrt((1. + x)*(1. + x*y*y)); G4double g = sqrt(1. + x); - return mass*(g - 1.0); + return mass*(g - 1.0); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4ionIonisation::MaxSecondaryEnergy(const G4DynamicParticle* dynParticle) { @@ -119,7 +141,7 @@ inline G4double G4ionIonisation::MaxSecondaryEnergy(const G4DynamicParticle* dyn G4double ratio = electron_mass_c2/mass; G4double tmax = 2.0*electron_mass_c2*(gamma*gamma - 1.) / (1. + 2.0*gamma*ratio + ratio*ratio); - return tmax; + return tmax; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -134,7 +156,7 @@ inline G4double G4ionIonisation::GetMeanFreePath(const G4Track& track, G4double q = dp->GetCharge()/eplus; G4double q_2 = q*q; SetMassRatio(mRatio); - SetReduceFactor(1.0/(q_2*mRatio)); + SetReduceFactor(1.0/(q_2*mRatio)); SetChargeSquare(q_2); SetChargeSquareRatio(q_2); @@ -143,4 +165,48 @@ inline G4double G4ionIonisation::GetMeanFreePath(const G4Track& track, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +#include "G4VSubCutoffProcessor.hh" + +inline G4std::vector* G4ionIonisation::SecondariesAlongStep( + const G4Step& step, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) +{ + G4std::vector* newp = 0; + if(subCutoff) { + G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex()); + if (sp) { + G4VEmModel* model = SelectModel(kinEnergy); + newp = sp->SampleSecondaries(step,tmax,eloss,model); + } + } + return newp; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VEmModel.hh" + +inline void G4ionIonisation::SecondariesPostStep( + G4VEmModel* model, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double& tcut, + G4double& kinEnergy) +{ + G4DynamicParticle* delta = model->SampleSecondary(couple, dp, tcut, kinEnergy); + if(delta) { + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(delta); + G4ThreeVector finalP = dp->GetMomentum(); + kinEnergy -= delta->GetKineticEnergy(); + finalP -= delta->GetMomentum(); + finalP = finalP.unit(); + aParticleChange.SetMomentumDirectionChange(finalP); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/src/G4AnnihiToMuPair.cc b/source/processes/electromagnetic/standard/src/G4AnnihiToMuPair.cc new file mode 100644 index 0000000000..45a34d3f9e --- /dev/null +++ b/source/processes/electromagnetic/standard/src/G4AnnihiToMuPair.cc @@ -0,0 +1,250 @@ +// +// ******************************************************************** +// * 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: G4AnnihiToMuPair.cc,v 1.2 2003/02/04 11:08:42 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// +// ------------ G4AnnihiToMuPair physics process ------ +// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002 +// ----------------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......// +// +// 04.02.03 : cosmetic simplifications (mma) +// 27.01.03 : first implementation (hbu) +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4AnnihiToMuPair.hh" + +#include "G4ios.hh" +#include "Randomize.hh" + +#include "G4Positron.hh" +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4Material.hh" +#include "G4Step.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +// constructor + +G4AnnihiToMuPair::G4AnnihiToMuPair(const G4String& processName) + : G4VDiscreteProcess (processName) +{ + //e+ Energy threshold + const G4double Mu_massc2 = G4MuonPlus::MuonPlus()->GetPDGMass(); + LowestEnergyLimit = 2*Mu_massc2*Mu_massc2/electron_mass_c2 - electron_mass_c2; + + //modele ok up to 1000 TeV due to neglected Z-interference + HighestEnergyLimit = 1000*TeV; + + CrossSecFactor = 1.; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4AnnihiToMuPair::~G4AnnihiToMuPair() // (empty) destructor +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4bool G4AnnihiToMuPair::IsApplicable(const G4ParticleDefinition& particle) +{ + return ( &particle == G4Positron::Positron() ); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4AnnihiToMuPair::BuildPhysicsTable(const G4ParticleDefinition&) +// Build cross section and mean free path tables +//here no tables, just calling PrintInfoDefinition +{ + PrintInfoDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4AnnihiToMuPair::SetCrossSecFactor(G4double fac) +// Set the factor to artificially increase the cross section +{ + CrossSecFactor = fac; + G4cout << "The cross section for AnnihiToMuPair is artificially " + << "increased by the CrossSecFactor=" << CrossSecFactor << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4AnnihiToMuPair::ComputeCrossSectionPerAtom(G4double Epos, G4double Z) +// Calculates the microscopic cross section in GEANT4 internal units. +// It gives a good description from threshold to 1000 GeV +{ + static const G4double Mmuon = G4MuonPlus::MuonPlus()->GetPDGMass(); + static const G4double Rmuon = elm_coupling/Mmuon; //classical particle radius + static const G4double Sig0 = pi*Rmuon*Rmuon/3.; //constant in crossSection + + G4double CrossSection = 0.; + if (Epos < LowestEnergyLimit) return CrossSection; + + G4double xi = LowestEnergyLimit/Epos; + G4double SigmaEl = Sig0*xi*(1.+xi/2.)*sqrt(1.-xi); // per electron + CrossSection = SigmaEl*Z; // number of electrons per atom + CrossSection *= CrossSecFactor; //increase the CrossSection by (default 1) + return CrossSection; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4AnnihiToMuPair::GetMeanFreePath(const G4Track& aTrack, + G4double, G4ForceCondition*) + +// returns the positron mean free path in GEANT4 internal units + +{ + const G4DynamicParticle* aDynamicPositron = aTrack.GetDynamicParticle(); + G4double PositronEnergy = aDynamicPositron->GetKineticEnergy() + +electron_mass_c2; + G4Material* aMaterial = aTrack.GetMaterial(); + const G4ElementVector* theElementVector = aMaterial->GetElementVector(); + const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); + + G4double SIGMA = 0 ; + + for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) + { + G4double AtomicZ = (*theElementVector)[i]->GetZ(); + SIGMA += NbOfAtomsPerVolume[i] * + ComputeCrossSectionPerAtom(PositronEnergy,AtomicZ); + } + return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VParticleChange* G4AnnihiToMuPair::PostStepDoIt(const G4Track& aTrack, + const G4Step& aStep) +// +// generation of e+e- -> mu+mu- +// +{ + + aParticleChange.Initialize(aTrack); + static const G4double Mele=electron_mass_c2; + static const G4double Mmuon=G4MuonPlus::MuonPlus()->GetPDGMass(); + + // current Positron energy and direction, return if energy too low + const G4DynamicParticle *aDynamicPositron = aTrack.GetDynamicParticle(); + G4double Epos = aDynamicPositron->GetKineticEnergy()+Mele; + + if (Epos < LowestEnergyLimit) + { G4cout + << "error in G4AnnihiToMuPair::PostStepDoIt called with energy below" + " threshold Epos= " + << Epos << G4endl; // shoud never happen + G4Exception(10); + } + + if (Epos < LowestEnergyLimit) + return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); + + G4ParticleMomentum PositronDirection = + aDynamicPositron->GetMomentumDirection(); + G4double xi = LowestEnergyLimit/Epos; // xi is always less than 1, + // goes to 0 at high Epos + + // generate cost + // + G4double cost; + do cost = 2.*G4UniformRand()-1.; + while (2.*G4UniformRand() > 1.+xi+cost*cost*(1.-xi) ); + //1+cost**2 at high Epos + G4double sint = sqrt(1.-cost*cost); + + // generate phi + // + G4double phi=2.*pi*G4UniformRand(); + + G4double Ecm = sqrt(0.5*Mele*(Epos+Mele)); + G4double Pcm = sqrt(Ecm*Ecm-Mmuon*Mmuon); + G4double beta = sqrt((Epos-Mele)/(Epos+Mele)); + G4double gamma = Ecm/Mele; // =sqrt((Epos+Mele)/(2.*Mele)); + G4double Pt = Pcm*sint; + + // energy and momentum of the muons in the Lab + // + G4double EmuPlus = gamma*( Ecm+cost*beta*Pcm); + G4double EmuMinus = gamma*( Ecm-cost*beta*Pcm); + G4double PmuPlusZ = gamma*(beta*Ecm+cost* Pcm); + G4double PmuMinusZ = gamma*(beta*Ecm-cost* Pcm); + G4double PmuPlusX = Pt*cos(phi); + G4double PmuPlusY = Pt*sin(phi); + G4double PmuMinusX =-Pt*cos(phi); + G4double PmuMinusY =-Pt*sin(phi); + // absolute momenta + G4double PmuPlus = sqrt(Pt*Pt+PmuPlusZ *PmuPlusZ ); + G4double PmuMinus = sqrt(Pt*Pt+PmuMinusZ*PmuMinusZ); + + // mu+ mu- directions for Positron in z-direction + // + G4ThreeVector + MuPlusDirection ( PmuPlusX/PmuPlus, PmuPlusY/PmuPlus, PmuPlusZ/PmuPlus ); + G4ThreeVector + MuMinusDirection(PmuMinusX/PmuMinus,PmuMinusY/PmuMinus,PmuMinusZ/PmuMinus); + + // rotate to actual Positron direction + // + MuPlusDirection.rotateUz(PositronDirection); + MuMinusDirection.rotateUz(PositronDirection); + + aParticleChange.SetNumberOfSecondaries(2); + // create G4DynamicParticle object for the particle1 + G4DynamicParticle* aParticle1= new G4DynamicParticle( + G4MuonPlus::MuonPlus(),MuPlusDirection,EmuPlus-Mmuon); + aParticleChange.AddSecondary(aParticle1); + // create G4DynamicParticle object for the particle2 + G4DynamicParticle* aParticle2= new G4DynamicParticle( + G4MuonMinus::MuonMinus(),MuMinusDirection,EmuMinus-Mmuon); + aParticleChange.AddSecondary(aParticle2); + + // Kill the incident positron + // + aParticleChange.SetMomentumChange( 0., 0., 0. ); + aParticleChange.SetEnergyChange(0.); + aParticleChange.SetStatusChange(fStopAndKill); + + return &aParticleChange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4AnnihiToMuPair::PrintInfoDefinition() +{ + G4String comments ="e+e->mu+mu- annihilation, atomic e- at rest.\n"; + G4cout << G4endl << GetProcessName() << ": " << comments + << " threshold at " << LowestEnergyLimit/GeV << " GeV" + << " good description up to " + << HighestEnergyLimit/TeV << " TeV for all Z." << G4endl; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc b/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc index b4ce9c87d0..c63ad96e13 100644 --- a/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc @@ -22,7 +22,7 @@ // // // $Id: G4ComptonScattering.cc,v 1.16 2002/04/18 10:12:01 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //------------ G4ComptonScattering physics process ----------------------------- diff --git a/source/processes/electromagnetic/standard/src/G4GammaConversion.cc b/source/processes/electromagnetic/standard/src/G4GammaConversion.cc index 6e4fe087f8..0234308a7a 100644 --- a/source/processes/electromagnetic/standard/src/G4GammaConversion.cc +++ b/source/processes/electromagnetic/standard/src/G4GammaConversion.cc @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversion.cc,v 1.17 2002/04/09 17:34:41 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------------ G4GammaConversion physics process ------------------------- // by Michel Maire, 24 May 1996 diff --git a/source/processes/electromagnetic/standard/src/G4GammaConversionToMuons.cc b/source/processes/electromagnetic/standard/src/G4GammaConversionToMuons.cc index c3adf2e5e2..e7881be080 100644 --- a/source/processes/electromagnetic/standard/src/G4GammaConversionToMuons.cc +++ b/source/processes/electromagnetic/standard/src/G4GammaConversionToMuons.cc @@ -22,7 +22,7 @@ // // // $Id: G4GammaConversionToMuons.cc,v 1.4 2002/08/07 10:53:25 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 diff --git a/source/processes/electromagnetic/standard/src/G4IonisationByLogicalVolume.cc b/source/processes/electromagnetic/standard/src/G4IonisationByLogicalVolume.cc index a88c63c767..8fb6e2317f 100644 --- a/source/processes/electromagnetic/standard/src/G4IonisationByLogicalVolume.cc +++ b/source/processes/electromagnetic/standard/src/G4IonisationByLogicalVolume.cc @@ -118,30 +118,31 @@ GetConstraints(const G4DynamicParticle* aParticle, //////////////////////////////////////////////////////////////////////////// // // - -G4VParticleChange* -G4IonisationByLogicalVolume::PostStepDoIt( const G4Track& track, - const G4Step& step ) + +G4VParticleChange* +G4IonisationByLogicalVolume::PostStepDoIt( const G4Track& track, + const G4Step& step ) { if ( track.GetVolume()->GetLogicalVolume() == fVolumeForPAImodel ) { - return fPAIonisation->PostStepDoIt(track,step) ; + pParticleChange = fPAIonisation->PostStepDoIt(track,step) ; } else { if ( fParticleName == "e+" || fParticleName == "e-" ) { - return feIonisation->PostStepDoIt(track,step) ; + pParticleChange = feIonisation->PostStepDoIt(track,step) ; } else if ( fParticleName == "mu+" || fParticleName == "mu-" ) { - return fMuIonisation->PostStepDoIt(track,step) ; + pParticleChange = fMuIonisation->PostStepDoIt(track,step) ; } else { - return fhIonisation->PostStepDoIt(track,step) ; + pParticleChange = fhIonisation->PostStepDoIt(track,step) ; } } + return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); } @@ -177,31 +178,34 @@ G4double G4IonisationByLogicalVolume:: GetContinuousStepLimit( const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, - G4double& currentSafety ) + G4double& currentSafety ) { + G4double x = 0.0; + if ( track.GetVolume()->GetLogicalVolume() == fVolumeForPAImodel ) { - return fPAIonisation->GetContinuousStepLimit(track,previousStepSize, + x = fPAIonisation->GetContinuousStepLimit(track,previousStepSize, currentMinimumStep,currentSafety) ; } else { if ( fParticleName == "e+" || fParticleName == "e-" ) { - return feIonisation->GetContinuousStepLimit(track,previousStepSize, + x = feIonisation->GetContinuousStepLimit(track,previousStepSize, currentMinimumStep,currentSafety) ; } else if ( fParticleName == "mu+" || fParticleName == "mu-" ) { - return fMuIonisation->GetContinuousStepLimit(track,previousStepSize, + x = fMuIonisation->GetContinuousStepLimit(track,previousStepSize, currentMinimumStep,currentSafety) ; } else { - return fhIonisation->GetContinuousStepLimit(track,previousStepSize, + x = fhIonisation->GetContinuousStepLimit(track,previousStepSize, currentMinimumStep,currentSafety) ; } } + return x; } //////////////////////////////////////////////////////////////////////// @@ -211,36 +215,38 @@ GetContinuousStepLimit( const G4Track& track, G4double G4IonisationByLogicalVolume:: GetMeanFreePath( const G4Track& track, G4double previousStepSize, - G4ForceCondition* condition ) + G4ForceCondition* condition ) { + G4double x = 0.0; if ( track.GetVolume()->GetLogicalVolume() == fVolumeForPAImodel ) { - return fPAIonisation->GetMeanFreePath(track,previousStepSize,condition) ; + x = fPAIonisation->GetMeanFreePath(track,previousStepSize,condition) ; } else { if ( fParticleName == "e+" || fParticleName == "e-" ) { - return feIonisation->GetMeanFreePath(track,previousStepSize,condition) ; + x = feIonisation->GetMeanFreePath(track,previousStepSize,condition) ; } else if ( fParticleName == "mu+" || fParticleName == "mu-" ) { - return fMuIonisation->GetMeanFreePath(track,previousStepSize,condition) ; + x = fMuIonisation->GetMeanFreePath(track,previousStepSize,condition) ; } else { - return fhIonisation->GetMeanFreePath(track,previousStepSize,condition) ; + x = fhIonisation->GetMeanFreePath(track,previousStepSize,condition) ; } } + return x; } ///////////////////////////////////////////////////////////////////////// // // -G4VParticleChange* +G4VParticleChange* G4IonisationByLogicalVolume::AlongStepDoIt( const G4Track& track , - const G4Step& step ) + const G4Step& step ) { if ( track.GetVolume()->GetLogicalVolume() == fVolumeForPAImodel ) { diff --git a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc index 4f98d8708b..b1bc78be67 100644 --- a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc +++ b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc @@ -29,14 +29,19 @@ // File name: G4MollerBhabhaModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 03.01.2002 // -// Modifications: 13.11.2002 Minor fix - use normalised direction (VI) -// 04.12.2002 Change G4DynamicParticle constructor in PostStepDoIt (VI) +// Modifications: +// +// 13-11-02 Minor fix - use normalised direction (V.Ivanchenko) +// 04-12-02 Change G4DynamicParticle constructor in PostStepDoIt (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // // -// Class Description: +// Class Description: // // Implementation of energy loss and delta-electron production by e+/e- // @@ -52,8 +57,9 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MollerBhabhaModel::G4MollerBhabhaModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4MollerBhabhaModel::G4MollerBhabhaModel(const G4ParticleDefinition* p, + const G4String& nam) + : G4VEmModel(nam), particle(0), highKinEnergy(100.*TeV), lowKinEnergy(0.1*keV), @@ -67,12 +73,12 @@ G4MollerBhabhaModel::G4MollerBhabhaModel(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4MollerBhabhaModel::~G4MollerBhabhaModel() +G4MollerBhabhaModel::~G4MollerBhabhaModel() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4MollerBhabhaModel::SetParticle(const G4ParticleDefinition* p) +void G4MollerBhabhaModel::SetParticle(const G4ParticleDefinition* p) { particle = p; if(p != theElectron) isElectron = false; @@ -80,16 +86,14 @@ void G4MollerBhabhaModel::SetParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MollerBhabhaModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MollerBhabhaModel::HighEnergyLimit(const G4ParticleDefinition* p) { return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4MollerBhabhaModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4MollerBhabhaModel::LowEnergyLimit(const G4ParticleDefinition* p) { return lowKinEnergy; } @@ -97,25 +101,32 @@ G4double G4MollerBhabhaModel::LowEnergyLimit(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4MollerBhabhaModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material* material) + const G4MaterialCutsCouple* couple) { - return material->GetIonisation()->GetMeanExcitationEnergy(); + return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4MollerBhabhaModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4MollerBhabhaModel::IsInCharge(const G4ParticleDefinition* p) { return (p == theElectron || p == G4Positron::Positron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4MollerBhabhaModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + if(!particle) SetParticle(p); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4MollerBhabhaModel::ComputeDEDX(const G4Material* material, - const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy) + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double cutEnergy) { if(!particle) SetParticle(p); // calculate the dE/dx due to the ionization by Seltzer-Berger formula @@ -125,10 +136,10 @@ G4double G4MollerBhabhaModel::ComputeDEDX(const G4Material* material, G4double th = 0.25*sqrt(Zeff)*keV; G4double tkin = kineticEnergy; if (kineticEnergy < th) tkin = th; - + G4double tau = tkin/electron_mass_c2; - G4double gam = tau + 1.0; - G4double gamma2= gam*gam; + G4double gam = tau + 1.0; + G4double gamma2= gam*gam; G4double beta2 = 1. - 1./gamma2; G4double bg2 = beta2*gamma2; @@ -240,18 +251,18 @@ G4double G4MollerBhabhaModel::CrossSection(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4MollerBhabhaModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4MollerBhabhaModel::SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) { G4double tmax = G4std::min(maxEnergy, MaxSecondaryEnergy(dp)); if(tmin >= tmax) return 0; G4double kineticEnergy = dp->GetKineticEnergy(); G4double energy = kineticEnergy + electron_mass_c2; - G4double totalMomentum = sqrt(kineticEnergy*(energy + electron_mass_c2)); + G4double totalMomentum = sqrt(kineticEnergy*(energy + electron_mass_c2)); G4double xmin = tmin/kineticEnergy; G4double xmax = tmax/kineticEnergy; G4double gam = energy/electron_mass_c2; @@ -267,7 +278,7 @@ G4std::vector* G4MollerBhabhaModel::SampleSecondary( G4double g = (2.0*gam - 1.0)/gamma2; G4double y = 1.0 - xmax; grej = 1.0 - g*xmax + xmax*xmax*(1.0 - g + (1.0 - g*y)/(y*y)); - + do { q = G4UniformRand(); x = xmin*xmax/(xmin*(1.0 - q) + xmax*q); @@ -278,7 +289,7 @@ G4std::vector* G4MollerBhabhaModel::SampleSecondary( << "Majorant " << grej << " < " << z << " for x= " << x << " e-e- scattering" - << G4endl; + << G4endl; } } while(grej * G4UniformRand() > z); @@ -291,7 +302,7 @@ G4std::vector* G4MollerBhabhaModel::SampleSecondary( G4double b1 = 2.0 - y2; G4double b2 = y12*(3.0 + y2); G4double y122= y12*y12; - G4double b4 = y122*y12; + G4double b4 = y122*y12; G4double b3 = b4 + y122; y = xmax*xmax; @@ -318,20 +329,20 @@ G4std::vector* G4MollerBhabhaModel::SampleSecondary( << "Majorant " << grej << " < " << z << " for x= " << x << " e+e- scattering" - << G4endl; + << G4endl; } } while(grej * G4UniformRand() > z); } - + G4double deltaKinEnergy = x * kineticEnergy; - - G4double deltaMomentum = + + G4double deltaMomentum = sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); G4double cost = deltaKinEnergy * (energy + electron_mass_c2) / (deltaMomentum * totalMomentum); G4double sint = sqrt(1.0 - cost*cost); - - G4double phi = twopi * G4UniformRand() ; + + G4double phi = twopi * G4UniformRand() ; G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost) ; deltaDirection.rotateUz(momentum); @@ -342,8 +353,19 @@ G4std::vector* G4MollerBhabhaModel::SampleSecondary( delta->SetKineticEnergy(deltaKinEnergy); delta->SetMomentumDirection(deltaDirection); + return delta; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4MollerBhabhaModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* delta = SampleSecondary(couple, dp, tmin, maxEnergy); vdp->push_back(delta); return vdp; diff --git a/source/processes/electromagnetic/standard/src/G4PAIonisation.cc b/source/processes/electromagnetic/standard/src/G4PAIonisation.cc index 3501dd6f95..10e1d128f9 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIonisation.cc @@ -21,17 +21,19 @@ // ******************************************************************** // // -// $Id: G4PAIonisation.cc,v 1.31 2002/11/20 15:41:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PAIonisation.cc,v 1.35 2003/04/11 07:59:13 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ************************************************************** // +// 10.03.03 V.Ivanchenko remove old interfaces to cuts +// 10.01.03 CutInRange for e- instead of particle (VI) // 08.11.01 particleMass becomes a local variable (mma) // 17.09.01 migration of Materials to pure STL (mma) -// 28.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 28.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 17.05.01 V. Grichine, low energy extension down to 10*keV of proton -// 12.07.00 V.Grichine - modifications in BuildPAIonisationTable +// 12.07.00 V.Grichine - modifications in BuildPAIonisationTable // 11.07.00 V.Grichine - GetRandomEnergyTransfer, and PostStepDoIt // modifications // 03.07.00 V.Grichine - modifications in AlongStepDoIt @@ -42,18 +44,20 @@ #include "G4PAIonisation.hh" #include "G4PAIxSection.hh" +#include "G4Poisson.hh" +#include "G4ProductionCutsTable.hh" const G4double G4PAIonisation:: LowestKineticEnergy = 10.0*keV ; // 100.0*MeV ; -const G4double G4PAIonisation::HighestKineticEnergy = 10.*TeV ; // 1000.0*MeV ; +const G4double G4PAIonisation::HighestKineticEnergy = 10.*TeV ; // 1000.0*MeV ; G4int G4PAIonisation::TotBin = 200 ; // 50 // create physics vector and fill it - -G4PhysicsLogVector* + +G4PhysicsLogVector* G4PAIonisation::fProtonEnergyVector = new G4PhysicsLogVector(LowestKineticEnergy, HighestKineticEnergy, TotBin); - + @@ -61,15 +65,15 @@ G4PAIonisation::fProtonEnergyVector = new G4PhysicsLogVector(LowestKineticEnergy // // constructor and destructor // - + G4PAIonisation::G4PAIonisation( const G4String& materialName, const G4String& processName) : G4VPAIenergyLoss(processName), theElectron ( G4Electron::Electron() ) { G4int iMat ; - theMeanFreePathTable = NULL; - lastCutInRange = 0 ; + theMeanFreePathTable = NULL; + static const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); G4int numberOfMat = G4Material::GetNumberOfMaterials() ; for(iMat=0;iMat @@ -144,7 +148,7 @@ void G4PAIonisation::ComputeSandiaPhotoAbsCof() } fSandiaIntervalNumber = thisMaterialSandiaTable.SandiaIntervals (thisMaterialZ,numberOfElements) ; - + fSandiaIntervalNumber = thisMaterialSandiaTable.SandiaMixing ( thisMaterialZ , (*theMaterialTable)[fMatIndex]->GetFractionVector() , @@ -175,22 +179,19 @@ void G4PAIonisation::ComputeSandiaPhotoAbsCof() } - + //////////////////////////////////////////////////////////////////////// // // just call BuildLossTable+BuildLambdaTable // -void +void G4PAIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) { G4double Charge = aParticleType.GetPDGCharge(); - //G4double Chargesquare = Charge*Charge ; - CutInRange = aParticleType.GetLengthCuts(); - // BuildLossTable(aParticleType) ; - + if(Charge>0.) { RecorderOfpProcess[CounterOfpProcess] = (*this).theLossTable ; @@ -201,12 +202,10 @@ G4PAIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) RecorderOfpbarProcess[CounterOfpbarProcess] = (*this).theLossTable ; CounterOfpbarProcess++; } - if( !EqualCutVectors(CutInRange, lastCutInRange)) + if( CutsWhereModified() ) { - lastCutInRange = CopyCutVectors(lastCutInRange,CutInRange) ; BuildLambdaTable(aParticleType) ; } - // G4VPAIenergyLoss::BuildDEDXTable(aParticleType) ; } //////////////////////////////////////////////////////////////////////////// @@ -227,21 +226,21 @@ G4PAIonisation::BuildPAIonisationTable() delete theLossTable; } theLossTable = new G4PhysicsTable(); - - if( fPAItransferBank ) + + if( fPAItransferBank ) { fPAItransferBank->clearAndDestroy() ; delete fPAItransferBank ; } fPAItransferBank = new G4PhysicsTable(TotBin) ; - + //create physics vector then fill it .... - G4PhysicsLogVector* aVector = new G4PhysicsLogVector( LowestKineticEnergy, + G4PhysicsLogVector* aVector = new G4PhysicsLogVector( LowestKineticEnergy, HighestKineticEnergy, TotBin ) ; - + DeltaCutInKineticEnergyNow = 100*keV ; // From gas detector experience @@ -251,14 +250,14 @@ G4PAIonisation::BuildPAIonisationTable() deltaLow = 0.5*eV ; // shift from Tmin for stability - for (G4int i = 0 ; i < TotBin ; i++) //The loop for the kinetic energy + for (G4int i = 0 ; i < TotBin ; i++) //The loop for the kinetic energy { LowEdgeEnergy = fProtonEnergyVector->GetLowEdgeEnergy(i) ; - + tau = LowEdgeEnergy/proton_mass_c2 ; // if(tau < 0.01) tau = 0.01 ; - + gamma = tau +1. ; // G4cout<<"gamma = "< // G4cout<<"ionloss = "<GetIndex() != fMatIndex ) { +// G4cout << "Wrong material " << G4endl; return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - } + } kinE = aParticle->GetKineticEnergy() ; massRatio = proton_mass_c2/aParticle->GetDefinition()->GetPDGMass() ; scaledTkin = kinE*massRatio ; @@ -469,7 +471,7 @@ G4PAIonisation::PostStepDoIt( const G4Track& trackData, } finalTkin = kinE - energyTransfer ; - // kill the particle if the kinetic energy <= 0 + // kill the particle if the kinetic energy <= 0 if (finalTkin < 0.0 ) { @@ -478,12 +480,13 @@ G4PAIonisation::PostStepDoIt( const G4Track& trackData, { aParticleChange.SetStatusChange( fStopAndKill ) ; } - else aParticleChange.SetStatusChange( fStopButAlive ) ; - } + else aParticleChange.SetStatusChange( fStopButAlive ) ; + } aParticleChange.SetNumberOfSecondaries(0) ; aParticleChange.SetEnergyChange( finalTkin ) ; aParticleChange.SetLocalEnergyDeposit (energyTransfer) ; - + // G4cout<<"PAI::energyTransfer = "<GetIndex(); + //G4double cc,discr ; aParticleChange.Initialize(trackData) ; - aMaterial = trackData.GetMaterial() ; - size_t index = aMaterial->GetIndex() ; - // get the actual (true) Step length from stepData + // get the actual (true) Step length from stepData // there is no loss for Step=0. ! Step = stepData.GetStepLength() ; - if( Step == 0. || index != fMatIndex ) return &aParticleChange ; - + if( Step == 0. || index != fMatIndex ) return &aParticleChange ; + // G4cout<<"step = "<GetDefinition()->GetEnergyCuts())[index] ; if(Step >= BigRange) { @@ -561,22 +560,22 @@ G4VParticleChange* G4PAIonisation::AlongStepDoIt( const G4Track& trackData, if (finalT < 0.0) finalT = 0. ; fMeanLoss *= Chargesquare ; - + } - // kill the particle if the kinetic energy <= 0 + // kill the particle if the kinetic energy <= 0 if (finalT <= 0. ) { finalT = 0.; if (aParticle->GetDefinition()->GetParticleName() == "proton") aParticleChange.SetStatusChange(fStopAndKill); - else aParticleChange.SetStatusChange(fStopButAlive); - } + else aParticleChange.SetStatusChange(fStopButAlive); + } aParticleChange.SetNumberOfSecondaries(0); aParticleChange.SetEnergyChange( finalT ) ; aParticleChange.SetLocalEnergyDeposit(E-finalT) ; - +// G4cout << "Edep= " << E-finalT << G4endl; return &aParticleChange ; } @@ -585,11 +584,11 @@ G4VParticleChange* G4PAIonisation::AlongStepDoIt( const G4Track& trackData, // // Returns random energy loss from step -G4double +G4double G4PAIonisation::GetLossWithFluct( G4double Step, const G4DynamicParticle* aParticle, G4Material* aMaterial ) -{ +{ G4int iTkin, iTransfer ; G4long numOfCollisions; // G4long iCollision, numOfCollisions ; @@ -612,7 +611,7 @@ G4PAIonisation::GetLossWithFluct( G4double Step, if(TkinScaled < fProtonEnergyVector->GetLowEdgeEnergy(iTkin)) // <= ? { break ; - } + } } G4int iPlace = iTkin - 1 ; // index*(G4PAIonisation::GetBinNumber()) + @@ -620,9 +619,9 @@ G4PAIonisation::GetLossWithFluct( G4double Step, if(iTkin == G4PAIonisation::GetBinNumber()) // Fermi plato, try from left { - numOfCollisions = RandPoisson:: - shoot((*(*fPAItransferBank)(iPlace))(0)*Step*charge2) ; - + numOfCollisions = + G4Poisson((*(*fPAItransferBank)(iPlace))(0)*Step*charge2) ; + // G4cout<<"numOfCollisions = "<= - ( (*(*fPAItransferBank)(iPlace))(iTransfer)*W1 + + ( (*(*fPAItransferBank)(iPlace))(iTransfer)*W1 + (*(*fPAItransferBank)(iPlace+1))(iTransfer)*W2) ) { break ; } } - // loss += (*fPAItransferBank)(iPlace)->GetLowEdgeEnergy(iTransfer) ; + // loss += (*fPAItransferBank)(iPlace)->GetLowEdgeEnergy(iTransfer) ; loss += GetEnergyTransfer(iPlace,position,iTransfer); - numOfCollisions-- ; + numOfCollisions-- ; } } - } - // G4cout<<"PAI loss = "<= - ( (*(*fPAItransferBank)(iPlace))(iTransfer)*W1 + + ( (*(*fPAItransferBank)(iPlace))(iTransfer)*W1 + (*(*fPAItransferBank)(iPlace+1))(iTransfer)*W2) ) break ; } // transfer = (*fPAItransferBank)(iPlace)->GetLowEdgeEnergy(iTransfer) ; @@ -784,9 +783,9 @@ G4PAIonisation::GetRandomEnergyTransfer( G4double scaledTkin ) // Returns random PAI energy transfer according to passed scaled kinetic // energy of particle -G4double +G4double G4PAIonisation::GetEnergyTransfer( G4int iPlace, G4double position, G4int iTransfer ) -{ +{ G4double x1, x2, y1, y2, result ; if(iTransfer == 0) diff --git a/source/processes/electromagnetic/standard/src/G4PAIxSection.cc b/source/processes/electromagnetic/standard/src/G4PAIxSection.cc index 8f1d9ad93d..7228da730b 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIxSection.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIxSection.cc @@ -21,17 +21,16 @@ // ******************************************************************** // // -// $Id: G4PAIxSection.cc,v 1.13 2002/10/14 17:34:12 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PAIxSection.cc,v 1.14 2003/02/12 08:57:11 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4PAIxSection.cc -- class implementation file // -// GEANT 4 class implementation file --- Copyright CERN 1995 -// CERN Geneva Switzerland +// GEANT 4 class implementation file // // For information related to this code, please, contact -// CERN, CN Division, ASD Group +// the Geant4 Collaboration. // // History: // 1st version 11.06.97 V. Grichine @@ -39,12 +38,11 @@ // 17.05.01 V. Grichine, low energy extension down to 10*keV of proton // 28.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation - - -#include "G4ios.hh" -#include #include "G4PAIxSection.hh" + #include "globals.hh" +#include "G4ios.hh" +#include "G4Poisson.hh" #include "G4Material.hh" /* ****************************************************************** @@ -1294,7 +1292,7 @@ G4double G4PAIxSection::GetStepEnergyLoss( G4double step ) meanNumber = fIntegralPAIxSection[1]*step ; - numOfCollisions = RandPoisson::shoot(meanNumber) ; + numOfCollisions = G4Poisson(meanNumber) ; // G4cout<<"numOfCollisions = "< (G4Electron::Electron()->GetLengthCuts())[idxMate]) - finalRange = (G4Electron::Electron()->GetLengthCuts())[idxMate]; - } - c1lim = dRoverRange ; - c2lim = 2.*(1.-dRoverRange)*finalRange ; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + //set physically consistent value for finalRange + //and parameters for en.loss step limit + if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} + /* + else + { + for (size_t idxMate=0; idxMateGetMaterialCutsCouple(idxMate) + ->GetProductionCuts()->GetProductionCut(idxG4ElectronCut); + + if (finalRange > rcut) finalRange = rcut; + } + } + c1lim = dRoverRange; + c2lim = 2.*(1.-dRoverRange)*finalRange; c3lim = -(1.-dRoverRange)*finalRange*finalRange; - +*/ // Build energy loss table as a sum of the energy loss due to the - // different processes. - // + // different processes. - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + // create table if there is no table or there is a new cut value + + if (&aParticleType==G4Electron::Electron()) + {theDEDXTable= theDEDXElectronTable;} + else if (&aParticleType==G4Positron::Positron()) + {theDEDXTable= theDEDXPositronTable;} + + if ( !theDEDXTable || CutsWhereModified() ) + + { // create table for the total energy loss - if (&aParticleType==G4Electron::Electron()) + if (&aParticleType==G4Electron::Electron()) { RecorderOfProcess=RecorderOfElectronProcess; CounterOfProcess=CounterOfElectronProcess; if (CounterOfProcess == NbOfProcesses) { if (theDEDXElectronTable) - { + { theDEDXElectronTable->clearAndDestroy(); - delete theDEDXElectronTable; + delete theDEDXElectronTable; } - theDEDXElectronTable = new G4PhysicsTable(numOfMaterials); + theDEDXElectronTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXElectronTable; } } - if (&aParticleType==G4Positron::Positron()) + if (&aParticleType==G4Positron::Positron()) { RecorderOfProcess=RecorderOfPositronProcess; CounterOfProcess=CounterOfPositronProcess; if (CounterOfProcess == NbOfProcesses) { if (theDEDXPositronTable) - { + { theDEDXPositronTable->clearAndDestroy(); - delete theDEDXPositronTable; + delete theDEDXPositronTable; } - theDEDXPositronTable = new G4PhysicsTable(numOfMaterials); + theDEDXPositronTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXPositronTable; } } - if (CounterOfProcess == NbOfProcesses) + if (CounterOfProcess == NbOfProcesses) { // fill the tables // loop for materials @@ -231,35 +254,35 @@ void G4VeEnergyLoss::BuildDEDXTable( G4bool isOutRange; G4PhysicsTable* pointer; - for (G4int J=0; JGetLowEdgeEnergy(i) ; - //here comes the sum of the different tables created by the - //processes (ionisation,bremsstrahlung,etc...) - Value = 0.; + LowEdgeEnergy = aVector->GetLowEdgeEnergy(i) ; + //here comes the sum of the different tables created by the + //processes (ionisation,bremsstrahlung,etc...) + Value = 0.; for (G4int process=0; process < NbOfProcesses; process++) { pointer= RecorderOfProcess[process]; Value += (*pointer)[J]->GetValue(LowEdgeEnergy,isOutRange); } - aVector->PutValue(i,Value) ; + aVector->PutValue(i,Value) ; } theDEDXTable->insert(aVector) ; } - + //reset counter to zero if (&aParticleType==G4Electron::Electron()) CounterOfElectronProcess=0; if (&aParticleType==G4Positron::Positron()) CounterOfPositronProcess=0; @@ -344,7 +367,7 @@ void G4VeEnergyLoss::BuildDEDXTable( } // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, (&aParticleType==G4Electron::Electron())? theDEDXElectronTable: theDEDXPositronTable, (&aParticleType==G4Electron::Electron())? @@ -357,7 +380,7 @@ void G4VeEnergyLoss::BuildDEDXTable( theProperTimeElectronTable: theProperTimePositronTable, LowerBoundEloss, UpperBoundEloss, 1.,NbinEloss); - // create array for the min. delta cuts in kinetic energy + // create array for the min. delta cuts in kinetic energy G4double absLowerLimit = 1.*keV ; @@ -365,7 +388,7 @@ void G4VeEnergyLoss::BuildDEDXTable( // { // G4cout << G4endl; // G4cout.precision(5) ; -// G4cout << " eIoni Minimum Delta cut in range=" +// G4cout << " eIoni Minimum Delta cut in range=" // << MinDeltaCutInRange/mm // << " mm." << G4endl; // G4cout << G4endl; @@ -373,47 +396,35 @@ void G4VeEnergyLoss::BuildDEDXTable( // G4cout << G4endl; // } - if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfMaterials]; - if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfMaterials]; - for(G4int mat=0; matGetLengthCuts())[mat]/10.; - LowerLimitForced[mat] = false ; - - MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(),MinDeltaCutInRange, - (*theMaterialTable)[mat]) ; + // create array for the min. delta cuts in kinetic energy + G4double ecut = (*(theCoupleTable->GetEnergyCutsVector(idxG4ElectronCut)))[mat]; + if(!setMinDeltaCutInRange) MinDeltaCutInRange = ecut/10.0; + MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( + G4Electron::Electron(), + MinDeltaCutInRange, + theCoupleTable->GetMaterialCutsCouple(mat)); - if(MinDeltaEnergy[mat](G4Electron::Electron()->GetEnergyCuts())[mat]) - MinDeltaEnergy[mat]=(G4Electron::Electron()->GetEnergyCuts())[mat] ; - -// if((subSecFlag) && (&aParticleType==G4Electron::Electron())) -// { -// G4cout << G4std::setw(20) << (*theMaterialTable)[mat]->GetName() -// << G4std::setw(15) << MinDeltaEnergy[mat]/keV ; -// if(LowerLimitForced[mat]) -// G4cout << " lower limit forced." << G4endl; -// else -// G4cout << G4endl ; -// } + if(MinDeltaEnergy[mat]>ecut) MinDeltaEnergy[mat]=ecut; } + } } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, - const G4Step& stepData) -{ + const G4Step& stepData) +{ // compute the energy loss after a Step static const G4double faclow = 1.5 ; @@ -423,36 +434,37 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double Charge = aParticle->GetDefinition()->GetPDGCharge()/eplus; G4double E = aParticle->GetKineticEnergy() ; - - G4Material* aMaterial = trackData.GetMaterial(); - G4int index = aMaterial->GetIndex(); + + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* aMaterial = couple->GetMaterial(); + G4int index = couple->GetIndex(); G4double Step = stepData.GetStepLength(); - + aParticleChange.Initialize(trackData); G4double MeanLoss, finalT; - + if (E < MinKineticEnergy) finalT = 0.; - + else if (E= fRangeNow) finalT = 0.; else finalT = E*(1.-sqrt(Step/fRangeNow)) ; } - + else if (E>=UpperBoundEloss) finalT = E - Step*fdEdx; else if (Step >= fRangeNow) finalT = 0.; - + else { if((Step/fRangeNow < linLossLimit)||(E < Tlow)) finalT = E-Step*fdEdx ; else { if (Charge<0.) finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Electron::Electron(),fRangeNow-Step,aMaterial); + (G4Electron::Electron(),fRangeNow-Step,couple); else finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Positron::Positron(),fRangeNow-Step,aMaterial); + (G4Positron::Positron(),fRangeNow-Step,couple); } } @@ -469,53 +481,48 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, G4double MinDeltaEnergyNow = MinDeltaEnergy[index] ; G4double TmintoProduceDelta=0.5*(3.-Charge)*MinDeltaEnergyNow ; if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) - && (finalT > MinKineticEnergy)) + && (finalT > MinKineticEnergy)) { - G4double rcut,Tc,T0,presafety,postsafety,safety,delta; + G4double T0,presafety,postsafety,safety,delta; G4double fragment = Step; G4double frperstep= 1.0; G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; //G4double epsil= MinKineticEnergy/2. ; + G4double Tc = SecondaryEnergyThreshold(index); + G4double rcut=couple->GetProductionCuts()->GetProductionCut(idxG4ElectronCut); + if(Charge < 0.) { - rcut=(G4Electron::Electron()->GetLengthCuts())[index]; - Tc=(G4Electron::Electron()->GetEnergyCuts())[index]; - // threshold ! if(Tc > 0.5*E) Tc=0.5*E ; } else { - rcut=(G4Positron::Positron()->GetLengthCuts())[index]; - Tc=(G4Positron::Positron()->GetEnergyCuts())[index]; - // threshold ! if(Tc > E) Tc=E ; } // generate subcutoff delta rays only if Tc>MinDeltaEnergy! if(Tc > MinDeltaEnergyNow) { presafety = stepData.GetPreStepPoint()->GetSafety() ; - - // postsafety = stepData.GetPostStepPoint()->GetSafety() ; - + G4Navigator *navigator= G4TransportationManager::GetTransportationManager() ->GetNavigatorForTracking(); postsafety = navigator->ComputeSafety(stepData.GetPostStepPoint()->GetPosition()); - + safety=G4std::min(presafety,postsafety); if(safetyGetIndex()])) + if((T0GetPosition().x(); @@ -526,7 +533,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, dz=stepData.GetPostStepPoint()->GetPosition().z()-z1 ; time0=stepData.GetPreStepPoint()->GetGlobalTime(); dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; - + if((presafety0.5*Tkin)) Tc=0.5*Tkin ; if((Charge>0.)&&(Tc> Tkin)) Tc= Tkin ; - + //check if there is enough energy .... if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) { @@ -622,7 +629,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, zd=z1+frperstep*dz*urandom ; G4ThreeVector DeltaPosition(xd,yd,zd) ; DeltaTime=time0+frperstep*dTime*urandom ; - + G4ThreeVector DeltaDirection(dirx,diry,dirz) ; DeltaDirection.rotateUz(ParticleDirection); @@ -632,7 +639,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, theDelta->SetMomentumDirection(DeltaDirection.x(), DeltaDirection.y(),DeltaDirection.z()); - + // update initial particle,fill ParticleChange Tkin -= T ; Px =(P*ParticleDirection.x()-p*DeltaDirection.x()) ; @@ -649,7 +656,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, G4Track* deltaTrack = new G4Track(theDelta,DeltaTime,DeltaPosition); deltaTrack->SetTouchableHandle(stepData.GetPreStepPoint() - ->GetTouchableHandle()); + ->GetTouchableHandle()); deltaTrack->SetParentID(trackData.GetTrackID()) ; aParticleChange.AddSecondary(deltaTrack) ; @@ -663,7 +670,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, aParticleChange.SetMomentumChange(Px,Py,Pz) ; E = Tkin ; - } + } } // ................................................................ } @@ -671,7 +678,7 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, } } - // end of subcutoff generation + // end of subcutoff generation // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! finalT = E - MeanLoss ; @@ -680,17 +687,17 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, //now the loss with fluctuation if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) { - finalT = E-GetLossWithFluct(aParticle,aMaterial,1.,MeanLoss,Step); + finalT = E-GetLossWithFluct(aParticle,couple,1.,MeanLoss,Step); if (finalT < 0.) finalT = 0. ; } - // kill the particle if the kinetic energy <= 0 + // kill the particle if the kinetic energy <= 0 if (finalT <= 0. ) { finalT = 0.; if (Charge < 0.) aParticleChange.SetStatusChange(fStopAndKill); - else aParticleChange.SetStatusChange(fStopButAlive); - } + else aParticleChange.SetStatusChange(fStopButAlive); + } aParticleChange.SetEnergyChange(finalT); aParticleChange.SetLocalEnergyDeposit(E-finalT); @@ -701,4 +708,4 @@ G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + diff --git a/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc b/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc index 5af719d39f..b800484504 100644 --- a/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc +++ b/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VhEnergyLoss.cc,v 1.35 2002/06/10 15:38:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VhEnergyLoss.cc,v 1.45 2003/04/26 12:11:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- @@ -37,21 +37,26 @@ // 10/08/00 V.Ivanchenko change AlongStepDoIt and // add EnergyLossFluctuation in order to simulate // energy losses of ions -// 17/08/00 V.Ivanchenko change EnergyLossFluctuation -// 18/08/00 V.Ivanchenko bug fixed in GetConstrained +// 17/08/00 V.Ivanchenko change EnergyLossFluctuation +// 18/08/00 V.Ivanchenko bug fixed in GetConstrained // 23/01/01 bug fixed in AlongStepDoIt , L.Urban // 27/03/01 commented out the printing of subcutoff energies -// 28/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 28/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 10/09/01 bugfix in subcutoff delta generation, L.Urban // 12/09/01 min.delta cut is set as rcut/100 + some optimisation, L.Urban // 17-09-01 migration of Materials to pure STL (mma) -// 29-10-01 all static functions no more inlined (mma) +// 29-10-01 all static functions no more inlined (mma) // 08-11-01 BuildDEDXTable not static,Charge local variable, L.Urban // 09-11-01 cosmetics; 80 columns everywhere (mma) // 06-02-02 bug fixed in MinDeltaCutInRange computation, L.Urban // 26-02-02 bug fixed in TouchebleHandle definition, V.Ivanchenko // 29-05-02 bug fixed in N of subcutoff delta, V.Ivanchenko // 10-06-02 bug fixed for stopping hadrons, V.Ivanchenko +// 15-01-03 Migrade to cut per region (V.Ivanchenko) +// 25-03-03 add finalRangeRequested (mma) +// 07-04-03 add verbosity (V.Ivanchenko) +// 08-04-03 finalRange is region aware (V.Ivanchenko) +// 17-04-03 fix problem of hadron tests (V.Ivanchenko) // ----------------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -62,6 +67,7 @@ #include "G4Navigator.hh" #include "G4TransportationManager.hh" #include "G4ProcessManager.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -99,9 +105,6 @@ G4PhysicsTable* G4VhEnergyLoss::thepbarRangeCoeffCTable = NULL; G4PhysicsTable* G4VhEnergyLoss::theDEDXTable = NULL; -G4double* G4VhEnergyLoss::ptableElectronCutInRange = 0; -G4double* G4VhEnergyLoss::pbartableElectronCutInRange = 0; - G4double G4VhEnergyLoss::LowerBoundEloss = 1.*keV; G4double G4VhEnergyLoss::UpperBoundEloss = 100.*TeV; G4int G4VhEnergyLoss::NbinEloss = 100; @@ -111,17 +114,17 @@ G4double G4VhEnergyLoss::cN = 0.077*MeV*cm2/g; G4int G4VhEnergyLoss::Ndeltamax = 100; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4VhEnergyLoss::G4VhEnergyLoss(const G4String& processName) : G4VEnergyLoss (processName), theLossTable (NULL), - MinKineticEnergy(1.*eV), + MinKineticEnergy(1.*eV), linLossLimit(0.05) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VhEnergyLoss::~G4VhEnergyLoss() +G4VhEnergyLoss::~G4VhEnergyLoss() { if(theLossTable) { theLossTable->clearAndDestroy(); @@ -131,168 +134,138 @@ G4VhEnergyLoss::~G4VhEnergyLoss() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VhEnergyLoss::SetNbOfProcesses(G4int nb) +void G4VhEnergyLoss::SetNbOfProcesses(G4int nb) {NbOfProcesses=nb;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VhEnergyLoss::PlusNbOfProcesses() +void G4VhEnergyLoss::PlusNbOfProcesses() {NbOfProcesses++ ;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VhEnergyLoss::MinusNbOfProcesses() +void G4VhEnergyLoss::MinusNbOfProcesses() {NbOfProcesses-- ;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4int G4VhEnergyLoss::GetNbOfProcesses() +G4int G4VhEnergyLoss::GetNbOfProcesses() {return NbOfProcesses;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VhEnergyLoss::SetLowerBoundEloss(G4double val) +void G4VhEnergyLoss::SetLowerBoundEloss(G4double val) {LowerBoundEloss=val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetUpperBoundEloss(G4double val) + +void G4VhEnergyLoss::SetUpperBoundEloss(G4double val) {UpperBoundEloss=val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetNbinEloss(G4int nb) + +void G4VhEnergyLoss::SetNbinEloss(G4int nb) {NbinEloss=nb;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double G4VhEnergyLoss::GetLowerBoundEloss() +G4double G4VhEnergyLoss::GetLowerBoundEloss() {return LowerBoundEloss;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VhEnergyLoss::GetUpperBoundEloss() + +G4double G4VhEnergyLoss::GetUpperBoundEloss() {return UpperBoundEloss;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VhEnergyLoss::GetNbinEloss() + +G4int G4VhEnergyLoss::GetNbinEloss() {return NbinEloss;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4VhEnergyLoss::BuildDEDXTable( const G4ParticleDefinition& aParticleType) { + if(0 < verboseLevel) { + G4cout << "G4VhEnergyLoss::BuildDEDXTable() for process " + << GetProcessName() << " and particle " + << aParticleType.GetParticleName() << G4endl; + } + // calculate data members LOGRTable,RTable first G4double lrate = log(UpperBoundEloss/LowerBoundEloss); LOGRTable=lrate/NbinEloss; RTable =exp(LOGRTable); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + //set physically consistent value for finalRange //and parameters for en.loss step limit - for (size_t idxMate=0; idxMate (G4Electron::Electron()->GetLengthCuts())[idxMate]) - finalRange = (G4Electron::Electron()->GetLengthCuts())[idxMate]; - } - c1lim = dRoverRange ; - c2lim = 2.*(1.-dRoverRange)*finalRange ; - c3lim = -(1.-dRoverRange)*finalRange*finalRange; + if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} // create table if there is no table or there is a new cut value - G4bool MakeTable = false; - - G4double* ElectronCutInRange = G4Electron::Electron()->GetLengthCuts(); - - // create/fill proton or antiproton tables depending on the charge + // create/fill proton or antiproton tables depending on the charge G4double Charge = aParticleType.GetPDGCharge()/eplus; ParticleMass = aParticleType.GetPDGMass() ; if (Charge>0.) {theDEDXTable= theDEDXpTable;} else {theDEDXTable= theDEDXpbarTable;} - if( - ((Charge>0.) && ((theDEDXTable==NULL) || - !EqualCutVectors(ElectronCutInRange, ptableElectronCutInRange))) - || - ((Charge<0.) && ((theDEDXTable==NULL) || - !EqualCutVectors(ElectronCutInRange, pbartableElectronCutInRange))) - ) - MakeTable = true ; - - const G4MaterialTable* theMaterialTable= - G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4String pname = aParticleType.GetParticleName(); + if( !theDEDXTable || (CutsWhereModified() && + (pname == "proton" || pname == "anti_proton")) ) - if(MakeTable) { // Build energy loss table as a sum of the energy loss due to the // different processes. - if (Charge >0.) + if (Charge >0.) { - RecorderOfProcess=RecorderOfpProcess; - CounterOfProcess=CounterOfpProcess; - - if(CounterOfProcess == NbOfProcesses) - { if(theDEDXpTable) {theDEDXpTable->clearAndDestroy(); delete theDEDXpTable;} - theDEDXpTable = new G4PhysicsTable(numOfMaterials); + theDEDXpTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXpTable; - ptableElectronCutInRange = ElectronCutInRange; - } } else { - RecorderOfProcess=RecorderOfpbarProcess; - CounterOfProcess=CounterOfpbarProcess; - - if(CounterOfProcess == NbOfProcesses) - { if(theDEDXpbarTable) {theDEDXpbarTable->clearAndDestroy(); delete theDEDXpbarTable;} - theDEDXpbarTable = new G4PhysicsTable(numOfMaterials); + theDEDXpbarTable = new G4PhysicsTable(numOfCouples); theDEDXTable = theDEDXpbarTable; - pbartableElectronCutInRange = ElectronCutInRange; - } } - if(CounterOfProcess == NbOfProcesses) - { // loop for materials // G4bool isOutRange; G4PhysicsTable* pointer; - for (G4int J=0; JGetLowEdgeEnergy(i); + G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); G4double Value = 0. ; - + // loop for the contributing processes for (G4int process=0; process < NbOfProcesses; process++) { - pointer= RecorderOfProcess[process]; + pointer= RecorderOfpProcess[process]; Value += (*pointer)[J]->GetValue(LowEdgeEnergy,isOutRange); } - aVector->PutValue(i,Value); + aVector->PutValue(i,Value); } theDEDXTable->insert(aVector); } - - // reset counter to zero - if(Charge >0.) CounterOfpProcess=0; - else CounterOfpbarProcess=0; + if(Charge > 0.) { @@ -330,7 +303,7 @@ void G4VhEnergyLoss::BuildDEDXTable( thepRangeCoeffCTable, theInverseRangepTable, LowerBoundEloss,UpperBoundEloss,NbinEloss); - + } else { @@ -338,7 +311,7 @@ void G4VhEnergyLoss::BuildDEDXTable( // theRangepbarTable = BuildRangeTable(theDEDXpbarTable, theRangepbarTable, LowerBoundEloss,UpperBoundEloss,NbinEloss); - + // Build lab/proper time tables // theLabTimepbarTable = BuildLabTimeTable(theDEDXpbarTable, @@ -370,13 +343,13 @@ void G4VhEnergyLoss::BuildDEDXTable( thepbarRangeCoeffCTable, theInverseRangepbarTable, LowerBoundEloss,UpperBoundEloss,NbinEloss); - } + } } - + // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, (Charge>0)? theDEDXpTable: theDEDXpbarTable, (Charge>0)? theRangepTable: theRangepbarTable, (Charge>0)? theInverseRangepTable: theInverseRangepbarTable, @@ -387,29 +360,29 @@ void G4VhEnergyLoss::BuildDEDXTable( if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfMaterials]; + MinDeltaEnergy = new G4double [numOfCouples]; if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfMaterials]; + LowerLimitForced = new G4bool [numOfCouples]; G4double Tlowerlimit = 1.*keV; - for (G4int mat=0; matGetLengthCuts())[mat]/10.; + G4double ecut = (*(theCoupleTable->GetEnergyCutsVector(1)))[mat]; + if(!setMinDeltaCutInRange) MinDeltaCutInRange = ecut/10.0; MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(),MinDeltaCutInRange, - (*theMaterialTable)[mat]); + G4Electron::Electron(), + MinDeltaCutInRange, + theCoupleTable->GetMaterialCutsCouple(mat)); if(MinDeltaEnergy[mat](G4Electron::Electron()->GetEnergyCuts())[mat]) - MinDeltaEnergy[mat]=(G4Electron::Electron()->GetEnergyCuts())[mat]; + if(MinDeltaEnergy[mat]>ecut) MinDeltaEnergy[mat]=ecut; } } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double G4VhEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, - G4Material *aMaterial) + const G4MaterialCutsCouple * couple) { // returns the Step limit // dRoverRange is the max. allowed relative range loss in one step @@ -418,34 +391,37 @@ G4double G4VhEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, G4double KineticEnergy = aParticle->GetKineticEnergy(); G4double massratio=proton_mass_c2/(aParticle->GetMass()); G4double Tscaled = KineticEnergy*massratio; - G4double Charge = aParticle->GetCharge()/eplus; + G4double Charge = aParticle->GetCharge()/eplus; G4double ChargeSquare = Charge*Charge; if (Charge>0.) { - fRangeNow=G4EnergyLossTables::GetRange(G4Proton::Proton(),Tscaled,aMaterial); - fdEdx =G4EnergyLossTables::GetDEDX (G4Proton::Proton(),Tscaled,aMaterial); + fRangeNow=G4EnergyLossTables::GetRange(G4Proton::Proton(),Tscaled,couple); + fdEdx =G4EnergyLossTables::GetDEDX (G4Proton::Proton(),Tscaled,couple); } else { fRangeNow=G4EnergyLossTables::GetRange(G4AntiProton::AntiProton(), - Tscaled,aMaterial); + Tscaled,couple); fdEdx =G4EnergyLossTables::GetDEDX (G4AntiProton::AntiProton(), - Tscaled,aMaterial); + Tscaled,couple); } fdEdx *= ChargeSquare; fRangeNow /= (ChargeSquare*massratio); // compute the (random) Step limit // - G4double StepLimit; - if (fRangeNow > finalRange) + G4double r = G4std::min(finalRange, couple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + G4double StepLimit; + if (fRangeNow > r) { - StepLimit = (c1lim*fRangeNow+c2lim+c3lim/fRangeNow); + StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); + // StepLimit = (c1lim*fRangeNow+c2lim+c3lim/fRangeNow); - // randomise this value - if(rndmStepFlag) StepLimit=finalRange+(StepLimit-finalRange)*G4UniformRand(); - if(StepLimit > fRangeNow) StepLimit = fRangeNow; + // randomise this value + if (rndmStepFlag) StepLimit=r+(StepLimit-r)*G4UniformRand(); + if (StepLimit > fRangeNow) StepLimit = fRangeNow; } else StepLimit = fRangeNow; @@ -454,26 +430,27 @@ G4double G4VhEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( +G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( const G4Track& trackData,const G4Step& stepData) -{ +{ // compute the energy loss after a step - // + // aParticleChange.Initialize(trackData); - - G4Material* aMaterial = trackData.GetMaterial(); - G4int index = aMaterial->GetIndex(); - + + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* aMaterial = couple->GetMaterial(); + G4int index = couple->GetIndex(); + const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double Charge = aParticle->GetCharge()/eplus; G4double ChargeSquare = Charge*Charge; G4double mass=aParticle->GetMass(); - - // get the actual (true) Step length from stepData + + // get the actual (true) Step length from stepData G4double Step = stepData.GetStepLength(); G4double E = aParticle->GetKineticEnergy(); - G4double MeanLoss; + G4double MeanLoss = 0.; if (E < MinKineticEnergy) MeanLoss = E; else @@ -486,44 +463,45 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( { G4double massratio = proton_mass_c2/mass; G4double rscaled = fRangeNow*massratio*ChargeSquare; - G4double sscaled = Step *massratio*ChargeSquare; + G4double sscaled = Step *massratio*ChargeSquare; if (Charge>0.) { MeanLoss = G4EnergyLossTables::GetPreciseEnergyFromRange( G4Proton::Proton(), - rscaled ,aMaterial) - + rscaled ,couple) - G4EnergyLossTables::GetPreciseEnergyFromRange( G4Proton::Proton(), - rscaled-sscaled,aMaterial); + rscaled-sscaled,couple); } else { MeanLoss = G4EnergyLossTables::GetPreciseEnergyFromRange( G4AntiProton::AntiProton(), - rscaled ,aMaterial) - + rscaled ,couple) - G4EnergyLossTables::GetPreciseEnergyFromRange( G4AntiProton::AntiProton(), - rscaled-sscaled,aMaterial); + rscaled-sscaled,couple); } MeanLoss /= massratio; } else MeanLoss = Step*fdEdx; } - } + } G4double finalT = E - MeanLoss; // subcutoff delta ray production start - // + // if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) { - G4double T0,delta; + G4double delta; G4double fragment = Step; G4double frperstep = 1.0; G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; G4double MinDeltaEnergyNow = MinDeltaEnergy[index] ; - G4double Tc=(G4Electron::Electron()->GetEnergyCuts())[index]; + G4double Tc = SecondaryEnergyThreshold(index); + G4double w=mass+electron_mass_c2 ; G4double ww=2.*mass-MinDeltaEnergyNow ; G4double TmintoProduceDelta=0.5*(sqrt(ww*ww+2.*w*w*MinDeltaEnergyNow/ @@ -532,13 +510,13 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) && (finalT > MinKineticEnergy)) { - // max. possible delta energy + // max. possible delta energy G4double Tmax = 2.*electron_mass_c2*E*(E+2.*mass)/ (mass*mass+2.*electron_mass_c2*(E+mass)+ electron_mass_c2*electron_mass_c2); - G4double rcut=(G4Electron::Electron()->GetLengthCuts())[index]; + G4double rcut=couple->GetProductionCuts()->GetProductionCut(1); if (Tc > Tmax) Tc=Tmax; - + // generate subcutoff delta rays only if Tc>MinDeltaEnergyNow if ((Tc > MinDeltaEnergyNow) && (Tmax > MinDeltaEnergyNow)) { @@ -578,19 +556,19 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( fragment=rcut*(Step+delta)/presafety-delta ; x1 += dx; y1 += dy; - z1 += dz; + z1 += dz; time0 += dTime ; frperstep=-fragment/Step; } if (fragment>0.) { - T0=G4EnergyLossTables::GetPreciseEnergyFromRange( + G4double T0=G4EnergyLossTables::GetPreciseEnergyFromRange( G4Electron::Electron(), G4std::min(presafety,postsafety), - aMaterial); + couple); // absolute lower limit for T0 - if((T0GetIndex()])) + if((T0 0) { G4double T,p,costheta,sintheta,phi,dirx,diry,dirz, - Pnew,urandom; + Pnew,urandom; G4double Tkin = E; G4double Etot = Tkin+mass; G4double P = sqrt(Tkin*(Etot+mass)); @@ -644,7 +622,7 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( dirx=sintheta*cos(phi); diry=sintheta*sin(phi); dirz=costheta; - + urandom = G4UniformRand() ; // distribute x,y,z along Pre-Post ! G4double xd=x1+frperstep*dx*urandom; @@ -697,7 +675,7 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( } } } - // end of subcutoff business + // end of subcutoff business finalT = E - MeanLoss; if(finalT < MinKineticEnergy) finalT = 0.; @@ -706,18 +684,18 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) { finalT = E - - EnergyLossFluctuation(aParticle,aMaterial,ChargeSquare,MeanLoss,Step); + EnergyLossFluctuation(aParticle,couple,ChargeSquare,MeanLoss,Step); if (finalT < 0.) finalT = 0.; } - // kill the particle if the kinetic energy <= 0 + // kill the particle if the kinetic energy <= 0 if (finalT <= 0.) { finalT = 0.; if(!aParticle->GetDefinition()->GetProcessManager()->GetAtRestProcessVector()->size()) aParticleChange.SetStatusChange(fStopAndKill); - else aParticleChange.SetStatusChange(fStopButAlive); - } + else aParticleChange.SetStatusChange(fStopButAlive); + } aParticleChange.SetEnergyChange(finalT); aParticleChange.SetLocalEnergyDeposit(E-finalT); @@ -729,12 +707,12 @@ G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( G4double G4VhEnergyLoss::EnergyLossFluctuation( const G4DynamicParticle* aParticle, - G4Material* aMaterial, + const G4MaterialCutsCouple* couple, G4double ChargeSquare, G4double MeanLoss, G4double Step) { - return GetLossWithFluct(aParticle,aMaterial,ChargeSquare,MeanLoss,Step); + return GetLossWithFluct(aParticle,couple,ChargeSquare,MeanLoss,Step); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc index e20ba7ed45..ed60a75b1a 100644 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc +++ b/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc @@ -21,13 +21,13 @@ // ******************************************************************** // // -// $Id: G4eBremsstrahlung.cc,v 1.27 2002/11/12 17:04:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eBremsstrahlung.cc,v 1.31 2003/04/29 04:59:48 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------ G4eBremsstrahlung physics process -------- // by Michel Maire, 24 July 1996 -// +// // 26-09-96 extension of the total crosssection above 100 GeV, M.Maire // 1-10-96 new type G4OrderedTable; ComputePartialSumSigma(), M.Maire // 16-10-96 DoIt() call to the non static GetEnergyCuts(), L.Urban @@ -46,23 +46,26 @@ // 21-09-01 completion of RetrievePhysicsTable() (mma) // 29-10-01 all static functions no more inlined (mma) // 08-11-01 particleMass becomes a local variable -// 11-11-02 fix of division by 0 (VI) +// 11-11-02 fix of division by 0 (VI) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) // // -------------------------------------------------------------- //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + #include "G4eBremsstrahlung.hh" #include "G4EnergyLossTables.hh" #include "G4ios.hh" #include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" G4double G4eBremsstrahlung::LowerBoundLambda = 1.*keV; G4double G4eBremsstrahlung::UpperBoundLambda = 100.*TeV; G4int G4eBremsstrahlung::NbinLambda = 100; G4double G4eBremsstrahlung::probsup = 1.00; -G4bool G4eBremsstrahlung::LPMflag = true; +G4bool G4eBremsstrahlung::LPMflag = true; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -71,23 +74,21 @@ G4bool G4eBremsstrahlung::LPMflag = true; G4eBremsstrahlung::G4eBremsstrahlung(const G4String& processName) : G4VeEnergyLoss(processName), // initialization theMeanFreePathTable(NULL) -{ // MinThreshold = 10*keV; +{ // MinThreshold = 10*keV; MinThreshold = 1*keV; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + // destructor - + G4eBremsstrahlung::~G4eBremsstrahlung() { - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } + if (theMeanFreePathTable) { + theMeanFreePathTable->clearAndDestroy(); + delete theMeanFreePathTable; + } - if (&PartialSumSigma) { - PartialSumSigma.clearAndDestroy(); - } + PartialSumSigma.clearAndDestroy(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -111,8 +112,8 @@ G4double G4eBremsstrahlung::GetLowerBoundLambda() {return LowerBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eBremsstrahlung::GetUpperBoundLambda() + +G4double G4eBremsstrahlung::GetUpperBoundLambda() {return UpperBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -122,26 +123,26 @@ G4int G4eBremsstrahlung::GetNbinLambda() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4eBremsstrahlung::SetLPMflag(G4bool val) +void G4eBremsstrahlung::SetLPMflag(G4bool val) {LPMflag = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4bool G4eBremsstrahlung::GetLPMflag() +G4bool G4eBremsstrahlung::GetLPMflag() {return LPMflag;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) -// just call BuildLossTable+BuildLambdaTable -{ - // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - BuildLossTable(aParticleType); - +void G4eBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) +{ + if( !CutsWhereModified() && theLossTable) return; + + LowestKineticEnergy = GetLowerBoundEloss(); + HighestKineticEnergy = GetUpperBoundEloss(); + TotBin = GetNbinEloss(); + + BuildLossTable(aParticleType); + if (&aParticleType==G4Electron::Electron()) { RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; @@ -154,7 +155,7 @@ void G4eBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aParticleT } BuildLambdaTable(aParticleType); - + BuildDEDXTable (aParticleType); if (&aParticleType==G4Electron::Electron()) PrintInfoDefinition(); @@ -163,8 +164,6 @@ void G4eBremsstrahlung::BuildPhysicsTable(const G4ParticleDefinition& aParticleT //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4eBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aParticleType) - // Build table for energy loss due to soft brems - // tables are built for *MATERIALS* { G4double KineticEnergy,TotalEnergy,bremloss,Z,x, losslim,loss,rate,natom,Cut; @@ -176,31 +175,28 @@ void G4eBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aParticleType const G4double coef1 = -0.5, coef2 = 2./9.; G4double particleMass = aParticleType.GetPDGMass() ; - G4double* GammaCutInKineticEnergy = G4Gamma::Gamma()->GetEnergyCuts(); - - // create table - - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - if (theLossTable) { theLossTable->clearAndDestroy(); - delete theLossTable; - } - - theLossTable = new G4PhysicsTable(numOfMaterials); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); -// loop for materials + if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); - for (G4int J=0; JGetEnergyCutsVector(0); + + // loop for materials + // + for (size_t J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); const G4int NumberOfElements = material->GetNumberOfElements(); @@ -210,7 +206,7 @@ void G4eBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aParticleType { KineticEnergy = aVector->GetLowEdgeEnergy(i) ; TotalEnergy = KineticEnergy+particleMass ; - Cut = GammaCutInKineticEnergy[J] ; + Cut = SecondaryEnergyThreshold(J); if (Cut < MinThreshold) Cut = MinThreshold; if (Cut > KineticEnergy) Cut = KineticEnergy; @@ -234,12 +230,12 @@ void G4eBremsstrahlung::BuildLossTable(const G4ParticleDefinition& aParticleType else { // extrapolation for KineticEnergy>100 GeV - x=log(Thigh/particleMass) ; + x=log(Thigh/particleMass) ; if (CutGetTableSize(); //create table if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); + PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(G4Material::GetNumberOfMaterials()); - + PartialSumSigma.resize(numOfCouples); + G4PhysicsLogVector* ptrVector; - for ( size_t J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { + for ( size_t J=0; JGetMaterialCutsCouple(J); - for ( G4int i = 0 ; i < NbinLambda ; i++ ) + for ( G4int i = 0 ; i < NbinLambda ; i++ ) { LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, - material ); + Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy,couple); ptrVector->PutValue( i , Value ) ; } theMeanFreePathTable->insertAt( J , ptrVector ); // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &ParticleType, FixedEnergy, material) ; + ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ; } } @@ -482,22 +478,23 @@ void G4eBremsstrahlung::BuildLambdaTable( G4double G4eBremsstrahlung::ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, - const G4Material* aMaterial) + const G4MaterialCutsCouple* couple) { + const G4Material* aMaterial = couple->GetMaterial(); const G4ElementVector* theElementVector = aMaterial->GetElementVector() ; const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = G4Gamma::Gamma()->GetEnergyThreshold(aMaterial); + G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); if (GammaEnergyCut < MinThreshold) GammaEnergyCut = MinThreshold; - + G4double SIGMA = 0; for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * + { + SIGMA += theAtomNumDensityVector[i] * ComputeCrossSectionPerAtom( ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), + (*theElementVector)[i]->GetZ(), GammaEnergyCut ); - } + } // now compute the correction due to the supression(s) @@ -526,7 +523,7 @@ G4double G4eBremsstrahlung::ComputeMeanFreePath( for(G4int n=0; n<=nn; n++) { - v += dv; u = exp(v); + v += dv; u = exp(v); fac = SupressionFunction(aMaterial,KineticEnergy,u); y = u/kmax; fac *= (4.-4.*y+3.*y*y)/3.; @@ -554,18 +551,18 @@ G4double G4eBremsstrahlung::ComputeCrossSectionPerAtom( const G4ParticleDefinition* ParticleType, G4double KineticEnergy, G4double AtomicNumber, G4double GammaEnergyCut) - + // Calculates the cross section per atom in GEANT4 internal units. // - -{ - G4double CrossSection = 0.0 ; - if ( KineticEnergy < 1*keV ) return CrossSection; - if ( KineticEnergy <= GammaEnergyCut ) return CrossSection; - static const G4double ksi=2.0, alfa=1.00; - static const G4double csigh = 0.127, csiglow = 0.25, asiglow = 0.020*MeV ; - static const G4double Tlim = 10.*MeV ; +{ + G4double CrossSection = 0.0 ; + if ( KineticEnergy < 1*keV ) return CrossSection; + if ( KineticEnergy <= GammaEnergyCut ) return CrossSection; + + static const G4double ksi=2.0, alfa=1.00; + static const G4double csigh = 0.127, csiglow = 0.25, asiglow = 0.020*MeV ; + static const G4double Tlim = 10.*MeV ; static const G4double xlim = 1.2 ; static const G4int NZ = 8 ; @@ -628,7 +625,7 @@ G4double G4eBremsstrahlung::ComputeCrossSectionPerAtom( G4double xx = log10(KineticEnergy) ; G4double fs = 1. ; - + if(xx <= xlim) { fs = coefsig[iz][Nsig-1] ; @@ -659,15 +656,15 @@ G4double G4eBremsstrahlung::ComputeCrossSectionPerAtom( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + G4double G4eBremsstrahlung::ComputePositronCorrFactorSigma( G4double AtomicNumber, G4double KineticEnergy, G4double GammaEnergyCut) - + // Calculates the correction factor for the total cross section of the positron bremsstrahl. -// Eta is the ratio of positron to electron energy loss by bremstrahlung. +// Eta is the ratio of positron to electron energy loss by bremstrahlung. // A parametrized formula from L. Urban is used to estimate eta. It is a fit to the results // of L. Kim & al: Phys Rev. A33,3002 (1986) - + { static const G4double K = 132.9416*eV; static const G4double a1 = 4.15e-1, a3 = 2.10e-3, a5 = 54.0e-5; @@ -682,51 +679,51 @@ G4double G4eBremsstrahlung::ComputePositronCorrFactorSigma( G4double AtomicNumbe void G4eBremsstrahlung::ComputePartialSumSigma(const G4ParticleDefinition* ParticleType, G4double KineticEnergy, - const G4Material* aMaterial) + const G4MaterialCutsCouple* couple) // Build the table of cross section per element. The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. +// This table is used by DoIt to select randomly an element in the material. { - G4int Imate = aMaterial->GetIndex(); + const G4Material* aMaterial= couple->GetMaterial(); G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); + const G4ElementVector* theElementVector = aMaterial->GetElementVector(); const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = G4Gamma::Gamma()->GetEnergyThreshold(aMaterial); + size_t index = couple->GetIndex(); + G4double GammaEnergyCut = SecondaryEnergyThreshold(index); - - PartialSumSigma[Imate] = new G4DataVector(); + PartialSumSigma[index] = new G4DataVector(); G4double SIGMA = 0. ; for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * + { + SIGMA += theAtomNumDensityVector[Ielem] * ComputeCrossSectionPerAtom( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), + (*theElementVector)[Ielem]->GetZ(), GammaEnergyCut ); - PartialSumSigma[Imate]->push_back(SIGMA); + PartialSumSigma[index]->push_back(SIGMA); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) + const G4Step& stepData) // // The emitted gamma energy is sampled using a parametrized formula from L. Urban. // This parametrization is derived from : // cross-section values of Seltzer and Berger for electron energies 1 keV - 10 GeV, // screened Bethe Heilter differential cross section above 10 GeV, -// Migdal corrections in both case. +// Migdal corrections in both case. // Seltzer & Berger: Nim B 12:95 (1985) // Nelson, Hirayama & Rogers: Technical report 265 SLAC (1985) // Migdal: Phys Rev 103:1811 (1956); Messel & Crawford: Pergamon Press (1970) -// -// A modified version of the random number techniques of Butcher & Messel is used +// +// A modified version of the random number techniques of Butcher & Messel is used // (Nuc Phys 20(1960),15). // // GEANT4 internal units. -// +// { static const G4double ah10 = 4.67733E+00, ah11 =-6.19012E-01, ah12 = 2.02225E-02, @@ -757,32 +754,34 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, G4bool LPMOK = false ; aParticleChange.Initialize(trackData); - G4Material* aMaterial=trackData.GetMaterial() ; //G4double LPMEnergy = LPMconstant*(aMaterial->GetRadlen()) ; + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4Material* aMaterial = couple->GetMaterial(); const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); - G4double charge = aDynamicParticle->GetDefinition()->GetPDGCharge(); + G4double charge = aDynamicParticle->GetDefinition()->GetPDGCharge(); G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); G4ParticleMomentum ParticleDirection = aDynamicParticle->GetMomentumDirection(); // Gamma production cut in this material - G4double GammaEnergyCut = G4Gamma::Gamma()->GetEnergyThreshold(aMaterial); + + G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); if (GammaEnergyCut < MinThreshold) GammaEnergyCut = MinThreshold; - + // check against insufficient energy if (KineticEnergy < GammaEnergyCut) { aParticleChange.SetMomentumChange( ParticleDirection ); aParticleChange.SetEnergyChange( KineticEnergy ); - aParticleChange.SetLocalEnergyDeposit (0.); + aParticleChange.SetLocalEnergyDeposit (0.); aParticleChange.SetNumberOfSecondaries(0); return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } - // select randomly one element constituing the material - G4Element* anElement = SelectRandomAtom(aMaterial); + // select randomly one element constituing the material + G4Element* anElement = SelectRandomAtom(couple); // Extract Z factors for this Element G4double lnZ = 3.*(anElement->GetIonisation()->GetlogZ3()); @@ -791,13 +790,12 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, // limits of the energy sampling G4double TotalEnergy = KineticEnergy + electron_mass_c2; - //G4double TotalEnergysquare = TotalEnergy*TotalEnergy ; - //G4double LPMGammaEnergyLimit = TotalEnergysquare/LPMEnergy ; - G4double xmin = GammaEnergyCut/KineticEnergy, epsilmin = GammaEnergyCut/TotalEnergy; + G4double xmin = GammaEnergyCut/KineticEnergy; + G4double epsilmin = GammaEnergyCut/TotalEnergy; G4double epsilmax = KineticEnergy/TotalEnergy; // Migdal factor - G4double + G4double MigdalFactor = (aMaterial->GetElectronDensity())*MigdalConstant /(epsilmax*epsilmax); @@ -810,7 +808,7 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, // do { - if (KineticEnergy > 1.*MeV) + if (KineticEnergy > 1.*MeV) { // parameters G4double ah1 = ah10 + ZZ* (ah11 + ZZ* ah12), @@ -834,36 +832,36 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, G4double F2 = G4std::max(ScreenFunction2(screenmin) - FZ ,0.); grejmax = (F1 - epsilmin* (F1*ah - bh*epsilmin*F2))/(42.392 - FZ); - // sample the energy rate of the emitted Gamma + // sample the energy rate of the emitted Gamma G4double screenvar; - + do { - x = pow(xmin, G4UniformRand()); + x = pow(xmin, G4UniformRand()); epsil = x*KineticEnergy/TotalEnergy; screenvar = screenfac*epsil/(1-epsil); F1 = G4std::max(ScreenFunction1(screenvar) - FZ ,0.); F2 = G4std::max(ScreenFunction2(screenvar) - FZ ,0.); migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); - greject = migdal*(F1 - epsil* (ah*F1 - bh*epsil*F2))/(42.392 - FZ); + greject = migdal*(F1 - epsil* (ah*F1 - bh*epsil*F2))/(42.392 - FZ); } while( greject < G4UniformRand()*grejmax ); } else - { + { // sample the energy rate of the emitted gamma for electron kinetic energy < 1 MeV // // parameters G4double al0 = al00 + ZZ* (al01 + ZZ* al02), al1 = al10 + ZZ* (al11 + ZZ* al12), al2 = al20 + ZZ* (al21 + ZZ* al22); - + G4double bl0 = bl00 + ZZ* (bl01 + ZZ* bl02), bl1 = bl10 + ZZ* (bl11 + ZZ* bl12), bl2 = bl20 + ZZ* (bl21 + ZZ* bl22); - + G4double al = al0 + al1*U + al2*U2; G4double bl = bl0 + bl1*U + bl2*U2; @@ -872,15 +870,15 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, G4double xm = -al/(2.*bl); if ((xmin < xm)&&(xm < 1.)) grejmax = G4std::max(grejmax, 1.+ xm* (al + bl*xm)); - // sample the energy rate of the emitted Gamma + // sample the energy rate of the emitted Gamma do { x = pow(xmin, G4UniformRand()); - migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); + migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); greject = migdal*(1. + x* (al + bl*x)); } while( greject < G4UniformRand()*grejmax ); } - GammaEnergy = x*KineticEnergy; + GammaEnergy = x*KineticEnergy; if(LPMflag) { @@ -895,7 +893,7 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, //protection: DO NOT PRODUCE a gamma with energy 0. ! - if (GammaEnergy <= 0.) + if (GammaEnergy <= 0.) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); // @@ -915,53 +913,56 @@ G4VParticleChange* G4eBremsstrahlung::PostStepDoIt(const G4Track& trackData, G4double dirx = sin(Teta)*cos(Phi) , diry = sin(Teta)*sin(Phi) , dirz = cos(Teta) ; G4ThreeVector GammaDirection ( dirx, diry, dirz); - GammaDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the Gamma + GammaDirection.rotateUz(ParticleDirection); + + // create G4DynamicParticle object for the Gamma G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), GammaDirection, GammaEnergy); aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(aGamma); + aParticleChange.AddSecondary(aGamma); // - // Update the incident particle + // Update the incident particle // - - G4double NewKinEnergy = KineticEnergy - GammaEnergy; + + G4double NewKinEnergy = KineticEnergy - GammaEnergy; if (NewKinEnergy > 0.) { aParticleChange.SetMomentumChange( ParticleDirection ); aParticleChange.SetEnergyChange( NewKinEnergy ); - aParticleChange.SetLocalEnergyDeposit (0.); - } + aParticleChange.SetLocalEnergyDeposit (0.); + } else - { + { aParticleChange.SetEnergyChange( 0. ); aParticleChange.SetLocalEnergyDeposit (0.); if (charge<0.) aParticleChange.SetStatusChange(fStopAndKill); else aParticleChange.SetStatusChange(fStopButAlive); - } - + } + return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4Element* G4eBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const +G4Element* G4eBremsstrahlung::SelectRandomAtom(const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material - const G4int Index = aMaterial->GetIndex(); + size_t index = couple->GetIndex(); + const G4Material* aMaterial = couple->GetMaterial(); const G4int NumberOfElements = aMaterial->GetNumberOfElements(); const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]); + G4double rval = G4UniformRand()*((*PartialSumSigma[index])[NumberOfElements-1]); for ( G4int i=0; i < NumberOfElements; i++ ) - if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)[i]); + { + if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); + } G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName() - << "' has no elements, NULL pointer returned." << G4endl; - return NULL; + << "' has no elements, NULL pointer returned." << G4endl; + return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -1017,11 +1018,11 @@ G4double G4eBremsstrahlung::SupressionFunction(const G4Material* aMaterial, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4eBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String filename; - + // store stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ @@ -1029,7 +1030,7 @@ G4bool G4eBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + // store mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); if ( !theMeanFreePathTable->StorePhysicsTable(filename, ascii) ){ @@ -1037,7 +1038,7 @@ G4bool G4eBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + // store PartialSumSigma table (G4OrderedTable) filename = GetPhysicsTableFileName(particle,directory,"PartSumSigma",ascii); if ( !PartialSumSigma.Store(filename, ascii) ){ @@ -1045,9 +1046,9 @@ G4bool G4eBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " + << ": Success to store the PhysicsTables in " << directory << G4endl; return true; } @@ -1055,58 +1056,64 @@ G4bool G4eBremsstrahlung::StorePhysicsTable(G4ParticleDefinition* particle, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4eBremsstrahlung::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - if (&PartialSumSigma != 0) PartialSumSigma.clear(); - + // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - + LowestKineticEnergy = GetLowerBoundEloss(); + HighestKineticEnergy = GetUpperBoundEloss(); + TotBin = GetNbinEloss(); + G4String filename; - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); + // retreive stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theLossTable0->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retrieve PartialSumSigma table (G4OrderedTable) + PartialSumSigma.clearAndDestroy(); + PartialSumSigma.reserve(numOfCouples); filename = GetPhysicsTableFileName(particle,directory,"PartSumSigma",ascii); if ( !PartialSumSigma.Retrieve(filename, ascii) ){ G4cout << " FAIL PartialSumSigma.retrieve in " << filename << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + if (particle==G4Electron::Electron()) { RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; @@ -1117,12 +1124,13 @@ G4bool G4eBremsstrahlung::RetrievePhysicsTable(G4ParticleDefinition* particle, RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; CounterOfPositronProcess++; } - + BuildDEDXTable (*particle); - + + if (particle==G4Electron::Electron()) PrintInfoDefinition(); return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4eBremsstrahlung::PrintInfoDefinition() @@ -1132,12 +1140,12 @@ void G4eBremsstrahlung::PrintInfoDefinition() "\n Good description from 1 KeV to 100 GeV.\n" " log scale extrapolation above 100 GeV \n" " Gamma energy sampled from a parametrised formula."; - + G4cout << G4endl << GetProcessName() << ": " << comments << "\n PhysicsTables from " << G4BestUnit(LowerBoundLambda,"Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") + << " to " << G4BestUnit(UpperBoundLambda,"Energy") << " in " << NbinLambda << " bins. \n"; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc index 314c7e6f8d..e3e75e349c 100644 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc @@ -29,17 +29,21 @@ // File name: G4eBremsstrahlungModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: // -// 11-11-02 Fix division by 0 (VI) -// 04-12-02 Change G4DynamicParticle constructor in PostStep (VI) +// 11-11-02 Fix division by 0 (V.Ivanchenko) +// 04-12-02 Change G4DynamicParticle constructor in PostStep (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 24-01-03 Fix for compounds (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// +// Class Description: // -// Class Description: // -// // ------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -53,11 +57,14 @@ #include "G4Material.hh" #include "G4Element.hh" #include "G4ElementVector.hh" +#include "G4ProductionCutsTable.hh" +#include "G4DataVector.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4eBremsstrahlungModel::G4eBremsstrahlungModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4eBremsstrahlungModel::G4eBremsstrahlungModel(const G4ParticleDefinition* p, + const G4String& nam) + : G4VEmModel(nam), particle(0), highKinEnergy(100.*TeV), lowKinEnergy(1.0*keV), @@ -66,16 +73,14 @@ G4eBremsstrahlungModel::G4eBremsstrahlungModel(const G4ParticleDefinition* p) MigdalConstant(classic_electr_radius*electron_Compton_length*electron_Compton_length/pi), LPMconstant(fine_structure_const*electron_mass_c2*electron_mass_c2/(8.*pi*hbarc)), isElectron(true), - theLPMflag(true), - oldMaterial(0) + theLPMflag(true) { if(p) SetParticle(p); - partialSumSigma.clear(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4eBremsstrahlungModel::~G4eBremsstrahlungModel() +G4eBremsstrahlungModel::~G4eBremsstrahlungModel() { size_t n = partialSumSigma.size(); if(n > 0) { @@ -87,7 +92,7 @@ G4eBremsstrahlungModel::~G4eBremsstrahlungModel() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4eBremsstrahlungModel::SetParticle(const G4ParticleDefinition* p) +void G4eBremsstrahlungModel::SetParticle(const G4ParticleDefinition* p) { particle = p; if(p == G4Electron::Electron()) isElectron = true; @@ -96,42 +101,64 @@ void G4eBremsstrahlungModel::SetParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4eBremsstrahlungModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4eBremsstrahlungModel::HighEnergyLimit(const G4ParticleDefinition*) { return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4eBremsstrahlungModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4eBremsstrahlungModel::LowEnergyLimit(const G4ParticleDefinition*) { return lowKinEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4eBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material*) +G4double G4eBremsstrahlungModel::MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*) { return minThreshold; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4eBremsstrahlungModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4eBremsstrahlungModel::IsInCharge(const G4ParticleDefinition* p) { return (p == G4Electron::Electron() || p == G4Positron::Positron()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4eBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector& cuts) +{ + if(p) SetParticle(p); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + for (size_t ii=0; iiGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); + G4DataVector* dv = ComputePartialSumSigma(material, 0.5*highKinEnergy, + G4std::min(cuts[i], 0.25*highKinEnergy)); + partialSumSigma.push_back(dv); + } + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, - G4double cutEnergy) + G4double cutEnergy) { if(!particle) SetParticle(p); if(kineticEnergy < lowKinEnergy) return 0.0; @@ -145,7 +172,7 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, const G4double factorHigh = 36./(1450.*GeV); const G4double coef1 = -0.5; const G4double coef2 = 2./9.; - + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); @@ -163,22 +190,22 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, x = log(totalEnergy/electron_mass_c2); loss = ComputeBremLoss(Z, kineticEnergy, cut, x) ; - if (!isElectron) loss *= PositronCorrFactorLoss(Z, kineticEnergy, cut); - + if (!isElectron) loss *= PositronCorrFactorLoss(Z, kineticEnergy, cut); + // extrapolation for KineticEnergy>100 GeV } else if(cut < thigh) { - + loss = ComputeBremLoss(Z, thigh, cut, xhigh) ; - if (!isElectron) loss *= PositronCorrFactorLoss(Z, thigh, cut) ; + if (!isElectron) loss *= PositronCorrFactorLoss(Z, thigh, cut) ; rate = cut/kineticEnergy; loss *= (1. + coef1*rate + coef2*rate*rate); rate = cut/thigh; loss /= (1.+coef1*rate+coef2*rate*rate); } else { - + loss = ComputeBremLoss(Z, thigh, 0.5*thigh, xhigh) ; - if (!isElectron) loss *= PositronCorrFactorLoss(Z, thigh, 0.5*thigh) ; + if (!isElectron) loss *= PositronCorrFactorLoss(Z, thigh, 0.5*thigh) ; rate = cut/kineticEnergy; loss *= (1. + coef1*rate + coef2*rate*rate); loss *= cut*factorHigh; @@ -196,7 +223,7 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, G4double floss = 0.; G4int nmax = 100; - + G4double vmin=log(kmin); G4double vmax=log(kmax) ; G4int nn = (G4int)(nmax*(vmax-vmin)/(log(highKinEnergy)-vmin)) ; @@ -208,8 +235,8 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, for(G4int n=0; n<=nn; n++) { - v += dv; - u = exp(v); + v += dv; + u = exp(v); fac = u*SupressionFunction(material,kineticEnergy,u); fac *= probsup*(u*u/(u*u+kp2))+1.-probsup; if ((n==0)||(n==nn)) c=0.5; @@ -217,7 +244,7 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, fac *= c ; floss += fac ; } - floss *=dv/(kmax-kmin); + floss *=dv/(kmax-kmin); } else { floss = 1.; @@ -237,7 +264,7 @@ G4double G4eBremsstrahlungModel::ComputeDEDX(const G4Material* material, G4double G4eBremsstrahlungModel::ComputeBremLoss(G4double Z, G4double T, G4double Cut, G4double x) -// compute loss due to soft brems +// compute loss due to soft brems { static const G4double beta=1.0, ksi=2.0; static const G4double clossh = 0.254 , closslow = 1./3. , alosslow = 1. ; @@ -298,7 +325,7 @@ G4double G4eBremsstrahlungModel::ComputeBremLoss(G4double Z, G4double T, for (G4int ii=0; iiGetElementVector() ; const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - if(material != oldMaterial) { - oldMaterial = material; - ComputePartialSumSigma(material, 0.5*highKinEnergy, - G4std::min(cutEnergy, 0.25*highKinEnergy)); - } - for (size_t i=0; iGetNumberOfElements(); i++) { - + cross += theAtomNumDensityVector[i] * CrossSectionPerAtom(kineticEnergy, (*theElementVector)[i]->GetZ(), cut); if(tmax < kineticEnergy) { cross -= theAtomNumDensityVector[i] * CrossSectionPerAtom(kineticEnergy, (*theElementVector)[i]->GetZ(), tmax); } - } - + } + // now compute the correction due to the supression(s) G4double kmax = tmax; @@ -432,7 +453,7 @@ G4double G4eBremsstrahlungModel::CrossSection(const G4Material* material, // correct the cross section cross *= fsig; - + return cross; } @@ -513,7 +534,7 @@ G4double G4eBremsstrahlungModel::CrossSectionPerAtom(G4double kineticEnergy, G4double xx = log10(kineticEnergy) ; G4double fs = 1. ; - + if (xx <= xlim) { fs = coefsig[iz][Nsig-1] ; @@ -542,12 +563,12 @@ G4double G4eBremsstrahlungModel::CrossSectionPerAtom(G4double kineticEnergy, G4double G4eBremsstrahlungModel::PositronCorrFactorSigma( G4double Z, G4double kineticEnergy, G4double cut) - + //Calculates the correction factor for the total cross section of the positron bremsstrahl. // Eta is the ratio of positron to electron energy loss by bremstrahlung. // A parametrized formula from L. Urban is used to estimate eta. It is a fit to the results // of L. Kim & al: Phys Rev. A33,3002 (1986) - + { static const G4double K = 132.9416*eV; static const G4double a1 = 4.15e-1, a3 = 2.10e-3, a5 = 54.0e-5; @@ -562,58 +583,48 @@ G4double G4eBremsstrahlungModel::PositronCorrFactorSigma( G4double Z, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4eBremsstrahlungModel::ComputePartialSumSigma(const G4Material* material, - G4double kineticEnergy, - G4double cut) +G4DataVector* G4eBremsstrahlungModel::ComputePartialSumSigma( + const G4Material* material, + G4double kineticEnergy, + G4double cut) // Build the table of cross section per element. The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. +// This table is used by DoIt to select randomly an element in the material. { - size_t index = material->GetIndex(); G4int nElements = material->GetNumberOfElements(); - const G4ElementVector* theElementVector = material->GetElementVector(); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* theAtomNumDensityVector = material->GetAtomicNumDensityVector(); - G4DataVector* dv; - - if (index >= partialSumSigma.size()) { - - dv = new G4DataVector(); - partialSumSigma.push_back(dv); - - } else { - - dv = partialSumSigma[index]; - dv->clear(); - } + G4DataVector* dv = new G4DataVector(); G4double cross = 0.0; for (G4int i=0; iGetZ(), cut); dv->push_back(cross); } + return dv; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4eBremsstrahlungModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4eBremsstrahlungModel::SampleSecondary( + const G4MaterialCutsCouple* couple, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) // The emitted gamma energy is sampled using a parametrized formula from L. Urban. // This parametrization is derived from : // cross-section values of Seltzer and Berger for electron energies 1 keV - 10 GeV, // screened Bethe Heilter differential cross section above 10 GeV, -// Migdal corrections in both case. +// Migdal corrections in both case. // Seltzer & Berger: Nim B 12:95 (1985) // Nelson, Hirayama & Rogers: Technical report 265 SLAC (1985) // Migdal: Phys Rev 103:1811 (1956); Messel & Crawford: Pergamon Press (1970) -// -// A modified version of the random number techniques of Butcher & Messel is used +// +// A modified version of the random number techniques of Butcher & Messel is used // (Nuc Phys 20(1960),15). { G4double kineticEnergy = dp->GetKineticEnergy(); @@ -622,7 +633,7 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( // // GEANT4 internal units. -// +// static const G4double ah10 = 4.67733E+00, ah11 =-6.19012E-01, ah12 = 2.02225E-02, ah20 =-7.34101E+00, ah21 = 1.00462E+00, ah22 =-3.20985E-02, @@ -645,9 +656,10 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( G4double gammaEnergy; G4bool LPMOK = false; + const G4Material* material = couple->GetMaterial(); - // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(material); + // select randomly one element constituing the material + const G4Element* anElement = SelectRandomAtom(couple); // Extract Z factors for this Element G4double lnZ = 3.*(anElement->GetIonisation()->GetlogZ3()); @@ -676,7 +688,7 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( // do { - if (kineticEnergy > 1.*MeV) + if (kineticEnergy > 1.*MeV) { // parameters G4double ah1 = ah10 + ZZ* (ah11 + ZZ* ah12), @@ -700,12 +712,12 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( G4double F2 = G4std::max(ScreenFunction2(screenmin) - FZ ,0.); grejmax = (F1 - epsilmin* (F1*ah - bh*epsilmin*F2))/(42.392 - FZ); - // sample the energy rate of the emitted Gamma + // sample the energy rate of the emitted Gamma G4double screenvar; do { q = G4UniformRand(); - x = pow(xmin, q + kappa*(1.0 - q)); + x = pow(xmin, q + kappa*(1.0 - q)); epsil = x*kineticEnergy/totalEnergy; screenvar = screenfac*epsil/(1-epsil); F1 = G4std::max(ScreenFunction1(screenvar) - FZ ,0.); @@ -740,9 +752,9 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( // sample the energy rate of the emitted Gamma - do { + do { q = G4UniformRand(); - x = pow(xmin, q + kappa*(1.0 - q)); + x = pow(xmin, q + kappa*(1.0 - q)); migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); greject = migdal*(1. + x* (al + bl*x)); } while( greject < G4UniformRand()*grejmax ); @@ -779,20 +791,31 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( G4double theta = u*electron_mass_c2/totalEnergy; G4double sint = sin(theta); - - G4double phi = twopi * G4UniformRand() ; + + G4double phi = twopi * G4UniformRand() ; G4ThreeVector gammaDirection(sint*cos(phi),sint*sin(phi), cos(theta)); gammaDirection.rotateUz(momentum); - // create G4DynamicParticle object for the Gamma + // create G4DynamicParticle object for the Gamma G4DynamicParticle* g = new G4DynamicParticle(); g->SetDefinition(G4Gamma::Gamma()); g->SetKineticEnergy(gammaEnergy); g->SetMomentumDirection(gammaDirection); + return g; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4eBremsstrahlungModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* g = SampleSecondary(couple,dp,tmin,maxEnergy); vdp->push_back(g); return vdp; @@ -801,16 +824,17 @@ G4std::vector* G4eBremsstrahlungModel::SampleSecondary( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... const G4Element* G4eBremsstrahlungModel::SelectRandomAtom( - const G4Material* material) const + const G4MaterialCutsCouple* couple) const { // select randomly 1 element within the material + const G4Material* material = couple->GetMaterial(); G4int nElements = material->GetNumberOfElements(); const G4ElementVector* theElementVector = material->GetElementVector(); if(1 == nElements) return (*theElementVector)[0]; - else if(1 > nElements) return 0; + else if(1 > nElements) return 0; - G4DataVector* dv = partialSumSigma[material->GetIndex()]; + G4DataVector* dv = partialSumSigma[couple->GetIndex()]; G4double rval = G4UniformRand()*((*dv)[nElements-1]); for (G4int i=0; iSetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em, 0); - G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(100.0*TeV); + AddEmModel(1, em); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eIonisation.cc b/source/processes/electromagnetic/standard/src/G4eIonisation.cc index 61fbe9fa6b..f1a096b877 100644 --- a/source/processes/electromagnetic/standard/src/G4eIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4eIonisation.cc @@ -21,33 +21,37 @@ // ******************************************************************** // // -// $Id: G4eIonisation.cc,v 1.25 2002/04/09 17:34:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4eIonisation.cc,v 1.29 2003/04/26 11:38:12 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------- G4eIonisation physics process -------------------------------- -// by Laszlo Urban, 20 March 1997 +// by Laszlo Urban, 20 March 1997 //------------------------------------------------------------------------------ // -// 07-04-98 remove 'tracking cut' of the ionizing particle, mma +// 07-04-98 remove 'tracking cut' of the ionizing particle, mma // 04-09-98 new methods SetBining() PrintInfo() // 07-09-98 Cleanup // 02-02-99 correction inDoIt , L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 09-08-01 new methods Store/Retrieve PhysicsTable (mma) // 13-08-01 new function ComputeRestrictedMeandEdx() (mma) -// 17-09-01 migration of Materials to pure STL (mma) +// 17-09-01 migration of Materials to pure STL (mma) // 21-09-01 completion of RetrievePhysicsTable() (mma) // 29-10-01 all static functions no more inlined (mma) -// 07-11-01 particleMass and Charge become local variables +// 07-11-01 particleMass and Charge become local variables // 26-03-02 change access to cuts in BuildLossTables (V.Ivanchenko) +// 16-01-03 Migrade to cut per region (V.Ivanchenko) +// 08-04-03 finalRange is region aware (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) //------------------------------------------------------------------------------ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + #include "G4eIonisation.hh" #include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,7 +68,7 @@ G4eIonisation::G4eIonisation(const G4String& processName) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4eIonisation::~G4eIonisation() +G4eIonisation::~G4eIonisation() { if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} @@ -72,44 +76,44 @@ G4eIonisation::~G4eIonisation() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4eIonisation::SetLowerBoundLambda(G4double val) +void G4eIonisation::SetLowerBoundLambda(G4double val) {LowerBoundLambda = val;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation::SetUpperBoundLambda(G4double val) + +void G4eIonisation::SetUpperBoundLambda(G4double val) {UpperBoundLambda = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation::SetNbinLambda(G4int n) + +void G4eIonisation::SetNbinLambda(G4int n) {NbinLambda = n;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation::GetLowerBoundLambda() + +G4double G4eIonisation::GetLowerBoundLambda() {return LowerBoundLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation::GetUpperBoundLambda() + +G4double G4eIonisation::GetUpperBoundLambda() {return UpperBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4eIonisation::GetNbinLambda() + +G4int G4eIonisation::GetNbinLambda() {return NbinLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4eIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) -// just call BuildLossTable+BuildLambdaTable { - // get bining from EnergyLoss + if( !CutsWhereModified() && theLossTable) return; + LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); - + BuildLossTable(aParticleType); if (&aParticleType==G4Electron::Electron()) @@ -122,55 +126,42 @@ void G4eIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; CounterOfPositronProcess++; } - + BuildLambdaTable(aParticleType); - + BuildDEDXTable(aParticleType); - - if (&aParticleType==G4Electron::Electron()) PrintInfoDefinition(); + + if (&aParticleType==G4Electron::Electron()) PrintInfoDefinition(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4eIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) { -// Build tables of dE/dx due to the ionization process -// the tables are built for *MATERIALS* -// create table -// - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfMaterials); + if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - // get electron cuts in kinetic energy - // The electron cuts needed in the case of the positron , too! - // This is the reason why SetCut has to be called for electron first !! + // loop for materials + // + for (size_t J=0; JGetEnergyCuts() == 0) && - (&aParticleType == G4Positron::Positron())) - { - G4cout << " The ELECTRON energy cuts needed to compute energy loss" - " and mean free path; and for POSITRON, too. " << G4endl; - G4Exception(" Call SetCut for e- first !!"); - } - -// get DeltaCut in energy - G4double* DeltaCutInKineticEnergy = G4Electron::Electron()->GetEnergyCuts(); - -// loop for materials -// - for (G4int J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + // get electron cut in kinetic energy for the material + G4double DeltaThreshold = SecondaryEnergyThreshold(J); + // now comes the loop for the kinetic energy values // @@ -182,12 +173,12 @@ void G4eIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) DeltaThreshold); if(1 < verboseLevel) { G4cout << "Material= " << material->GetName() - << " E(MeV)= " << aVector->GetLowEdgeEnergy(i)/MeV - << " dEdx(MeV/mm)= " << dEdx*mm/MeV + << " E(MeV)= " << aVector->GetLowEdgeEnergy(i)/MeV + << " dEdx(MeV/mm)= " << dEdx*mm/MeV << G4endl; } aVector->PutValue(i,dEdx); - } + } theLossTable->insert(aVector); } } @@ -196,58 +187,49 @@ void G4eIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) void G4eIonisation::BuildLambdaTable(const G4ParticleDefinition& aParticleType) { - // Build mean free path tables for the delta ray production process - // tables are built for MATERIALS + + if(0 < verboseLevel) { + G4cout << "G4eIonisation::BuildLambdaTable() for process " + << GetProcessName() << " and particle " + << aParticleType.GetParticleName() << G4endl; + } //create table // - const G4MaterialTable* theMaterialTable=G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + if (theMeanFreePathTable) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - theMeanFreePathTable = new G4PhysicsTable(numOfMaterials); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - // get electron cuts in kinetic energy - // The electron cuts needed in the case of the positron , too! - // This is the reason why SetCut has to be called for electron first !! + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - if((G4Electron::Electron()->GetEnergyCuts() == 0) && - (&aParticleType == G4Positron::Positron())) - { - G4cout << " The ELECTRON energy cuts needed to compute energy loss" - " and mean free path; and for POSITRON, too. " << G4endl; - G4Exception(" Call SetCut for e- first !!"); - } - - G4double* DeltaCutInKineticEnergy = G4Electron::Electron()->GetEnergyCuts(); - - // loop for materials + // loop for materials - for (G4int J=0 ; J < numOfMaterials; J++) - { - //create physics vector then fill it .... + for (size_t J=0 ; J < numOfCouples; J++) + { - G4PhysicsLogVector* aVector = new G4PhysicsLogVector( + G4PhysicsLogVector* aVector = new G4PhysicsLogVector( LowerBoundLambda, UpperBoundLambda, NbinLambda); // compute the (macroscopic) cross section first - - const G4Material* material= (*theMaterialTable)[J]; - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - // get the electron kinetic energy cut for the actual material, - // it will be used in ComputeCrossSectionPerAtom - // (--> it will be the same for all the elements in this material ) - G4double DeltaThreshold = DeltaCutInKineticEnergy[J]; - - for (G4int i = 0 ; i < NbinLambda ; i++) + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + // get electron cut in kinetic energy for the material + G4double DeltaThreshold = SecondaryEnergyThreshold(J); + + const G4ElementVector* theElementVector = material->GetElementVector(); + const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); + G4int NumberOfElements = material->GetNumberOfElements(); + + for (G4int i = 0 ; i < NbinLambda ; i++) { G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double SIGMA = 0.; + G4double SIGMA = 0.; for (G4int iel=0; iel DBL_MIN ? 1./SIGMA : DBL_MAX; + G4double Value = SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; aVector->PutValue(i, Value); } theMeanFreePathTable->insert(aVector); @@ -276,8 +258,8 @@ G4double G4eIonisation::ComputeRestrictedMeandEdx ( // calculate the dE/dx due to the ionization process (Geant4 internal units) // Seltzer-Berger formula // - G4double particleMass = aParticleType.GetPDGMass(); - + G4double particleMass = aParticleType.GetPDGMass(); + G4double ElectronDensity = material->GetElectronDensity(); G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); Eexc /= particleMass; G4double Eexcm2 = Eexc*Eexc; @@ -292,13 +274,13 @@ G4double G4eIonisation::ComputeRestrictedMeandEdx ( G4double tau = KineticEnergy/particleMass; G4double gamma = tau + 1., gamma2 = gamma*gamma, bg2 = tau*(tau+2.); G4double beta2 = bg2/gamma2; - + G4double Tmax,d,dEdx; // electron if (&aParticleType==G4Electron::Electron()) { - Tmax = KineticEnergy/2.; + Tmax = KineticEnergy/2.; d = G4std::min(DeltaThreshold, Tmax)/particleMass; dEdx = log(2.*(tau+2.)/Eexcm2)-1.-beta2 + log((tau-d)*d)+tau/(tau-d) @@ -313,15 +295,15 @@ G4double G4eIonisation::ComputeRestrictedMeandEdx ( G4double y=1./(1.+gamma); dEdx = log(2.*(tau+2.)/Eexcm2)+log(tau*d) - beta2*(tau+2.*d-y*(3.*d2+y*(d-d3+y*(d2-tau*d3+d4))))/tau; - } + } - //density correction + //density correction G4double Cden = material->GetIonisation()->GetCdensity(); G4double Mden = material->GetIonisation()->GetMdensity(); G4double Aden = material->GetIonisation()->GetAdensity(); G4double X0den = material->GetIonisation()->GetX0density(); G4double X1den = material->GetIonisation()->GetX1density(); - + const G4double twoln10 = 2.*log(10.); G4double x = log(bg2)/twoln10; G4double delta; @@ -334,7 +316,7 @@ G4double G4eIonisation::ComputeRestrictedMeandEdx ( dEdx -= delta; dEdx *= twopi_mc2_rcl2*ElectronDensity/beta2; if (dEdx <= 0.) dEdx = 0.; - + // low energy ? const G4double Tl = 0.2*keV; if (Tsav > 0.) @@ -355,7 +337,7 @@ G4double G4eIonisation::ComputeCrossSectionPerAtom( { // calculates the cross section per atom (Geant4 internal units) //(it is called for elements , AtomicNumber = Z ) - + G4double particleMass = aParticleType.GetPDGMass(); G4double TotalEnergy = KineticEnergy + particleMass; @@ -369,41 +351,40 @@ G4double G4eIonisation::ComputeCrossSectionPerAtom( MaxKineticEnergyTransfer = 0.5*KineticEnergy; else MaxKineticEnergyTransfer = KineticEnergy; - // now you can calculate the total cross section - // - G4double TotalCrossSection = 0.; - if (MaxKineticEnergyTransfer > DeltaThreshold) - { - if (&aParticleType==G4Electron::Electron()) //Moller (e-e-) scattering - { - TotalCrossSection = (gamma-1.)*(gamma-1.)*(0.5-x)/gamma2 + 1./x - - 1./(1.-x)-(2.*gamma-1.)*log((1.-x)/x)/gamma2; - TotalCrossSection /= betasquare; - } - else //Bhabha (e+e-) scattering - { - G4double y=1./(1.+gamma), y2 =y*y, y12=1.-2.*y; - G4double b1=2.-y2, b2=y12*(3.+y2), b4=y12*y12*y12, b3=b4+y12*y12; - TotalCrossSection = (1./x-1.)/betasquare+b1*log(x)+b2*(1.-x) - - b3*(1.-x2)/2.+b4*(1.-x2*x)/3.; - } - TotalCrossSection *= (twopi_mc2_rcl2*AtomicNumber/KineticEnergy); - } + + G4double TotalCrossSection = 0.; + if (MaxKineticEnergyTransfer > DeltaThreshold) + { + if (&aParticleType==G4Electron::Electron()) //Moller (e-e-) scattering + { + TotalCrossSection = (gamma-1.)*(gamma-1.)*(0.5-x)/gamma2 + 1./x + - 1./(1.-x)-(2.*gamma-1.)*log((1.-x)/x)/gamma2; + TotalCrossSection /= betasquare; + } + else //Bhabha (e+e-) scattering + { + G4double y=1./(1.+gamma), y2 =y*y, y12=1.-2.*y; + G4double b1=2.-y2, b2=y12*(3.+y2), b4=y12*y12*y12, b3=b4+y12*y12; + TotalCrossSection = (1./x-1.)/betasquare+b1*log(x)+b2*(1.-x) + - b3*(1.-x2)/2.+b4*(1.-x2*x)/3.; + } + TotalCrossSection *= (twopi_mc2_rcl2*AtomicNumber/KineticEnergy); + } return TotalCrossSection ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, +G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, const G4Step& stepData) { aParticleChange.Initialize(trackData); - - G4Material* aMaterial = trackData.GetMaterial(); + + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double particleMass = aParticle->GetDefinition()->GetPDGMass(); - G4double Charge = aParticle->GetDefinition()->GetPDGCharge(); + G4double Charge = aParticle->GetDefinition()->GetPDGCharge(); G4double KineticEnergy = aParticle->GetKineticEnergy(); G4double TotalEnergy = KineticEnergy + particleMass; G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); @@ -411,15 +392,14 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); // get kinetic energy cut for the electron - G4double* DeltaCutInKineticEnergy = G4Electron::Electron()->GetEnergyCuts() ; - G4double DeltaThreshold = DeltaCutInKineticEnergy[aMaterial->GetIndex()]; + G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); // some kinematics G4double MaxKineticEnergyTransfer; if (Charge < 0.) MaxKineticEnergyTransfer = 0.5*KineticEnergy; else MaxKineticEnergyTransfer = KineticEnergy; - // sampling kinetic energy of the delta ray + // sampling kinetic energy of the delta ray if (MaxKineticEnergyTransfer <= DeltaThreshold) // pathological case (should not happen, there is no change at all) @@ -428,17 +408,17 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, // normal case G4double cc,y,y2,c2,b0,b1,b2,b3,b4,x,x1,grej,grejc; - + G4double tau = KineticEnergy/particleMass; G4double gamma = tau+1., gamma2=gamma*gamma; G4double xc = DeltaThreshold/KineticEnergy, xc1=1.-xc; if (Charge < 0.) // Moller (e-e-) scattering - { + { b1=4./(9.*gamma2-10.*gamma+5.); b2=tau*tau*b1; b3=(2.*gamma2+2.*gamma-1.)*b1; - cc=1.-2.*xc; - do { + cc=1.-2.*xc; + do { x = xc/(1.-cc*G4UniformRand()); x1 = 1.-x; grej = b2*x*x-b3*x/x1+b1*gamma2/(x1*x1); } while (G4UniformRand()>grej); @@ -455,7 +435,7 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, grej = ((((b4*x-b3)*x+b2)*x-b1)*x+b0)/grejc; } while (G4UniformRand()>grej); } - + G4double DeltaKineticEnergy = x * KineticEnergy; // protection :do not produce a secondary with 0. kinetic energy ! @@ -464,7 +444,7 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy*(DeltaKineticEnergy + 2.*electron_mass_c2 )); - + G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) /(DeltaTotalMomentum * TotalMomentum); @@ -473,7 +453,7 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, // direction of the delta electron - G4double phi = twopi * G4UniformRand(); + G4double phi = twopi * G4UniformRand(); G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; @@ -485,55 +465,55 @@ G4VParticleChange* G4eIonisation::PostStepDoIt( const G4Track& trackData, G4DynamicParticle* theDeltaRay = new G4DynamicParticle; theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); + DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); theDeltaRay->SetDefinition(G4Electron::Electron()); - - // fill aParticleChange + + // fill aParticleChange // changed energy and momentum of the actual particle G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; - + G4double Edep = 0.; if (finalKineticEnergy > MinKineticEnergy) { G4double finalPx = TotalMomentum*ParticleDirection.x() - - DeltaTotalMomentum*DeltaDirection.x(); + - DeltaTotalMomentum*DeltaDirection.x(); G4double finalPy = TotalMomentum*ParticleDirection.y() - - DeltaTotalMomentum*DeltaDirection.y(); + - DeltaTotalMomentum*DeltaDirection.y(); G4double finalPz = TotalMomentum*ParticleDirection.z() - - DeltaTotalMomentum*DeltaDirection.z(); + - DeltaTotalMomentum*DeltaDirection.z(); G4double finalMomentum = sqrt(finalPx*finalPx+finalPy*finalPy+finalPz*finalPz); finalPx /= finalMomentum; finalPy /= finalMomentum; - finalPz /= finalMomentum; + finalPz /= finalMomentum; aParticleChange.SetMomentumChange(finalPx, finalPy, finalPz); } else { Edep = finalKineticEnergy; - finalKineticEnergy = 0.; + finalKineticEnergy = 0.; if (Charge < 0.) aParticleChange.SetStatusChange(fStopAndKill); else aParticleChange.SetStatusChange(fStopButAlive); } - + aParticleChange.SetEnergyChange(finalKineticEnergy); - aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.SetNumberOfSecondaries(1); aParticleChange.AddSecondary(theDeltaRay); aParticleChange.SetLocalEnergyDeposit(Edep); - + return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4eIonisation::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String filename; - + // store stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ @@ -548,9 +528,9 @@ G4bool G4eIonisation::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " + + G4cout << GetProcessName() << " for " << particle->GetParticleName() + << ": Success to store the PhysicsTables in " << directory << G4endl; return true; } @@ -558,14 +538,14 @@ G4bool G4eIonisation::StorePhysicsTable(G4ParticleDefinition* particle, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4eIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; @@ -575,31 +555,36 @@ G4bool G4eIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); - + G4String filename; - + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + // retreive stopping power table filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theLossTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + if (particle==G4Electron::Electron()) { RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; @@ -610,14 +595,15 @@ G4bool G4eIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; CounterOfPositronProcess++; } - + BuildDEDXTable(*particle); - + if (particle==G4Electron::Electron()) PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4eIonisation::PrintInfoDefinition() { G4String comments = "delta cross sections from Moller+Bhabha. " @@ -628,7 +614,10 @@ void G4eIonisation::PrintInfoDefinition() << "\n PhysicsTables from " << G4BestUnit(LowerBoundLambda,"Energy") << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins. \n"; -} + << " in " << NbinLambda << " bins." + << "\n Step function: finalRange(mm)= " << finalRange + << ", dRoverRange= " << dRoverRange + << G4endl; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4eIonisationSTD.cc b/source/processes/electromagnetic/standard/src/G4eIonisationSTD.cc index aff0f1d57b..a96a7ef2aa 100644 --- a/source/processes/electromagnetic/standard/src/G4eIonisationSTD.cc +++ b/source/processes/electromagnetic/standard/src/G4eIonisationSTD.cc @@ -29,25 +29,28 @@ // File name: G4eIonisationSTD // // Author: Laszlo Urban -// +// // Creation date: 20.03.1997 // -// Modifications: +// Modifications: // -// 07-04-98 remove 'tracking cut' of the ionizing particle, mma +// 07-04-98 remove 'tracking cut' of the ionizing particle, mma // 04-09-98 new methods SetBining() PrintInfo() // 07-09-98 Cleanup // 02-02-99 correction inDoIt , L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation +// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation // 09-08-01 new methods Store/Retrieve PhysicsTable (mma) // 13-08-01 new function ComputeRestrictedMeandEdx() (mma) -// 17-09-01 migration of Materials to pure STL (mma) +// 17-09-01 migration of Materials to pure STL (mma) // 21-09-01 completion of RetrievePhysicsTable() (mma) // 29-10-01 all static functions no more inlined (mma) -// 07-11-01 particleMass and Charge become local variables +// 07-11-01 particleMass and Charge become local variables // 26-03-02 change access to cuts in BuildLossTables (V.Ivanchenko) // 30-04-02 V.Ivanchenko update to new design +// 23-12-02 Change interface in order to move to cut per region (VI) +// 26-12-02 Secondary production moved to derived classes (VI) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -62,9 +65,10 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4eIonisationSTD::G4eIonisationSTD(const G4String& name) +G4eIonisationSTD::G4eIonisationSTD(const G4String& name) : G4VEnergyLossSTD(name), theElectron(G4Electron::Electron()), + subCutoff(false), isElectron(true) { InitialiseProcess(); @@ -72,32 +76,31 @@ G4eIonisationSTD::G4eIonisationSTD(const G4String& name) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4eIonisationSTD::~G4eIonisationSTD() +G4eIonisationSTD::~G4eIonisationSTD() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4eIonisationSTD::InitialiseProcess() +void G4eIonisationSTD::InitialiseProcess() { SetSecondaryParticle(theElectron); - SetSubCutoffIsDesired(true); SetDEDXBinning(120); SetLambdaBinning(120); SetMinKinEnergy(0.1*keV); SetMaxKinEnergy(100.0*TeV); - G4VEmModel* em = new G4MollerBhabhaModel(); - em->SetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em, 0); G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + + G4VEmModel* em = new G4MollerBhabhaModel(); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(100.0*TeV); + AddEmModel(1, em, fm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -const G4ParticleDefinition* G4eIonisationSTD::DefineBaseParticle(const G4ParticleDefinition* p) +const G4ParticleDefinition* G4eIonisationSTD::DefineBaseParticle(const G4ParticleDefinition* p) { if(p == G4Positron::Positron()) isElectron = false; return 0; @@ -108,9 +111,16 @@ const G4ParticleDefinition* G4eIonisationSTD::DefineBaseParticle(const G4Particl void G4eIonisationSTD::PrintInfoDefinition() const { G4VEnergyLossSTD::PrintInfoDefinition(); - G4cout << " Delta cross sections from Moller+Bhabha, " - << "good description from 1 KeV to 100 GeV." + G4cout << " Delta cross sections from Moller+Bhabha, " + << "good description from 1 KeV to 100 GeV." << G4endl; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4eIonisationSTD::SetSubCutoff(G4bool val) +{ + subCutoff = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc b/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc index 484150d875..cd7ed42035 100644 --- a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc +++ b/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc @@ -22,7 +22,7 @@ // // // $Id: G4eplusAnnihilation.cc,v 1.14 2002/04/09 17:34:44 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4hIonisation.cc b/source/processes/electromagnetic/standard/src/G4hIonisation.cc index 8624204e54..6a5dae4618 100644 --- a/source/processes/electromagnetic/standard/src/G4hIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4hIonisation.cc @@ -21,11 +21,11 @@ // ******************************************************************** // // -// $Id: G4hIonisation.cc,v 1.31 2002/10/11 16:39:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4hIonisation.cc,v 1.43 2003/04/26 20:04:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //---------------- G4hIonisation physics process ------------------------------- -// by Laszlo Urban, 30 May 1997 +// by Laszlo Urban, 30 May 1997 //------------------------------------------------------------------------------ // // corrected by L.Urban on 24/09/97 @@ -35,7 +35,7 @@ // 02-02-99 bugs fixed , L.Urban // 29-07-99 correction in BuildLossTable for low energy, L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban -// 10-08-00 V.Ivanchenko change BuildLambdaTable, in order to +// 10-08-00 V.Ivanchenko change BuildLambdaTable, in order to // simulate energy losses of ions; correction to // cross section for particles with spin 1 is inserted as well // 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation @@ -48,7 +48,13 @@ // 08-11-01 Charge renamed zparticle; added to the dedx // 27-03-02 Bug fix in scaling of lambda table (V.Ivanchenko) // 09-04-02 Update calculation of tables for GenericIons (V.Ivanchenko) -// 10-06-02 bug fixed for stopping hadrons, V.Ivanchenko +// 10-06-02 bug fixed for stopping hadrons (V.Ivanchenko) +// 15-01-03 Migrade to cut per region (V.Ivanchenko) +// 10-03-03 Use SubType for GenericIons (V.Ivanchenko) +// 07-04-03 Fix problem of several runs (V.Ivanchenko) +// 08-04-03 finalRange is region aware (V.Ivanchenko) +// 17-04-03 fix problem of hadron tests (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) // //------------------------------------------------------------------------------ @@ -59,6 +65,7 @@ #include "G4ProcessManager.hh" #include "G4UnitsTable.hh" #include "G4EnergyLossTables.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -67,16 +74,18 @@ G4double G4hIonisation::UpperBoundLambda = 100.*TeV; G4int G4hIonisation::NbinLambda = 100; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + G4hIonisation::G4hIonisation(const G4String& processName) : G4VhEnergyLoss(processName), theMeanFreePathTable(0), Tmincut(1*keV) -{ } +{ + verboseLevel = 0; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4hIonisation::~G4hIonisation() + +G4hIonisation::~G4hIonisation() { if (theMeanFreePathTable) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} @@ -84,36 +93,36 @@ G4hIonisation::~G4hIonisation() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4hIonisation::SetLowerBoundLambda(G4double val) +void G4hIonisation::SetLowerBoundLambda(G4double val) {LowerBoundLambda = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation::SetUpperBoundLambda(G4double val) + +void G4hIonisation::SetUpperBoundLambda(G4double val) {UpperBoundLambda = val;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation::SetNbinLambda(G4int n) + +void G4hIonisation::SetNbinLambda(G4int n) {NbinLambda = n;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double G4hIonisation::GetLowerBoundLambda() +G4double G4hIonisation::GetLowerBoundLambda() {return LowerBoundLambda;} - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation::GetUpperBoundLambda() + +G4double G4hIonisation::GetUpperBoundLambda() {return UpperBoundLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4hIonisation::GetNbinLambda() + +G4int G4hIonisation::GetNbinLambda() {return NbinLambda;} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4hIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) // just call BuildLossTable+BuildLambdaTable { @@ -134,11 +143,12 @@ void G4hIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) } } - if(aParticleType.GetParticleType() == "nucleus" && + if(aParticleType.GetParticleType() == "nucleus" && aParticleType.GetParticleName() != "GenericIon" && - theMeanFreePathTable) { + aParticleType.GetParticleSubType() == "generic") + { - G4EnergyLossTables::Register(&aParticleType, + G4EnergyLossTables::Register(&aParticleType, theDEDXpTable, theRangepTable, theInverseRangepTable, @@ -151,43 +161,41 @@ void G4hIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) return; } - // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); const G4ParticleDefinition* theProton = G4Proton::Proton(); - - G4double* ElectronCutInRange = G4Electron::Electron()->GetLengthCuts(); + G4bool makeTables = false; if (aParticleType.GetPDGCharge() > 0.) { - if( !EqualCutVectors(ptableElectronCutInRange,ElectronCutInRange) - || (theDEDXpTable == NULL)) + if( CutsWhereModified() || !theDEDXpTable ) { BuildLossTable(*theProton); - RecorderOfpProcess[CounterOfpProcess] = theLossTable; - CounterOfpProcess++; + RecorderOfpProcess[0] = (*this).theLossTable; +// CounterOfpProcess++; + makeTables = true; } } else { - if( !EqualCutVectors(pbartableElectronCutInRange,ElectronCutInRange) - || (theDEDXpbarTable == NULL)) + if( CutsWhereModified() || !theDEDXpbarTable ) { BuildLossTable(*(G4AntiProton::AntiProton())) ; - RecorderOfpbarProcess[CounterOfpbarProcess] = theLossTable; - CounterOfpbarProcess++; + RecorderOfpProcess[0] = (*this).theLossTable; +// CounterOfpbarProcess++; + makeTables = true; } } - + BuildLambdaTable(aParticleType); - BuildDEDXTable(aParticleType); + if( makeTables ) BuildDEDXTable(aParticleType); if(2 < verboseLevel) { - G4cout << "MeanFreePathTable is built for " - << aParticleType.GetParticleName() << G4endl; + G4cout << "MeanFreePathTable is built for " + << aParticleType.GetParticleName() << G4endl; G4cout << (*theMeanFreePathTable) << G4endl; } @@ -200,44 +208,46 @@ void G4hIonisation::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) void G4hIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) { - // Build tables of dE/dx due to the ionization process - // the tables are built for *MATERIALS* + if(0 < verboseLevel) { + G4cout << "G4hIonisation::BuildLossTable() for process " + << GetProcessName() << " and particle " + << aParticleType.GetParticleName() << G4endl; + } - // create table - // - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfMaterials); - - // get delta cut in energy - G4double* DeltaCutInKinEnergy = (G4Electron::Electron())->GetEnergyCuts(); - - // loop for materials - // - for (G4int J=0; JclearAndDestroy(); delete theLossTable;} + theLossTable = new G4PhysicsTable(numOfCouples); - // now comes the loop for the kinetic energy values + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + + // loop for materials // - for (G4int i = 0 ; i < TotBin ; i++) - { + for (size_t J=0; JGetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + // get electron cut in kinetic energy for the material + G4double DeltaThreshold = SecondaryEnergyThreshold(J); + + // now comes the loop for the kinetic energy values + // + for (G4int i = 0 ; i < TotBin ; i++) + { G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, aVector->GetLowEdgeEnergy(i), material, DeltaThreshold); aVector->PutValue(i,dEdx); - } - theLossTable->insert(aVector); + } + theLossTable->insert(aVector); } } @@ -245,49 +255,46 @@ void G4hIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType) void G4hIonisation::BuildLambdaTable(const G4ParticleDefinition& aParticleType) { - // Build mean free path tables for the delta ray production process - // tables are built for MATERIALS if(0 < verboseLevel) { - G4cout << "G4hIonisation::BuildLambdaTable() for process " - << GetProcessName() << " and particle " + G4cout << "G4hIonisation::BuildLambdaTable() for process " + << GetProcessName() << " and particle " << aParticleType.GetParticleName() << G4endl; } - - //create table - // - - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - if (theMeanFreePathTable) - {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} + //create table + // + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - theMeanFreePathTable = new G4PhysicsTable(numOfMaterials); + if (theMeanFreePathTable) + {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - // get electron cut in kinetic energy - G4double* DeltaCutInKinEnergy = (G4Electron::Electron())->GetEnergyCuts(); - - // loop for materials + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - for (G4int J=0 ; J < numOfMaterials; J++) - { + // get electron cut in kinetic energy + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + + // loop for materials + + for (size_t J=0 ; J < numOfCouples; J++) + { //create physics vector then fill it .... G4PhysicsLogVector* aVector = new G4PhysicsLogVector( LowerBoundLambda,UpperBoundLambda,NbinLambda); // compute the (macroscopic) cross section first - - const G4Material* material= (*theMaterialTable)[J]; + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); + const G4Material* material= couple->GetMaterial(); + + // get electron cut in kinetic energy for the material + G4double DeltaThreshold = SecondaryEnergyThreshold(J); + const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); G4int NumberOfElements = material->GetNumberOfElements(); - - // get the electron kinetic energy cut for the actual material, - // it will be used in ComputeCrossSectionPerAtom - // ( --> it will be the same for all the elements in this material) - G4double DeltaThreshold =G4std::max(DeltaCutInKinEnergy[J],Tmincut); - + if(1 < verboseLevel) { G4cout << "### For material " << material->GetName() << " Tcut(MeV)= " << DeltaThreshold/MeV @@ -301,7 +308,7 @@ void G4hIonisation::BuildLambdaTable(const G4ParticleDefinition& aParticleType) for ( G4int i = 0 ; i < NbinLambda ; i++ ) { G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double sigma = 0.; + G4double sigma = 0.; for (G4int iel=0; iel DBL_MIN ? 1./sigma : DBL_MAX; + G4double Value = sigma > DBL_MIN ? 1./sigma : DBL_MAX; aVector->PutValue(i, Value) ; } theMeanFreePathTable->insert(aVector); @@ -327,48 +334,48 @@ G4double G4hIonisation::ComputeRestrictedMeandEdx ( const G4Material* material, G4double DeltaThreshold) { - // calculate the dE/dx due to the ionization process (Geant4 internal units) - // Bethe-Bloch formula - // - G4double particleMass = proton_mass_c2; - - G4double ElectronDensity = material->GetElectronDensity(); - G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); - G4double Eexc2 = Eexc*Eexc; - - G4double tau = KineticEnergy/particleMass; - G4double gamma = tau + 1., bg2 = tau*(tau+2.), beta2 = bg2/(gamma*gamma); - G4double RateMass = electron_mass_c2/particleMass; - G4double Tmax=2.*electron_mass_c2*bg2/(1.+2.*gamma*RateMass+RateMass*RateMass); + // calculate the dE/dx due to the ionization process (Geant4 internal units) + // Bethe-Bloch formula + // + G4double particleMass = proton_mass_c2; - G4double taul = material->GetIonisation()->GetTaul(); + G4double ElectronDensity = material->GetElectronDensity(); + G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); + G4double Eexc2 = Eexc*Eexc; - G4double dEdx = 0.; - // - // high energy part , Bethe-Bloch formula - // - if (tau > taul) - { + G4double tau = KineticEnergy/particleMass; + G4double gamma = tau + 1., bg2 = tau*(tau+2.), beta2 = bg2/(gamma*gamma); + G4double RateMass = electron_mass_c2/particleMass; + G4double Tmax=2.*electron_mass_c2*bg2/(1.+2.*gamma*RateMass+RateMass*RateMass); + + G4double taul = material->GetIonisation()->GetTaul(); + + G4double dEdx = 0.; + // + // high energy part , Bethe-Bloch formula + // + if (tau > taul) + { G4double rcut = G4std::min(DeltaThreshold/Tmax, 1.); dEdx = log(2.*electron_mass_c2*bg2*Tmax/Eexc2) +log(rcut)-(1.+rcut)*beta2; - - //density correction + + //density correction G4double Cden = material->GetIonisation()->GetCdensity(); G4double Mden = material->GetIonisation()->GetMdensity(); G4double Aden = material->GetIonisation()->GetAdensity(); G4double X0den = material->GetIonisation()->GetX0density(); G4double X1den = material->GetIonisation()->GetX1density(); - - const G4double twoln10 = 2.*log(10.); + + const G4double twoln10 = 2.*log(10.); G4double x = log(bg2)/twoln10; G4double delta; if (x < X0den) delta = 0.; else {delta = twoln10*x - Cden; if (x < X1den) delta += Aden*pow((X1den-x),Mden); - } + } - // shell correction + // shell correction G4double* ShellCorrectionVector = material->GetIonisation()-> GetShellCorrectionVector(); const G4double bg2lim = 0.0169, taulim = 8.4146e-3; @@ -377,7 +384,7 @@ G4double G4hIonisation::ComputeRestrictedMeandEdx ( {xs *= bg2; sh += ShellCorrectionVector[k]/xs;} else { for (G4int k=0; k<3; k++) {xs *= bg2lim; sh += ShellCorrectionVector[k]/xs;} - sh *= log(tau/taul)/log(taulim/taul); + sh *= log(tau/taul)/log(taulim/taul); } // now you can compute the total ionization loss @@ -385,22 +392,22 @@ G4double G4hIonisation::ComputeRestrictedMeandEdx ( dEdx *= twopi_mc2_rcl2*ElectronDensity/beta2; if (dEdx < 0.) dEdx = 0.; } - // - // low energy part , parametrized energy loss formulae - // - if (tau <= taul) - { - // get elements in the actual material, + // + // low energy part , parametrized energy loss formulae + // + if (tau <= taul) + { + // get elements in the actual material, const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume=material->GetVecNbOfAtomsPerVolume(); G4int NumberOfElements = material->GetNumberOfElements(); - + // loop for the elements in the material dEdx = 0.; for (G4int iel=0; ielGetIonisation()->GetTau0()) + const G4Element* element = (*theElementVector)[iel]; + if (tau < element->GetIonisation()->GetTau0()) dEdx += NbOfAtomsPerVolume[iel] *(element->GetIonisation()->GetAlow()*sqrt(tau) + element->GetIonisation()->GetBlow()*tau); @@ -412,7 +419,7 @@ G4double G4hIonisation::ComputeRestrictedMeandEdx ( if (DeltaThreshold < Tmax) { deltaloss = log(Tmax/DeltaThreshold)- - beta2*(1.-DeltaThreshold/Tmax) ; + beta2*(1.-DeltaThreshold/Tmax) ; if (aParticleType.GetPDGSpin() == 0.5) deltaloss += 0.25*(Tmax-DeltaThreshold)*(Tmax-DeltaThreshold)/ (KineticEnergy*KineticEnergy+proton_mass_c2*proton_mass_c2); @@ -432,25 +439,25 @@ G4double G4hIonisation::ComputeCrossSectionPerAtom( G4double AtomicNumber, G4double DeltaThreshold) { - // calculates the totalcross section per atom in GEANT4 internal units - // ( it is called for elements , AtomicNumber = Z ) - // - // nb: cross section formula is OK for spin=0 and 1/2 only ! - - initialMass = aParticleType.GetPDGMass(); - G4double particleMass = initialMass; - - G4double TotalEnergy = KineticEnergy + particleMass; + // calculates the totalcross section per atom in GEANT4 internal units + // ( it is called for elements , AtomicNumber = Z ) + // + // nb: cross section formula is OK for spin=0 and 1/2 only ! - G4double betasquare = KineticEnergy*(TotalEnergy+particleMass) + initialMass = aParticleType.GetPDGMass(); + G4double particleMass = initialMass; + + G4double TotalEnergy = KineticEnergy + particleMass; + + G4double betasquare = KineticEnergy*(TotalEnergy+particleMass) /(TotalEnergy*TotalEnergy); - G4double tempvar = particleMass+electron_mass_c2; - G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*KineticEnergy + G4double tempvar = particleMass+electron_mass_c2; + G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*KineticEnergy *(TotalEnergy+particleMass) /(tempvar*tempvar+2.*electron_mass_c2*KineticEnergy); - G4double TotalCrossSection = 0.; - if (MaxKineticEnergyTransfer > DeltaThreshold) + G4double TotalCrossSection = 0.; + if (MaxKineticEnergyTransfer > DeltaThreshold) { tempvar = DeltaThreshold/MaxKineticEnergyTransfer; TotalCrossSection = (1.-tempvar*(1.-betasquare*log(tempvar))) @@ -460,100 +467,99 @@ G4double G4hIonisation::ComputeCrossSectionPerAtom( if (spin == 0.5) TotalCrossSection += 0.5 *(MaxKineticEnergyTransfer-DeltaThreshold) /(TotalEnergy*TotalEnergy); - if (spin == 1.) TotalCrossSection += + if (spin == 1.) TotalCrossSection += -log(tempvar)/(3.0*DeltaThreshold) + - (MaxKineticEnergyTransfer - DeltaThreshold) * - ((5.0+ 1.0/tempvar)*0.25 / (TotalEnergy*TotalEnergy) - - betasquare / + (MaxKineticEnergyTransfer - DeltaThreshold) * + ((5.0+ 1.0/tempvar)*0.25 / (TotalEnergy*TotalEnergy) - + betasquare / (MaxKineticEnergyTransfer * DeltaThreshold)) / 3.0; - + TotalCrossSection *= twopi_mc2_rcl2*AtomicNumber/betasquare; } return TotalCrossSection; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* G4hIonisation::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) +G4VParticleChange* G4hIonisation::PostStepDoIt(const G4Track& trackData, + const G4Step& stepData) { - aParticleChange.Initialize(trackData); - - G4Material* aMaterial = trackData.GetMaterial(); - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); + aParticleChange.Initialize(trackData); - G4double particleMass = aParticle->GetMass(); - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); - G4double Esquare = TotalEnergy*TotalEnergy; - G4double betasquare=Psquare/Esquare; - G4double summass = particleMass + electron_mass_c2; - G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*Psquare + const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); + const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); + + G4double particleMass = aParticle->GetMass(); + G4double KineticEnergy = aParticle->GetKineticEnergy(); + G4double TotalEnergy = KineticEnergy + particleMass; + G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); + G4double Esquare = TotalEnergy*TotalEnergy; + G4double betasquare=Psquare/Esquare; + G4double summass = particleMass + electron_mass_c2; + G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*Psquare /(summass*summass+2.*electron_mass_c2*KineticEnergy); - G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - // get electron cut in kinetic energy - G4double* DeltaCutInKinEnergy = (G4Electron::Electron())->GetEnergyCuts(); - G4double DeltaThreshold = - G4std::max(DeltaCutInKinEnergy[aMaterial->GetIndex()],Tmincut); + G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - // sampling kinetic energy of the delta ray - // + // get electron cut in kinetic energy + + G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); + + // sampling kinetic energy of the delta ray + // if (MaxKineticEnergyTransfer <= DeltaThreshold) // pathological case (it should not happen, there is no change at all) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - // normal case - G4double xc = DeltaThreshold/MaxKineticEnergyTransfer; - G4double rate = MaxKineticEnergyTransfer/TotalEnergy; - G4double te2 = 0.; - if (aParticle->GetDefinition()->GetPDGSpin() == 0.5) te2=0.5*rate*rate; - - // sampling follows ... - G4double x,grej; - G4double grejc=1.-betasquare*xc+te2*xc*xc; - do { x=xc/(1.-(1.-xc)*G4UniformRand()); - grej=(1.-x*(betasquare-x*te2))/grejc; - } while(G4UniformRand() > grej); - - G4double DeltaKineticEnergy = x * MaxKineticEnergyTransfer; + // normal case + G4double xc = DeltaThreshold/MaxKineticEnergyTransfer; + G4double rate = MaxKineticEnergyTransfer/TotalEnergy; + G4double te2 = 0.; + if (aParticle->GetDefinition()->GetPDGSpin() == 0.5) te2=0.5*rate*rate; - if (DeltaKineticEnergy <= 0.) + // sampling follows ... + G4double x,grej; + G4double grejc=1.-betasquare*xc+te2*xc*xc; + do { x=xc/(1.-(1.-xc)*G4UniformRand()); + grej=(1.-x*(betasquare-x*te2))/grejc; + } while(G4UniformRand() > grej); + + G4double DeltaKineticEnergy = x * MaxKineticEnergyTransfer; + + if (DeltaKineticEnergy <= 0.) return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy * (DeltaKineticEnergy + + G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy * (DeltaKineticEnergy + 2. * electron_mass_c2 )); - G4double TotalMomentum = sqrt(Psquare); - G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) + G4double TotalMomentum = sqrt(Psquare); + G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) /(DeltaTotalMomentum * TotalMomentum); - if (costheta < -1.) costheta = -1.; - if (costheta > +1.) costheta = +1.; + if (costheta < -1.) costheta = -1.; + if (costheta > +1.) costheta = +1.; - // direction of the delta electron - // - G4double phi = twopi*G4UniformRand(); - G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); - G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; + // direction of the delta electron + // + G4double phi = twopi*G4UniformRand(); + G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); + G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; - G4ThreeVector DeltaDirection(dirx,diry,dirz); - DeltaDirection.rotateUz(ParticleDirection); + G4ThreeVector DeltaDirection(dirx,diry,dirz); + DeltaDirection.rotateUz(ParticleDirection); - // create G4DynamicParticle object for delta ray - // - G4DynamicParticle *theDeltaRay = new G4DynamicParticle; - theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); - theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); - theDeltaRay->SetDefinition(G4Electron::Electron()); + // create G4DynamicParticle object for delta ray + // + G4DynamicParticle *theDeltaRay = new G4DynamicParticle; + theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); + theDeltaRay->SetMomentumDirection( + DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); + theDeltaRay->SetDefinition(G4Electron::Electron()); - // fill aParticleChange - // - G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; - G4double Edep = 0; + // fill aParticleChange + // + G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; + G4double Edep = 0; - if (finalKineticEnergy > MinKineticEnergy) + if (finalKineticEnergy > MinKineticEnergy) { G4double finalPx = TotalMomentum*ParticleDirection.x() - DeltaTotalMomentum*DeltaDirection.x(); @@ -569,7 +575,7 @@ G4VParticleChange* G4hIonisation::PostStepDoIt(const G4Track& trackData, aParticleChange.SetMomentumChange( finalPx,finalPy,finalPz ); } - else + else { Edep = finalKineticEnergy; finalKineticEnergy = 0.; @@ -578,33 +584,34 @@ G4VParticleChange* G4hIonisation::PostStepDoIt(const G4Track& trackData, else aParticleChange.SetStatusChange(fStopButAlive); } - aParticleChange.SetEnergyChange( finalKineticEnergy ); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(theDeltaRay); - aParticleChange.SetLocalEnergyDeposit (Edep); - - //ResetNumberOfInteractionLengthLeft(); -return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); + aParticleChange.SetEnergyChange( finalKineticEnergy ); + aParticleChange.SetNumberOfSecondaries(1); + aParticleChange.AddSecondary(theDeltaRay); + aParticleChange.SetLocalEnergyDeposit (Edep); + + //ResetNumberOfInteractionLengthLeft(); + return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4hIonisation::StorePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { G4String particleName = particle->GetParticleName(); G4String filename; - + // store stopping power table - if ((particleName == "proton")||(particleName == "anti_proton")){ - filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theLossTable->StorePhysicsTable in " << filename - << G4endl; - return false; - }} - + if ((particleName == "proton")||(particleName == "anti_proton")) { + filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); + if ( !theLossTable->StorePhysicsTable(filename, ascii) ){ + G4cout << " FAIL theLossTable->StorePhysicsTable in " << filename + << G4endl; + return false; + } + } + // store mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); if ( !theMeanFreePathTable->StorePhysicsTable(filename, ascii) ){ @@ -612,9 +619,9 @@ G4bool G4hIonisation::StorePhysicsTable(G4ParticleDefinition* particle, << G4endl; return false; } - - G4cout << GetProcessName() << " for " << particleName - << ": Success to store the PhysicsTables in " + + G4cout << GetProcessName() << " for " << particleName + << ": Success to store the PhysicsTables in " << directory << G4endl; return true; } @@ -622,61 +629,86 @@ G4bool G4hIonisation::StorePhysicsTable(G4ParticleDefinition* particle, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4bool G4hIonisation::RetrievePhysicsTable(G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { + + G4String particleName = particle->GetParticleName(); + if(particle->GetParticleType() == "nucleus" && + particleName != "GenericIon" && + particle->GetParticleSubType() == "generic") + { + + G4EnergyLossTables::Register(particle, + theDEDXpTable, + theRangepTable, + theInverseRangepTable, + theLabTimepTable, + theProperTimepTable, + LowestKineticEnergy, HighestKineticEnergy, + proton_mass_c2/particle->GetPDGMass(), + TotBin); + + return true; + } + // delete theLossTable and theMeanFreePathTable if (theLossTable != 0) { theLossTable->clearAndDestroy(); - delete theLossTable; - } + delete theLossTable; + } if (theMeanFreePathTable != 0) { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable; } - + // get bining from EnergyLoss LowestKineticEnergy = GetLowerBoundEloss(); HighestKineticEnergy = GetUpperBoundEloss(); TotBin = GetNbinEloss(); - - G4String particleName = particle->GetParticleName(); + G4String filename; - - // retreive stopping power table - if ((particleName == "proton")||(particleName == "anti_proton")){ - filename = GetPhysicsTableFileName(particle,directory,"StoppingPower",ascii); - theLossTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); + + G4double charge = particle->GetPDGCharge()/eplus; + G4ParticleDefinition* basep = G4Proton::Proton(); + if(charge < 0.0) basep = G4AntiProton::AntiProton(); + filename = GetPhysicsTableFileName(basep,directory,"StoppingPower",ascii); + + theLossTable = new G4PhysicsTable(numOfCouples); if ( !theLossTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theLossTable0->RetrievePhysicsTable in " << filename - << G4endl; - return false; + G4cout << " FAIL theLossTable0->RetrievePhysicsTable in " << filename + << G4endl; + BuildPhysicsTable(*particle); + return true; } - if (particleName == "proton") - RecorderOfpProcess[CounterOfpProcess++] = theLossTable; - if (particleName == "anti_proton") - RecorderOfpbarProcess[CounterOfpbarProcess++] = theLossTable; - } - + RecorderOfpProcess[0] = (*this).theLossTable; + // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); + theMeanFreePathTable = new G4PhysicsTable(numOfCouples); if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } + initialMass = particle->GetPDGMass(); - G4cout << GetProcessName() << " for " << particleName + G4cout << GetProcessName() << " for " << particleName << ": Success to retrieve the PhysicsTables from " << directory << G4endl; - + BuildDEDXTable(*particle); - + if (particle == G4Proton::Proton()) PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void G4hIonisation::PrintInfoDefinition() @@ -689,7 +721,10 @@ void G4hIonisation::PrintInfoDefinition() << "\n PhysicsTables from " << G4BestUnit(LowestKineticEnergy, "Energy") << " to " << G4BestUnit(HighestKineticEnergy,"Energy") - << " in " << TotBin << " bins. \n"; + << " in " << TotBin << " bins. " + << "\n Step function: finalRange(mm)= " << finalRange + << ", dRoverRange= " << dRoverRange + << G4endl; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4hIonisationSTD.cc b/source/processes/electromagnetic/standard/src/G4hIonisationSTD.cc index 6fb27a5427..9c0a56567f 100644 --- a/source/processes/electromagnetic/standard/src/G4hIonisationSTD.cc +++ b/source/processes/electromagnetic/standard/src/G4hIonisationSTD.cc @@ -41,7 +41,7 @@ // 02-02-99 bugs fixed , L.Urban // 29-07-99 correction in BuildLossTable for low energy, L.Urban // 10-02-00 modifications , new e.m. structure, L.Urban -// 10-08-00 V.Ivanchenko change BuildLambdaTable, in order to +// 10-08-00 V.Ivanchenko change BuildLambdaTable, in order to // simulate energy losses of ions; correction to // cross section for particles with spin 1 is inserted as well // 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation @@ -56,6 +56,9 @@ // 09-04-02 Update calculation of tables for GenericIons (V.Ivanchenko) // 30-04-02 V.Ivanchenko update to new design // 04-12-02 Add verbose level definition (VI) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -73,25 +76,25 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4hIonisationSTD::G4hIonisationSTD(const G4String& name) +G4hIonisationSTD::G4hIonisationSTD(const G4String& name) : G4VEnergyLossSTD(name), theParticle(0), - theBaseParticle(0) + theBaseParticle(0), + subCutoff(false) { InitialiseProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4hIonisationSTD::~G4hIonisationSTD() +G4hIonisationSTD::~G4hIonisationSTD() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4hIonisationSTD::InitialiseProcess() +void G4hIonisationSTD::InitialiseProcess() { SetSecondaryParticle(G4Electron::Electron()); - SetSubCutoffIsDesired(true); SetDEDXBinning(120); SetLambdaBinning(120); @@ -99,15 +102,16 @@ void G4hIonisationSTD::InitialiseProcess() SetMaxKinEnergy(100.0*TeV); G4VEmModel* em = new G4BraggModel(); - em->SetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 2.0*MeV); - AddEmModel(em, 0); - G4VEmModel* em1 = new G4BetheBlochModel(); - em1->SetLowEnergyLimit(0, 2.0*MeV); - em1->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em1, 1); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(2.0*MeV); + G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); + + AddEmModel(1, em, fm); + G4VEmModel* em1 = new G4BetheBlochModel(); + em1->SetLowEnergyLimit(2.0*MeV); + em1->SetHighEnergyLimit(100.0*TeV); + AddEmModel(2, em1, fm); mass = 0.0; ratio = 0.0; @@ -137,8 +141,12 @@ void G4hIonisationSTD::PrintInfoDefinition() const << G4endl; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4hIonisationSTD::SetSubCutoff(G4bool val) +{ + subCutoff = val; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc index 47767c5af8..592b1d1a66 100644 --- a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc @@ -29,10 +29,15 @@ // File name: G4ionIonisation // // Author: Vladimir Ivanchenko -// +// // Creation date: 07.05.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko) +// 18-04-03 Use IonFluctuations (V.Ivanchenko) // // // ------------------------------------------------------------------- @@ -41,53 +46,54 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4ionIonisation.hh" -#include "G4LossTableManager.hh" #include "G4Electron.hh" #include "G4Proton.hh" #include "G4AntiProton.hh" #include "G4BraggModel.hh" #include "G4BetheBlochModel.hh" -#include "G4UniversalFluctuation.hh" +#include "G4IonFluctuations.hh" #include "G4UnitsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4ionIonisation::G4ionIonisation(const G4String& name) +G4ionIonisation::G4ionIonisation(const G4String& name) : G4VEnergyLossSTD(name), theParticle(0), - theBaseParticle(G4Proton::Proton()) + theBaseParticle(G4Proton::Proton()), + subCutoff(false) { InitialiseProcess(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4ionIonisation::~G4ionIonisation() +G4ionIonisation::~G4ionIonisation() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4ionIonisation::InitialiseProcess() +void G4ionIonisation::InitialiseProcess() { + SetVerboseLevel(0); + SetSecondaryParticle(G4Electron::Electron()); - SetSubCutoffIsDesired(true); SetDEDXBinning(120); SetLambdaBinning(120); SetMinKinEnergy(0.1*keV); SetMaxKinEnergy(100.0*TeV); - G4VEmModel* em = new G4BraggModel(); - em->SetLowEnergyLimit(0, 0.1*keV); - em->SetHighEnergyLimit(0, 2.0*MeV); - AddEmModel(em, 0); - G4VEmModel* em1 = new G4BetheBlochModel(); - em1->SetLowEnergyLimit(0, 2.0*MeV); - em1->SetHighEnergyLimit(0, 100.0*TeV); - AddEmModel(em1, 1); + G4VEmFluctuationModel* fm = new G4IonFluctuations(); + + G4VEmModel* em = new G4BraggModel(); + em->SetLowEnergyLimit(0.1*keV); + em->SetHighEnergyLimit(2.0*MeV); + AddEmModel(1, em, fm); + G4VEmModel* em1 = new G4BetheBlochModel(); + em1->SetLowEnergyLimit(2.0*MeV); + em1->SetHighEnergyLimit(100.0*TeV); + AddEmModel(2, em1, fm); - G4VEmFluctuationModel* fm = new G4UniversalFluctuation(); - AddEmFluctuationModel(fm); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -105,12 +111,19 @@ void G4ionIonisation::PrintInfoDefinition() const { G4VEnergyLossSTD::PrintInfoDefinition(); - G4cout << " Scaling relation is used to proton dE/dx and range" - << G4endl + G4cout << " Scaling relation is used to proton dE/dx and range" + << G4endl << " Bether-Bloch model for Escaled > 2 MeV, " << "parametrisation of Bragg peak below." << G4endl; } +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4ionIonisation::SetSubCutoff(G4bool val) +{ + subCutoff = val; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/History b/source/processes/electromagnetic/utils/History index f0f3929891..493cc470f4 100644 --- a/source/processes/electromagnetic/utils/History +++ b/source/processes/electromagnetic/utils/History @@ -1,4 +1,4 @@ -$Id: History,v 1.67 2002/12/13 11:15:01 gcosmo Exp $ +$Id: History,v 1.93 2003/04/28 15:33:28 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,86 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28 Apr 03: V.Ivant (utils-V05-00-13) +- add control on range for msc (effective for ions) + +26 Apr 03: V.Ivant (utils-V05-00-12) +- fix of store/retrieve tables for msc and STD +- cleanup Bohr and Ion fluctuations + +17 Apr 03: V.Ivant (utils-V05-00-11) +- additional clean up of msc variables +- improve output + +13 Apr 03: V.Ivant (utils-V05-00-10) +- Add additional initialisation msc variables +- Add interface between standard and STD tables + +09 Apr 03: V.Ivant (utils-V05-00-09) +- Fix problem of negative step limit for STD + +07 Apr 03: V.Ivant (utils-V05-00-08) +- Add DeRegister to STD loss classes +- Add G4VMultipleScattering +- Remove STD messenger + +26 Mar 03: V.Ivant (utils-V05-00-07) +- Add GetDEDXDispersion to STD loss tables + +25 Mar 03: mma +- G4VEnergyLoss : add finalRangeRequested + +12 Mar 03: V.Ivant (utils-V05-00-06) +- Add warning and G4Exception to G4EnergyLossTable +- Fix in MSC cut per region +- Fix in initialisation for STD +- Make messanger active at PreInit + +10 Mar 03: V.Ivant (utils-V05-00-05) +- Updated MSC +- SubType for GenericIons +- Fix in energy range of models for STD + +26 feb 03: V.Ivant (utils-V05-00-04a) +- For the February reference tag return back msc of 5.0 +- Simplify control on GenericIons for STD + +18 feb 03: V.Ivant (utils-V05-00-04) +- add control on CutsCouple usage +- utilise SubType for GenericIons +- fix problems with lambda and range tables for STD hadrons/ions +- fix problem of several runs with changed cuts/couples for STD + +13 feb 03: V.Ivant +- add names for all models +- make the set of model per region available +- make SubCutoff regime available per region + +10 feb 03: mma (utils-V05-00-03) +- tag to take account the Laszlo + Vladimir modifs + +07 feb 03: V.Ivant +- fix problem in fluctuations for STD + +06 feb 03: L.Urban +- important modifications in MSC (both in old design and model + version) + - changes in data members + - algorithm to reduce the step dependence is new + - new sampling for the geom.pathlengths + +05 feb 03: V.Ivant (utils-V05-00-02) +- Fix on warnings at SUN for STD classes +- Add Initialise method to STD classes to calculate PartialSumSigma +- Subsitute Material by MaterialCutsCouple for PostStep STD + +24 jan 03: V.Ivant (utils-V05-00-01) +- Migration to "cut per region" + +06 jan 03: V.Ivant (utils-V05-00-00) +- Update interfaces to STD classes in order to be ready to migrade + to "cut per region" + 12 dec 02: V.Ivant (utils-V04-01-12) - Fix in multiple scattering for 1 MeV protons in both implementations. diff --git a/source/processes/electromagnetic/utils/include/G4BetheBlochModel.hh b/source/processes/electromagnetic/utils/include/G4BetheBlochModel.hh index 7af30d70b1..4ccc547a7f 100644 --- a/source/processes/electromagnetic/utils/include/G4BetheBlochModel.hh +++ b/source/processes/electromagnetic/utils/include/G4BetheBlochModel.hh @@ -29,13 +29,17 @@ // File name: G4BetheBlochModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 V.Ivanchenko change interface in order to moveto cut per region +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // -// Class Description: +// Class Description: // // Implementation of Bethe-Bloch model of energy loss and // delta-electron production by heavy charged particles @@ -53,25 +57,24 @@ class G4BetheBlochModel : public G4VEmModel public: - G4BetheBlochModel(const G4ParticleDefinition* p = 0); + G4BetheBlochModel(const G4ParticleDefinition* p = 0, const G4String& nam = "BetheBloch"); ~G4BetheBlochModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition* p); + + G4double LowEnergyLimit(const G4ParticleDefinition* p); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,12 +87,28 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + G4double SampleCosineTheta(G4double& kineticEnergy, + G4double& energyDeposition, + G4double& stepLength, + G4double& lambda) {return 1.0;}; + + G4double SampleDisplacement(G4double& kineticEnergy, + G4double& truePathLength, + G4double& stepLength, + G4double& lambda) {return 0.0;}; + G4double MaxSecondaryEnergy(const G4DynamicParticle*); protected: diff --git a/source/processes/electromagnetic/utils/include/G4BohrFluctuations.hh b/source/processes/electromagnetic/utils/include/G4BohrFluctuations.hh new file mode 100644 index 0000000000..3063eb55d1 --- /dev/null +++ b/source/processes/electromagnetic/utils/include/G4BohrFluctuations.hh @@ -0,0 +1,117 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4BohrFluctuations +// +// Author: Vladimir Ivanchenko +// +// Creation date: 02.04.2003 +// +// Modifications: +// +// +// Class Description: +// +// Implementation of Gaussion energy loss Fluctuations + +// ------------------------------------------------------------------- +// + +#ifndef G4BohrFluctuations_h +#define G4BohrFluctuations_h 1 + + +#include "G4VEmFluctuationModel.hh" +#include "G4Material.hh" +#include "G4DynamicParticle.hh" + +class G4BohrFluctuations : public G4VEmFluctuationModel +{ + +public: + + G4BohrFluctuations(const G4String& nam = "BohrFluc"); + + ~G4BohrFluctuations(); + + G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&, + G4double&); + + G4double Dispersion( const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void Initialise(const G4ParticleDefinition*); + +protected: + +private: + + // hide assignment operator + G4BohrFluctuations & operator=(const G4BohrFluctuations &right); + G4BohrFluctuations(const G4BohrFluctuations&); + + const G4ParticleDefinition* particle; + + G4double particleMass; + G4double chargeSquare; + + G4double minNumberInteractionsBohr; + G4double minFraction; + // cash + G4double kineticEnergy; + G4double beta2; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +inline G4double G4BohrFluctuations::Dispersion( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length) +{ + G4double electronDensity = material->GetElectronDensity(); + kineticEnergy = dp->GetKineticEnergy(); + G4double gam = kineticEnergy/particleMass + 1.0; + beta2 = 1.0 - 1.0/(gam*gam); + G4double siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + + return siga; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif + diff --git a/source/processes/electromagnetic/utils/include/G4BraggModel.hh b/source/processes/electromagnetic/utils/include/G4BraggModel.hh index 98f74f935d..e143749bdf 100644 --- a/source/processes/electromagnetic/utils/include/G4BraggModel.hh +++ b/source/processes/electromagnetic/utils/include/G4BraggModel.hh @@ -29,13 +29,16 @@ // File name: G4BraggModel // // Author: Vladimir Ivanchenko -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: +// 23-12-02 V.Ivanchenko change interface in order to moveto cut per region +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // // -// Class Description: +// Class Description: // // Implementation of energy loss and delta-electron production // by heavy slow charged particles using eveluated data @@ -53,25 +56,24 @@ class G4BraggModel : public G4VEmModel public: - G4BraggModel(const G4ParticleDefinition* p = 0); + G4BraggModel(const G4ParticleDefinition* p = 0, const G4String& nam = "Bragg"); ~G4BraggModel(); - G4double HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); - - G4double LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*); + void Initialise(const G4ParticleDefinition*, const G4DataVector&); - void SetHighEnergyLimit(const G4Material*, G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(const G4Material*, G4double e) {lowKinEnergy = e;}; + G4double HighEnergyLimit(const G4ParticleDefinition*); + + G4double LowEnergyLimit(const G4ParticleDefinition*); + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*); - - G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*); + const G4MaterialCutsCouple*); + + G4bool IsInCharge(const G4ParticleDefinition*); G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -84,12 +86,28 @@ public: G4double cutEnergy, G4double maxEnergy); - G4std::vector* SampleSecondary( - const G4Material*, + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double maxEnergy); + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + + G4double SampleCosineTheta(G4double& kineticEnergy, + G4double& energyDeposition, + G4double& stepLength, + G4double& lambda) {return 1.0;}; + + G4double SampleDisplacement(G4double& kineticEnergy, + G4double& truePathLength, + G4double& stepLength, + G4double& lambda) {return 0.0;}; + G4double MaxSecondaryEnergy(const G4DynamicParticle*); protected: diff --git a/source/processes/electromagnetic/utils/include/G4EmModelManager.hh b/source/processes/electromagnetic/utils/include/G4EmModelManager.hh index 3425ee48d3..b3ba36288d 100644 --- a/source/processes/electromagnetic/utils/include/G4EmModelManager.hh +++ b/source/processes/electromagnetic/utils/include/G4EmModelManager.hh @@ -28,15 +28,22 @@ // // File name: G4EmModelManager // -// Author: Vladimir Ivanchenko -// +// Author: Vladimir Ivanchenko +// // Creation date: 07.05.2002 // -// Modifications: 03.12.2002 V.Ivanchenko fix a bug in model selection +// Modifications: // -// Class Description: +// 03-12-02 V.Ivanchenko fix a bug in model selection +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 The set of models is defined for region (V.Ivanchenko) +// 26-03-03 Add GetDEDXDispersion (V.Ivanchenko) +// 13-04-03 Add startFromNull (V.Ivanchenko) // -// It is the unified energy loss process it calculates the continuous +// Class Description: +// +// It is the unified energy loss process it calculates the continuous // energy loss for charged particles using a set of Energy Loss // models valid for different energy regions. There are a possibility // to create and access to dE/dx and range tables, or to calculate @@ -49,21 +56,60 @@ #ifndef G4EmModelManager_h #define G4EmModelManager_h 1 -#include "globals.hh" -#include "G4Material.hh" -#include "G4Track.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsVector.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class G4Step; +#include "globals.hh" +#include "G4DataVector.hh" + +class G4RegionModels +{ + +friend class G4EmModelManager; + +public: + +private: + + G4RegionModels(G4int nMod, G4std::vector& list, G4DataVector& lowE); + + ~G4RegionModels(); + + G4int SelectIndex(G4double e) const { + G4int idx = 0; + if (nModelsForRegion>1) { + idx = nModelsForRegion; + do {idx--;} while (idx && e <= lowKineticEnergy[idx]); + } + return theListOfModelIndexes[idx]; + }; + + G4int ModelIndex(G4int n) const { + return theListOfModelIndexes[n]; + }; + + G4int NumberOfModels() const { + return nModelsForRegion; + }; + + G4int nModelsForRegion; + G4int* theListOfModelIndexes; + G4double* lowKineticEnergy; + +}; + +#include "G4VEmModel.hh" +#include "G4VEmFluctuationModel.hh" +#include "G4DynamicParticle.hh" + +class G4Region; class G4ParticleDefinition; -class G4VEmModel; class G4DataVector; -class G4VParticleChange; +class G4PhysicsVector; +class G4MaterialCutsCouple; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class G4EmModelManager + +class G4EmModelManager { public: @@ -73,7 +119,7 @@ public: void Clear(); - const G4DataVector* Initialise(const G4ParticleDefinition*, + const G4DataVector* Initialise(const G4ParticleDefinition*, const G4ParticleDefinition*, G4double, G4int); @@ -82,19 +128,35 @@ public: const G4DataVector* SubCutoff() const; - void FillDEDXVector(G4PhysicsVector*, const G4Material*); + void FillDEDXVector(G4PhysicsVector*, const G4MaterialCutsCouple*); - void FillLambdaVector(G4PhysicsVector*, const G4Material*); + void FillLambdaVector(G4PhysicsVector*, const G4MaterialCutsCouple*, + G4bool startFromNull = true); - void FillSubLambdaVector(G4PhysicsVector*, const G4Material*); + void FillSubLambdaVector(G4PhysicsVector*, const G4MaterialCutsCouple*, + G4bool startFromNull = true); - G4VEmModel* SelectModel(G4double energy); + G4VEmModel* SelectModel(G4double& energy, size_t& index); - void AddEmModel(G4VEmModel*, G4int); + G4double SampleFluctuations(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& eloss, + G4double& preStepKinEnergy, + size_t& index); + + G4double GetDEDXDispersion( const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + size_t& index); + + void AddEmModel(G4int, G4VEmModel*, G4VEmFluctuationModel*, const G4Region*); private: - // hide assignment operator + // hide assignment operator G4EmModelManager(G4EmModelManager &); G4EmModelManager & operator=(const G4EmModelManager &right); @@ -106,40 +168,75 @@ private: G4DataVector theCuts; G4DataVector theSubCuts; - G4VEmModel* emModels[5]; - G4int nEmModels; - G4int nmax; + G4std::vector models; + G4std::vector flucModels; + G4std::vector regions; + G4std::vector orderOfModels; + G4DataVector upperEkin; - G4int order[5]; - G4double upperEkin[5]; - G4bool orderIsChanged; + G4int nEmModels; + G4int nRegions; + G4int nCouples; + + G4std::vector idxOfRegionModels; + G4std::vector setOfRegionModels; G4double minSubRange; const G4ParticleDefinition* particle; const G4ParticleDefinition* secondaryParticle; - G4int verboseLevel; + G4int verboseLevel; // cash - G4VEmModel* currentModel; + G4int currentIdx; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4VEmModel* G4EmModelManager::SelectModel(G4double energy) +inline G4VEmModel* G4EmModelManager::SelectModel(G4double& kinEnergy, size_t& index) { - if(nEmModels == 4 && energy > upperEkin[2]) { - currentModel = emModels[3]; - } else if(nEmModels >= 3 && energy > upperEkin[1]) { - currentModel = emModels[2]; - } else if(nEmModels >= 2 && energy > upperEkin[0]) { - currentModel = emModels[1]; - } else { - currentModel = emModels[0]; - } - return currentModel; + currentIdx = (setOfRegionModels[idxOfRegionModels[index]])->SelectIndex(kinEnergy); + return models[currentIdx]; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4EmModelManager::SampleFluctuations( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& eloss, + G4double& kinEnergy, + size_t& index) + +{ + currentIdx = (setOfRegionModels[idxOfRegionModels[index]])->SelectIndex(kinEnergy); + G4VEmFluctuationModel* fm = flucModels[currentIdx]; + G4double x = eloss; + if(fm) x = fm->SampleFluctuations(material,dp,tmax,length,eloss); + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4EmModelManager::GetDEDXDispersion( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + size_t& index) +{ + currentIdx = (setOfRegionModels[idxOfRegionModels[index]]) + ->SelectIndex(dp->GetKineticEnergy()); + G4VEmFluctuationModel* fm = flucModels[currentIdx]; + G4double x = 0.0; + if(fm) x = fm->Dispersion(material,dp,tmax,length); + return x; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -159,6 +256,4 @@ inline const G4DataVector* G4EmModelManager::SubCutoff() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif - - diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh index c1c1f58544..abf6003fd5 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh +++ b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh @@ -21,14 +21,14 @@ // ******************************************************************** // // -// $Id: G4EnergyLossMessenger.hh,v 1.4 2001/07/11 10:03:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EnergyLossMessenger.hh,v 1.5 2003/04/04 14:33:33 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class Description: // This is a messenger class to interface to exchange information // between G4VEnergyLoss and UI. -// +// // /process/eLoss/ directory // // Commands : @@ -38,7 +38,7 @@ // subsec * Switch true/false the subcutoff generation // minsubsec * Set the min. cut for subcutoff delta in range // StepFunction * Set the energy loss step limitation parameters -// +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -59,20 +59,23 @@ class G4UIcmdWithADoubleAndUnit; class G4EnergyLossMessenger: public G4UImessenger { public: // with description - + G4EnergyLossMessenger(); ~G4EnergyLossMessenger(); - + void SetNewValue(G4UIcommand*, G4String); - + private: - G4UIdirectory* eLossDirectory; + G4UIdirectory* eLossDirectory; G4UIcmdWithABool* RndmStepCmd; G4UIcmdWithABool* EnlossFlucCmd; G4UIcmdWithABool* SubSecCmd; G4UIcmdWithADoubleAndUnit* MinSubSecCmd; G4UIcommand* StepFuncCmd; + G4UIcmdWithADoubleAndUnit* MinEnCmd; + G4UIcmdWithADoubleAndUnit* MaxEnCmd; + G4UIcmdWithABool* IntegCmd; }; #endif diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh b/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh index 684261f4dd..3426f1cfaf 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh +++ b/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4EnergyLossTables.hh,v 1.12 2001/10/29 09:40:51 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EnergyLossTables.hh,v 1.16 2003/04/12 17:54:39 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // @@ -43,7 +43,7 @@ // A utility class, containing the energy loss tables // for each particle // -// Energy loss processes have to register their tables with this +// Energy loss processes have to register their tables with this // class. The responsibility of creating and deleting the tables // remains with the energy loss classes. // ----------------------------------------------------------------------------- @@ -51,13 +51,16 @@ // P. Urban, 06/04/1998 // L. Urban, 27/05/1988 , modifications + new functions added // L.Urban , 13/10/98 , revision -// L.Urban, 26/10/98 , revision, Interpolate removed -// L.Urban , 08/02/99, cache mechanism +// L.Urban, 26/10/98 , revision, Interpolate removed +// L.Urban , 08/02/99, cache mechanism // L.Urban , 12/04/99 , bug fixed // don't use the helper class. // It can't be hidden for Rogue Wave uses it. // 10.11.99: moved from RWT hash dictionary to STL map, G.Barrand, M.Maire // 26.10.01: all static functions movev from .icc to .cc file (mma) +// 15.01.03 Add interfaces required for "cut per region" (V.Ivanchenko) +// 12.03.03 Add warnings to obsolete interfaces (V.Ivanchenko) +// 12.04.03 move exception to new method (V.Ivanchenko) // // ----------------------------------------------------------------------------- @@ -67,10 +70,10 @@ class G4EnergyLossTablesHelper { friend class G4EnergyLossTables; // the only instances are within the class G4EnergyLossTables - + public: G4EnergyLossTablesHelper(); - + private: G4EnergyLossTablesHelper(const G4PhysicsTable* aDEDXTable, const G4PhysicsTable* aRangeTable, @@ -95,6 +98,8 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +class G4MaterialCutsCouple; + class G4EnergyLossTables { public: @@ -120,25 +125,25 @@ public: static G4double GetRange( const G4ParticleDefinition *aParticle, G4double KineticEnergy, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetLabTime( const G4ParticleDefinition *aParticle, G4double KineticEnergy, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetDeltaLabTime( const G4ParticleDefinition *aParticle, G4double KineticEnergyStart, G4double KineticEnergyEnd, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetProperTime( const G4ParticleDefinition *aParticle, G4double KineticEnergy, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetDeltaProperTime( const G4ParticleDefinition *aParticle, G4double KineticEnergyStart, G4double KineticEnergyEnd, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetPreciseDEDX( const G4ParticleDefinition *aParticle, @@ -147,12 +152,35 @@ public: static G4double GetPreciseRangeFromEnergy( const G4ParticleDefinition *aParticle, G4double KineticEnergy, - const G4Material *aMaterial); + const G4Material *aMaterial); static G4double GetPreciseEnergyFromRange( const G4ParticleDefinition *aParticle, G4double range, - const G4Material *aMaterial); - + const G4Material *aMaterial); + + // get the DEDX or the range for a given particle/energy/materialCutsCouple + static G4double GetDEDX( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple); + static G4double GetRange( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple); + + static G4double GetPreciseDEDX( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple); + static G4double GetPreciseRangeFromEnergy( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple); + static G4double GetPreciseEnergyFromRange( + const G4ParticleDefinition *aParticle, + G4double range, + const G4MaterialCutsCouple *couple); + // to be called only by energy loss processes static void Register( const G4ParticleDefinition* p, @@ -170,17 +198,25 @@ public: typedef const G4ParticleDefinition* K; private: + + static void CPRWarning(); + static void ParticleHaveNoLoss(const G4ParticleDefinition* aParticle); + typedef G4std::map > helper_map; static helper_map dict; - + static G4EnergyLossTablesHelper GetTables(const G4ParticleDefinition* p); static G4EnergyLossTablesHelper t ; + static G4EnergyLossTablesHelper null_loss ; static const G4ParticleDefinition* lastParticle ; static G4double QQPositron ; static G4double Chargesquare ; static G4int oldIndex ; static G4double rmin,rmax,Thigh ; + static G4int let_counter; + static G4int let_max_num_warnings; + static G4bool first_loss; }; diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossMessengerSTD.hh b/source/processes/electromagnetic/utils/include/G4IonFluctuations.hh similarity index 52% rename from source/processes/electromagnetic/utils/include/G4EnergyLossMessengerSTD.hh rename to source/processes/electromagnetic/utils/include/G4IonFluctuations.hh index 89aadb1d63..b51fc041ae 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossMessengerSTD.hh +++ b/source/processes/electromagnetic/utils/include/G4IonFluctuations.hh @@ -26,70 +26,74 @@ // GEANT4 Class header file // // -// File name: G4EnergyLossMessengerSTD +// File name: G4IonFluctuations // -// Author: +// Author: Vladimir Ivanchenko // -// Creation date: +// Creation date: 02.04.2003 // -// Modifications: 03.01.2002 V.Ivanchenko update to new design +// Modifications: // +// Class Description: // -// Class Description: -// This is a messenger class to interface to exchange information -// between G4VEnergyLoss and UI. -// -// /process/eLoss/ directory -// -// Commands : -// -// rndmStep * Randomize the proposed step by eLoss (false/true) -// fluct * Switch true/false the energy loss fluctuations -// subsec * Switch true/false the subcutoff generation -// minsubsec * Set the min. cut for subcutoff delta in range -// StepFunction * Set the energy loss step limitation parameters -// +// Implementation of ion energy loss fluctuations // ------------------------------------------------------------------- // -#ifndef G4EnergyLossMessengerSTD_h -#define G4EnergyLossMessengerSTD_h 1 +#ifndef G4IonFluctuations_h +#define G4IonFluctuations_h 1 -#include "globals.hh" -#include "G4UImessenger.hh" -class G4UIdirectory; -class G4UIcommand; -class G4UIcmdWithABool; -class G4UIcmdWithADoubleAndUnit; +#include "G4VEmFluctuationModel.hh" + +class G4IonFluctuations : public G4VEmFluctuationModel +{ + +public: + + G4IonFluctuations(const G4String& nam = "IonFluc"); + + ~G4IonFluctuations(); + + G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&, + G4double&); + + G4double Dispersion( const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void Initialise(const G4ParticleDefinition*); + +private: + + G4double CoeffitientA(G4double&); + G4double CoeffitientB(const G4Material*, G4double&); + + // hide assignment operator + G4IonFluctuations & operator=(const G4IonFluctuations &right); + G4IonFluctuations(const G4IonFluctuations&); + + const G4ParticleDefinition* particle; + + G4double particleMass; + G4double charge; + G4double chargeSquare; + + // data members to speed up the fluctuation calculation + G4double minNumberInteractionsBohr; + G4double theBohrBeta2; + G4double minFraction; + // cash + G4double kineticEnergy; + G4double beta2; +}; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -class G4EnergyLossMessengerSTD: public G4UImessenger -{ -public: // with description - - G4EnergyLossMessengerSTD(); - ~G4EnergyLossMessengerSTD(); - - void SetNewValue(G4UIcommand*, G4String); - -private: - - G4EnergyLossMessengerSTD & operator=(const G4EnergyLossMessengerSTD &right); - G4EnergyLossMessengerSTD(const G4EnergyLossMessengerSTD&); - - G4UIdirectory* eLossDirectory; - G4UIcmdWithABool* RndmStepCmd; - G4UIcmdWithABool* EnlossFlucCmd; - G4UIcmdWithABool* SubSecCmd; - G4UIcmdWithABool* IntegCmd; - G4UIcmdWithADoubleAndUnit* MinSubSecCmd; - G4UIcmdWithADoubleAndUnit* MinEnCmd; - G4UIcmdWithADoubleAndUnit* MaxEnCmd; - G4UIcommand* StepFuncCmd; - -}; - #endif + diff --git a/source/processes/electromagnetic/utils/include/G4LewisModel.hh b/source/processes/electromagnetic/utils/include/G4LewisModel.hh new file mode 100644 index 0000000000..e226c11aca --- /dev/null +++ b/source/processes/electromagnetic/utils/include/G4LewisModel.hh @@ -0,0 +1,174 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4LewisModel +// +// Author: Laszlo Urban +// +// Creation date: 01.03.2001 +// +// Modifications: +// +// 27-03-03 Move model part from G4MultipleScattering (V.Ivanchenko) +// +// +// Class Description: +// +// Implementation of Lewis model of multiple scattering +// H.W.Lewis Phys Rev 78 (1950) 526 + +// ------------------------------------------------------------------- +// + +#ifndef G4LewisModel_h +#define G4LewisModel_h 1 + +#include "G4VEmModel.hh" + +class G4LewisModel : public G4VEmModel +{ + +public: + + G4LewisModel(G4double&, G4double&, G4double&, G4double&, G4bool&, + const G4String& nam = "Lewis"); + + ~G4LewisModel(); + + void Initialise(const G4ParticleDefinition*, const G4DataVector&); + + G4double HighEnergyLimit(const G4ParticleDefinition*) {return highKinEnergy;}; + + G4double LowEnergyLimit(const G4ParticleDefinition*) {return lowKinEnergy;}; + + void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; + + void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; + + G4double MinEnergyCut(const G4ParticleDefinition*, + const G4MaterialCutsCouple*) {return 0.0;}; + + G4bool IsInCharge(const G4ParticleDefinition*); + + G4double ComputeDEDX(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy) {return 0.0;}; + + G4double CrossSection(const G4Material*, + const G4ParticleDefinition*, + G4double kineticEnergy, + G4double cutEnergy, + G4double maxEnergy); + + G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy) {return 0;}; + + G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy) {return 0;}; + + G4double GeomPathLength(G4PhysicsTable* theLambdaTable, + const G4MaterialCutsCouple* couple, + const G4ParticleDefinition* particle, + G4double& kineticEnergy, + G4double lambda, + G4double range, + G4double truePathLength); + + G4double TrueStepLength(G4double geomStepLength); + + G4double SampleCosineTheta(G4double trueStepLength); + + G4double SampleDisplacement(); + + G4double MaxSecondaryEnergy(const G4DynamicParticle*) {return 0.0;}; + +protected: + + G4double MaxSecondaryEnergy(const G4ParticleDefinition*, + G4double kinEnergy) {return 0.0;}; + +private: + + G4double ComputeTransportCrossSection( + const G4ParticleDefinition* particle, + G4double KineticEnergy, + G4double AtomicNumber, + G4double AtomicWeight); + + // hide assignment operator + G4LewisModel & operator=(const G4LewisModel &right); + G4LewisModel(const G4LewisModel&); + + const G4ParticleDefinition* particle; + G4double mass; + G4double chargeSquare; + G4double massRate; + G4double highKinEnergy; + G4double lowKinEnergy; + + G4double taubig; + G4double tausmall; + G4double taulim; + G4double currentTau; + G4double dtrl; + G4double NuclCorrPar; + G4double FactPar; + G4double facxsi; + + G4double sigmafactor; + G4double alfa1; + G4double alfa2; + G4double alfa3; + G4double b; + G4double xsi; + G4double c0; + + G4double lambda0; + G4double lambda1; + G4double lambdam; + G4double alam; + G4double zm; + G4double cthm; + G4double tPathLength; + + G4bool samplez; + + G4double stepmin ; + +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh index 4da92ec2b5..377da482e5 100644 --- a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh +++ b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh @@ -30,19 +30,25 @@ // File name: G4LossTableManager // // Author: Vladimir Ivanchenko on base of G4LossTables class -// and Maria Grazia Pia ideas -// +// and Maria Grazia Pia ideas +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: // +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 17-02-03 Fix problem of store/restore tables for ions (V.Ivanchenko) +// 10-03-03 Add Ion registration (V.Ivanchenko) +// 25-03-03 Add deregistration (V.Ivanchenko) +// 26-03-03 Add GetDEDXDispersion (V.Ivanchenko) +// 02-04-03 Change messenger (V.Ivanchenko) // -// Class Description: +// Class Description: // // A utility static class, responsable for the energy loss tables // for each particle // -// Energy loss processes have to register their tables with this +// Energy loss processes have to register their tables with this // class. The responsibility of creating and deleting the tables // remains with the energy loss classes. @@ -60,11 +66,12 @@ #include "G4VEnergyLossSTD.hh" class G4PhysicsTable; -class G4Material; -class G4EnergyLossMessengerSTD; +class G4MaterialCutsCouple; +class G4EnergyLossMessenger; class G4ParticleDefinition; +class G4VMultipleScattering; -class G4LossTableManager +class G4LossTableManager { public: @@ -79,25 +86,37 @@ public: G4double GetDEDX( const G4ParticleDefinition *aParticle, G4double kineticEnergy, - const G4Material *aMaterial); + const G4MaterialCutsCouple *couple); G4double GetRange( const G4ParticleDefinition *aParticle, G4double kineticEnergy, - const G4Material *aMaterial); - + const G4MaterialCutsCouple *couple); + G4double GetEnergy( const G4ParticleDefinition *aParticle, G4double range, - const G4Material *aMaterial); + const G4MaterialCutsCouple *couple); + + G4double GetDEDXDispersion( + const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double& length); // to be called only by energy loss processes void Register(G4VEnergyLossSTD* p); - void BuildDEDXTable(const G4ParticleDefinition* aParticle); + void DeRegister(G4VEnergyLossSTD* p); - void RetrieveDEDXTable(const G4ParticleDefinition* aParticle, - G4VEnergyLossSTD*); + void Register(G4VMultipleScattering* p); + + void DeRegister(G4VMultipleScattering* p); + + void RegisterIon(const G4ParticleDefinition* aParticle, G4VEnergyLossSTD* p); + + void BuildPhysicsTable(const G4ParticleDefinition* aParticle); + + void RetrievePhysicsTables(const G4ParticleDefinition* aParticle, G4VEnergyLossSTD* em); void SetLossFluctuations(G4bool val); @@ -115,22 +134,17 @@ public: void SetStepLimits(G4double v1, G4double v2); - G4bool StorePhysicsTable(G4VEnergyLossSTD* el, - const G4String& dedx_file, - const G4String& range_file, - const G4String& inv_range_file, - G4bool ascii); - + G4EnergyLossMessenger* GetMessenger(); + private: G4LossTableManager(); - void Initialise(); + void Initialise(const G4ParticleDefinition*); G4VEnergyLossSTD* BuildTables(const G4ParticleDefinition* aParticle); - // G4LossTableManager(const G4LossTableManager&); - // const G4LossTableManager& operator=(const G4LossTableManager& right); + void ParticleHaveNoLoss(const G4ParticleDefinition* aParticle); private: @@ -146,6 +160,7 @@ private: G4std::vector dedx_vector; G4std::vector range_vector; G4std::vector inv_range_vector; + G4std::vector msc_vector; // cash G4VEnergyLossSTD* currentLoss; @@ -153,14 +168,15 @@ private: PD theElectron; G4int n_loss; - + G4bool all_tables_are_built; - G4bool all_particles_are_mapped; + G4bool first_entry; G4bool electron_table_are_built; G4bool lossFluctuationFlag; G4bool subCutoffFlag; G4bool rndmStepFlag; G4bool integral; + G4bool all_tables_are_stored; G4double minSubRange; G4double maxRangeVariation; @@ -170,7 +186,8 @@ private: G4VEnergyLossSTD* eIonisation; G4LossTableBuilder* tableBuilder; - G4EnergyLossMessengerSTD* theMessenger; + G4EnergyLossMessenger* theMessenger; + const G4ParticleDefinition* firstParticle; G4int verbose; }; @@ -181,15 +198,18 @@ private: inline G4double G4LossTableManager::GetDEDX( const G4ParticleDefinition *aParticle, G4double kineticEnergy, - const G4Material *aMaterial) + const G4MaterialCutsCouple *couple) { if(aParticle != currentParticle) { G4std::map >::const_iterator pos; - if((pos = loss_map.find(aParticle)) == loss_map.end()) return 0.0; - currentParticle = aParticle; - currentLoss = (*pos).second; + if ((pos = loss_map.find(aParticle)) != loss_map.end()) { + currentParticle = aParticle; + currentLoss = (*pos).second; + } else { + ParticleHaveNoLoss(aParticle); + } } - return currentLoss->GetDEDX(kineticEnergy, aMaterial); + return currentLoss->GetDEDX(kineticEnergy, couple); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -197,15 +217,18 @@ inline G4double G4LossTableManager::GetDEDX( inline G4double G4LossTableManager::GetRange( const G4ParticleDefinition *aParticle, G4double kineticEnergy, - const G4Material *aMaterial) + const G4MaterialCutsCouple *couple) { if(aParticle != currentParticle) { G4std::map >::const_iterator pos; - if((pos = loss_map.find(aParticle)) == loss_map.end()) return 0.0; - currentParticle = aParticle; - currentLoss = (*pos).second; + if ((pos = loss_map.find(aParticle)) != loss_map.end()) { + currentParticle = aParticle; + currentLoss = (*pos).second; + } else { + ParticleHaveNoLoss(aParticle); + } } - return currentLoss->GetRange(kineticEnergy, aMaterial); + return currentLoss->GetRange(kineticEnergy, couple); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -213,15 +236,38 @@ inline G4double G4LossTableManager::GetRange( inline G4double G4LossTableManager::GetEnergy( const G4ParticleDefinition *aParticle, G4double range, - const G4Material *aMaterial) + const G4MaterialCutsCouple *couple) { if(aParticle != currentParticle) { G4std::map >::const_iterator pos; - if((pos = loss_map.find(aParticle)) == loss_map.end()) return 0.0; - currentParticle = aParticle; - currentLoss = (*pos).second; + if ((pos = loss_map.find(aParticle)) != loss_map.end()) { + currentParticle = aParticle; + currentLoss = (*pos).second; + } else { + ParticleHaveNoLoss(aParticle); + } } - return currentLoss->GetKineticEnergy(range, aMaterial); + return currentLoss->GetKineticEnergy(range, couple); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4LossTableManager::GetDEDXDispersion( + const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double& length) +{ + const G4ParticleDefinition* aParticle = dp->GetDefinition(); + if(aParticle != currentParticle) { + G4std::map >::const_iterator pos; + if ((pos = loss_map.find(aParticle)) != loss_map.end()) { + currentParticle = aParticle; + currentLoss = (*pos).second; + } else { + ParticleHaveNoLoss(aParticle); + } + } + return currentLoss->GetDEDXDispersion(couple, dp, length); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/include/G4MultipleScattering.hh b/source/processes/electromagnetic/utils/include/G4MultipleScattering.hh index 82fd1ba856..c222792641 100644 --- a/source/processes/electromagnetic/utils/include/G4MultipleScattering.hh +++ b/source/processes/electromagnetic/utils/include/G4MultipleScattering.hh @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4MultipleScattering.hh,v 1.11 2002/10/30 11:30:47 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MultipleScattering.hh,v 1.16 2003/04/18 12:44:04 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------- G4MultipleScattering physics process -------------------------- // by Laszlo Urban, March 2001 @@ -40,6 +40,8 @@ // 24-04-02 some minor changes in boundary algorithm, L.Urban // 24-05-02 changes in data members, L.Urban // 30-10-02 changes in data members, L.Urban +// 05-02-03 changes in data members, L.Urban +// 18-04-03 Change signature of GetTransportMeanFreePath (V.Ivanchenko) //------------------------------------------------------------------------------ // class description @@ -125,12 +127,12 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + G4double GetTransportMeanFreePath( - G4double KineticEnergy,G4Material* material); + G4double KineticEnergy,const G4MaterialCutsCouple* couple); // Just a utility method to get the values of the transport // mean free path . (It is not used inside the class.) - + G4VParticleChange* AlongStepDoIt(const G4Track& aTrack,const G4Step& aStep); // The geometrical step length --> true path length transformation // is performed here (the inverse of the transformation done @@ -143,8 +145,8 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - void Setpcz(G4double value) {pcz = value;}; - // geom. step length distribution + void Setsamplez(G4bool value) {samplez = value;}; + // geom. step length distribution should be sampled or not void Setdtrl(G4double value) {dtrl = value;}; // to reduce the energy/step dependence @@ -160,6 +162,7 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess // Steplimit after boundary crossing = facrange*range // estimated nb of steps at boundary nsmallstep = 1/facrange + void SetLateralDisplacementFlag(G4bool flag) {fLatDisplFlag = flag;}; // lateral displacement to be/not to be computed @@ -186,8 +189,6 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess G4PhysicsTable* theTransportMeanFreePathTable; - G4double fTransportMeanFreePath,kappa; - G4double taubig,tausmall,taulim; G4double LowestKineticEnergy; @@ -206,11 +207,12 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess G4double laststep ; G4GPILSelection valueGPILSelectionMSC; - G4double pcz,zmean; // z(geom.step length) - // distribution + G4double zmean; // z(geom.step length) + G4bool samplez ; // distribution - G4double range,T1,lambda1,cth1,z1,t1,dtrl; // used to reduce the energy - // (or step length) dependence + G4double range,T0,T1,lambda0,lambda1, // used to reduce the energy + Tlow,alam,blam,dtrl,lambdam, // (or step length) dependence + clam,zm,cthm; // with/without lateral displacement G4bool fLatDisplFlag; @@ -221,10 +223,9 @@ class G4MultipleScattering : public G4VContinuousDiscreteProcess G4ParticleChangeForMSC fParticleChange; - G4double alfa1,alfa2,alfa3,xsi,c0,facxsi ; // angle distr. parameters + G4double alfa1,alfa2,alfa3,b,xsi,c0,facxsi ; // angle distr. parameters // facxsi : some tuning // possibility in the tail - }; #include "G4MultipleScattering.icc" diff --git a/source/processes/electromagnetic/utils/include/G4MultipleScattering.icc b/source/processes/electromagnetic/utils/include/G4MultipleScattering.icc index 3b008f633e..842d3684f8 100644 --- a/source/processes/electromagnetic/utils/include/G4MultipleScattering.icc +++ b/source/processes/electromagnetic/utils/include/G4MultipleScattering.icc @@ -20,8 +20,8 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4MultipleScattering.icc,v 1.7 2002/05/24 06:11:24 urban Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MultipleScattering.icc,v 1.9 2003/04/18 12:44:05 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------ G4MultipleScattering physics process --------------------------- // by Laszlo Urban, March 2001 @@ -34,17 +34,19 @@ // 27-08-01 bugfix in AlongStepDoIt, L.Urban // 28-08-01 GetContinuousStepLimit and AlongStepDoIt moved to .cc file (mma) // 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering (mma) +// 15-01-03 Migrade to cut per region (V.Ivanchenko) +// 18-04-03 Change signature of GetTransportMeanFreePath (V.Ivanchenko) // //------------------------------------------------------------------------------ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline +inline G4bool G4MultipleScattering::IsApplicable(const G4ParticleDefinition& particle) { return(particle.GetPDGCharge() != 0.); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4MultipleScattering::AlongStepGetPhysicalInteractionLength( @@ -79,14 +81,15 @@ inline G4double G4MultipleScattering::GetMeanFreePath( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline +inline G4double G4MultipleScattering::GetTransportMeanFreePath(G4double KineticEnergy, - G4Material* material) + const G4MaterialCutsCouple* couple) { G4bool isOut; - + return (*theTransportMeanFreePathTable) - (material->GetIndex())->GetValue(KineticEnergy,isOut); + (couple->GetIndex())->GetValue(KineticEnergy,isOut); } + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.hh b/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.hh index a73ffa22f2..dfa1d678af 100644 --- a/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.hh +++ b/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.hh @@ -21,24 +21,26 @@ // ******************************************************************** // // -// -//------------- G4MultipleScattering physics process -------------------------- -// by Laszlo Urban, March 2001 // -// 07-08-01 new methods Store/Retrieve PhysicsTable +//------------- G4MultipleScattering physics process -------------------------- +// by Laszlo Urban, March 2001 +// +// 07-08-01 new methods Store/Retrieve PhysicsTable // 23-08-01 new angle and z distribution,energy dependence reduced, // Store,Retrieve methods commented out temporarily, L.Urban // 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering // Store,Retrieve methods reactived (mma) // 13-09-01 Unused TrueToGeomTransformation method deleted, // class description (L.Urban) -// 19-09-01 come back to previous process name msc +// 19-09-01 come back to previous process name msc // 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban // 22-04-02 boundary algorithm modified -> important improvement in timing !!!! // (L.Urban) // 24-05-02 changes in data members, L.Urban -// 30-10-02 changes in data members, L.Urban -// +// 30-10-02 changes in data members, L.Urban +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 05-02-03 changes in data members, L.Urban +// //------------------------------------------------------------------------------ // class description @@ -96,8 +98,8 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4bool RetrievePhysicsTable(G4ParticleDefinition* , const G4String& directory, G4bool); // retrieve TransportMeanFreePath tables from an external file - // specified by 'directory' - + // specified by 'directory' + G4double AlongStepGetPhysicalInteractionLength(const G4Track&, G4double previousStepSize, @@ -105,16 +107,16 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4double& currentSafety, G4GPILSelection* selection); // The function overloads the corresponding function of the base - // class.It limits the step near to boundaries only - // and invokes the method GetContinuousStepLimit at every step. - + // class.It limits the step near to boundaries only + // and invokes the method GetContinuousStepLimit at every step. + G4double GetContinuousStepLimit(const G4Track& aTrack, G4double previousStepSize, G4double currentMinimumStep, - G4double& currentSafety); + G4double& currentSafety); // It performs the true step length --> geometrical step length // transformation. It is invoked by the - // AlongStepGetPhysicalInteractionLength method. + // AlongStepGetPhysicalInteractionLength method. G4double GetMeanFreePath(const G4Track& aTrack, G4double previousStepSize, @@ -124,26 +126,26 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - + G4double GetTransportMeanFreePath( - G4double KineticEnergy,G4Material* material); + G4double KineticEnergy,const G4MaterialCutsCouple* couple); // Just a utility method to get the values of the transport // mean free path . (It is not used inside the class.) - + G4VParticleChange* AlongStepDoIt(const G4Track& aTrack,const G4Step& aStep); // The geometrical step length --> true path length transformation // is performed here (the inverse of the transformation done - // by GetContinuousStepLimit). + // by GetContinuousStepLimit). G4VParticleChange* PostStepDoIt(const G4Track& aTrack,const G4Step& aStep); - // It computes the final state of the particle: samples the + // It computes the final state of the particle: samples the // ScatteringSTD angle and computes the lateral displacement. // The final state is returned as a ParticleChange object. // This function overloads a virtual function of the base class. // It is invoked by the ProcessManager of the Particle. - void Setpcz(G4double value) {pcz = value;}; - // geom. step length distribution + void Setsamplez(G4bool value) {samplez = value;}; + // geom. step length distribution should be sampled or not void Setdtrl(G4double value) {dtrl = value;}; // to reduce the energy/step dependence @@ -154,17 +156,17 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess void SetFacrange(G4double val) {facrange=val; nsmallstep = G4int(log((cf+facrange-1.)/ facrange)/log(cf))+1 ; - G4cout << " fr=" << facrange + G4cout << " fr=" << facrange << " nsmall=" << nsmallstep << G4endl ;}; // Steplimit after boundary crossing = facrange*range // estimated nb of steps at boundary nsmallstep = 1/facrange void SetLateralDisplacementFlag(G4bool flag) {fLatDisplFlag = flag;}; // lateral displacement to be/not to be computed - + void SetNuclCorrPar(G4double val) {NuclCorrPar = val;}; void SetFactPar(G4double val) {FactPar = val;}; - // corrs to transport cross section for high energy + // corrs to transport cross section for high energy protected: // with description @@ -174,7 +176,7 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4double AtomicNumber, G4double AtomicWeight); // It computes the transport cross section. - // The transport mean free path is 1/(transport cross section). + // The transport mean free path is 1/(transport cross section). private: @@ -186,8 +188,6 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4PhysicsTable* theTransportMeanFreePathTable; - G4double fTransportMeanFreePath,kappa; - G4double taubig,tausmall,taulim; G4double LowestKineticEnergy; @@ -195,7 +195,7 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4int TotBin; G4int materialIndex; - + G4double tLast; G4double zLast; @@ -206,12 +206,12 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4double laststep ; G4GPILSelection valueGPILSelectionMSC; - G4double pcz,zmean; // z(geom.step length) - // distribution - - G4double range,T1,lambda1,cth1,z1,t1,dtrl; // used to reduce the energy - // (or step length) dependence + G4double zmean; // z(geom.step length) + G4bool samplez ; // distribution + G4double range,T0,T1,lambda0,lambda1, // used to reduce the energy + Tlow,alam,blam,dtrl,lambdam, // (or step length) dependence + clam,zm,cthm; // with/without lateral displacement G4bool fLatDisplFlag; @@ -222,7 +222,7 @@ class G4MultipleScatteringSTD : public G4VContinuousDiscreteProcess G4ParticleChangeForMSC fParticleChange; - G4double alfa1,alfa2,alfa3,xsi,c0,facxsi ; // angle distr. parameters + G4double alfa1,alfa2,alfa3,b,xsi,c0,facxsi ; // angle distr. parameters // facxsi : some tuning // possibility in the tail diff --git a/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.icc b/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.icc index 43b398acd0..c9b074629e 100644 --- a/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.icc +++ b/source/processes/electromagnetic/utils/include/G4MultipleScatteringSTD.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MultipleScatteringSTD.icc,v 1.1 2002/10/11 16:41:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MultipleScatteringSTD.icc,v 1.4 2003/04/24 16:49:46 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //------------ G4MultipleScattering physics process --------------------------- // by Laszlo Urban, March 2001 @@ -40,12 +40,12 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline +inline G4bool G4MultipleScatteringSTD::IsApplicable(const G4ParticleDefinition& particle) { return(particle.GetPDGCharge() != 0.); } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... inline G4double G4MultipleScatteringSTD::AlongStepGetPhysicalInteractionLength( @@ -80,14 +80,14 @@ inline G4double G4MultipleScatteringSTD::GetMeanFreePath( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline +inline G4double G4MultipleScatteringSTD::GetTransportMeanFreePath(G4double KineticEnergy, - G4Material* material) + const G4MaterialCutsCouple* couple) { G4bool isOut; - + return (*theTransportMeanFreePathTable) - (material->GetIndex())->GetValue(KineticEnergy,isOut); + (couple->GetIndex())->GetValue(KineticEnergy,isOut); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/include/G4SCProcessorStand.hh b/source/processes/electromagnetic/utils/include/G4SCProcessorStand.hh index fcc9072204..a1ad31be8c 100644 --- a/source/processes/electromagnetic/utils/include/G4SCProcessorStand.hh +++ b/source/processes/electromagnetic/utils/include/G4SCProcessorStand.hh @@ -29,12 +29,17 @@ // File name: G4SCProcessorStand // // Author: Vladimir Ivanchenko -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: // -// Class Description: +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 29-12-02 Change interface (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// +// Class Description: // // Class for simualtion of subCutoff @@ -50,24 +55,26 @@ #include "G4DataVector.hh" class G4Navigator; -class G4Material; +class G4MaterialCutsCouple; class G4SCProcessorStand : public G4VSubCutoffProcessor { public: - G4SCProcessorStand(); + G4SCProcessorStand(const G4String& nam = "ProcSTD"); ~G4SCProcessorStand(); - virtual G4std::vector* SampleSecondary(const G4Step& step, - const G4DynamicParticle*, - G4double meanLoss); + virtual G4std::vector* SampleSecondaries(const G4Step&, + G4double& tmax, + G4double& meanLoss, + G4VEmModel*) = 0; virtual void Initialise(const G4ParticleDefinition*, - const G4ParticleDefinition*, - G4EmModelManager* ); + const G4ParticleDefinition*, + const G4DataVector*, + const G4DataVector*) = 0; virtual void SetLambdaSubTable(G4PhysicsTable*); @@ -77,7 +84,7 @@ protected: private: - // hide assignment operator + // hide assignment operator G4SCProcessorStand & operator=(const G4SCProcessorStand &right); G4SCProcessorStand(const G4SCProcessorStand&); @@ -85,18 +92,11 @@ private: const G4ParticleDefinition* particle; const G4ParticleDefinition* secondaryParticle; const G4ParticleDefinition* thePositron; - G4EmModelManager* modelManager; G4Navigator* navigator; const G4DataVector* theCuts; const G4DataVector* theSubCuts; - G4DataVector rangeCuts; // cash - const G4Material* material; - G4int materialIndex; - G4double cut; - G4double subcut; - G4double rcut; G4double initialMass; }; @@ -111,7 +111,7 @@ inline void G4SCProcessorStand::SetLambdaSubTable(G4PhysicsTable* table) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4PhysicsTable* G4SCProcessorStand::LambdaSubTable() +inline G4PhysicsTable* G4SCProcessorStand::LambdaSubTable() { return theLambdaSubTable; } diff --git a/source/processes/electromagnetic/utils/include/G4UniversalFluctuation.hh b/source/processes/electromagnetic/utils/include/G4UniversalFluctuation.hh index 610136bd26..dfa57ae9fe 100644 --- a/source/processes/electromagnetic/utils/include/G4UniversalFluctuation.hh +++ b/source/processes/electromagnetic/utils/include/G4UniversalFluctuation.hh @@ -32,7 +32,12 @@ // // Creation date: 03.01.2002 // -// Modifications: 09.12.2002 VI remove warnings +// Modifications: +// +// 09-12-02 remove warnings (V.Ivanchenko) +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // // Class Description: // @@ -52,34 +57,41 @@ class G4UniversalFluctuation : public G4VEmFluctuationModel public: - G4UniversalFluctuation(); + G4UniversalFluctuation(const G4String& nam = "UniFluc"); ~G4UniversalFluctuation(); - virtual void SampleFluctuations(const G4Material*, const G4DynamicParticle*, - G4double&, G4double&, G4double); + G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&, + G4double&); - virtual void Initialise(const G4ParticleDefinition*); + G4double Dispersion( const G4Material*, + const G4DynamicParticle*, + G4double&, + G4double&); + + void Initialise(const G4ParticleDefinition*); protected: private: - // hide assignment operator + // hide assignment operator G4UniversalFluctuation & operator=(const G4UniversalFluctuation &right); G4UniversalFluctuation(const G4UniversalFluctuation&); const G4ParticleDefinition* particle; + const G4Material* lastMaterial; + G4double particleMass; G4double chargeSquare; - const G4Material* lastMaterial; - G4int materialIndex; - // data members to speed up the fluctuation calculation G4double ipotFluct; G4double electronDensity; - G4double zeff; + // G4double zeff; G4double f1Fluct; G4double f2Fluct; diff --git a/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh b/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh index 1fcc7728ca..d8a2e37826 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh @@ -34,6 +34,11 @@ // // Modifications: // +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// +// // Class Description: // // Abstract class for interface to simualtion of energy loss fluctuations @@ -56,23 +61,34 @@ class G4VEmFluctuationModel public: - G4VEmFluctuationModel() {}; + G4VEmFluctuationModel(const G4String& nam): name(nam) {}; virtual ~G4VEmFluctuationModel() {}; - virtual void SampleFluctuations(const G4Material*, const G4DynamicParticle*, - G4double& tmax, G4double& length, G4double meanLoss) = 0; - + virtual G4double SampleFluctuations(const G4Material*, + const G4DynamicParticle*, + G4double& tmax, + G4double& length, + G4double& meanLoss) = 0; + + virtual G4double Dispersion(const G4Material*, + const G4DynamicParticle*, + G4double& tmax, + G4double& length) = 0; + virtual void Initialise(const G4ParticleDefinition*) = 0; + + G4String GetName() const {return name;}; protected: private: - // hide assignment operator + // hide assignment operator G4VEmFluctuationModel & operator=(const G4VEmFluctuationModel &right); G4VEmFluctuationModel(const G4VEmFluctuationModel&); + const G4String name; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/include/G4VEmModel.hh b/source/processes/electromagnetic/utils/include/G4VEmModel.hh index 27525a5b1d..e8f26a6b42 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmModel.hh @@ -29,13 +29,19 @@ // File name: G4VEmModel // // Author: Vladimir Ivanchenko -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: +// +// 23-12-02 V.Ivanchenko change interface before move to cut per region +// 24-01-03 Cut per region (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// 25-02-03 Add sample theta and displacement (V.Ivanchenko) +// // -// Class Description: +// Class Description: // // Abstract interface to energy loss models @@ -50,32 +56,34 @@ #include "G4DynamicParticle.hh" #include "G4ParticleDefinition.hh" #include "G4Material.hh" -#include "G4ThreeVector.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4DataVector.hh" -class G4VEmModel +class G4PhysicsTable; + +class G4VEmModel { public: - G4VEmModel() {}; + G4VEmModel(const G4String& nam): name(nam) {}; virtual ~G4VEmModel() {}; - virtual G4double HighEnergyLimit(const G4ParticleDefinition*, - const G4Material*) = 0; - - virtual G4double LowEnergyLimit(const G4ParticleDefinition*, - const G4Material*) = 0; + virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&) = 0; - virtual void SetHighEnergyLimit(const G4Material*, G4double) = 0; - - virtual void SetLowEnergyLimit(const G4Material*, G4double) = 0; + virtual G4double HighEnergyLimit(const G4ParticleDefinition*) = 0; + + virtual G4double LowEnergyLimit(const G4ParticleDefinition*) = 0; + + virtual void SetHighEnergyLimit(G4double) = 0; + + virtual void SetLowEnergyLimit(G4double) = 0; virtual G4double MinEnergyCut(const G4ParticleDefinition*, - const G4Material*) = 0; - - virtual G4bool IsInCharge(const G4ParticleDefinition*, - const G4Material*) = 0; + const G4MaterialCutsCouple*) = 0; + + virtual G4bool IsInCharge(const G4ParticleDefinition*) = 0; virtual G4double ComputeDEDX(const G4Material*, const G4ParticleDefinition*, @@ -88,26 +96,49 @@ public: G4double cutEnergy, G4double maxEnergy) = 0; - virtual G4std::vector* SampleSecondary( - const G4Material*, + virtual G4DynamicParticle* SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle*, G4double tmin, G4double tmax) = 0; + virtual G4std::vector* SampleSecondaries( + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double tmax) = 0; + + virtual G4double GeomPathLength(G4PhysicsTable* theLambdaTable, + const G4MaterialCutsCouple* couple, + const G4ParticleDefinition* particle, + G4double& kineticEnergy, + G4double lambda, + G4double range, + G4double truePathLength) {return truePathLength;}; + + virtual G4double TrueStepLength(G4double geomStepLength) {return geomStepLength;}; + + virtual G4double SampleCosineTheta(G4double trueStepLength) {return 1.0;}; + + virtual G4double SampleDisplacement() {return 0.0;}; + virtual G4double MaxSecondaryEnergy( - const G4DynamicParticle* dynParticle) = 0; + const G4DynamicParticle* dynParticle) = 0; + + G4String GetName() const {return name;}; protected: virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kineticEnergy) = 0; + G4double kineticEnergy) = 0; private: - // hide assignment operator - // G4VEmModel & operator=(const G4VEmModel &right); - // G4VEmModel(const G4VEmModel&); + // hide assignment operator + G4VEmModel & operator=(const G4VEmModel &right); + G4VEmModel(const G4VEmModel&); + const G4String name; }; #endif diff --git a/source/processes/electromagnetic/utils/include/G4VEnergyLoss.hh b/source/processes/electromagnetic/utils/include/G4VEnergyLoss.hh index 716f9f2777..54066c677e 100644 --- a/source/processes/electromagnetic/utils/include/G4VEnergyLoss.hh +++ b/source/processes/electromagnetic/utils/include/G4VEnergyLoss.hh @@ -21,19 +21,20 @@ // ******************************************************************** // // -// $Id: G4VEnergyLoss.hh,v 1.14 2002/09/02 15:46:55 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VEnergyLoss.hh,v 1.17 2003/03/25 13:36:57 maire Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// // ------------------------------------------------------------ // 26.10.01 static inline functions moved to .cc file (mma) // 08.11.01 some static methods,data members are not static L.Urban +// 15.01.03 Migrade to cut per region (V.Ivanchenko) // ------------------------------------------------------------ -// -// Class Description +// +// Class Description // // General service class for the energy loss classes -// +// // It contains code needed to compute the range tables, // time tables, the inverse range tables and some auxiliary // tables. @@ -44,7 +45,7 @@ // // ----------------------------------------------------------- -// created on 28 January 2000 by L. Urban +// created on 28 January 2000 by L. Urban // ----------------------------------------------------------- #ifndef G4VEnergyLoss_h @@ -58,12 +59,13 @@ #include "G4VContinuousDiscreteProcess.hh" #include "G4PhysicsLogVector.hh" #include "G4PhysicsLinearVector.hh" +#include "G4MaterialCutsCouple.hh" class G4EnergyLossMessenger; -class G4VEnergyLoss : public G4VContinuousDiscreteProcess +class G4VEnergyLoss : public G4VContinuousDiscreteProcess { - public: + public: G4VEnergyLoss(const G4String& , G4ProcessType aType = fNotDefined ); @@ -93,7 +95,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess // code for the energy loss fluctuation G4double GetLossWithFluct(const G4DynamicParticle* aParticle, - G4Material* aMaterial, + const G4MaterialCutsCouple* couple, G4double ChargeSquare, G4double MeanLoss, G4double step); @@ -115,7 +117,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess G4PhysicsTable* ProperTimeTable, G4double Tmin,G4double Tmax,G4int nbin); - // Build tables of coefficients needed for inverting the range table + // Build tables of coefficients needed for inverting the range table G4PhysicsTable* BuildRangeCoeffATable(G4PhysicsTable* theRangeTable, G4PhysicsTable* theCoeffATable, @@ -140,7 +142,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess private: - // hide default constructor and assignment operator as private + // hide default constructor and assignment operator as private G4VEnergyLoss(); G4VEnergyLoss & operator=(const G4VEnergyLoss &right); @@ -179,7 +181,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess private: // data members to speed up the fluctuation calculation - G4Material* lastMaterial; + const G4Material* lastMaterial; G4int imat; G4double f1Fluct,f2Fluct,e1Fluct,e2Fluct,rateFluct,ipotFluct; G4double e1LogFluct,e2LogFluct,ipotLogFluct; @@ -189,7 +191,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess // for some integration routines G4double taulow,tauhigh,ltaulow,ltauhigh; - // static part of the class + // static part of the class public: // With description @@ -219,8 +221,9 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess protected: // With description - static G4bool EqualCutVectors( G4double* vec1, G4double* vec2 ); + static G4bool EqualCutVectors( G4double* vec1, G4double* vec2 ); static G4double* CopyCutVectors( G4double* dest, G4double* source ); + G4bool CutsWhereModified(); // data members protected: @@ -228,6 +231,7 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess static G4double dRoverRange; // dRoverRange is the maximum allowed // deltarange/range in one Step static G4double finalRange; // final step before stopping + static G4double finalRangeRequested; //from UI command static G4double c1lim,c2lim,c3lim ; // coeffs for computing steplimit static G4bool rndmStepFlag; // control the randomization of the step diff --git a/source/processes/electromagnetic/utils/include/G4VEnergyLossSTD.hh b/source/processes/electromagnetic/utils/include/G4VEnergyLossSTD.hh index 9349bf9971..9df56bbf05 100644 --- a/source/processes/electromagnetic/utils/include/G4VEnergyLossSTD.hh +++ b/source/processes/electromagnetic/utils/include/G4VEnergyLossSTD.hh @@ -26,17 +26,27 @@ // GEANT4 Class header file // // -// File name: G4BetheBlochModel +// File name: G4VEnergyLossSTD // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 03.01.2002 // -// Modifications: +// Modifications: // -// Class Description: +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 13-02-03 SubCutoffProcessors defined for regions (V.Ivanchenko) +// 17-02-03 Fix problem of store/restore tables (V.Ivanchenko) +// 26-02-03 Region dependent step limit (V.Ivanchenko) +// 26-03-03 Add GetDEDXDispersion (V.Ivanchenko) +// 09-04-03 Fix problem of negative range limit for non integral (V.Ivanchenko) // -// It is the unified energy loss process it calculates the continuous +// Class Description: +// +// It is the unified energy loss process it calculates the continuous // energy loss for charged particles using a set of Energy Loss // models valid for different energy regions. There are a possibility // to create and access to dE/dx and range tables, or to calculate @@ -51,41 +61,56 @@ #include "G4VContinuousDiscreteProcess.hh" #include "globals.hh" #include "G4Material.hh" +#include "G4MaterialCutsCouple.hh" #include "G4Track.hh" #include "G4EmModelManager.hh" class G4Step; class G4ParticleDefinition; class G4VEmModel; -class G4VEffectiveChargeModel; class G4VEmFluctuationModel; class G4DataVector; class G4VParticleChange; class G4PhysicsTable; class G4PhysicsVector; class G4VSubCutoffProcessor; +class G4Region; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class G4VEnergyLossSTD : public G4VContinuousDiscreteProcess + +class G4VEnergyLossSTD : public G4VContinuousDiscreteProcess { public: - G4VEnergyLossSTD(const G4String& name = "EnergyLoss", + G4VEnergyLossSTD(const G4String& name = "EnergyLoss", G4ProcessType type = fElectromagnetic); ~G4VEnergyLossSTD(); - + void Initialise(); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); + G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - virtual G4bool IsApplicable(const G4ParticleDefinition& p); + virtual G4std::vector* SecondariesAlongStep( + const G4Step&, + G4double& tmax, + G4double& eloss, + G4double& kinEnergy) = 0; + + virtual void SecondariesPostStep( + G4VEmModel*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double& tcut, + G4double& kinEnergy) = 0; + + virtual G4bool IsApplicable(const G4ParticleDefinition& p) = 0; // True for all charged particles - virtual void BuildPhysicsTable(const G4ParticleDefinition&); + virtual + void BuildPhysicsTable(const G4ParticleDefinition&); // Build physics table during initialisation virtual void PrintInfoDefinition() const; @@ -93,13 +118,17 @@ public: G4PhysicsTable* BuildDEDXTable(); - void SetParticles(const G4ParticleDefinition*, + G4PhysicsTable* BuildLambdaTable(); + + G4PhysicsTable* BuildLambdaSubTable(); + + void SetParticles(const G4ParticleDefinition*, const G4ParticleDefinition*, const G4ParticleDefinition*); - void SetParticle(const G4ParticleDefinition* p); - void SetBaseParticle(const G4ParticleDefinition* p); - void SetSecondaryParticle(const G4ParticleDefinition* p); + void SetParticle(const G4ParticleDefinition* p); + void SetBaseParticle(const G4ParticleDefinition* p); + void SetSecondaryParticle(const G4ParticleDefinition* p); const G4ParticleDefinition* Particle() const; const G4ParticleDefinition* BaseParticle() const; @@ -123,25 +152,27 @@ public: // Print out of the class parameters G4bool StorePhysicsTable(G4ParticleDefinition*, - const G4String& directory, + const G4String& directory, G4bool ascii = false); - // Store PhysicsTable in a file. + // Store PhysicsTable in a file. // Return false in case of failure at I/O - + G4bool RetrievePhysicsTable(G4ParticleDefinition*, - const G4String& directory, + const G4String& directory, G4bool ascii); - // Retrieve Physics from a file. + // Retrieve Physics from a file. // (return true if the Physics Table can be build by using file) // (return false if the process has no functionality or in case of failure) - // File name should is constructed as processName+particleName and the - // should be placed under the directory specifed by the argument. + // File name should is constructed as processName+particleName and the + // should be placed under the directory specifed by the argument. - void AddEmModel(G4VEmModel*, G4int); + void AddEmModel(G4int, G4VEmModel*, G4VEmFluctuationModel* fluc = 0, + const G4Region* region = 0); - void AddEmFluctuationModel(G4VEmFluctuationModel*); + void AddSubCutoffProcessor(G4VSubCutoffProcessor*, const G4Region* region = 0); - void SetSubCutoffProcessor(G4VSubCutoffProcessor*); + virtual + void SetSubCutoff(G4bool) {}; void SetDEDXTable(G4PhysicsTable* p); G4PhysicsTable* DEDXTable() const {return theDEDXTable;}; @@ -154,27 +185,34 @@ public: void SetSecondaryRangeTable(G4PhysicsTable* p); - const G4PhysicsTable* LambdaTable() {return theLambdaTable;}; + void SetLambdaTable(G4PhysicsTable* p); + G4PhysicsTable* LambdaTable() {return theLambdaTable;}; - G4double GetDEDX(G4double kineticEnergy, const G4Material* material); + void SetSubLambdaTable(G4PhysicsTable* p); + G4PhysicsTable* SubLambdaTable() {return theSubLambdaTable;}; - G4double GetRange(G4double kineticEnergy, const G4Material* material); + G4double GetDEDX(G4double& kineticEnergy, const G4MaterialCutsCouple* couple); - G4double GetKineticEnergy(G4double range, const G4Material* material); + G4double GetRange(G4double& kineticEnergy, const G4MaterialCutsCouple* couple); - G4double GetLambda(G4double kineticEnergy, const G4Material* material); + G4double GetKineticEnergy(G4double& range, const G4MaterialCutsCouple* couple); + + G4double GetLambda(G4double kineticEnergy, const G4MaterialCutsCouple* couple); // It returns the MeanFreePath of the process for a (energy, material) - G4double MicroscopicCrossSection(G4double kineticEnergy, const G4Material* material); + G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double& length); + + G4double MicroscopicCrossSection(G4double kineticEnergy, + const G4MaterialCutsCouple* couple); // It returns the MeanFreePath of the process for a (energy, material) void SetLinearLossLimit(G4double val) {linLossLimit = val;}; void SetLossFluctuations(G4bool val) {lossFluctuationFlag = val;}; - void SetSubCutoff(G4bool val) {if(subCutoffIsDesired) subCutoffFlag = val;}; - - void SetIntegral(G4bool val) {integral = val;}; + void SetIntegral(G4bool val) {integral = val;}; void SetRandomStep(G4bool val) {rndmStepFlag = val;}; @@ -182,7 +220,9 @@ public: void SetStepLimits(G4double v1, G4double v2); - G4bool TablesAreBuilt() {return tablesAreBuilt;}; + G4bool TablesAreBuilt() const {return tablesAreBuilt;}; + + G4int NumberOfSubCutoffRegions() const {return nSCoffRegions;}; G4double MeanFreePath(const G4Track& track, G4double previousStepSize, @@ -193,31 +233,46 @@ public: G4double currentMinimumStep, G4double& currentSafety); + void ResetNumberOfInteractionLengthLeft(); + // reset (determine the value of)NumberOfInteractionLengthLeft + protected: - virtual G4double GetMeanFreePath(const G4Track& track, + virtual + G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition); - virtual G4double GetContinuousStepLimit(const G4Track& track, + virtual + G4double GetContinuousStepLimit(const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, G4double& currentSafety); - virtual const G4ParticleDefinition* DefineBaseParticle( + virtual + const G4ParticleDefinition* DefineBaseParticle( const G4ParticleDefinition*) {return 0;}; - virtual G4PhysicsVector* DEDXPhysicsVector(const G4Material*); + virtual + G4PhysicsVector* DEDXPhysicsVector(const G4MaterialCutsCouple*); - virtual G4PhysicsVector* LambdaPhysicsVector(const G4Material*); + virtual + G4PhysicsVector* LambdaPhysicsVector(const G4MaterialCutsCouple*); - virtual G4PhysicsVector* SubLambdaPhysicsVector(const G4Material*); + virtual + G4PhysicsVector* SubLambdaPhysicsVector(const G4MaterialCutsCouple*); virtual G4double MinPrimaryEnergy(const G4ParticleDefinition*, const G4Material*, G4double cut) = 0; virtual G4double MaxSecondaryEnergy(const G4DynamicParticle* dp) = 0; - + + G4VEmModel* SelectModel(G4double& kinEnergy); + + G4VSubCutoffProcessor* SubCutoffProcessor(size_t index); + + size_t CurrentMaterialCutsCoupleIndex() const {return currentMaterialIndex;}; + void SetMassRatio(G4double val) {massRatio = val;}; void SetReduceFactor(G4double val) {reduceFactor = val;}; @@ -226,19 +281,13 @@ protected: void SetChargeSquareRatio(G4double val) {chargeSqRatio = val;}; - void SetSubCutoffIsDesired(G4bool val); - private: void Clear(); - void DefineMaterial(const G4Material* material); + void DefineMaterial(const G4MaterialCutsCouple* couple); - G4PhysicsTable* BuildLambdaTable(); - - G4PhysicsTable* BuildLambdaSubTable(); - - // hide assignment operator + // hide assignment operator G4VEnergyLossSTD(G4VEnergyLossSTD &); G4VEnergyLossSTD & operator=(const G4VEnergyLossSTD &right); @@ -247,9 +296,11 @@ private: private: - G4EmModelManager* modelManager; - G4VSubCutoffProcessor* subCutoffProcessor; - G4VEmFluctuationModel* emFluctModel; + G4EmModelManager* modelManager; + G4std::vector scoffProcessors; + G4std::vector scoffRegions; + G4int nSCoffRegions; + G4std::vector idxSCoffRegions; // tables and vectors G4PhysicsTable* theDEDXTable; @@ -257,33 +308,32 @@ private: G4PhysicsTable* theSecondaryRangeTable; G4PhysicsTable* theInverseRangeTable; G4PhysicsTable* theLambdaTable; + G4PhysicsTable* theSubLambdaTable; const G4DataVector* theCuts; - G4double minKinEnergy; - G4double maxKinEnergy; - G4int nDEDXBins; - G4int nLambdaBins; - const G4ParticleDefinition* particle; const G4ParticleDefinition* baseParticle; const G4ParticleDefinition* secondaryParticle; const G4ParticleDefinition* theGamma; const G4ParticleDefinition* theElectron; + // cash + const G4Material* currentMaterial; + const G4MaterialCutsCouple* currentCouple; + size_t currentMaterialIndex; + + G4int nDEDXBins; + G4int nLambdaBins; + + G4double minKinEnergy; + G4double maxKinEnergy; + G4double massRatio; G4double reduceFactor; G4double chargeSquare; G4double chargeSqRatio; - G4bool lossFluctuationFlag; - G4bool subCutoffFlag; - G4bool subCutoffIsDesired; - G4bool rndmStepFlag; - G4bool hasRestProcess; - G4bool tablesAreBuilt; - G4bool integral; - G4double preStepLambda; G4double fRange; G4double preStepKinEnergy; @@ -291,63 +341,58 @@ private: G4double linLossLimit; G4double minSubRange; G4double dRoverRange; - //G4double maxFinalStep; G4double finalRange; - G4double c1lim; - G4double c2lim; - G4double c3lim; - // cash - const G4Material* currentMaterial; - G4int currentMaterialIndex; + G4bool lossFluctuationFlag; + G4bool rndmStepFlag; + G4bool hasRestProcess; + G4bool tablesAreBuilt; + G4bool integral; + G4bool meanFreePath; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4bool G4VEnergyLossSTD::IsApplicable(const G4ParticleDefinition& p) +inline void G4VEnergyLossSTD::DefineMaterial(const G4MaterialCutsCouple* couple) { - return (p.GetPDGCharge() != 0.0); +// G4cout << "couple= " << couple << " currentCouple= " << currentCouple << G4endl; + if(couple != currentCouple) { + currentCouple = couple; + currentMaterial = couple->GetMaterial(); + currentMaterialIndex = couple->GetIndex(); + if(integral && !meanFreePath) ResetNumberOfInteractionLengthLeft(); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::DefineMaterial(const G4Material* material) +inline G4double G4VEnergyLossSTD::GetDEDX(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) { - if(material != currentMaterial) { - currentMaterial = material; - currentMaterialIndex = material->GetIndex(); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossSTD::GetDEDX(G4double kineticEnergy, - const G4Material* material) -{ - DefineMaterial(material); + DefineMaterial(couple); G4bool b; return ((*theDEDXTable)[currentMaterialIndex]-> GetValue(kineticEnergy*massRatio, b))*chargeSqRatio; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossSTD::GetRange(G4double kineticEnergy, - const G4Material* material) + +inline G4double G4VEnergyLossSTD::GetRange(G4double& kineticEnergy, + const G4MaterialCutsCouple* couple) { - DefineMaterial(material); + DefineMaterial(couple); G4bool b; return ((*theRangeTable)[currentMaterialIndex]-> GetValue(kineticEnergy*massRatio, b))*reduceFactor; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4VEnergyLossSTD::GetKineticEnergy(G4double range, - const G4Material* material) + +inline G4double G4VEnergyLossSTD::GetKineticEnergy(G4double& range, + const G4MaterialCutsCouple* couple) { - DefineMaterial(material); + DefineMaterial(couple); G4bool b; return ((*theInverseRangeTable)[currentMaterialIndex]-> GetValue(range/reduceFactor, b))/massRatio; @@ -355,26 +400,38 @@ inline G4double G4VEnergyLossSTD::GetKineticEnergy(G4double range, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetSubCutoffIsDesired(G4bool val) +inline G4double G4VEnergyLossSTD::GetDEDXDispersion( + const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double& length) { - subCutoffIsDesired = val; + DefineMaterial(couple); + G4double tmax = MaxSecondaryEnergy(dp); + tmax = G4std::min(tmax,(*theCuts)[currentMaterialIndex]); + return modelManager->GetDEDXDispersion(currentMaterial, dp, tmax, length, + currentMaterialIndex); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline G4double G4VEnergyLossSTD::GetMeanFreePath(const G4Track& track, G4double, G4ForceCondition* cond) { - G4bool b; *cond = NotForced; - - DefineMaterial(track.GetMaterial()); + + DefineMaterial(track.GetMaterialCutsCouple()); preStepKinEnergy = track.GetKineticEnergy(); - preStepLambda = (((*theLambdaTable)[currentMaterialIndex])-> - GetValue(preStepKinEnergy, b)) * chargeSqRatio; + preStepScaledEnergy = preStepKinEnergy*massRatio; + if (meanFreePath) { + G4bool b; + preStepLambda = (((*theLambdaTable)[currentMaterialIndex])-> + GetValue(preStepScaledEnergy, b)) * chargeSqRatio; + if (integral) meanFreePath = false; + } G4double x = DBL_MAX; if(0.0 < preStepLambda) x = 1.0/preStepLambda; +// G4cout << GetProcessName() << ": e= " << preStepKinEnergy << " mfp= " << x << G4endl; return x; } @@ -384,137 +441,132 @@ inline G4double G4VEnergyLossSTD::GetContinuousStepLimit(const G4Track&, G4double, G4double, G4double&) { G4double x = DBL_MAX; - preStepScaledEnergy = preStepKinEnergy*massRatio; - if(theRangeTable) { - G4bool b; + if (theRangeTable) { + G4bool b; fRange = ((*theRangeTable)[currentMaterialIndex])-> - GetValue(preStepScaledEnergy, b)*reduceFactor; - - if(integral || fRange <= finalRange) { - x = fRange; + GetValue(preStepScaledEnergy, b)*reduceFactor; + x = fRange; - } else { - x = c1lim*fRange+c2lim+c3lim/fRange; - if(rndmStepFlag) x = finalRange + (x-finalRange)*G4UniformRand(); - if(x > fRange) x = fRange; + if( !integral ) { + G4double r = G4std::min(finalRange, currentCouple->GetProductionCuts() + ->GetProductionCut(idxG4ElectronCut)); + if (fRange > r) { + + x = dRoverRange*fRange + r*(1.0 - dRoverRange)*(2.0 - r/fRange); + if(rndmStepFlag) x = r + (x-r)*G4UniformRand(); + if(x > fRange) x = fRange; + } } - } - + return x; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetParticle(const G4ParticleDefinition* p) +inline void G4VEnergyLossSTD::ResetNumberOfInteractionLengthLeft() { - particle = p; - if(!baseParticle) baseParticle = DefineBaseParticle(particle); -} + meanFreePath = true; + G4VProcess::ResetNumberOfInteractionLengthLeft(); +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetBaseParticle(const G4ParticleDefinition* p) +inline G4VEmModel* G4VEnergyLossSTD::SelectModel(G4double& kinEnergy) { - baseParticle = p; -} + return modelManager->SelectModel(kinEnergy, currentMaterialIndex); +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetSecondaryParticle(const G4ParticleDefinition* p) -{ - secondaryParticle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline const G4ParticleDefinition* G4VEnergyLossSTD::Particle() const +inline const G4ParticleDefinition* G4VEnergyLossSTD::Particle() const { return particle; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline const G4ParticleDefinition* G4VEnergyLossSTD::BaseParticle() const +inline const G4ParticleDefinition* G4VEnergyLossSTD::BaseParticle() const { return baseParticle; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline const G4ParticleDefinition* G4VEnergyLossSTD::SecondaryParticle() const +inline const G4ParticleDefinition* G4VEnergyLossSTD::SecondaryParticle() const { return secondaryParticle; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetDEDXBinning(G4int nbins) +inline void G4VEnergyLossSTD::SetDEDXBinning(G4int nbins) { nDEDXBins = nbins; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4int G4VEnergyLossSTD::DEDXBinning() const +inline G4int G4VEnergyLossSTD::DEDXBinning() const { return nDEDXBins; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetLambdaBinning(G4int nbins) +inline void G4VEnergyLossSTD::SetLambdaBinning(G4int nbins) { nLambdaBins = nbins; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4int G4VEnergyLossSTD::LambdaBinning() const +inline G4int G4VEnergyLossSTD::LambdaBinning() const { return nLambdaBins; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetMinKinEnergy(G4double e) +inline void G4VEnergyLossSTD::SetMinKinEnergy(G4double e) { minKinEnergy = e; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossSTD::MinKinEnergy() const +inline G4double G4VEnergyLossSTD::MinKinEnergy() const { return minKinEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetMaxKinEnergy(G4double e) -{ +inline void G4VEnergyLossSTD::SetMaxKinEnergy(G4double e) +{ maxKinEnergy = e; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossSTD::MaxKinEnergy() const +inline G4double G4VEnergyLossSTD::MaxKinEnergy() const { return maxKinEnergy; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossSTD::GetLambda(G4double kineticEnergy, - const G4Material* material) +inline G4double G4VEnergyLossSTD::GetLambda(G4double kineticEnergy, + const G4MaterialCutsCouple* couple) { - DefineMaterial(material); + DefineMaterial(couple); G4double x = DBL_MAX; G4bool b; if(theLambdaTable) { G4double y = (((*theLambdaTable)[currentMaterialIndex])-> - GetValue(kineticEnergy, b)); + GetValue(kineticEnergy*massRatio, b)); if(y > 0.0) x = 1.0/y; } return x; @@ -522,18 +574,13 @@ inline G4double G4VEnergyLossSTD::GetLambda(G4double kineticEnergy, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4VEnergyLossSTD::SetStepLimits(G4double v1, G4double v2) +inline G4VSubCutoffProcessor* G4VEnergyLossSTD::SubCutoffProcessor(size_t index) { - dRoverRange = v1; - finalRange = v2; - c1lim=dRoverRange; - c2lim=2.*(1-dRoverRange)*finalRange; - c3lim=-(1.-dRoverRange)*finalRange*finalRange; + G4VSubCutoffProcessor* p = 0; + if( nSCoffRegions ) p = scoffProcessors[idxSCoffRegions[index]]; + return p; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif - - - diff --git a/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh new file mode 100644 index 0000000000..711b2cb2d0 --- /dev/null +++ b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh @@ -0,0 +1,416 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class header file +// +// +// File name: G4VMultipleScattering +// +// Author: Vladimir Ivanchenko on base of Laszlo Urban code +// +// Creation date: 12.03.2002 +// +// Modifications: +// +// +// Class Description: +// +// It is the generic process of multiple scattering it includes common +// part of calculations for all charged particles + +// ------------------------------------------------------------------- +// + +#ifndef G4VMultipleScattering_h +#define G4VMultipleScattering_h 1 + +#include "G4VContinuousDiscreteProcess.hh" +#include "G4LossTableManager.hh" +#include "globals.hh" +#include "G4Material.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ParticleChangeForMSC.hh" +#include "G4Track.hh" +#include "G4EmModelManager.hh" + +class G4Step; +class G4ParticleDefinition; +class G4VEmModel; +class G4DataVector; +class G4Navigator; +class G4PhysicsTable; +class G4PhysicsVector; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +class G4VMultipleScattering : public G4VContinuousDiscreteProcess +{ +public: + + G4VMultipleScattering(const G4String& name = "msc", + G4ProcessType type = fElectromagnetic); + + ~G4VMultipleScattering(); + + virtual G4bool IsApplicable(const G4ParticleDefinition& p) = 0; + // True for all charged particles + + virtual void BuildPhysicsTable(const G4ParticleDefinition&); + // Build physics table during initialisation + + G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); + + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); + + G4double AlongStepGetPhysicalInteractionLength( + const G4Track&, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety, + G4GPILSelection* selection); + // The function overloads the corresponding function of the base + // class.It limits the step near to boundaries only + // and invokes the method GetContinuousStepLimit at every step. + + virtual void PrintInfoDefinition() const; + // Print out of the class parameters + + void SetBinning(G4int nbins); + G4int Binning() const; + // Print out of the class parameters + + void SetMinKinEnergy(G4double e); + G4double MinKinEnergy() const; + // Print out of the class parameters + + void SetMaxKinEnergy(G4double e); + G4double MaxKinEnergy() const; + // Print out of the class parameters + + G4bool StorePhysicsTable(G4ParticleDefinition*, + const G4String& directory, + G4bool ascii = false); + // Store PhysicsTable in a file. + // Return false in case of failure at I/O + + G4bool RetrievePhysicsTable(G4ParticleDefinition*, + const G4String& directory, + G4bool ascii); + // Retrieve Physics from a file. + // (return true if the Physics Table can be build by using file) + // (return false if the process has no functionality or in case of failure) + // File name should is constructed as processName+particleName and the + // should be placed under the directory specifed by the argument. + + void AddEmModel(G4int, G4VEmModel*, const G4Region* region = 0); + + G4double ContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety); + // This method does not used for tracking, it is intended only for tests + + G4bool LateralDisplasmentFlag() const; + void SetLateralDisplasmentFlag(G4bool val); + // lateral displacement to be/not to be computed + + G4bool BoundaryAlgorithmFlag() const; + void SetBoundary(G4bool val); + // boundary algorith is/isnt active + + void SetBuildLambdaTable(G4bool val); + + virtual G4double TruePathLengthLimit(const G4Track& track, + G4double& lambda, + G4double currentMinimalStep) = 0; + + +protected: + + virtual void InitialiseProcess(const G4ParticleDefinition&) = 0; + + G4double GetMeanFreePath(const G4Track& track, + G4double, + G4ForceCondition* condition); + // This method is used for tracking, it returns mean free path value + + G4double GetLambda(const G4ParticleDefinition* p, G4double& kineticEnergy); + + G4double GetContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety); + // This method is used for tracking, it returns step limit + + virtual G4PhysicsVector* PhysicsVector(const G4MaterialCutsCouple*); + // Build empty Physics Vector + + void SelectModel(G4double& kinEnergy); + // Select concrete model + + size_t CurrentMaterialCutsCoupleIndex() const {return currentMaterialIndex;}; + // Return current index + + G4double CurrentRange() const {return currentRange;}; + +private: + + void DefineMaterial(const G4MaterialCutsCouple* couple); + // define current material + + // hide assignment operator + + G4VMultipleScattering(G4VMultipleScattering &); + G4VMultipleScattering & operator=(const G4VMultipleScattering &right); + +// ===================================================================== + +private: + + G4ParticleChangeForMSC fParticleChange; + G4EmModelManager* modelManager; + G4Navigator* navigator; + G4VEmModel* currentModel; + + // tables and vectors + G4PhysicsTable* theLambdaTable; + + // cash + const G4Material* currentMaterial; + const G4MaterialCutsCouple* currentCouple; + size_t currentMaterialIndex; + + G4int nBins; + + G4double minKinEnergy; + G4double maxKinEnergy; + + G4double trueStepLength; + G4double truePathLength; + G4double geomPathLength; + G4double lambda0; + G4double currentRange; + + G4GPILSelection valueGPILSelectionMSC; + G4bool boundary; + G4bool latDisplasment; + G4bool buildLambdaTable; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::DefineMaterial(const G4MaterialCutsCouple* couple) +{ + if(couple != currentCouple) { + currentCouple = couple; + currentMaterial = couple->GetMaterial(); + currentMaterialIndex = couple->GetIndex(); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::GetMeanFreePath(const G4Track& track, + G4double, + G4ForceCondition* cond) +{ + *cond = Forced; + return DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4double G4VMultipleScattering::AlongStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety, + G4GPILSelection* selection) +{ + // get Step limit proposed by the process + valueGPILSelectionMSC = NotCandidateForSelection; + G4double steplength = GetContinuousStepLimit(track,previousStepSize, + currentMinimalStep,currentSafety); + // set return value for G4GPILSelection + *selection = valueGPILSelectionMSC; + return steplength; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::GetContinuousStepLimit( + const G4Track& track, + G4double, + G4double currentMinimalStep, + G4double&) +{ + DefineMaterial(track.GetMaterialCutsCouple()); + G4double e = track.GetKineticEnergy(); + SelectModel(e); + const G4ParticleDefinition* p = track.GetDefinition(); + lambda0 = GetLambda(p, e); + currentRange = G4LossTableManager::Instance()->GetRange(p,e,currentCouple); + truePathLength = TruePathLengthLimit(track,lambda0,currentMinimalStep); + //G4cout << "StepLimit: tpl= " << truePathLength << " lambda0= " + // << lambda0 << " range= " << currentRange + // << " currentMinStep= " << currentMinimalStep << G4endl; + if (truePathLength < currentMinimalStep) valueGPILSelectionMSC = CandidateForSelection; + geomPathLength = currentModel->GeomPathLength(theLambdaTable,currentCouple, + p,e,lambda0,currentRange,truePathLength); + if(geomPathLength > lambda0) geomPathLength = lambda0; + return geomPathLength; +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::ContinuousStepLimit( + const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety) +{ + return GetContinuousStepLimit(track,previousStepSize,currentMinimalStep, + currentSafety); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::GetLambda(const G4ParticleDefinition* p, G4double& e) +{ + G4double x; + if(theLambdaTable) { + G4bool b; + x = ((*theLambdaTable)[currentMaterialIndex])->GetValue(e, b); + + } else { + x = currentModel->CrossSection(currentMaterial,p,e,0.0,1.0); + } + return x; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4VParticleChange* G4VMultipleScattering::AlongStepDoIt( + const G4Track& track, + const G4Step& step) +{ + fParticleChange.Initialize(track); + G4double geomStepLength = step.GetStepLength(); + if (geomStepLength == geomPathLength) trueStepLength = truePathLength; + else trueStepLength = currentModel->TrueStepLength(geomStepLength); + fParticleChange.SetTrueStepLength(trueStepLength); +// G4cout << "AlongStep: trueLength= " << trueStepLength << " geomLength= "<< geomStepLength << " zlast= " << geomPathLength << G4endl; + return &fParticleChange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SelectModel(G4double& kinEnergy) +{ + currentModel = modelManager->SelectModel(kinEnergy, currentMaterialIndex); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetBinning(G4int nbins) +{ + nBins = nbins; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4int G4VMultipleScattering::Binning() const +{ + return nBins; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetMinKinEnergy(G4double e) +{ + minKinEnergy = e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::MinKinEnergy() const +{ + return minKinEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetMaxKinEnergy(G4double e) +{ + maxKinEnergy = e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::MaxKinEnergy() const +{ + return maxKinEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4bool G4VMultipleScattering::LateralDisplasmentFlag() const +{ + return latDisplasment; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetLateralDisplasmentFlag(G4bool val) +{ + latDisplasment = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4bool G4VMultipleScattering::BoundaryAlgorithmFlag() const +{ + return boundary; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetBoundary(G4bool val) +{ + boundary = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetBuildLambdaTable(G4bool val) +{ + buildLambdaTable = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#endif diff --git a/source/processes/electromagnetic/utils/include/G4VSubCutoffProcessor.hh b/source/processes/electromagnetic/utils/include/G4VSubCutoffProcessor.hh index 2bd189d934..336c9973e6 100644 --- a/source/processes/electromagnetic/utils/include/G4VSubCutoffProcessor.hh +++ b/source/processes/electromagnetic/utils/include/G4VSubCutoffProcessor.hh @@ -34,7 +34,11 @@ // // Modifications: // -// Class Description: +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 29-12-02 Change interface (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// +// Class Description: // // Abstract class for interface to simualtion of subCutoff @@ -51,30 +55,34 @@ class G4Step; class G4Track; class G4ParticleDefinition; -class G4DynamicParticle; -class G4EmModelManager; +class G4VEmModel; +class G4DataVector; class G4PhysicsTable; -class G4VSubCutoffProcessor +class G4VSubCutoffProcessor { public: - G4VSubCutoffProcessor() {}; + G4VSubCutoffProcessor(const G4String& nam): name(nam) {}; virtual ~G4VSubCutoffProcessor() {}; - virtual G4std::vector* SampleSecondary(const G4Step& step, - const G4DynamicParticle*, - G4double meanLoss) {return 0;}; + virtual G4std::vector* SampleSecondaries(const G4Step&, + G4double& tmax, + G4double& meanLoss, + G4VEmModel*) = 0; - virtual void Initialise(const G4ParticleDefinition*, - const G4ParticleDefinition*, - G4EmModelManager* ) {}; + virtual void Initialise(const G4ParticleDefinition*, + const G4ParticleDefinition*, + const G4DataVector*, + const G4DataVector*) = 0; - virtual void SetLambdaSubTable(G4PhysicsTable*) {}; + virtual void SetLambdaSubTable(G4PhysicsTable*) = 0; - virtual G4PhysicsTable* LambdaSubTable() {return 0;}; + virtual G4PhysicsTable* LambdaSubTable() = 0; + + G4String GetName() const {return name;}; protected: @@ -84,6 +92,7 @@ private: G4VSubCutoffProcessor & operator=(const G4VSubCutoffProcessor &right); G4VSubCutoffProcessor(const G4VSubCutoffProcessor&); + const G4String name; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4BetheBlochModel.cc b/source/processes/electromagnetic/utils/src/G4BetheBlochModel.cc index 30281d6bc3..40e60b92cd 100644 --- a/source/processes/electromagnetic/utils/src/G4BetheBlochModel.cc +++ b/source/processes/electromagnetic/utils/src/G4BetheBlochModel.cc @@ -29,10 +29,15 @@ // File name: G4BetheBlochModel // // Author: Vladimir Ivanchenko on base of Laszlo Urban code -// +// // Creation date: 03.01.2002 // -// Modifications: 04.12.2002 VI Fix problem of G4DynamicParticle constructor +// Modifications: +// +// 04-12-02 Fix problem of G4DynamicParticle constructor (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -47,13 +52,13 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4BetheBlochModel::G4BetheBlochModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4BetheBlochModel::G4BetheBlochModel(const G4ParticleDefinition* p, const G4String& nam) + : G4VEmModel(nam), particle(0), highKinEnergy(100.*TeV), lowKinEnergy(2.0*MeV), twoln10(2.0*log(10.0)), - bg2lim(0.0169), + bg2lim(0.0169), taulim(8.4146e-3) { if(p) SetParticle(p); @@ -61,12 +66,12 @@ G4BetheBlochModel::G4BetheBlochModel(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4BetheBlochModel::~G4BetheBlochModel() +G4BetheBlochModel::~G4BetheBlochModel() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4BetheBlochModel::SetParticle(const G4ParticleDefinition* p) +void G4BetheBlochModel::SetParticle(const G4ParticleDefinition* p) { particle = p; mass = particle->GetPDGMass(); @@ -80,17 +85,15 @@ void G4BetheBlochModel::SetParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4BetheBlochModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4BetheBlochModel::HighEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4BetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4BetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return lowKinEnergy; @@ -99,32 +102,39 @@ G4double G4BetheBlochModel::LowEnergyLimit(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4BetheBlochModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material* material) + const G4MaterialCutsCouple* couple) { - return material->GetIonisation()->GetMeanExcitationEnergy(); + return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4BetheBlochModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4BetheBlochModel::IsInCharge(const G4ParticleDefinition* p) { + if(!particle) SetParticle(p); return (p->GetPDGCharge() != 0.0 && p->GetPDGMass() > 10.*MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4BetheBlochModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + if(!particle) SetParticle(p); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4BetheBlochModel::ComputeDEDX(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, - G4double cutEnergy) + G4double cutEnergy) { - if(!particle) SetParticle(p); G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); G4double tau = kineticEnergy/mass; G4double x = 1.0; if(cutEnergy < tmax) x = cutEnergy/tmax; - G4double gam = tau + 1.0; + G4double gam = tau + 1.0; G4double beta2 = 1. - 1./(gam*gam); G4double bg2 = tau * (tau+2.0); @@ -190,24 +200,23 @@ G4double G4BetheBlochModel::CrossSection(const G4Material* material, G4double cutEnergy, G4double maxEnergy) { - if(!particle) SetParticle(p); G4double cross = 0.0; G4double tmax = G4std::min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy); if(cutEnergy < tmax) { - + G4double x = cutEnergy/tmax; G4double energy = kineticEnergy + mass; G4double gam = energy/mass; G4double beta2 = 1. - 1./(gam*gam); cross = (1.0 - x*(1.0 - beta2*log(x)))/cutEnergy; - + // +term for spin=1/2 particle if( 0.5 == spin ) { cross += 0.5 * (tmax - cutEnergy) / (energy*energy); - + // +term for spin=1 particle } else if( 0.9 < spin ) { - + cross += -log(x)/(3.0*qc) + (tmax - cutEnergy) * ((1.0+ 0.25*tmax*(1.0 + x)/qc)/(energy*energy) - beta2 / (tmax * qc) )/3.0; @@ -222,11 +231,11 @@ G4double G4BetheBlochModel::CrossSection(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4BetheBlochModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4BetheBlochModel::SampleSecondary( + const G4MaterialCutsCouple* couple, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) { G4double tmax = MaxSecondaryEnergy(dp); G4double xmin = tmin/tmax; @@ -253,7 +262,7 @@ G4std::vector* G4BetheBlochModel::SampleSecondary( } G4double z, f; - // sampling follows ... + // sampling follows ... do { G4double q = G4UniformRand(); z = xmin*xmax/(xmin*(1.0 - q) + xmax*q); @@ -267,34 +276,48 @@ G4std::vector* G4BetheBlochModel::SampleSecondary( G4cout << "G4BetheBlochModel::SampleSecondary Warning! " << "Majorant " << grej << " < " << f << " for x= " << z - << G4endl; + << G4endl; } } while( grej*G4UniformRand() > f ); - + G4double deltaKinEnergy = z * tmax; - - G4double deltaMomentum = + + G4double deltaMomentum = sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); G4double cost = deltaKinEnergy * (energy + electron_mass_c2) / (deltaMomentum * totMomentum); G4double sint = sqrt(1.0 - cost*cost); - - G4double phi = twopi * G4UniformRand() ; + + G4double phi = twopi * G4UniformRand() ; G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost) ; deltaDirection.rotateUz(momentum); - + // create G4DynamicParticle object for delta ray G4DynamicParticle* delta = new G4DynamicParticle(); delta->SetDefinition(G4Electron::Electron()); delta->SetKineticEnergy(deltaKinEnergy); delta->SetMomentumDirection(deltaDirection); + + return delta; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4BetheBlochModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* delta = SampleSecondary(couple, dp, tmin, maxEnergy); vdp->push_back(delta); return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/source/processes/electromagnetic/utils/src/G4BohrFluctuations.cc b/source/processes/electromagnetic/utils/src/G4BohrFluctuations.cc new file mode 100644 index 0000000000..4ce87cc493 --- /dev/null +++ b/source/processes/electromagnetic/utils/src/G4BohrFluctuations.cc @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4BohrFluctuations +// +// Author: Vladimir Ivanchenko +// +// Creation date: 02.04.2003 +// +// Modifications: +// +// +// Class Description: Sampling of Gaussion fluctuations +// +// ------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4BohrFluctuations.hh" +#include "Randomize.hh" +#include "G4Poisson.hh" +#include "G4ParticleDefinition.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4BohrFluctuations::G4BohrFluctuations(const G4String& nam) + :G4VEmFluctuationModel(nam), + minNumberInteractionsBohr(10.0), + minFraction(0.2) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4BohrFluctuations::~G4BohrFluctuations() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4BohrFluctuations::Initialise(const G4ParticleDefinition* part) +{ + particle = part; + particleMass = part->GetPDGMass(); + G4double q = part->GetPDGCharge()/eplus; + chargeSquare = q*q; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4BohrFluctuations::SampleFluctuations(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& meanLoss) +{ + G4double siga = Dispersion(material,dp,tmax,length); + G4double loss = meanLoss; + + // Gaussian fluctuation + if (meanLoss >= minNumberInteractionsBohr*tmax) { + + // Increase fluctuations for big fractional energy loss + if ( meanLoss > minFraction*kineticEnergy ) { + G4double gam = (kineticEnergy - meanLoss)/particleMass + 1.0; + G4double b2 = 1.0 - 1.0/(gam*gam); + G4double x = b2/beta2; + G4double x3 = 1.0/(x*x*x); + siga *= 0.25*(1.0 + x)*(x3 + (1.0/b2 - 0.5)/(1.0/beta2 - 0.5) ); + } + siga = sqrt(siga); + do { + loss = G4RandGauss::shoot(meanLoss,siga); + } while (loss < 0. || loss > 2.*meanLoss); + + // Poisson fluctuations + } else { + G4double navr = meanLoss*meanLoss/siga; + G4double n = (G4double)G4Poisson(navr); + loss = meanLoss*n/navr; + } + + return loss; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + diff --git a/source/processes/electromagnetic/utils/src/G4BraggModel.cc b/source/processes/electromagnetic/utils/src/G4BraggModel.cc index 5d81728738..33d7c5e781 100644 --- a/source/processes/electromagnetic/utils/src/G4BraggModel.cc +++ b/source/processes/electromagnetic/utils/src/G4BraggModel.cc @@ -32,12 +32,17 @@ // // Creation date: 03.01.2002 // -// Modifications: 04.12.2002 VI Fix problem of G4DynamicParticle constructor +// Modifications: // -// Class Description: +// 04-12-02 Fix problem of G4DynamicParticle constructor (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) + +// Class Description: // -// Implementation of energy loss and delta-electron production by -// slow charged heavy particles +// Implementation of energy loss and delta-electron production by +// slow charged heavy particles // ------------------------------------------------------------------- // @@ -52,8 +57,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4BraggModel::G4BraggModel(const G4ParticleDefinition* p) - : G4VEmModel(), +G4BraggModel::G4BraggModel(const G4ParticleDefinition* p, const G4String& nam) + : G4VEmModel(nam), particle(0), highKinEnergy(2.0*MeV), lowKinEnergy(0.0*MeV), @@ -66,12 +71,12 @@ G4BraggModel::G4BraggModel(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4BraggModel::~G4BraggModel() +G4BraggModel::~G4BraggModel() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4BraggModel::SetParticle(const G4ParticleDefinition* p) +void G4BraggModel::SetParticle(const G4ParticleDefinition* p) { particle = p; mass = particle->GetPDGMass(); @@ -85,17 +90,15 @@ void G4BraggModel::SetParticle(const G4ParticleDefinition* p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4BraggModel::HighEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4BraggModel::HighEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return highKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4BraggModel::LowEnergyLimit(const G4ParticleDefinition* p, - const G4Material*) +G4double G4BraggModel::LowEnergyLimit(const G4ParticleDefinition* p) { if(!particle) SetParticle(p); return lowKinEnergy; @@ -104,27 +107,34 @@ G4double G4BraggModel::LowEnergyLimit(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4BraggModel::MinEnergyCut(const G4ParticleDefinition* p, - const G4Material* material) + const G4MaterialCutsCouple* couple) { - return material->GetIonisation()->GetMeanExcitationEnergy(); + return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4BraggModel::IsInCharge(const G4ParticleDefinition* p, - const G4Material*) +G4bool G4BraggModel::IsInCharge(const G4ParticleDefinition* p) { + if(!particle) SetParticle(p); return (p->GetPDGCharge() != 0.0 && p->GetPDGMass() > 10.*MeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4BraggModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + if(!particle) SetParticle(p); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + G4double G4BraggModel::ComputeDEDX(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, - G4double cutEnergy) + G4double cutEnergy) { - if(!particle) SetParticle(p); G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); G4double dedx = DEDX(material, kineticEnergy/massRate); @@ -133,20 +143,20 @@ G4double G4BraggModel::ComputeDEDX(const G4Material* material, G4double x = cutEnergy/tmax; G4double tau = kineticEnergy/mass; - G4double gam = tau + 1.0; + G4double gam = tau + 1.0; G4double beta2 = 1. - 1./(gam*gam); - // G4double bg2 = tau * (tau+2.0); - dedx += (log(x) + (1.0 - x)*beta2) * twopi_mc2_rcl2 + // G4double bg2 = tau * (tau+2.0); + dedx += (log(x) + (1.0 - x)*beta2) * twopi_mc2_rcl2 * (material->GetElectronDensity())/beta2; - } - + } + // now compute the total ionization loss if (dedx < 0.0) dedx = 0.0 ; - + dedx *= chargeSquare; - - return dedx; + + return dedx; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -155,9 +165,9 @@ G4double G4BraggModel::CrossSection(const G4Material* material, const G4ParticleDefinition* p, G4double kineticEnergy, G4double cutEnergy, - G4double maxEnergy) + G4double maxEnergy) { - if(!particle) SetParticle(p); + G4double cross = 0.0; G4double tmax = G4std::min(MaxSecondaryEnergy(p, kineticEnergy), maxEnergy); if(cutEnergy < tmax) { @@ -177,11 +187,11 @@ G4double G4BraggModel::CrossSection(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4BraggModel::SampleSecondary( - const G4Material* material, +G4DynamicParticle* G4BraggModel::SampleSecondary( + const G4MaterialCutsCouple*, const G4DynamicParticle* dp, G4double tmin, - G4double maxEnergy) + G4double maxEnergy) { G4double tmax = MaxSecondaryEnergy(dp); G4double xmin = tmin/tmax; @@ -193,10 +203,10 @@ G4std::vector* G4BraggModel::SampleSecondary( G4double beta2 = 1. - mass*mass/(energy*energy); G4double grej = 1.0 - beta2*xmin; G4double z, f; - + G4ThreeVector momentum = dp->GetMomentumDirection(); - // sampling follows ... + // sampling follows ... do { G4double q = G4UniformRand(); z = xmin*xmax/(xmin*(1.0 - q) + xmax*q); @@ -207,21 +217,21 @@ G4std::vector* G4BraggModel::SampleSecondary( G4cout << "G4BraggModel::SampleSecondary Warning! " << "Majorant " << grej << " < " << f << " for x= " << z - << G4endl; + << G4endl; } } while( grej*G4UniformRand() >= f ); - + G4double deltaKinEnergy = z * tmax; - - G4double deltaMomentum = + + G4double deltaMomentum = sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); G4double totMomentum = sqrt(energy*energy - mass*mass); G4double cost = deltaKinEnergy * (energy + electron_mass_c2) / (deltaMomentum * totMomentum); G4double sint = sqrt(1.0 - cost*cost); - - G4double phi = twopi * G4UniformRand() ; + + G4double phi = twopi * G4UniformRand() ; G4ThreeVector deltaDirection(sint*cos(phi),sint*sin(phi), cost) ; deltaDirection.rotateUz(momentum); @@ -232,7 +242,19 @@ G4std::vector* G4BraggModel::SampleSecondary( delta->SetKineticEnergy(deltaKinEnergy); delta->SetMomentumDirection(deltaDirection); + return delta; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4std::vector* G4BraggModel::SampleSecondaries( + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) +{ G4std::vector* vdp = new G4std::vector; + G4DynamicParticle* delta = SampleSecondary(couple, dp, tmin, maxEnergy); vdp->push_back(delta); return vdp; @@ -240,7 +262,7 @@ G4std::vector* G4BraggModel::SampleSecondary( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4BraggModel::HasMaterial(const G4Material* material) +G4bool G4BraggModel::HasMaterial(const G4Material* material) { G4String chFormula = material->GetChemicalFormula() ; G4String myFormula = G4String(" ") ; @@ -251,10 +273,10 @@ G4bool G4BraggModel::HasMaterial(const G4Material* material) } // ICRU Report N49, 1993. Power's model for He. - const size_t numberOfMolecula = 11 ; + const size_t numberOfMolecula = 11 ; static G4String name[numberOfMolecula] = { - "Al_2O_3", "CO_2", "CH_4", - "(C_2H_4)_N-Polyethylene", "(C_2H_4)_N-Polypropylene", "(C_8H_8)_N", + "Al_2O_3", "CO_2", "CH_4", + "(C_2H_4)_N-Polyethylene", "(C_2H_4)_N-Polypropylene", "(C_8H_8)_N", "C_3H_8", "SiO_2", "H_2O", "H_2O-Gas", "Graphite" } ; @@ -335,7 +357,7 @@ G4double G4BraggModel::StoppingPower(const G4Material* material, } return ionloss; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -655,7 +677,7 @@ G4double G4BraggModel::ChemicalFactor(G4double kineticEnergy, G4double factor = 1.0 + (expStopPower125/eloss125 - 1.0) * (1.0 + exp( 1.48 * ( beta125/beta25 - 7.0 ) ) ) / (1.0 + exp( 1.48 * ( beta/beta25 - 7.0 ) ) ) ; - + return factor ; } diff --git a/source/processes/electromagnetic/utils/src/G4EmModelManager.cc b/source/processes/electromagnetic/utils/src/G4EmModelManager.cc index 6b1d763a08..2f2de96710 100644 --- a/source/processes/electromagnetic/utils/src/G4EmModelManager.cc +++ b/source/processes/electromagnetic/utils/src/G4EmModelManager.cc @@ -28,15 +28,23 @@ // // File name: G4EmModelManager // -// Author: Vladimir Ivanchenko -// +// Author: Vladimir Ivanchenko +// // Creation date: 07.05.2002 // -// Modifications: +// Modifications: // -// Class Description: +// 23-12-02 V.Ivanchenko change interface in order to move +// to cut per region +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 The set of models is defined for region (V.Ivanchenko) +// 06-03-03 Fix in energy intervals for models (V.Ivanchenko) +// 13-04-03 Add startFromNull (V.Ivanchenko) // -// It is the unified energy loss process it calculates the continuous +// Class Description: +// +// It is the unified energy loss process it calculates the continuous // energy loss for charged particles using a set of Energy Loss // models valid for different energy regions. There are a possibility // to create and access to dE/dx and range tables, or to calculate @@ -45,41 +53,88 @@ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + #include "G4EmModelManager.hh" #include "G4LossTableManager.hh" #include "G4Step.hh" #include "G4ParticleDefinition.hh" -#include "G4VEmModel.hh" #include "G4DataVector.hh" #include "G4PhysicsVector.hh" -#include "G4VParticleChange.hh" +#include "G4Gamma.hh" #include "G4Positron.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + +G4RegionModels::G4RegionModels(G4int nMod, G4std::vector& list, G4DataVector& lowE) +{ + nModelsForRegion = nMod; + theListOfModelIndexes = new G4int [nModelsForRegion]; + lowKineticEnergy = new G4double [nModelsForRegion]; + for (G4int i=0; i= orderOfModels[idx] && num <= orderOfModels[idx+1]) idx++; + if (idx < nEmModels) { + models[nEmModels] = models[idx]; + flucModels[nEmModels] = flucModels[idx]; + regions[nEmModels] = regions[idx]; + orderOfModels[nEmModels] = orderOfModels[idx]; + models[idx] = p; + flucModels[idx] = fm; + regions[idx] = r; + orderOfModels[idx] = num; + } + } + nEmModels++; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +const G4DataVector* G4EmModelManager::Initialise(const G4ParticleDefinition* p, const G4ParticleDefinition* sp, G4double theMinSubRange, G4int val) { // Are models defined? if(!nEmModels) { - G4Exception("G4EmModelManager::Initialise without any model defined"); + G4Exception("G4EmModelManager::Initialise without any model defined"); } particle = p; secondaryParticle = sp; @@ -112,188 +201,161 @@ const G4DataVector* G4EmModelManager::Initialise(const G4ParticleDefinition* p, verboseLevel = val; if(0 < verboseLevel) { - G4cout << "G4EmModelManager::Initialise() for " - << p->GetParticleName() + G4cout << "### G4EmModelManager::Initialise() for " + << p->GetParticleName() << G4endl; } + Clear(); - // Ordering - if(orderIsChanged) { - G4int oldOrder[5]; - G4VEmModel* oldEmModels[5]; - for(G4int k = 0; kGetRegion("DefaultRegionForTheWorld", false); + // Identify the list of regions with different set of models + nRegions = 1; + G4std::vector set; + set.push_back(world); - for(G4int ik=0; ik1) { + for (G4int j=1; jGetTableSize(); + idxOfRegionModels.resize(numOfCouples); + upperEkin.resize(nEmModels); - G4int n = 0; + // Order models for regions + for (G4int reg=0; regIsInCharge(particle, 0)) { + G4std::vector modelAtRegion; + G4DataVector eLow; + G4DataVector eHigh; + modelAtRegion.clear(); + eLow.clear(); + eHigh.clear(); - G4double tmin = model->LowEnergyLimit(particle, 0); - G4double tmax = model->HighEnergyLimit(particle, 0); + for (G4int ii=0; iiGetName() << "> " + << " tmin(MeV)= " << tmin/MeV + << "; tmax(MeV)= " << tmax/MeV << G4endl; - } + } - if(tmax > tmin) { - - if(n == 0 || tmax > upperEkin[n-1]) { - - // First model or next model for more high energy range; - upperEkin[n] = (tmax); - if(0 < n) tmin = G4std::max(tmin, upperEkin[n-1]); - eLow.push_back(tmin); - n++; - accepted = true; - - } else { - - G4cout << "The model number #" << j - << " has no active range " - << "; tmax(MeV)= " << tmax/MeV - << "; tlast(MeV)= " << ep/MeV - << G4endl; + if (tmin < tmax) { + modelAtRegion.push_back(ii); + eLow.push_back(tmin); + eHigh.push_back(tmax); + upperEkin[ii] = tmax; + n++; } - - } else { - - G4cout << "The model number #" << j - << " has no active range " - << "; tmin(MeV)= " << tmin/MeV - << "; tmax(MeV)= " << tmax/MeV - << G4endl; } } - if(!accepted) { - upperEkin[n] = ep; - eLow.push_back(ep); - n++; + eLow[0] = 0.0; + + if(1 < verboseLevel) { + G4cout << "New G4RegionModels set with " << n << " models for region <" + << region->GetName() << "> " << G4endl; } + G4RegionModels* rm = new G4RegionModels(n, modelAtRegion, eLow); + setOfRegionModels.push_back(rm); } // Access to materials and build cuts - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); + for(size_t i=0; iGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); + const G4ProductionCuts* pcuts = couple->GetProductionCuts(); + G4int reg = nRegions; + do {reg--;} while (reg>0 && pcuts != (set[reg]->GetProductionCuts())); + idxOfRegionModels[i] = reg; if(1 < verboseLevel) { - G4cout << "G4EmModelManager::Initialise() for " + G4cout << "G4EmModelManager::Initialise() for " << material->GetName() << G4endl; } G4double cut = 0.0; G4double subcut = 0.0; if(secondaryParticle) { - cut = secondaryParticle->GetEnergyThreshold(material); + size_t idx = 1; + if( secondaryParticle == G4Gamma::Gamma() ) idx = 0; + cut = (*theCoupleTable->GetEnergyCutsVector(idx))[i]; subcut = minSubRange*cut; } - for(G4int j=0; jNumberOfModels(); + for(G4int j=0; j eLow[j]) { + G4VEmModel* model = models[setOfRegionModels[reg]->ModelIndex(j)]; - G4double tcutmin = model->MinEnergyCut(particle, material); + G4double tcutmin = model->MinEnergyCut(particle, couple); - if(1 < verboseLevel) { - G4cout << "The model # " << j - << "; tcutmin(MeV)= " << tcutmin/MeV - << G4endl; - } - - cut = G4std::max(cut, tcutmin); - subcut = G4std::max(subcut, tcutmin); + cut = G4std::max(cut, tcutmin); + G4double x = G4std::max(cut*minSubRange, tcutmin); + subcut = G4std::max(subcut, x); + if(1 < verboseLevel) { + G4cout << "The model # " << j + << "; tcutmin(MeV)= " << tcutmin/MeV + << "; tcut(MeV)= " << cut/MeV + << G4endl; } } theCuts.push_back(cut); theSubCuts.push_back(subcut); } - if(1 < verboseLevel) { - G4cout << "G4EmModelManager is initialised " - << G4endl; - } - return &theCuts; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4EmModelManager::AddEmModel(G4VEmModel* p, G4int num) -{ - if(nEmModels) { - for(G4int i=0; iInitialise(particle, theCuts); + if(flucModels[jj]) flucModels[jj]->Initialise(particle); } - if(nEmModels == nmax) { - - G4cout << "G4EmModelManager::AddEmModel WARNING: cannot accept model #" - << nEmModels << " - the list is closed" - << G4endl; - - } else { - - emModels[nEmModels] = p; - order[nEmModels] = num; - currentModel = p; - nEmModels++; - - } -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4EmModelManager::FillDEDXVector(G4PhysicsVector* aVector, - const G4Material* material) -{ if(0 < verboseLevel) { - G4cout << "G4EmModelManager::FillDEDXVector() for " - << material->GetName() + G4cout << "G4EmModelManager is initialised " << G4endl; } + return &theCuts; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmModelManager::FillDEDXVector(G4PhysicsVector* aVector, + const G4MaterialCutsCouple* couple) +{ + // vectors to provide continues dE/dx G4DataVector factor; G4DataVector dedxLow; @@ -301,42 +363,59 @@ void G4EmModelManager::FillDEDXVector(G4PhysicsVector* aVector, G4double e; - G4int i = material->GetIndex(); + const G4Material* material = couple->GetMaterial(); + size_t i = couple->GetIndex(); G4double cut = theCuts[i]; - factor.resize(nEmModels); - dedxLow.resize(nEmModels); - dedxHigh.resize(nEmModels); if(0 < verboseLevel) { - G4cout << "There are " << nEmModels << " models for " - << material->GetName() << G4endl; + G4cout << "G4EmModelManager::FillDEDXVector() for " + << material->GetName() + << " Ecut(MeV)= " << cut/MeV + << G4endl; } + G4int reg = idxOfRegionModels[i]; + const G4RegionModels* regModels = setOfRegionModels[reg]; + G4int nmod = regModels->NumberOfModels(); + factor.resize(nmod); + dedxLow.resize(nmod); + dedxHigh.resize(nmod); + + + if(0 < verboseLevel) { + G4cout << "There are " << nmod << " models for " + << material->GetName() + << " at the region #" << reg + << G4endl; + } + + // calculate factors to provide continuity of energy loss factor[0] = 1.0; G4int j; + G4int totBinsLoss = aVector->GetVectorLength(); dedxLow[0] = 0.0; - e = upperEkin[0]; - dedxHigh[0] = emModels[0]->ComputeDEDX(material,particle,e,cut); + e = upperEkin[regModels->ModelIndex(0)]; + dedxHigh[0] = models[regModels->ModelIndex(0)]->ComputeDEDX(material,particle,e,cut); - if(nEmModels > 1) { - for(j=1; j 1) { + for(j=1; jComputeDEDX(material,particle,e,cut); - e = upperEkin[j]; - dedxHigh[j] = emModels[j]->ComputeDEDX(material,particle,e,cut); + e = upperEkin[regModels->ModelIndex(j-1)]; + dedxLow[j] = models[regModels->ModelIndex(j)]->ComputeDEDX(material,particle,e,cut); + e = upperEkin[regModels->ModelIndex(j)]; + dedxHigh[j] = models[regModels->ModelIndex(j)]->ComputeDEDX(material,particle,e,cut); } - for(j=1; j 0.0) factor[j] = (dedxHigh[j-1]/dedxLow[j] - 1.0); + for(j=1; j 0.0) factor[j] = (dedxHigh[j-1]/dedxLow[j] - 1.0); else factor[j] = 0.0; } - if(0 < verboseLevel) { + if(1 < verboseLevel) { G4cout << "Loop over " << totBinsLoss << " bins start " << G4endl; } } @@ -349,22 +428,21 @@ void G4EmModelManager::FillDEDXVector(G4PhysicsVector* aVector, // Choose a model of energy losses G4int k = 0; - if(nEmModels > 1) { - if (e >= upperEkin[0]) { - for(k=1; k 1 && e > upperEkin[regModels->ModelIndex(0)]) { + do { + k++; + fac *= (1.0 + factor[k]*upperEkin[regModels->ModelIndex(k-1)]/e); + } while (kModelIndex(k)] ); } - G4double dedx = emModels[k]->ComputeDEDX(material,particle,e,cut)*fac; + G4double dedx = models[regModels->ModelIndex(k)]->ComputeDEDX(material,particle,e,cut)*fac; if(dedx < 0.0) dedx = 0.0; - if(0 < verboseLevel) { + if(1 < verboseLevel) { G4cout << "Material= " << material->GetName() - << " E(MeV)= " << e/MeV - << " dEdx(MeV/mm)= " << dedx*mm/MeV + << " E(MeV)= " << e/MeV + << " dEdx(MeV/mm)= " << dedx*mm/MeV + << " fac= " << fac << G4endl; } aVector->PutValue(j, dedx); @@ -374,16 +452,11 @@ void G4EmModelManager::FillDEDXVector(G4PhysicsVector* aVector, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, - const G4Material* material) +void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, + const G4MaterialCutsCouple* couple, + G4bool startFromNull) { - if(0 < verboseLevel) { - G4cout << "G4EmModelManager::FillLambdaVector() for particle " - << particle->GetParticleName() << G4endl; - } - - // vectors to provide continues dE/dx G4DataVector factor; G4DataVector sigmaLow; @@ -391,14 +464,28 @@ void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, G4double e; - G4int i = material->GetIndex(); - G4double cut = theCuts[i]; - factor.resize(nEmModels); - sigmaLow.resize(nEmModels); - sigmaHigh.resize(nEmModels); + const G4Material* material = couple->GetMaterial(); if(0 < verboseLevel) { - G4cout << "There are " << nEmModels << " models for " + G4cout << "G4EmModelManager::FillLambdaVector() for particle " + << particle->GetParticleName() + << " in " << material->GetName() + << G4endl; + } + + + size_t i = couple->GetIndex(); + G4double cut = theCuts[i]; + + G4int reg = idxOfRegionModels[i]; + const G4RegionModels* regModels = setOfRegionModels[reg]; + G4int nmod = regModels->NumberOfModels(); + factor.resize(nmod); + sigmaLow.resize(nmod); + sigmaHigh.resize(nmod); + + if(1 < verboseLevel) { + G4cout << "There are " << nmod << " models for " << material->GetName() << G4endl; } @@ -409,31 +496,31 @@ void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, sigmaLow[0] = 0.0; - e = upperEkin[0]; + e = upperEkin[regModels->ModelIndex(0)]; if(1 < verboseLevel) { G4cout << "### For material " << material->GetName() - << " " << nEmModels + << " " << nmod << " models" << " Ecut(MeV)= " << cut/MeV << " Emax(MeV)= " << e/MeV << " nbins= " << totBinsLambda << G4endl; } - - sigmaHigh[0] = emModels[0]->CrossSection(material,particle,e,cut,e); - if(nEmModels > 1) { + sigmaHigh[0] = models[regModels->ModelIndex(0)]->CrossSection(material,particle,e,cut,e); - for(j=1; j 1) { - e = upperEkin[j-1]; - sigmaLow[j] = emModels[j]->CrossSection(material,particle,e,cut,e); - e = upperEkin[j]; - sigmaHigh[j] = emModels[j]->CrossSection(material,particle,e,cut,e); + for(j=1; jModelIndex(j-1)]; + sigmaLow[j] = models[regModels->ModelIndex(j)]->CrossSection(material,particle,e,cut,e); + e = upperEkin[regModels->ModelIndex(j)]; + sigmaHigh[j] = models[regModels->ModelIndex(j)]->CrossSection(material,particle,e,cut,e); } - for(j=1; j 0.0) factor[j] = (sigmaHigh[j-1]/sigmaLow[j] - 1.0); + for(j=1; j 0.0) factor[j] = (sigmaHigh[j-1]/sigmaLow[j] - 1.0); else factor[j] = 0.0; } } @@ -446,30 +533,23 @@ void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, // Choose a model of energy losses G4int k = 0; G4double fac = 1.0; - if(nEmModels > 1) { - if(e >= upperEkin[0]) { - for(k=1; k 1 && e > upperEkin[regModels->ModelIndex(0)]) { + do { + k++; + fac *= (1.0 + factor[k]*upperEkin[regModels->ModelIndex(k-1)]/e); + } while (kModelIndex(k)] ); } - // Cross section interpolation should start from zero - G4double cross = 0.0; - if(j > 0) { - cross = emModels[k]->CrossSection(material,particle,e,cut,e)*fac; - } + G4double cross = models[regModels->ModelIndex(k)]->CrossSection(material,particle,e,cut,e)*fac; + if(j==0 && startFromNull) cross = 0.0; if(1 < verboseLevel) { - G4cout << "BuildLambdaTable: e(MeV)= " << e/MeV - << " cross(1/mm)= " << cross*mm + G4cout << "FillLambdaVector: " << j << ". e(MeV)= " << e/MeV + << " cross(1/mm)= " << cross*mm << " fac= " << fac << G4endl; } - if(cross <= 0.0) cross = 0.0; - // if(cross <= 0.0) cross = DBL_MAX; - // else cross = 1.0/cross; + if(cross < 0.0) cross = 0.0; aVector->PutValue(j, cross); } @@ -477,11 +557,12 @@ void G4EmModelManager::FillLambdaVector(G4PhysicsVector* aVector, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4EmModelManager::FillSubLambdaVector(G4PhysicsVector* aVector, - const G4Material* material) +void G4EmModelManager::FillSubLambdaVector(G4PhysicsVector* aVector, + const G4MaterialCutsCouple* couple, + G4bool startFromNull) { if(0 < verboseLevel) { - G4cout << "G4EmModelManager::BuildLambdaSubTable() for particle " + G4cout << "G4EmModelManager::BuildLambdaSubTable() for particle " << particle->GetParticleName() << G4endl; } @@ -493,15 +574,20 @@ void G4EmModelManager::FillSubLambdaVector(G4PhysicsVector* aVector, G4double e; - G4int i = material->GetIndex(); + const G4Material* material = couple->GetMaterial(); + size_t i = couple->GetIndex(); G4double cut = theCuts[i]; G4double subcut = theSubCuts[i]; - factor.resize(nEmModels); - sigmaLow.resize(nEmModels); - sigmaHigh.resize(nEmModels); + + G4int reg = idxOfRegionModels[i]; + const G4RegionModels* regModels = setOfRegionModels[reg]; + G4int nmod = regModels->NumberOfModels(); + factor.resize(nmod); + sigmaLow.resize(nmod); + sigmaHigh.resize(nmod); if(0 < verboseLevel) { - G4cout << "There are " << nEmModels << " models for " + G4cout << "There are " << nmod << " models for " << material->GetName() << G4endl; } @@ -512,31 +598,31 @@ void G4EmModelManager::FillSubLambdaVector(G4PhysicsVector* aVector, sigmaLow[0] = 0.0; - e = upperEkin[0]; + e = upperEkin[regModels->ModelIndex(0)]; if(1 < verboseLevel) { G4cout << "### For material " << material->GetName() - << " are available " << nEmModels + << " are available " << nmod << " models" << " Ecut(MeV)= " << cut/MeV << " nbins= " << totBinsLambda << G4endl; } - - sigmaHigh[0] = emModels[0]->CrossSection(material,particle,e,subcut,cut); - if(nEmModels > 1) { + sigmaHigh[0] = models[regModels->ModelIndex(0)]->CrossSection(material,particle,e,subcut,cut); - for(j=1; j 1) { - e = upperEkin[j-1]; - sigmaLow[j] = emModels[j]->CrossSection(material,particle,e,subcut,cut); - e = upperEkin[j]; - sigmaHigh[j] = emModels[j]->CrossSection(material,particle,e,subcut,cut); + for(j=1; jModelIndex(j-1)]; + sigmaLow[j] = models[regModels->ModelIndex(j)]->CrossSection(material,particle,e,subcut,cut); + e = upperEkin[regModels->ModelIndex(j)]; + sigmaHigh[j] = models[regModels->ModelIndex(j)]->CrossSection(material,particle,e,subcut,cut); } - for(j=1; j 0.0) factor[j] = (sigmaHigh[j-1]/sigmaLow[j] - 1.0); + for(j=1; j 0.0) factor[j] = (sigmaHigh[j-1]/sigmaLow[j] - 1.0); else factor[j] = 0.0; } } @@ -549,37 +635,26 @@ void G4EmModelManager::FillSubLambdaVector(G4PhysicsVector* aVector, // Choose a model of energy losses G4int k = 0; G4double fac = 1.0; - if(nEmModels > 1) { - if(e >= upperEkin[0]) { - for(k=1; k 1 && e > upperEkin[regModels->ModelIndex(0)]) { + do { + k++; + fac *= (1.0 + factor[k]*upperEkin[regModels->ModelIndex(k-1)]/e); + } while (kModelIndex(k)] ); } - G4double cross = 0.0; - - // Cross section interpolation should start from zero - if (j > 0) { - cross = emModels[k]->CrossSection(material,particle,e,subcut,cut)*fac; - } + G4double cross=models[regModels->ModelIndex(k)]->CrossSection(material,particle,e,subcut,cut)*fac; + if(j==0 && startFromNull) cross = 0.0; if(1 < verboseLevel) { - G4cout << "BuildLambdaTable: e(MeV)= " << e/MeV - << " cross(1/mm)= " << cross*mm + G4cout << "BuildLambdaTable: e(MeV)= " << e/MeV + << " cross(1/mm)= " << cross*mm << " fac= " << fac << G4endl; } - if(cross <= 0.0) cross = 0.0; + if(cross < 0.0) cross = 0.0; aVector->PutValue(j, cross); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - - - - diff --git a/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc b/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc index 6832b7f047..0a2a403663 100644 --- a/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc +++ b/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: G4EnergyLossMessenger.cc,v 1.5 2002/12/04 21:07:43 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EnergyLossMessenger.cc,v 1.7 2003/04/04 14:33:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -32,6 +32,7 @@ #include "G4EnergyLossMessenger.hh" #include "G4VEnergyLoss.hh" +#include "G4LossTableManager.hh" #include "G4UIdirectory.hh" #include "G4UIcommand.hh" @@ -52,24 +53,24 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() RndmStepCmd->SetGuidance("Randomize the proposed step by eLoss."); RndmStepCmd->SetParameterName("choice",true); RndmStepCmd->SetDefaultValue(false); - RndmStepCmd->AvailableForStates(G4State_Idle); + RndmStepCmd->AvailableForStates(G4State_PreInit,G4State_Idle); EnlossFlucCmd = new G4UIcmdWithABool("/process/eLoss/fluct",this); EnlossFlucCmd->SetGuidance("Switch true/false the energy loss fluctuations."); EnlossFlucCmd->SetParameterName("choice",true); EnlossFlucCmd->SetDefaultValue(true); - EnlossFlucCmd->AvailableForStates(G4State_Idle); + EnlossFlucCmd->AvailableForStates(G4State_PreInit,G4State_Idle); SubSecCmd = new G4UIcmdWithABool("/process/eLoss/subsec",this); SubSecCmd->SetGuidance("Switch true/false the subcutoff generation."); SubSecCmd->SetParameterName("choice",true); SubSecCmd->SetDefaultValue(true); - SubSecCmd->AvailableForStates(G4State_Idle); + SubSecCmd->AvailableForStates(G4State_PreInit,G4State_Idle); MinSubSecCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/minsubsec",this); MinSubSecCmd->SetGuidance("Set the min. cut for subcutoff delta in range."); MinSubSecCmd->SetParameterName("rcmin",true); - MinSubSecCmd->AvailableForStates(G4State_Idle); + MinSubSecCmd->AvailableForStates(G4State_PreInit,G4State_Idle); StepFuncCmd = new G4UIcommand("/process/eLoss/StepFunction",this); StepFuncCmd->SetGuidance("Set the energy loss step limitation parameters."); @@ -93,7 +94,25 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() unitPrm->SetParameterCandidates(unitCandidates); StepFuncCmd->SetParameter(unitPrm); - StepFuncCmd->AvailableForStates(G4State_Idle); + StepFuncCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + MinEnCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/minKinEnergy",this); + MinEnCmd->SetGuidance("Set the min kinetic energy"); + MinEnCmd->SetParameterName("emin",true); + MinEnCmd->SetUnitCategory("Energy"); + MinEnCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + MaxEnCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/maxKinEnergy",this); + MaxEnCmd->SetGuidance("Set the max kinetic energy"); + MaxEnCmd->SetParameterName("emax",true); + MaxEnCmd->SetUnitCategory("Energy"); + MaxEnCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + IntegCmd = new G4UIcmdWithABool("/process/eLoss/integral",this); + IntegCmd->SetGuidance("Switch true/false the integration of cross section over step."); + IntegCmd->SetParameterName("integ",true); + IntegCmd->SetDefaultValue(true); + IntegCmd->AvailableForStates(G4State_PreInit,G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -106,22 +125,29 @@ G4EnergyLossMessenger::~G4EnergyLossMessenger() delete MinSubSecCmd; delete StepFuncCmd; delete eLossDirectory; + delete MinEnCmd; + delete MaxEnCmd; + delete IntegCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { + G4LossTableManager* lossTables = G4LossTableManager::Instance(); if (command == RndmStepCmd) { G4VEnergyLoss::SetRndmStep(RndmStepCmd->GetNewBoolValue(newValue)); + lossTables->SetRandomStep(RndmStepCmd->GetNewBoolValue(newValue)); } if (command == EnlossFlucCmd) { G4VEnergyLoss::SetEnlossFluc(EnlossFlucCmd->GetNewBoolValue(newValue)); + lossTables->SetLossFluctuations(EnlossFlucCmd->GetNewBoolValue(newValue)); } if (command == SubSecCmd) { G4VEnergyLoss::SetSubSec(SubSecCmd->GetNewBoolValue(newValue)); + lossTables->SetSubCutoff(SubSecCmd->GetNewBoolValue(newValue)); } if (command == MinSubSecCmd) @@ -138,7 +164,20 @@ void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) G4String unt = unts; v2 *= G4UIcommand::ValueOf(unt); G4VEnergyLoss::SetStepFunction(v1,v2); + lossTables->SetStepLimits(v1,v2); } + + if (command == MinEnCmd) { + lossTables->SetMinEnergy(MinEnCmd->GetNewDoubleValue(newValue)); + } + + if (command == MaxEnCmd) { + lossTables->SetMaxEnergy(MaxEnCmd->GetNewDoubleValue(newValue)); + } + if (command == IntegCmd) { + lossTables->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); + } + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4EnergyLossMessengerSTD.cc b/source/processes/electromagnetic/utils/src/G4EnergyLossMessengerSTD.cc deleted file mode 100644 index e5ff980784..0000000000 --- a/source/processes/electromagnetic/utils/src/G4EnergyLossMessengerSTD.cc +++ /dev/null @@ -1,190 +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. * -// ******************************************************************** -// -// -// ------------------------------------------------------------------- -// -// GEANT4 Class file -// -// -// File name: G4EnergyLossMessengerSTD -// -// Author: -// -// Creation date: -// -// Modifications: -// -// 03.01.2002 V.Ivanchenko update to new design -// -// Class Description: -// - -// ------------------------------------------------------------------- -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "G4EnergyLossMessengerSTD.hh" - -#include "G4LossTableManager.hh" - -#include "G4UIdirectory.hh" -#include "G4UIcommand.hh" -#include "G4UIparameter.hh" -#include "G4UIcmdWithABool.hh" -#include "G4UIcmdWithADoubleAndUnit.hh" - -#include "g4std/strstream" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4EnergyLossMessengerSTD::G4EnergyLossMessengerSTD() -{ - eLossDirectory = new G4UIdirectory("/process/eLoss/"); - eLossDirectory->SetGuidance("Commands for G4VEnergyLoss."); - - RndmStepCmd = new G4UIcmdWithABool("/process/eLoss/rndmStep",this); - RndmStepCmd->SetGuidance("Randomize the proposed step by eLoss."); - RndmStepCmd->SetParameterName("rndmStep",true); - RndmStepCmd->SetDefaultValue(false); - RndmStepCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - EnlossFlucCmd = new G4UIcmdWithABool("/process/eLoss/fluct",this); - EnlossFlucCmd->SetGuidance("Switch true/false the energy loss fluctuations."); - EnlossFlucCmd->SetParameterName("fluct",true); - EnlossFlucCmd->SetDefaultValue(true); - EnlossFlucCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - SubSecCmd = new G4UIcmdWithABool("/process/eLoss/subsec",this); - SubSecCmd->SetGuidance("Switch true/false the subcutoff generation."); - SubSecCmd->SetParameterName("subsec",true); - SubSecCmd->SetDefaultValue(true); - SubSecCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - IntegCmd = new G4UIcmdWithABool("/process/eLoss/integral",this); - IntegCmd->SetGuidance("Switch true/false the integration of cross section over step."); - IntegCmd->SetParameterName("integ",true); - IntegCmd->SetDefaultValue(true); - IntegCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - MinSubSecCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/minsubsec",this); - MinSubSecCmd->SetGuidance("Set the min. cut for subcutoff delta in range."); - MinSubSecCmd->SetParameterName("minsubsec",true); - MinSubSecCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - MinEnCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/minKinEnergy",this); - MinEnCmd->SetGuidance("Set the min kinetic energy"); - MinEnCmd->SetParameterName("emin",true); - MinEnCmd->SetUnitCategory("Energy"); - MinEnCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - MaxEnCmd = new G4UIcmdWithADoubleAndUnit("/process/eLoss/maxKinEnergy",this); - MaxEnCmd->SetGuidance("Set the max kinetic energy"); - MaxEnCmd->SetParameterName("emax",true); - MaxEnCmd->SetUnitCategory("Energy"); - MaxEnCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - - StepFuncCmd = new G4UIcommand("/process/eLoss/StepFunction",this); - StepFuncCmd->SetGuidance("Set the energy loss step limitation parameters."); - StepFuncCmd->SetGuidance(" dRoverR : max Range variation per step"); - StepFuncCmd->SetGuidance(" finalRange: range for final step"); - - G4UIparameter* dRoverRPrm = new G4UIparameter("dRoverR",'d',false); - dRoverRPrm->SetGuidance("max Range variation per step (fractional number)"); - dRoverRPrm->SetParameterRange("dRoverR>0. && dRoverR<=1."); - StepFuncCmd->SetParameter(dRoverRPrm); - - G4UIparameter* finalRangePrm = new G4UIparameter("finalRange",'d',false); - finalRangePrm->SetGuidance("range for final step"); - finalRangePrm->SetParameterRange("finalRange>0."); - StepFuncCmd->SetParameter(finalRangePrm); - - G4UIparameter* unitPrm = new G4UIparameter("unit",'s',true); - unitPrm->SetGuidance("unit of finalRange"); - unitPrm->SetDefaultValue("mm"); - G4String unitCandidates = G4UIcommand::UnitsList(G4UIcommand::CategoryOf("mm")); - unitPrm->SetParameterCandidates(unitCandidates); - - StepFuncCmd->SetParameter(unitPrm); - StepFuncCmd->AvailableForStates(G4State_PreInit,G4State_Idle); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4EnergyLossMessengerSTD::~G4EnergyLossMessengerSTD() -{ - delete RndmStepCmd; - delete EnlossFlucCmd; - delete SubSecCmd; - delete MinSubSecCmd; - delete MinEnCmd; - delete MaxEnCmd; - delete StepFuncCmd; - delete IntegCmd; - delete eLossDirectory; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4EnergyLossMessengerSTD::SetNewValue(G4UIcommand* command,G4String newValue) -{ - G4LossTableManager* lossTables = G4LossTableManager::Instance(); - - if (command == RndmStepCmd) { - lossTables->SetRandomStep(RndmStepCmd->GetNewBoolValue(newValue)); - } - - if (command == IntegCmd) { - lossTables->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); - } - - if (command == EnlossFlucCmd) { - lossTables->SetLossFluctuations(EnlossFlucCmd->GetNewBoolValue(newValue)); - } - - if (command == SubSecCmd) { - lossTables->SetSubCutoff(SubSecCmd->GetNewBoolValue(newValue)); - } - - if (command == MinEnCmd) { - lossTables->SetMinEnergy(MinEnCmd->GetNewDoubleValue(newValue)); - } - - if (command == MaxEnCmd) { - lossTables->SetMaxEnergy(MaxEnCmd->GetNewDoubleValue(newValue)); - } - - if (command == StepFuncCmd) { - G4double v1,v2; - char unts[30]; - const char* t = newValue; - G4std::istrstream is((char*)t); - is >> v1 >> v2 >> unts; - G4String unt = unts; - v2 *= G4UIcommand::ValueOf(unt); - lossTables->SetStepLimits(v1,v2); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc b/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc index 157f2c10a9..20e0789c8f 100644 --- a/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc +++ b/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc @@ -21,10 +21,10 @@ // ******************************************************************** // // -// $Id: G4EnergyLossTables.cc,v 1.17 2001/10/29 09:40:52 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4EnergyLossTables.cc,v 1.27 2003/04/18 17:49:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // -// ------------------------------------------------------------------- +// ------------------------------------------------------------------- // first version created by P.Urban , 06/04/1998 // modifications + "precise" functions added by L.Urban , 27/05/98 // modifications , TOF functions , 26/10/98, L.Urban @@ -33,20 +33,32 @@ // 10.11.99: moved from RWT hash dictionary to STL map, G.Barrand, M.Maire // 27.09.01 L.Urban , bug fixed (negative energy deposit) // 26.10.01 all static functions moved from .icc files (mma) +// 15.01.03 Add interfaces required for "cut per region" (V.Ivanchenko) +// 12.03.03 Add warnings to obsolete interfaces (V.Ivanchenko) +// 10.04.03 Add call to G4LossTableManager is particle is not registered (V.Ivanchenko) +// // ------------------------------------------------------------------- #include "G4EnergyLossTables.hh" +#include "G4MaterialCutsCouple.hh" +#include "G4RegionStore.hh" +#include "G4LossTableManager.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4EnergyLossTablesHelper G4EnergyLossTables::t ; -const G4ParticleDefinition* G4EnergyLossTables::lastParticle = 0; +G4EnergyLossTablesHelper G4EnergyLossTables::null_loss ; +const G4ParticleDefinition* G4EnergyLossTables::lastParticle = 0; G4double G4EnergyLossTables::QQPositron = eplus*eplus ; G4double G4EnergyLossTables::Chargesquare ; G4int G4EnergyLossTables::oldIndex = -1 ; G4double G4EnergyLossTables::rmin = 0. ; G4double G4EnergyLossTables::rmax = 0. ; G4double G4EnergyLossTables::Thigh = 0. ; +G4int G4EnergyLossTables::let_counter = 0; +G4int G4EnergyLossTables::let_max_num_warnings = 2; +G4bool G4EnergyLossTables::first_loss = true; G4EnergyLossTables::helper_map G4EnergyLossTables::dict; @@ -95,11 +107,15 @@ void G4EnergyLossTables::Register( dict[p]= G4EnergyLossTablesHelper(tDEDX, tRange,tInverseRange, tLabTime,tProperTime,lowestKineticEnergy, highestKineticEnergy, massRatio,NumberOfBins); - + t = GetTables(p) ; // important for cache !!!!! lastParticle = p ; Chargesquare = (p->GetPDGCharge())*(p->GetPDGCharge())/ QQPositron ; + if (first_loss ) { + null_loss = G4EnergyLossTablesHelper(0, 0, 0, 0, 0, 0.0, 0.0, 0.0, 0); + first_loss = false; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -109,7 +125,7 @@ const G4PhysicsTable* G4EnergyLossTables::GetDEDXTable( { helper_map::iterator it; if((it=dict.find(p))==dict.end()) return 0; - return (*it).second.theDEDXTable; + return (*it).second.theDEDXTable; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -119,7 +135,7 @@ const G4PhysicsTable* G4EnergyLossTables::GetRangeTable( { helper_map::iterator it; if((it=dict.find(p))==dict.end()) return 0; - return (*it).second.theRangeTable; + return (*it).second.theRangeTable; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -129,7 +145,7 @@ const G4PhysicsTable* G4EnergyLossTables::GetInverseRangeTable( { helper_map::iterator it; if((it=dict.find(p))==dict.end()) return 0; - return (*it).second.theInverseRangeTable; + return (*it).second.theInverseRangeTable; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -139,7 +155,7 @@ const G4PhysicsTable* G4EnergyLossTables::GetLabTimeTable( { helper_map::iterator it; if((it=dict.find(p))==dict.end()) return 0; - return (*it).second.theLabTimeTable; + return (*it).second.theLabTimeTable; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -149,7 +165,7 @@ const G4PhysicsTable* G4EnergyLossTables::GetProperTimeTable( { helper_map::iterator it; if((it=dict.find(p))==dict.end()) return 0; - return (*it).second.theProperTimeTable; + return (*it).second.theProperTimeTable; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -158,9 +174,11 @@ G4EnergyLossTablesHelper G4EnergyLossTables::GetTables( const G4ParticleDefinition* p) { helper_map::iterator it; - if((it=dict.find(p))==dict.end()) { - G4Exception("G4EnergyLossTables::GetTables: table not found!"); - exit(1); + if ((it=dict.find(p))==dict.end()) { +// G4cout << "Table is not found out for " << p->GetParticleName() << G4endl; +// G4Exception("G4EnergyLossTables::GetTables: table not found!"); +// exit(1); + return null_loss; } return (*it).second; } @@ -172,6 +190,7 @@ G4double G4EnergyLossTables::GetDEDX( G4double KineticEnergy, const G4Material *aMaterial) { + CPRWarning(); if(aParticle != lastParticle) { t= GetTables(aParticle); @@ -182,6 +201,7 @@ G4double G4EnergyLossTables::GetDEDX( oldIndex = -1 ; } const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if (!dEdxTable) ParticleHaveNoLoss(aParticle); G4int materialIndex = aMaterial->GetIndex(); G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; @@ -200,7 +220,7 @@ G4double G4EnergyLossTables::GetDEDX( t.theHighestKineticEnergy,isOut); } else { - + dEdx = (*dEdxTable)(materialIndex)->GetValue( scaledKineticEnergy,isOut); @@ -216,6 +236,7 @@ G4double G4EnergyLossTables::GetLabTime( G4double KineticEnergy, const G4Material *aMaterial) { + CPRWarning(); if(aParticle != lastParticle) { t= GetTables(aParticle); @@ -223,8 +244,9 @@ G4double G4EnergyLossTables::GetLabTime( oldIndex = -1 ; } const G4PhysicsTable* labtimeTable= t.theLabTimeTable; + if (!labtimeTable) ParticleHaveNoLoss(aParticle); - const G4double parlowen=0.4 , ppar=0.5-parlowen ; + const G4double parlowen=0.4 , ppar=0.5-parlowen ; G4int materialIndex = aMaterial->GetIndex(); G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; G4double time; @@ -243,7 +265,7 @@ G4double G4EnergyLossTables::GetLabTime( t.theHighestKineticEnergy,isOut); } else { - + time = (*labtimeTable)(materialIndex)->GetValue( scaledKineticEnergy,isOut); @@ -260,6 +282,7 @@ G4double G4EnergyLossTables::GetDeltaLabTime( G4double KineticEnergyEnd, const G4Material *aMaterial) { + CPRWarning(); if(aParticle != lastParticle) { t= GetTables(aParticle); @@ -267,9 +290,10 @@ G4double G4EnergyLossTables::GetDeltaLabTime( oldIndex = -1 ; } const G4PhysicsTable* labtimeTable= t.theLabTimeTable; + if (!labtimeTable) ParticleHaveNoLoss(aParticle); const G4double parlowen=0.4 , ppar=0.5-parlowen ; - const G4double dToverT = 0.05 , facT = 1. -dToverT ; + const G4double dToverT = 0.05 , facT = 1. -dToverT ; G4double timestart,timeend,deltatime,dTT; G4bool isOut; @@ -296,12 +320,12 @@ G4double G4EnergyLossTables::GetDeltaLabTime( } dTT = (KineticEnergyStart - KineticEnergyEnd)/KineticEnergyStart ; - + if( dTT < dToverT ) scaledKineticEnergy = facT*KineticEnergyStart*t.theMassRatio; else scaledKineticEnergy = KineticEnergyEnd*t.theMassRatio; - + if (scaledKineticEnergyGetIndex(); @@ -380,6 +406,7 @@ G4double G4EnergyLossTables::GetDeltaProperTime( G4double KineticEnergyEnd, const G4Material *aMaterial) { + CPRWarning(); if(aParticle != lastParticle) { t= GetTables(aParticle); @@ -387,9 +414,10 @@ G4double G4EnergyLossTables::GetDeltaProperTime( oldIndex = -1 ; } const G4PhysicsTable* propertimeTable= t.theProperTimeTable; + if (!propertimeTable) ParticleHaveNoLoss(aParticle); const G4double parlowen=0.4 , ppar=0.5-parlowen ; - const G4double dToverT = 0.05 , facT = 1. -dToverT ; + const G4double dToverT = 0.05 , facT = 1. -dToverT ; G4double timestart,timeend,deltatime,dTT; G4bool isOut; @@ -416,12 +444,12 @@ G4double G4EnergyLossTables::GetDeltaProperTime( } dTT = (KineticEnergyStart - KineticEnergyEnd)/KineticEnergyStart ; - + if( dTT < dToverT ) scaledKineticEnergy = facT*KineticEnergyStart*t.theMassRatio; else scaledKineticEnergy = KineticEnergyEnd*t.theMassRatio; - + if (scaledKineticEnergyGetIndex(); G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; @@ -488,7 +518,7 @@ G4double G4EnergyLossTables::GetRange( t.theHighestKineticEnergy,isOut); } else { - + Range = (*rangeTable)(materialIndex)->GetValue( scaledKineticEnergy,isOut); @@ -505,6 +535,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( const G4Material *aMaterial) // it returns the value of the kinetic energy for a given range { + CPRWarning(); if( aParticle != lastParticle) { t= GetTables(aParticle); @@ -516,6 +547,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( } const G4PhysicsTable* dEdxTable= t.theDEDXTable; const G4PhysicsTable* inverseRangeTable= t.theInverseRangeTable; + if (!dEdxTable || !inverseRangeTable) ParticleHaveNoLoss(aParticle); G4double scaledrange,scaledKineticEnergy ; G4bool isOut ; @@ -566,7 +598,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( G4double KineticEnergy, const G4Material *aMaterial) { - + CPRWarning(); if( aParticle != lastParticle) { t= GetTables(aParticle); @@ -577,6 +609,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( oldIndex = -1 ; } const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if (!dEdxTable) ParticleHaveNoLoss(aParticle); G4int materialIndex = aMaterial->GetIndex(); G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; @@ -595,7 +628,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( t.theHighestKineticEnergy,isOut); } else { - + dEdx = (*dEdxTable)(materialIndex)->GetValue( scaledKineticEnergy,isOut) ; @@ -611,6 +644,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( G4double KineticEnergy, const G4Material *aMaterial) { + CPRWarning(); if( aParticle != lastParticle) { t= GetTables(aParticle); @@ -622,6 +656,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( } const G4PhysicsTable* rangeTable= t.theRangeTable; const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if (!dEdxTable || !rangeTable) ParticleHaveNoLoss(aParticle); G4int materialIndex = aMaterial->GetIndex(); @@ -648,7 +683,7 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( Thighr,isOut); } else { - + Range = (*rangeTable)(materialIndex)->GetValue( scaledKineticEnergy,isOut) ; @@ -659,6 +694,299 @@ G4double G4EnergyLossTables::GetPreciseEnergyFromRange( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4double G4EnergyLossTables::GetDEDX( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != lastParticle) + { + t= GetTables(aParticle); + lastParticle = aParticle ; + Chargesquare = (aParticle->GetPDGCharge())* + (aParticle->GetPDGCharge())/ + QQPositron ; + oldIndex = -1 ; + } + const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if ( !dEdxTable ) + return G4LossTableManager::Instance()->GetDEDX(aParticle,KineticEnergy,couple); + + G4int materialIndex = couple->GetIndex(); + G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; + G4double dEdx; + G4bool isOut; + + if (scaledKineticEnergyGetValue( + t.theLowestKineticEnergy,isOut) + *sqrt(scaledKineticEnergy/t.theLowestKineticEnergy); + + } else if (scaledKineticEnergy>t.theHighestKineticEnergy) { + + dEdx = (*dEdxTable)(materialIndex)->GetValue( + t.theHighestKineticEnergy,isOut); + + } else { + + dEdx = (*dEdxTable)(materialIndex)->GetValue( + scaledKineticEnergy,isOut); + + } + + return dEdx*Chargesquare; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4EnergyLossTables::GetRange( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if(aParticle != lastParticle) + { + t= GetTables(aParticle); + lastParticle = aParticle ; + Chargesquare = (aParticle->GetPDGCharge())* + (aParticle->GetPDGCharge())/ + QQPositron ; + oldIndex = -1 ; + } + const G4PhysicsTable* rangeTable= t.theRangeTable; + const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if ( !rangeTable || !dEdxTable) + return G4LossTableManager::Instance()->GetRange(aParticle,KineticEnergy,couple); + G4int materialIndex = couple->GetIndex(); + G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; + G4double Range; + G4bool isOut; + if (scaledKineticEnergyGetValue( + t.theLowestKineticEnergy,isOut); + + } else if (scaledKineticEnergy>t.theHighestKineticEnergy) { + + Range = (*rangeTable)(materialIndex)->GetValue( + t.theHighestKineticEnergy,isOut)+ + (scaledKineticEnergy-t.theHighestKineticEnergy)/ + (*dEdxTable)(materialIndex)->GetValue( + t.theHighestKineticEnergy,isOut); + + } else { + + Range = (*rangeTable)(materialIndex)->GetValue( + scaledKineticEnergy,isOut); + + } + + return Range/(Chargesquare*t.theMassRatio); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4EnergyLossTables::GetPreciseEnergyFromRange( + const G4ParticleDefinition *aParticle, + G4double range, + const G4MaterialCutsCouple *couple) +// it returns the value of the kinetic energy for a given range +{ + if( aParticle != lastParticle) + { + t= GetTables(aParticle); + lastParticle = aParticle; + Chargesquare = (aParticle->GetPDGCharge())* + (aParticle->GetPDGCharge())/ + QQPositron ; + oldIndex = -1 ; + } + const G4PhysicsTable* dEdxTable= t.theDEDXTable; + const G4PhysicsTable* inverseRangeTable= t.theInverseRangeTable; + if ( !dEdxTable || !inverseRangeTable) + return G4LossTableManager::Instance()->GetEnergy(aParticle,range,couple); + + G4double scaledrange,scaledKineticEnergy ; + G4bool isOut ; + + G4int materialIndex = couple->GetIndex() ; + + if(materialIndex != oldIndex) + { + oldIndex = materialIndex ; + rmin = (*inverseRangeTable)(materialIndex)-> + GetLowEdgeEnergy(0) ; + rmax = (*inverseRangeTable)(materialIndex)-> + GetLowEdgeEnergy(t.theNumberOfBins-2) ; + Thigh = (*inverseRangeTable)(materialIndex)-> + GetValue(rmax,isOut) ; + } + + scaledrange = range*Chargesquare*t.theMassRatio ; + + if(scaledrange < rmin) + { + scaledKineticEnergy = t.theLowestKineticEnergy* + scaledrange*scaledrange/(rmin*rmin) ; + } + else + { + if(scaledrange < rmax) + { + scaledKineticEnergy = (*inverseRangeTable)(materialIndex)-> + GetValue( scaledrange,isOut) ; + } + else + { + scaledKineticEnergy = Thigh + + (scaledrange-rmax)* + (*dEdxTable)(materialIndex)-> + GetValue(Thigh,isOut) ; + } + } + + return scaledKineticEnergy/t.theMassRatio ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4EnergyLossTables::GetPreciseDEDX( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple) +{ + + if( aParticle != lastParticle) + { + t= GetTables(aParticle); + lastParticle = aParticle; + Chargesquare = (aParticle->GetPDGCharge())* + (aParticle->GetPDGCharge())/ + QQPositron ; + oldIndex = -1 ; + } + const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if ( !dEdxTable ) + return G4LossTableManager::Instance()->GetDEDX(aParticle,KineticEnergy,couple); + + G4int materialIndex = couple->GetIndex(); + G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; + G4double dEdx; + G4bool isOut; + + if (scaledKineticEnergyGetValue( + t.theLowestKineticEnergy,isOut); + + } else if (scaledKineticEnergy>t.theHighestKineticEnergy) { + + dEdx = (*dEdxTable)(materialIndex)->GetValue( + t.theHighestKineticEnergy,isOut); + + } else { + + dEdx = (*dEdxTable)(materialIndex)->GetValue( + scaledKineticEnergy,isOut) ; + + } + + return dEdx*Chargesquare; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4double G4EnergyLossTables::GetPreciseRangeFromEnergy( + const G4ParticleDefinition *aParticle, + G4double KineticEnergy, + const G4MaterialCutsCouple *couple) +{ + if( aParticle != lastParticle) + { + t= GetTables(aParticle); + lastParticle = aParticle; + Chargesquare = (aParticle->GetPDGCharge())* + (aParticle->GetPDGCharge())/ + QQPositron ; + oldIndex = -1 ; + } + const G4PhysicsTable* rangeTable= t.theRangeTable; + const G4PhysicsTable* dEdxTable= t.theDEDXTable; + if ( !dEdxTable || !rangeTable) + return G4LossTableManager::Instance()->GetDEDX(aParticle,KineticEnergy,couple); + + G4int materialIndex = couple->GetIndex(); + + G4double Thighr = t.theHighestKineticEnergy*t.theLowestKineticEnergy/ + (*rangeTable)(materialIndex)-> + GetLowEdgeEnergy(1) ; + + G4double scaledKineticEnergy = KineticEnergy*t.theMassRatio; + G4double Range; + G4bool isOut; + + if (scaledKineticEnergyGetValue( + t.theLowestKineticEnergy,isOut); + + } else if (scaledKineticEnergy>Thighr) { + + Range = (*rangeTable)(materialIndex)->GetValue( + Thighr,isOut)+ + (scaledKineticEnergy-Thighr)/ + (*dEdxTable)(materialIndex)->GetValue( + Thighr,isOut); + + } else { + + Range = (*rangeTable)(materialIndex)->GetValue( + scaledKineticEnergy,isOut) ; + + } + + return Range/(Chargesquare*t.theMassRatio); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4EnergyLossTables::CPRWarning() +{ +// if (let_counter < let_max_num_warnings) { + +// G4cout << G4endl; +// G4cout << "##### G4EnergyLossTable WARNING: The obsolete interface is used" << G4endl; +// G4cout << "##### Please, substitute G4Material by G4MaterialCutsCouple" << G4endl; +// G4cout << "##### Obsolete interface will be removed soon" << G4endl; +// G4cout << G4endl; +// let_counter++; + if ((G4RegionStore::GetInstance())->size() > 1) { + G4Exception("G4EnergyLossTables:: More than 1 region - table can't be accessed with obsolete interface"); + exit(1); + } + +// } else if (let_counter == let_max_num_warnings) { + +// G4cout << "##### G4EnergyLossTable WARNING closed" << G4endl; +// let_counter++; +// } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4EnergyLossTables::ParticleHaveNoLoss(const G4ParticleDefinition* aParticle) +{ + G4String s = "G4EnergyLossTables:: dE/dx table not found for " + + aParticle->GetParticleName() + "!"; + G4Exception(s); + exit(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/src/G4IonFluctuations.cc b/source/processes/electromagnetic/utils/src/G4IonFluctuations.cc new file mode 100644 index 0000000000..cfe823d575 --- /dev/null +++ b/source/processes/electromagnetic/utils/src/G4IonFluctuations.cc @@ -0,0 +1,337 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4IonFluctuation +// +// Author: Vladimir Ivanchenko +// +// Creation date: 03.01.2002 +// +// Modifications: +// +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// +// Class Description: +// +// ------------------------------------------------------------------- +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4IonFluctuations.hh" +#include "Randomize.hh" +#include "G4Poisson.hh" +#include "G4Material.hh" +#include "G4DynamicParticle.hh" +#include "G4ParticleDefinition.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4IonFluctuations::G4IonFluctuations(const G4String& nam) + :G4VEmFluctuationModel(nam), + minNumberInteractionsBohr(10.0), + theBohrBeta2(50.0*keV/proton_mass_c2), + minFraction(0.2) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4IonFluctuations::~G4IonFluctuations() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4IonFluctuations::Initialise(const G4ParticleDefinition* part) +{ + particle = part; + particleMass = part->GetPDGMass(); + G4double q = part->GetPDGCharge()/eplus; + chargeSquare = q*q; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonFluctuations::SampleFluctuations(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& meanLoss) +{ + + if(dp->GetDefinition() != particle) { + particle = dp->GetDefinition(); + particleMass = dp->GetMass(); + charge = dp->GetCharge(); + chargeSquare = charge*charge; + } + + G4double siga = Dispersion(material,dp,tmax,length); + G4double loss = meanLoss; + + // Gaussian fluctuation + if (meanLoss >= minNumberInteractionsBohr*tmax) { + + // Increase fluctuations for big fractional energy loss + if ( meanLoss > minFraction*kineticEnergy ) { + G4double gam = (kineticEnergy - meanLoss)/particleMass + 1.0; + G4double b2 = 1.0 - 1.0/(gam*gam); + G4double x = b2/beta2; + G4double x3 = 1.0/(x*x*x); + siga *= 0.25*(1.0 + x)*(x3 + (1.0/b2 - 0.5)/(1.0/beta2 - 0.5) ); + } + siga = sqrt(siga); + do { + loss = G4RandGauss::shoot(meanLoss,siga); + } while (loss < 0. || loss > 2.*meanLoss); + + // Poisson fluctuations + } else { + G4double navr = meanLoss*meanLoss/siga; + G4double n = (G4double)G4Poisson(navr); + loss = meanLoss*n/navr; + } + + return loss; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonFluctuations::Dispersion( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length) +{ + G4double electronDensity = material->GetElectronDensity(); + kineticEnergy = dp->GetKineticEnergy(); + G4double gam = kineticEnergy/particleMass + 1.0; + beta2 = 1.0 - 1.0/(gam*gam); + G4double siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + + // Low velocity - additional ion charge fluctuations according to + // Q.Yang et al., NIM B61(1991)149-155. + G4double zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()); + + if ( beta2 < 3.0*theBohrBeta2*zeff ) { + + G4double a = CoeffitientA (zeff); + G4double b = CoeffitientB (material, zeff); + siga *= (chargeSquare * a + b); + } + + return siga; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonFluctuations::CoeffitientA(G4double& zeff) +{ + // The aproximation of energy loss fluctuations + // Q.Yang et al., NIM B61(1991)149-155. + + // Reduced energy in MeV/AMU + G4double energy = kineticEnergy * amu_c2/(particleMass*MeV) ; + static G4double a[96][4] = { + {-0.3291, -0.8312, 0.2460, -1.0220}, + {-0.5615, -0.5898, 0.5205, -0.7258}, + {-0.5280, -0.4981, 0.5519, -0.5865}, + {-0.5125, -0.4625, 0.5660, -0.5190}, + {-0.5127, -0.8595, 0.5626, -0.8721}, + {-0.5174, -1.1930, 0.5565, -1.1980}, + {-0.5179, -1.1850, 0.5560, -1.2070}, + {-0.5209, -0.9355, 0.5590, -1.0250}, + {-0.5255, -0.7766, 0.5720, -0.9412}, + + {-0.5776, -0.6665, 0.6598, -0.8484}, + {-0.6013, -0.6045, 0.7321, -0.7671}, + {-0.5781, -0.5518, 0.7605, -0.6919}, + {-0.5587, -0.4981, 0.7835, -0.6195}, + {-0.5466, -0.4656, 0.7978, -0.5771}, + {-0.5406, -0.4690, 0.8031, -0.5718}, + {-0.5391, -0.5061, 0.8024, -0.5974}, + {-0.5380, -0.6483, 0.7962, -0.6970}, + {-0.5355, -0.7722, 0.7962, -0.7839}, + {-0.5329, -0.7720, 0.7988, -0.7846}, + + {-0.5335, -0.7671, 0.7984, -0.7933}, + {-0.5324, -0.7612, 0.7998, -0.8031}, + {-0.5305, -0.7300, 0.8031, -0.7990}, + {-0.5307, -0.7178, 0.8049, -0.8216}, + {-0.5248, -0.6621, 0.8165, -0.7919}, + {-0.5180, -0.6502, 0.8266, -0.7986}, + {-0.5084, -0.6408, 0.8396, -0.8048}, + {-0.4967, -0.6331, 0.8549, -0.8093}, + {-0.4861, -0.6508, 0.8712, -0.8432}, + {-0.4700, -0.6186, 0.8961, -0.8132}, + + {-0.4545, -0.5720, 0.9227, -0.7710}, + {-0.4404, -0.5226, 0.9481, -0.7254}, + {-0.4288, -0.4778, 0.9701, -0.6850}, + {-0.4199, -0.4425, 0.9874, -0.6539}, + {-0.4131, -0.4188, 0.9998, -0.6332}, + {-0.4089, -0.4057, 1.0070, -0.6218}, + {-0.4039, -0.3913, 1.0150, -0.6107}, + {-0.3987, -0.3698, 1.0240, -0.5938}, + {-0.3977, -0.3608, 1.0260, -0.5852}, + {-0.3972, -0.3600, 1.0260, -0.5842}, + +{-0.3985, -0.3803, 1.0200, -0.6013}, + {-0.3985, -0.3979, 1.0150, -0.6168}, + {-0.3968, -0.3990, 1.0160, -0.6195}, + {-0.3971, -0.4432, 1.0050, -0.6591}, + {-0.3944, -0.4665, 1.0010, -0.6825}, + {-0.3924, -0.5109, 0.9921, -0.7235}, + {-0.3882, -0.5158, 0.9947, -0.7343}, + {-0.3838, -0.5125, 0.9999, -0.7370}, + {-0.3786, -0.4976, 1.0090, -0.7310}, + {-0.3741, -0.4738, 1.0200, -0.7155}, + + {-0.3969, -0.4496, 1.0320, -0.6982}, + {-0.3663, -0.4297, 1.0430, -0.6828}, + {-0.3630, -0.4120, 1.0530, -0.6689}, + {-0.3597, -0.3964, 1.0620, -0.6564}, + {-0.3555, -0.3809, 1.0720, -0.6454}, + {-0.3525, -0.3607, 1.0820, -0.6289}, + {-0.3505, -0.3465, 1.0900, -0.6171}, + {-0.3397, -0.3570, 1.1020, -0.6384}, + {-0.3314, -0.3552, 1.1130, -0.6441}, + {-0.3235, -0.3531, 1.1230, -0.6498}, + + {-0.3150, -0.3483, 1.1360, -0.6539}, + {-0.3060, -0.3441, 1.1490, -0.6593}, + {-0.2968, -0.3396, 1.1630, -0.6649}, + {-0.2935, -0.3225, 1.1760, -0.6527}, + {-0.2797, -0.3262, 1.1940, -0.6722}, + {-0.2704, -0.3202, 1.2100, -0.6770}, + {-0.2815, -0.3227, 1.2480, -0.6775}, + {-0.2880, -0.3245, 1.2810, -0.6801}, + {-0.3034, -0.3263, 1.3270, -0.6778}, + {-0.2936, -0.3215, 1.3430, -0.6835}, + + {-0.3282, -0.3200, 1.3980, -0.6650}, + {-0.3260, -0.3070, 1.4090, -0.6552}, + {-0.3511, -0.3074, 1.4470, -0.6442}, + {-0.3501, -0.3064, 1.4500, -0.6442}, + {-0.3490, -0.3027, 1.4550, -0.6418}, + {-0.3487, -0.3048, 1.4570, -0.6447}, + {-0.3478, -0.3074, 1.4600, -0.6483}, + {-0.3501, -0.3283, 1.4540, -0.6669}, + {-0.3494, -0.3373, 1.4550, -0.6765}, + {-0.3485, -0.3373, 1.4570, -0.6774}, + + {-0.3462, -0.3300, 1.4630, -0.6728}, + {-0.3462, -0.3225, 1.4690, -0.6662}, + {-0.3453, -0.3094, 1.4790, -0.6553}, + {-0.3844, -0.3134, 1.5240, -0.6412}, + {-0.3848, -0.3018, 1.5310, -0.6303}, + {-0.3862, -0.2955, 1.5360, -0.6237}, + {-0.4262, -0.2991, 1.5860, -0.6115}, + {-0.4278, -0.2910, 1.5900, -0.6029}, + {-0.4303, -0.2817, 1.5940, -0.5927}, + {-0.4315, -0.2719, 1.6010, -0.5829}, + + {-0.4359, -0.2914, 1.6050, -0.6010}, + {-0.4365, -0.2982, 1.6080, -0.6080}, + {-0.4253, -0.3037, 1.6120, -0.6150}, + {-0.4335, -0.3245, 1.6160, -0.6377}, + {-0.4307, -0.3292, 1.6210, -0.6447}, + {-0.4284, -0.3204, 1.6290, -0.6380}, + {-0.4227, -0.3217, 1.6360, -0.6438} + } ; + + G4int iz = (G4int)zeff - 2 ; + if( 0 > iz ) iz = 0 ; + if(95 < iz ) iz = 95 ; + + G4double q = 1.0 / (1.0 + a[iz][0]*pow(energy,a[iz][1])+ + + a[iz][2]*pow(energy,a[iz][3])) ; + + return q ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4IonFluctuations::CoeffitientB(const G4Material* material, G4double& zeff) +{ + // The aproximation of energy loss fluctuations + // Q.Yang et al., NIM B61(1991)149-155. + + // Reduced energy in MeV/AMU + G4double energy = kineticEnergy *amu_c2/(particleMass*MeV) ; + + G4int i = 0 ; + G4double factor = 1.0 ; + + // The index of set of parameters i = 0 for protons(hadrons) in gases + // 1 for protons(hadrons) in solids + // 2 for ions in atomic gases + // 3 for ions in molecular gases + // 4 for ions in solids + static G4double b[5][4] = { + {0.1014, 0.3700, 0.9642, 3.987}, + {0.1955, 0.6941, 2.522, 1.040}, + {0.05058, 0.08975, 0.1419, 10.80}, + {0.05009, 0.08660, 0.2751, 3.787}, + {0.01273, 0.03458, 0.3951, 3.812} + } ; + + // protons (hadrons) + if(1.5 > charge) { + if( kStateGas != material->GetState() ) i = 1 ; + + // ions + } else { + factor = charge * pow(charge/zeff, 0.3333) ; + + if( kStateGas == material->GetState() ) { + energy /= (charge * sqrt(charge)) ; + + if(1 == (material->GetNumberOfElements())) { + i = 2 ; + } else { + i = 3 ; + } + + } else { + energy /= (charge * sqrt(charge*zeff)) ; + i = 4 ; + } + } + + G4double x = b[i][2] * (1.0 - exp( - energy * b[i][3] )) ; + + G4double q = factor * x * b[i][0] / + ((energy - b[i][1])*(energy - b[i][1]) + x*x) ; + + return q ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4LewisModel.cc b/source/processes/electromagnetic/utils/src/G4LewisModel.cc new file mode 100644 index 0000000000..2b8be6620e --- /dev/null +++ b/source/processes/electromagnetic/utils/src/G4LewisModel.cc @@ -0,0 +1,643 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4LewisModel +// +// Author: Laszlo Urban +// +// Creation date: 03.03.2001 +// +// Modifications: +// +// 27-03-03 Move model part from G4MultipleScattering (V.Ivanchenko) +// + +// Class Description: +// +// Implementation of Lewis model of multiple scattering +// H.W.Lewis Phys Rev 78 (1950) 526 + +// ------------------------------------------------------------------- +// + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4LewisModel.hh" +#include "Randomize.hh" +#include "G4Electron.hh" +#include "G4LossTableManager.hh" +#include "G4PhysicsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LewisModel::G4LewisModel(G4double& m_dtrl, G4double& m_NuclCorrPar, + G4double& m_FactPar, G4double& m_facxsi, + G4bool& m_samplez, const G4String& nam) + : G4VEmModel(nam), + highKinEnergy(10.0*TeV), + lowKinEnergy(0.1*keV), + taubig(8.0), + tausmall(1.e-14), + taulim(1.e-5), + dtrl(m_dtrl), + NuclCorrPar (m_NuclCorrPar), + FactPar(m_FactPar), + facxsi(m_facxsi), + samplez(m_samplez), + stepmin(1.e-6*mm) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4LewisModel::~G4LewisModel() +{} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool G4LewisModel::IsInCharge(const G4ParticleDefinition* p) +{ + return (p->GetPDGCharge() != 0.0); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4LewisModel::Initialise(const G4ParticleDefinition* p, + const G4DataVector&) +{ + // set values of some data members + if((p->GetParticleName() == "e-") || (p->GetParticleName() == "e+")) + { + // parameters for e+/e- + alfa1 = 1.45 ; + alfa2 = 0.60 ; + alfa3 = 0.30 ; + b = 1. ; + xsi = facxsi*2.22 ; + c0 = 2.30 ; + } + else + { + // parameters for heavy particles + alfa1 = 1.10 ; + alfa2 = 0.14 ; + alfa3 = 0.07 ; + b = 1. ; + xsi = facxsi*2.70 ; + c0 = 1.40 ; + } + sigmafactor = twopi*classic_electr_radius*classic_electr_radius; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::CrossSection(const G4Material* material, + const G4ParticleDefinition* p, + G4double kineticEnergy, + G4double, + G4double) +{ + const G4ElementVector* theElementVector = material->GetElementVector(); + const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); + G4int NumberOfElements = material->GetNumberOfElements(); + + // loop for element in the material + G4double sigma = 0.0; + + for (G4int iel=0; ielGetZ(); + G4double atomicWeight = (*theElementVector)[iel]->GetA(); + sigma += NbOfAtomsPerVolume[iel]*ComputeTransportCrossSection(p, + kineticEnergy,atomicNumber,atomicWeight); + } + sigma *= sigmafactor; + + // Calculate lambda + if ( sigma > 0.0) sigma = 1.0/sigma; + else sigma = DBL_MAX; + + return sigma; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::ComputeTransportCrossSection( + const G4ParticleDefinition* particle, + G4double KineticEnergy, + G4double AtomicNumber, + G4double AtomicWeight) +{ + const G4double epsfactor = 2.*electron_mass_c2*electron_mass_c2* + Bohr_radius*Bohr_radius/(hbarc*hbarc); + const G4double epsmin = 1.e-4 , epsmax = 1.e10; + + const G4double Zdat[15] = { 4., 6.,13.,20.,26.,29.,32.,38.,47., + 50.,56.,64.,74.,79.,82. }; + + const G4double Tdat[23] = {0.0001*MeV,0.0002*MeV,0.0004*MeV,0.0007*MeV, + 0.001*MeV,0.002*MeV,0.004*MeV,0.007*MeV, + 0.01*MeV,0.02*MeV,0.04*MeV,0.07*MeV, + 0.1*MeV,0.2*MeV,0.4*MeV,0.7*MeV, + 1.*MeV,2.*MeV,4.*MeV,7.*MeV,10.*MeV,20.*MeV, + 10000.0*MeV}; + + // corr. factors for e-/e+ lambda + + G4double celectron[15][23] = + {{1.125,1.072,1.051,1.047,1.047,1.050,1.052,1.054, + 1.054,1.057,1.062,1.069,1.075,1.090,1.105,1.111, + 1.112,1.108,1.100,1.093,1.089,1.087,0.7235 }, + {1.408,1.246,1.143,1.096,1.077,1.059,1.053,1.051, + 1.052,1.053,1.058,1.065,1.072,1.087,1.101,1.108, + 1.109,1.105,1.097,1.090,1.086,1.082,0.7925 }, + {2.833,2.268,1.861,1.612,1.486,1.309,1.204,1.156, + 1.136,1.114,1.106,1.106,1.109,1.119,1.129,1.132, + 1.131,1.124,1.113,1.104,1.099,1.098,0.9147 }, + {3.879,3.016,2.380,2.007,1.818,1.535,1.340,1.236, + 1.190,1.133,1.107,1.099,1.098,1.103,1.110,1.113, + 1.112,1.105,1.096,1.089,1.085,1.098,0.9700 }, + {6.937,4.330,2.886,2.256,1.987,1.628,1.395,1.265, + 1.203,1.122,1.080,1.065,1.061,1.063,1.070,1.073, + 1.073,1.070,1.064,1.059,1.056,1.056,1.0022 }, + {9.616,5.708,3.424,2.551,2.204,1.762,1.485,1.330, + 1.256,1.155,1.099,1.077,1.070,1.068,1.072,1.074, + 1.074,1.070,1.063,1.059,1.056,1.052,1.0158 }, + {11.72,6.364,3.811,2.806,2.401,1.884,1.564,1.386, + 1.300,1.180,1.112,1.082,1.073,1.066,1.068,1.069, + 1.068,1.064,1.059,1.054,1.051,1.050,1.0284 }, + {18.08,8.601,4.569,3.183,2.662,2.025,1.646,1.439, + 1.339,1.195,1.108,1.068,1.053,1.040,1.039,1.039, + 1.039,1.037,1.034,1.031,1.030,1.036,1.0515 }, + {18.22,10.48,5.333,3.713,3.115,2.367,1.898,1.631, + 1.498,1.301,1.171,1.105,1.077,1.048,1.036,1.033, + 1.031,1.028,1.024,1.022,1.021,1.024,1.0834 }, + {14.14,10.65,5.710,3.929,3.266,2.453,1.951,1.669, + 1.528,1.319,1.178,1.106,1.075,1.040,1.027,1.022, + 1.020,1.017,1.015,1.013,1.013,1.020,1.0937 }, + {14.11,11.73,6.312,4.240,3.478,2.566,2.022,1.720, + 1.569,1.342,1.186,1.102,1.065,1.022,1.003,0.997, + 0.995,0.993,0.993,0.993,0.993,1.011,1.1140 }, + {22.76,20.01,8.835,5.287,4.144,2.901,2.219,1.855, + 1.677,1.410,1.224,1.121,1.073,1.014,0.986,0.976, + 0.974,0.972,0.973,0.974,0.975,0.987,1.1410 }, + {50.77,40.85,14.13,7.184,5.284,3.435,2.520,2.059, + 1.837,1.512,1.283,1.153,1.091,1.010,0.969,0.954, + 0.950,0.947,0.949,0.952,0.954,0.963,1.1750 }, + {65.87,59.06,15.87,7.570,5.567,3.650,2.682,2.182, + 1.939,1.579,1.325,1.178,1.108,1.014,0.965,0.947, + 0.941,0.938,0.940,0.944,0.946,0.954,1.1922 }, + // {45.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, // paper..... + {55.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, + 1.985,1.609,1.343,1.188,1.113,1.013,0.960,0.939, + 0.933,0.930,0.933,0.936,0.939,0.949,1.2026 }}; + G4double cpositron[15][23] = { + {2.589,2.044,1.658,1.446,1.347,1.217,1.144,1.110, + 1.097,1.083,1.080,1.086,1.092,1.108,1.123,1.131, + 1.131,1.126,1.117,1.108,1.103,1.100,0.7235 }, + {3.904,2.794,2.079,1.710,1.543,1.325,1.202,1.145, + 1.122,1.096,1.089,1.092,1.098,1.114,1.130,1.137, + 1.138,1.132,1.122,1.113,1.108,1.102,0.7925 }, + {7.970,6.080,4.442,3.398,2.872,2.127,1.672,1.451, + 1.357,1.246,1.194,1.179,1.178,1.188,1.201,1.205, + 1.203,1.190,1.173,1.159,1.151,1.145,0.9147 }, + {9.714,7.607,5.747,4.493,3.815,2.777,2.079,1.715, + 1.553,1.353,1.253,1.219,1.211,1.214,1.225,1.228, + 1.225,1.210,1.191,1.175,1.166,1.174,0.9700 }, + {17.97,12.95,8.628,6.065,4.849,3.222,2.275,1.820, + 1.624,1.382,1.259,1.214,1.202,1.202,1.214,1.219, + 1.217,1.203,1.184,1.169,1.160,1.151,1.0022 }, + {24.83,17.06,10.84,7.355,5.767,3.707,2.546,1.996, + 1.759,1.465,1.311,1.252,1.234,1.228,1.238,1.241, + 1.237,1.222,1.201,1.184,1.174,1.159,1.0158 }, + {23.26,17.15,11.52,8.049,6.375,4.114,2.792,2.155, + 1.880,1.535,1.353,1.281,1.258,1.247,1.254,1.256, + 1.252,1.234,1.212,1.194,1.183,1.170,1.0284 }, + {22.33,18.01,12.86,9.212,7.336,4.702,3.117,2.348, + 2.015,1.602,1.385,1.297,1.268,1.251,1.256,1.258, + 1.254,1.237,1.214,1.195,1.185,1.179,1.0515 }, + {33.91,24.13,15.71,10.80,8.507,5.467,3.692,2.808, + 2.407,1.873,1.564,1.425,1.374,1.330,1.324,1.320, + 1.312,1.288,1.258,1.235,1.221,1.205,1.0834 }, + {32.14,24.11,16.30,11.40,9.015,5.782,3.868,2.917, + 2.490,1.925,1.596,1.447,1.391,1.342,1.332,1.327, + 1.320,1.294,1.264,1.240,1.226,1.214,1.0937 }, + {29.51,24.07,17.19,12.28,9.766,6.238,4.112,3.066, + 2.602,1.995,1.641,1.477,1.414,1.356,1.342,1.336, + 1.328,1.302,1.270,1.245,1.231,1.233,1.1140 }, + {38.19,30.85,21.76,15.35,12.07,7.521,4.812,3.498, + 2.926,2.188,1.763,1.563,1.484,1.405,1.382,1.371, + 1.361,1.330,1.294,1.267,1.251,1.239,1.1410 }, + {49.71,39.80,27.96,19.63,15.36,9.407,5.863,4.155, + 3.417,2.478,1.944,1.692,1.589,1.480,1.441,1.423, + 1.409,1.372,1.330,1.298,1.280,1.258,1.1750 }, + {59.25,45.08,30.36,20.83,16.15,9.834,6.166,4.407, + 3.641,2.648,2.064,1.779,1.661,1.531,1.482,1.459, + 1.442,1.400,1.354,1.319,1.299,1.272,1.1922 }, + {56.38,44.29,30.50,21.18,16.51,10.11,6.354,4.542, + 3.752,2.724,2.116,1.817,1.692,1.554,1.499,1.474, + 1.456,1.412,1.364,1.328,1.307,1.282,1.2026 }}; + + G4double sigma; + + G4double Z23 = 2.*log(AtomicNumber)/3.; Z23 = exp(Z23); + + G4double ParticleMass = particle->GetPDGMass(); + + // correction if particle .ne. e-/e+ + // compute equivalent kinetic energy + // lambda depends on p*beta .... + + if((particle->GetParticleName() != "e-") && + (particle->GetParticleName() != "e+") ) + { + G4double TAU = KineticEnergy/ParticleMass ; + G4double c = ParticleMass*TAU*(TAU+2.)/(electron_mass_c2*(TAU+1.)) ; + G4double w = c-2. ; + G4double tau = 0.5*(w+sqrt(w*w+4.*c)) ; + KineticEnergy = electron_mass_c2*tau ; + } + + G4double Charge = particle->GetPDGCharge(); + G4double ChargeSquare = Charge*Charge/(eplus*eplus); + + G4double TotalEnergy = KineticEnergy + electron_mass_c2 ; + G4double beta2 = KineticEnergy*(TotalEnergy+electron_mass_c2) + /(TotalEnergy*TotalEnergy); + G4double bg2 = KineticEnergy*(TotalEnergy+electron_mass_c2) + /(electron_mass_c2*electron_mass_c2); + + G4double eps = epsfactor*bg2/Z23; + + if (eps epsmax) w1=log(2.*eps)+1./eps-3./(8.*eps*eps); + else w1=log((a+1.)/(a-1.))-2./(a+1.); + w = 1./((1.-x0)*eps); + if (w < epsmin) w2=-log(w)-1.+2.*w-1.5*w*w; + else w2 = log((a-x0)/(a-1.))-(1.-x0)/(a-x0); + corrnuclsize = w1/w2; + corrnuclsize = exp(-FactPar*ParticleMass/KineticEnergy)* + (corrnuclsize-1.)+1.; + } + + // interpolate in AtomicNumber and beta2 + // get bin number in Z + G4int iZ = 14; + while ((iZ>=0)&&(Zdat[iZ]>=AtomicNumber)) iZ -= 1; + if (iZ==14) iZ = 13; + if (iZ==-1) iZ = 0 ; + + G4double Z1 = Zdat[iZ]; + G4double Z2 = Zdat[iZ+1]; + G4double ratZ = (AtomicNumber-Z1)/(Z2-Z1); + + // get bin number in T (beta2) + G4int iT = 22; + while ((iT>=0)&&(Tdat[iT]>=KineticEnergy)) iT -= 1; + if(iT==22) iT = 21; + if(iT==-1) iT = 0 ; + + // calculate betasquare values + G4double T = Tdat[iT], E = T + electron_mass_c2; + G4double b2small = T*(E+electron_mass_c2)/(E*E); + T = Tdat[iT+1]; E = T + electron_mass_c2; + G4double b2big = T*(E+electron_mass_c2)/(E*E); + G4double ratb2 = (beta2-b2small)/(b2big-b2small); + + G4double c1,c2,cc1,cc2,corr; + if (Charge < 0.) + { + c1 = celectron[iZ][iT]; + c2 = celectron[iZ+1][iT]; + cc1 = c1+ratZ*(c2-c1); + + c1 = celectron[iZ][iT+1]; + c2 = celectron[iZ+1][iT+1]; + cc2 = c1+ratZ*(c2-c1); + + corr = cc1+ratb2*(cc2-cc1); + sigma /= corr; + } + + if (Charge > 0.) + { + c1 = cpositron[iZ][iT]; + c2 = cpositron[iZ+1][iT]; + cc1 = c1+ratZ*(c2-c1); + + c1 = cpositron[iZ][iT+1]; + c2 = cpositron[iZ+1][iT+1]; + cc2 = c1+ratZ*(c2-c1); + + corr = cc1+ratb2*(cc2-cc1); + sigma /= corr; + } + + // nucl. size correction for particles other than e+/e- only at present !!!! + if((particle->GetParticleName() != "e-") && + (particle->GetParticleName() != "e+") ) + sigma /= corrnuclsize; + + return sigma; + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::GeomPathLength( + G4PhysicsTable* theLambdaTable, + const G4MaterialCutsCouple* couple, + const G4ParticleDefinition* particle, + G4double& T0, + G4double lambda, + G4double range, + G4double truePathLength) +{ + // do the true -> geom transformation + const G4double ztmin = 1./3., ztmax = 0.98 ; + + lambda0 = lambda; + lambda1 = -1.; + lambdam = -1.; + alam = range; + zm = 1.; + cthm = 1.; + tPathLength = truePathLength; + G4double tau = tPathLength/lambda0 ; + + if (tau <= tausmall) return tPathLength; + + G4double zmean = tPathLength; + + if (tPathLength < range*dtrl) { + zmean = lambda0*(1.-exp(-tau)); + + } else { + G4LossTableManager* theManager = G4LossTableManager::Instance(); + G4double T1 = theManager->GetEnergy(particle,range-tPathLength,couple); + + if (theLambdaTable) { + G4bool b; + lambda1 = ((*theLambdaTable)[couple->GetIndex()])->GetValue(T1,b); + } else { + lambda1 = CrossSection(couple->GetMaterial(),particle,T1,0.0,1.0); + } + if (T0 > particle->GetPDGMass()) alam = lambda0*tPathLength/(lambda0-lambda1) ; + G4double blam = 1.+alam/lambda0 ; + if (tPathLength < 2.*dtrl*range) { + zmean = alam*(1.-exp(blam*log(1.-tPathLength/alam)))/blam ; + + } else { + G4double w = 1.-0.5*tPathLength/alam ; + lambdam = lambda0*w ; + G4double clam = 1.+alam/lambdam ; + cthm = exp(alam*log(w)/lambda0) ; + zm = alam*(1.-exp(blam*log(w)))/blam ; + zmean = zm + alam*(1.-exp(clam*log(w)))*cthm/clam ; + } + } + // sample z + G4double zPathLength = zmean ; + G4double zt = zmean/tPathLength ; + if (tPathLength >= stepmin && samplez && zt > ztmin && zt < ztmax) { + G4double cz = 0.5*(3.*zt-1.)/(1.-zt) ; + G4double cz1 = 1.+cz ; + G4double u0 = cz/cz1 ; + G4double u,grej ; + G4double grej0 = exp(cz*log(u0))*(1.-u0) ; + do { + u = exp(log(G4UniformRand())/cz1) ; + grej = exp(cz*log(u))*(1.-u) ; + if (grej > grej0) + G4cout << "G4LewisModel: Warning! majorant " + << grej0 << " < " << grej << G4endl; + } while (grej < grej0*G4UniformRand()) ; + zPathLength = tPathLength*u ; + } + + return zPathLength ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::TrueStepLength(G4double geomStepLength) +{ + G4double trueLength = geomStepLength; + if (geomStepLength > lambda0*tausmall) { + G4double blam = 1.+alam/lambda0; +// G4cout << "alam= " << alam << " blam= " << blam << " lambda1= " << lambda1 << G4endl; + if (lambda1 < 0.) { + trueLength = -lambda0*log(1.-geomStepLength/lambda0) ; + + } else if (lambdam < 0.) { + if (blam*geomStepLength < alam) + trueLength = alam*(1.-exp(log(1.-blam*geomStepLength/alam)/blam)); + else + trueLength = tPathLength; + + } else { + if (geomStepLength <= zm) { + + // ??? here is a problems - redefine variable + lambdam = -1.; + + if(blam*geomStepLength < alam ) + trueLength = alam*(1.-exp(log(1.-blam*geomStepLength/alam)/blam)); + else + trueLength = 0.5*tPathLength; + + } else { + G4double clam = 1.+alam/lambdam; +// G4cout << "clam= " << clam << " zm= " << zm << " cthm= " << cthm << G4endl; + if(clam*(geomStepLength-zm)/(alam*cthm) < 1.) + trueLength = 0.5*tPathLength + alam*(1.- + exp(log(1.-clam*(geomStepLength-zm)/(alam*cthm)))/clam) ; + else + trueLength = tPathLength; + } + } +// G4cout << "tLenth= " << trueLength << " tpl= " << tPathLength << G4endl; + if(trueLength > tPathLength) trueLength = tPathLength; + if(trueLength < geomStepLength) trueLength = geomStepLength; + } + + return trueLength; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::SampleCosineTheta(G4double trueStepLength) +{ + G4double cth = 1.; + currentTau = trueStepLength/lambda0; + if(trueStepLength < stepmin) + cth = exp(-currentTau) ; + else + { +// G4cout << "tau= " << currentTau << " lambda1= " << lambda1 << " lambdam= " << lambdam << G4endl; + if (currentTau > taubig) cth = -1.+2.*G4UniformRand(); + else if (currentTau >= tausmall) + { + if(lambda1 > 0.) + { + if (lambdam < 0.) + currentTau = -alam*log(1.-trueStepLength/alam)/lambda0 ; + else + currentTau = -log(cthm)-alam* + log(1.-(trueStepLength-0.5*tPathLength)/alam)/lambdam ; + } + if(currentTau > taubig) cth = -1.+2.*G4UniformRand(); + else + { + const G4double amax = 25. ; + const G4double tau0 = 0.02 ; + + G4double a; + + G4double w = log(currentTau/tau0) ; + if (currentTau < tau0) a = (alfa1-alfa2*w)/currentTau ; + else a = (alfa1+alfa3*w)/currentTau ; + + G4double x0 = 1.-xsi/a ; + if(x0 < 0.) x0 = 0. ; + + // from continuity of the 1st derivatives + G4double c = a*(b-x0) ; + if(a*currentTau < c0) c = c0*(b-x0)/currentTau ; + + if(c == 1.) c=1.000001 ; + if(c == 2.) c=2.000001 ; + if(c == 3.) c=3.000001 ; + + G4double ea = 0.0; + if (a*(1.-x0) < amax) ea = exp(-a*(1.-x0)) ; + + G4double eaa = 1.-ea ; + G4double xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; + + G4double b1 = b+1. ; + G4double bx = b-x0 ; + G4double eb1= exp((c-1.)*log(b1)) ; + G4double ebx= exp((c-1.)*log(bx)) ; + + G4double xmean2 = (x0*eb1+ebx+(eb1*bx-b1*ebx)/(2.-c))/(eb1-ebx) ; + G4double xmeanth = exp(-currentTau) ; + + G4double cnorm1 = a/eaa ; + G4double cnorm2 = (c-1.)*eb1*ebx/(eb1-ebx) ; + G4double f1x0 = cnorm1*exp(-a*(1.-x0)) ; + G4double f2x0 = cnorm2/exp(c*log(b-x0)) ; + + // from continuity at x=x0 + G4double prob = f2x0/(f1x0+f2x0) ; + // from xmean = xmeanth + G4double qprob = (f1x0+f2x0)*xmeanth/(f2x0*xmean1+f1x0*xmean2) ; + + // protection against qprob > 1 + if(qprob > 1.) + { + qprob = 1. ; + prob = (xmeanth-xmean2)/(xmean1-xmean2) ; + } +/* + G4cout << "tau= " << currentTau << " prob= " << prob << " qprob= " << qprob << G4endl; + G4cout << "ea= " << ea << " eaa= " << eaa << " a= " << a + << " b= " << b << " b1= " << b1 << " bx= " << bx + << " ebx= " << ebx << " eb1= " << eb1 << " c= " << c + << G4endl; +*/ + // sampling of costheta + if (G4UniformRand() < qprob) + { + if (G4UniformRand() < prob) + cth = 1.+log(ea+G4UniformRand()*eaa)/a ; + else + cth = b-b1*bx/exp(log(ebx-G4UniformRand()*(ebx-eb1))/(c-1.)) ; + } + else + { + cth = -1.+2.*G4UniformRand(); + } + } + } + } +// G4cout << "cth= " << cth << G4endl; + return cth; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4LewisModel::SampleDisplacement() +{ + const G4double kappa = 2.5; + const G4double kappapl1 = kappa+1.; + const G4double kappami1 = kappa-1.; + G4double rmean = 0.0; + if (currentTau >= tausmall) { + if (currentTau < taulim) { + rmean = kappa*currentTau*currentTau*currentTau*(1.-kappapl1*currentTau*0.25)/6. ; + + } else { + G4double etau = 0.0; + if (currentTauclearAndDestroy(); - if(range_vector[i]) range_vector[i]->clearAndDestroy(); - if(inv_range_vector[i]) inv_range_vector[i]->clearAndDestroy(); - } - dedx_vector.clear(); range_vector.clear(); inv_range_vector.clear(); @@ -138,44 +147,95 @@ void G4LossTableManager::Register(G4VEnergyLossSTD* p) range_vector.push_back(0); inv_range_vector.push_back(0); tables_are_built.push_back(false); - all_particles_are_mapped = false; all_tables_are_built = false; - /* - p->SetLossFluctuations(lossFluctuationFlag); - p->SetSubCutoff(subCutoffFlag); - p->SetRandomStep(rndmStepFlag); - p->SetMinSubRange(minSubRange); - p->SetMinKinEnergy(minKinEnergy); - p->SetMaxKinEnergy(maxKinEnergy); - p->SetStepLimits(maxRangeVariation, maxFinalStep); - p->SetIntegral(integral); - */ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... + +void G4LossTableManager::DeRegister(G4VEnergyLossSTD* p) +{ + for (G4int i=0; iGetParticleName() + "!"; + G4Exception(s); + exit(1); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4LossTableManager::Initialise() +void G4LossTableManager::Initialise(const G4ParticleDefinition* aParticle) { - all_tables_are_built = true; + if (first_entry) { + first_entry = false; + firstParticle = aParticle; + } + for(G4int j=0; jParticle(); + if (!pd) { + pd = loss_vector[j]->GetProcessManager()->GetParticleType(); + loss_vector[j]->SetParticle(pd); + } + if(!tables_are_built[j]) all_tables_are_built = false; + if(pd != part_vector[j]) { + part_vector[j] = pd; + base_part_vector[j] = loss_vector[j]->BaseParticle(); + } if(1 < verbose) { G4String nm = "unknown"; - const G4ParticleDefinition* pd = loss_vector[j]->Particle(); if(pd) nm = pd->GetParticleName(); G4cout << "For " << loss_vector[j]->GetProcessName() << " for " << nm << " tables_are_built= " << tables_are_built[j] + << " procFlag= " << loss_vector[j]->TablesAreBuilt() + << " all_tables_are_built= " << all_tables_are_built << G4endl; } - if(!loss_vector[j]->TablesAreBuilt()) { - all_tables_are_built = false; - break; - } } // All tables have to be rebuilt - if(all_particles_are_mapped && all_tables_are_built) { - for(G4int i=0; iParticle(); - if(!pd) { - pd = loss_vector[i]->GetProcessManager()->GetParticleType(); - loss_vector[i]->SetParticle(pd); - } - if(pd == theElectron) eIonisation = loss_vector[i]; - part_vector[i] = pd; - pd = loss_vector[i]->BaseParticle(); - base_part_vector[i] = pd; - } - } - all_particles_are_mapped = true; - } if(1 < verbose) { G4cout << "electron_table_are_built= " << electron_table_are_built - << " all_tables_are_built= " << all_tables_are_built - << " all_particles_are_mapped= " << all_particles_are_mapped + << " all_tables_are_built= " << all_tables_are_built << G4endl; } @@ -213,79 +253,77 @@ void G4LossTableManager::Initialise() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4LossTableManager::BuildDEDXTable(const G4ParticleDefinition* aParticle) +void G4LossTableManager::BuildPhysicsTable(const G4ParticleDefinition* aParticle) { - if(1 < verbose) { - G4cout << "G4LossTableManager::BuildDEDXTable() for " - << aParticle->GetParticleName() + if(0 < verbose) { + G4cout << "G4LossTableManager::BuildDEDXTable() for " + << aParticle->GetParticleName() << G4endl; } - Initialise(); + Initialise(aParticle); // identify all particles and built electron table if(!electron_table_are_built) { eIonisation = BuildTables(theElectron); + currentLoss = eIonisation; + currentParticle = theElectron; electron_table_are_built = true; } - // If particle is not an electron + // If particle is not an electron if(aParticle != theElectron) { for(G4int i=0; iParticle(); - const G4ParticleDefinition* bpd = loss_vector[i]->BaseParticle(); - if(pd) nm = pd->GetParticleName(); - if(bpd) nm2 = bpd->GetParticleName(); - if(part_vector[i]) nm1 = part_vector[i]->GetParticleName(); - G4cout << "For " << loss_vector[i]->GetProcessName() - << " for " << nm - << " (" << nm1 << ") " - << " base_part= " << nm2 - << " tables_are_built= " << tables_are_built[i] - << G4endl; - } if(aParticle == part_vector[i]) { if(tables_are_built[i]) break; - base_part_vector[i] = loss_vector[i]->BaseParticle(); if(!base_part_vector[i]) { G4VEnergyLossSTD* hIonisation = BuildTables(aParticle); for(G4int j=0; jInitialise(); em->SetDEDXTable(hIonisation->DEDXTable()); em->SetRangeTable(hIonisation->RangeTable()); em->SetInverseRangeTable(hIonisation->InverseRangeTable()); - loss_map[part_vector[j]] = hIonisation; - if(em->SecondaryParticle() == theElectron) { + em->SetLambdaTable(hIonisation->LambdaTable()); + em->SetSubLambdaTable(hIonisation->SubLambdaTable()); + loss_map[part_vector[j]] = em; + if (em->SecondaryParticle() == theElectron) { em->SetSecondaryRangeTable(eIonisation->RangeTable()); } + if (0 < verbose) { + G4cout << "For " << loss_vector[j]->GetProcessName() + << " for " << part_vector[j]->GetParticleName() + << " base_part= " << base_part_vector[j]->GetParticleName() + << " tables_are_built= " << G4endl; + } } } } else { G4VEnergyLossSTD* em = loss_vector[i]; for(G4int j=0; jDEDXTable()) { - tables_are_built[i] = true; - em->Initialise(); - em->SetDEDXTable(hIonisation->DEDXTable()); - em->SetRangeTable(hIonisation->RangeTable()); - em->SetInverseRangeTable(hIonisation->InverseRangeTable()); - loss_map[part_vector[i]] = hIonisation; - if(em->SecondaryParticle() == theElectron) { + if (tables_are_built[j] && part_vector[j] == base_part_vector[i]) { + G4VEnergyLossSTD* hIonisation = loss_vector[j]; + tables_are_built[i] = true; + em->Initialise(); + em->SetDEDXTable(hIonisation->DEDXTable()); + em->SetRangeTable(hIonisation->RangeTable()); + em->SetInverseRangeTable(hIonisation->InverseRangeTable()); + em->SetLambdaTable(hIonisation->LambdaTable()); + em->SetSubLambdaTable(hIonisation->SubLambdaTable()); + loss_map[part_vector[i]] = em; + if (em->SecondaryParticle() == theElectron) em->SetSecondaryRangeTable(eIonisation->RangeTable()); - } - break; + if (0 < verbose) { + G4cout << "For " << em->GetProcessName() + << " for " << part_vector[i]->GetParticleName() + << " base_part= " << base_part_vector[i]->GetParticleName() + << " tables_are_built= " << G4endl; } + break; } } } @@ -293,60 +331,105 @@ void G4LossTableManager::BuildDEDXTable(const G4ParticleDefinition* aParticle) } } } + + all_tables_are_built = true; + for (G4int ii=0; iiGetParticleName() + << G4endl; + } + if (first_entry) Initialise(aParticle); + if (all_tables_are_built) return; + + G4bool hasRange = false; + for (G4int i=0; iDEDXTable()) { - for(G4int j=0; jSetDEDXTable(theModel->DEDXTable()); - em->SetRangeTable(theModel->RangeTable()); - em->SetInverseRangeTable(theModel->InverseRangeTable()); - loss_map[part_vector[j]] = theModel; - } - } - } - } else { - const G4ParticleDefinition* bp = theModel->BaseParticle(); - for(G4int j=0; jDEDXTable()) { - G4VEnergyLossSTD* hIonisation = loss_vector[j]; - theModel->SetDEDXTable(hIonisation->DEDXTable()); - theModel->SetRangeTable(hIonisation->RangeTable()); - theModel->SetInverseRangeTable(hIonisation->InverseRangeTable()); - loss_map[part_vector[j]] = hIonisation; - break; - } - } - } + if (theLoss->RangeTable()) { + if (part_vector[i] == theElectron) { + eIonisation = theLoss; + currentLoss = theLoss; + currentParticle = theElectron; + electron_table_are_built = true; + } + loss_map[part_vector[i]] = theLoss; + hasRange = true; + if (0 < verbose) { + G4cout << "dEdx and Range tables are defined for " + << aParticle->GetParticleName() + << G4endl; + } } + } + if (electron_table_are_built && theLoss->SecondaryParticle() == theElectron) + theLoss->SetSecondaryRangeTable(eIonisation->RangeTable()); + } + + if ( hasRange ) { + for (G4int j=0; jInitialise(); + em->SetDEDXTable(theLoss->DEDXTable()); + em->SetRangeTable(theLoss->RangeTable()); + em->SetInverseRangeTable(theLoss->InverseRangeTable()); + em->SetLambdaTable(theLoss->LambdaTable()); + em->SetSubLambdaTable(theLoss->SubLambdaTable()); + if (electron_table_are_built && em->SecondaryParticle() == theElectron) + em->SetSecondaryRangeTable(eIonisation->RangeTable()); + loss_map[part_vector[j]] = em; + if (1 < verbose) { + G4String nm = "0"; + G4String nm1= "0"; + G4String nm2= "0"; + const G4ParticleDefinition* pd = part_vector[j]; + const G4ParticleDefinition* bpd = base_part_vector[j]; + if (pd) nm = pd->GetParticleName(); + if (bpd) nm2 = bpd->GetParticleName(); + if (part_vector[j]) nm1 = part_vector[j]->GetParticleName(); + G4cout << "For " << loss_vector[j]->GetProcessName() + << " for " << nm + << " (" << nm1 << ") " + << " base_part= " << nm2 + << " tables_are_built= " << tables_are_built[j] + << G4endl; + } + } + } + } + + all_tables_are_built = true; + for (G4int ii=0; iiSecondaryParticle() == theElectron) { - loss_vector[i]->SetSecondaryRangeTable(theModel->RangeTable()); - } - } + if(0 < verbose) { + G4cout << "G4LossTableManager::RetrievePhysicsTable: end; " + << "all_tables_are_built= " << all_tables_are_built + << G4endl; } } @@ -354,8 +437,8 @@ void G4LossTableManager::RetrieveDEDXTable(const G4ParticleDefinition* aParticle G4VEnergyLossSTD* G4LossTableManager::BuildTables(const G4ParticleDefinition* aParticle) { - if(1 < verbose) { - G4cout << "G4LossTableManager::BuildTables() for " + if(0 < verbose) { + G4cout << "G4LossTableManager::BuildTables() for " << aParticle->GetParticleName() << G4endl; } @@ -364,42 +447,41 @@ G4VEnergyLossSTD* G4LossTableManager::BuildTables(const G4ParticleDefinition* aP list.clear(); G4std::vector loss_list; loss_list.clear(); - G4VEnergyLossSTD* em = 0; + G4VEnergyLossSTD* em = 0; G4int iem = 0; G4bool no_el = true; - for(G4int i=0; iBaseParticle(); + for (G4int i=0; iInitialise(); if(no_el && loss_vector[i]->SecondaryParticle() == theElectron) { em = loss_vector[i]; iem= i; no_el = false; - } + } if(!em) { em = loss_vector[i]; iem= i; - } + } tables_are_built[i] = true; list.push_back(loss_vector[i]->BuildDEDXTable()); loss_list.push_back(loss_vector[i]); } } - G4int n_dedx = list.size(); - if(!n_dedx) return 0; + G4int n_dedx = list.size(); + if (!n_dedx) return 0; - if(aParticle == theElectron) eIonisation = em; + if (aParticle == theElectron) eIonisation = em; - if(0 < verbose) { + if (1 < verbose) { G4cout << "G4LossTableManager::BuildTables() start to build range tables" - << " and the sum of " << n_dedx << " processes" + << " and the sum of " << n_dedx << " processes" << G4endl; } G4PhysicsTable* dedx = list[0]; - if(1 < n_dedx) { + if (1 < n_dedx) { dedx = tableBuilder->BuildDEDXTable(list); for(G4int i=0; iclearAndDestroy(); @@ -415,14 +497,21 @@ G4VEnergyLossSTD* G4LossTableManager::BuildTables(const G4ParticleDefinition* aP inv_range_vector[iem] = invrange; loss_map[aParticle] = em; - for(G4int j=0; jSecondaryParticle() == theElectron) { - loss_list[j]->SetSecondaryRangeTable(eIonisation->RangeTable()); + for (G4int j=0; jSecondaryParticle() == theElectron) + loss_list[j]->SetSecondaryRangeTable(eIonisation->RangeTable()); + + G4PhysicsTable* lambdaTable = loss_list[j]->BuildLambdaTable(); + loss_list[j]->SetLambdaTable(lambdaTable); + if (0 < loss_list[j]->NumberOfSubCutoffRegions()) { + lambdaTable = loss_list[j]->BuildLambdaSubTable(); + loss_list[j]->SetSubLambdaTable(lambdaTable); } } - if(1 < verbose) { - G4cout << "G4LossTableManager::BuildTables: Tables are built" - << " for " << em->GetProcessName() + if (0 < verbose) { + G4cout << "G4LossTableManager::BuildTables: Tables are built for " + << aParticle->GetParticleName() + << "; ionisation process: " << em->GetProcessName() << G4endl; } return em; @@ -430,7 +519,7 @@ G4VEnergyLossSTD* G4LossTableManager::BuildTables(const G4ParticleDefinition* aP //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4LossTableManager::SetLossFluctuations(G4bool val) +void G4LossTableManager::SetLossFluctuations(G4bool val) { lossFluctuationFlag = val; for(G4int i=0; iSetStepLimits(v1, v2); @@ -511,47 +600,4 @@ void G4LossTableManager::SetStepLimits(G4double v1, G4double v2) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4bool G4LossTableManager::StorePhysicsTable(G4VEnergyLossSTD* el, - const G4String& dedx_file, - const G4String& range_file, - const G4String& inv_range_file, - G4bool ascii) -{ - G4int i=0; - for(i=0; iStorePhysicsTable(dedx_file, ascii) ){ - G4cout << "Fatal error theDEDXTable->StorePhysicsTable in <" - << dedx_file << ">" - << G4endl; - return false; - } - } - - if (range_vector[i]) { - if ( !range_vector[i]->StorePhysicsTable(range_file, ascii) ){ - G4cout << "Fatal error theRangeTable->StorePhysicsTable in <" - << range_file << ">" - << G4endl; - return false; - } - } - - if (inv_range_vector[i]) { - if ( !inv_range_vector[i]->StorePhysicsTable(inv_range_file, ascii) ){ - G4cout << "Fatal error theInverseRangeTable->StorePhysicsTable in <" - << inv_range_file << ">" - << G4endl; - return false; - } - } - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/utils/src/G4MultipleScattering.cc b/source/processes/electromagnetic/utils/src/G4MultipleScattering.cc index 0ee9994438..241d99755f 100644 --- a/source/processes/electromagnetic/utils/src/G4MultipleScattering.cc +++ b/source/processes/electromagnetic/utils/src/G4MultipleScattering.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MultipleScattering.cc,v 1.30 2002/12/11 12:05:02 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MultipleScattering.cc,v 1.39 2003/04/28 15:31:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // 16/05/01 value of cparm changed , L.Urban @@ -52,8 +52,14 @@ // 30-10-02 modified angle distribution,mods in boundary algorithm, // changes in data members, L.Urban // 30-10-02 rename variable cm - Ecm, V.Ivanchenko -// 11-12-02 precision problem in ComputeTransportCrossSection +// 11-12-02 precision problem in ComputeTransportCrossSection // for small Tkin/for heavy particles cured, L.Urban +// 05-02-03 changes in data members, new sampling for geom. +// path length, step dependence reduced with new +// method +// 17-03-03 cut per region, V.Ivanchenko +// 13-04-03 add initialisation in GetContinuesStepLimit + change table size (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (M.Asai) // ----------------------------------------------------------------------------- // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,13 +70,13 @@ #include "G4Navigator.hh" #include "G4TransportationManager.hh" #include "Randomize.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4MultipleScattering::G4MultipleScattering(const G4String& processName) : G4VContinuousDiscreteProcess(processName), theTransportMeanFreePathTable(0), - fTransportMeanFreePath (1.e12),kappa(2.5), taubig(8.0),tausmall(1.e-14),taulim(1.e-5), LowestKineticEnergy(0.1*keV), HighestKineticEnergy(100.*TeV), @@ -84,8 +90,10 @@ G4MultipleScattering::G4MultipleScattering(const G4String& processName) stepno(0),stepnolastmsc(-1000000),nsmallstep(5), laststep(0.), valueGPILSelectionMSC(NotCandidateForSelection), - pcz(0.17),zmean(0.), - range(1.0),T1(1.0),lambda1(-1.),cth1(1.),z1(1.e10),dtrl(0.15), + zmean(0.),samplez(true), + range(1.),T0(1.),T1(1.),lambda0(1.),lambda1(-1.), + Tlow(0.),alam(1.),blam(1.),dtrl(0.15), + lambdam(-1.),clam(1.),zm(1.),cthm(1.), fLatDisplFlag(true), NuclCorrPar (0.0615), FactPar(0.40), @@ -110,12 +118,13 @@ void G4MultipleScattering::BuildPhysicsTable( { // set values of some data members if((aParticleType.GetParticleName() == "e-") || - (aParticleType.GetParticleName() == "e+")) + (aParticleType.GetParticleName() == "e+")) { // parameters for e+/e- alfa1 = 1.45 ; alfa2 = 0.60 ; - alfa3 = 1.80 ; + alfa3 = 0.30 ; + b = 1. ; xsi = facxsi*2.22 ; c0 = 2.30 ; } @@ -124,11 +133,15 @@ void G4MultipleScattering::BuildPhysicsTable( // parameters for heavy particles alfa1 = 1.10 ; alfa2 = 0.14 ; - alfa3 = 0.42 ; + alfa3 = 0.07 ; + b = 1. ; xsi = facxsi*2.70 ; c0 = 1.40 ; - } - + } + + // .............................. + Tlow = aParticleType.GetPDGMass(); + // tables are built for MATERIALS const G4double sigmafactor = twopi*classic_electr_radius* classic_electr_radius; @@ -143,13 +156,14 @@ void G4MultipleScattering::BuildPhysicsTable( } // create table - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - theTransportMeanFreePathTable = new G4PhysicsTable(numOfMaterials); + theTransportMeanFreePathTable = new G4PhysicsTable(numOfCouples); // loop for materials - for (G4int J=0; JGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); const G4int NumberOfElements = material->GetNumberOfElements(); density = material->GetDensity(); - + // loop for kinetic energy values for (G4int i=0; iGetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + materialIndex = couple->GetIndex(); aParticle = track.GetDynamicParticle(); - KineticEnergy = aParticle->GetKineticEnergy(); + T0 = aParticle->GetKineticEnergy(); + + lambda0 = (*theTransportMeanFreePathTable) + (materialIndex)->GetValue(T0,isOut); - fTransportMeanFreePath = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(KineticEnergy,isOut); range = G4EnergyLossTables::GetRange(aParticle->GetDefinition(), - KineticEnergy,aMaterial); + T0,couple); + //VI Initialisation at the beginning of the step + cthm = 1.; + lambda1 = -1.; + lambdam = -1.; + alam = range; + blam = 1.+alam/lambda0 ; + zm = 1.; // special treatment near boundaries ? - if (boundary) + if (boundary && range >= currentMinimumStep) { // step limitation at boundary ? stepno = track.GetCurrentStepNumber() ; @@ -471,125 +497,165 @@ G4double G4MultipleScattering::GetContinuousStepLimit( { stepnolastmsc = -1000000 ; tlimit = 1.e10 ; - } + } - if(stepno > 1) + if(stepno > 1) { if(track.GetStep()->GetPreStepPoint()->GetStepStatus() == fGeomBoundary) { stepnolastmsc = stepno ; // if : diff.treatment for small/not small Z - if(range > fTransportMeanFreePath) + if(range > lambda0) tlimit = facrange*range ; else - tlimit = facrange*fTransportMeanFreePath ; + tlimit = facrange*lambda0 ; if(tlimit < tlimitmin) tlimit = tlimitmin ; laststep = tlimit ; if(tPathLength > tlimit) { tPathLength = tlimit ; valueGPILSelectionMSC = CandidateForSelection; - } + } } - else if(stepno > stepnolastmsc) + else if(stepno > stepnolastmsc) { - if((stepno - stepnolastmsc) < nsmallstep) + if((stepno - stepnolastmsc) < nsmallstep) { if(tPathLength > tlimit) { laststep *= cf ; tPathLength = laststep ; valueGPILSelectionMSC = CandidateForSelection; - } + } } } } } - + // do the true -> geom transformation - lambda1 = -1.; - z1 = 1.e10 ; + zmean = tPathLength; - tau = tPathLength/fTransportMeanFreePath ; - - if(tau < tausmall) zPathLength = tPathLength; + tau = tPathLength/lambda0 ; + if (tau < tausmall || range < currentMinimumStep) zPathLength = tPathLength; else { - if(tPathLength/range < dtrl) zmean = fTransportMeanFreePath*(1.-exp(-tau)); + if(tPathLength/range < dtrl) zmean = lambda0*(1.-exp(-tau)); else - { + { T1 = G4EnergyLossTables::GetPreciseEnergyFromRange( - aParticle->GetDefinition(),range-0.5*tPathLength,aMaterial); + aParticle->GetDefinition(),range-tPathLength,couple); lambda1 = (*theTransportMeanFreePathTable) (materialIndex)->GetValue(T1,isOut); - z1 = fTransportMeanFreePath*(1.-exp(-0.5*tau)); - cth1 = exp(-0.5*tau); - zmean = z1 + lambda1*(1.-exp(-0.5*tPathLength/lambda1))*cth1; + if(T0 < Tlow) + alam = range ; + else + alam = lambda0*tPathLength/(lambda0-lambda1) ; + blam = 1.+alam/lambda0 ; + if(tPathLength/range < 2.*dtrl) + { + zmean = alam*(1.-exp(blam*log(1.-tPathLength/alam)))/blam ; + lambdam = -1. ; + } + else + { + G4double w = 1.-0.5*tPathLength/alam ; + lambdam = lambda0*w ; + clam = 1.+alam/lambdam ; + cthm = exp(alam*log(w)/lambda0) ; + zm = alam*(1.-exp(blam*log(w)))/blam ; + zmean = zm + alam*(1.-exp(clam*log(w)))*cthm/clam ; + } } - + // sample z - if ((pcz > 0.) && (2.*zmean > tPathLength)) + zt = zmean/tPathLength ; + if (samplez && (zt < ztmax) && (zt > 0.5)) { - z0 = zmean+pcz*(tPathLength-zmean); - kz = (2.*zmean-tPathLength)/(z0-zmean)+1.; - if (G4UniformRand() < z0/tPathLength) - zPathLength = z0*exp(log(G4UniformRand())/kz); - else zPathLength = tPathLength-(tPathLength-z0) - *exp(log(1.-G4UniformRand())/kz); - } - else - { - zPathLength = zmean; + cz = 0.5*(3.*zt-1.)/(1.-zt) ; + if(tPathLength < exp(log(tmax)/(2.*cz))) + { + cz1 = 1.+cz ; + grej0 = exp(cz1*log(cz*tPathLength/cz1))/cz ; + do + { + zPathLength = tPathLength*exp(log(G4UniformRand())/cz1) ; + grej = exp(cz*log(zPathLength))*(tPathLength-zPathLength)/grej0 ; + } while (grej < G4UniformRand()) ; + } + else zPathLength = zmean; } + else zPathLength = zmean; } + // protection against z > lambda + if(zPathLength > lambda0) + zPathLength = lambda0 ; tLast = tPathLength; - zLast = zPathLength; + zLast = zPathLength; return zPathLength; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* G4MultipleScattering::AlongStepDoIt( - const G4Track& track,const G4Step& Step) -{ + const G4Track& track,const G4Step& step) +{ // only a geom path->true path transformation is performed fParticleChange.Initialize(track); - - G4double geomPathLength = track.GetStepLength(); - G4double truePathLength; - - if (geomPathLength/fTransportMeanFreePath < tausmall) - truePathLength = geomPathLength; - else if(geomPathLength == zLast) truePathLength = tLast; - else - { - if (geomPathLength <= z1) - { - if (geomPathLength < fTransportMeanFreePath) - truePathLength = -fTransportMeanFreePath - *log(1.-geomPathLength/fTransportMeanFreePath); - else truePathLength = range; + G4double geomPathLength = step.GetStepLength(); - lambda1 = -1.; - } - else - { - if ((geomPathLength-z1)/(cth1*lambda1) < 1.) - truePathLength = 0.5*tLast-lambda1 - *log(1.-(geomPathLength-z1)/(cth1*lambda1)); - else truePathLength = range; - } - } + G4double truePathLength = 0. ; + //VI change order of if operators + if(geomPathLength == zLast) truePathLength = tLast; + else if(geomPathLength/lambda0 < tausmall) truePathLength = geomPathLength; + else + { + if(lambda1 < 0.) truePathLength = -lambda0*log(1.-geomPathLength/lambda0) ; + else if(lambdam < 0.) + { + if(blam*geomPathLength/alam < 1.) + truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ + blam)) ; + else + truePathLength = tLast; + } + else + { + if(geomPathLength <= zm) + { + if(blam*geomPathLength/alam < 1.) + truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ + blam)) ; + else + truePathLength = 0.5*tLast; + + lambdam = -1. ; + } + else + { + if(clam*(geomPathLength-zm)/(alam*cthm) < 1.) + truePathLength = 0.5*tLast + alam*(1.- + exp(log(1.-clam*(geomPathLength-zm)/(alam*cthm)))/clam) ; + else + truePathLength = tLast ; + } + } + // protection .... + if(truePathLength > tLast) + truePathLength = tLast ; + } + + //VI truePath length cannot be smaller than geomPathLength + if (truePathLength < geomPathLength) truePathLength = geomPathLength; fParticleChange.SetTrueStepLength(truePathLength); return &fParticleChange; - + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -599,8 +665,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( const G4Step& stepData) { // angle distribution parameters - const G4double kappapl1 = kappa+1., kappami1 = kappa-1. ; - G4bool isOut; + const G4double kappa = 2.5, kappapl1 = kappa+1., kappami1 = kappa-1. ; fParticleChange.Initialize(trackData); G4double truestep = stepData.GetStepLength(); @@ -608,30 +673,31 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double KineticEnergy = aParticle->GetKineticEnergy(); - fTransportMeanFreePath = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(KineticEnergy,isOut); - - // change direction first ( scattering ) - G4double cth =1 ; - G4double tau = truestep/fTransportMeanFreePath; - - if(KineticEnergy <= 0.) - ; - else + // do nothing for stopped particles ! + if(KineticEnergy > 0.) { + // change direction first ( scattering ) + G4double cth = 1.0 ; + G4double tau = truestep/lambda0 ; + if (tau < tausmall) cth = 1.; else if(tau > taubig) cth = -1.+2.*G4UniformRand(); else { - if(lambda1 > 0.) tau = 0.5*tLast/lambda1 - +(truestep-0.5*tLast)/fTransportMeanFreePath; + if(lambda1 > 0.) + { + if(lambdam < 0.) + tau = -alam*log(1.-truestep/alam)/lambda0 ; + else + tau = -log(cthm)-alam*log(1.-(truestep-0.5*tLast)/alam)/lambdam ; + } + if(tau > taubig) cth = -1.+2.*G4UniformRand(); else { const G4double amax=25. ; const G4double tau0 = 0.02 ; - const G4double b = 1. ; - + G4double a,x0,c,xmean1,xmean2, xmeanth,prob,qprob ; G4double ea,eaa,b1,bx,eb1,ebx,cnorm1,cnorm2,f1x0,f2x0,w ; @@ -642,11 +708,11 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( else a = (alfa1+alfa3*w)/tau ; - x0 = 1.-xsi/a ; + x0 = 1.-xsi/a ; if(x0 < 0.) x0 = 0. ; // from continuity of the 1st derivatives - c = a*(b-x0) ; + c = a*(b-x0) ; if(a*tau < c0) c = c0*(b-x0)/tau ; @@ -659,7 +725,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( else ea = 0. ; eaa = 1.-ea ; - xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; + xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; b1 = b+1. ; bx=b-x0 ; @@ -669,7 +735,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( xmeanth = exp(-tau) ; - cnorm1 = a/eaa ; + cnorm1 = a/eaa ; cnorm2 = (c-1.)*eb1*ebx/(eb1-ebx) ; f1x0 = cnorm1*exp(-a*(1.-x0)) ; f2x0 = cnorm2/exp(c*log(b-x0)) ; @@ -697,10 +763,9 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( cth = b-b1*bx/exp(log(ebx-G4UniformRand()*(ebx-eb1))/(c-1.)) ; } else - cth = -1.+2.*G4UniformRand() ; + cth = -1.+2.*G4UniformRand() ; } } - } G4double sth = sqrt(1.-cth*cth); G4double phi = twopi*G4UniformRand(); @@ -716,13 +781,13 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( if (fLatDisplFlag) { - // compute mean lateral displacement, only for safety > tolerance ! + // compute mean lateral displacement, only for safety > tolerance ! G4double safetyminustolerance = stepData.GetPostStepPoint()->GetSafety(); G4double rmean, etau; - + if (safetyminustolerance > 0.) { - if (tau < tausmall) rmean = 0.; + if (tau < tausmall) rmean = 0.; else if(tau < taulim) rmean = kappa*tau*tau*tau*(1.-kappapl1*tau/4.)/6. ; else { @@ -733,7 +798,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( rmean += tau-kappapl1/kappa+kappa*etau/kappami1; } - if (rmean>0.) rmean = 2.*fTransportMeanFreePath*sqrt(rmean/3.); + if (rmean>0.) rmean = 2.*lambda0*sqrt(rmean/3.); else rmean = 0.; // for rmean > 0) only @@ -751,7 +816,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( // compute new endpoint of the Step G4ThreeVector newPosition = stepData.GetPostStepPoint()->GetPosition() + rmean*latDirection; - + G4Navigator* navigator = G4TransportationManager::GetTransportationManager() ->GetNavigatorForTracking(); @@ -761,6 +826,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( } } } + } return &fParticleChange; } @@ -779,7 +845,7 @@ G4VParticleChange* G4MultipleScattering::PostStepDoIt( << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to store the PhysicsTables in " << directory << G4endl; @@ -793,6 +859,32 @@ G4bool G4MultipleScattering::RetrievePhysicsTable( const G4String& directory, G4bool ascii) { + // set values of some data members + G4String name = particle->GetParticleName(); + if(name == "e-" || name == "e+") + { + // parameters for e+/e- + alfa1 = 1.45 ; + alfa2 = 0.60 ; + alfa3 = 0.30 ; + b = 1. ; + xsi = facxsi*2.22 ; + c0 = 2.30 ; + } + else + { + // parameters for heavy particles + alfa1 = 1.10 ; + alfa2 = 0.14 ; + alfa3 = 0.07 ; + b = 1. ; + xsi = facxsi*2.70 ; + c0 = 1.40 ; + } + + // .............................. + Tlow = particle->GetPDGMass(); + // delete theTransportMeanFreePathTable if (theTransportMeanFreePathTable != 0) { theTransportMeanFreePathTable->clearAndDestroy(); @@ -803,22 +895,25 @@ G4bool G4MultipleScattering::RetrievePhysicsTable( // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theTransportMeanFreePathTable = + theTransportMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); if (!theTransportMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; + + if (name == "e-" || name == "mu+" || name == "proton") PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MultipleScattering::PrintInfoDefinition() { G4String comments = " Tables of transport mean free paths."; diff --git a/source/processes/electromagnetic/utils/src/G4MultipleScatteringSTD.cc b/source/processes/electromagnetic/utils/src/G4MultipleScatteringSTD.cc index f0a6fe76e6..f945d71992 100644 --- a/source/processes/electromagnetic/utils/src/G4MultipleScatteringSTD.cc +++ b/source/processes/electromagnetic/utils/src/G4MultipleScatteringSTD.cc @@ -20,13 +20,13 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4MultipleScatteringSTD.cc,v 1.6 2002/12/11 12:05:02 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MultipleScatteringSTD.cc,v 1.18 2003/04/28 15:31:40 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // 16/05/01 value of cparm changed , L.Urban // 18/05/01 V.Ivanchenko Clean up against Linux ANSI compilation -// 07/08/01 new methods Store/Retrieve PhysicsTable (mma) +// 07/08/01 new methods Store/Retrieve PhysicsTable (mma) // 23-08-01 new angle and z distribution,energy dependence reduced, // Store,Retrieve methods commented out temporarily, L.Urban // 27-08-01 in BuildPhysicsTable:aParticleType.GetParticleName()=="mu+" (mma) @@ -52,8 +52,14 @@ // 15-10-02 temporary fix for proton scattering // 30-10-02 modified angle distribution,mods in boundary algorithm, // changes in data members, L.Urban -// 11-12-02 precision problem in ComputeTransportCrossSection +// 11-12-02 precision problem in ComputeTransportCrossSection // for small Tkin/for heavy particles cured from L.Urban +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 05-02-03 changes in data members, new sampling for geom. +// path length, step dependence reduced with new +// method (L.Urban) +// 13-04-03 add initialisation in GetContinuesStepLimit + change table size (V.Ivanchenko) +// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) // // ----------------------------------------------------------------------------- // @@ -65,13 +71,13 @@ #include "G4Navigator.hh" #include "G4TransportationManager.hh" #include "Randomize.hh" +#include "G4ProductionCutsTable.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4MultipleScatteringSTD::G4MultipleScatteringSTD(const G4String& processName) : G4VContinuousDiscreteProcess(processName), theTransportMeanFreePathTable(0), - fTransportMeanFreePath (1.e12),kappa(2.5), taubig(8.0),tausmall(1.e-14),taulim(1.e-5), LowestKineticEnergy(0.1*keV), HighestKineticEnergy(100.*TeV), @@ -83,16 +89,18 @@ G4MultipleScatteringSTD::G4MultipleScatteringSTD(const G4String& processName) facrange(0.199),tlimit(1.e10*mm),tlimitmin(1.e-7*mm), cf(1.001), stepno(0),stepnolastmsc(-1000000),nsmallstep(5), - laststep(0.), + laststep(0.), valueGPILSelectionMSC(NotCandidateForSelection), - pcz(0.17),zmean(0.), - range(1.0),T1(1.0),lambda1(-1.),cth1(1.),z1(1.e10),dtrl(0.15), + zmean(0.),samplez(true), + range(1.),T0(1.),T1(1.),lambda0(1.),lambda1(-1.), + Tlow(0.),alam(1.),blam(1.),dtrl(0.15), + lambdam(-1.),clam(1.),zm(1.),cthm(1.), fLatDisplFlag(true), NuclCorrPar (0.0615), FactPar(0.40), facxsi(1.) { } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4MultipleScatteringSTD::~G4MultipleScatteringSTD() @@ -111,12 +119,13 @@ void G4MultipleScatteringSTD::BuildPhysicsTable( { // set values of some data members if((aParticleType.GetParticleName() == "e-") || - (aParticleType.GetParticleName() == "e+")) + (aParticleType.GetParticleName() == "e+")) { // parameters for e+/e- alfa1 = 1.45 ; alfa2 = 0.60 ; - alfa3 = 1.80 ; + alfa3 = 0.30 ; + b = 1. ; xsi = facxsi*2.22 ; c0 = 2.30 ; } @@ -125,10 +134,13 @@ void G4MultipleScatteringSTD::BuildPhysicsTable( // parameters for heavy particles alfa1 = 1.10 ; alfa2 = 0.14 ; - alfa3 = 0.42 ; + alfa3 = 0.07 ; + b = 1. ; xsi = facxsi*2.70 ; c0 = 1.40 ; - } + } + + Tlow = aParticleType.GetPDGMass(); // tables are built for MATERIALS const G4double sigmafactor = twopi*classic_electr_radius* @@ -144,13 +156,14 @@ void G4MultipleScatteringSTD::BuildPhysicsTable( } // create table - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - theTransportMeanFreePathTable = new G4PhysicsTable(numOfMaterials); + theTransportMeanFreePathTable = new G4PhysicsTable(numOfCouples); // loop for materials - for (G4int J=0; JGetMaterialCutsCouple(i); + const G4Material* material = couple->GetMaterial(); const G4ElementVector* theElementVector = material->GetElementVector(); const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); const G4int NumberOfElements = material->GetNumberOfElements(); density = material->GetDensity(); - + // loop for kinetic energy values for (G4int i=0; iGetIndex(); + const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); + materialIndex = couple->GetIndex(); aParticle = track.GetDynamicParticle(); - KineticEnergy = aParticle->GetKineticEnergy(); + T0 = aParticle->GetKineticEnergy(); - fTransportMeanFreePath = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(KineticEnergy,isOut); + lambda0 = (*theTransportMeanFreePathTable) + (materialIndex)->GetValue(T0,isOut); range = theManager->GetRange(aParticle->GetDefinition(), - KineticEnergy,aMaterial); + T0,couple); + //VI Initialisation at the beginning of the step + cthm = 1.; + lambda1 = -1.; + lambdam = -1.; + alam = range; + blam = 1.+alam/lambda0 ; + zm = 1.; // special treatment near boundaries ? - if (boundary) + if (boundary && range >= currentMinimumStep) { // step limitation at boundary ? stepno = track.GetCurrentStepNumber() ; @@ -473,126 +495,169 @@ G4double G4MultipleScatteringSTD::GetContinuousStepLimit( { stepnolastmsc = -1000000 ; tlimit = 1.e10 ; - } + } - if(stepno > 1) + if(stepno > 1) { if(track.GetStep()->GetPreStepPoint()->GetStepStatus() == fGeomBoundary) { stepnolastmsc = stepno ; // if : diff.treatment for small/not small Z - if(range > fTransportMeanFreePath) + if(range > lambda0) tlimit = facrange*range ; else - tlimit = facrange*fTransportMeanFreePath ; - - if(tlimit < tlimitmin) tlimit = tlimitmin ; + tlimit = facrange*lambda0 ; + if(tlimit < tlimitmin) tlimit = tlimitmin ; laststep = tlimit ; - if(tPathLength > tlimit) + if(tPathLength > tlimit) { tPathLength = tlimit ; valueGPILSelectionMSC = CandidateForSelection; - } + } } else if(stepno > stepnolastmsc) { - if((stepno - stepnolastmsc) < nsmallstep) + if((stepno - stepnolastmsc) < nsmallstep) { if(tPathLength > tlimit) { laststep *= cf ; tPathLength = laststep ; valueGPILSelectionMSC = CandidateForSelection; - } + } } } } } - + // do the true -> geom transformation - lambda1 = -1.; - z1 = 1.e10 ; + zmean = tPathLength; - tau = tPathLength/fTransportMeanFreePath ; - - if(tau < tausmall) zPathLength = tPathLength; + tau = tPathLength/lambda0 ; + //G4cout << "StepLimit: tpl= " << tPathLength << " lambda0= " << lambda0 + // << " range= " << range << " currentMinStep= " << currentMinimumStep << G4endl; + + if(tau < tausmall || range < currentMinimumStep ) zPathLength = tPathLength; else { - if(tPathLength/range < dtrl) zmean = fTransportMeanFreePath*(1.-exp(-tau)); + if(tPathLength/range < dtrl) zmean = lambda0*(1.-exp(-tau)); else - { + { T1 = theManager->GetEnergy( - aParticle->GetDefinition(),range-0.5*tPathLength,aMaterial); + aParticle->GetDefinition(),range-tPathLength,couple); lambda1 = (*theTransportMeanFreePathTable) (materialIndex)->GetValue(T1,isOut); - z1 = fTransportMeanFreePath*(1.-exp(-0.5*tau)); - cth1 = exp(-0.5*tau); - zmean = z1 + lambda1*(1.-exp(-0.5*tPathLength/lambda1))*cth1; + if(T0 < Tlow) + alam = range ; + else + alam = lambda0*tPathLength/(lambda0-lambda1) ; + blam = 1.+alam/lambda0 ; + if(tPathLength/range < 2.*dtrl) + { + zmean = alam*(1.-exp(blam*log(1.-tPathLength/alam)))/blam ; + lambdam = -1. ; + } + else + { + G4double w = 1.-0.5*tPathLength/alam ; + lambdam = lambda0*w ; + clam = 1.+alam/lambdam ; + cthm = exp(alam*log(w)/lambda0) ; + zm = alam*(1.-exp(blam*log(w)))/blam ; + zmean = zm + alam*(1.-exp(clam*log(w)))*cthm/clam ; + } } - + // sample z - if ((pcz > 0.) && (2.*zmean > tPathLength)) + zt = zmean/tPathLength ; + if (samplez && (zt < ztmax) && (zt > 0.5)) { - z0 = zmean+pcz*(tPathLength-zmean); - kz = (2.*zmean-tPathLength)/(z0-zmean)+1.; - if (G4UniformRand() < z0/tPathLength) - zPathLength = z0*exp(log(G4UniformRand())/kz); - else zPathLength = tPathLength-(tPathLength-z0) - *exp(log(1.-G4UniformRand())/kz); - } - else - { - zPathLength = zmean; + cz = 0.5*(3.*zt-1.)/(1.-zt) ; + if(tPathLength < exp(log(tmax)/(2.*cz))) + { + cz1 = 1.+cz ; + grej0 = exp(cz1*log(cz*tPathLength/cz1))/cz ; + do + { + zPathLength = tPathLength*exp(log(G4UniformRand())/cz1) ; + grej = exp(cz*log(zPathLength))*(tPathLength-zPathLength)/grej0 ; + } while (grej < G4UniformRand()) ; + } + else zPathLength = zmean; } + else zPathLength = zmean; } + // protection against z > lambda + if(zPathLength > lambda0) + zPathLength = lambda0 ; tLast = tPathLength; - zLast = zPathLength; + zLast = zPathLength; return zPathLength; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4VParticleChange* G4MultipleScatteringSTD::AlongStepDoIt( - const G4Track& track,const G4Step& Step) -{ + const G4Track& track,const G4Step& step) +{ // only a geom path->true path transformation is performed fParticleChange.Initialize(track); - - G4double geomPathLength = track.GetStepLength(); - G4double truePathLength; - - if (geomPathLength/fTransportMeanFreePath < tausmall) - truePathLength = geomPathLength; - else if(geomPathLength == zLast) truePathLength = tLast; - else - { - if (geomPathLength <= z1) - { - if (geomPathLength < fTransportMeanFreePath) - truePathLength = -fTransportMeanFreePath - *log(1.-geomPathLength/fTransportMeanFreePath); - else truePathLength = range; + G4double geomPathLength = step.GetStepLength(); - lambda1 = -1.; - } - else - { - if ((geomPathLength-z1)/(cth1*lambda1) < 1.) - truePathLength = 0.5*tLast-lambda1 - *log(1.-(geomPathLength-z1)/(cth1*lambda1)); - else truePathLength = range; - } - } + G4double truePathLength = 0. ; + if(geomPathLength == zLast) truePathLength = tLast; + else if(geomPathLength/lambda0 < tausmall) truePathLength = geomPathLength; + else + { + // G4cout << "alam= " << alam << " blam= " << blam << " lambda1= " << lambda1 << G4endl; + if(lambda1 < 0.) truePathLength = -lambda0*log(1.-geomPathLength/lambda0) ; + else if(lambdam < 0.) + { + if(blam*geomPathLength/alam < 1.) + truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ + blam)) ; + else + truePathLength = tLast; + } + else + { + if(geomPathLength <= zm) + { + if(blam*geomPathLength/alam < 1.) + truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ + blam)) ; + else + truePathLength = 0.5*tLast; + lambdam = -1. ; + } + else + { + //G4cout << "clam= " << clam << " zm= " << zm << " cthm= " << cthm << G4endl; + if(clam*(geomPathLength-zm)/(alam*cthm) < 1.) + truePathLength = 0.5*tLast + alam*(1.- + exp(log(1.-clam*(geomPathLength-zm)/(alam*cthm)))/clam) ; + else + truePathLength = tLast ; + } + } +// G4cout << "tLenth= " << truePathLength << " tpl= " << tLast << G4endl; + // protection .... + if(truePathLength > tLast) + truePathLength = tLast ; + } + //VI truePath length cannot be smaller than geomPathLength + if (truePathLength < geomPathLength) truePathLength = geomPathLength; + //G4cout << "AlongStep: trueLength= " << truePathLength << " geomLength= " + // << geomPathLength << " zlast= " << zLast << G4endl; fParticleChange.SetTrueStepLength(truePathLength); - return &fParticleChange; - + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -602,8 +667,7 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( const G4Step& stepData) { // angle distribution parameters - const G4double kappapl1 = kappa+1., kappami1 = kappa-1. ; - G4bool isOut; + const G4double kappa = 2.5, kappapl1 = kappa+1., kappami1 = kappa-1. ; fParticleChange.Initialize(trackData); G4double truestep = stepData.GetStepLength(); @@ -611,29 +675,31 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); G4double KineticEnergy = aParticle->GetKineticEnergy(); - fTransportMeanFreePath = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(KineticEnergy,isOut); - - // change direction first ( scattering ) - G4double cth =1 ; - G4double tau = truestep/fTransportMeanFreePath; - - if(KineticEnergy <= 0.) - ; - else + // do nothing for stopped particles ! + if(KineticEnergy > 0.) { + // change direction first ( scattering ) + G4double cth = 1. ; + G4double tau = truestep/lambda0 ; + //G4cout << "tau= " << tau << " lambda1= " << lambda1 << " lambdam= " << lambdam << G4endl; + if (tau < tausmall) cth = 1.; else if(tau > taubig) cth = -1.+2.*G4UniformRand(); else { - if(lambda1 > 0.) tau = 0.5*tLast/lambda1 - +(truestep-0.5*tLast)/fTransportMeanFreePath; + if(lambda1 > 0.) + { + if(lambdam < 0.) + tau = -alam*log(1.-truestep/alam)/lambda0 ; + else + tau = -log(cthm)-alam*log(1.-(truestep-0.5*tLast)/alam)/lambdam ; + } + if(tau > taubig) cth = -1.+2.*G4UniformRand(); else { const G4double amax=25. ; const G4double tau0 = 0.02 ; - const G4double b = 1. ; G4double a,x0,c,xmean1,xmean2, xmeanth,prob,qprob ; @@ -645,11 +711,11 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( else a = (alfa1+alfa3*w)/tau ; - x0 = 1.-xsi/a ; + x0 = 1.-xsi/a ; if(x0 < 0.) x0 = 0. ; // from continuity of the 1st derivatives - c = a*(b-x0) ; + c = a*(b-x0) ; if(a*tau < c0) c = c0*(b-x0)/tau ; @@ -661,9 +727,8 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( ea = exp(-a*(1.-x0)) ; else ea = 0. ; - eaa = 1.-ea ; - - xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; + eaa = 1.-ea ; + xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; b1 = b+1. ; bx=b-x0 ; @@ -673,7 +738,7 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( xmeanth = exp(-tau) ; - cnorm1 = a/eaa ; + cnorm1 = a/eaa ; cnorm2 = (c-1.)*eb1*ebx/(eb1-ebx) ; f1x0 = cnorm1*exp(-a*(1.-x0)) ; f2x0 = cnorm2/exp(c*log(b-x0)) ; @@ -688,11 +753,18 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( if(qprob > 1.) { qprob = 1. ; - prob = (xmeanth-xmean2)/(xmean1-xmean2) ; + prob = (xmeanth-xmean2)/(xmean1-xmean2) ; } // ******************************************* // sampling of costheta + /* + G4cout << "tau= " << tau << " prob= " << prob << " qprob= " << qprob << G4endl; + G4cout << "ea= " << ea << " eaa= " << eaa << " a= " << a + << " b= " << b << " b1= " << b1 << " bx= " << bx + << " ebx= " << ebx << " eb1= " << eb1 << " c= " << c + << G4endl; + */ if(G4UniformRand() < qprob) { if(G4UniformRand() < prob) @@ -704,12 +776,13 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( cth = -1.+2.*G4UniformRand() ; } } - } G4double sth = sqrt(1.-cth*cth); G4double phi = twopi*G4UniformRand(); G4double dirx = sth*cos(phi), diry = sth*sin(phi), dirz = cth; + //G4cout << "PostStep: sth= " << sth << " trueLength= " << truestep << " tLast= " << tLast << G4endl; + G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); G4ThreeVector newDirection(dirx,diry,dirz); @@ -717,34 +790,35 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( fParticleChange.SetMomentumChange(newDirection.x(), newDirection.y(), newDirection.z()); - if (fLatDisplFlag) { - // compute mean lateral displacement, only for safety > tolerance ! + // compute mean lateral displacement, only for safety > tolerance ! G4double safetyminustolerance = stepData.GetPostStepPoint()->GetSafety(); - G4double rmean, etau; - - if (safetyminustolerance > 0.) + G4double rmean = 0.0; + + if (safetyminustolerance > 0. && tau>=tausmall) { - if (tau < tausmall) rmean = 0.; - else if(tau < taulim) rmean = kappa*tau*tau*tau*(1.-kappapl1*tau/4.)/6. ; + if(tau < taulim) rmean = kappa*tau*tau*tau*(1.-kappapl1*tau*0.25)/6. ; else { + G4double etau = 0.0; if(tauGetParticleName() - << ": Success to store the PhysicsTables in " + << ": Success to store the PhysicsTables in " << directory << G4endl; return true; } @@ -794,9 +868,34 @@ G4VParticleChange* G4MultipleScatteringSTD::PostStepDoIt( G4bool G4MultipleScatteringSTD::RetrievePhysicsTable( G4ParticleDefinition* particle, - const G4String& directory, + const G4String& directory, G4bool ascii) { + // set values of some data members + G4String name = particle->GetParticleName(); + if(name == "e-" || name == "e+") + { + // parameters for e+/e- + alfa1 = 1.45 ; + alfa2 = 0.60 ; + alfa3 = 0.30 ; + b = 1. ; + xsi = facxsi*2.22 ; + c0 = 2.30 ; + } + else + { + // parameters for heavy particles + alfa1 = 1.10 ; + alfa2 = 0.14 ; + alfa3 = 0.07 ; + b = 1. ; + xsi = facxsi*2.70 ; + c0 = 1.40 ; + } + + Tlow = particle->GetPDGMass(); + // delete theTransportMeanFreePathTable if (theTransportMeanFreePathTable != 0) { theTransportMeanFreePathTable->clearAndDestroy(); @@ -807,22 +906,25 @@ G4bool G4MultipleScatteringSTD::RetrievePhysicsTable( // retreive mean free path table filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theTransportMeanFreePathTable = + theTransportMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); if (!theTransportMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; + << G4endl; return false; } - + G4cout << GetProcessName() << " for " << particle->GetParticleName() << ": Success to retrieve the PhysicsTables from " << directory << G4endl; + + if (name == "e-" || name == "mu+" || name == "proton") PrintInfoDefinition(); + return true; } - + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - + void G4MultipleScatteringSTD::PrintInfoDefinition() { G4String comments = " Tables of transport mean free paths."; @@ -830,10 +932,14 @@ void G4MultipleScatteringSTD::PrintInfoDefinition() comments += " displacement of the particle , too."; G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " + << "\n PhysicsTables from " << G4BestUnit(LowestKineticEnergy ,"Energy") << " to " << G4BestUnit(HighestKineticEnergy,"Energy") << " in " << TotBin << " bins. \n"; + if(1 < verboseLevel) { + G4cout << "LambdaTable address= " << theTransportMeanFreePathTable << G4endl; + if(theTransportMeanFreePathTable) G4cout << (*theTransportMeanFreePathTable) << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/src/G4SCProcessorStand.cc b/source/processes/electromagnetic/utils/src/G4SCProcessorStand.cc index 1fe0247c0f..a2c916f94e 100644 --- a/source/processes/electromagnetic/utils/src/G4SCProcessorStand.cc +++ b/source/processes/electromagnetic/utils/src/G4SCProcessorStand.cc @@ -29,10 +29,16 @@ // File name: G4SCProcessorStand // // Author: Vladimir Ivanchenko -// +// // Creation date: 10.05.2002 // -// Modifications: 09.12.2002 VI remove warning +// Modifications: +// +// 09-12-02 remove warning (V.Ivanchenko) +// 23-12-02 change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 27-01-03 Make models region aware (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) // // // ------------------------------------------------------------------- @@ -46,73 +52,63 @@ #include "G4Navigator.hh" #include "G4TransportationManager.hh" #include "G4EmModelManager.hh" -#include "G4MaterialTable.hh" +#include "G4MaterialCutsCouple.hh" #include "G4VEmModel.hh" #include "Randomize.hh" +#include "G4Step.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4SCProcessorStand::G4SCProcessorStand() - : G4VSubCutoffProcessor(), +G4SCProcessorStand::G4SCProcessorStand(const G4String& nam) + : G4VSubCutoffProcessor(nam), theLambdaSubTable(0), - thePositron(G4Positron::Positron()), - modelManager(0) + thePositron(G4Positron::Positron()) {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4SCProcessorStand::~G4SCProcessorStand() -{ - if(theLambdaSubTable) theLambdaSubTable->clearAndDestroy(); -} +G4SCProcessorStand::~G4SCProcessorStand() +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4SCProcessorStand::Initialise(const G4ParticleDefinition* p, - const G4ParticleDefinition* sp, - G4EmModelManager* m) + const G4ParticleDefinition* sp, + const G4DataVector* vCuts, + const G4DataVector* vSubCuts) { particle = p; secondaryParticle = sp; - modelManager = m; navigator = (G4TransportationManager::GetTransportationManager()) ->GetNavigatorForTracking(); - theCuts = modelManager->Cuts(); - theSubCuts = modelManager->Cuts(); + theCuts = vCuts; + theSubCuts = vSubCuts; initialMass= particle->GetPDGMass(); - // Access to materials - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); - - rangeCuts.clear(); - - for(size_t i=0; iGetRangeThreshold(aMaterial)); - } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step, - const G4DynamicParticle* dp, - G4double meanLoss) +G4std::vector* G4SCProcessorStand::SampleSecondaries( + const G4Step& step, + G4double& tmax, + G4double& meanLoss, + G4VEmModel* currentModel) { G4bool b; - const G4Material* mat = (step.GetTrack())->GetMaterial(); + const G4Track* track = step.GetTrack(); + const G4MaterialCutsCouple* couple = track->GetMaterialCutsCouple(); - if(mat != material) { - material = mat; - materialIndex = material->GetIndex(); - cut = (*theCuts)[materialIndex]; - subcut = (*theSubCuts)[materialIndex]; - rcut = rangeCuts[materialIndex]; - } + size_t index = couple->GetIndex(); + G4double subcut = (*theSubCuts)[index]; - if(subcut >= cut) return 0; + if(subcut >= tmax) return 0; + G4double cut = (*theCuts)[index]; + G4double rcut = couple->GetProductionCuts()->GetProductionCut(1); + + + const G4DynamicParticle* dp = track->GetDynamicParticle(); G4double ekin = dp->GetKineticEnergy(); G4double effChargeFactor = 1.0; G4double massRatio = 1.0; @@ -123,9 +119,9 @@ G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step massRatio = initialMass/mass; G4double q = particle->GetPDGCharge()/dp->GetCharge(); effChargeFactor = q*q; - } + } - G4double cross = (*theLambdaSubTable)[materialIndex]->GetValue(ekin*massRatio, b); + G4double cross = (*theLambdaSubTable)[index]->GetValue(ekin*massRatio, b); if(0.0 >= cross) return 0; @@ -135,7 +131,7 @@ G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step G4double postsafety = navigator->ComputeSafety(postpoint); G4double safety = G4std::min(presafety,postsafety); if(safety >= rcut) return 0; - + G4ThreeVector prepoint = pre->GetPosition(); G4ThreeVector dr = postpoint - prepoint; @@ -145,7 +141,6 @@ G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step G4double length = step.GetStepLength(); G4double inv_v = (ekin + mass)/(c_light*dp->GetTotalMomentum()); - G4VEmModel* currentModel = modelManager->SelectModel(ekin); G4std::vector* vtr = new G4std::vector; do { @@ -153,10 +148,10 @@ G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step G4double del = G4UniformRand()*effChargeFactor / cross; fragment += del/length; if (fragment > 1.0) break; - - dt += del * inv_v; - G4std::vector* newp = - currentModel->SampleSecondary(material, dp, subcut, cut); + + dt += del * inv_v; + G4std::vector* newp = + currentModel->SampleSecondaries(couple, dp, subcut, cut); if (newp) { G4DynamicParticle* p; @@ -183,7 +178,7 @@ G4std::vector* G4SCProcessorStand::SampleSecondary(const G4Step& step return vtr; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4UniversalFluctuation.cc b/source/processes/electromagnetic/utils/src/G4UniversalFluctuation.cc index 861a91ad1d..dbc38b9c0e 100644 --- a/source/processes/electromagnetic/utils/src/G4UniversalFluctuation.cc +++ b/source/processes/electromagnetic/utils/src/G4UniversalFluctuation.cc @@ -33,6 +33,10 @@ // // Modifications: // +// 28-12-02 add method Dispersion (V.Ivanchenko) +// 07-02-03 change signature (V.Ivanchenko) +// 13-02-03 Add name (V.Ivanchenko) +// // Class Description: // // ------------------------------------------------------------------- @@ -51,8 +55,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4UniversalFluctuation::G4UniversalFluctuation() - :G4VEmFluctuationModel(), +G4UniversalFluctuation::G4UniversalFluctuation(const G4String& nam) + :G4VEmFluctuationModel(nam), minNumberInteractionsBohr(10.0), theBohrBeta2(50.0*keV/proton_mass_c2), minLoss(0.000001*eV), @@ -74,94 +78,67 @@ G4UniversalFluctuation::~G4UniversalFluctuation() void G4UniversalFluctuation::Initialise(const G4ParticleDefinition* part) { - particle = part; - particleMass = part->GetPDGMass(); - G4double q = part->GetPDGCharge()/eplus; - chargeSquare = q*q; + particle = part; + particleMass = part->GetPDGMass(); + G4double q = part->GetPDGCharge()/eplus; + chargeSquare = q*q; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4UniversalFluctuation::SampleFluctuations(const G4Material* material, - const G4DynamicParticle* dp, - G4double& tmax, - G4double& length, - G4double meanLoss) +G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length, + G4double& meanLoss) { // calculate actual loss from the mean loss -// The model used to get the fluctuation is essentially the same +// The model used to get the fluctuation is essentially the same // as in Glandz in Geant3. - + // shortcut for very very small loss - if(meanLoss < minLoss) return; - - G4double preStepKinEnergy = dp->GetKineticEnergy(); + if(meanLoss < minLoss) return meanLoss; if(dp->GetDefinition() != particle) { - particleMass = dp->GetMass(); - G4double q = dp->GetCharge(); - chargeSquare = q*q; + particleMass = dp->GetMass(); + G4double q = dp->GetCharge(); + chargeSquare = q*q; } - // data members for a given material - - if(material != lastMaterial) { - ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy(); - electronDensity = material->GetElectronDensity(); - // zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()); - } - - // get particle data - - G4double tau = preStepKinEnergy/particleMass; - G4double tau1 = tau + 1.0; - G4double tau2 = tau * (tau+2.0); - G4double beta2 = tau2/(tau1*tau1); - + ipotFluct = material->GetIonisation()->GetMeanExcitationEnergy(); + G4double gam = (dp->GetKineticEnergy())/particleMass + 1.0; + G4double gam2 = gam*gam; + G4double beta2 = 1.0 - 1.0/gam2; + // Validity range for delta electron cross section G4double loss, siga; // Gaussian fluctuation if(meanLoss >= minNumberInteractionsBohr*tmax || tmax <= ipotFluct*minNumberInteractionsBohr) { - siga = tmax * (1.0-0.5*beta2) * length * twopi_mc2_rcl2 - * electronDensity / beta2; - siga = sqrt(siga * chargeSquare); -/* - // High velocity or negatively charged particle - if( beta2 > 3.0*theBohrBeta2*zeff || charge < 0.0) { - siga = sqrt( siga * chargeSquare ) ; - - // Low velocity - additional ion charge fluctuations according to - // Q.Yang et al., NIM B61(1991)149-155. - } else { - G4double chu = theIonChuFluctuationModel->TheValue(particle, material); - G4double yang = theIonYangFluctuationModel->TheValue(particle, material); - siga = sqrt( siga * (chargeSquare * chu + yang)) ; - } -*/ + electronDensity = material->GetElectronDensity(); + siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare ; + siga = sqrt(siga); do { loss = G4RandGauss::shoot(meanLoss,siga); - } while (loss < 0.); + } while (loss < 0. || loss > 2.*meanLoss); - meanLoss = loss; - if(lastMaterial != material) lastMaterial = material; - return; + return loss; } // Non Gaussian fluctuation if(material != lastMaterial) { - zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()); - f1Fluct = material->GetIonisation()->GetF1fluct(); - f2Fluct = material->GetIonisation()->GetF2fluct(); - e1Fluct = material->GetIonisation()->GetEnergy1fluct(); - e2Fluct = material->GetIonisation()->GetEnergy2fluct(); - e1LogFluct = material->GetIonisation()->GetLogEnergy1fluct(); - e2LogFluct = material->GetIonisation()->GetLogEnergy2fluct(); - rateFluct = material->GetIonisation()->GetRateionexcfluct(); - ipotLogFluct= material->GetIonisation()->GetLogMeanExcEnergy(); + f1Fluct = material->GetIonisation()->GetF1fluct(); + f2Fluct = material->GetIonisation()->GetF2fluct(); + e1Fluct = material->GetIonisation()->GetEnergy1fluct(); + e2Fluct = material->GetIonisation()->GetEnergy2fluct(); + e1LogFluct = material->GetIonisation()->GetLogEnergy1fluct(); + e2LogFluct = material->GetIonisation()->GetLogEnergy2fluct(); + rateFluct = material->GetIonisation()->GetRateionexcfluct(); + ipotLogFluct = material->GetIonisation()->GetLogMeanExcEnergy(); lastMaterial = material; } @@ -173,7 +150,7 @@ void G4UniversalFluctuation::SampleFluctuations(const G4Material* material, G4double dp3; w1 = tmax/ipotFluct; - w2 = log(2.*electron_mass_c2*tau2); + w2 = log(2.*electron_mass_c2*(gam2 - 1.0)); C = meanLoss*(1.-rateFluct)/(w2-ipotLogFluct-beta2); @@ -315,7 +292,43 @@ void G4UniversalFluctuation::SampleFluctuations(const G4Material* material, } } - meanLoss = loss; + return loss; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + + +G4double G4UniversalFluctuation::Dispersion( + const G4Material* material, + const G4DynamicParticle* dp, + G4double& tmax, + G4double& length) +{ + electronDensity = material->GetElectronDensity(); + + G4double gam = (dp->GetKineticEnergy())/particleMass + 1.0; + G4double beta2 = 1.0 - 1.0/(gam*gam); + + G4double siga = (1.0/beta2 - 0.5) * twopi_mc2_rcl2 * tmax * length + * electronDensity * chargeSquare; + + return siga; +} + + +/* + // High velocity or negatively charged particle + zeff = electronDensity/(material->GetTotNbOfAtomsPerVolume()); + if( beta2 > 3.0*theBohrBeta2*zeff || charge < 0.0) { + siga = sqrt( siga * chargeSquare ) ; + + // Low velocity - additional ion charge fluctuations according to + // Q.Yang et al., NIM B61(1991)149-155. + } else { + G4double chu = theIonChuFluctuationModel->TheValue(particle, material); + G4double yang = theIonYangFluctuationModel->TheValue(particle, material); + siga = sqrt( siga * (chargeSquare * chu + yang)) ; + } +*/ + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc b/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc index df5d2f17d4..953fd4b262 100644 --- a/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc +++ b/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VEnergyLoss.cc,v 1.33 2002/07/22 10:55:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VEnergyLoss.cc,v 1.40 2003/04/04 14:33:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- @@ -32,21 +32,26 @@ // bug fixed in fluct., L.Urban 22/11/00 // bugfix in fluct. // (some variables are doubles instead of ints now),L.Urban 23/03/01 -// 18/05/01 V.Ivanchenko Clean up againist Linux ANSI compilation +// 18/05/01 V.Ivanchenko Clean up againist Linux ANSI compilation // 17-09-01 migration of Materials to pure STL (mma) -// 26-10-01 static inline functions moved from .hh file (mma) +// 26-10-01 static inline functions moved from .hh file (mma) // 08.11.01 some static methods,data members are not static L.Urban -// 11.02.02 subSecFlag = false --> No sucutoff generation (mma) +// 11.02.02 subSecFlag = false --> No sucutoff generation (mma) // 14.02.02 initial value of data member finalRange has been changed L.Urban // 26.02.02 initial value of data member finalRange = 1 mm (mma) -// 21.07.02 V.Ivanchenko Fix at low energies - if tmax below ionisation +// 21.07.02 V.Ivanchenko Fix at low energies - if tmax below ionisation // potential then only Gaussian fluctuations are sampled. -// +// 15.01.03 Migrade to cut per region (V.Ivanchenko) +// 05.02.03 Minor fix for several region case (V.Ivanchenko) +// 25.03.03 add finalRangeRequested (mma) +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4VEnergyLoss.hh" #include "G4EnergyLossMessenger.hh" +#include "G4ProductionCutsTable.hh" +#include "G4LossTableManager.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -61,6 +66,7 @@ G4bool G4VEnergyLoss::setMinDeltaCutInRange = false; G4double G4VEnergyLoss::dRoverRange = 20*perCent; G4double G4VEnergyLoss::finalRange = 1*mm; +G4double G4VEnergyLoss::finalRangeRequested = -1*mm; G4double G4VEnergyLoss::c1lim = dRoverRange; G4double G4VEnergyLoss::c2lim = 2.*(1.-dRoverRange)*finalRange; G4double G4VEnergyLoss::c3lim = -(1.-dRoverRange)*finalRange*finalRange; @@ -86,8 +92,9 @@ G4VEnergyLoss::G4VEnergyLoss(const G4String& aName , G4ProcessType aType) nmaxCont1(4), nmaxCont2(16) { - //create (only once) EnergyLoss messenger - if(!ELossMessenger) ELossMessenger = new G4EnergyLossMessenger(); + //create (only once) EnergyLoss messenger +// if(!ELossMessenger) ELossMessenger = new G4EnergyLossMessenger(); + if(!ELossMessenger) ELossMessenger = G4LossTableManager::Instance()->GetMessenger(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -125,20 +132,20 @@ void G4VEnergyLoss::SetMinDeltaCutInRange(G4double value) void G4VEnergyLoss::SetStepFunction(G4double c1, G4double c2) { - dRoverRange = c1; finalRange = c2; + dRoverRange = c1; finalRangeRequested = c2; c1lim=dRoverRange; - c2lim=2.*(1-dRoverRange)*finalRange; - c3lim=-(1.-dRoverRange)*finalRange*finalRange; + c2lim=2.*(1-dRoverRange)*finalRangeRequested; + c3lim=-(1.-dRoverRange)*finalRangeRequested*finalRangeRequested; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4PhysicsTable* G4VEnergyLoss::BuildRangeTable( - G4PhysicsTable* theDEDXTable,G4PhysicsTable* theRangeTable, + G4PhysicsTable* theDEDXTable,G4PhysicsTable* theRangeTable, G4double LowestKineticEnergy,G4double HighestKineticEnergy,G4int TotBin) // Build range table from the energy loss table { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + size_t numOfMaterials = theDEDXTable->length(); if(theRangeTable) { theRangeTable->clearAndDestroy(); @@ -147,7 +154,7 @@ G4PhysicsTable* G4VEnergyLoss::BuildRangeTable( // loop for materials - for (G4int J=0; Jinsert(aVector); } return theRangeTable ; -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -373,15 +380,15 @@ G4PhysicsTable* G4VEnergyLoss::BuildLabTimeTable(G4PhysicsTable* theDEDXTable, G4double HighestKineticEnergy,G4int TotBin) { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); - + size_t numOfMaterials = theDEDXTable->length(); + if(theLabTimeTable) { theLabTimeTable->clearAndDestroy(); delete theLabTimeTable; } theLabTimeTable = new G4PhysicsTable(numOfMaterials); - for (G4int J=0; Jlength(); + if(theProperTimeTable) { theProperTimeTable->clearAndDestroy(); delete theProperTimeTable; } theProperTimeTable = new G4PhysicsTable(numOfMaterials); - for (G4int J=0; Jlength(); if(theInverseRangeTable) { theInverseRangeTable->clearAndDestroy(); @@ -637,7 +644,7 @@ G4PhysicsTable* G4VEnergyLoss::BuildInverseRangeTable(G4PhysicsTable* theRangeTa theInverseRangeTable = new G4PhysicsTable(numOfMaterials); // loop for materials - for (G4int J=0; J GetValue(LowestKineticEnergy,isOut) ; @@ -723,7 +730,7 @@ G4PhysicsTable* G4VEnergyLoss::BuildRangeCoeffATable(G4PhysicsTable* theRangeTab // Build tables of coefficients for the energy loss calculation // create table for coefficients "A" { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4int numOfMaterials = theRangeTable->length(); if(theRangeCoeffATable) { theRangeCoeffATable->clearAndDestroy(); @@ -784,7 +791,7 @@ G4PhysicsTable* G4VEnergyLoss::BuildRangeCoeffBTable(G4PhysicsTable* theRangeTab // Build tables of coefficients for the energy loss calculation // create table for coefficients "B" { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4int numOfMaterials = theRangeTable->length(); if(theRangeCoeffBTable) { theRangeCoeffBTable->clearAndDestroy(); @@ -844,7 +851,7 @@ G4PhysicsTable* G4VEnergyLoss::BuildRangeCoeffCTable(G4PhysicsTable* theRangeTab // Build tables of coefficients for the energy loss calculation // create table for coefficients "C" { - G4int numOfMaterials = G4Material::GetNumberOfMaterials(); + G4int numOfMaterials = theRangeTable->length(); if(theRangeCoeffCTable) { theRangeCoeffCTable->clearAndDestroy(); @@ -898,27 +905,27 @@ G4PhysicsTable* G4VEnergyLoss::BuildRangeCoeffCTable(G4PhysicsTable* theRangeTab //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4VEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, - G4Material* aMaterial, + const G4MaterialCutsCouple* couple, G4double ChargeSquare, G4double MeanLoss, G4double step ) // calculate actual loss from the mean loss // The model used to get the fluctuation is essentially the same as in Glandz in Geant3. { - const G4double minLoss = 1.*eV ; - const G4double probLim = 0.01 ; - const G4double sumaLim = -log(probLim) ; - const G4double alim=10.; - const G4double kappa = 10. ; - const G4double factor = twopi_mc2_rcl2 ; - + const G4double minLoss = 1.*eV ; + const G4double probLim = 0.01 ; + const G4double sumaLim = -log(probLim) ; + const G4double alim=10.; + const G4double kappa = 10. ; + const G4double factor = twopi_mc2_rcl2 ; + const G4Material* aMaterial = couple->GetMaterial(); // check if the material has changed ( cache mechanism) if (aMaterial != lastMaterial) { lastMaterial = aMaterial; - imat = aMaterial->GetIndex(); + imat = couple->GetIndex(); f1Fluct = aMaterial->GetIonisation()->GetF1fluct(); f2Fluct = aMaterial->GetIonisation()->GetF2fluct(); e1Fluct = aMaterial->GetIonisation()->GetEnergy1fluct(); @@ -938,14 +945,15 @@ G4double G4VEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, G4double dp3; G4double siga ; - // shortcut for very very small loss + // shortcut for very very small loss if(MeanLoss < minLoss) return MeanLoss ; // get particle data G4double Tkin = aParticle->GetKineticEnergy(); ParticleMass = aParticle->GetMass() ; - threshold =((G4Electron::Electron())->GetEnergyCuts())[imat]; + threshold = (*((G4ProductionCutsTable::GetProductionCutsTable()) + ->GetEnergyCutsVector(1)))[imat]; G4double rmass = electron_mass_c2/ParticleMass; G4double tau = Tkin/ParticleMass, tau1 = tau+1., tau2 = tau*(tau+2.); G4double Tm = 2.*electron_mass_c2*tau2/(1.+2.*tau1*rmass+rmass*rmass); @@ -1058,7 +1066,7 @@ G4double G4VEnergyLoss::GetLossWithFluct(const G4DynamicParticle* aParticle, loss = p1*e1Fluct+p2*e2Fluct; // smearing to avoid unphysical peaks if(p2 > 0) - loss += (1.-2.*G4UniformRand())*e2Fluct; + loss += (1.-2.*G4UniformRand())*e2Fluct; else if (loss>0.) loss += (1.-2.*G4UniformRand())*e1Fluct; @@ -1124,7 +1132,7 @@ G4bool G4VEnergyLoss::EqualCutVectors( G4double* vec1, G4double* vec2 ) for (size_t j=0; flag && jGetTableSize(); + + for (size_t j=0; jGetMaterialCutsCouple(j)->IsRecalcNeeded()) { + wasModified = true; + break; + } + } + return wasModified; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/utils/src/G4VEnergyLossSTD.cc b/source/processes/electromagnetic/utils/src/G4VEnergyLossSTD.cc index 90eff43822..49c59e884d 100644 --- a/source/processes/electromagnetic/utils/src/G4VEnergyLossSTD.cc +++ b/source/processes/electromagnetic/utils/src/G4VEnergyLossSTD.cc @@ -28,16 +28,37 @@ // // File name: G4VEnergyLossSTD // -// Author: Vladimir Ivanchenko -// +// Author: Vladimir Ivanchenko +// // Creation date: 03.01.2002 // -// Modifications: 13.11.2002 Minor fix - use normalised direction (VI) -// 04.12.2002 Minor change in PostStepDoIt (VI) +// Modifications: // -// Class Description: +// 13-11-02 Minor fix - use normalised direction (V.Ivanchenko) +// 04-12-02 Minor change in PostStepDoIt (V.Ivanchenko) +// 23-12-02 Change interface in order to move to cut per region (V.Ivanchenko) +// 26-12-02 Secondary production moved to derived classes (V.Ivanchenko) +// 04-01-03 Fix problem of very small steps for ions (V.Ivanchenko) +// 20-01-03 Migrade to cut per region (V.Ivanchenko) +// 24-01-03 Temporarily close a control on usage of couples (V.Ivanchenko) +// 24-01-03 Make models region aware (V.Ivanchenko) +// 05-02-03 Fix compilation warnings (V.Ivanchenko) +// 06-02-03 Add control on tmax in PostStepDoIt (V.Ivanchenko) +// 13-02-03 SubCutoffProcessors defined for regions (V.Ivanchenko) +// 15-02-03 Lambda table can be scaled (V.Ivanchenko) +// 17-02-03 Fix problem of store/restore tables (V.Ivanchenko) +// 18-02-03 Add control on CutCouple usage (V.Ivanchenko) +// 26-02-03 Simplify control on GenericIons (V.Ivanchenko) +// 06-03-03 Control on GenericIons using SubType + update verbose (V.Ivanchenko) +// 10-03-03 Add Ion registration (V.Ivanchenko) +// 22-03-03 Add Initialisation of cash (V.Ivanchenko) +// 26-03-03 Remove finalRange modification (V.Ivanchenko) +// 09-04-03 Fix problem of negative range limit for non integral (V.Ivanchenko) +// 26-04-03 Fix retrieve tables (V.Ivanchenko) // -// It is the unified energy loss process it calculates the continuous +// Class Description: +// +// It is the unified energy loss process it calculates the continuous // energy loss for charged particles using a set of Energy Loss // models valid for different energy regions. There are a possibility // to create and access to dE/dx and range tables, or to calculate @@ -46,7 +67,7 @@ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + #include "G4VEnergyLossSTD.hh" #include "G4LossTableManager.hh" #include "G4Step.hh" @@ -60,47 +81,53 @@ #include "G4VParticleChange.hh" #include "G4Gamma.hh" #include "G4Electron.hh" +#include "G4Proton.hh" #include "G4VSubCutoffProcessor.hh" #include "G4ProcessManager.hh" #include "G4UnitsTable.hh" -#include "G4Proton.hh" #include "G4GenericIon.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - + G4VEnergyLossSTD::G4VEnergyLossSTD(const G4String& name, G4ProcessType type): G4VContinuousDiscreteProcess(name, type), - subCutoffProcessor(0), - emFluctModel(0), + nSCoffRegions(0), + idxSCoffRegions(0), theDEDXTable(0), theRangeTable(0), theSecondaryRangeTable(0), theInverseRangeTable(0), theLambdaTable(0), - minKinEnergy(1.0*eV), - maxKinEnergy(100.0*GeV), + theSubLambdaTable(0), particle(0), baseParticle(0), secondaryParticle(0), theGamma(G4Gamma::Gamma()), theElectron(G4Electron::Electron()), - lossFluctuationFlag(false), - subCutoffFlag(false), - subCutoffIsDesired(false), + currentCouple(0), + minKinEnergy(1.0*eV), + maxKinEnergy(100.0*GeV), + linLossLimit(0.05), + minSubRange(0.1), + lossFluctuationFlag(true), rndmStepFlag(false), hasRestProcess(true), tablesAreBuilt(false), integral(true), - linLossLimit(0.05), - minSubRange(0.1) + meanFreePath(true) { modelManager = new G4EmModelManager(); (G4LossTableManager::Instance())->Register(this); - + scoffProcessors.clear(); + scoffRegions.clear(); + // default dRoverRange and finalRange SetStepLimits(0.2, 200.0*micrometer); - verboseLevel = 0; + // SetVerboseLevel(0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -108,12 +135,21 @@ G4VEnergyLossSTD::G4VEnergyLossSTD(const G4String& name, G4ProcessType type): G4VEnergyLossSTD::~G4VEnergyLossSTD() { Clear(); - if(theLambdaTable) theLambdaTable->clearAndDestroy(); - if(subCutoffProcessor) delete subCutoffProcessor; - delete modelManager; - if(emFluctModel) delete emFluctModel; - (G4LossTableManager::Instance())->Clear(); + if (nSCoffRegions) { + for (G4int i=0; iDeRegister(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -123,11 +159,22 @@ void G4VEnergyLossSTD::Clear() if(0 < verboseLevel) { G4cout << "G4VEnergyLossSTD::Clear() for " << GetProcessName() << G4endl; } + if ( !baseParticle ) { + if(theDEDXTable) theDEDXTable->clearAndDestroy(); + if(theRangeTable) theRangeTable->clearAndDestroy(); + if(theInverseRangeTable) theInverseRangeTable->clearAndDestroy(); + if(theLambdaTable) theLambdaTable->clearAndDestroy(); + if(theSubLambdaTable) theSubLambdaTable->clearAndDestroy(); + } + theDEDXTable = 0; theRangeTable = 0; theInverseRangeTable = 0; theSecondaryRangeTable = 0; + theLambdaTable = 0; + theSubLambdaTable = 0; modelManager->Clear(); + tablesAreBuilt = false; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -138,7 +185,7 @@ void G4VEnergyLossSTD::Initialise() Clear(); if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::Initialise() for " + G4cout << "G4VEnergyLossSTD::Initialise() for " << GetProcessName() << G4endl; } @@ -149,7 +196,7 @@ void G4VEnergyLossSTD::Initialise() massRatio = 1.0; reduceFactor = 1.0; - if(particle->GetProcessManager()->GetAtRestProcessVector()->size()) + if(particle->GetProcessManager()->GetAtRestProcessVector()->size()) hasRestProcess = true; else hasRestProcess = false; @@ -162,255 +209,102 @@ void G4VEnergyLossSTD::Initialise() theCuts = modelManager->Initialise(particle, secondaryParticle, minSubRange, verboseLevel); - if(1 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::Initialise(): emFluctModel= " << emFluctModel - << " subCutoffFlag= " << subCutoffFlag - << G4endl; - } + // Sub Cutoff Regime - if(emFluctModel) emFluctModel->Initialise(particle); + idxSCoffRegions.clear(); - if (subCutoffFlag) { - subCutoffProcessor->Initialise(particle, secondaryParticle, modelManager); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + if (nSCoffRegions) { + const G4DataVector* theSubCuts = modelManager->SubCutoff(); + + for (G4int i=0; iInitialise(particle, secondaryParticle, theCuts, theSubCuts); + } + for (size_t j=0; jGetMaterialCutsCouple(j); + const G4ProductionCuts* pcuts = couple->GetProductionCuts(); + G4int reg = nSCoffRegions; + do {reg--;} while (reg && pcuts != (scoffRegions[reg]->GetProductionCuts())); + idxSCoffRegions.push_back(reg); + } } - if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::Initialise() is done " + + if (0 < verboseLevel) { + G4cout << "G4VEnergyLossSTD::Initialise() is done " << " chargeSqRatio= " << chargeSqRatio - << " massRatio= " << massRatio - << " reduceFactor= " << reduceFactor - << G4endl; + << " massRatio= " << massRatio + << " reduceFactor= " << reduceFactor << G4endl; + if (nSCoffRegions) { + G4cout << " SubCutoff Regime is ON for regions: " << G4endl; + for (G4int i=0; iGetName() << G4endl; + } + } } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4VEnergyLossSTD::BuildPhysicsTable(const G4ParticleDefinition& part) { - + currentCouple = 0; + preStepLambda = 0.0; if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::BuildPhysicsTable() for " - << GetProcessName() << G4endl; + G4cout << "G4VEnergyLossSTD::BuildPhysicsTable() for " + << GetProcessName() + << " and particle " << part.GetParticleName() + << G4endl; } - tablesAreBuilt = false; + if (part.GetParticleName() != "GenericIon" && + part.GetParticleType() == "nucleus" && + part.GetParticleSubType() == "generic") + { + (G4LossTableManager::Instance())->RegisterIon(&part, this); + + G4cout << part.GetProcessManager() << " " + << (G4GenericIon::GenericIon())->GetProcessManager() + << G4endl; + return; + } // Are particle defined? - if(!particle || particle->GetParticleType() == "nucleus") { - particle = ∂ + if( !particle ) particle = ∂ + if( !baseParticle ) baseParticle = DefineBaseParticle(particle); + + G4bool cutsWasModified = false; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + for (size_t j=0; jGetMaterialCutsCouple(j)->IsRecalcNeeded()) { + cutsWasModified = true; + break; + } } - if(particle != &part) { - G4cout << "G4VEnergyLossSTD::BuildPhysicsTable: " - << particle->GetParticleName() - << " != " << part.GetParticleName() - << G4endl; - G4Exception("G4VEnergyLossSTD::BuildPhysicsTable with wrong G4ParticleDefinition"); - } - - if(!baseParticle) baseParticle = DefineBaseParticle(particle); - - if(particle->GetParticleType() == "nucleus" && - particle->GetParticleName() != "GenericIon" && - theLambdaTable) return; - + if( !cutsWasModified ) return; // It is responsability of the G4LossTables to build DEDX and range tables - (G4LossTableManager::Instance())->BuildDEDXTable(particle); + (G4LossTableManager::Instance())->BuildPhysicsTable(particle); - // Access to materials - //const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); - - //!!!! To be checked because finalRange is changed here !!!! - for (size_t i=0; iGetLengthCuts())[i]; - if (finalRange > lengthCut) finalRange = lengthCut; - } - - if(theLambdaTable) theLambdaTable->clearAndDestroy(); - - theLambdaTable = BuildLambdaTable(); - - if (subCutoffFlag) { - subCutoffProcessor->SetLambdaSubTable(BuildLambdaSubTable()); - } tablesAreBuilt = true; - // if(particle == G4Electron::Electron() || particle == G4Proton::Proton() - // || particle == G4GenericIon::GenericIon()) if(!baseParticle) PrintInfoDefinition(); if(0 < verboseLevel) { - G4cout << "Tables are built for " << particle->GetParticleName() - << " Integral= " << integral + G4cout << "G4VEnergyLossSTD::BuildPhysicsTable() done for " + << GetProcessName() + << " and particle " << part.GetParticleName() << G4endl; - if(2 < verboseLevel) { - G4cout << "DEDXTable address= " << theDEDXTable << G4endl; - if(theDEDXTable) G4cout << (*theDEDXTable) << G4endl; - G4cout << "RangeTable address= " << theRangeTable << G4endl; - if(theRangeTable) G4cout << (*theRangeTable) << G4endl; - G4cout << "InverseRangeTable address= " << theInverseRangeTable << G4endl; - if(theInverseRangeTable) G4cout << (*theInverseRangeTable) << G4endl; - } } - - if(2 < verboseLevel) { - G4cout << "LambdaTable address= " << theLambdaTable << G4endl; - if(theLambdaTable) G4cout << (*theLambdaTable) << G4endl; - } - } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4VEnergyLossSTD::StorePhysicsTable(G4ParticleDefinition* part, - const G4String& directory, - G4bool ascii) -{ - G4String filename; - - if (!baseParticle) { - - G4String f1 = GetPhysicsTableFileName(part,directory,"DEDX",ascii); - G4String f2 = GetPhysicsTableFileName(part,directory,"Range",ascii); - G4String f3 = GetPhysicsTableFileName(part,directory,"InverseRange",ascii); - - if(!((G4LossTableManager::Instance())->StorePhysicsTable(this,f1,f2,f3,ascii))) - { - return false; - } - } - - if (theLambdaTable) { - filename = GetPhysicsTableFileName(part,directory,"Lambda",ascii); - if ( !theLambdaTable->StorePhysicsTable(filename, ascii) ){ - G4cout << "Fatal error theLambdaTable->StorePhysicsTable in <" - << filename << ">" - << G4endl; - return false; - } - } - - G4PhysicsTable* theLambdaSubTable = 0; - if(subCutoffProcessor) theLambdaSubTable = subCutoffProcessor->LambdaSubTable(); - - if (theLambdaSubTable) { - filename = GetPhysicsTableFileName(part,directory,"LambdaSub",ascii); - if ( !theLambdaSubTable->StorePhysicsTable(filename, ascii) ){ - G4cout << "Fatal error theLambdaSubTable->StorePhysicsTable in <" - << filename << ">" - << G4endl; - return false; - } - } - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " - << directory << G4endl; - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4VEnergyLossSTD::RetrievePhysicsTable(G4ParticleDefinition* part, - const G4String& directory, - G4bool ascii) -{ - - // Are particle defined? - if(!particle) { - particle = part; - } - if(particle != part) { - G4cout << "G4VEnergyLossSTD::RetrievePhysicsTable: " - << particle->GetParticleName() - << " != " << part->GetParticleName() - << G4endl; - G4Exception("G4VEnergyLossSTD::RetrievePhysicsTable with wrong G4ParticleDefinition"); - } - - Initialise(); - - G4PhysicsTable* theTable; - G4String filename; - G4String particleName = particle->GetParticleName(); - G4int nMaterials = G4Material::GetNumberOfMaterials(); - - filename = GetPhysicsTableFileName(part,directory,"DEDX",ascii); - theTable = new G4PhysicsTable(nMaterials); - if (theTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << "DEDX table for " << particleName << " is retrieved from <" - << filename << ">" - << G4endl; - } else { - G4cout << "DEDX table for " << particleName << " in file <" - << filename << "> is not exist" - << G4endl; - } - theDEDXTable = theTable; - - filename = GetPhysicsTableFileName(part,directory,"Range",ascii); - theTable = new G4PhysicsTable(nMaterials); - if (theTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << "Range table for " << particleName << " is retrieved from <" - << filename << ">" - << G4endl; - } else { - G4cout << "Range table for " << particleName << " in file <" - << filename << "> is not exist" - << G4endl; - } - theRangeTable = theTable; - - filename = GetPhysicsTableFileName(part,directory,"InverseRange",ascii); - theTable = new G4PhysicsTable(nMaterials); - if (theTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << "Inverse table for " << particleName << " is retrieved from <" - << filename << ">" - << G4endl; - return false; - } - theInverseRangeTable = theTable; - - filename = GetPhysicsTableFileName(part,directory,"Lambda",ascii); - theLambdaTable = new G4PhysicsTable(nMaterials); - if (theLambdaTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << "Lambda table for " << particleName << " is retrieved from <" - << filename << ">" - << G4endl; - } else { - G4cout << "Lambda table for " << particleName << " in file <" - << filename << "> is not exist" - << G4endl; - } - - G4PhysicsTable* theLambdaSubTable = 0; - filename = GetPhysicsTableFileName(part,directory,"LambdaSub",ascii); - theLambdaSubTable = new G4PhysicsTable(nMaterials); - if (theLambdaSubTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << "LambdaSub table for " << particleName << " is retrieved from <" - << filename << ">" - << G4endl; - if(subCutoffProcessor) subCutoffProcessor->SetLambdaSubTable(theLambdaSubTable); - } else { - G4cout << "LambdaSub table for " << particleName << " in file <" - << filename << "> is not exist" - << G4endl; - } - - // G4LossTableManager manages DEDX and range tables - - (G4LossTableManager::Instance())->RetrieveDEDXTable(particle, this); - - - G4cout << GetProcessName() << " for " << particleName - << ": end of retrieving PhysicsTables from directory <" - << directory << ">" << G4endl; - - return true; -} - - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4VEnergyLossSTD::SetParticles(const G4ParticleDefinition* p1, @@ -429,31 +323,48 @@ void G4VEnergyLossSTD::SetParticles(const G4ParticleDefinition* p1, baseParticle->GetPDGMass() > MeV) || (particle->GetPDGMass() > MeV && baseParticle->GetPDGMass() < MeV)) yes = false; - } + } } if(!yes) { G4cout << "Warning in G4VEnergyLossSTD::SetParticle: " - << particle->GetParticleName() + << particle->GetParticleName() << " losses cannot be obtained from " << baseParticle->GetParticleName() - << " losses" << G4endl; + << " losses" << G4endl; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEnergyLossSTD::AddEmModel(G4VEmModel* p, G4int order) +void G4VEnergyLossSTD::AddEmModel(G4int order, G4VEmModel* p, G4VEmFluctuationModel* fluc, + const G4Region* region) { - modelManager->AddEmModel(p, order); + modelManager->AddEmModel(order, p, fluc, region); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEnergyLossSTD::AddEmFluctuationModel(G4VEmFluctuationModel* p) +void G4VEnergyLossSTD::AddSubCutoffProcessor(G4VSubCutoffProcessor* p, + const G4Region* r) { - if(emFluctModel) delete emFluctModel; - emFluctModel = p; - if(p) lossFluctuationFlag = true; + if( !p ) { + G4cout << "G4VEnergyLossSTD::AddSubCutoffProcessor WARNING: no SubCutoffProcessor defined." << G4endl; + return; + } + G4RegionStore* regionStore = G4RegionStore::GetInstance(); + if (!r) r = regionStore->GetRegion("DefaultRegionForTheWorld", false); + if (nSCoffRegions) { + for (G4int i=0; iGetParticleName() + << " and particle " << particle->GetParticleName() << G4endl; } @@ -474,30 +385,37 @@ G4PhysicsTable* G4VEnergyLossSTD::BuildDEDXTable() G4DataVector dedxHigh; // Access to materials - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); - G4PhysicsTable* theTable = new G4PhysicsTable(nMaterials); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + G4PhysicsTable* theTable = new G4PhysicsTable(numOfCouples); if(0 < verboseLevel) { - G4cout << nMaterials << " materials" - << " minKinEnergy= " << minKinEnergy - << " maxKinEnergy= " << maxKinEnergy + G4cout << numOfCouples << " materials" + << " minKinEnergy= " << minKinEnergy + << " maxKinEnergy= " << maxKinEnergy << G4endl; } - for(size_t i=0; iFillDEDXVector(aVector, material); + // create physics vector and fill it + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(i); + G4PhysicsVector* aVector = DEDXPhysicsVector(couple); + modelManager->FillDEDXVector(aVector, couple); // Insert vector for this material into the table theTable->insert(aVector) ; } if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::BuildDEDXTable(): table is built" << G4endl; + G4cout << "G4VEnergyLossSTD::BuildDEDXTable(): table is built for " + << particle->GetParticleName() + << G4endl; + if(2 < verboseLevel) { + G4cout << *theTable << G4endl; + } } return theTable; @@ -509,30 +427,37 @@ G4PhysicsTable* G4VEnergyLossSTD::BuildLambdaTable() { if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::BuildLambdaTable() for process " - << GetProcessName() << " and particle " + G4cout << "G4VEnergyLossSTD::BuildLambdaTable() for process " + << GetProcessName() << " and particle " << particle->GetParticleName() << G4endl; } // Access to materials - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4int nMaterials = G4Material::GetNumberOfMaterials(); - G4PhysicsTable* theTable = new G4PhysicsTable(nMaterials); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); - for(G4int i=0; iFillLambdaVector(aVector, material); + for(size_t i=0; iGetMaterialCutsCouple(i); + G4PhysicsVector* aVector = LambdaPhysicsVector(couple); + modelManager->FillLambdaVector(aVector, couple); // Insert vector for this material into the table theTable->insert(aVector) ; } - if(1 < verboseLevel) { - G4cout << "Lambda table is built" << G4endl; + if(0 < verboseLevel) { + G4cout << "Lambda table is built for " + << particle->GetParticleName() + << G4endl; + if(2 < verboseLevel) { + G4cout << *theTable << G4endl; + } } return theTable; @@ -543,29 +468,32 @@ G4PhysicsTable* G4VEnergyLossSTD::BuildLambdaTable() G4PhysicsTable* G4VEnergyLossSTD::BuildLambdaSubTable() { if(0 < verboseLevel) { - G4cout << "G4VEnergyLossSTD::BuildLambdaSubTable() for process " - << GetProcessName() << " and particle " + G4cout << "G4VEnergyLossSTD::BuildLambdaSubTable() for process " + << GetProcessName() << " and particle " << particle->GetParticleName() << G4endl; } // Access to materials - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - size_t nMaterials = G4Material::GetNumberOfMaterials(); - G4PhysicsTable* theTable = new G4PhysicsTable(nMaterials); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + G4PhysicsTable* theTable = new G4PhysicsTable(numOfCouples); - for(size_t i=0; iFillSubLambdaVector(aVector, material); + // create physics vector and fill it + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(i); + G4PhysicsVector* aVector = SubLambdaPhysicsVector(couple); + modelManager->FillSubLambdaVector(aVector, couple); // Insert vector for this material into the table theTable->insert(aVector) ; } - if(1 < verboseLevel) { - G4cout << "Table is built" << G4endl; + if(0 < verboseLevel) { + G4cout << "Table is built for " + << particle->GetParticleName() + << G4endl; } return theTable; @@ -581,20 +509,22 @@ G4VParticleChange* G4VEnergyLossSTD::AlongStepDoIt(const G4Track& track, // The process has range table - calculate energy loss if(!theRangeTable) return &aParticleChange; - // Get the actual (true) Step length + // Get the actual (true) Step length G4double length = step.GetStepLength(); G4double eloss = 0.0; G4bool b; - G4double finalT = preStepKinEnergy; /* if(-1 < verboseLevel) { - G4cout << "AlongStepDoIt for " - << GetProcessName() << " and particle " - << particle->GetParticleName() - << " eScaled(MeV)= " << finalT/MeV + const G4ParticleDefinition* d = track.GetDefinition(); + G4cout << "AlongStepDoIt for " + << GetProcessName() << " and particle " + << d->GetParticleName() + << " eScaled(MeV)= " << preStepScaledEnergy/MeV << " slim(mm)= " << fRange/mm << " s(mm)= " << length/mm + << " q^2= " << chargeSqRatio + << " md= " << d->GetPDGMass() << G4endl; } */ @@ -602,12 +532,12 @@ G4VParticleChange* G4VEnergyLossSTD::AlongStepDoIt(const G4Track& track, static const G4double faclow = 1.5; // low energy deposit case - if (finalT < minKinEnergy || length >= fRange) { - eloss = finalT; + if (length >= fRange) { + eloss = preStepKinEnergy; - } else if(finalT < faclow*minKinEnergy) { + } else if(preStepScaledEnergy < faclow*minKinEnergy) { - eloss = finalT*sqrt(length/fRange); + eloss = preStepKinEnergy*sqrt(length/fRange); // Short step } else if( length <= linLossLimit * fRange ) { @@ -620,93 +550,111 @@ G4VParticleChange* G4VEnergyLossSTD::AlongStepDoIt(const G4Track& track, G4PhysicsVector* v = (*theInverseRangeTable)[currentMaterialIndex]; G4double postStepScaledEnergy = v->GetValue(x, b); eloss = (preStepScaledEnergy - postStepScaledEnergy)/massRatio; - - /* + + /* if(-1 < verboseLevel) { G4cout << "fRange(mm)= " << fRange/mm << " xPost(mm)= " << x/mm << " ePre(MeV)= " << preStepScaledEnergy/MeV << " ePost(MeV)= " << postStepScaledEnergy/MeV - << " eloss(MeV)= " << eloss/MeV + << " eloss(MeV)= " << eloss/MeV << " eloss0(MeV)= " << (((*theDEDXTable)[currentMaterialIndex])-> GetValue(preStepScaledEnergy, b))*length*chargeSqRatio << G4endl; } */ - - if(eloss < 0.0) eloss = 0.0; - } - // - if(eloss > finalT) eloss = finalT; + if(eloss <= 0.0) eloss = preStepKinEnergy*sqrt(length/fRange); + + } const G4DynamicParticle* dynParticle = track.GetDynamicParticle(); - - // Sub cutoff generation - if(subCutoffFlag) { + G4double tmax = MaxSecondaryEnergy(dynParticle); + tmax = G4std::min(tmax,(*theCuts)[currentMaterialIndex]); - G4std::vector* newp = subCutoffProcessor-> - SampleSecondary(step, dynParticle, eloss); - - if(newp) { - - G4ThreeVector finalP = dynParticle->GetMomentum(); - G4int n = newp->size(); - if(n > 0) { - aParticleChange.SetNumberOfSecondaries(n); - G4Track* t; - G4double e; - for (G4int i=0; iGetKineticEnergy(); - const G4ParticleDefinition* pd = t->GetDefinition(); - if (pd != theGamma && pd != theElectron ) e += pd->GetPDGMass(); - - finalT -= e; - finalP -= t->GetMomentum(); - aParticleChange.AddSecondary(t); - } - finalP = finalP.unit(); - aParticleChange.SetMomentumChange(finalP); - } - delete newp; - } +/* + //G4double eloss0 = eloss; + if(-1 < verboseLevel) { + //G4cout << *theDEDXTable << G4endl; + G4cout << "eloss(MeV)= " << eloss/MeV + << " eloss0(MeV)= " << (((*theDEDXTable)[currentMaterialIndex])-> + GetValue(preStepScaledEnergy, b))*length*chargeSqRatio + << " r0(mm)= " << (((*theRangeTable)[currentMaterialIndex])-> + GetValue(preStepScaledEnergy, b)) + << " tmax= " << tmax + << " mat= " << currentMaterial + << " matIdx= " << currentMaterialIndex + << " preCouple= " << (step.GetPreStepPoint())->GetMaterialCutsCouple() + << " postCouple= " << (step.GetPostStepPoint())->GetMaterialCutsCouple() + // << " rangeTable= " << theRangeTable + << G4endl; } - - // Sample fluctuations +*/ - if (lossFluctuationFlag && eloss + minKinEnergy > finalT) { + // Sample fluctuations + if (lossFluctuationFlag && eloss + minKinEnergy < preStepKinEnergy) { - G4double tmax = MaxSecondaryEnergy(dynParticle); - tmax = G4std::min(tmax,(*theCuts)[currentMaterialIndex]); - - emFluctModel->SampleFluctuations(currentMaterial, dynParticle, - tmax, length, eloss); + eloss = modelManager->SampleFluctuations(currentMaterial, dynParticle, + tmax, length, eloss, preStepScaledEnergy, + currentMaterialIndex); } /* - if(1 < verboseLevel) { - G4cout << "eloss(MeV)= " << eloss/MeV - << " currentChargeSquare= " << chargeSquare + if(-1 < verboseLevel) { + G4cout << "eloss(MeV)= " << eloss/MeV + << " fluc= " << (eloss-eloss0)/MeV + << " currentChargeSquare= " << chargeSquare + << " massRatio= " << massRatio << G4endl; } */ - finalT -= eloss; - // G4cout << "finalT= " << finalT << G4endl; + // Subcutoff and/or deexcitation + G4std::vector* newp = + SecondariesAlongStep(step, tmax, eloss, preStepScaledEnergy); - if (finalT < minKinEnergy) { + if(newp) { - eloss += finalT; - finalT = 0.0; + G4int n = newp->size(); + if(n > 0) { + aParticleChange.SetNumberOfSecondaries(n); + G4Track* t; + G4double e; + for (G4int i=0; iGetKineticEnergy(); + const G4ParticleDefinition* pd = t->GetDefinition(); + if (pd != theGamma && pd != theElectron ) e += pd->GetPDGMass(); - // !!!! to be checked - problem of Forced processes - - if (hasRestProcess) aParticleChange.SetStatusChange(fStopButAlive); - else aParticleChange.SetStatusChange(fStopAndKill); + preStepKinEnergy -= e; + aParticleChange.AddSecondary(t); + } + } + delete newp; } - aParticleChange.SetEnergyChange(finalT); + /* + if(-1 < verboseLevel) { + G4cout << "eloss(MeV)= " << eloss/MeV + << " preStepKinEnergy= " << preStepKinEnergy + << " lossFlag= " << lossFluctuationFlag + << G4endl; + } + */ + + + preStepKinEnergy -= eloss; + + if (preStepKinEnergy < minKinEnergy) { + + eloss += preStepKinEnergy; + preStepKinEnergy = 0.0; + + if (hasRestProcess) aParticleChange.SetStatusChange(fStopButAlive); + else aParticleChange.SetStatusChange(fStopAndKill); + } + + aParticleChange.SetEnergyChange(preStepKinEnergy); aParticleChange.SetLocalEnergyDeposit(eloss); return &aParticleChange; @@ -715,69 +663,52 @@ G4VParticleChange* G4VEnergyLossSTD::AlongStepDoIt(const G4Track& track, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VParticleChange* G4VEnergyLossSTD::PostStepDoIt(const G4Track& track, - const G4Step& step) + const G4Step& step) { aParticleChange.Initialize(track); G4double finalT = track.GetKineticEnergy(); + G4double postStepScaledEnergy = finalT*massRatio; // Integral approach - if(integral) { + if (integral) { G4bool b; - G4double postStepLambda = - (((*theLambdaTable)[currentMaterialIndex])->GetValue(finalT,b))*chargeSqRatio; - - if(preStepLambda*G4UniformRand() > postStepLambda) + G4double postStepLambda = chargeSqRatio* + (((*theLambdaTable)[currentMaterialIndex])->GetValue(postStepScaledEnergy,b)); + + if(preStepLambda*G4UniformRand() > postStepLambda) return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); } - G4VEmModel* currentModel = modelManager->SelectModel(finalT); + G4VEmModel* currentModel = SelectModel(postStepScaledEnergy); G4double tcut = (*theCuts)[currentMaterialIndex]; const G4DynamicParticle* dynParticle = track.GetDynamicParticle(); + G4double tmax = currentModel->MaxSecondaryEnergy(dynParticle); + /* if(0 < verboseLevel) { const G4ParticleDefinition* pd = dynParticle->GetDefinition(); - G4cout << "G4VEnergyLossSTD::PostStepDoIt: Sample secondary; E= " << finalT/MeV - << " MeV; model= (" << currentModel->LowEnergyLimit(pd, currentMaterial) - << ", " << currentModel->HighEnergyLimit(pd, currentMaterial) << ")" + G4cout << "G4VEnergyLossSTD::PostStepDoIt: Sample secondary; E= " << finalT/MeV + << " MeV; model= (" << currentModel->LowEnergyLimit(pd) + << ", " << currentModel->HighEnergyLimit(pd) << ")" << G4endl; } + */ - G4std::vector* newp = - currentModel->SampleSecondary(currentMaterial, dynParticle, tcut, finalT); + if (tcut < tmax) + SecondariesPostStep(currentModel,currentCouple,dynParticle,tcut,finalT); - if (newp) { - G4int n = newp->size(); - - G4ThreeVector finalP = dynParticle->GetMomentum(); - G4DynamicParticle* dp; - G4double e; - aParticleChange.SetNumberOfSecondaries(n); - for (G4int i=0; iGetKineticEnergy(); - if (dp->GetDefinition() != theElectron ) e += dp->GetMass(); - finalT -= e; - finalP -= dp->GetMomentum(); - aParticleChange.AddSecondary(dp); - } + if (finalT < minKinEnergy) { + aParticleChange.SetLocalEnergyDeposit(finalT); + aParticleChange.SetEnergyChange(0.0); - if (finalT < minKinEnergy) { - aParticleChange.SetLocalEnergyDeposit(finalT); - finalT = 0.0; + if (hasRestProcess) aParticleChange.SetStatusChange(fStopButAlive); + else aParticleChange.SetStatusChange(fStopAndKill); - // !!!! to be checked - problem of Forced processes - - if (hasRestProcess) aParticleChange.SetStatusChange(fStopButAlive); - else aParticleChange.SetStatusChange(fStopAndKill); - } - - aParticleChange.SetEnergyChange(finalT); - finalP = finalP.unit(); - aParticleChange.SetMomentumChange(finalP); - - delete newp; + return pParticleChange; } + aParticleChange.SetEnergyChange(finalT); + return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); } @@ -788,19 +719,35 @@ void G4VEnergyLossSTD::PrintInfoDefinition() const G4cout << G4endl << GetProcessName() << ": " << G4endl << " dE/dx and range tables from " << G4BestUnit(MinKinEnergy(),"Energy") - << " to " << G4BestUnit(MaxKinEnergy(),"Energy") + << " to " << G4BestUnit(MaxKinEnergy(),"Energy") << " in " << DEDXBinning() << " bins." << G4endl << " Lambda tables from threshold to " - << G4BestUnit(MaxKinEnergy(),"Energy") - << " in " << LambdaBinning() << " bins." + << G4BestUnit(MaxKinEnergy(),"Energy") + << " in " << LambdaBinning() << " bins." << G4endl; + if(0 < verboseLevel) { + G4cout << "Tables are built for " << particle->GetParticleName() + << " IntegralFlag= " << integral + << G4endl; + if(2 < verboseLevel) { + G4cout << "DEDXTable address= " << theDEDXTable << G4endl; + if(theDEDXTable) G4cout << (*theDEDXTable) << G4endl; + G4cout << "RangeTable address= " << theRangeTable << G4endl; + if(theRangeTable) G4cout << (*theRangeTable) << G4endl; + G4cout << "InverseRangeTable address= " << theInverseRangeTable << G4endl; + if(theInverseRangeTable) G4cout << (*theInverseRangeTable) << G4endl; + G4cout << "LambdaTable address= " << theLambdaTable << G4endl; + if(theLambdaTable) G4cout << (*theLambdaTable) << G4endl; + G4cout << "SubLambdaTable address= " << theSubLambdaTable << G4endl; + if(theSubLambdaTable) G4cout << (*theSubLambdaTable) << G4endl; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4VEnergyLossSTD::SetDEDXTable(G4PhysicsTable* p) { - if(theDEDXTable) delete theDEDXTable; theDEDXTable = p; } @@ -808,7 +755,6 @@ void G4VEnergyLossSTD::SetDEDXTable(G4PhysicsTable* p) void G4VEnergyLossSTD::SetRangeTable(G4PhysicsTable* p) { - if(theRangeTable) delete theRangeTable; theRangeTable = p; } @@ -816,7 +762,6 @@ void G4VEnergyLossSTD::SetRangeTable(G4PhysicsTable* p) void G4VEnergyLossSTD::SetSecondaryRangeTable(G4PhysicsTable* p) { - if(theSecondaryRangeTable) delete theSecondaryRangeTable; theSecondaryRangeTable = p; } @@ -824,77 +769,83 @@ void G4VEnergyLossSTD::SetSecondaryRangeTable(G4PhysicsTable* p) void G4VEnergyLossSTD::SetInverseRangeTable(G4PhysicsTable* p) { - if(theInverseRangeTable) delete theInverseRangeTable; theInverseRangeTable = p; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4PhysicsVector* G4VEnergyLossSTD::DEDXPhysicsVector(const G4Material*) +void G4VEnergyLossSTD::SetLambdaTable(G4PhysicsTable* p) { - return new G4PhysicsLogVector(minKinEnergy, maxKinEnergy, nDEDXBins); + theLambdaTable = p; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4PhysicsVector* G4VEnergyLossSTD::LambdaPhysicsVector(const G4Material* material) +void G4VEnergyLossSTD::SetSubLambdaTable(G4PhysicsTable* p) { - G4PhysicsVector* v = 0; - G4double cut = (*theCuts)[material->GetIndex()]; - if(cut > maxKinEnergy) { - v = new G4PhysicsLogVector(maxKinEnergy*0.5, maxKinEnergy, 2); - } else { - G4double tmin = G4std::max(MinPrimaryEnergy(particle, material, cut), minKinEnergy); - if(tmin >= maxKinEnergy) tmin = 0.5*maxKinEnergy; - v = new G4PhysicsLogVector(tmin, maxKinEnergy, nLambdaBins); + theSubLambdaTable = p; + if (nSCoffRegions) { + for (G4int i=0; iSetLambdaSubTable(theSubLambdaTable); + } } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PhysicsVector* G4VEnergyLossSTD::DEDXPhysicsVector(const G4MaterialCutsCouple* couple) +{ + G4int nbins = 3; + //G4int nbins = nDEDXBins; + if( couple->IsUsed() ) nbins = nDEDXBins; + // G4double xmax = maxKinEnergy*exp( log(maxKinEnergy/minKinEnergy) / ((G4double)(nbins-1)) ); + G4PhysicsVector* v = new G4PhysicsLogVector(minKinEnergy, maxKinEnergy, nbins); return v; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4PhysicsVector* G4VEnergyLossSTD::SubLambdaPhysicsVector(const G4Material* material) +G4PhysicsVector* G4VEnergyLossSTD::LambdaPhysicsVector(const G4MaterialCutsCouple* couple) { - G4PhysicsVector* v = 0; - G4double cut = (*theCuts)[material->GetIndex()]; - if(cut > maxKinEnergy) { - v = new G4PhysicsLogVector(maxKinEnergy*0.5, maxKinEnergy, 2); - } else { - G4double tmin = G4std::max(MinPrimaryEnergy(particle, material, cut), minKinEnergy); - if(tmin >= maxKinEnergy) tmin = 0.5*maxKinEnergy; - v = new G4PhysicsLogVector(tmin, maxKinEnergy, nLambdaBins); - } + G4double cut = (*theCuts)[couple->GetIndex()]; + G4int nbins = 3; + //G4int nbins = nLambdaBins; + if( couple->IsUsed() ) nbins = nLambdaBins; + G4double tmin = G4std::max(MinPrimaryEnergy(particle, couple->GetMaterial(), cut), + minKinEnergy); + if(tmin >= maxKinEnergy) tmin = 0.5*maxKinEnergy; + // G4double xmax = maxKinEnergy*exp(log(maxKinEnergy/tmin)/((G4double)(nbins-1)) ); + G4PhysicsVector* v = new G4PhysicsLogVector(tmin, maxKinEnergy, nbins); return v; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEnergyLossSTD::SetSubCutoffProcessor(G4VSubCutoffProcessor* p) +G4PhysicsVector* G4VEnergyLossSTD::SubLambdaPhysicsVector(const G4MaterialCutsCouple* couple) { - if(subCutoffProcessor) delete subCutoffProcessor; - subCutoffProcessor = p; + return LambdaPhysicsVector(couple); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4VEnergyLossSTD::MicroscopicCrossSection(G4double kineticEnergy, - const G4Material* material) -{ +G4double G4VEnergyLossSTD::MicroscopicCrossSection(G4double kineticEnergy, + const G4MaterialCutsCouple* couple) +{ // Cross section per atom is calculated - DefineMaterial(material); + DefineMaterial(couple); G4double cross = 0.0; G4bool b; if(theLambdaTable) { cross = (((*theLambdaTable)[currentMaterialIndex])-> GetValue(kineticEnergy, b)); - cross /= material->GetTotNbOfAtomsPerVolume(); + cross /= currentMaterial->GetTotNbOfAtomsPerVolume(); } return cross; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4double G4VEnergyLossSTD::MeanFreePath(const G4Track& track, G4double s, @@ -913,3 +864,227 @@ G4double G4VEnergyLossSTD::ContinuousStepLimit(const G4Track& track, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4VEnergyLossSTD::SetStepLimits(G4double v1, G4double v2) +{ + dRoverRange = v1; + finalRange = v2; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VEnergyLossSTD::SetParticle(const G4ParticleDefinition* p) +{ + particle = p; + if(!baseParticle) baseParticle = DefineBaseParticle(particle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VEnergyLossSTD::SetBaseParticle(const G4ParticleDefinition* p) +{ + baseParticle = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VEnergyLossSTD::SetSecondaryParticle(const G4ParticleDefinition* p) +{ + secondaryParticle = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4bool G4VEnergyLossSTD::StorePhysicsTable(G4ParticleDefinition* part, + const G4String& directory, + G4bool ascii) +{ + G4bool res = true; + if ( baseParticle ) return res; + G4bool yes = true; + + if ( theDEDXTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"DEDX",ascii); + yes = theDEDXTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + + if ( theRangeTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"Range",ascii); + yes = theRangeTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + + if ( theInverseRangeTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"InverseRange",ascii); + yes = theInverseRangeTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + + if ( theLambdaTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"Lambda",ascii); + yes = theLambdaTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + + if ( theSubLambdaTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"SubLambda",ascii); + yes = theSubLambdaTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + if ( res ) { + G4cout << "Physics tables are stored for " << particle->GetParticleName() + << " and process " << GetProcessName() + << " in the directory <" << directory + << "> " << G4endl; + } else { + G4cout << "Fail to store Physics Tables for " << particle->GetParticleName() + << " and process " << GetProcessName() + << " in the directory <" << directory + << "> " << G4endl; + } + return res; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4bool G4VEnergyLossSTD::RetrievePhysicsTable(G4ParticleDefinition* part, + const G4String& directory, + G4bool ascii) +{ + currentCouple = 0; + preStepLambda = 0.0; + if(0 < verboseLevel) { + G4cout << "G4VEnergyLossSTD::RetrievePhysicsTable() for " + << part->GetParticleName() << " and process " + << GetProcessName() << G4endl; + } + G4bool res = true; + + const G4String particleName = part->GetParticleName(); + if( !particle ) particle = part; + if( !baseParticle ) baseParticle = DefineBaseParticle(particle); + + if(particleName != "GenericIon" && + part->GetParticleType() == "nucleus" && + part->GetParticleSubType() == "generic") + { + (G4LossTableManager::Instance())->RegisterIon(part, this); + return res; + } + + if( baseParticle ) return true; + Initialise(); + + G4bool yes = true; + if ( !baseParticle ) { + G4PhysicsTable* table; + G4String filename; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + filename = GetPhysicsTableFileName(part,directory,"DEDX",ascii); + table = new G4PhysicsTable(numOfCouples); + yes = table->RetrievePhysicsTable(filename,ascii); + if ( yes ) { + SetDEDXTable(table); + if (0 < verboseLevel) { + G4cout << "DEDX table for " << particleName << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + table->clearAndDestroy(); + if (0 < verboseLevel) { + G4cout << "DEDX table for " << particleName << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + + filename = GetPhysicsTableFileName(part,directory,"Range",ascii); + table = new G4PhysicsTable(numOfCouples); + yes = table->RetrievePhysicsTable(filename,ascii); + if ( yes ) { + SetRangeTable(table); + if (0 < verboseLevel) { + G4cout << "Range table for " << particleName << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + table->clearAndDestroy(); + if (0 < verboseLevel) { + G4cout << "Range table for " << particleName << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + + filename = GetPhysicsTableFileName(part,directory,"InverseRange",ascii); + table = new G4PhysicsTable(numOfCouples); + yes = table->RetrievePhysicsTable(filename,ascii); + if ( yes ) { + SetInverseRangeTable(table); + if (0 < verboseLevel) { + G4cout << "InverseRange table for " << particleName << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + table->clearAndDestroy(); + if (0 < verboseLevel) { + G4cout << "InverseRange table for " << particleName << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + + filename = GetPhysicsTableFileName(part,directory,"Lambda",ascii); + table = new G4PhysicsTable(numOfCouples); + yes = table->RetrievePhysicsTable(filename,ascii); + if ( yes ) { + SetLambdaTable(table); + if (0 < verboseLevel) { + G4cout << "Lambda table for " << particleName << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + table->clearAndDestroy(); + if (0 < verboseLevel) { + G4cout << "Lambda table for " << particleName << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + + filename = GetPhysicsTableFileName(part,directory,"SubLambda",ascii); + table = new G4PhysicsTable(numOfCouples); + yes = table->RetrievePhysicsTable(filename,ascii); + if ( yes ) { + SetSubLambdaTable(table); + if (0 < verboseLevel) { + G4cout << "SubLambda table for " << particleName << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + table->clearAndDestroy(); + if (0 < verboseLevel) { + G4cout << "SubLambda table for " << particleName << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + tablesAreBuilt = true; + } + + (G4LossTableManager::Instance())->RetrievePhysicsTables(particle, this); + + + if(!baseParticle) PrintInfoDefinition(); + return res; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc b/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc new file mode 100644 index 0000000000..ec58de227b --- /dev/null +++ b/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc @@ -0,0 +1,339 @@ +// +// ******************************************************************** +// * 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. * +// ******************************************************************** +// +// +// ------------------------------------------------------------------- +// +// GEANT4 Class file +// +// +// File name: G4VMultipleScattering +// +// Author: Vladimir Ivanchenko on base of Laszlo Urban code +// +// Creation date: 25.03.2003 +// +// Modifications: 13.04.03 Change printout (V.Ivanchenko) +// +// +// Class Description: +// +// It is the generic process of multiple scattering it includes common +// part of calculations for all charged particles + +// ------------------------------------------------------------------- +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +#include "G4VMultipleScattering.hh" +#include "G4LossTableManager.hh" +#include "G4Step.hh" +#include "G4ParticleDefinition.hh" +#include "G4VEmModel.hh" +#include "G4VEmFluctuationModel.hh" +#include "G4DataVector.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsVector.hh" +#include "G4PhysicsLogVector.hh" +#include "G4UnitsTable.hh" +#include "G4ProductionCutsTable.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4Navigator.hh" +#include "G4TransportationManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VMultipleScattering::G4VMultipleScattering(const G4String& name, G4ProcessType type): + G4VContinuousDiscreteProcess(name, type), + navigator(0), + theLambdaTable(0), + currentCouple(0), + nBins(110), + minKinEnergy(1.0*eV), + maxKinEnergy(100.0*GeV), + boundary(false), + latDisplasment(true), + buildLambdaTable(true) +{ + modelManager = new G4EmModelManager(); + (G4LossTableManager::Instance())->Register(this); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VMultipleScattering::~G4VMultipleScattering() +{ + (G4LossTableManager::Instance())->DeRegister(this); + delete modelManager; + if (theLambdaTable) { + theLambdaTable->clearAndDestroy(); + delete theLambdaTable; + } + (G4LossTableManager::Instance())->DeRegister(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VMultipleScattering::BuildPhysicsTable(const G4ParticleDefinition& part) +{ + currentCouple = 0; + if(0 < verboseLevel) { + G4cout << "G4VMultipleScattering::BuildPhysicsTable() for " + << GetProcessName() + << " and particle " << part.GetParticleName() + << G4endl; + } + + G4bool cutsWasModified = false; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + for (size_t j=0; jGetMaterialCutsCouple(j)->IsRecalcNeeded()) { + cutsWasModified = true; + break; + } + } + if( !cutsWasModified ) return; + InitialiseProcess(part); + + if(latDisplasment) navigator = G4TransportationManager::GetTransportationManager() + ->GetNavigatorForTracking(); + modelManager->Clear(); + const G4DataVector* theCuts = modelManager->Initialise(&part, 0, 10.0, verboseLevel); + + if (buildLambdaTable) { + + theLambdaTable = new G4PhysicsTable(numOfCouples); + + for (size_t i=0; iGetMaterialCutsCouple(i); + G4PhysicsVector* aVector = PhysicsVector(couple); + modelManager->FillLambdaVector(aVector, couple, false); + + // Insert vector for this material into the table + theLambdaTable->insert(aVector) ; + } + + if(0 < verboseLevel) { + G4cout << "Lambda table is built for " + << part.GetParticleName() + << G4endl; + } + if(2 < verboseLevel) G4cout << *theLambdaTable << G4endl; + if(5 < verboseLevel) G4cout << theCuts << G4endl; + + } + + G4String num = part.GetParticleName(); + if (verboseLevel>0 || num == "e-" || num == "mu+" || num == "proton") + PrintInfoDefinition(); + + if(0 < verboseLevel) { + G4cout << "G4VMultipleScattering::BuildPhysicsTable() done for " + << GetProcessName() + << " and particle " << part.GetParticleName() + << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VMultipleScattering::AddEmModel(G4int order, G4VEmModel* p, + const G4Region* region) +{ + G4VEmFluctuationModel* fm = 0; + modelManager->AddEmModel(order, p, fm, region); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4VParticleChange* G4VMultipleScattering::PostStepDoIt(const G4Track& track, + const G4Step& step) +{ + fParticleChange.Initialize(track); + G4double kineticEnergy = track.GetKineticEnergy(); + G4double truestep = step.GetStepLength(); + + if (kineticEnergy > 0.0) { + G4double cth = currentModel->SampleCosineTheta(truestep); + G4double sth = sqrt(1.-cth*cth); + G4double phi = twopi*G4UniformRand(); + G4double dirx = sth*cos(phi); + G4double diry = sth*sin(phi); + + G4ThreeVector oldDirection = track.GetMomentumDirection(); + G4ThreeVector newDirection(dirx,diry,cth); + newDirection.rotateUz(oldDirection); + fParticleChange.SetMomentumChange(newDirection); + + + /* + if(0 < verboseLevel) { + const G4ParticleDefinition* pd = dynParticle->GetDefinition(); + G4cout << "G4VMultipleScattering::PostStepDoIt: Sample secondary; E= " << finalT/MeV + << " MeV; model= (" << currentModel->LowEnergyLimit(pd) + << ", " << currentModel->HighEnergyLimit(pd) << ")" + << G4endl; + } + */ + + // G4cout << "PostStep: sth= " << sth << " trueLength= " << truestep << " tLast= " << truePathLength << G4endl; + + if (latDisplasment) { + + G4double safety = step.GetPostStepPoint()->GetSafety(); + if ( safety > 0.0) { + G4double r = currentModel->SampleDisplacement(); + if (r > safety) r = safety; + + // G4cout << "r= " << r << " safety= " << safety << G4endl; + + // sample direction of lateral displacement + G4double phi = twopi*G4UniformRand(); + G4double dirx = cos(phi); + G4double diry = sin(phi); + + G4ThreeVector latDirection(dirx,diry,0.0); + latDirection.rotateUz(oldDirection); + + // compute new endpoint of the Step + G4ThreeVector newPosition = (step.GetPostStepPoint())->GetPosition() + + r*latDirection; + + navigator->LocateGlobalPointWithinVolume(newPosition); + + fParticleChange.SetPositionChange(newPosition); + } + } + } + + return &fParticleChange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VMultipleScattering::PrintInfoDefinition() const +{ + G4cout << G4endl << GetProcessName() << ": Model variant of multiple scattering " << G4endl; + if (theLambdaTable) { + G4cout << " Lambda tables from " + << G4BestUnit(MinKinEnergy(),"Energy") + << " to " + << G4BestUnit(MaxKinEnergy(),"Energy") + << " in " << nBins << " bins." + << G4endl; + } + if (1 < verboseLevel) { + G4cout << "LambdaTable address= " << theLambdaTable << G4endl; + if(theLambdaTable) G4cout << (*theLambdaTable) << G4endl; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4PhysicsVector* G4VMultipleScattering::PhysicsVector(const G4MaterialCutsCouple* couple) +{ + G4int nbins = 3; + //G4int nbins = nDEDXBins; + if( couple->IsUsed() ) nbins = nBins; + // G4double xmax = maxKinEnergy*exp( log(maxKinEnergy/minKinEnergy) / ((G4double)(nbins-1)) ); + G4PhysicsVector* v = new G4PhysicsLogVector(minKinEnergy, maxKinEnergy, nbins); + return v; +} + +G4bool G4VMultipleScattering::StorePhysicsTable(G4ParticleDefinition* part, + const G4String& directory, + G4bool ascii) +{ + G4bool res = true; + if ( theLambdaTable ) { + const G4String name = GetPhysicsTableFileName(part,directory,"Lambda",ascii); + G4bool yes = theLambdaTable->StorePhysicsTable(name,ascii); + if( !yes ) res = false; + } + + if ( res ) { + G4cout << "Physics table are stored for " << part->GetParticleName() + << " and process " << GetProcessName() + << " in the directory <" << directory + << "> " << G4endl; + } else { + G4cout << "Fail to store Physics Table for " << part->GetParticleName() + << " and process " << GetProcessName() + << " in the directory <" << directory + << "> " << G4endl; + } + return res; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4bool G4VMultipleScattering::RetrievePhysicsTable(G4ParticleDefinition* part, + const G4String& directory, + G4bool ascii) +{ + if(0 < verboseLevel) { + G4cout << "G4VMultipleScattering::RetrievePhysicsTable() for " + << part->GetParticleName() << " and process " + << GetProcessName() << G4endl; + } + G4bool res = true; + if(!buildLambdaTable) return res; + + G4String num = part->GetParticleName(); + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + size_t numOfCouples = theCoupleTable->GetTableSize(); + + G4String filename = GetPhysicsTableFileName(part,directory,"Lambda",ascii); + theLambdaTable = new G4PhysicsTable(numOfCouples); + res = theLambdaTable->RetrievePhysicsTable(filename,ascii); + if ( res ) { + if (0 < verboseLevel) { + G4cout << "Lambda table for " << num << " is retrieved from <" + << filename << ">" + << G4endl; + } + } else { + theLambdaTable->clearAndDestroy(); + theLambdaTable = 0; + if (0 < verboseLevel) { + G4cout << "Lambda table for " << num << " in file <" + << filename << "> is not exist" + << G4endl; + } + } + + if (verboseLevel>0 || num == "e-" || num == "mu+" || num == "proton") + PrintInfoDefinition(); + return res; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/source/processes/electromagnetic/xrays/History b/source/processes/electromagnetic/xrays/History index 05f7e648f8..bf1af946ad 100644 --- a/source/processes/electromagnetic/xrays/History +++ b/source/processes/electromagnetic/xrays/History @@ -1,4 +1,4 @@ -$Id: History,v 1.18 2002/11/25 18:50:19 gum Exp $ +$Id: History,v 1.23 2003/03/21 08:01:33 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,23 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +21 March 03: G. Cosmo (xrays-V05-00-04) +- G4VXTRenergyLoss.cc: fix for porting on Windows .NET compiler. + +11 March 03: V. Ivanchenko (xrays-V05-00-03) +- Minor fix to cut per region + +10 March 03: V. Ivanchenko (xrays-V05-00-02) +- Cut per region G4ForwardXrayTR.cc + +12 February 03: G. Cosmo (xrays-V05-00-01) +- Replaced call to RandPoisson::shoot() with G4Poisson(), more performant. + Affected files: G4Cerenkov.cc, G4ForwardXrayTR.cc, G4VXTRenergyLoss.cc. + +23 January 03: G. Cosmo (xrays-V05-00-00) +- G4VXTRenergyLoss[.hh.cc]: removed reduntant headers inclusions and + ordered inclusion for complex numbers to allow porting on Windows .NET VC++. + 25 November 02: P. Gumplinger (xrays-V04-01-03) - G4Scintillation now allows for particle dependent excitation levels diff --git a/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh b/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh index 1c3ee220ed..f3482226b3 100644 --- a/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh +++ b/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh @@ -22,7 +22,7 @@ // // // $Id: G4Cerenkov.hh,v 1.5 2001/07/11 10:03:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh b/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh index 5b1d1c714b..08322c18b3 100644 --- a/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh +++ b/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ForwardXrayTR.hh,v 1.7 2001/07/11 10:03:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ForwardXrayTR.hh,v 1.9 2003/03/11 08:43:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4ForwardXrayTR -- header file // @@ -38,6 +38,7 @@ // History: // 22.09.97, V. Grichine (Vladimir.Grichine@cern.ch) // 26.01.00, V.Grichine, new constructor and protected DM for fast sim. models +// 10.03.03, V.Ivanchenko migrade to "cut per region" #ifndef G4FORWARDXRAYTR_H #define G4FORWARDXRAYTR_H @@ -156,7 +157,8 @@ protected : // for access from X-ray TR fast simulation models G4Gamma* fPtrGamma ; // pointer to TR photon -G4double* fGammaCutInKineticEnergy ; // TR photon cut in energy array +const G4std::vector* fGammaCutInKineticEnergy ; + // TR photon cut in energy array G4double fGammaTkinCut ; // Tkin cut of TR photon in current mat. G4PhysicsTable* fAngleDistrTable ; diff --git a/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh index e94841a14b..9676d80210 100644 --- a/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh @@ -22,7 +22,7 @@ // // // $Id: G4GammaXTRadiator.hh,v 1.1 2002/01/22 15:22:53 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh index d733bceab3..cf372138cf 100644 --- a/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh @@ -22,7 +22,7 @@ // // // $Id: G4RegularXTRadiator.hh,v 1.2 2002/01/18 17:26:20 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4Scintillation.hh b/source/processes/electromagnetic/xrays/include/G4Scintillation.hh index 9d3bd7e86f..61c0d23a0d 100644 --- a/source/processes/electromagnetic/xrays/include/G4Scintillation.hh +++ b/source/processes/electromagnetic/xrays/include/G4Scintillation.hh @@ -22,7 +22,7 @@ // // // $Id: G4Scintillation.hh,v 1.11 2002/11/25 18:48:51 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh b/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh index 6cd20d6ffb..36beb9737b 100644 --- a/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh +++ b/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh @@ -22,7 +22,7 @@ // // // $Id: G4TransitionRadiation.hh,v 1.6 2001/07/11 10:03:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4TransitionRadiation -- header file // diff --git a/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh b/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh index 91dd610960..0b6e518682 100644 --- a/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh +++ b/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VXTRenergyLoss.hh,v 1.3 2002/01/18 17:26:21 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VXTRenergyLoss.hh,v 1.4 2003/01/23 11:26:16 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // /////////////////////////////////////////////////////////////////////////// @@ -40,9 +40,8 @@ #define G4VXTRenergyLoss_h 1 -#include "globals.hh" -#include "templates.hh" #include "g4std/complex" +#include "globals.hh" #include "Randomize.hh" #include "G4LogicalVolume.hh" diff --git a/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc b/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc index 62faf07791..09007cd939 100644 --- a/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc +++ b/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Cerenkov.cc,v 1.13 2002/05/16 21:21:14 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Cerenkov.cc,v 1.14 2003/02/12 08:52:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Cerenkov Radiation Class Implementation @@ -52,6 +52,7 @@ //////////////////////////////////////////////////////////////////////// #include "G4ios.hh" +#include "G4Poisson.hh" #include "G4Cerenkov.hh" ///////////////////////// @@ -163,10 +164,7 @@ G4Cerenkov::AlongStepDoIt(const G4Track& aTrack, const G4Step& aStep) MeanNumPhotons = MeanNumPhotons * step_length; - // RandPoisson is a utility class. It provides functions - // that act on HepRandom - - G4int NumPhotons = (G4int) RandPoisson::shoot(MeanNumPhotons); + G4int NumPhotons = (G4int) G4Poisson(MeanNumPhotons); if (NumPhotons <= 0) { diff --git a/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc b/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc index 5920f5112a..fbd15e6f9d 100644 --- a/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc +++ b/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ForwardXrayTR.cc,v 1.7 2001/10/24 16:40:54 maire Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ForwardXrayTR.cc,v 1.9 2003/03/10 11:34:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4ForwardXrayTR class -- implementation file @@ -34,22 +34,20 @@ // History: // 1st version 11.09.97 V. Grichine (Vladimir.Grichine@cern.ch ) // 2nd version 17.12.97 V. Grichine -// 17-09-01, migration of Materials to pure STL (mma) - - -#include - -// #include "G4ios.hh" -// #include -// #include +// 17-09-01, migration of Materials to pure STL (mma) +// 10-03-03, migration to "cut per region" (V.Ivanchenko) #include "G4ForwardXrayTR.hh" -#include "G4Material.hh" + #include "globals.hh" +#include "G4Poisson.hh" +#include "G4Material.hh" #include "G4PhysicsTable.hh" #include "G4PhysicsVector.hh" #include "G4PhysicsLinearVector.hh" #include "G4PhysicsLogVector.hh" +#include "G4ProductionCutsTable.hh" + // Table initialization @@ -92,14 +90,14 @@ G4double G4ForwardXrayTR::fCofTR = fine_structure_const/pi ; // in all materials involved in test program. Lorentz factors correspond to // kinetic energies of protons between 100*GeV and 100*TeV, ~ 10^2-10^5 // -// Recommended only for use in applications with +// Recommended only for use in applications with // few light materials involved !!!!!!!!!!!!!! G4ForwardXrayTR::G4ForwardXrayTR() : G4TransitionRadiation("XrayTR") { G4int iMat, jMat, iTkin, iTR, iPlace ; - static + static const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); G4int numOfMat = G4Material::GetNumberOfMaterials(); fGammaCutInKineticEnergy = new G4double[numOfMat] ; @@ -129,7 +127,7 @@ G4ForwardXrayTR::G4ForwardXrayTR() // fGammaTkinCut = fGammaCutInKineticEnergy[jMat] ; // TR photon in jMat ! fGammaTkinCut = 0.0 ; - if(fGammaTkinCut > fTheMinEnergyTR) // setting of min/max TR energies + if(fGammaTkinCut > fTheMinEnergyTR) // setting of min/max TR energies { fMinEnergyTR = fGammaTkinCut ; } @@ -160,7 +158,7 @@ G4ForwardXrayTR::G4ForwardXrayTR() fGamma = 1.0 + (aVector->GetLowEdgeEnergy(iTkin)/proton_mass_c2) ; fMaxThetaTR = 10000.0/(fGamma*fGamma) ; if(fMaxThetaTR > fTheMaxAngle) - { + { fMaxThetaTR = fTheMaxAngle ; } else @@ -176,7 +174,7 @@ G4ForwardXrayTR::G4ForwardXrayTR() for(iTR=fBinTR-2;iTR>=0;iTR--) { energySum += fCofTR*EnergySum(energyVector->GetLowEdgeEnergy(iTR), - energyVector->GetLowEdgeEnergy(iTR+1)) ; + energyVector->GetLowEdgeEnergy(iTR+1)) ; angleSum += fCofTR*AngleSum(angleVector->GetLowEdgeEnergy(iTR), angleVector->GetLowEdgeEnergy(iTR+1)) ; @@ -187,13 +185,13 @@ G4ForwardXrayTR::G4ForwardXrayTR() { iPlace = (iMat*(numOfMat-1)+jMat)*fTotBin+iTkin ; } - else // jMat > iMat right part of matrices (jMat-1) ! + else // jMat > iMat right part of matrices (jMat-1) ! { iPlace = (iMat*(numOfMat-1)+jMat-1)*fTotBin+iTkin ; - } + } fEnergyDistrTable->insertAt(iPlace,energyVector) ; fAngleDistrTable->insertAt(iPlace,angleVector) ; - } // iTkin + } // iTkin } // jMat != iMat } // jMat } // iMat @@ -205,7 +203,7 @@ G4ForwardXrayTR::G4ForwardXrayTR() ////////////////////////////////////////////////////////////////////// // -// Constructor for creation of physics tables (angle and energy TR +// Constructor for creation of physics tables (angle and energy TR // distributions) for a couple of selected materials. // // Recommended for use in applications with many materials involved, @@ -217,38 +215,39 @@ G4ForwardXrayTR:: G4ForwardXrayTR( const G4String& matName1, // G4Material* pMat1, const G4String& matName2, // G4Material* pMat2, const G4String& processName ) - : G4TransitionRadiation(processName) + : G4TransitionRadiation(processName) { // fMatIndex1 = pMat1->GetIndex() ; // fMatIndex2 = pMat2->GetIndex() ; G4int iMat; - static - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable() ; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + G4int numOfCouples = theCoupleTable->GetTableSize(); - G4int numOfMat = G4Material::GetNumberOfMaterials(); - - for(iMat=0;iMatGetName() ) + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(iMat); + if( matName1 == couple->GetMaterial()->GetName() ) { - fMatIndex1 = (*theMaterialTable)[iMat]->GetIndex() ; + fMatIndex1 = couple->GetIndex() ; break ; } } - if(iMat == numOfMat) + if(iMat == numOfCouples) { G4Exception("Invalid first material name in G4ForwardXrayTR constructor") ; } - for(iMat=0;iMatGetName() ) + const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(iMat); + if( matName2 == couple->GetMaterial()->GetName() ) { - fMatIndex2 = (*theMaterialTable)[iMat]->GetIndex() ; + fMatIndex2 = couple->GetIndex() ; break ; } } - if(iMat == numOfMat) + if(iMat == numOfCouples) { G4Exception("Invalid second material name in G4ForwardXrayTR constructor") ; } @@ -262,7 +261,7 @@ G4ForwardXrayTR( const G4String& matName1, // G4Material* pMat1, G4ForwardXrayTR:: G4ForwardXrayTR( const G4String& processName ) - : G4TransitionRadiation(processName) + : G4TransitionRadiation(processName) { ; } @@ -285,32 +284,32 @@ G4ForwardXrayTR::~G4ForwardXrayTR() void G4ForwardXrayTR::BuildXrayTRtables() { G4int iMat, jMat, iTkin, iTR, iPlace ; - static - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable() ; + const G4ProductionCutsTable* theCoupleTable= + G4ProductionCutsTable::GetProductionCutsTable(); + G4int numOfCouples = theCoupleTable->GetTableSize(); - G4int numOfMat = G4Material::GetNumberOfMaterials() ; - - fGammaCutInKineticEnergy = new G4double[numOfMat] ; - fGammaCutInKineticEnergy = fPtrGamma->GetEnergyCuts() ; + fGammaCutInKineticEnergy = theCoupleTable->GetEnergyCutsVector(idxG4GammaCut); fAngleDistrTable = new G4PhysicsTable(2*fTotBin) ; fEnergyDistrTable = new G4PhysicsTable(2*fTotBin) ; - for(iMat=0;iMat jMat !!! + for(jMat=0;jMat jMat !!! { - if( iMat == jMat || ( jMat != fMatIndex1 && jMat != fMatIndex2 ) ) - { - continue ; - } + if( iMat == jMat || ( jMat != fMatIndex1 && jMat != fMatIndex2 ) ) + { + continue ; + } else { - const G4Material* mat1 = (*theMaterialTable)[iMat] ; - const G4Material* mat2 = (*theMaterialTable)[jMat] ; + const G4MaterialCutsCouple* iCouple = theCoupleTable->GetMaterialCutsCouple(iMat); + const G4MaterialCutsCouple* jCouple = theCoupleTable->GetMaterialCutsCouple(jMat); + const G4Material* mat1 = iCouple->GetMaterial() ; + const G4Material* mat2 = jCouple->GetMaterial() ; fSigma1 = fPlasmaCof*(mat1->GetElectronDensity()) ; fSigma2 = fPlasmaCof*(mat2->GetElectronDensity()) ; @@ -319,7 +318,7 @@ void G4ForwardXrayTR::BuildXrayTRtables() fGammaTkinCut = 0.0 ; - if(fGammaTkinCut > fTheMinEnergyTR) // setting of min/max TR energies + if(fGammaTkinCut > fTheMinEnergyTR) // setting of min/max TR energies { fMinEnergyTR = fGammaTkinCut ; } @@ -329,7 +328,7 @@ void G4ForwardXrayTR::BuildXrayTRtables() } if(fGammaTkinCut > fTheMaxEnergyTR) { - fMaxEnergyTR = 2.0*fGammaTkinCut ; // usually very low TR rate + fMaxEnergyTR = 2.0*fGammaTkinCut ; // usually very low TR rate } else { @@ -337,7 +336,7 @@ void G4ForwardXrayTR::BuildXrayTRtables() } for(iTkin=0;iTkin fTheMaxAngle) - { + { fMaxThetaTR = fTheMaxAngle ; } else @@ -359,7 +358,7 @@ void G4ForwardXrayTR::BuildXrayTRtables() } } // G4cout<GetPhysicalVolume()-> - GetLogicalVolume()->GetMaterial()->GetIndex() ; - jMat = pPostStepPoint->GetPhysicalVolume()-> - GetLogicalVolume()->GetMaterial()->GetIndex() ; + const G4MaterialCutsCouple* iCouple = pPreStepPoint ->GetPhysicalVolume()-> + GetLogicalVolume()->GetMaterialCutsCouple(); + const G4MaterialCutsCouple* jCouple = pPostStepPoint ->GetPhysicalVolume()-> + GetLogicalVolume()->GetMaterialCutsCouple(); + const G4Material* iMaterial = iCouple->GetMaterial(); + const G4Material* jMaterial = jCouple->GetMaterial(); + iMat = iCouple->GetIndex(); + jMat = jCouple->GetIndex(); // The case of equal or approximate (in terms of plasma energy) materials // No TR photons ?! if ( iMat == jMat - || ( (fMatIndex1 >= 0 && fMatIndex1 >= 0) + || ( (fMatIndex1 >= 0 && fMatIndex1 >= 0) && ( iMat != fMatIndex1 && iMat != fMatIndex2 ) && ( jMat != fMatIndex1 && jMat != fMatIndex2 ) ) - || (*theMaterialTable)[iMat]->GetState() == - (*theMaterialTable)[jMat]->GetState() - - ||( (*theMaterialTable)[iMat]->GetState() == kStateSolid - && (*theMaterialTable)[jMat]->GetState() == kStateLiquid ) - - ||( (*theMaterialTable)[iMat]->GetState() == kStateLiquid - && (*theMaterialTable)[jMat]->GetState() == kStateSolid ) ) + || iMaterial->GetState() == jMaterial->GetState() + + ||(iMaterial->GetState() == kStateSolid && jMaterial->GetState() == kStateLiquid ) + + ||(iMaterial->GetState() == kStateLiquid && jMaterial->GetState() == kStateSolid ) ) { return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep) ; } const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); G4double charge = aParticle->GetDefinition()->GetPDGCharge(); - - if(charge == 0.0) // Uncharged particle doesn't Generate TR photons + + if(charge == 0.0) // Uncharged particle doesn't Generate TR photons { return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } @@ -629,7 +626,7 @@ G4VParticleChange* G4ForwardXrayTR::PostStepDoIt(const G4Track& aTrack, if(TkinScaled < fProtonEnergyVector->GetLowEdgeEnergy(iTkin)) // <= ? { break ; - } + } } if(jMat < iMat) { @@ -637,7 +634,7 @@ G4VParticleChange* G4ForwardXrayTR::PostStepDoIt(const G4Track& aTrack, } else { - iPlace = iTkin - 1 ; // (iMat*(numOfMat - 1) + jMat - 1)*fTotBin + + iPlace = iTkin - 1 ; // (iMat*(numOfMat - 1) + jMat - 1)*fTotBin + } // G4PhysicsVector* energyVector1 = (*fEnergyDistrTable)(iPlace) ; // G4PhysicsVector* energyVector2 = (*fEnergyDistrTable)(iPlace + 1) ; @@ -653,9 +650,9 @@ G4VParticleChange* G4ForwardXrayTR::PostStepDoIt(const G4Track& aTrack, // (*(*fAngleDistrTable)(iPlace))(0) ) // *chargeSq*0.5<GetLowEdgeEnergy(iTkin - 1) ; + E1 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin - 1) ; E2 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin) ; W = 1.0/(E2 - E1) ; W1 = (E2 - TkinScaled)*W ; W2 = (TkinScaled - E1)*W ; // G4cout<GetTableSize(); // The case of equal or approximate (in terms of plasma energy) materials // No TR photons ?! + const G4MaterialCutsCouple* iCouple = theCoupleTable->GetMaterialCutsCouple(iMat); + const G4MaterialCutsCouple* jCouple = theCoupleTable->GetMaterialCutsCouple(jMat); + const G4Material* iMaterial = iCouple->GetMaterial(); + const G4Material* jMaterial = jCouple->GetMaterial(); if ( iMat == jMat - || (*theMaterialTable)[iMat]->GetState() == - (*theMaterialTable)[jMat]->GetState() - - ||( (*theMaterialTable)[iMat]->GetState() == kStateSolid - && (*theMaterialTable)[jMat]->GetState() == kStateLiquid ) - - ||( (*theMaterialTable)[iMat]->GetState() == kStateLiquid - && (*theMaterialTable)[jMat]->GetState() == kStateSolid ) ) + || iMaterial->GetState() == jMaterial->GetState() + + ||(iMaterial->GetState() == kStateSolid && jMaterial->GetState() == kStateLiquid ) + + ||(iMaterial->GetState() == kStateLiquid && jMaterial->GetState() == kStateSolid ) ) + { return energyTR ; } if(jMat < iMat) { - iPlace = (iMat*(numOfMat - 1) + jMat)*fTotBin + iTkin - 1 ; + iPlace = (iMat*(numOfCouples - 1) + jMat)*fTotBin + iTkin - 1 ; } else { - iPlace = (iMat*(numOfMat - 1) + jMat - 1)*fTotBin + iTkin - 1 ; + iPlace = (iMat*(numOfCouples - 1) + jMat - 1)*fTotBin + iTkin - 1 ; } G4PhysicsVector* energyVector1 = (*fEnergyDistrTable)(iPlace) ; G4PhysicsVector* energyVector2 = (*fEnergyDistrTable)(iPlace + 1) ; if(iTkin == fTotBin) // TR plato, try from left { - numOfTR = RandPoisson::shoot( (*energyVector1)(0) ) ; + numOfTR = G4Poisson( (*energyVector1)(0) ) ; if(numOfTR == 0) { return energyTR ; @@ -857,13 +855,13 @@ G4ForwardXrayTR::GetEnergyTR(G4int iMat, G4int jMat, G4int iTkin) const if(iTkin == 0) // Tkin is too small, neglect of TR photon generation { return energyTR ; - } + } else // general case: Tkin between two vectors of the material { // use trivial mean half/half - W1 = 0.5 ; + W1 = 0.5 ; W2 = 0.5 ; - numOfTR = RandPoisson::shoot( (*energyVector1)(0)*W1 + - (*energyVector2)(0)*W2 ) ; + numOfTR = G4Poisson( (*energyVector1)(0)*W1 + + (*energyVector2)(0)*W2 ) ; if(numOfTR == 0) { return energyTR ; @@ -896,10 +894,10 @@ G4ForwardXrayTR::GetEnergyTR(G4int iMat, G4int jMat, G4int iTkin) const // Test function for checking of PostStepDoIt random preparation of TR photon // theta angle relative to particle direction // - - -G4double -G4ForwardXrayTR::GetThetaTR(G4int iMat, G4int jMat, G4int iTkin) const + + +G4double +G4ForwardXrayTR::GetThetaTR(G4int iMat, G4int jMat, G4int iTkin) const { G4double theta = 0.0 ; @@ -908,6 +906,6 @@ G4ForwardXrayTR::GetThetaTR(G4int iMat, G4int jMat, G4int iTkin) const -// end of G4ForwardXrayTR implementation file +// end of G4ForwardXrayTR implementation file // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc index 940dee8a0b..ffbe1821be 100644 --- a/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc @@ -22,7 +22,7 @@ // // // $Id: G4GammaXTRadiator.cc,v 1.1 2002/01/22 15:22:53 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc index 21b82aa758..8367bbf69a 100644 --- a/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc @@ -22,7 +22,7 @@ // // // $Id: G4RegularXTRadiator.cc,v 1.2 2002/01/18 17:26:21 grichine Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "g4std/complex" diff --git a/source/processes/electromagnetic/xrays/src/G4Scintillation.cc b/source/processes/electromagnetic/xrays/src/G4Scintillation.cc index 13e0e7baff..d50535d492 100644 --- a/source/processes/electromagnetic/xrays/src/G4Scintillation.cc +++ b/source/processes/electromagnetic/xrays/src/G4Scintillation.cc @@ -22,7 +22,7 @@ // // // $Id: G4Scintillation.cc,v 1.16 2002/11/26 00:52:13 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Scintillation Light Class Implementation diff --git a/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc b/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc index 90c2b120b1..7191e2bb13 100644 --- a/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc +++ b/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc @@ -22,7 +22,7 @@ // // // $Id: G4TransitionRadiation.cc,v 1.3 2001/07/11 10:03:42 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4TransitionRadiation class -- implementation file diff --git a/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc b/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc index c093aa5cee..b6e60262bd 100644 --- a/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc +++ b/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc @@ -21,27 +21,18 @@ // ******************************************************************** // // -// $Id: G4VXTRenergyLoss.cc,v 1.5 2002/03/28 07:58:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VXTRenergyLoss.cc,v 1.8 2003/03/21 08:01:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Timer.hh" #include "G4VXTRenergyLoss.hh" -#include "Randomize.hh" -#include "G4Material.hh" +#include "G4Poisson.hh" #include "G4MaterialTable.hh" -#include "globals.hh" -#include "g4std/complex" -#include "G4LogicalVolume.hh" - -#include "G4PhysicsTable.hh" #include "G4PhysicsVector.hh" #include "G4PhysicsLinearVector.hh" -#include "G4PhysicsLogVector.hh" -#include "G4Integrator.hh" -#include "G4Gamma.hh" // Initialization of local constants @@ -351,7 +342,7 @@ G4VParticleChange* G4VXTRenergyLoss::AlongStepDoIt( const G4Track& aTrack, if(iTkin == fTotBin) { meanNumOfTR = (*(*fEnergyDistrTable)(iPlace))(0)*chargeSq*distance ; - numOfTR = RandPoisson::shoot(meanNumOfTR) ; + numOfTR = G4Poisson(meanNumOfTR) ; } else { @@ -373,7 +364,7 @@ G4VParticleChange* G4VXTRenergyLoss::AlongStepDoIt( const G4Track& aTrack, (*(*fAngleDistrTable)(iPlace + 1))(0))*W2)*chargeSq*0.5 <GetDefinition() == G4PionMinus::PionMinus()) result=true; if(aParticle->GetDefinition() == G4PionPlus::PionPlus()) result=true; if(anElement->GetZ() == 1) result = false; + if(aParticle->GetKineticEnergy() > 999.9*GeV) result=false; return result; } G4double GetCrossSection(const G4DynamicParticle* aParticle, diff --git a/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc index 74567583f9..e4f41ced9e 100644 --- a/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ElectroNuclearCrossSection.cc,v 1.15 2002/12/12 19:16:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ElectroNuclearCrossSection.cc,v 1.16 2003/02/13 08:37:49 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Physics class: G4ElectroNuclearCrossSection for gamma+A cross sections @@ -2387,7 +2387,7 @@ G4double G4ElectroNuclearCrossSection::SolveTheEquation(G4double f) G4double fx=Fun(x); G4double df=DFun(x); G4double d=(fx-f)/df; - x=x-d; + x=x+d; #ifdef pdebug G4cout<<"SolveTheEq: i="< #include "G4HadronicProcess.hh" #include "G4EffectiveCharge.hh" +#include "G4NoModelFound.hh" //@@ add model name info, once typeinfo available #include @@ -89,8 +90,20 @@ G4Material *aMaterial = aTrack.GetMaterial(); G4double kineticEnergy = aParticle->GetKineticEnergy(); G4Element * anElement = ChooseAandZ( aParticle, aMaterial ); + try + { theInteraction = ChooseHadronicInteraction( kineticEnergy, aMaterial, anElement ); + } + catch(G4NoModelFound * it) + { + delete it; + G4cout << "Unrecoverable error for:"<ApplyYourself( aTrack, targetNucleus); for(G4int i=0; iGetNumberOfSecondaries(); i++) diff --git a/source/processes/hadronic/management/src/G4InelasticInteraction.cc b/source/processes/hadronic/management/src/G4InelasticInteraction.cc index 775bcbb275..f22150bb09 100644 --- a/source/processes/hadronic/management/src/G4InelasticInteraction.cc +++ b/source/processes/hadronic/management/src/G4InelasticInteraction.cc @@ -180,6 +180,7 @@ G4bool quasiElastic ) { what = originalIncident->GetMomentum(); + cache = 0; theReactionDynamics.ProduceStrangeParticlePairs( vec, vecLen, modifiedOriginal, originalTarget, currentParticle, targetParticle, diff --git a/source/processes/hadronic/models/cascade/pre_compound/include/G4PreEquilibrium.hh b/source/processes/hadronic/models/cascade/pre_compound/include/G4PreEquilibrium.hh index 85666b06bb..d74bdf07dd 100644 --- a/source/processes/hadronic/models/cascade/pre_compound/include/G4PreEquilibrium.hh +++ b/source/processes/hadronic/models/cascade/pre_compound/include/G4PreEquilibrium.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreEquilibrium.hh,v 1.9 2001/07/11 10:03:54 gunter Exp $ - // GEANT4 tag $Name: geant4-05-00 $ + // GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Pre-equilibrium HETC // Joseph L. Chuma, TRIUMF, 24-Mar-2000 diff --git a/source/processes/hadronic/models/cascade/pre_compound/src/G4PreEquilibrium.cc b/source/processes/hadronic/models/cascade/pre_compound/src/G4PreEquilibrium.cc index dfc04650a2..0523d09d2d 100644 --- a/source/processes/hadronic/models/cascade/pre_compound/src/G4PreEquilibrium.cc +++ b/source/processes/hadronic/models/cascade/pre_compound/src/G4PreEquilibrium.cc @@ -22,7 +22,7 @@ // // // $Id: G4PreEquilibrium.cc,v 1.9 2001/07/11 10:03:55 gunter Exp $ - // GEANT4 tag $Name: geant4-05-00 $ + // GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Pre-equilibrium HETC // Joseph L. Chuma, TRIUMF, 24-Mar-2000 diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh index 78c9323116..06ba3f5069 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh @@ -22,7 +22,7 @@ // // // $Id: G4Chips.hh,v 1.11 2002/12/12 19:14:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4Chips ---------------- // by Mikhail Kossov, September 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh index e3d55234c0..978848426f 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh @@ -22,7 +22,7 @@ // // // $Id: G4QCHIPSWorld.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCHIPSWorld ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh index d0266233fe..11f087f9f5 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh @@ -22,7 +22,7 @@ // // // $Id: G4QCandidate.hh,v 1.15 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidate ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh index 099e945b3f..ad8909845c 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QCandidateVector.hh,v 1.12 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh index fd99502cc1..d7241e79d2 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh @@ -22,7 +22,7 @@ // // // $Id: G4QChipolino.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QChipolino ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh index 84837b6380..41f7e278a3 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh @@ -22,7 +22,7 @@ // // // $Id: G4QContent.hh,v 1.15 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QContent ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh index 93961f5b45..5eab63968a 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh @@ -22,7 +22,7 @@ // // // $Id: G4QDecayChan.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QDecayChan ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh index b8cb925aa9..7955e852cf 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QDecayChanVector.hh,v 1.9 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh index 6b4c91464a..b65ab93961 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh @@ -22,7 +22,7 @@ // // // $Id: G4QEnvironment.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QEnvironment ---------------- // by Mikhail Kossov, August 2000. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh index 7954feac9f..a74a8f4584 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh @@ -22,7 +22,7 @@ // // // $Id: G4QHadron.hh,v 1.17 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QHadron ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh index 2fe71c5467..002cd6f0ab 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QHadronVector.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh index 7c770f6939..09ac9fb3b6 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh @@ -22,7 +22,7 @@ // // // $Id: G4QNucleus.hh,v 1.13 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QNucleus ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh index 5164afcb92..86dc1374fb 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh @@ -22,7 +22,7 @@ // // // $Id: G4QPDGCode.hh,v 1.12 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QPDGCode ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh index cb098159c8..7eac0ba9c2 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QPDGCodeVector.hh,v 1.9 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh index 087e24283a..77e9204635 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh @@ -22,7 +22,7 @@ // // // $Id: G4QParentCluster.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QParentCluster ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh index f417833c8d..d7b709f6f8 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QParentClusterVector.hh,v 1.9 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh index 8bb10c10ac..93746f8109 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh @@ -22,7 +22,7 @@ // // // $Id: G4QParticle.hh,v 1.11 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QParticle ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh index a588f149f9..761f6f962d 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QParticleVector.hh,v 1.9 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSelector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSelector.hh index 57ac0735c0..c648ea1333 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSelector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSelector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QSelector.hh,v 1.8 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QSelector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh index 6023abae14..53013c557b 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh @@ -14,15 +14,15 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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: G4Quasmon.hh,v 1.19.10.1 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Quasmon.hh,v 1.20 2002/12/12 13:25:52 mkossov Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4Quasmon ---------------- // by Mikhail Kossov, July 1999. @@ -80,6 +80,7 @@ public: void ClearOutput(); // Clear but not destroy the output void InitQuasmon(const G4QContent& qQCont, const G4LorentzVector& q4M); void IncreaseBy(const G4Quasmon* pQuasm); // as operator+= but by pointer + void ClearQuasmon(); // Clear Quasmon (status=0) void KillQuasmon(); // Kill Quasmon (status=0) private: @@ -161,7 +162,7 @@ inline void G4Quasmon::InitQuasmon(const G4QContent& qQCont, const G4LorentzVect status= 3; } -inline void G4Quasmon::KillQuasmon() +inline void G4Quasmon::ClearQuasmon() { static const G4QContent zeroQC(0,0,0,0,0,0); static const G4LorentzVector nothing(0.,0.,0.,0.); @@ -169,6 +170,15 @@ inline void G4Quasmon::KillQuasmon() valQ = zeroQC; q4Mom = nothing; status= 0; + G4std::for_each(theQCandidates.begin(), theQCandidates.end(), DeleteQCandidate()); + theQCandidates.clear(); + +} + +inline void G4Quasmon::KillQuasmon() +{ + ClearQuasmon(); + ClearOutput(); } #endif diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh index 33b6403259..4387d5aec8 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4QuasmonVector.hh,v 1.10 2002/12/12 19:14:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QuasmonVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc index 515fb9853c..a97cee7780 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc @@ -22,7 +22,7 @@ // // // $Id: G4QCHIPSWorld.cc,v 1.19 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCHIPSWorld ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc index ccb0316a3c..a61d752061 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc @@ -22,7 +22,7 @@ // // // $Id: G4QCandidate.cc,v 1.19 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QCandidate ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc index 948af326d7..f045889673 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc @@ -22,7 +22,7 @@ // // // $Id: G4QChipolino.cc,v 1.15 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QChipolino ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc index 34b70ccc36..1d6d439872 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc @@ -22,7 +22,7 @@ // // // $Id: G4QContent.cc,v 1.21 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QContent ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc index bf047604f1..0d513fd17e 100755 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc @@ -22,7 +22,7 @@ // // // $Id: G4QDecayChan.cc,v 1.15 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QDecayChan ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc index 829fb63842..86c2830a04 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc @@ -14,15 +14,15 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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: G4QEnvironment.cc,v 1.46.4.1 2002/12/12 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4QEnvironment.cc,v 1.48 2002/12/13 08:19:32 mkossov Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------- G4QEnvironment ---------------- // by Mikhail Kossov, August 2000. @@ -44,7 +44,7 @@ G4QEnvironment::G4QEnvironment(const G4QHadronVector& projHadrons, const G4int t { G4cerr<<"***G4QEnvironment: a#of INPUT QHadrons="<GetStatus(); // Old status of the Quasmon - if(status) // Skip dead Quasmons + G4Quasmon* pQ = theQuasmons[jq]; // Pointer to the current Quasmon <--<--<--<--<-+ + G4int status = pQ->GetStatus(); // Old status of the Quasmon ^ + if(status) // Skip dead Quasmons ^ { - G4QHadronVector* output=pQ->Fragment(theEnvironment,eCount);//**!!DESTROY!!** <------+ - status = pQ->GetStatus(); // New status after fragmentation attempt ^ + G4QHadronVector* output=pQ->Fragment(theEnvironment,eCount);//**!!DESTROY!!** <------^-+ + status = pQ->GetStatus(); // New status after fragmentation attempt ^ ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQE: **FragmAttempt** jq="< "Suck the Hadron in Quasm or Env" case ^ ^ { - if(status) // => "Suck in the existing Quasmon" case ^ + if(status) // => "Suck in the existing Quasmon" case ^ ^ { - G4QContent tQC=inpH->GetQC()+pQ->GetQC(); // ^ - G4LorentzVector tLV=hLV+pQ->Get4Momentum();// ^ - pQ->InitQuasmon(tQC,tLV); // Reinitialize the current Quasmon ^ + G4QContent tQC=inpH->GetQC()+pQ->GetQC(); // ^ ^ + G4LorentzVector tLV=hLV+pQ->Get4Momentum();// ^ ^ + pQ->InitQuasmon(tQC,tLV); // Reinitialize the current Quasmon ^ ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQE:Medium, H#"< "Suck in the existing Quasmon" case ^ + else // => "Suck in the existing Quasmon" case ^ ^ { - G4QContent tQC=inpH->GetQC()+theEnvironment.GetQCZNS();// ^ - G4LorentzVector tLV=hLV+theEnvironment.Get4Momentum(); // ^ - theEnvironment=G4QNucleus(tQC,tLV); // Reinit the current Environment ^ + G4QContent tQC=inpH->GetQC()+theEnvironment.GetQCZNS();// ^ ^ + G4LorentzVector tLV=hLV+theEnvironment.Get4Momentum(); // ^ ^ + theEnvironment=G4QNucleus(tQC,tLV); // Reinit the current Environment ^ ^ #ifdef pdebug G4cout<<"G4QEnv::HadrQE:Medium, H#"<Get4Momentum()<<" is sucked in Environment"< "Hadron can go out" case ^ + else if(!hF) // => "Hadron can go out" case ^ ^ { - G4QHadron* curH = new G4QHadron(inpH); // ^ + G4QHadron* curH = new G4QHadron(inpH); // ^ ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQE:Medium, H#"< "PANIC or NOTHING was done" case ^ { - //if(eCount==1 && CheckGroundState(pQ,true)) // ^ - if(eCount==1 && CheckGroundState(pQ)) // ^ + //if(eCount==1 && CheckGroundState(pQ,true)) // ^ + if(eCount==1 && CheckGroundState(pQ)) // ^ { - pQ->KillQuasmon(); // If BackFusion succeeded, kill the Quasmon ^ - return theQHadrons; + G4std::for_each(output->begin(), output->end(), DeleteQHadron()); // >-------------^ + output->clear(); // ^ + delete output; // >==========================================^ + pQ->KillQuasmon(); // If BackFusion succeeded, kill the Quasmon ^ + return theQHadrons; // ^ } - if(status<0&&nHadrons) + if(status<0&&nHadrons) // ^ { - G4cerr<<"***G4QEnv::HadrQE: nH="<Get4Momentum()+theEnvironment.Get4Momentum(); // ^ - G4double tM=t4M.m(); // Real total (with environment) mass ^ - G4QContent qQC= pQ->GetQC(); // QuarkContent of the Quasmon ^ - G4QContent envQC=theEnvironment.GetQCZNS(); // QuarkCont of NucEnviron ^ - G4QContent curQC=envQC+qQC; // Total Quark Content ^ - G4QNucleus curE(curQC); // Pseudo nucleus for the Total System ^ - G4double curM=curE.GetMZNS();// min mass of the Total System ^ + G4LorentzVector t4M=pQ->Get4Momentum()+theEnvironment.Get4Momentum(); // ^ + G4double tM=t4M.m(); // Real total (with environment) mass ^ + G4QContent qQC= pQ->GetQC(); // QuarkContent of the Quasmon ^ + G4QContent envQC=theEnvironment.GetQCZNS(); // QuarkCont of NucEnviron ^ + G4QContent curQC=envQC+qQC; // Total Quark Content ^ + G4QNucleus curE(curQC); // Pseudo nucleus for the Total System ^ + G4double curM=curE.GetMZNS();// min mass of the Total System ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQEnv:#"< gstM="< gstM="<Get4Momentum(); // 4Mom for the Quasmon ^ - G4QPDGCode QPDGQ=pQ->GetQPDG();// QPDG Code for the Quasmon ^ - G4int PDGQ=QPDGQ.GetPDGCode(); // PDG Code of the QUASMON ^ + G4LorentzVector t4M=pQ->Get4Momentum(); // 4Mom for the Quasmon ^ + G4QPDGCode QPDGQ=pQ->GetQPDG();// QPDG Code for the Quasmon ^ + G4int PDGQ=QPDGQ.GetPDGCode(); // PDG Code of the QUASMON ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQEnv: vacuum PDGQ="< gsM="< gsM="<KillQuasmon(); // Make done the current Quasmon ^ + G4QHadron* resQ = new G4QHadron(PDGQ,t4M); // ^ + theQHadrons.push_back(resQ); // @@ Check Dibarions @@ (delete equivalent) ^ + pQ->KillQuasmon(); // Make done the current Quasmon ^ } - else if(qMKillQuasmon(); - // return theQHadrons; + // G4std::for_each(output->begin(), output->end(), DeleteQHadron()); // >---------^ + // output->clear(); // ^ + // delete output; // >======================================^ + // pQ->KillQuasmon(); ^ + // return theQHadrons; ^ //} - G4int ppm=jq; // Initialized by PANIC Quasmon pointer ^ - G4int nRQ=0; // Prototype of a#of additional real Quasmons ^ + G4int ppm=jq; // Initialized by PANIC Quasmon pointer ^ + G4int nRQ=0; // Prototype of a#of additional real Quasmons ^ #ifdef pdebug - G4cout<<"G4QEnv::HadrQEnv: ***PANIC*** for jq="<begin(), output->end(), DeleteQHadron()); // >---------------^ - output->clear(); // ^ - delete output; // >============================================^ - } - } // End of fragmentation LOOP over Quasmons (jq) + G4std::for_each(output->begin(), output->end(), DeleteQHadron()); // >-->-->-----^ + output->clear(); // ^ + delete output; // >========================================^ + force=true; // Make the force decision ^ + break; // Out of the fragmentation loop >->+ ^ + } // | ^ + } // | ^ + } // | ^ + G4std::for_each(output->begin(), output->end(), DeleteQHadron()); // >---|-------------^ + output->clear(); // | ^ + delete output; // >================================|=============^ + } // | + } // End of fragmentation LOOP over Quasmons (jq) <---------<----------<-----+ } else if(totMass>totM+.001) // ==> "Try Evaporation or decay" case { @@ -1419,29 +1431,28 @@ G4QHadronVector G4QEnvironment::HadronizeQEnvironment() { G4Quasmon* resid = new G4Quasmon(totQC,tot4M); // delete is 3 lines below <-+ G4QNucleus vacuum(90000000); // ^ - G4QHadronVector* curout=resid->Fragment(vacuum,1);//**!!DESTROY!!** <-+ ^ - delete resid; //_______________________________^_____^ - G4int nHadrons = curout->size(); // a#of Hadrons in the outHV ^ - if(nHadrons>0) // Transfer QHadrons to Output ^ + G4QHadronVector* curout=resid->Fragment(vacuum,1);//**!!DESTROY!!** <-<-+ ^ + delete resid; //_________________________________^___^ + G4int nHadrons = curout->size(); // a#of Hadrons in the outHV ^ + if(nHadrons>0) // Transfer QHadrons to Output ^ { - for (G4int ih=0; ihoperator[](ih)); // ^ + for (G4int ih=0; ihbegin(), curout->end(), DeleteQHadron());// >-^ - curout->clear(); // ^ - delete curout; // >=============================^ + G4Exception("G4QEnvironment::HadronizeQEnv: Quasmon doesn't decay");//^ + } // *** Do not destroy instances ***^ + curout->clear(); // The instances are filled above ^ + delete curout; // >===============================^ return theQHadrons; } } @@ -2130,6 +2141,7 @@ void G4QEnvironment::EvaporateResidual(G4QHadron* qH, G4bool corFlag) } else { + delete qH; G4cerr<<"***G4QEnv::EvaRes: IdPDG="<Set4Momentum(cH4Mom); prevHadr->Set4Momentum(pH4Mom); } -#ifdef pdebug + //#ifdef pdebug else { G4cerr<<"*!*G4QE::Fr: Cann't correct "<"<=limit && nQ0.) quasM = sqrt(qM2); // Update the Current Mass of Quasmon + else + { + if(qM2<-.0001)G4cerr<<"**G4Q::HQ: Phot.mass2 M2="<minK="<minSqN+.01&&(sPDG<80000000||tM>rtM)&&!hsflag)// Mass(RQ)>M_min && Mass(RNucleus)>M_min + if((kt>minSqT+.01&&sPDG<80000000 || kn>minSqN+.01&&tM>rtM)&&!hsflag) // M(RQ), Ma(RNucl)>M_min + //if(kn>minSqN+.01&&(sPDG<80000000||tM>rtM)&&!hsflag)// Mass(RQ)>M_min && Mass(RNucleus)>M_min //if(kt>minSqB+.01&&(sPDG<80000000||tM>rtM)&&!hsflag)// Mass(RQ)>M_min && Mass(RNucleus)>M_min //if(kt>minSqT+.01&&(sPDG<80000000||tM>rtM)&&!hsflag)// Mass(RQ)>M_min && Mass(RNucleus)>M_min //if((kt>minSqT+.01||sMass<1200.)&&tM>rtM&&!hsflag)// Mass(RQ)>M_min && Mass(RNucleus)>M_min @@ -1650,7 +1656,7 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms) // @@@ ^^^^^^^^^^^^^^^^^^^^ G4QHadron* curHadr2 = new G4QHadron(sPDG,s4Mom); // Creation Hadron for a Candidate FillHadronVector(curHadr2); // Fill "new curHadr2" (delete equivalent) - KillQuasmon(); // This Quasmon is done + ClearQuasmon(); // This Quasmon is done qEnv=theEnvironment; // Update the QEnvironment return theQHadrons; // The last decay of the quasmon... } @@ -1803,7 +1809,7 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms) G4QHadron* candH = new G4QHadron(sPDG,fr4Mom);// Create a Hadron for the Candidate FillHadronVector(candH); // Fill CandiFragm Hadron (delete equivalent) FillHadronVector(resQH); // Fill ResidQuasm Hadron (delete equivalent) - KillQuasmon(); // This Quasmon is done + ClearQuasmon(); // This Quasmon is done return theQHadrons; // The last decay of the quasmon... } } @@ -1822,7 +1828,7 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms) status=1; // Something was successfuly done phot4M=zeroLV; // === Check of boundary to escape not existing state of residual nucleus === - if(CheckGroundState()) KillQuasmon(); // This Quasmon is done + if(CheckGroundState()) ClearQuasmon(); // This Quasmon is done //if(CheckGroundState(true)) KillQuasmon(); // This Quasmon is done qEnv=theEnvironment; return theQHadrons; // The last decay of the quasmon... @@ -1850,7 +1856,7 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms) G4LorentzVector dif2=tot4M-retN4Mom-fr4Mom; G4cout<<"G4Q::HQ:sM="<>>G4Quasmon::HadrQ:EmergencyHadron="<80000000 && (thePDG==90002999 || thePDG==89999003 || thePDG==90003999 || - // thePDG==89999004 || thePDG==90003998 || thePDG==89998004 || - // thePDG==90004998 || thePDG==89998005) && !DecayOutHadron(qH)) - //{ -#ifdef tdebug - // G4cout<<"G4Quasmon::FillHadronVector: Decay of isonuclear state, PDGcode= "<80000000&&thePDG!=90000000) // === Decay-Evaporation of the BarionicFragment === { - G4double fragMas=qH->GetMass(); // Real Mass of the nuclear fragment + G4double fragMas=t.m(); // Real Mass of the nuclear fragment + //G4double fragMas=qH->GetMass(); // Nominal Mass of the nuclear fragment (wrong?) G4QNucleus qNuc(t,thePDG); // Make a Nucleus out of the Hadron G4double GSMass =qNuc.GetGSMass(); // GrState Mass of the nuclear fragment G4QContent totQC=qNuc.GetQCZNS(); // Total Quark Content of Residual Nucleus @@ -2692,7 +2691,7 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH) G4int nZ =qNuc.GetZ(); // A#of protons in the Nucleus G4int nS =qNuc.GetS(); // A#of protons in the Nucleus G4int bA =qNuc.GetA(); // A#of baryons in the Nucleus -#ifdef pdebug +#ifdef tdebug G4cout<<"G4Quasm::FillHadrVect: Nucl="<0) // => "Anti-strangeness or ISOBAR" case @@ -2746,7 +2745,7 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH) G4QHadron* H2 = new G4QHadron(PDG2,qe4M); FillHadronVector(H2); // (delete equivalent) } - else if(m1+m2-fragMas<0.01) // Split the 4-momentum + else if(fabs(m1+m2-fragMas)<0.01) // Split the 4-momentum { G4double r1=m1/fragMas; G4double r2=1.-r1; @@ -2762,14 +2761,14 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH) } else { - G4cerr<<"***G4Quasm::FillHadrVec: PDG="<Set4Momentum(b4Mom); - theQHadrons.push_back(qH); // Fill corrected baryon in the HadronVector + FillHadronVector(HadrB); // Fill gamma/Pi0 Hadron (delete equivalent) + qH->Set4Momentum(b4Mom); // Put the new 4-mom in the residual GS fragment + theQHadrons.push_back(qH); // Fill corrected baryon in the HadronVector } } - else // ===> Evaporation of excited system + else // ===> Evaporation of excited system { -#ifdef pdebug +#ifdef tdebug G4cout<<"G4Quasm::FillHadrVect:Evaporate "< GS="<>>>"<(aTargetNucleus.GetZ()+.1); @@ -107,7 +108,11 @@ ApplyYourself(const G4Track& aTrack, G4Nucleus& aTargetNucleus) // Note: high energy gamma nuclear now implemented. G4double xSec = theElectronData.GetCrossSection(theElectron, anElement); // Check cross section - if(xSec<=0.) return &theResult; // DO-NOTHING condition + if(xSec<=0.) + { + theResult.Initialize(aTrack); + return &theResult; // DO-NOTHING condition + } G4double photonEnergy = theElectronData.GetEquivalentPhotonEnergy(); G4double theElectronKinEnergy=theElectron->GetKineticEnergy(); if( theElectronKinEnergy < photonEnergy ) @@ -117,7 +122,16 @@ ApplyYourself(const G4Track& aTrack, G4Nucleus& aTargetNucleus) } G4double photonQ2 = theElectronData.GetEquivalentPhotonQ2(photonEnergy); G4double W=photonEnergy-photonQ2/dM; // Hadronic energy flow (W-energy) from the virtual photon - if(W<0.) G4Exception("G4ElectroNuclearReaction::ApplyYourself: negative equivalent energy"); + if(getenv("debug_G4ElectroNuclearReaction") ) + { + G4cout << "G4ElectroNuclearReaction: Equivalent Energy = "<-* @@ -128,8 +142,12 @@ ApplyYourself(const G4Track& aTrack, G4Nucleus& aTargetNucleus) G4double rndFraction = theElectronData.GetVirtualFactor(photonEnergy, photonQ2); if(sigNu*G4UniformRand()>sigK*rndFraction) { + theResult.Initialize(aTrack); return &theResult; // DO-NOTHING condition } + theResult.Initialize(aTrack); + theResult.Clear(); + theResult.SetStatusChange(fAlive); // Scatter an electron and make gamma+A reaction G4double iniE=theElectronKinEnergy+me; // Initial total energy of electron G4double finE=iniE-photonEnergy; // Final total energy of electron @@ -156,6 +174,7 @@ ApplyYourself(const G4Track& aTrack, G4Nucleus& aTargetNucleus) //G4DynamicParticle localGamma(G4Gamma::GammaDefinition(), photonLorentzVector); G4ThreeVector position(0,0,0); G4Track localTrack(&localGamma, 0., position); + localTrack.SetStep(aTrack.GetStep()); G4VParticleChange * result; if(photonEnergy < 3*GeV) { @@ -163,6 +182,7 @@ ApplyYourself(const G4Track& aTrack, G4Nucleus& aTargetNucleus) } else { + // G4cout << "0) Getting a high energy electro-nuclear reaction"<SetTransport(theCascade); theHEModel->SetHighEnergyGenerator(&theStringModel); theStringDecay = new G4ExcitedStringDecay(&theFragmentation); diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4GammaNuclearReaction.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4GammaNuclearReaction.hh index 74ee6567c7..ba86c0b4fe 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4GammaNuclearReaction.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4GammaNuclearReaction.hh @@ -22,7 +22,7 @@ // // // $Id: G4GammaNuclearReaction.hh,v 1.9 2002/12/12 19:16:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT4 physics class: G4GammaNuclearReaction -- header file diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaCoulombBarrier.hh index a7c82431bc..3c6d0445b6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaCoulombBarrier.hh,v 1.5 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationChannel.hh index 0c41a87f8c..9a41e2f0f1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaEvaporationChannel.hh,v 1.5 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationProbability.hh index aa9754c7f2..5387a5d6ff 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaEvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaEvaporationProbability.hh,v 1.5 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMChannel.hh index 66464b569b..951223a03f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaGEMChannel.hh,v 1.1 2002/06/06 17:37:06 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMProbability.hh index b604b07c48..9a6e211eb5 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4AlphaGEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaGEMProbability.hh,v 1.1 2002/06/06 17:37:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMChannel.hh index 61cca3054f..d9bf89edf2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4B10GEMChannel.hh,v 1.1 2002/06/06 17:37:09 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMCoulombBarrier.hh index 2b5a99031e..ed7c33e8ce 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4B10GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMProbability.hh index 706722300c..e809651ae5 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B10GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4B10GEMProbability.hh,v 1.1 2002/06/06 17:37:11 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMChannel.hh index ffd0404d9c..4148565998 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4B11GEMChannel.hh,v 1.1 2002/06/06 17:37:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMCoulombBarrier.hh index ac10489f91..190adabf0b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4B11GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMProbability.hh index bce354ee82..5e52580ec3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B11GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4B11GEMProbability.hh,v 1.1 2002/06/06 17:37:15 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMChannel.hh index be58666f8f..037c1c27fd 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4B12GEMChannel.hh,v 1.1 2002/06/06 17:37:16 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMCoulombBarrier.hh index e2697ed402..34efb97a6b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4B12GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMProbability.hh index 4312d4a09a..149b647b01 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B12GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4B12GEMProbability.hh,v 1.1 2002/06/06 17:37:18 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMChannel.hh index e46c224125..0dd0478994 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4B13GEMChannel.hh,v 1.1 2002/06/06 17:37:19 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMCoulombBarrier.hh index 5ef3029e88..39b3097984 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4B13GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMProbability.hh index 1cec365809..e97cbe5875 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B13GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4B13GEMProbability.hh,v 1.1 2002/06/06 17:37:23 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMChannel.hh index 1260495adf..344bfb4389 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4B8GEMChannel.hh,v 1.1 2002/06/06 17:37:24 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMCoulombBarrier.hh index aa08601d75..53b5a4ff72 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4B8GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMProbability.hh index a56d2c2b1a..c7a22cb739 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B8GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4B8GEMProbability.hh,v 1.1 2002/06/06 17:37:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4B9FermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4B9FermiFragment.hh index 8b636ac589..ed06c185dc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4B9FermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4B9FermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4B9FermiFragment.hh,v 1.6 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMChannel.hh index 302c9f119e..7d5e0f5ba5 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be10GEMChannel.hh,v 1.1 2002/06/06 17:39:25 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMCoulombBarrier.hh index 274a1d5cac..4f4c8a81b3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be10GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMProbability.hh index d03ecdc96a..69c3f88239 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be10GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be10GEMProbability.hh,v 1.1 2002/06/06 17:39:28 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMChannel.hh index f0dc715308..7f8d0903de 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be11GEMChannel.hh,v 1.1 2002/06/06 17:39:30 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMCoulombBarrier.hh index 05d4d1520d..8a6cccec51 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be11GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMProbability.hh index ed43ce956a..7b29e812e4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be11GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be11GEMProbability.hh,v 1.1 2002/06/06 17:39:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMChannel.hh index 4734fa3ae4..8d8d7ece7b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be12GEMChannel.hh,v 1.1 2002/06/06 17:39:34 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMCoulombBarrier.hh index 85c48c65c3..eec6f5406a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be12GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMProbability.hh index 52540d4d8e..d3041aa01d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be12GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be12GEMProbability.hh,v 1.1 2002/06/06 17:39:36 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMChannel.hh index cf9ca8e395..c642529334 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be7GEMChannel.hh,v 1.1 2002/06/06 17:39:37 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMCoulombBarrier.hh index 0140de0ae4..0e2986181b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be7GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMProbability.hh index 7dfa13f1d4..d2eebe1d63 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be7GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be7GEMProbability.hh,v 1.1 2002/06/06 17:39:40 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be8FermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be8FermiFragment.hh index 3228f189e2..197229deab 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be8FermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be8FermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be8FermiFragment.hh,v 1.6 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMChannel.hh index f3a8fa19fc..b2f8b7766e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be9GEMChannel.hh,v 1.1 2002/06/06 17:40:20 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMCoulombBarrier.hh index d43b42e020..c233826ee6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be9GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMProbability.hh index c0fd8b6714..137bcb4c34 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Be9GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Be9GEMProbability.hh,v 1.1 2002/06/06 17:40:22 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMChannel.hh index 6ababd903a..5d2323d06e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C10GEMChannel.hh,v 1.1 2002/06/06 17:40:23 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMCoulombBarrier.hh index 914dbe8601..f186d28c34 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C10GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMProbability.hh index 89cccae7a3..8234a6d476 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C10GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C10GEMProbability.hh,v 1.1 2002/06/06 17:40:25 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMChannel.hh index 209f2fe5e7..d1fba81082 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C11GEMChannel.hh,v 1.1 2002/06/06 17:40:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMCoulombBarrier.hh index 97c5d036ff..3cef5b2f92 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C11GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMProbability.hh index 9402c0e198..c9261d5d49 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C11GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C11GEMProbability.hh,v 1.1 2002/06/06 17:40:28 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMChannel.hh index 808991bb89..e57b301b83 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C12GEMChannel.hh,v 1.1 2002/06/06 17:40:29 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMCoulombBarrier.hh index ab8f858d19..3edaeb0113 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C12GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMProbability.hh index caedee4d92..7c13894700 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C12GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C12GEMProbability.hh,v 1.1 2002/06/06 17:40:31 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMChannel.hh index f6561277df..e1ba9eabf9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C13GEMChannel.hh,v 1.1 2002/06/06 17:40:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMCoulombBarrier.hh index 429e77ff6c..8936cba428 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C13GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMProbability.hh index 48057a0a8e..111b5024eb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C13GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C13GEMProbability.hh,v 1.1 2002/06/06 17:40:35 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMChannel.hh index 8051c3a890..565d112c99 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C14GEMChannel.hh,v 1.1 2002/06/06 17:40:36 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMCoulombBarrier.hh index b382e0d4f2..bb461d3323 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C14GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMProbability.hh index 21bc88b319..697a7eaa70 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C14GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C14GEMProbability.hh,v 1.1 2002/06/06 17:40:39 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMChannel.hh index a3d84e0a80..ca502f4202 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C15GEMChannel.hh,v 1.1 2002/06/06 17:40:40 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMCoulombBarrier.hh index d056a72842..524a2f1d97 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C15GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMProbability.hh index cd2c2ac9af..4c105485be 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C15GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C15GEMProbability.hh,v 1.1 2002/06/06 17:40:42 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMChannel.hh index 64663f1506..e0dc1ceecb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4C16GEMChannel.hh,v 1.1 2002/06/06 17:40:43 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMCoulombBarrier.hh index 67c2a30bde..e3daa6aa0b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4C16GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMProbability.hh index 0b00c560c6..38c7496bd0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4C16GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4C16GEMProbability.hh,v 1.1 2002/06/06 17:40:46 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertPairingCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertPairingCorrections.hh index 9c45b184f6..a529728096 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertPairingCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertPairingCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CameronGilbertPairingCorrections.hh,v 1.8 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertShellCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertShellCorrections.hh index b0c78e449b..989114dc53 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertShellCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronGilbertShellCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CameronGilbertShellCorrections.hh,v 1.8 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronShellPlusPairingCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronShellPlusPairingCorrections.hh index 43b686aad1..29414f2ed6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronShellPlusPairingCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronShellPlusPairingCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CameronShellPlusPairingCorrections.hh,v 1.9 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfPairingCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfPairingCorrections.hh index 342821370f..c44e402f20 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfPairingCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfPairingCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CameronTruranHilfPairingCorrections.hh,v 1.8 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfShellCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfShellCorrections.hh index c4f636a50e..4c11005a4f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfShellCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CameronTruranHilfShellCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CameronTruranHilfShellCorrections.hh,v 1.8 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CompetitiveFission.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CompetitiveFission.hh index 2797a69fec..f44dab31eb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CompetitiveFission.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CompetitiveFission.hh @@ -22,7 +22,7 @@ // // // $Id: G4CompetitiveFission.hh,v 1.9 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ConstantLevelDensityParameter.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ConstantLevelDensityParameter.hh index 87f0fb9e2a..37f242cc0e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ConstantLevelDensityParameter.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ConstantLevelDensityParameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4ConstantLevelDensityParameter.hh,v 1.6 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations (photon evaporation) // by C. Dallapiccola (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ContinuumGammaDeexcitation.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ContinuumGammaDeexcitation.hh index e01996aa21..af7732bd9b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ContinuumGammaDeexcitation.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ContinuumGammaDeexcitation.hh @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -49,7 +49,8 @@ #include "G4ContinuumGammaTransition.hh" #include "G4Fragment.hh" -#include "G4NuclearLevelManager.hh" + +class G4NuclearLevelManager; class G4ContinuumGammaDeexcitation : public G4VGammaDeexcitation { @@ -73,9 +74,7 @@ private: G4int _nucleusZ; G4int _nucleusA; - G4NuclearLevelManager _levelManager; - - + G4NuclearLevelManager * _levelManager; }; #endif diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CookPairingCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CookPairingCorrections.hh index a322db8a3a..15187e1dcb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CookPairingCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CookPairingCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CookPairingCorrections.hh,v 1.3 2002/06/07 15:53:50 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CookShellCorrections.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CookShellCorrections.hh index 2e487e88af..1776ba6cad 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CookShellCorrections.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CookShellCorrections.hh @@ -22,7 +22,7 @@ // // // $Id: G4CookShellCorrections.hh,v 1.3 2002/06/07 15:53:50 jwellisc Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4CoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4CoulombBarrier.hh index 6533cf716f..2f89cfb66b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4CoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4CoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4CoulombBarrier.hh,v 1.6 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronCoulombBarrier.hh index dfed173170..76fa07e40c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronCoulombBarrier.hh,v 1.4 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationChannel.hh index f772399456..859099ead3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronEvaporationChannel.hh,v 1.5 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationProbability.hh index e505e15ddf..bff501b869 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronEvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronEvaporationProbability.hh,v 1.5 2002/12/12 19:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMChannel.hh index f7006fee10..3071ef8c6d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronGEMChannel.hh,v 1.1 2002/06/06 17:41:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMProbability.hh index 89245d3e8b..d5e085061e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DeuteronGEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronGEMProbability.hh,v 1.1 2002/06/06 17:41:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4DiscreteGammaDeexcitation.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4DiscreteGammaDeexcitation.hh index 14acc649cb..3097d51eab 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4DiscreteGammaDeexcitation.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4DiscreteGammaDeexcitation.hh @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -56,40 +56,42 @@ #include "G4DiscreteGammaTransition.hh" #include "G4Fragment.hh" -#include "G4NuclearLevelManager.hh" + + +class G4NuclearLevelManager; class G4DiscreteGammaDeexcitation : public G4VGammaDeexcitation { public: - // Constructor - G4DiscreteGammaDeexcitation(); + // Constructor + G4DiscreteGammaDeexcitation(); - // Destructor - ~G4DiscreteGammaDeexcitation(); + // Destructor + ~G4DiscreteGammaDeexcitation(); - // Functions + // Functions public: - virtual G4VGammaTransition * CreateTransition(); + virtual G4VGammaTransition * CreateTransition(); - virtual G4bool CanDoTransition() const; + virtual G4bool CanDoTransition() const; - void SetICM(G4bool hl) { _icm = hl; }; + void SetICM(G4bool hl) { _icm = hl; }; - void SetRDM(G4bool hl) { _rdm = hl; }; + void SetRDM(G4bool hl) { _rdm = hl; }; - void SetHL(G4double hl) { _max_hl = hl; }; + void SetHL(G4double hl) { _max_hl = hl; }; private: - G4int _nucleusZ; - G4int _nucleusA; - G4double _tolerance; - G4double _max_hl; - G4bool _icm; - G4bool _rdm; - G4NuclearLevelManager _levelManager; + G4int _nucleusZ; + G4int _nucleusA; + G4double _tolerance; + G4double _max_hl; + G4bool _icm; + G4bool _rdm; + G4NuclearLevelManager * _levelManager; }; diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Evaporation.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Evaporation.hh index 44e8099472..4d037da896 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Evaporation.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Evaporation.hh @@ -22,7 +22,7 @@ // // // $Id: G4Evaporation.hh,v 1.12 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationChannel.hh index f7b3d0d7ae..90960b8925 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationChannel.hh,v 1.10 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationFactory.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationFactory.hh index 7b90032eeb..ac63109fa7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationFactory.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationFactory.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationFactory.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationGEMFactory.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationGEMFactory.hh index edd407f0e1..fceaaf6f06 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationGEMFactory.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationGEMFactory.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationGEMFactory.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationLevelDensityParameter.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationLevelDensityParameter.hh index df29098e93..f14646457a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationLevelDensityParameter.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationLevelDensityParameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationLevelDensityParameter.hh,v 1.8 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationProbability.hh index 2908908bdd..3c273b8ed0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4EvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationProbability.hh,v 1.7 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ExcitationHandler.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ExcitationHandler.hh index 4b4a5ae9a3..9fcee4e97f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ExcitationHandler.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ExcitationHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitationHandler.hh,v 1.11 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMChannel.hh index 155ccba570..4bf5a53b45 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4F17GEMChannel.hh,v 1.1 2002/06/06 17:41:46 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMCoulombBarrier.hh index 8237b511c5..9df1c89432 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4F17GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMProbability.hh index a9be4bf15e..bc841275cd 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F17GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4F17GEMProbability.hh,v 1.1 2002/06/06 17:41:48 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMChannel.hh index 7e47a01adf..1561b10f12 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4F18GEMChannel.hh,v 1.1 2002/06/06 17:41:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMCoulombBarrier.hh index d099699c97..1c93bfddae 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4F18GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMProbability.hh index a3ba3a0bd6..791a4b8956 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F18GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4F18GEMProbability.hh,v 1.1 2002/06/06 17:41:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMChannel.hh index 8d4a980547..d70101f80d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4F19GEMChannel.hh,v 1.1 2002/06/06 17:41:52 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMCoulombBarrier.hh index 5cffcac5bb..d9aa193636 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4F19GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMProbability.hh index 377b0926b1..4fc6876382 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F19GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4F19GEMProbability.hh,v 1.1 2002/06/06 17:41:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMChannel.hh index 7369fd0835..507ed83474 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4F20GEMChannel.hh,v 1.1 2002/06/06 17:41:56 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMCoulombBarrier.hh index f917cba6b0..d89974bc0d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4F20GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMProbability.hh index e576a48f8d..b310152267 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F20GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4F20GEMProbability.hh,v 1.1 2002/06/06 17:41:58 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMChannel.hh index 6b3fb64c72..31d3427223 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4F21GEMChannel.hh,v 1.1 2002/06/06 17:42:00 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMCoulombBarrier.hh index e6d9293629..6e885ce785 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4F21GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMProbability.hh index 6c2d09b0a3..13f921b7b9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4F21GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4F21GEMProbability.hh,v 1.1 2002/06/06 17:42:02 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiBreakUp.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiBreakUp.hh index 46850d06b5..e4a3e08599 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiBreakUp.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiBreakUp.hh @@ -22,7 +22,7 @@ // // // $Id: G4FermiBreakUp.hh,v 1.8 2002/12/12 19:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfiguration.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfiguration.hh index e51e225d49..6e5e286d02 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfiguration.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfiguration.hh @@ -22,7 +22,7 @@ // // // $Id: G4FermiConfiguration.hh,v 1.10 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfigurationList.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfigurationList.hh index dfaeb6601f..0fd6e6b81c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfigurationList.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FermiConfigurationList.hh @@ -22,7 +22,7 @@ // // // $Id: G4FermiConfigurationList.hh,v 1.7 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionBarrier.hh index 4da720a485..07bf7ca69c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4FissionBarrier.hh,v 1.7 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionLevelDensityParameter.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionLevelDensityParameter.hh index 4e5e6925db..e60f0ccb1c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionLevelDensityParameter.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionLevelDensityParameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4FissionLevelDensityParameter.hh,v 1.7 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionParameters.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionParameters.hh index 6b79679271..082aa0890e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionParameters.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4FissionParameters.hh,v 1.7 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionProbability.hh index 33a9bb8235..ffe589b5fa 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4FissionProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4FissionProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4FissionProbability.hh,v 1.7 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4GEMChannel.hh index 7bf9b2dc1b..ef99398c6b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4GEMChannel.hh,v 1.3 2002/11/12 02:10:57 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4GEMCoulombBarrierHE.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4GEMCoulombBarrierHE.hh index 174b963fac..bcc4bd3217 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4GEMCoulombBarrierHE.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4GEMCoulombBarrierHE.hh @@ -22,7 +22,7 @@ // // // $Id: G4GEMCoulombBarrierHE.hh,v 1.2 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He3CoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He3CoulombBarrier.hh index cea3e62f04..3859557aec 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He3CoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He3CoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3CoulombBarrier.hh,v 1.4 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationChannel.hh index c46a960273..4de7c386a6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3EvaporationChannel.hh,v 1.5 2002/12/12 19:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationProbability.hh index c8c2b52d20..6902688b71 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He3EvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3EvaporationProbability.hh,v 1.5 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMChannel.hh index 2d51d6e273..7bd0572eb3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3GEMChannel.hh,v 1.1 2002/06/06 17:43:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMProbability.hh index 5535c57322..a231bf8ec4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He3GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4He3GEMProbability.hh,v 1.1 2002/06/06 17:43:09 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He5FermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He5FermiFragment.hh index 3ac5b49465..56667dea62 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He5FermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He5FermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4He5FermiFragment.hh,v 1.6 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMChannel.hh index 390bcb8c08..cbb5725458 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4He6GEMChannel.hh,v 1.1 2002/06/06 17:43:10 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMCoulombBarrier.hh index efa562cb23..5599384f25 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4He6GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMProbability.hh index 0a72242501..93d0e2932b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He6GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4He6GEMProbability.hh,v 1.1 2002/06/06 17:43:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMChannel.hh index bd74b805b6..20c3ed5394 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4He8GEMChannel.hh,v 1.1 2002/06/06 17:43:14 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMCoulombBarrier.hh index 4283adbce0..147fd2b388 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4He8GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMProbability.hh index 1df9b4b0d0..c4c95dce5d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4He8GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4He8GEMProbability.hh,v 1.1 2002/06/06 17:43:16 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li5FermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li5FermiFragment.hh index d03cb82af7..7046198896 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li5FermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li5FermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li5FermiFragment.hh,v 1.6 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMChannel.hh index f37a711d4a..f18dabe5d8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li6GEMChannel.hh,v 1.1 2002/06/06 17:48:45 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMCoulombBarrier.hh index 8692c4bd76..40ad8af94f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li6GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMProbability.hh index 8d4643afcf..7b47a598ce 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li6GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li6GEMProbability.hh,v 1.1 2002/06/06 17:48:48 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMChannel.hh index 762e4bb7d6..220e2b30c1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li7GEMChannel.hh,v 1.1 2002/06/06 17:48:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMCoulombBarrier.hh index 40cc5fabac..312425c818 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li7GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMProbability.hh index b56042c660..bdc6d5e03d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li7GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li7GEMProbability.hh,v 1.1 2002/06/06 17:48:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMChannel.hh index e65f1c867e..f86d218f40 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li8GEMChannel.hh,v 1.1 2002/06/06 17:48:52 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMCoulombBarrier.hh index 9901347efc..f4787be4fa 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li8GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMProbability.hh index e4858c6d7a..221fe7eb24 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li8GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li8GEMProbability.hh,v 1.1 2002/06/06 17:48:54 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMChannel.hh index 93e378fd65..51539c1749 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li9GEMChannel.hh,v 1.1 2002/06/06 17:48:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMCoulombBarrier.hh index 8c4b76fa43..a36420995c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li9GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMProbability.hh index 447c80f982..d77ea925f7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Li9GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Li9GEMProbability.hh,v 1.1 2002/06/06 17:48:57 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMChannel.hh index aa779032a9..6517165a5f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg22GEMChannel.hh,v 1.1 2002/06/06 17:48:59 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMCoulombBarrier.hh index c3be5ad710..632afe7f13 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg22GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMProbability.hh index 29ec442092..8c525bb4ad 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg22GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg22GEMProbability.hh,v 1.1 2002/06/06 17:49:01 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMChannel.hh index 4af1bef12b..427b7e53e9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg23GEMChannel.hh,v 1.1 2002/06/06 17:49:02 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMCoulombBarrier.hh index 8e6ac2fcf1..ff80a7017f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg23GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMProbability.hh index 9044d7d4b9..f7d86d5961 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg23GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg23GEMProbability.hh,v 1.1 2002/06/06 17:49:04 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMChannel.hh index 03b4112de1..73bda48a68 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg24GEMChannel.hh,v 1.1 2002/06/06 17:49:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMCoulombBarrier.hh index 5c747ccf99..ba9236bf59 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg24GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMProbability.hh index c156fdb7fe..3622fa571f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg24GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg24GEMProbability.hh,v 1.1 2002/06/06 17:49:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMChannel.hh index 741762a144..d6af101b16 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg25GEMChannel.hh,v 1.1 2002/06/06 17:49:09 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMCoulombBarrier.hh index f162809a91..d6229b289f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg25GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMProbability.hh index 65ad023218..b1518662a8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg25GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg25GEMProbability.hh,v 1.1 2002/06/06 17:49:11 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMChannel.hh index 3939098bdd..4f3f96cef7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg26GEMChannel.hh,v 1.1 2002/06/06 17:49:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMCoulombBarrier.hh index fd32b9a250..7d6f014c5a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg26GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMProbability.hh index dc2108fd50..697719f738 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg26GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg26GEMProbability.hh,v 1.1 2002/06/06 17:49:14 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMChannel.hh index c14521b221..13f8868503 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg27GEMChannel.hh,v 1.1 2002/06/06 17:49:16 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMCoulombBarrier.hh index aad75c5fe0..39992c8e5e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg27GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMProbability.hh index 859ab853b3..e2ae7deefc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg27GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg27GEMProbability.hh,v 1.1 2002/06/06 17:49:18 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMChannel.hh index 2ff8a4d1c6..08d7536a06 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg28GEMChannel.hh,v 1.1 2002/06/06 17:49:19 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMCoulombBarrier.hh index a3d5d61702..aef5c35e8e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg28GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMProbability.hh index 0acd9d05af..7085b2897a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Mg28GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mg28GEMProbability.hh,v 1.1 2002/06/06 17:49:21 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMChannel.hh index 25f7a851fc..0956b9ace1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N12GEMChannel.hh,v 1.1 2002/06/06 17:49:24 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMCoulombBarrier.hh index e04a033912..f6b7550653 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N12GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMProbability.hh index faf9f31a3e..245a1e85e5 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N12GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N12GEMProbability.hh,v 1.1 2002/06/06 17:49:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMChannel.hh index 57c47dc254..2ec8789e4c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N13GEMChannel.hh,v 1.1 2002/06/06 17:49:28 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMCoulombBarrier.hh index 1481234f57..ae424f7662 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N13GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMProbability.hh index 5790086146..5f422a7d99 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N13GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N13GEMProbability.hh,v 1.1 2002/06/06 17:49:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMChannel.hh index c0882142f9..576090f456 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N14GEMChannel.hh,v 1.1 2002/06/06 17:49:52 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMCoulombBarrier.hh index 63449aff4e..ea54431c7b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N14GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMProbability.hh index f46f1b601e..2e249a41cb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N14GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N14GEMProbability.hh,v 1.1 2002/06/06 17:49:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMChannel.hh index b2faa32afd..d934088504 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N15GEMChannel.hh,v 1.1 2002/06/06 17:49:56 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMCoulombBarrier.hh index 2506a1b1f3..8016bc7415 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N15GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMProbability.hh index bbde538bd2..4ec7818b45 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N15GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N15GEMProbability.hh,v 1.1 2002/06/06 17:49:58 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMChannel.hh index f50eed3cbd..4db234df63 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N16GEMChannel.hh,v 1.1 2002/06/06 17:49:59 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMCoulombBarrier.hh index 4fcba715e2..8b5773f290 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N16GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMProbability.hh index a1a3d55d64..2bb711d823 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N16GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N16GEMProbability.hh,v 1.1 2002/06/06 17:50:01 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMChannel.hh index eb18ab43f4..6669a6d475 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4N17GEMChannel.hh,v 1.1 2002/06/06 17:50:02 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMCoulombBarrier.hh index 31241c69dc..7fbd2d9b93 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4N17GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMProbability.hh index 8cd2a5e222..12e422cd08 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4N17GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4N17GEMProbability.hh,v 1.1 2002/06/06 17:50:04 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMChannel.hh index f52ad60a24..e8d42d2247 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na21GEMChannel.hh,v 1.1 2002/06/06 17:50:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMCoulombBarrier.hh index 92e499f636..5d634ba9d3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na21GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMProbability.hh index a50d0ba7b9..ceb6acfbdc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na21GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na21GEMProbability.hh,v 1.1 2002/06/06 17:50:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMChannel.hh index b23c01b9af..240362f49c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na22GEMChannel.hh,v 1.1 2002/06/06 17:50:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMCoulombBarrier.hh index e746d5a6ee..c90c5e4a0c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na22GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMProbability.hh index 15ff251c7b..253daa193d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na22GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na22GEMProbability.hh,v 1.1 2002/06/06 17:50:10 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMChannel.hh index 2c9bfc2fcc..92a51fb221 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na23GEMChannel.hh,v 1.1 2002/06/06 17:50:11 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMCoulombBarrier.hh index 7d960582c6..b4d192ff53 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na23GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMProbability.hh index d792a5f58c..f8cd8fba0a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na23GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na23GEMProbability.hh,v 1.1 2002/06/06 17:50:13 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMChannel.hh index b2a91da882..a14e479882 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na24GEMChannel.hh,v 1.1 2002/06/06 17:50:14 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMCoulombBarrier.hh index d2c64e0bbc..1d6582bba2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na24GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMProbability.hh index e804f0e668..aaf47745f0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na24GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na24GEMProbability.hh,v 1.1 2002/06/06 17:50:40 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMChannel.hh index 5d086b02b4..4c0adf3d22 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na25GEMChannel.hh,v 1.1 2002/06/06 17:50:41 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMCoulombBarrier.hh index bc8479e58a..200b26aaa9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na25GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMProbability.hh index b599da7d9f..96b2dc2224 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Na25GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Na25GEMProbability.hh,v 1.1 2002/06/06 17:50:43 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMChannel.hh index bbd46ad229..134f51bbe1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne18GEMChannel.hh,v 1.1 2002/06/06 17:50:45 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMCoulombBarrier.hh index 8ebdae33c1..fb67461848 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne18GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMProbability.hh index ea68b8e856..6bebbfe3cb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne18GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne18GEMProbability.hh,v 1.1 2002/06/06 17:50:47 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMChannel.hh index 20cebb1d0e..07ec0f7690 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne19GEMChannel.hh,v 1.1 2002/06/06 17:50:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMCoulombBarrier.hh index 2a6e80035b..3e58e42c40 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne19GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMProbability.hh index 88d543b2e6..15df68457f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne19GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne19GEMProbability.hh,v 1.1 2002/06/06 17:50:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMChannel.hh index bf0035ade0..adfc78ceb6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne20GEMChannel.hh,v 1.1 2002/06/06 17:50:52 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMCoulombBarrier.hh index 88e50d3d03..6d9902f586 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne20GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMProbability.hh index dfeda1a857..9a1471d41c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne20GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne20GEMProbability.hh,v 1.1 2002/06/06 17:50:54 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMChannel.hh index 7570424dfb..bb7485942b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne21GEMChannel.hh,v 1.1 2002/06/06 17:50:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMCoulombBarrier.hh index 22d73027d3..8b120b35a6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne21GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMProbability.hh index 924ab80e9e..4af4ecbd31 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne21GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne21GEMProbability.hh,v 1.1 2002/06/06 17:50:57 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMChannel.hh index 1a45900cda..e346faed23 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne22GEMChannel.hh,v 1.1 2002/06/06 17:50:58 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMCoulombBarrier.hh index e74a4456a7..e8296e35cf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne22GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMProbability.hh index 09a9fd4f32..5df421fa65 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne22GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne22GEMProbability.hh,v 1.1 2002/06/06 17:51:00 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMChannel.hh index 6dcc1595e6..9de6bed52e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne23GEMChannel.hh,v 1.1 2002/06/06 17:51:01 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMCoulombBarrier.hh index d6f101b67e..c903a1427c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne23GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMProbability.hh index 37ec28c7b4..2459af532e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne23GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne23GEMProbability.hh,v 1.1 2002/06/06 17:51:04 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMChannel.hh index 529d26282b..32855f7ecd 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne24GEMChannel.hh,v 1.1 2002/06/06 17:51:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMCoulombBarrier.hh index 9f494bbe2d..08ed250e82 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne24GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMProbability.hh index 84ffbf0317..9311692fe8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Ne24GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4Ne24GEMProbability.hh,v 1.1 2002/06/06 17:51:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronCoulombBarrier.hh index 2e3fd997fe..1cab717932 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronCoulombBarrier.hh,v 1.4 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationChannel.hh index 805e550450..c87779adb3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronEvaporationChannel.hh,v 1.5 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationProbability.hh index 7c7b8aa760..2513c45b35 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronEvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronEvaporationProbability.hh,v 1.5 2002/12/12 19:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMChannel.hh index fb63c48999..4e7a92ebde 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronGEMChannel.hh,v 1.1 2002/06/06 17:51:31 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMProbability.hh index 15949e3380..e43a820c8c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NeutronGEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronGEMProbability.hh,v 1.1 2002/06/06 17:51:33 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelManager.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelManager.hh index 58f9b810c1..b3e0cdd535 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelManager.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelManager.hh @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -24,11 +24,9 @@ // ------------------------------------------------------------------- // GEANT 4 class file // -// For information related to this code contact: -// CERN, IT Division, ASD group // CERN, Geneva, Switzerland // -// File name: G4NuclearLevel +// File name: G4NuclearLevelManager // // Author: Maria Grazia Pia (pia@genova.infn.it) // @@ -39,6 +37,7 @@ // Added K->N+ internal conversion coefficiencies and their access // functions // +// // 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it) // Added half-life, angular momentum, parity, emissioni type // reading from experimental data. @@ -60,19 +59,20 @@ class G4NuclearLevelManager public: G4NuclearLevelManager(); - G4NuclearLevelManager(G4int Z, G4int A); + G4NuclearLevelManager(const G4int Z, const G4int A, const G4String& filename); + G4NuclearLevelManager(const G4NuclearLevelManager & right); ~G4NuclearLevelManager(); - void SetNucleus(G4int Z, G4int A); + void SetNucleus(const G4int Z, const G4int A, const G4String& filename); - G4bool IsValid(G4int Z, G4int A) const; + G4bool IsValid() const; G4int NumberOfLevels() const; const G4PtrLevelVector* GetLevels() const; - const G4NuclearLevel* NearestLevel(G4double energy, G4double eDiffMax=9999.*GeV) const; + const G4NuclearLevel* NearestLevel(const G4double energy, const G4double eDiffMax=9999.*GeV) const; const G4NuclearLevel* LowestLevel() const; const G4NuclearLevel* HighestLevel() const; @@ -81,11 +81,7 @@ public: G4double MaxLevelEnergy() const; void PrintAll(); - - G4NuclearLevelManager(const G4NuclearLevelManager &right); -protected: - private: const G4NuclearLevelManager& operator=(const G4NuclearLevelManager &right); @@ -98,6 +94,8 @@ private: G4int _nucleusA; G4int _nucleusZ; + G4String _fileName; + G4bool _validity; G4PtrLevelVector* _levels; G4double _levelEnergy; @@ -120,17 +118,3 @@ private: }; #endif - - - - - - - - - - - - - - diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelStore.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelStore.hh new file mode 100644 index 0000000000..47880b5f5f --- /dev/null +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4NuclearLevelStore.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * 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 * +// * authors in 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. * +// ******************************************************************** +// +// + +#ifndef G4NuclearLevelStore_hh +#define G4NuclearLevelStore_hh 1 + +#include "G4NuclearLevelManager.hh" +#include "g4std/map" + +class G4NuclearLevelStore +{ +private: + G4NuclearLevelStore(); + +public: + + static G4NuclearLevelStore* GetInstance(); + + G4NuclearLevelManager * GetManager(const G4int Z, const G4int A); + + + ~G4NuclearLevelStore(); + +private: + + G4String GenerateKey(const G4int Z, const G4int A); + + + static G4std::map theManagers; + static G4String dirName; + +}; +#endif diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMChannel.hh index 6bb537f402..fea88865b2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O14GEMChannel.hh,v 1.1 2002/06/06 17:51:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMCoulombBarrier.hh index fdcd476240..ec826d68ed 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O14GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMProbability.hh index 26d3cb2b14..b69f65da0e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O14GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O14GEMProbability.hh,v 1.1 2002/06/06 17:51:58 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMChannel.hh index 15b5706d97..f6222aa1d2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O15GEMChannel.hh,v 1.1 2002/06/06 17:51:59 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMCoulombBarrier.hh index f9e5bff67a..2654cb945d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O15GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMProbability.hh index e6eba61e25..33aa4ad0f1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O15GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O15GEMProbability.hh,v 1.1 2002/06/06 17:52:02 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMChannel.hh index 9f58325f82..69c925eb62 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O16GEMChannel.hh,v 1.1 2002/06/06 17:52:03 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMCoulombBarrier.hh index 7ab83d1b5e..4d2508ec61 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O16GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMProbability.hh index 03f10390a2..f496a6180d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O16GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O16GEMProbability.hh,v 1.1 2002/06/06 17:52:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMChannel.hh index 071a4341fa..c0f7cf77b7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O17GEMChannel.hh,v 1.1 2002/06/06 17:52:06 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMCoulombBarrier.hh index 115f4662ed..3d83098ba6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O17GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMProbability.hh index 3011094cd5..b8cf92f711 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O17GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O17GEMProbability.hh,v 1.1 2002/06/06 17:52:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMChannel.hh index 40b999217d..48ad318f92 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O18GEMChannel.hh,v 1.1 2002/06/06 17:52:10 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMCoulombBarrier.hh index ff2457154e..ec0aae764c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O18GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMProbability.hh index ed310d9a77..0dcdb90946 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O18GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O18GEMProbability.hh,v 1.1 2002/06/06 17:52:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMChannel.hh index def0771c3a..92490c1229 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O19GEMChannel.hh,v 1.1 2002/06/06 17:52:13 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMCoulombBarrier.hh index 0839cd8b89..58321a8fbe 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O19GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMProbability.hh index 2cb23d61e0..e9d3d14c80 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O19GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O19GEMProbability.hh,v 1.1 2002/06/06 17:52:15 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMChannel.hh index 73938f5f1f..463a93fd7e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4O20GEMChannel.hh,v 1.1 2002/06/06 17:52:16 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMCoulombBarrier.hh index 0cd8d883af..08aacb5b52 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4O20GEMCoulombBarrier.hh,v 1.2 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMProbability.hh index 8304c72bf7..0aa24170ad 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4O20GEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4O20GEMProbability.hh,v 1.1 2002/06/06 17:52:19 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4PairingCorrection.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4PairingCorrection.hh index e7f56ed1c1..ce79751255 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4PairingCorrection.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4PairingCorrection.hh @@ -22,7 +22,7 @@ // // // $Id: G4PairingCorrection.hh,v 1.6 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonCoulombBarrier.hh index 9ef20f9fe3..aea8a153b9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonCoulombBarrier.hh,v 1.4 2002/12/12 19:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationChannel.hh index 57ff953026..a149db6d01 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonEvaporationChannel.hh,v 1.5 2002/12/12 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationProbability.hh index 717c7be69c..de24708efb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonEvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonEvaporationProbability.hh,v 1.5 2002/12/12 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMChannel.hh index 533e1babfa..33ee548102 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonGEMChannel.hh,v 1.1 2002/06/06 17:53:13 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMProbability.hh index a1635cdb08..9692860fd9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ProtonGEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonGEMProbability.hh,v 1.1 2002/06/06 17:53:15 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4ShellCorrection.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4ShellCorrection.hh index c2dbaf1443..c26cf2e845 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4ShellCorrection.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4ShellCorrection.hh @@ -22,7 +22,7 @@ // // // $Id: G4ShellCorrection.hh,v 1.2 2002/12/12 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4Solver.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4Solver.hh index 71dcd1f3d2..d3f5cf0f6b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4Solver.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4Solver.hh @@ -22,7 +22,7 @@ // // // $Id: G4Solver.hh,v 1.7 2002/12/12 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StableFermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StableFermiFragment.hh index 469e2b4fff..5d7cf4b2cc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StableFermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StableFermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4StableFermiFragment.hh,v 1.6 2002/12/12 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMF.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMF.hh index 132a073144..fdf193afee 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMF.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMF.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMF.hh,v 1.9 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFChannel.hh index bd3d68196c..224839eb4d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFChannel.hh,v 1.9 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFFragment.hh index 25d2915152..f84ddfb648 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFFragment.hh,v 1.9 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroBiNucleon.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroBiNucleon.hh index 92318c6009..64d8b4cb8c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroBiNucleon.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroBiNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroBiNucleon.hh,v 1.7 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroChemicalPotential.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroChemicalPotential.hh index a4d73eac31..03ffe43a51 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroChemicalPotential.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroChemicalPotential.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroChemicalPotential.hh,v 1.8 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiNucleon.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiNucleon.hh index 1c69806da0..76a8cd79f1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiNucleon.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroMultiNucleon.hh,v 1.6 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiplicity.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiplicity.hh index a228ec481c..7af04bb0cb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiplicity.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroMultiplicity.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroMultiplicity.hh,v 1.8 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroNucleon.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroNucleon.hh index 3838ef8510..1e4b1a7dd2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroNucleon.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroNucleon.hh,v 1.8 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTemperature.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTemperature.hh index b9991ecb49..6c2f7efe8b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTemperature.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTemperature.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTemperature.hh,v 1.9 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTetraNucleon.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTetraNucleon.hh index f85920a700..18f62017b6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTetraNucleon.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTetraNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTetraNucleon.hh,v 1.7 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTriNucleon.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTriNucleon.hh index 8785642609..69a65aed9e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTriNucleon.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacroTriNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTriNucleon.hh,v 1.7 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacrocanonical.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacrocanonical.hh index 7a23b6e9da..b1be9b24cb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacrocanonical.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMacrocanonical.hh @@ -21,8 +21,6 @@ // ******************************************************************** // // -// $Id: G4StatMFMacroCanonical.hh,v 1.11 2002/12/12 19:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara @@ -61,7 +59,7 @@ private: // copy constructor - G4StatMFMacroCanonical(const G4StatMFMacroCanonical &right) {}; + G4StatMFMacroCanonical(const G4StatMFMacroCanonical &right) : G4VStatMFEnsemble() {}; // operators diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroManager.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroManager.hh index c7cbd1c898..f1750d7a79 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroManager.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroManager.hh,v 1.7 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroPartition.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroPartition.hh index e8fed35742..efb02d2154 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroPartition.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicroPartition.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroPartition.hh,v 1.10 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicrocanonical.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicrocanonical.hh index 9290411f5e..20a2cfb5f6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicrocanonical.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFMicrocanonical.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroCanonical.hh,v 1.10 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFParameters.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFParameters.hh index 9f92115efa..0f1440604d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFParameters.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4StatMFParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4StatMFParameters.hh,v 1.7 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonCoulombBarrier.hh index 082fbd9880..ec97518892 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonCoulombBarrier.hh,v 1.5 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationChannel.hh index 6f26910aba..7c08496b23 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonEvaporationChannel.hh,v 1.5 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationProbability.hh index 3beea0eb0a..2c46a91cca 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonEvaporationProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonEvaporationProbability.hh,v 1.5 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMChannel.hh index 24eec01b2d..4739b9d8eb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonGEMChannel.hh,v 1.1 2002/06/06 17:53:47 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMProbability.hh index 5d6a4dbb9b..c75860153c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4TritonGEMProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonGEMProbability.hh,v 1.1 2002/06/06 17:53:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4UnstableFermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4UnstableFermiFragment.hh index f123ac90a6..7b26825f7d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4UnstableFermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4UnstableFermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4UnstableFermiFragment.hh,v 1.8 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VCoulombBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VCoulombBarrier.hh index 45c83c168f..abfd26d2f1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VCoulombBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VCoulombBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4VCoulombBarrier.hh,v 1.5 2002/12/12 19:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VEmissionProbability.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VEmissionProbability.hh index c1ecc4b5c4..a9bb73d848 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VEmissionProbability.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VEmissionProbability.hh @@ -22,7 +22,7 @@ // // // $Id: G4VEmissionProbability.hh,v 1.7 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporation.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporation.hh index 214424bbb8..8698485af8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporation.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporation.hh,v 1.6 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) written from G4Evaporation.hh (May 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationChannel.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationChannel.hh index 9921f98c48..5dd8ce2029 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationChannel.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporationChannel.hh,v 1.7 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationFactory.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationFactory.hh index 751101180c..768eac8a4a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationFactory.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VEvaporationFactory.hh @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporationFactory.hh,v 1.3 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiBreakUp.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiBreakUp.hh index e8f4e2d43f..a6adbfe9a7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiBreakUp.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiBreakUp.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFermiBreakUp.hh,v 1.6 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiFragment.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiFragment.hh index 6b56d234c4..3203e3044d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiFragment.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VFermiFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFermiFragment.hh,v 1.6 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VFissionBarrier.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VFissionBarrier.hh index 2c2675e797..6c958d2efe 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VFissionBarrier.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VFissionBarrier.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFissionBarrier.hh,v 1.6 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VLevelDensityParameter.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VLevelDensityParameter.hh index 16b477c4f1..2930af99b8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VLevelDensityParameter.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VLevelDensityParameter.hh @@ -22,7 +22,7 @@ // // // $Id: G4VLevelDensityParameter.hh,v 1.6 2002/12/12 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VMultiFragmentation.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VMultiFragmentation.hh index b640e2b6bc..c969fd4ab6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VMultiFragmentation.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VMultiFragmentation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VMultiFragmentation.hh,v 1.7 2002/12/12 19:17:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFEnsemble.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFEnsemble.hh index cecd94db9e..ef69e991b7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFEnsemble.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFEnsemble.hh @@ -22,7 +22,7 @@ // // // $Id: G4VStatMFEnsemble.hh,v 1.6 2002/12/12 19:17:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFMacroCluster.hh b/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFMacroCluster.hh index a0021b1f1e..87f7d69fb4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFMacroCluster.hh +++ b/source/processes/hadronic/models/generator/de_excitation/include/G4VStatMFMacroCluster.hh @@ -22,7 +22,7 @@ // // // $Id: G4VStatMFMacroCluster.hh,v 1.8 2002/12/12 19:17:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaCoulombBarrier.cc index 025e0dff29..77cbeb361e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4AlphaCoulombBarrier.cc,v 1.5 2002/12/12 19:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationChannel.cc index 3436407ea9..2ed36c98a9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4AlphaEvaporationChannel.cc,v 1.5 2002/12/12 19:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationProbability.cc index 1ff95cadee..7b21d1496c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaEvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4AlphaEvaporationProbability.cc,v 1.5 2002/12/12 19:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMChannel.cc index 3441d13a32..726fdea6a8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4AlphaGEMChannel.cc,v 1.1 2002/06/06 17:59:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMProbability.cc index 0659f5203f..d9debca730 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4AlphaGEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4AlphaGEMProbability.cc,v 1.1 2002/06/06 17:59:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B10GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B10GEMProbability.cc index 76da050d92..bbab739ff7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B10GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B10GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4B10GEMProbability.cc,v 1.1 2002/06/06 17:59:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B11GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B11GEMProbability.cc index b27dc81887..033e5a9c8e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B11GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B11GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4B11GEMProbability.cc,v 1.1 2002/06/06 17:59:09 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B12GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B12GEMProbability.cc index 0d431581b5..cec9f0f02b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B12GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B12GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4B12GEMProbability.cc,v 1.1 2002/06/06 17:59:10 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B13GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B13GEMProbability.cc index 5f1dc6fe8b..b3e615567c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B13GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B13GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4B13GEMProbability.cc,v 1.1 2002/06/06 17:59:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B8GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B8GEMProbability.cc index a218707448..5f445e3025 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B8GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B8GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4B8GEMProbability.cc,v 1.1 2002/06/06 17:59:13 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4B9FermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4B9FermiFragment.cc index 6741f53e0e..9d6fe4a23e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4B9FermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4B9FermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4B9FermiFragment.cc,v 1.7 2002/12/12 19:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be10GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be10GEMProbability.cc index b928643cbd..21bdcda70f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be10GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be10GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be10GEMProbability.cc,v 1.1 2002/06/06 17:59:29 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be11GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be11GEMProbability.cc index 88f8106a0f..94f913b1c0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be11GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be11GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be11GEMProbability.cc,v 1.1 2002/06/06 17:59:31 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be12GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be12GEMProbability.cc index 88633c768f..a573b7ea5b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be12GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be12GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be12GEMProbability.cc,v 1.1 2002/06/06 17:59:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be7GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be7GEMProbability.cc index 89dc9e4381..6716c37c4f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be7GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be7GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be7GEMProbability.cc,v 1.1 2002/06/06 17:59:33 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be8FermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be8FermiFragment.cc index a93c532333..4aab66ebdf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be8FermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be8FermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be8FermiFragment.cc,v 1.8 2002/12/12 19:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Be9GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Be9GEMProbability.cc index 3c022941f7..d4d80f510a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Be9GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Be9GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Be9GEMProbability.cc,v 1.1 2002/06/06 17:59:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C10GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C10GEMProbability.cc index a9c1572171..3e536d2847 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C10GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C10GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C10GEMProbability.cc,v 1.1 2002/06/06 17:59:50 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C11GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C11GEMProbability.cc index 24355315f3..9ecf74897c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C11GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C11GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C11GEMProbability.cc,v 1.1 2002/06/06 17:59:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C12GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C12GEMProbability.cc index 37c3725089..1dfac15194 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C12GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C12GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C12GEMProbability.cc,v 1.1 2002/06/06 17:59:52 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C13GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C13GEMProbability.cc index 39b3ee5652..64672677b1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C13GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C13GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C13GEMProbability.cc,v 1.1 2002/06/06 17:59:54 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C14GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C14GEMProbability.cc index 8719e3864e..3236bb3f2b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C14GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C14GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C14GEMProbability.cc,v 1.1 2002/06/06 17:59:55 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C15GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C15GEMProbability.cc index cf8e50d862..ace2b28fba 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C15GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C15GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C15GEMProbability.cc,v 1.1 2002/06/06 17:59:56 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4C16GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4C16GEMProbability.cc index 4679d7fd9e..ba4dbe78c4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4C16GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4C16GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4C16GEMProbability.cc,v 1.1 2002/06/06 17:59:57 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertPairingCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertPairingCorrections.cc index 8c66318d34..370f230a90 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertPairingCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertPairingCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CameronGilbertPairingCorrections.cc,v 1.7 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertShellCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertShellCorrections.cc index 44ca4ced08..146ca6c0d1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertShellCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronGilbertShellCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CameronGilbertShellCorrections.cc,v 1.7 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronShellPlusPairingCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronShellPlusPairingCorrections.cc index 2febf0978a..294e82b7fc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronShellPlusPairingCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronShellPlusPairingCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CameronShellPlusPairingCorrections.cc,v 1.7 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfPairingCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfPairingCorrections.cc index 326c0ba472..170cdb33c4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfPairingCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfPairingCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CameronTruranHilfPairingCorrections.cc,v 1.7 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfShellCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfShellCorrections.cc index e5d32ab478..455ea92d43 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfShellCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CameronTruranHilfShellCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CameronTruranHilfShellCorrections.cc,v 1.7 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CompetitiveFission.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CompetitiveFission.cc index f4280fd21d..88aac6ba15 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CompetitiveFission.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CompetitiveFission.cc @@ -22,7 +22,7 @@ // // // $Id: G4CompetitiveFission.cc,v 1.13 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ContinuumGammaDeexcitation.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ContinuumGammaDeexcitation.cc index 970036caad..1e22cb18e8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ContinuumGammaDeexcitation.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ContinuumGammaDeexcitation.cc @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -47,6 +47,7 @@ #include "G4Gamma.hh" #include "G4ContinuumGammaTransition.hh" #include "G4NuclearLevelManager.hh" +#include "G4NuclearLevelStore.hh" #include "G4Fragment.hh" #include "G4ConstantLevelDensityParameter.hh" @@ -54,7 +55,7 @@ // Constructor // -G4ContinuumGammaDeexcitation::G4ContinuumGammaDeexcitation(): _nucleusZ(0), _nucleusA(0) +G4ContinuumGammaDeexcitation::G4ContinuumGammaDeexcitation(): _nucleusZ(0), _nucleusA(0), _levelManager(0) { } @@ -71,7 +72,7 @@ G4VGammaTransition* G4ContinuumGammaDeexcitation::CreateTransition() if (_nucleusA != A || _nucleusZ != Z) { - _levelManager.SetNucleus(Z,A); + _levelManager = G4NuclearLevelStore::GetInstance()->GetManager(Z,A); _nucleusA = A; _nucleusZ = Z; } @@ -79,7 +80,7 @@ G4VGammaTransition* G4ContinuumGammaDeexcitation::CreateTransition() if (_verbose > 1) G4cout << "G4ContinuumGammaDeexcitation::CreateTransition - Created" << G4endl; - return new G4ContinuumGammaTransition(_levelManager,Z,A,excitation,_verbose ); + return new G4ContinuumGammaTransition(*_levelManager,Z,A,excitation,_verbose ); } @@ -122,13 +123,13 @@ G4bool G4ContinuumGammaDeexcitation::CanDoTransition() const << G4endl; } - if (excitation <= _levelManager.MaxLevelEnergy()) + if (excitation <= _levelManager->MaxLevelEnergy()) { canDo = false; if (_verbose > 0) G4cout << "G4ContinuumGammaDeexcitation::CanDoTransition - Excitation " << excitation << " below max discrete level " - << _levelManager.MaxLevelEnergy() << G4endl; + << _levelManager->MaxLevelEnergy() << G4endl; } if (canDo) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CookPairingCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CookPairingCorrections.cc index ad5f25bb17..cc2bdff20b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CookPairingCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CookPairingCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CookPairingCorrections.cc,v 1.1 2001/11/08 10:14:04 vlara Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CookShellCorrections.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CookShellCorrections.cc index 80ebb11c50..5534e5e043 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CookShellCorrections.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CookShellCorrections.cc @@ -22,7 +22,7 @@ // // // $Id: G4CookShellCorrections.cc,v 1.1 2001/11/08 10:14:05 vlara Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4CoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4CoulombBarrier.cc index aaa1d45552..f2920de9f8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4CoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4CoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4CoulombBarrier.cc,v 1.6 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronCoulombBarrier.cc index 15cc041ff1..051f51f099 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronCoulombBarrier.cc,v 1.5 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationChannel.cc index 9c4ae76d76..94bff8564c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronEvaporationChannel.cc,v 1.5 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationProbability.cc index df02879f8a..e1dafe0e79 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronEvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronEvaporationProbability.cc,v 1.5 2002/12/12 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMChannel.cc index 2bb5a5a750..8c1e409e72 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronGEMChannel.cc,v 1.1 2002/06/06 18:00:14 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMProbability.cc index 70db71280d..8f211d7911 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DeuteronGEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronGEMProbability.cc,v 1.1 2002/06/06 18:00:15 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4DiscreteGammaDeexcitation.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4DiscreteGammaDeexcitation.cc index ffeddc841a..ee35348005 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4DiscreteGammaDeexcitation.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4DiscreteGammaDeexcitation.cc @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -50,14 +50,16 @@ #include "G4DiscreteGammaDeexcitation.hh" #include "G4DiscreteGammaTransition.hh" #include "G4NuclearLevelManager.hh" +#include "G4NuclearLevelStore.hh" #include "G4ios.hh" #include "g4std/fstream" #include "g4std/strstream" -G4DiscreteGammaDeexcitation::G4DiscreteGammaDeexcitation(): _nucleusZ(0), - _nucleusA(0), _max_hl(1e-6*second), _icm(false), _rdm(false) +G4DiscreteGammaDeexcitation::G4DiscreteGammaDeexcitation(): + _nucleusZ(0), _nucleusA(0), _max_hl(1e-6*second), _icm(false), + _rdm(false), _levelManager(0) { _tolerance = 0.1 * MeV; } @@ -72,24 +74,28 @@ G4VGammaTransition* G4DiscreteGammaDeexcitation::CreateTransition() G4int A = G4int(nucleus.GetA()); G4int Z = G4int(nucleus.GetZ()); - if (_levelManager.IsValid(Z,A)) + if (_nucleusA != A || _nucleusZ != Z) + { + _nucleusA = A; + _nucleusZ = Z; + _levelManager = G4NuclearLevelStore::GetInstance()->GetManager(Z,A); + } + + + + if (_levelManager->IsValid()) { if (_verbose > 1) - G4cout - << "G4DiscreteGammaDeexcitation::CreateTransition - (A,Z) is valid " - << G4endl; - - if (_nucleusA != A || _nucleusZ != Z) { - _levelManager.SetNucleus(Z,A); - _nucleusA = A; - _nucleusZ = Z; + G4cout + << "G4DiscreteGammaDeexcitation::CreateTransition - (A,Z) is valid " + << G4endl; } - + G4double excitation = nucleus.GetExcitationEnergy(); // const G4NuclearLevel* level =_levelManager.NearestLevel(excitation, _tolerance); - const G4NuclearLevel* level =_levelManager.NearestLevel(excitation); - + const G4NuclearLevel* level =_levelManager->NearestLevel(excitation); + if (level != 0) { if (_verbose > 0) @@ -107,7 +113,7 @@ G4VGammaTransition* G4DiscreteGammaDeexcitation::CreateTransition() G4cout << "G4DiscreteGammaDeexcitation::CreateTransition - No transition created from " << excitation << " within tolerance " << _tolerance << G4endl; - + return 0; } } @@ -119,7 +125,7 @@ G4bool G4DiscreteGammaDeexcitation::CanDoTransition() const { G4bool canDo = true; - + if (_transition == 0) { canDo = false; @@ -129,7 +135,6 @@ G4bool G4DiscreteGammaDeexcitation::CanDoTransition() const << "G4DiscreteGammaDeexcitation::CanDoTransition - Null transition " << G4endl; } - G4Fragment nucleus = GetNucleus(); if (canDo) { G4double A = nucleus.GetA(); @@ -155,28 +160,29 @@ G4bool G4DiscreteGammaDeexcitation::CanDoTransition() const << G4endl; } - if (excitation > _levelManager.MaxLevelEnergy() + _tolerance) canDo = false; - if (excitation < _levelManager.MinLevelEnergy() - _tolerance) canDo = false; + if (excitation > _levelManager->MaxLevelEnergy() + _tolerance) canDo = false; + if (excitation < _levelManager->MinLevelEnergy() - _tolerance) canDo = false; // The following is a protection to avoid looping in case of elements with very low // ensdf levels - if (excitation < _levelManager.MinLevelEnergy() * 0.9) canDo = false; + if (excitation < _levelManager->MinLevelEnergy() * 0.9) canDo = false; if (_verbose > 0) { G4cout << "G4DiscreteGammaDeexcitation::CanDoTransition - Excitation " << excitation << ", Min-Max are " - << _levelManager.MinLevelEnergy() << " " - << _levelManager.MaxLevelEnergy() << G4endl; + << _levelManager->MinLevelEnergy() << " " + << _levelManager->MaxLevelEnergy() << G4endl; } } if (canDo) { - const G4NuclearLevel* level = _levelManager.NearestLevel(excitation); + const G4NuclearLevel* level = _levelManager->NearestLevel(excitation); if (level != 0) { if (level->HalfLife() > _max_hl && !_rdm ) canDo = false; } else { canDo = false; } + if (_verbose > 0) { G4cout << "G4DiscreteGammaDeexcitation::CanDoTransition - Halflife " @@ -186,18 +192,13 @@ G4bool G4DiscreteGammaDeexcitation::CanDoTransition() const } if (_verbose > 0) { + G4cout <<"G4DiscreteGammaDeexcitation::CanDoTransition - CanDo:" << (canDo ? " True " : " False ") << G4endl; } + return canDo; } - - - - - - - diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Evaporation.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Evaporation.cc index bb77385065..5852dc673e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Evaporation.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Evaporation.cc @@ -14,15 +14,15 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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: G4Evaporation.cc,v 1.10.4.1 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Evaporation.cc,v 1.10 2002/11/12 02:10:57 larazb Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationChannel.cc index 29cf0a56e8..6528645fba 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationChannel.cc,v 1.14 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationFactory.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationFactory.cc index 0538b45689..d53b37e857 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationFactory.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationFactory.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationFactory.cc,v 1.2 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationGEMFactory.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationGEMFactory.cc index b45dba185f..f9f33235cf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationGEMFactory.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationGEMFactory.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationGEMFactory.cc,v 1.2 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationLevelDensityParameter.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationLevelDensityParameter.cc index 82d3dc8621..c1c6028fe0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationLevelDensityParameter.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationLevelDensityParameter.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationLevelDensityParameter.cc,v 1.7 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationProbability.cc index 96af3fa774..ef570d1a61 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4EvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4EvaporationProbability.cc,v 1.8 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ExcitationHandler.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ExcitationHandler.cc index f0c03e79c1..d120213f4e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ExcitationHandler.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ExcitationHandler.cc @@ -344,10 +344,11 @@ G4ExcitationHandler::Transform(G4FragmentVector * theFragmentVector) const *debugit = 0; } } + G4ReactionProduct* tmpPtr=0; theReactionProductVector->erase(G4std::remove_if(theReactionProductVector->begin(), theReactionProductVector->end(), G4std::bind2nd(G4std::equal_to(), - 0)), + tmpPtr)), theReactionProductVector->end()); return theReactionProductVector; } diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4F17GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4F17GEMProbability.cc index 5aa7c9dbf5..64b1cfc43c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4F17GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4F17GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4F17GEMProbability.cc,v 1.1 2002/06/06 18:00:47 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4F18GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4F18GEMProbability.cc index 407e5c99e3..e0c3bbd83e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4F18GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4F18GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4F18GEMProbability.cc,v 1.1 2002/06/06 18:00:49 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4F19GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4F19GEMProbability.cc index 67a81c111d..d96f283586 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4F19GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4F19GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4F19GEMProbability.cc,v 1.1 2002/06/06 18:00:50 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4F20GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4F20GEMProbability.cc index b559c57d2f..bd9ac38a2d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4F20GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4F20GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4F20GEMProbability.cc,v 1.1 2002/06/06 18:00:51 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4F21GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4F21GEMProbability.cc index 063d129f64..412a31eec3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4F21GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4F21GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4F21GEMProbability.cc,v 1.1 2002/06/06 18:00:53 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiBreakUp.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiBreakUp.cc index bfe8d8ddfa..e821d4b77c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiBreakUp.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiBreakUp.cc @@ -22,7 +22,7 @@ // // // $Id: G4FermiBreakUp.cc,v 1.9 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfiguration.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfiguration.cc index 0fa591ba55..2ef7168a85 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfiguration.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfiguration.cc @@ -22,7 +22,7 @@ // // // $Id: G4FermiConfiguration.cc,v 1.10 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfigurationList.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfigurationList.cc index ce3708415f..bb4fdb46da 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfigurationList.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FermiConfigurationList.cc @@ -22,7 +22,7 @@ // // // $Id: G4FermiConfigurationList.cc,v 1.8 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionBarrier.cc index 59cf1ebfd5..83b9ae62e8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4FissionBarrier.cc,v 1.7 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionLevelDensityParameter.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionLevelDensityParameter.cc index 638d359c3b..0de2538ffc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionLevelDensityParameter.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionLevelDensityParameter.cc @@ -22,7 +22,7 @@ // // // $Id: G4FissionLevelDensityParameter.cc,v 1.7 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionParameters.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionParameters.cc index a6847bfd2b..6853460d5b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionParameters.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4FissionParameters.cc,v 1.9 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionProbability.cc index 23b3d3bfa7..a71642f863 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4FissionProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4FissionProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4FissionProbability.cc,v 1.8 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4GEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4GEMChannel.cc index 8b8e6b8259..eca87395fb 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4GEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4GEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4GEMChannel.cc,v 1.3 2002/11/12 02:10:57 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4GEMCoulombBarrierHE.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4GEMCoulombBarrierHE.cc index d6b606ebb8..d3a12cf9dd 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4GEMCoulombBarrierHE.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4GEMCoulombBarrierHE.cc @@ -22,7 +22,7 @@ // // // $Id: G4GEMCoulombBarrierHE.cc,v 1.2 2002/12/12 19:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He3CoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He3CoulombBarrier.cc index 2d0bc4d173..b8c901c625 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He3CoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He3CoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4He3CoulombBarrier.cc,v 1.5 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationChannel.cc index 5af62d253a..b7d2043dab 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4He3EvaporationChannel.cc,v 1.5 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationProbability.cc index 8a481732bb..6ac80cac42 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He3EvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4He3EvaporationProbability.cc,v 1.5 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMChannel.cc index 57c9021f68..f919bae61b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4He3GEMChannel.cc,v 1.1 2002/06/06 18:01:31 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMProbability.cc index 3bb78e64b7..81b496546f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He3GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4He3GEMProbability.cc,v 1.1 2002/06/06 18:01:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He5FermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He5FermiFragment.cc index 3a7be61186..e85062cf63 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He5FermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He5FermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4He5FermiFragment.cc,v 1.7 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He6GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He6GEMProbability.cc index 21e20074af..974db9fca3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He6GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He6GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4He6GEMProbability.cc,v 1.1 2002/06/06 18:01:34 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4He8GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4He8GEMProbability.cc index 8e62943a9a..66bb133086 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4He8GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4He8GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4He8GEMProbability.cc,v 1.1 2002/06/06 18:01:35 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Li5FermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Li5FermiFragment.cc index da5902b87d..c7981e40ec 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Li5FermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Li5FermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4Li5FermiFragment.cc,v 1.7 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Li6GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Li6GEMProbability.cc index bf51c09b02..8c57a63b95 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Li6GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Li6GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Li6GEMProbability.cc,v 1.1 2002/06/06 18:02:05 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Li7GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Li7GEMProbability.cc index a6048e8e7b..ec48eb19b8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Li7GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Li7GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Li7GEMProbability.cc,v 1.1 2002/06/06 18:02:06 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Li8GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Li8GEMProbability.cc index dc3b14c74f..9705f7b93e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Li8GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Li8GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Li8GEMProbability.cc,v 1.1 2002/06/06 18:02:07 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Li9GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Li9GEMProbability.cc index 14cdbf800c..64223fc250 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Li9GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Li9GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Li9GEMProbability.cc,v 1.1 2002/06/06 18:02:08 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg22GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg22GEMProbability.cc index 7531d801f7..67733c0ec9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg22GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg22GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg22GEMProbability.cc,v 1.1 2002/06/06 18:02:09 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg23GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg23GEMProbability.cc index c59c3429e6..44892e6d98 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg23GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg23GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg23GEMProbability.cc,v 1.1 2002/06/06 18:02:10 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg24GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg24GEMProbability.cc index 320b6ab659..1d51cf3211 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg24GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg24GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg24GEMProbability.cc,v 1.1 2002/06/06 18:02:11 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg25GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg25GEMProbability.cc index 4227a70849..f965810d5b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg25GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg25GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg25GEMProbability.cc,v 1.1 2002/06/06 18:02:12 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg26GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg26GEMProbability.cc index b2d1899c8e..d64d9f7ca1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg26GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg26GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg26GEMProbability.cc,v 1.1 2002/06/06 18:02:13 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg27GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg27GEMProbability.cc index 44fe75a50d..9d4d312ad2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg27GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg27GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg27GEMProbability.cc,v 1.1 2002/06/06 18:02:14 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg28GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg28GEMProbability.cc index ad8c608d7b..ff50b3335d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Mg28GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Mg28GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mg28GEMProbability.cc,v 1.1 2002/06/06 18:02:15 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N12GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N12GEMProbability.cc index d9730f3422..a6c4093e22 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N12GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N12GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N12GEMProbability.cc,v 1.1 2002/06/06 18:02:16 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N13GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N13GEMProbability.cc index 0b1d415d08..5427118a1a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N13GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N13GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N13GEMProbability.cc,v 1.1 2002/06/06 18:02:17 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N14GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N14GEMProbability.cc index e64d644958..de351a9c01 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N14GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N14GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N14GEMProbability.cc,v 1.1 2002/06/06 18:02:18 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N15GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N15GEMProbability.cc index a5b8100092..92337f53d1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N15GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N15GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N15GEMProbability.cc,v 1.1 2002/06/06 18:02:19 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N16GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N16GEMProbability.cc index 80dd0158dd..bd4553ac84 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N16GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N16GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N16GEMProbability.cc,v 1.1 2002/06/06 18:02:20 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4N17GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4N17GEMProbability.cc index d54dc6c2ef..0ee9ccafad 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4N17GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4N17GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4N17GEMProbability.cc,v 1.1 2002/06/06 18:02:21 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Na21GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Na21GEMProbability.cc index 743384d64e..e35373eb5a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Na21GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Na21GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Na21GEMProbability.cc,v 1.1 2002/06/06 18:02:22 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Na22GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Na22GEMProbability.cc index 18f328c054..a1a7316a6c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Na22GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Na22GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Na22GEMProbability.cc,v 1.1 2002/06/06 18:02:23 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Na23GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Na23GEMProbability.cc index 7fc04db102..f45891c667 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Na23GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Na23GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Na23GEMProbability.cc,v 1.1 2002/06/06 18:02:24 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Na24GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Na24GEMProbability.cc index bd8cafe903..e8482c0971 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Na24GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Na24GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Na24GEMProbability.cc,v 1.1 2002/06/06 18:02:25 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Na25GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Na25GEMProbability.cc index 2561085c46..27b73ce3cd 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Na25GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Na25GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Na25GEMProbability.cc,v 1.1 2002/06/06 18:02:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne18GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne18GEMProbability.cc index e5674bfb84..53d5773356 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne18GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne18GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne18GEMProbability.cc,v 1.1 2002/06/06 18:02:27 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne19GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne19GEMProbability.cc index 7ced61058a..8e7a6ee88f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne19GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne19GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne19GEMProbability.cc,v 1.1 2002/06/06 18:02:28 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne20GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne20GEMProbability.cc index 742c773c42..c2d29bb90c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne20GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne20GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne20GEMProbability.cc,v 1.1 2002/06/06 18:02:29 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne21GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne21GEMProbability.cc index d27ba5df5d..9e6f591086 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne21GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne21GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne21GEMProbability.cc,v 1.1 2002/06/06 18:02:30 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne22GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne22GEMProbability.cc index a59e43bb31..e72891f20b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne22GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne22GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne22GEMProbability.cc,v 1.1 2002/06/06 18:02:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne23GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne23GEMProbability.cc index b3644534ac..c1f27292b8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne23GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne23GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne23GEMProbability.cc,v 1.1 2002/06/06 18:02:33 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne24GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne24GEMProbability.cc index 8d7a6c1eb9..c65ec2a8a7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Ne24GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Ne24GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4Ne24GEMProbability.cc,v 1.1 2002/06/06 18:02:34 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronCoulombBarrier.cc index 27a9dc8cb5..59cc5f0724 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronCoulombBarrier.cc,v 1.5 2002/12/12 19:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationChannel.cc index 036271515d..f402ce6f43 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronEvaporationChannel.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationProbability.cc index b4d0281fed..2c3703dac8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronEvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronEvaporationProbability.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMChannel.cc index d7c8d06ebe..b52cc35811 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronGEMChannel.cc,v 1.1 2002/06/06 18:03:22 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMProbability.cc index ce859edd76..9d70b57260 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NeutronGEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronGEMProbability.cc,v 1.1 2002/06/06 18:03:23 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelManager.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelManager.cc index 320241761b..eb2b259ccf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelManager.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelManager.cc @@ -14,7 +14,7 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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. * @@ -24,8 +24,6 @@ // ------------------------------------------------------------------- // GEANT 4 class file // -// For information related to this code contact: -// CERN, IT Division, ASD group // CERN, Geneva, Switzerland // // File name: G4NuclearLevelManager @@ -35,14 +33,7 @@ // Creation date: 24 October 1998 // // Modifications: -// 09 Sep. 2002, Fan Lei (flei@space.qinetiq.com) -// Added moved the totalCC infront of the others in -// read(). -// -// 21 Nov. 2001, Fan Lei (flei@space.qinetiq.com) -// Added K->N+ internal conversion coefficiencies and their access -// functions -// +// // 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it) // Added half-life, angular momentum, parity, emissioni type // reading from experimental data. @@ -60,149 +51,137 @@ #include "g4std/algorithm" G4NuclearLevelManager::G4NuclearLevelManager(): - _nucleusA(0), _nucleusZ(0), _levels(0), _levelEnergy(0), _gammaEnergy(0), _probability(0) + _nucleusA(0), _nucleusZ(0), _fileName(""), _validity(false), + _levels(0), _levelEnergy(0), _gammaEnergy(0), _probability(0) { } -G4NuclearLevelManager::G4NuclearLevelManager(G4int Z, G4int A): _nucleusA(A), _nucleusZ(Z) +G4NuclearLevelManager::G4NuclearLevelManager(const G4int Z, const G4int A, const G4String& filename) : + _nucleusA(A), _nucleusZ(Z), _fileName(filename) { + if (A <= 0 || Z <= 0 || Z > A ) + G4Exception("==== G4NuclearLevelManager ==== (Z,A) <0, or Z>A"); + _levels = 0; - if (A <= 0 || Z <= 0 || Z > A ) - G4Exception("==== G4NuclearLevelManager ==== (Z,A) <0, or Z>A"); - - _levels = 0; - - MakeLevels(); + MakeLevels(); } - G4NuclearLevelManager::~G4NuclearLevelManager() { if ( _levels ) { if (_levels->size()>0) - { - G4std::for_each(_levels->begin(), _levels->end(), DeleteLevel()); - _levels->clear(); - } + { + G4std::for_each(_levels->begin(), _levels->end(), DeleteLevel()); + _levels->clear(); + } delete _levels; - _levels = 0; + _levels = 0; } } -void G4NuclearLevelManager::SetNucleus(G4int Z, G4int A) +void G4NuclearLevelManager::SetNucleus(const G4int Z, const G4int A, const G4String& filename) { - if (_nucleusZ != Z || _nucleusA != A) + if (_nucleusZ != Z || _nucleusA != A) { - _nucleusA = A; - _nucleusZ = Z; - MakeLevels(); + _nucleusA = A; + _nucleusZ = Z; + _fileName = filename; + MakeLevels(); } - + } -G4bool G4NuclearLevelManager::IsValid(G4int Z, G4int A) const +G4bool G4NuclearLevelManager::IsValid() const { - G4bool valid = true; - - if (A < 0 || Z < 0 || A < Z) valid = false; - - char* env = getenv("G4LEVELGAMMADATA"); - if (env == 0) - G4Exception("G4NuclearLevelManager - Please set the G4LEVELGAMMADATA environment variable"); - G4String dirName(env); - char name[100] = {""}; - G4std::ostrstream ost(name, 100, G4std::ios::out); - ost << dirName << "/" << "z" << Z << ".a" << A; - G4String file(name); - - G4std::ifstream inFile(file, G4std::ios::in); - - if (!inFile) valid = false; - - return valid; + return _validity; } G4int G4NuclearLevelManager::NumberOfLevels() const { - G4int n = 0; - if (_levels != 0) n = _levels->size(); - return n; + G4int n = 0; + if (_levels != 0) n = _levels->size(); + return n; } const G4PtrLevelVector* G4NuclearLevelManager::GetLevels() const { - return _levels; + return _levels; } -const G4NuclearLevel* G4NuclearLevelManager::NearestLevel(G4double energy, G4double eDiffMax) const +const G4NuclearLevel* G4NuclearLevelManager:: +NearestLevel(const G4double energy, const G4double eDiffMax) const { - G4int iNear = -1; + G4int iNear = -1; - G4double diff = 9999. * GeV; - if (_levels != 0) + G4double diff = 9999. * GeV; + if (_levels != 0) { - unsigned int i = 0; - for (i=0; i<_levels->size(); i++) + unsigned int i = 0; + for (i=0; i<_levels->size(); i++) { - G4double e = _levels->operator[](i)->Energy(); - G4double eDiff = abs(e - energy); - if (eDiff < diff && eDiff <= eDiffMax) + G4double e = _levels->operator[](i)->Energy(); + G4double eDiff = abs(e - energy); + if (eDiff < diff && eDiff <= eDiffMax) { - diff = eDiff; - iNear = i; + diff = eDiff; + iNear = i; } } } - if (_levels != 0 && iNear >= 0 && iNear < static_cast(_levels->size()) ) - { return _levels->operator[](iNear); } - else - { return 0; } + if (_levels != 0 && iNear >= 0 && iNear < static_cast(_levels->size()) ) + { + return _levels->operator[](iNear); + } + else + { + return 0; + } } G4double G4NuclearLevelManager::MinLevelEnergy() const { - G4double eMin = 9999.*GeV; - if (_levels != 0) + G4double eMin = 9999.*GeV; + if (_levels != 0) { - if (_levels->size() > 0) eMin = _levels->front()->Energy(); + if (_levels->size() > 0) eMin = _levels->front()->Energy(); } - return eMin; + return eMin; } G4double G4NuclearLevelManager::MaxLevelEnergy() const { - G4double eMax = 0.; - if (_levels != 0) + G4double eMax = 0.; + if (_levels != 0) { - if (_levels->size() > 0) eMax = _levels->back()->Energy(); + if (_levels->size() > 0) eMax = _levels->back()->Energy(); } - return eMax; + return eMax; } const G4NuclearLevel* G4NuclearLevelManager::HighestLevel() const { - if (_levels!= 0 && _levels->size() > 0) return _levels->front(); - else return 0; + if (_levels!= 0 && _levels->size() > 0) return _levels->front(); + else return 0; } const G4NuclearLevel* G4NuclearLevelManager::LowestLevel() const { - if (_levels != 0 && _levels->size() > 0) return _levels->back(); - else return 0; + if (_levels != 0 && _levels->size() > 0) return _levels->back(); + else return 0; } G4bool G4NuclearLevelManager::Read(G4std::ifstream& dataFile) { const G4double minProbability = 0.001; - + G4bool result = true; if (dataFile >> _levelEnergy) @@ -214,7 +193,7 @@ G4bool G4NuclearLevelManager::Read(G4std::ifstream& dataFile) _levelEnergy *= keV; _gammaEnergy *= keV; _halfLife *= second; - + // The following adjustment is needed to take care of anomalies in // data files, where some transitions show up with relative probability // zero @@ -239,32 +218,25 @@ G4bool G4NuclearLevelManager::Read(G4std::ifstream& dataFile) _m4CC /= _nPlusCC; _m5CC /= _nPlusCC; _nPlusCC /= _nPlusCC; - + // G4cout << "Read " << _levelEnergy << " " << _gammaEnergy << " " << _probability << G4endl; } - else + else { - result = false; + result = false; } - - return result; + + return result; } void G4NuclearLevelManager::MakeLevels() { - char* env = getenv("G4LEVELGAMMADATA"); - if (env == 0) - G4Exception("G4NuclearLevelManager: please set the G4LEVELGAMMADATA environment variable"); - G4String dirName(env); - char name[100] = {""}; - G4std::ostrstream ost(name, 100, G4std::ios::out); - ost << dirName << "/" << "z" << _nucleusZ << ".a" << _nucleusA; - G4String file(name); + _validity = false; #ifdef G4USE_STD_NAMESPACE - G4std::ifstream inFile(file, G4std::ios::in); + G4std::ifstream inFile(_fileName, G4std::ios::in); #else - ifstream inFile(file, ios::in|ios::nocreate); + ifstream inFile(_fileName, ios::in|ios::nocreate); #endif if (! inFile) { @@ -272,18 +244,25 @@ void G4NuclearLevelManager::MakeLevels() // << ") does not have LevelsAndGammas file" << G4endl; return; } - + if (_levels != 0) { - if (_levels->size()>0) - { - for(unsigned int i=0; i<_levels->size(); i++) delete _levels->operator[](i); - } + if (_levels->size()>0) + { + G4std::vector::iterator pos; + for(pos=_levels->begin(); pos!=_levels->end(); pos++) + if (*pos) delete *pos; + _levels->clear(); + } delete _levels; } + else + { + _validity = true; + } _levels = new G4PtrLevelVector; - + G4DataVector eLevel; G4DataVector eGamma; G4DataVector wGamma; @@ -302,7 +281,7 @@ void G4NuclearLevelManager::MakeLevels() G4DataVector npConve; G4DataVector toConve; - + while (Read(inFile)) { eLevel.push_back(_levelEnergy); @@ -323,14 +302,14 @@ void G4NuclearLevelManager::MakeLevels() npConve.push_back(_nPlusCC); toConve.push_back(_totalCC); } - + // ---- MGP ---- Don't forget to close the file inFile.close(); - + G4int nData = eLevel.size(); - + // G4cout << " ==== MakeLevels ===== " << nData << " data read " << G4endl; - + G4double thisLevelEnergy = eLevel[0]; G4double thisLevelHalfLife = 0.; G4double thisLevelAngMom = 0.; @@ -348,35 +327,36 @@ void G4NuclearLevelManager::MakeLevels() G4DataVector thisLevelm5CC; G4DataVector thisLevelnpCC; G4DataVector thisLeveltoCC; - + G4double e = -1.; G4int i; for (i=0; ipush_back(newLevel); // Reset data vectors thisLevelEnergies.clear(); @@ -410,100 +390,93 @@ void G4NuclearLevelManager::MakeLevels() thisLevelm5CC.push_back(m5Conve[i]); thisLevelnpCC.push_back(npConve[i]); thisLeveltoCC.push_back(toConve[i]); - thisLevelHalfLife = hLevel[i]; thisLevelAngMom = aLevel[i]; } - // Make last level - if (e > 0.) - { - G4NuclearLevel* newLevel = new G4NuclearLevel(e,thisLevelHalfLife, - thisLevelAngMom, - thisLevelEnergies, - thisLevelWeights, - thisLevelPolarities, - thisLevelkCC, - thisLevell1CC, - thisLevell2CC, - thisLevell3CC, - thisLevelm1CC, - thisLevelm2CC, - thisLevelm3CC, - thisLevelm4CC, - thisLevelm5CC, - thisLevelnpCC, - thisLeveltoCC ); - _levels->push_back(newLevel); + // Make last level + if (e > 0.) + { + G4NuclearLevel* newLevel = new G4NuclearLevel(e,thisLevelHalfLife, + thisLevelAngMom, + thisLevelEnergies, + thisLevelWeights, + thisLevelPolarities, + thisLevelkCC, + thisLevell1CC, + thisLevell2CC, + thisLevell3CC, + thisLevelm1CC, + thisLevelm2CC, + thisLevelm3CC, + thisLevelm4CC, + thisLevelm5CC, + thisLevelnpCC, + thisLeveltoCC ); + + _levels->push_back(newLevel); } - // G4std::sort(_levels->begin(), _levels->end()); - return; + + // G4std::sort(_levels->begin(), _levels->end()); + + return; } void G4NuclearLevelManager::PrintAll() { - G4int nLevels = 0; - if (_levels != 0) nLevels = _levels->size(); - - G4cout << " ==== G4NuclearLevelManager ==== (" << _nucleusZ << ", " << _nucleusA - << ") has " << nLevels << " levels" << G4endl - << "Highest level is at energy " << MaxLevelEnergy() << " MeV " - << G4endl << "Lowest level is at energy " << MinLevelEnergy() - << " MeV " << G4endl; - - G4int i = 0; - for (i=0; isize(); + + G4cout << " ==== G4NuclearLevelManager ==== (" << _nucleusZ << ", " << _nucleusA + << ") has " << nLevels << " levels" << G4endl + << "Highest level is at energy " << MaxLevelEnergy() << " MeV " + << G4endl << "Lowest level is at energy " << MinLevelEnergy() + << " MeV " << G4endl; + + G4int i = 0; + for (i=0; ioperator[](i)->PrintAll(); } } G4NuclearLevelManager::G4NuclearLevelManager(const G4NuclearLevelManager &right) { - _levelEnergy = right._levelEnergy; - _gammaEnergy = right._gammaEnergy; - _probability = right._probability; - _polarity = right._polarity; - _halfLife = right._halfLife; - _angularMomentum = right._angularMomentum; - _kCC = right._kCC; - _l1CC = right._l1CC; - _l2CC = right._l2CC; - _l3CC = right._l3CC; - _m1CC = right._m1CC; - _m2CC = right._m2CC; - _m3CC = right._m3CC; - _m4CC = right._m4CC; - _m5CC = right._m5CC; - _nPlusCC = right._nPlusCC; - _totalCC = right._totalCC; - _nucleusA = right._nucleusA; - _nucleusZ = right._nucleusZ; - if (right._levels != 0) - { - _levels = new G4PtrLevelVector; - G4int n = right._levels->size(); - G4int i; - for (i=0; ipush_back(new G4NuclearLevel(*(right._levels->operator[](i)))); - } - G4std::sort(_levels->begin(), _levels->end()); - } - else - { - _levels = 0; - } + _levelEnergy = right._levelEnergy; + _gammaEnergy = right._gammaEnergy; + _probability = right._probability; + _polarity = right._polarity; + _halfLife = right._halfLife; + _angularMomentum = right._angularMomentum; + _kCC = right._kCC; + _l1CC = right._l1CC; + _l2CC = right._l2CC; + _l3CC = right._l3CC; + _m1CC = right._m1CC; + _m2CC = right._m2CC; + _m3CC = right._m3CC; + _m4CC = right._m4CC; + _m5CC = right._m5CC; + _nPlusCC = right._nPlusCC; + _totalCC = right._totalCC; + _nucleusA = right._nucleusA; + _nucleusZ = right._nucleusZ; + _fileName = right._fileName; + _validity = right._validity; + if (right._levels != 0) + { + _levels = new G4PtrLevelVector; + G4int n = right._levels->size(); + G4int i; + for (i=0; ipush_back(new G4NuclearLevel(*(right._levels->operator[](i)))); + } + + G4std::sort(_levels->begin(), _levels->end()); + } + else + { + _levels = 0; + } } - - - - - - - - - - - - diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelStore.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelStore.cc new file mode 100644 index 0000000000..b4e1bd9545 --- /dev/null +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4NuclearLevelStore.cc @@ -0,0 +1,100 @@ +// +// ******************************************************************** +// * 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 * +// * authors in 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. * +// ******************************************************************** +// +// + +#include "G4NuclearLevelStore.hh" +#include "g4std/strstream" + +G4std::map G4NuclearLevelStore::theManagers; +G4String G4NuclearLevelStore::dirName(""); + +G4NuclearLevelStore* G4NuclearLevelStore::GetInstance() +{ + static G4NuclearLevelStore theInstance; + return &theInstance; +} + +G4NuclearLevelStore::G4NuclearLevelStore() +{ + char* env = getenv("G4LEVELGAMMADATA"); + if (env == 0) + { + G4cout << "G4NuclarLevelStore: please set the G4LEVELGAMMADATA environment variable\n"; + dirName = ""; + } + else + { + dirName = env; + dirName += '/'; + } +} + + +G4NuclearLevelStore::~G4NuclearLevelStore() +{ + G4std::map::iterator i; + for (i = theManagers.begin(); i != theManagers.end(); ++i) + { + if ( (*i).second ) delete (*i).second; + } +} + +G4String G4NuclearLevelStore::GenerateKey(const G4int Z, const G4int A) +{ + char chname[10] = {' '}; + G4std::ostrstream streamName(chname, 10, G4std::ios::out); + streamName << 'z' << Z << ".a" << A; + G4String name(chname); + return name; +} + + +G4NuclearLevelManager* G4NuclearLevelStore::GetManager(const G4int Z, const G4int A) +{ + G4NuclearLevelManager * result = 0; + if (A < 1 || Z < 1 || A < Z) + { + G4cerr << "G4NuclearLevelStore::GetManager: Wrong values Z = " << Z + << " A = " << A << '\n'; + return result; + } + // Generate the key = filename + G4String key(this->GenerateKey(Z,A)); + + // Check if already exists that key + G4std::map::iterator idx = theManagers.find(key); + // If doesn't exists then create it + if ( idx == theManagers.end() ) + { + result = new G4NuclearLevelManager(); + result->SetNucleus(Z,A,dirName + key); + theManagers.insert(G4std::make_pair(key,result)); + } + // But if it exists... + else + { + result = idx->second; + } + + return result; +} diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O14GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O14GEMProbability.cc index 92ddbced17..aa0f8d5aaf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O14GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O14GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O14GEMProbability.cc,v 1.1 2002/06/06 18:03:24 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O15GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O15GEMProbability.cc index d07ff0b0c6..d75888690e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O15GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O15GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O15GEMProbability.cc,v 1.1 2002/06/06 18:03:25 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O16GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O16GEMProbability.cc index 05be23f8da..d760adb298 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O16GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O16GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O16GEMProbability.cc,v 1.1 2002/06/06 18:03:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O17GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O17GEMProbability.cc index ca4114a9e8..5b00b8668a 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O17GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O17GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O17GEMProbability.cc,v 1.1 2002/06/06 18:03:27 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O18GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O18GEMProbability.cc index 6d30968765..8a232af134 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O18GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O18GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O18GEMProbability.cc,v 1.1 2002/06/06 18:03:28 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O19GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O19GEMProbability.cc index 1415c4b31e..c326c865a6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O19GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O19GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O19GEMProbability.cc,v 1.1 2002/06/06 18:03:30 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4O20GEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4O20GEMProbability.cc index 7fcf8e7a6c..b4ef7f1a38 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4O20GEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4O20GEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4O20GEMProbability.cc,v 1.1 2002/06/06 18:03:31 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4PairingCorrection.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4PairingCorrection.cc index 3e3d6d5f28..7659181ae8 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4PairingCorrection.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4PairingCorrection.cc @@ -22,7 +22,7 @@ // // // $Id: G4PairingCorrection.cc,v 1.6 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonCoulombBarrier.cc index 6e56821ef6..a5f77080e9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProtonCoulombBarrier.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationChannel.cc index a8bfe78a87..f699a978b0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProtonEvaporationChannel.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationProbability.cc index 802e2c7ba4..09b37abf8c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonEvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProtonEvaporationProbability.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMChannel.cc index e4c5739110..41123cc6d4 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProtonGEMChannel.cc,v 1.1 2002/06/06 18:03:32 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMProbability.cc index f83d3adbb4..047e39ea53 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ProtonGEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProtonGEMProbability.cc,v 1.1 2002/06/06 18:03:33 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept 2001) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4ShellCorrection.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4ShellCorrection.cc index d29e40d1b7..9a05853628 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4ShellCorrection.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4ShellCorrection.cc @@ -22,7 +22,7 @@ // // // $Id: G4ShellCorrection.cc,v 1.2 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4Solver.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4Solver.cc index b3a5756ac7..5fb6616a1b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4Solver.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4Solver.cc @@ -22,7 +22,7 @@ // // // $Id: G4Solver.cc,v 1.5 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StableFermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StableFermiFragment.cc index 23f38aaa39..31908cfec1 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StableFermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StableFermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4StableFermiFragment.cc,v 1.6 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMF.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMF.cc index e6d3f56385..59785d538d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMF.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMF.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMF.cc,v 1.14 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFChannel.cc index b20d6b8d48..db16f1298e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFChannel.cc,v 1.12 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFFragment.cc index 59400560f3..e5473cb9bf 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFFragment.cc,v 1.10 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroBiNucleon.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroBiNucleon.cc index 9d0a41787f..f57153990d 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroBiNucleon.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroBiNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroBiNucleon.cc,v 1.10 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroChemicalPotential.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroChemicalPotential.cc index 0ab22be91c..5be1151758 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroChemicalPotential.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroChemicalPotential.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroChemicalPotential.cc,v 1.8 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiNucleon.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiNucleon.cc index fe05583644..533cdf399f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiNucleon.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroMultiNucleon.cc,v 1.11 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiplicity.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiplicity.cc index 4e182bbdc6..30dfe5c608 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiplicity.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroMultiplicity.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroMultiplicity.cc,v 1.7 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroNucleon.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroNucleon.cc index 4991fee624..9563b8074b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroNucleon.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroNucleon.cc,v 1.9 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTemperature.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTemperature.cc index 5718965521..98455ba2ba 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTemperature.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTemperature.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTemperature.cc,v 1.10 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTetraNucleon.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTetraNucleon.cc index fdf2b0490c..70c2e1c398 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTetraNucleon.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTetraNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTetraNucleon.cc,v 1.10 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTriNucleon.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTriNucleon.cc index e562b771a0..fc3c1d49a3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTriNucleon.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacroTriNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroTriNucleon.cc,v 1.10 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacrocanonical.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacrocanonical.cc index 00e705ea22..7d6a8fbb69 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacrocanonical.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMacrocanonical.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMacroCanonical.cc,v 1.12 2002/12/12 19:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara // -------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroManager.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroManager.cc index 035e0d0677..f34b49821c 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroManager.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroManager.cc,v 1.7 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroPartition.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroPartition.cc index be2e3c425e..a9ee41fcde 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroPartition.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicroPartition.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroPartition.cc,v 1.14 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara // -------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicrocanonical.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicrocanonical.cc index d58eeee520..abf95e05f7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicrocanonical.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFMicrocanonical.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFMicroCanonical.cc,v 1.11 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFParameters.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFParameters.cc index e13499f425..b6fbe5d42e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFParameters.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4StatMFParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4StatMFParameters.cc,v 1.7 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonCoulombBarrier.cc index 6c455f14f2..aea62ec06e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4TritonCoulombBarrier.cc,v 1.5 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationChannel.cc index a69f1b9995..f777ee2bc6 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4TritonEvaporationChannel.cc,v 1.5 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationProbability.cc index e34df4cb47..28d46887e0 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonEvaporationProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4TritonEvaporationProbability.cc,v 1.5 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMChannel.cc index 664f3f7e47..52f73f1795 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4TritonGEMChannel.cc,v 1.1 2002/06/06 18:04:25 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMProbability.cc index 611463d2c0..278ac2a6f2 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4TritonGEMProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4TritonGEMProbability.cc,v 1.1 2002/06/06 18:04:26 larazb Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4UnstableFermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4UnstableFermiFragment.cc index a5c10cf612..bb20f1ed6f 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4UnstableFermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4UnstableFermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4UnstableFermiFragment.cc,v 1.8 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VCoulombBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VCoulombBarrier.cc index 065117153e..f5a248f5fc 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VCoulombBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VCoulombBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4VCoulombBarrier.cc,v 1.5 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VEmissionProbability.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VEmissionProbability.cc index dfe0d82915..19a0a4ced9 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VEmissionProbability.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VEmissionProbability.cc @@ -22,7 +22,7 @@ // // // $Id: G4VEmissionProbability.cc,v 1.7 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporation.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporation.cc index 6ab667c051..dbbc4b0059 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporation.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporation.cc @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporation.cc,v 1.6 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) writen from G4Evaporation.cc (May 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationChannel.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationChannel.cc index db78c7e8e4..8f861fb3b3 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationChannel.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationChannel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporationChannel.cc,v 1.6 2002/12/12 19:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationFactory.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationFactory.cc index 58744fda74..50c8e4d84b 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationFactory.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VEvaporationFactory.cc @@ -22,7 +22,7 @@ // // // $Id: G4VEvaporationFactory.cc,v 1.2 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiBreakUp.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiBreakUp.cc index 632c68b800..e28ce226f7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiBreakUp.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiBreakUp.cc @@ -22,7 +22,7 @@ // // // $Id: G4VFermiBreakUp.cc,v 1.6 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiFragment.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiFragment.cc index 846e2c7633..0ca7419f43 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiFragment.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VFermiFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4VFermiFragment.cc,v 1.6 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VFissionBarrier.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VFissionBarrier.cc index cb7d895b02..ea53204160 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VFissionBarrier.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VFissionBarrier.cc @@ -22,7 +22,7 @@ // // // $Id: G4VFissionBarrier.cc,v 1.6 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VLevelDensityParameter.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VLevelDensityParameter.cc index bf2723eeed..c78e5c69a7 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VLevelDensityParameter.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VLevelDensityParameter.cc @@ -22,7 +22,7 @@ // // // $Id: G4VLevelDensityParameter.cc,v 1.6 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VMultiFragmentation.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VMultiFragmentation.cc index a14428edee..361e9a716e 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VMultiFragmentation.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VMultiFragmentation.cc @@ -22,7 +22,7 @@ // // // $Id: G4VMultiFragmentation.cc,v 1.7 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFEnsemble.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFEnsemble.cc index 1f471a97b0..1397bdb7de 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFEnsemble.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFEnsemble.cc @@ -22,7 +22,7 @@ // // // $Id: G4VStatMFEnsemble.cc,v 1.6 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFMacroCluster.cc b/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFMacroCluster.cc index 599e38de61..ef78174589 100644 --- a/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFMacroCluster.cc +++ b/source/processes/hadronic/models/generator/de_excitation/src/G4VStatMFMacroCluster.cc @@ -22,7 +22,7 @@ // // // $Id: G4VStatMFMacroCluster.cc,v 1.7 2002/12/12 19:17:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/generator/diffractive_string/include/G4DiffractiveSplitableHadron.hh b/source/processes/hadronic/models/generator/diffractive_string/include/G4DiffractiveSplitableHadron.hh index 7ee12545f2..531c37ce24 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/include/G4DiffractiveSplitableHadron.hh +++ b/source/processes/hadronic/models/generator/diffractive_string/include/G4DiffractiveSplitableHadron.hh @@ -22,7 +22,7 @@ // // // $Id: G4DiffractiveSplitableHadron.hh,v 1.6 2002/12/12 19:17:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4DiffractiveSplitableHadron_h diff --git a/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFModel.hh b/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFModel.hh index 6660922ea8..6d1ba065c2 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFModel.hh +++ b/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4FTFModel.hh,v 1.7 2002/12/12 19:17:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class Description // Final state production code for hadron inelastic scattering above 20 GeV diff --git a/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFParticipants.hh b/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFParticipants.hh index 47ab7c4a0a..7290d35b41 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFParticipants.hh +++ b/source/processes/hadronic/models/generator/diffractive_string/include/G4FTFParticipants.hh @@ -22,7 +22,7 @@ // // // $Id: G4FTFParticipants.hh,v 1.8 2002/12/12 19:17:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4FTFParticipants_h diff --git a/source/processes/hadronic/models/generator/diffractive_string/src/G4DiffractiveSplitableHadron.cc b/source/processes/hadronic/models/generator/diffractive_string/src/G4DiffractiveSplitableHadron.cc index ba3608719f..7115cd63d0 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/src/G4DiffractiveSplitableHadron.cc +++ b/source/processes/hadronic/models/generator/diffractive_string/src/G4DiffractiveSplitableHadron.cc @@ -22,7 +22,7 @@ // // // $Id: G4DiffractiveSplitableHadron.cc,v 1.8 2002/12/12 19:17:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFModel.cc b/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFModel.cc index 40e83f92c7..8bec7a67e8 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFModel.cc +++ b/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4FTFModel.cc,v 1.10 2002/12/12 19:17:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFParticipants.cc b/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFParticipants.cc index 73fd40a113..fa6dd223d7 100644 --- a/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFParticipants.cc +++ b/source/processes/hadronic/models/generator/diffractive_string/src/G4FTFParticipants.cc @@ -22,7 +22,7 @@ // // // $Id: G4FTFParticipants.cc,v 1.7 2002/12/12 19:17:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/high_energy/include/G4TheoFSGenerator.hh b/source/processes/hadronic/models/generator/high_energy/include/G4TheoFSGenerator.hh index 54a015ba62..2b733587ff 100644 --- a/source/processes/hadronic/models/generator/high_energy/include/G4TheoFSGenerator.hh +++ b/source/processes/hadronic/models/generator/high_energy/include/G4TheoFSGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: G4TheoFSGenerator.hh,v 1.7 2002/12/12 19:17:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Class Description diff --git a/source/processes/hadronic/models/generator/high_energy/src/G4TheoFSGenerator.cc b/source/processes/hadronic/models/generator/high_energy/src/G4TheoFSGenerator.cc index bb02d7ef12..fa9d2dfc97 100644 --- a/source/processes/hadronic/models/generator/high_energy/src/G4TheoFSGenerator.cc +++ b/source/processes/hadronic/models/generator/high_energy/src/G4TheoFSGenerator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4TheoFSGenerator.cc,v 1.9 2002/12/12 19:17:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4TheoFSGenerator.cc,v 1.10 2003/02/04 10:16:02 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4TheoFSGenerator #include "G4DynamicParticle.hh" @@ -67,6 +67,7 @@ int G4TheoFSGenerator::operator!=(const G4TheoFSGenerator &right) const G4VParticleChange * G4TheoFSGenerator::ApplyYourself(const G4Track & thePrimary, G4Nucleus &theNucleus) { // init particle change + theParticleChange->Clear(); theParticleChange->Initialize(thePrimary); theParticleChange->SetStatusChange(fStopAndKill); diff --git a/source/processes/hadronic/models/generator/management/include/G4V3DNucleus.hh b/source/processes/hadronic/models/generator/management/include/G4V3DNucleus.hh index da1804ac73..3d5733465e 100644 --- a/source/processes/hadronic/models/generator/management/include/G4V3DNucleus.hh +++ b/source/processes/hadronic/models/generator/management/include/G4V3DNucleus.hh @@ -22,7 +22,7 @@ // // // $Id: G4V3DNucleus.hh,v 1.10 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4V3DNucleus_h #define G4V3DNucleus_h 1 diff --git a/source/processes/hadronic/models/generator/management/include/G4VHighEnergyGenerator.hh b/source/processes/hadronic/models/generator/management/include/G4VHighEnergyGenerator.hh index 035b3a4e38..a76030a11d 100644 --- a/source/processes/hadronic/models/generator/management/include/G4VHighEnergyGenerator.hh +++ b/source/processes/hadronic/models/generator/management/include/G4VHighEnergyGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: G4VHighEnergyGenerator.hh,v 1.7 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VHighEnergyGenerator_h #define G4VHighEnergyGenerator_h 1 diff --git a/source/processes/hadronic/models/generator/management/include/G4VIntraNuclearTransportModel.hh b/source/processes/hadronic/models/generator/management/include/G4VIntraNuclearTransportModel.hh index 96b8bbe0d0..a0da486eb8 100644 --- a/source/processes/hadronic/models/generator/management/include/G4VIntraNuclearTransportModel.hh +++ b/source/processes/hadronic/models/generator/management/include/G4VIntraNuclearTransportModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VIntraNuclearTransportModel.hh,v 1.9 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: G4IntraNuclearTransportMode.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/management/include/G4VKineticNucleon.hh b/source/processes/hadronic/models/generator/management/include/G4VKineticNucleon.hh index 039a76e920..6adf381d65 100644 --- a/source/processes/hadronic/models/generator/management/include/G4VKineticNucleon.hh +++ b/source/processes/hadronic/models/generator/management/include/G4VKineticNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4VKineticNucleon.hh,v 1.5 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VKineticNucleon_h #define G4VKineticNucleon_h 1 diff --git a/source/processes/hadronic/models/generator/management/include/G4VNuclearDensity.hh b/source/processes/hadronic/models/generator/management/include/G4VNuclearDensity.hh index 5b8e7aa5a6..248c11c5a2 100644 --- a/source/processes/hadronic/models/generator/management/include/G4VNuclearDensity.hh +++ b/source/processes/hadronic/models/generator/management/include/G4VNuclearDensity.hh @@ -22,7 +22,7 @@ // // // $Id: G4VNuclearDensity.hh,v 1.7 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VNuclearDensity_h #define G4VNuclearDensity_h 1 diff --git a/source/processes/hadronic/models/generator/management/include/G4VPreCompoundModel.hh b/source/processes/hadronic/models/generator/management/include/G4VPreCompoundModel.hh index d46b233c56..f37ce1697a 100644 --- a/source/processes/hadronic/models/generator/management/include/G4VPreCompoundModel.hh +++ b/source/processes/hadronic/models/generator/management/include/G4VPreCompoundModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundModel.hh,v 1.7 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VPreCompoundModel_h diff --git a/source/processes/hadronic/models/generator/management/src/G4V3DNucleus.cc b/source/processes/hadronic/models/generator/management/src/G4V3DNucleus.cc index c93da4f94b..3102add886 100644 --- a/source/processes/hadronic/models/generator/management/src/G4V3DNucleus.cc +++ b/source/processes/hadronic/models/generator/management/src/G4V3DNucleus.cc @@ -22,7 +22,7 @@ // // // $Id: G4V3DNucleus.cc,v 1.5 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4V3DNucleus.hh" diff --git a/source/processes/hadronic/models/generator/management/src/G4VHighEnergyGenerator.cc b/source/processes/hadronic/models/generator/management/src/G4VHighEnergyGenerator.cc index aab14b0a5e..ab63b55727 100644 --- a/source/processes/hadronic/models/generator/management/src/G4VHighEnergyGenerator.cc +++ b/source/processes/hadronic/models/generator/management/src/G4VHighEnergyGenerator.cc @@ -22,7 +22,7 @@ // // // $Id: G4VHighEnergyGenerator.cc,v 1.5 2002/12/12 19:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VHighEnergyGenerator #include "G4VHighEnergyGenerator.hh" diff --git a/source/processes/hadronic/models/generator/management/src/G4VIntraNuclearTransportModel.cc b/source/processes/hadronic/models/generator/management/src/G4VIntraNuclearTransportModel.cc index c1d8b3f49b..cf4b321dc6 100644 --- a/source/processes/hadronic/models/generator/management/src/G4VIntraNuclearTransportModel.cc +++ b/source/processes/hadronic/models/generator/management/src/G4VIntraNuclearTransportModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VIntraNuclearTransportModel.cc,v 1.6 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: G4VIntraNuclearTransportModel.cc,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/management/src/G4VKineticNucleon.cc b/source/processes/hadronic/models/generator/management/src/G4VKineticNucleon.cc index 01803a5003..cd630068bd 100644 --- a/source/processes/hadronic/models/generator/management/src/G4VKineticNucleon.cc +++ b/source/processes/hadronic/models/generator/management/src/G4VKineticNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4VKineticNucleon.cc,v 1.5 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VKineticNucleon.hh" diff --git a/source/processes/hadronic/models/generator/management/src/G4VNuclearDensity.cc b/source/processes/hadronic/models/generator/management/src/G4VNuclearDensity.cc index fa1e56044f..e4ba5bb47b 100644 --- a/source/processes/hadronic/models/generator/management/src/G4VNuclearDensity.cc +++ b/source/processes/hadronic/models/generator/management/src/G4VNuclearDensity.cc @@ -22,7 +22,7 @@ // // // $Id: G4VNuclearDensity.cc,v 1.6 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VNuclearDensity.hh" diff --git a/source/processes/hadronic/models/generator/management/src/G4VPreCompoundModel.cc b/source/processes/hadronic/models/generator/management/src/G4VPreCompoundModel.cc index 91bd260740..1b8a70d007 100644 --- a/source/processes/hadronic/models/generator/management/src/G4VPreCompoundModel.cc +++ b/source/processes/hadronic/models/generator/management/src/G4VPreCompoundModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundModel.cc,v 1.5 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VPreCompoundModel.hh" diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4LowEIonFragmentation.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4LowEIonFragmentation.hh index 6786dea2b2..1347dcc4fc 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4LowEIonFragmentation.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4LowEIonFragmentation.hh @@ -22,7 +22,7 @@ // // // $Id: G4LowEIonFragmentation.hh,v 1.7 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by H.P. Wellisch diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundAlpha.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundAlpha.hh index b527815be9..b6e7f003fc 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundAlpha.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundAlpha.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundAlpha.hh,v 1.12 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundDeuteron.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundDeuteron.hh index dc5dee0783..4ea9c747cd 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundDeuteron.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundDeuteron.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundDeuteron.hh,v 1.12 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundEmission.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundEmission.hh index 02a9438c3e..a1fd50f931 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundEmission.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundEmission.hh @@ -21,7 +21,7 @@ // ******************************************************************** // // $Id: G4PreCompoundEmission.hh,v 1.9 2002/12/12 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.hh index 223efc95ee..e09372d5d2 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundFragmentVector.hh,v 1.6 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.icc b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.icc index 84ee681368..00beaa1fd7 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.icc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundFragmentVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundFragmentVector.icc,v 1.2 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundHe3.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundHe3.hh index 255809ced9..d6e6eda7d6 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundHe3.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundHe3.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundHe3.hh,v 1.12 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundModel.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundModel.hh index effd331fbd..ac6102fa1f 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundModel.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundModel.hh @@ -21,8 +21,6 @@ // ******************************************************************** // // -// $Id: G4PreCompoundModel.hh,v 1.17 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ // // by V. Lara @@ -63,7 +61,7 @@ public: private: G4PreCompoundModel() {}; - G4PreCompoundModel(const G4PreCompoundModel &right) {}; + G4PreCompoundModel(const G4PreCompoundModel &right) : G4VPreCompoundModel() {}; const G4PreCompoundModel& operator=(const G4PreCompoundModel &right); G4bool operator==(const G4PreCompoundModel &right) const; diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundNeutron.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundNeutron.hh index ec4ed43b21..1949d87c3f 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundNeutron.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundNeutron.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundNeutron.hh,v 1.12 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundParameters.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundParameters.hh index 73dbdc024f..006b27c7fb 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundParameters.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundParameters.hh,v 1.9 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundProton.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundProton.hh index 6a8914caf6..67a6e346e0 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundProton.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundProton.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundProton.hh,v 1.13 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTransitions.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTransitions.hh index b1e2b048ed..01169b9923 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTransitions.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTransitions.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundTransitions.hh,v 1.8 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTriton.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTriton.hh index 659746c6e6..4bbd2be74d 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTriton.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4PreCompoundTriton.hh @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundTriton.hh,v 1.12 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.hh index 8e0ad17d1a..562a286d9e 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundFragment.hh,v 1.13 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.icc b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.icc index 1fcef5bd34..1ab8a6f37a 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.icc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundFragment.icc @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundFragment.icc,v 1.3 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundIon.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundIon.hh index 19ae6474d0..8921455188 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundIon.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundIon.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundIon.hh,v 1.11 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundNucleon.hh b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundNucleon.hh index f5ee1b2189..94c7aee250 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundNucleon.hh +++ b/source/processes/hadronic/models/generator/pre_equilibrium/include/G4VPreCompoundNucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundNucleon.hh,v 1.9 2002/12/12 19:17:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundEmission.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundEmission.cc index 6ad91b63e3..179155ccc6 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundEmission.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundEmission.cc @@ -14,15 +14,15 @@ // * use. * // * * // * This code implementation is the intellectual property of the * -// * GEANT4 collaboration. * +// * authors in 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: G4PreCompoundEmission.cc,v 1.11.4.1 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PreCompoundEmission.cc,v 1.12 2002/12/05 11:08:42 larazb Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara @@ -236,7 +236,7 @@ G4double G4PreCompoundEmission::rho(const G4double p, const G4double h, const G4 const G4double E, const G4double Ef) const { // Values of factorial function from 0 to 50 - static const G4double fact[51] = {1.0, 2.0, 6.0, 24.0, 120.0, 720.0, 5040.0, 40320.0, 362880.0, + static const G4double fact[51] = {1.0, 1.0, 2.0, 6.0, 24.0, 120.0, 720.0, 5040.0, 40320.0, 362880.0, 3628800.0, 39916800.0, 479001600.0, 6227020800.0, 87178291200.0, 1307674368000.0, 20922789888000.0, 355687428096000.0, 6402373705728000.0, 121645100408832000.0, 2432902008176640000.0, diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundFragmentVector.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundFragmentVector.cc index 72e68b5b8c..de5e7824a3 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundFragmentVector.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundFragmentVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundFragmentVector.cc,v 1.10 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundModel.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundModel.cc index 40285a8bcd..376b35c9b2 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundModel.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundModel.cc,v 1.23 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundParameters.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundParameters.cc index f3d065d8a2..b0d0315beb 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundParameters.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundParameters.cc,v 1.8 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundTransitions.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundTransitions.cc index 07f1519b8a..e234493f82 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundTransitions.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4PreCompoundTransitions.cc @@ -22,7 +22,7 @@ // // // $Id: G4PreCompoundTransitions.cc,v 1.11 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundFragment.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundFragment.cc index e7be2f3af1..0a9e203177 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundFragment.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundFragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundFragment.cc,v 1.16 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundIon.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundIon.cc index d49ea97253..c5adf1f40a 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundIon.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundIon.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundIon.cc,v 1.15 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundNucleon.cc b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundNucleon.cc index 965c71833a..d37c3f35db 100644 --- a/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundNucleon.cc +++ b/source/processes/hadronic/models/generator/pre_equilibrium/src/G4VPreCompoundNucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPreCompoundNucleon.cc,v 1.2 2002/12/12 19:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // by V. Lara diff --git a/source/processes/hadronic/models/generator/quark_gluon_string/include/G4InelasticSplitableHadron.hh b/source/processes/hadronic/models/generator/quark_gluon_string/include/G4InelasticSplitableHadron.hh index c7bae3e275..c031a348d3 100644 --- a/source/processes/hadronic/models/generator/quark_gluon_string/include/G4InelasticSplitableHadron.hh +++ b/source/processes/hadronic/models/generator/quark_gluon_string/include/G4InelasticSplitableHadron.hh @@ -22,7 +22,7 @@ // // // $Id: G4InelasticSplitableHadron.hh,v 1.6 2002/12/12 19:17:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InelasticSplitableHadron_h diff --git a/source/processes/hadronic/models/generator/scattering/README b/source/processes/hadronic/models/generator/scattering/README deleted file mode 100644 index c90cf08088..0000000000 --- a/source/processes/hadronic/models/generator/scattering/README +++ /dev/null @@ -1,2 +0,0 @@ -The tuning of resonances can still improve in a iteration on short-lived particles. - diff --git a/source/processes/hadronic/models/generator/scattering/TAGINFO b/source/processes/hadronic/models/generator/scattering/TAGINFO deleted file mode 100644 index 9759ac3291..0000000000 --- a/source/processes/hadronic/models/generator/scattering/TAGINFO +++ /dev/null @@ -1,11 +0,0 @@ -scattering-baseline-0: - - nucleon nucleon and pion nucleon scattering included, and technically tested to run. - - nucleon nucleon: - - elastic for pp, np, pn, nn - - resonance creation: ND, DD, ND*, DD*, NN*, DN* channels included - - pion nucleon: - - elastic pi+-0 n/p scattering - - piN->Resonance: D, D*, N* included. diff --git a/source/processes/hadronic/models/generator/scattering/elastic.logbook b/source/processes/hadronic/models/generator/scattering/elastic.logbook deleted file mode 100644 index f427f33641..0000000000 --- a/source/processes/hadronic/models/generator/scattering/elastic.logbook +++ /dev/null @@ -1,31 +0,0 @@ -done - G4CollisionNNElastic.hh -done - G4CollisionnpElastic.hh -done - G4CollisionNDeltaElastic.hh -done - G4CollisionMesonBaryonElastic.hh -not needed G4CollisionNDeltastarElastic.hh -G4CollisionDeltaDeltaElastic.hh -G4CollisionDeltaDeltastarElastic.hh -G4CollisionMesonMesonElastic.hh -G4CollisionBaryonAntiBaryonElastic.hh -G4CollisionBaryonBaryonElastic.hh -G4CollisionDeltaNstarElastic.hh -G4CollisionNNstarElastic.hh -G4CollisionStarStarElastic.hh - -delta(1600)", "delta(1620)", "delta(1700)", "delta(1900)", "delta(1905)", - "delta(1910)", "delta(1920)", "delta(1930)", "delta(1950)" - - "N(1440)", "N(1520)", "N(1535)", "N(1650)", "N(1675)", - "N(1680)", "N(1700)", "N(1710)", "N(1720)", "N(1900)", - "N(1990)", "N(2090)", "N(2190)", "N(2220)", "N(2250)" - - { "b1(1235)", "h1(1170)", "h1(1380)", "k1(1270)", "k1(1270)" }, - { "a0(1450)", "f0(1370)", "", "k0_star(1430)", "k0_star(1430)" }, - { "a1(1260)", "f1(1285)", "f1(1420)", "k1(1400)", "k1(1400)" }, - { "a2(1320)", "f2(1270)","f2_prime(1525)","k2_star(1430)","k2_star(1430)"}, - {"pi2(1670)", "eta2(1645)", "eta2(1870)", "k2(1770)", "k2(1770)" }, - {"rho(1700)", "omega(1600)", "", "k_star(1680)", "k_star(1680)" }, - {"rho3(1690)","omega3(1670)","phi3(1850)", "k3_star(1780)", "k3_star(1780)" }, - { "pi(1300)", "eta(1295)", "eta(1440)", "k(1460)", "k(1460)" }, - {"rho(1450)","omega(1420)", "phi(1680)", "k_star(1410)", "k_star(1410)" }, - { "", "f2(1810)", "f2(2010)", "k2_star(1980)", "k2_star(1980)" } diff --git a/source/processes/hadronic/models/generator/scattering/include/G4CollisionInitialState.hh b/source/processes/hadronic/models/generator/scattering/include/G4CollisionInitialState.hh index 6f784bdc86..6395b713a8 100644 --- a/source/processes/hadronic/models/generator/scattering/include/G4CollisionInitialState.hh +++ b/source/processes/hadronic/models/generator/scattering/include/G4CollisionInitialState.hh @@ -22,7 +22,7 @@ // // // $Id: G4CollisionInitialState.hh,v 1.2 2002/12/12 19:17:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: G4CollisionInitialState.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/scattering/include/G4ListOfCollisions.hh b/source/processes/hadronic/models/generator/scattering/include/G4ListOfCollisions.hh index e2a71a4523..38cdeb3575 100644 --- a/source/processes/hadronic/models/generator/scattering/include/G4ListOfCollisions.hh +++ b/source/processes/hadronic/models/generator/scattering/include/G4ListOfCollisions.hh @@ -22,7 +22,7 @@ // // // $Id: G4ListOfCollisions.hh,v 1.2 2002/12/12 19:17:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: G4ListOfCollisions.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/scattering/src/G4AngularDistribution.cc b/source/processes/hadronic/models/generator/scattering/src/G4AngularDistribution.cc index c222f42f3c..c94ad78f21 100644 --- a/source/processes/hadronic/models/generator/scattering/src/G4AngularDistribution.cc +++ b/source/processes/hadronic/models/generator/scattering/src/G4AngularDistribution.cc @@ -24,7 +24,6 @@ #include "globals.hh" #include "G4AngularDistribution.hh" #include "Randomize.hh" -#include "PhysicalConstants.h" G4AngularDistribution::G4AngularDistribution(G4bool symmetrize) : sym(symmetrize) diff --git a/source/processes/hadronic/models/generator/scattering/src/G4CollisionManager.cc b/source/processes/hadronic/models/generator/scattering/src/G4CollisionManager.cc index 8b4c36fb30..136003f198 100644 --- a/source/processes/hadronic/models/generator/scattering/src/G4CollisionManager.cc +++ b/source/processes/hadronic/models/generator/scattering/src/G4CollisionManager.cc @@ -40,9 +40,21 @@ void G4CollisionManager::AddCollision(G4double time, G4KineticTrack * proj, G4KineticTrack * target) { - G4CollisionInitialState * - collision = new G4CollisionInitialState(time, proj, target); - theCollisionList->push_back(collision); + if ( time < DBL_MAX ) + { + G4CollisionInitialState * + collision = new G4CollisionInitialState(time, proj, target); + theCollisionList->push_back(collision); + } else { + G4cerr << "G4Scatterer invalid TimeTo Interaction : " << time; + G4cerr <<" projectile "<Get4Momentum()<<" " + <GetDefinition()->GetParticleName()<Get4Momentum()<<" " + <GetDefinition()->GetParticleName()<GetCollisionTime()<<" "<GetPrimary()->Get4Momentum()<<" " <<(*i)->GetPrimary()->GetDefinition()->GetParticleName()<GetTarget()->Get4Momentum()<<" " + if ((*i)->GetTarget()) G4cerr <<" target "<<(*i)->GetTarget()->Get4Momentum()<<" " <<(*i)->GetTarget()->GetDefinition()->GetParticleName()<GetPDGMass() + trk2.GetDefinition()->GetPDGMass() < sqrtS) +// if (trk1.GetDefinition()->GetPDGMass() + trk2.GetDefinition()->GetPDGMass() < sqrtS) + if (trk1.GetActualMass() + trk2.GetActualMass() < sqrtS) { G4LorentzVector mom1 = trk1.Get4Momentum(); // The nucleons of the nucleus are FROZEN, ie. do not move.. @@ -247,6 +248,7 @@ G4double G4Scatterer::GetTimeToInteraction(const G4KineticTrack& trk1, << ", mass1 = " << trk1.GetDefinition()->GetPDGMass() << ", mass2 = " << trk2.GetDefinition()->GetPDGMass() << G4endl; + G4Exception("G4Scatterer TimeToInteraction is INF"); // End of debugging */ } diff --git a/source/processes/hadronic/models/generator/scattering/src/G4VAngularDistribution.cc b/source/processes/hadronic/models/generator/scattering/src/G4VAngularDistribution.cc index f42be3eac5..063e4685be 100644 --- a/source/processes/hadronic/models/generator/scattering/src/G4VAngularDistribution.cc +++ b/source/processes/hadronic/models/generator/scattering/src/G4VAngularDistribution.cc @@ -20,7 +20,7 @@ // * statement, and all its terms. * // ******************************************************************** // -// $Id: G4VAngularDistribution.cc,v 1.2 2002/12/12 19:17:52 gunter Exp $ // +// $Id: G4VAngularDistribution.cc,v 1.3 2003/02/05 15:43:42 gcosmo Exp $ // // // // ------------------------------------------------------------------- @@ -43,7 +43,6 @@ #include "globals.hh" #include "G4VAngularDistribution.hh" #include "Randomize.hh" -#include "PhysicalConstants.h" G4double G4VAngularDistribution::Phi() const { diff --git a/source/processes/hadronic/models/generator/scattering/src/G4VScatteringCollision.cc b/source/processes/hadronic/models/generator/scattering/src/G4VScatteringCollision.cc index 08657e49a9..92fe8e92ab 100644 --- a/source/processes/hadronic/models/generator/scattering/src/G4VScatteringCollision.cc +++ b/source/processes/hadronic/models/generator/scattering/src/G4VScatteringCollision.cc @@ -76,12 +76,12 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t G4double outm2 = OutputDefinitions[1]->GetPDGMass(); if (OutputDefinitions[0]->IsShortLived()) - outm1 = SampleResonanceMass(outm1, OutputDefinitions[0]->GetPDGWidth(), + outm1 = SampleResonanceMass(outm1, OutputDefinitions[0]->GetPDGWidth(), G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass(), - sqrtS-outm2); + sqrtS-(G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass())); if (OutputDefinitions[1]->IsShortLived()) - outm2 = SampleResonanceMass(outm2, OutputDefinitions[1]->GetPDGWidth(), + outm2 = SampleResonanceMass(outm2, OutputDefinitions[1]->GetPDGWidth(), G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass(), sqrtS-outm1); @@ -100,15 +100,15 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t G4ThreeVector pFinal1(sin(acos(cosTheta))*cos(phi), sin(acos(cosTheta))*sin(phi), cosTheta); - // Three momentum in cm system + // Three momentum in cm system G4double pCM = sqrt( (s-(outm1+outm2)*(outm1+outm2)) * (s-(outm1-outm2)*(outm1-outm2)) /(4.*s)); - pFinal1 = pFinal1 * pCM; + pFinal1 = pFinal1 * pCM; G4ThreeVector pFinal2 = -pFinal1; G4double eFinal1 = sqrt(pFinal1.mag2() + outm1*outm1); G4double eFinal2 = sqrt(pFinal2.mag2() + outm2*outm2); - - G4LorentzVector p4Final1(pFinal1, eFinal1); + + G4LorentzVector p4Final1(pFinal1, eFinal1); G4LorentzVector p4Final2(pFinal2, eFinal2); p4Final1 = toCMS*p4Final1; p4Final2 = toCMS*p4Final2; @@ -120,12 +120,12 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t p4Final2 *= toLabFrame; // Final tracks are copies of incoming ones, with modified 4-momenta - - G4KineticTrack* final1 = new G4KineticTrack(const_cast(OutputDefinitions[0]), 0.0, + + G4KineticTrack* final1 = new G4KineticTrack(const_cast(OutputDefinitions[0]), 0.0, trk1.GetPosition(), p4Final1); - G4KineticTrack* final2 = new G4KineticTrack(const_cast(OutputDefinitions[1]), 0.0, + G4KineticTrack* final2 = new G4KineticTrack(const_cast(OutputDefinitions[1]), 0.0, trk2.GetPosition(), p4Final2); - + G4KineticTrackVector* finalTracks = new G4KineticTrackVector; finalTracks->push_back(final1); @@ -146,17 +146,16 @@ double G4VScatteringCollision::SampleResonanceMass(const double poleMass, // width gamma and pole poleMass G4double minMass = aMinMass; + if (minMass > maxMass) G4cerr << "##################### SampleResonanceMass: particle out of mass range" << G4endl; if(minMass > maxMass) minMass -= G4PionPlus::PionPlus()->GetPDGMass(); if(minMass > maxMass) minMass = 0; - // if (poleMass > maxMass || poleMass < minMass) - // G4cerr << "SampleResonanceMass: particle out of mass range" << G4endl; - + if (gamma < 1E-10*GeV) return G4std::max(minMass,G4std::min(maxMass, poleMass)); else { double fmin = BrWigInt0(minMass, gamma, poleMass); double fmax = BrWigInt0(maxMass, gamma, poleMass); double f = fmin + (fmax-fmin)*G4UniformRand(); - return BrWigInv(f, gamma, poleMass); + return BrWigInv(f, gamma, poleMass); } } diff --git a/source/processes/hadronic/models/generator/string_common/include/G4EventGenerator.hh b/source/processes/hadronic/models/generator/string_common/include/G4EventGenerator.hh index 2d4ccce7b0..2029c246f5 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4EventGenerator.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4EventGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: G4EventGenerator.hh,v 1.5 2002/12/12 19:17:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4EventGenerator_h #define G4EventGenerator_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/include/G4InteractionCode.hh b/source/processes/hadronic/models/generator/string_common/include/G4InteractionCode.hh index 743beafdc8..6c03c0e286 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4InteractionCode.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4InteractionCode.hh @@ -22,7 +22,7 @@ // // // $Id: G4InteractionCode.hh,v 1.5 2002/12/12 19:17:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InteractionCode_h #define G4InteractionCode_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/include/G4InteractionContent.hh b/source/processes/hadronic/models/generator/string_common/include/G4InteractionContent.hh index 86e8e31efe..cee9461fef 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4InteractionContent.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4InteractionContent.hh @@ -22,7 +22,7 @@ // // // $Id: G4InteractionContent.hh,v 1.7 2002/12/12 19:17:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InteractionContent_h diff --git a/source/processes/hadronic/models/generator/string_common/include/G4PomeronCrossSection.hh b/source/processes/hadronic/models/generator/string_common/include/G4PomeronCrossSection.hh index 6fd65f581a..e519a4cec3 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4PomeronCrossSection.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4PomeronCrossSection.hh @@ -24,7 +24,7 @@ #define G4PomeronCrossSection_h 1 // // $Id: G4PomeronCrossSection.hh,v 1.7 2002/12/12 19:17:54 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Proton.hh" #include "G4Neutron.hh" diff --git a/source/processes/hadronic/models/generator/string_common/include/G4StringModel.hh b/source/processes/hadronic/models/generator/string_common/include/G4StringModel.hh index 6ddb18dcfd..0321d55657 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4StringModel.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4StringModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4StringModel.hh,v 1.6 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4StringModel_h #define G4StringModel_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/include/G4VParticipants.hh b/source/processes/hadronic/models/generator/string_common/include/G4VParticipants.hh index 3f0db15245..52386687f2 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4VParticipants.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4VParticipants.hh @@ -22,7 +22,7 @@ // // // $Id: G4VParticipants.hh,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VParticipants_h diff --git a/source/processes/hadronic/models/generator/string_common/include/G4VPartonStringModel.hh b/source/processes/hadronic/models/generator/string_common/include/G4VPartonStringModel.hh index 859e270f99..59c0df631d 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4VPartonStringModel.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4VPartonStringModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPartonStringModel.hh,v 1.6 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VPartonStringModel_h #define G4VPartonStringModel_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/include/G4VSplitableHadron.hh b/source/processes/hadronic/models/generator/string_common/include/G4VSplitableHadron.hh index 448661277c..b355696028 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4VSplitableHadron.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4VSplitableHadron.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSplitableHadron.hh,v 1.9 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VSplitableHadron_h diff --git a/source/processes/hadronic/models/generator/string_common/include/G4VStringFragmentation.hh b/source/processes/hadronic/models/generator/string_common/include/G4VStringFragmentation.hh index 1c742b5110..2b8a6bd901 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4VStringFragmentation.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4VStringFragmentation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VStringFragmentation.hh,v 1.7 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VStringFragmentation_h #define G4VStringFragmentation_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/include/G4VertexCode.hh b/source/processes/hadronic/models/generator/string_common/include/G4VertexCode.hh index a574f0b1c2..b3c79f6209 100644 --- a/source/processes/hadronic/models/generator/string_common/include/G4VertexCode.hh +++ b/source/processes/hadronic/models/generator/string_common/include/G4VertexCode.hh @@ -22,7 +22,7 @@ // // // $Id: G4VertexCode.hh,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VertexCode_h #define G4VertexCode_h 1 diff --git a/source/processes/hadronic/models/generator/string_common/src/G4EventGenerator.cc b/source/processes/hadronic/models/generator/string_common/src/G4EventGenerator.cc index 02b70954dc..b4de978119 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4EventGenerator.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4EventGenerator.cc @@ -22,7 +22,7 @@ // // // $Id: G4EventGenerator.cc,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4EventGenerator #include "G4EventGenerator.hh" diff --git a/source/processes/hadronic/models/generator/string_common/src/G4InteractionContent.cc b/source/processes/hadronic/models/generator/string_common/src/G4InteractionContent.cc index db1d3d037d..f397a003a9 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4InteractionContent.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4InteractionContent.cc @@ -22,7 +22,7 @@ // // // $Id: G4InteractionContent.cc,v 1.6 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_common/src/G4PomeronCrossSection.cc b/source/processes/hadronic/models/generator/string_common/src/G4PomeronCrossSection.cc index 35c7a70c6e..56064739c9 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4PomeronCrossSection.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4PomeronCrossSection.cc @@ -22,7 +22,7 @@ // // // $Id: G4PomeronCrossSection.cc,v 1.8 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4PomeronCrossSection.hh" diff --git a/source/processes/hadronic/models/generator/string_common/src/G4StringModel.cc b/source/processes/hadronic/models/generator/string_common/src/G4StringModel.cc index 0d224677b8..de4f63aa34 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4StringModel.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4StringModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4StringModel.cc,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4StringModel #include "G4StringModel.hh" diff --git a/source/processes/hadronic/models/generator/string_common/src/G4VParticipants.cc b/source/processes/hadronic/models/generator/string_common/src/G4VParticipants.cc index 5a00b6a14b..7929b247c4 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4VParticipants.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4VParticipants.cc @@ -22,7 +22,7 @@ // // // $Id: G4VParticipants.cc,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_common/src/G4VPartonStringModel.cc b/source/processes/hadronic/models/generator/string_common/src/G4VPartonStringModel.cc index 11508d52f4..49508a6bb4 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4VPartonStringModel.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4VPartonStringModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPartonStringModel.cc,v 1.12 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //// ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_common/src/G4VSplitableHadron.cc b/source/processes/hadronic/models/generator/string_common/src/G4VSplitableHadron.cc index 5840feedbe..f93d51486e 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4VSplitableHadron.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4VSplitableHadron.cc @@ -22,7 +22,7 @@ // // // $Id: G4VSplitableHadron.cc,v 1.7 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/generator/string_common/src/G4VStringFragmentation.cc b/source/processes/hadronic/models/generator/string_common/src/G4VStringFragmentation.cc index 0b957e9118..a4f5dbef9c 100644 --- a/source/processes/hadronic/models/generator/string_common/src/G4VStringFragmentation.cc +++ b/source/processes/hadronic/models/generator/string_common/src/G4VStringFragmentation.cc @@ -22,7 +22,7 @@ // // // $Id: G4VStringFragmentation.cc,v 1.5 2002/12/12 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VStringFragmentation #include "G4VStringFragmentation.hh" diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4ExcitedStringDecay.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4ExcitedStringDecay.hh index 637fa084ca..7571172123 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4ExcitedStringDecay.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4ExcitedStringDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedStringDecay.hh,v 1.10 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4ExcitedStringDecay_h #define G4ExcitedStringDecay_h 1 diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4FragmentingString.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4FragmentingString.hh index 68c4b8ef5f..da2e70db0b 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4FragmentingString.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4FragmentingString.hh @@ -22,7 +22,7 @@ // // // $Id: G4FragmentingString.hh,v 1.1 2001/10/09 10:38:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4FragmentingString_h diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4HadronBuilder.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4HadronBuilder.hh index aa37fa82ec..d4c0e6a544 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4HadronBuilder.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4HadronBuilder.hh @@ -22,7 +22,7 @@ // // // $Id: G4HadronBuilder.hh,v 1.2 2001/10/30 08:33:26 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4LundStringFragmentation.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4LundStringFragmentation.hh index 4fa7d49039..f6ed8e8f17 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4LundStringFragmentation.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4LundStringFragmentation.hh @@ -22,7 +22,7 @@ // // // $Id: G4LundStringFragmentation.hh,v 1.6 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ Maxim Komogorov +// GEANT4 tag $Name: geant4-05-01 $ Maxim Komogorov // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4QGSMFragmentation.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4QGSMFragmentation.hh index c2404974ce..1445015955 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4QGSMFragmentation.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4QGSMFragmentation.hh @@ -22,7 +22,7 @@ // // // $Id: G4QGSMFragmentation.hh,v 1.6 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4VKinkyStringDecay.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4VKinkyStringDecay.hh index fb75ededb1..da43b05972 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4VKinkyStringDecay.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4VKinkyStringDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4VKinkyStringDecay.hh,v 1.6 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/string_fragmentation/include/G4VLongitudinalStringDecay.hh b/source/processes/hadronic/models/generator/string_fragmentation/include/G4VLongitudinalStringDecay.hh index e59c1b2958..e4fd33efe5 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/include/G4VLongitudinalStringDecay.hh +++ b/source/processes/hadronic/models/generator/string_fragmentation/include/G4VLongitudinalStringDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4VLongitudinalStringDecay.hh,v 1.13 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/string_fragmentation/src/G4HadronBuilder.cc b/source/processes/hadronic/models/generator/string_fragmentation/src/G4HadronBuilder.cc index 8ba7a4c087..a93ad5ba8e 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/src/G4HadronBuilder.cc +++ b/source/processes/hadronic/models/generator/string_fragmentation/src/G4HadronBuilder.cc @@ -22,7 +22,7 @@ // // // $Id: G4HadronBuilder.cc,v 1.3 2001/10/30 08:33:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/src/G4LundStringFragmentation.cc b/source/processes/hadronic/models/generator/string_fragmentation/src/G4LundStringFragmentation.cc index c604ae27b0..944d8c9451 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/src/G4LundStringFragmentation.cc +++ b/source/processes/hadronic/models/generator/string_fragmentation/src/G4LundStringFragmentation.cc @@ -22,7 +22,7 @@ // // // $Id: G4LundStringFragmentation.cc,v 1.5 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/src/G4QGSMFragmentation.cc b/source/processes/hadronic/models/generator/string_fragmentation/src/G4QGSMFragmentation.cc index f1feaac95b..beabcf59af 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/src/G4QGSMFragmentation.cc +++ b/source/processes/hadronic/models/generator/string_fragmentation/src/G4QGSMFragmentation.cc @@ -22,7 +22,7 @@ // // // $Id: G4QGSMFragmentation.cc,v 1.8 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/string_fragmentation/src/G4VKinkyStringDecay.cc b/source/processes/hadronic/models/generator/string_fragmentation/src/G4VKinkyStringDecay.cc index 94f90908b4..586443a6a1 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/src/G4VKinkyStringDecay.cc +++ b/source/processes/hadronic/models/generator/string_fragmentation/src/G4VKinkyStringDecay.cc @@ -22,7 +22,7 @@ // // // $Id: G4VKinkyStringDecay.cc,v 1.8 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/string_fragmentation/src/G4VLongitudinalStringDecay.cc b/source/processes/hadronic/models/generator/string_fragmentation/src/G4VLongitudinalStringDecay.cc index e1c352cb5f..134f6483dd 100644 --- a/source/processes/hadronic/models/generator/string_fragmentation/src/G4VLongitudinalStringDecay.cc +++ b/source/processes/hadronic/models/generator/string_fragmentation/src/G4VLongitudinalStringDecay.cc @@ -22,7 +22,7 @@ // // // $Id: G4VLongitudinalStringDecay.cc,v 1.24 2002/06/18 06:44:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/util/include/G4ExcitedString.hh b/source/processes/hadronic/models/generator/util/include/G4ExcitedString.hh index 2568e8799e..dff4fa657f 100644 --- a/source/processes/hadronic/models/generator/util/include/G4ExcitedString.hh +++ b/source/processes/hadronic/models/generator/util/include/G4ExcitedString.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedString.hh,v 1.10 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4ExcitedString_h diff --git a/source/processes/hadronic/models/generator/util/include/G4ExcitedStringVector.hh b/source/processes/hadronic/models/generator/util/include/G4ExcitedStringVector.hh index 87f988e062..fcb7c20229 100644 --- a/source/processes/hadronic/models/generator/util/include/G4ExcitedStringVector.hh +++ b/source/processes/hadronic/models/generator/util/include/G4ExcitedStringVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedStringVector.hh,v 1.7 2002/12/12 19:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4ExcitedStringVector_h #define G4ExcitedStringVector_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4Fancy3DNucleus.hh b/source/processes/hadronic/models/generator/util/include/G4Fancy3DNucleus.hh index 7a46536414..d87fcb6cba 100644 --- a/source/processes/hadronic/models/generator/util/include/G4Fancy3DNucleus.hh +++ b/source/processes/hadronic/models/generator/util/include/G4Fancy3DNucleus.hh @@ -22,7 +22,7 @@ // // // $Id: G4Fancy3DNucleus.hh,v 1.14 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4Fancy3DNucleus_h #define G4Fancy3DNucleus_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4FermiMomentum.hh b/source/processes/hadronic/models/generator/util/include/G4FermiMomentum.hh index 5407f9303a..819f232590 100644 --- a/source/processes/hadronic/models/generator/util/include/G4FermiMomentum.hh +++ b/source/processes/hadronic/models/generator/util/include/G4FermiMomentum.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4FermiMomentum.hh,v 1.6 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4FermiMomentum.hh,v 1.7 2003/02/12 10:20:21 gunter Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4FermiMomentum_h #define G4FermiMomentum_h 1 @@ -45,8 +45,10 @@ class G4FermiMomentum return constofpmax * cbrt(density * theA); } - inline G4ThreeVector GetMomentum(G4double density) + inline G4ThreeVector GetMomentum(G4double density, + G4double maxMomentum=-1.) { + if (maxMomentum < 0 ) maxMomentum=GetFermiMomentum(density); G4ThreeVector p; do { @@ -54,7 +56,7 @@ class G4FermiMomentum 2.*G4UniformRand()-1., 2.*G4UniformRand()-1.); } while ( p.mag() > 1. ); - return p*GetFermiMomentum(density); + return p*maxMomentum; } private: diff --git a/source/processes/hadronic/models/generator/util/include/G4Fragment.hh b/source/processes/hadronic/models/generator/util/include/G4Fragment.hh index 98cbd9fb26..f5cfdfd19b 100644 --- a/source/processes/hadronic/models/generator/util/include/G4Fragment.hh +++ b/source/processes/hadronic/models/generator/util/include/G4Fragment.hh @@ -22,7 +22,7 @@ // // // $Id: G4Fragment.hh,v 1.15 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) diff --git a/source/processes/hadronic/models/generator/util/include/G4FragmentVector.hh b/source/processes/hadronic/models/generator/util/include/G4FragmentVector.hh index ad4b11a77e..fa60c7b435 100644 --- a/source/processes/hadronic/models/generator/util/include/G4FragmentVector.hh +++ b/source/processes/hadronic/models/generator/util/include/G4FragmentVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4FragmentVector.hh,v 1.5 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) diff --git a/source/processes/hadronic/models/generator/util/include/G4GeneralPhaseSpaceDecay.hh b/source/processes/hadronic/models/generator/util/include/G4GeneralPhaseSpaceDecay.hh index ac3e7701c3..b3985e4f3a 100644 --- a/source/processes/hadronic/models/generator/util/include/G4GeneralPhaseSpaceDecay.hh +++ b/source/processes/hadronic/models/generator/util/include/G4GeneralPhaseSpaceDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4GeneralPhaseSpaceDecay.hh,v 1.6 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //$Id: G4GeneralPhaseSpaceDecay.hh,v 1.1 1997/05/21 // ---------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/util/include/G4KineticTrackVector.hh b/source/processes/hadronic/models/generator/util/include/G4KineticTrackVector.hh index 47d529e195..a99b57e96f 100644 --- a/source/processes/hadronic/models/generator/util/include/G4KineticTrackVector.hh +++ b/source/processes/hadronic/models/generator/util/include/G4KineticTrackVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4KineticTrackVector.hh,v 1.7 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Modified at 8-Oct-1998 by Maxim Komogorov. Methods BoostBeam,Boost,Shift // were added. diff --git a/source/processes/hadronic/models/generator/util/include/G4NuclearFermiDensity.hh b/source/processes/hadronic/models/generator/util/include/G4NuclearFermiDensity.hh index 09003fd4f4..52142817bd 100644 --- a/source/processes/hadronic/models/generator/util/include/G4NuclearFermiDensity.hh +++ b/source/processes/hadronic/models/generator/util/include/G4NuclearFermiDensity.hh @@ -22,7 +22,7 @@ // // // $Id: G4NuclearFermiDensity.hh,v 1.8 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NuclearFermiDensity_h #define G4NuclearFermiDensity_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4NuclearShellModelDensity.hh b/source/processes/hadronic/models/generator/util/include/G4NuclearShellModelDensity.hh index 0c8abe6998..911b8b9e1b 100644 --- a/source/processes/hadronic/models/generator/util/include/G4NuclearShellModelDensity.hh +++ b/source/processes/hadronic/models/generator/util/include/G4NuclearShellModelDensity.hh @@ -22,7 +22,7 @@ // // // $Id: G4NuclearShellModelDensity.hh,v 1.7 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NuclearShellModelDensity_h #define G4NuclearShellModelDensity_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4Nucleon.hh b/source/processes/hadronic/models/generator/util/include/G4Nucleon.hh index fe6a03aa37..af9fd1134f 100644 --- a/source/processes/hadronic/models/generator/util/include/G4Nucleon.hh +++ b/source/processes/hadronic/models/generator/util/include/G4Nucleon.hh @@ -22,7 +22,7 @@ // // // $Id: G4Nucleon.hh,v 1.6 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4Nucleon_h #define G4Nucleon_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4Parton.hh b/source/processes/hadronic/models/generator/util/include/G4Parton.hh index 57c61c8d8b..5249b23c68 100644 --- a/source/processes/hadronic/models/generator/util/include/G4Parton.hh +++ b/source/processes/hadronic/models/generator/util/include/G4Parton.hh @@ -22,7 +22,7 @@ // // // $Id: G4Parton.hh,v 1.14 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4Parton_h diff --git a/source/processes/hadronic/models/generator/util/include/G4PartonVector.hh b/source/processes/hadronic/models/generator/util/include/G4PartonVector.hh index d537810bc0..7eb79d521e 100644 --- a/source/processes/hadronic/models/generator/util/include/G4PartonVector.hh +++ b/source/processes/hadronic/models/generator/util/include/G4PartonVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4PartonVector.hh,v 1.7 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4PartonVector_h #define G4PartonVector_h 1 diff --git a/source/processes/hadronic/models/generator/util/include/G4SampleResonance.hh b/source/processes/hadronic/models/generator/util/include/G4SampleResonance.hh index 2593b8375c..3bd1017ceb 100644 --- a/source/processes/hadronic/models/generator/util/include/G4SampleResonance.hh +++ b/source/processes/hadronic/models/generator/util/include/G4SampleResonance.hh @@ -22,7 +22,7 @@ // // // $Id: G4SampleResonance.hh,v 1.5 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4SampleResonance_h diff --git a/source/processes/hadronic/models/generator/util/src/G4ExcitedString.cc b/source/processes/hadronic/models/generator/util/src/G4ExcitedString.cc index da0d5d408b..7646b38371 100644 --- a/source/processes/hadronic/models/generator/util/src/G4ExcitedString.cc +++ b/source/processes/hadronic/models/generator/util/src/G4ExcitedString.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExcitedString.cc,v 1.7 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/generator/util/src/G4Fancy3DNucleus.cc b/source/processes/hadronic/models/generator/util/src/G4Fancy3DNucleus.cc index e2f7759644..5313987dfe 100644 --- a/source/processes/hadronic/models/generator/util/src/G4Fancy3DNucleus.cc +++ b/source/processes/hadronic/models/generator/util/src/G4Fancy3DNucleus.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Fancy3DNucleus.cc,v 1.25 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Fancy3DNucleus.cc,v 1.26 2003/02/12 10:20:22 gunter Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file @@ -339,7 +339,7 @@ void G4Fancy3DNucleus::ChooseFermiMomenta() fermiM[i] = sqrt(pmax2); while ( mom.mag2() > pmax2 ) { - mom=theFermi.GetMomentum(density); + mom=theFermi.GetMomentum(density, fermiM[i]); } } else { diff --git a/source/processes/hadronic/models/generator/util/src/G4FermiMomentum.cc b/source/processes/hadronic/models/generator/util/src/G4FermiMomentum.cc index a5ac65e905..ac57be827e 100644 --- a/source/processes/hadronic/models/generator/util/src/G4FermiMomentum.cc +++ b/source/processes/hadronic/models/generator/util/src/G4FermiMomentum.cc @@ -22,7 +22,7 @@ // // // $Id: G4FermiMomentum.cc,v 1.5 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4FermiMomentum.hh" diff --git a/source/processes/hadronic/models/generator/util/src/G4Fragment.cc b/source/processes/hadronic/models/generator/util/src/G4Fragment.cc index bb36830a51..a81b3a7b34 100644 --- a/source/processes/hadronic/models/generator/util/src/G4Fragment.cc +++ b/source/processes/hadronic/models/generator/util/src/G4Fragment.cc @@ -22,7 +22,7 @@ // // // $Id: G4Fragment.cc,v 1.16 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) diff --git a/source/processes/hadronic/models/generator/util/src/G4GeneralPhaseSpaceDecay.cc b/source/processes/hadronic/models/generator/util/src/G4GeneralPhaseSpaceDecay.cc index e63d526c9e..2e04379dca 100644 --- a/source/processes/hadronic/models/generator/util/src/G4GeneralPhaseSpaceDecay.cc +++ b/source/processes/hadronic/models/generator/util/src/G4GeneralPhaseSpaceDecay.cc @@ -22,7 +22,7 @@ // // // $Id: G4GeneralPhaseSpaceDecay.cc,v 1.6 2002/12/12 19:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: G4GeneralSpaceDecay.cc,v 1.0 1998/05/21 // ---------------------------------------------------------------- diff --git a/source/processes/hadronic/models/generator/util/src/G4NuclearFermiDensity.cc b/source/processes/hadronic/models/generator/util/src/G4NuclearFermiDensity.cc index c8cef01f56..bb65ed2b72 100644 --- a/source/processes/hadronic/models/generator/util/src/G4NuclearFermiDensity.cc +++ b/source/processes/hadronic/models/generator/util/src/G4NuclearFermiDensity.cc @@ -22,7 +22,7 @@ // // // $Id: G4NuclearFermiDensity.cc,v 1.11 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4NuclearFermiDensity.hh" diff --git a/source/processes/hadronic/models/generator/util/src/G4NuclearShellModelDensity.cc b/source/processes/hadronic/models/generator/util/src/G4NuclearShellModelDensity.cc index e27fddec6c..61da2a3015 100644 --- a/source/processes/hadronic/models/generator/util/src/G4NuclearShellModelDensity.cc +++ b/source/processes/hadronic/models/generator/util/src/G4NuclearShellModelDensity.cc @@ -22,7 +22,7 @@ // // // $Id: G4NuclearShellModelDensity.cc,v 1.8 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4NuclearShellModelDensity.hh" diff --git a/source/processes/hadronic/models/generator/util/src/G4Nucleon.cc b/source/processes/hadronic/models/generator/util/src/G4Nucleon.cc index f89e78e208..ca6496cceb 100644 --- a/source/processes/hadronic/models/generator/util/src/G4Nucleon.cc +++ b/source/processes/hadronic/models/generator/util/src/G4Nucleon.cc @@ -22,7 +22,7 @@ // // // $Id: G4Nucleon.cc,v 1.6 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Nucleon.hh" diff --git a/source/processes/hadronic/models/generator/util/src/G4Parton.cc b/source/processes/hadronic/models/generator/util/src/G4Parton.cc index 558ddadf6f..0cb0473521 100644 --- a/source/processes/hadronic/models/generator/util/src/G4Parton.cc +++ b/source/processes/hadronic/models/generator/util/src/G4Parton.cc @@ -22,7 +22,7 @@ // // // $Id: G4Parton.cc,v 1.13 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/generator/util/src/G4SampleResonance.cc b/source/processes/hadronic/models/generator/util/src/G4SampleResonance.cc index 28c31f924e..498278233a 100644 --- a/source/processes/hadronic/models/generator/util/src/G4SampleResonance.cc +++ b/source/processes/hadronic/models/generator/util/src/G4SampleResonance.cc @@ -22,7 +22,7 @@ // // // $Id: G4SampleResonance.cc,v 1.5 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh index f1ec17b160..d6b471118f 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiKaonZeroInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh index 3b225c42f1..a58f8cef15 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiLambdaInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh index 4e40632b7f..b8a8d96c6f 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiNeutronInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh index 9835808cb4..51ca8b355c 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiOmegaMinusInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh index d2877122c2..966e5e4626 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiProtonInelastic.hh,v 1.10 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh index 201cf776aa..eeb57b527f 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaMinusInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh index 1d767bed37..10ffef1c28 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaPlusInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh index eb4b33956e..8483eea446 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaZeroInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh index 02354f0374..5f136a91ec 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiXiMinusInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh index 635c20e5c4..9ff05dfff0 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiXiZeroInelastic.hh,v 1.9 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh index e4b8100b01..62c9757261 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEInelastic.hh,v 1.10 2002/12/12 19:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy (GHE) model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh index faa6f91277..5765f042a9 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonMinusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh index 110f47065e..75f9ead04c 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonPlusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh index 323c5872d8..147a13f641 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroInelastic.hh,v 1.8 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh index ff00f7f7ba..d13395fec1 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroLongInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh index 96c8382b05..9eb87089f3 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroShortInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh index 7f4480b5f8..d266f326d5 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HELambdaInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh index 09aa3571bb..f901d242f3 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HENeutronInelastic.hh,v 1.10 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh index d9f5853d15..1e9e3ea20c 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEOmegaMinusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh index 38edcca6c8..bf8b00ff51 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEPionMinusInelastic.hh,v 1.10 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh index 6814bb0263..b030c3d2be 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEPionPlusInelastic.hh,v 1.10 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh b/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh index 08856cc0d0..410c2f730a 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEPlot.hh,v 1.7 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha friend class G4HEPlot -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh index 4803efe4a2..9ad0e2fa64 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEProtonInelastic.hh,v 1.10 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh index 9ad1aa349d..0821f03fd4 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaMinusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh index 4bc4620fda..c144cc1c5d 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaPlusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh index a8e8fb9323..84520bdc70 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaZeroInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEVector.hh b/source/processes/hadronic/models/high_energy/include/G4HEVector.hh index 2d6468c68f..5d625157d9 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEVector.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEVector.hh,v 1.8 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha friend class G4KinematicParticle -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh index f0aca76855..a1fac4f47a 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEXiMinusInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh index d9908aa409..db275531f4 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4HEXiZeroInelastic.hh,v 1.9 2002/12/12 19:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc index 992125addb..83c99e29d9 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiKaonZeroInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc index d5499b6bac..a83d73370d 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiLambdaInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc index cec6ad6cd5..dca0c83052 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiNeutronInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc index d0903549f8..1dc79875a4 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiOmegaMinusInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc index 7b4e168a2e..605e160c29 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiProtonInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc index 9f4666de8e..81d8862a3f 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaMinusInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc index 97ecaa0b9a..f557c724ce 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaPlusInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc index 63971a8e34..d8172fcb1a 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiSigmaZeroInelastic.cc,v 1.7 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc index edc6d1dfb7..c713223750 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiXiMinusInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc index 6288a1d19c..fb6f04094b 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEAntiXiZeroInelastic.cc,v 1.8 2002/12/12 19:18:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc index 18ad26c5f5..ef91047cde 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonMinusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc index 66df89e563..0b060fd587 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonPlusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc index dc727599dc..364e7a04e1 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc index b25fa71eb9..789c7fcbb4 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroLongInelastic.cc,v 1.7 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc index 0e0d2d546f..916a397051 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEKaonZeroShortInelastic.cc,v 1.7 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc index bcdec3a26c..07881c706d 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HELambdaInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc index 377e002067..a5ceea115d 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HENeutronInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc index 6088acf3de..558983de38 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEOmegaMinusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc index 222e06d4ff..c04fbdfae9 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEPionMinusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc index a7ee1cb804..639c868ca5 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEPionPlusInelastic.cc,v 1.9 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc b/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc index fe7e5fed64..d09010d142 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEPlot.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc index ceb4c35aa7..b265f6dcc0 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEProtonInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc index 0752d944e2..adca4c6ae3 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaMinusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc index 6f320d122f..2be808beda 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaPlusInelastic.cc,v 1.8 2002/12/12 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc index da32957106..dbb594ad96 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HESigmaZeroInelastic.cc,v 1.8 2002/12/12 19:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEVector.cc b/source/processes/hadronic/models/high_energy/src/G4HEVector.cc index 0a214cc4f1..6df9aaeddd 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEVector.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEVector.cc,v 1.13 2002/12/12 19:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc index fb58c31dd2..d8f24592db 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEXiMinusInelastic.cc,v 1.8 2002/12/12 19:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc index b78d9580e9..b1d233db8e 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4HEXiZeroInelastic.cc,v 1.8 2002/12/12 19:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh b/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh index 92bea883ff..9ae839b559 100644 --- a/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh +++ b/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh @@ -22,7 +22,7 @@ // // // $Id: G4Mars5GeV.hh,v 1.1 2001/12/13 14:59:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc b/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc index 77595384b4..ec99b54d58 100644 --- a/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc +++ b/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc @@ -22,7 +22,7 @@ // // // $Id: G4Mars5GeV.cc,v 1.4 2002/11/14 08:41:32 hpw Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/low_energy/include/G4LCapture.hh b/source/processes/hadronic/models/low_energy/include/G4LCapture.hh index 300edd7248..6a4cae2b77 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LCapture.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LCapture.hh @@ -22,7 +22,7 @@ // // // $Id: G4LCapture.hh,v 1.8 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Low energy model: neutron capture -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh index 5cfd3c2cc2..df7d0f7a2b 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAlphaInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy Alpha Inelastic Process // J.L. Chuma, TRIUMF, 21-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh index 0f856e3275..b544159b33 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiKaonZeroInelastic.hh,v 1.2 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonZeroL Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh index 5d530e0013..f22fe7e3d4 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiLambdaInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiLambda Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh index 3f3f08120c..90ed95416b 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiNeutronInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiNeutron Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh index 0b73176e4b..aea220fbc7 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiOmegaMinusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiOmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh index d213094816..25d0c5fb1f 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiProtonInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiProton Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh index 75092a897c..205d9a3314 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiSigmaMinusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiSigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh index ff079309f2..e8f13d7ea5 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiSigmaPlusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiSigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh index 505d982379..ebe67ec548 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiXiMinusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiXiMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh index 5328d9e9b8..e380bd2a57 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiXiZeroInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy AntiXiZero Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh index 521dea8e4f..0782782130 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEDeuteronInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy Deuteron Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh index 97cf70522e..bf90757aab 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonMinusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonMinus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh index 15f1141e2a..8454ecf78a 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonPlusInelastic.hh,v 1.6 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonPlus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh index 467d8447cf..be19b3b526 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonZeroInelastic.hh,v 1.2 2002/12/12 19:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonZeroS Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh index c0942ffc46..9b58f8f189 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LEKaonZeroLInelastic.hh,v 1.7 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LEKaonZeroLInelastic.hh,v 1.8 2003/02/10 09:19:56 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file @@ -47,7 +47,7 @@ class G4LEKaonZeroLInelastic : public G4InelasticInteraction SetMaxEnergy( 25.*GeV ); } - ~G4LEKaonZeroLInelastic(){ } + virtual ~G4LEKaonZeroLInelastic(){ } G4VParticleChange * ApplyYourself( const G4Track &aTrack, G4Nucleus &targetNucleus ) { diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh index 8ccd700b34..9da04fb77f 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4LEKaonZeroSInelastic.hh,v 1.7 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4LEKaonZeroSInelastic.hh,v 1.8 2003/02/10 09:20:02 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Gheisha High Energy model class -- header file @@ -47,7 +47,7 @@ class G4LEKaonZeroSInelastic : public G4InelasticInteraction SetMaxEnergy( 25.*GeV ); } - ~G4LEKaonZeroSInelastic(){ } + virtual ~G4LEKaonZeroSInelastic(){ } G4VParticleChange * ApplyYourself( const G4Track &aTrack, G4Nucleus &targetNucleus ) { diff --git a/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh index cb22b54fed..962cd8d5f5 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LELambdaInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy Lambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh index d00436dad1..4addd60999 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEOmegaMinusInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy OmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh index 074937aaf6..b40ae83d1a 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEPionMinusInelastic.hh,v 1.7 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy PionMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh index 31cb7b5583..a3a85c23ac 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEPionPlusInelastic.hh,v 1.7 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy PionPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh index 29004aa041..7794b21fb5 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEProtonInelastic.hh,v 1.7 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy Proton Inelastic Process // original by H.P. Wellisch diff --git a/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh index f6e72f0436..8ab25b1da5 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LESigmaMinusInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy SigmaMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh index 986da7ff99..6475e5c070 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LESigmaPlusInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy SigmaPlus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh index 231e9d837e..49fca9015e 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LETritonInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy Triton Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh index 54419a1a47..3ae4d979c2 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEXiMinusInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy XiMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh index e58777832d..7cee2b383a 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LEXiZeroInelastic.hh,v 1.6 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy XiZero Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LElastic.hh b/source/processes/hadronic/models/low_energy/include/G4LElastic.hh index dbd989a5a7..91545c7f33 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LElastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LElastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4LElastic.hh,v 1.8 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Model: Low energy elastic scattering -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LFission.hh b/source/processes/hadronic/models/low_energy/include/G4LFission.hh index b345281dec..cfa62574de 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LFission.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LFission.hh @@ -22,7 +22,7 @@ // // // $Id: G4LFission.hh,v 1.8 2002/12/12 19:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Low-energy Model: Fission -- header file diff --git a/source/processes/hadronic/models/low_energy/src/G4LCapture.cc b/source/processes/hadronic/models/low_energy/src/G4LCapture.cc index 6d2acf38a8..46ff2ecba2 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LCapture.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LCapture.cc @@ -22,7 +22,7 @@ // // // $Id: G4LCapture.cc,v 1.8 2002/12/12 19:18:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Model: Low-energy Neutron Capture diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc index 1951ce1116..045a537f63 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiKaonZeroInelastic.cc,v 1.2 2002/12/12 19:18:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonZeroLong Inelastic Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc index a24672afb4..bd46a829c8 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiLambdaInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiLambda Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc index 94fae3a04f..9063d16ac5 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiNeutronInelastic.cc,v 1.8 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiNeutron Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc index 4434d12ca1..0e9405fc15 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiOmegaMinusInelastic.cc,v 1.6 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiOmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc index a3c934fcc8..43e6a1a461 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiProtonInelastic.cc,v 1.8 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiProton Inelastic Process // J.L. Chuma, TRIUMF, 13-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc index 97e300be13..20ed5d589b 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiSigmaMinusInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiSigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc index f1fb1b2ea3..90188e5403 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiSigmaPlusInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiSigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc index beb8bc1bde..d15d09e848 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiXiMinusInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiXiMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc index 3591ee034d..ec0a553766 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEAntiXiZeroInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiXiZero Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc index 9d916c82d4..7833355a22 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonMinusInelastic.cc,v 1.9 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonMinus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc index 0e313d3755..e75747c0f0 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonPlusInelastic.cc,v 1.7 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonPlus Inelastic Process // J.L. Chuma, TRIUMF, 05-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc index 59b329e094..d3b3afd768 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEKaonZeroInelastic.cc,v 1.3 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Low Energy KaonZeroShort Inelastic Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc index 546c968ea2..6d461172c1 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LELambdaInelastic.cc,v 1.5 2002/12/12 19:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Lambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LENeutronInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LENeutronInelastic.cc index dcaf9acc94..1c832fdda2 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LENeutronInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LENeutronInelastic.cc @@ -51,10 +51,12 @@ G4cout << "target particle = " << originalTarget->GetDefinition()->GetParticleName() << G4endl; } +/* not true, for example for Fe56, etc.. if( originalIncident->GetKineticEnergy()/MeV < 0.000001 ) G4Exception("G4LENeutronInelastic: should be capture process!"); if( originalIncident->GetMomentum().mag()/MeV < 0.000001 ) G4Exception("G4LENeutronInelastic: should be capture process!"); +*/ G4ReactionProduct modifiedOriginal; modifiedOriginal = *originalIncident; diff --git a/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc index 7ae8d2b9bf..a323d88486 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEOmegaMinusInelastic.cc,v 1.6 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: OmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc index f692d2f711..d4a9ed0c39 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEPionPlusInelastic.cc,v 1.8 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: PionPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc index 80f934a3bf..2f4d50b4d4 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LESigmaMinusInelastic.cc,v 1.5 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: SigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc index 00db311a33..f7472fa716 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LESigmaPlusInelastic.cc,v 1.5 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: SigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc index 68df3b5f38..d6fb38837f 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEXiMinusInelastic.cc,v 1.5 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: XiMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc index 287cfd91e3..bc4f902801 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LEXiZeroInelastic.cc,v 1.5 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: XiZero Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LElastic.cc b/source/processes/hadronic/models/low_energy/src/G4LElastic.cc index c0d9a23fe1..bc651f0501 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LElastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LElastic.cc @@ -22,7 +22,7 @@ // // // $Id: G4LElastic.cc,v 1.7 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Physics model class G4LElastic // diff --git a/source/processes/hadronic/models/low_energy/src/G4LFission.cc b/source/processes/hadronic/models/low_energy/src/G4LFission.cc index 8904433710..4582a83c47 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LFission.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LFission.cc @@ -22,7 +22,7 @@ // // // $Id: G4LFission.cc,v 1.9 2002/12/12 19:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4 Model: Low Energy Fission diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh index f4c1300881..48bb8d9d4a 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh @@ -22,7 +22,7 @@ // // // $Id: G4InterpolationIterator.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InterpolationIterator_h #define G4InterpolationIterator_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh index 2360fdfd3c..f54e33ffd7 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4InterpolationManager.hh,v 1.8 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InterpolationManager_h #define G4InterpolationManager_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh index 59d51628cd..f1818fc8f7 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh @@ -22,7 +22,7 @@ // // // $Id: G4InterpolationScheme.hh,v 1.5 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4InterpolationScheme_h #define G4InterpolationScheme_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh index 9ef03f7d8d..75a43c07d0 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2AInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2AInelasticFS_h #define G4NeutronHP2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh index f807bc36db..0863285d17 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2N2AInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2N2AInelasticFS_h #define G4NeutronHP2N2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh index 98cdba1875..11cba52802 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2NAInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2NAInelasticFS_h #define G4NeutronHP2NAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh index 6462648053..2427e80b74 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2NDInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2NDInelasticFS_h #define G4NeutronHP2NDInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh index 609fd6bd9e..3cf899b02c 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2NInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2NInelasticFS_h #define G4NeutronHP2NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh index 9a2e468ade..a1c11db98e 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2NPInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2NPInelasticFS_h #define G4NeutronHP2NPInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh index 5afbed129e..2a73fdea7b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP2PInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP2PInelasticFS_h #define G4NeutronHP2PInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh index 6fe4a068f2..21f7e2f999 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP3AInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP3AInelasticFS_h #define G4NeutronHP3AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh index bf73b9e858..cc7eb77764 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP3NAInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP3NAInelasticFS_h #define G4NeutronHP3NAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh index 007a1052aa..6257c8dcc2 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP3NInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP3NInelasticFS_h #define G4NeutronHP3NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh index e214a0c278..3eeb4bfeee 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP3NPInelasticFS.hh,v 1.6 2002/12/12 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP3NPInelasticFS_h #define G4NeutronHP3NPInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh index 47eb055e7e..33c4588e7a 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHP4NInelasticFS.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHP4NInelasticFS_h #define G4NeutronHP4NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh index cba2ee5564..c92e8c1910 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPAInelasticFS.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPAInelasticFS_h #define G4NeutronHPAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh index 6d42f9f115..e821e82d5f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPAngular.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPAngular_h #define G4NeutronHPAngular_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh index b0fd13c960..9527e11d26 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPAngularP.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPAngularP_h #define G4NeutronHPAngularP_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh index 8a46b5457f..07a9ee561d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPArbitaryTab.hh,v 1.8 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPArbitaryTab_h #define G4NeutronHPArbitaryTab_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh index aeb06246c4..44ff1e050b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPCapture.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh index 132335db92..7019387fed 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPCaptureData.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPCaptureData_h #define G4NeutronHPCaptureData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh index e639f32a50..ecf13841f5 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPCaptureFS.hh,v 1.8 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPCaptureFS_h #define G4NeutronHPCaptureFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh index 5e6b4a0932..b33a85761c 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPChannel.hh,v 1.9 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannelList.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannelList.hh index ae6f320124..6356a1d765 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannelList.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannelList.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPChannelList.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContAngularPar.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContAngularPar.hh index b26e91bd7f..795f560a8b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContAngularPar.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContAngularPar.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPContAngularPar.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPContAngularPar_h #define G4NeutronHPContAngularPar_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContEnergyAngular.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContEnergyAngular.hh index 754fc657a0..52f0273e75 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContEnergyAngular.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPContEnergyAngular.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPContEnergyAngular.hh,v 1.7 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPContEnergyAngular_h #define G4NeutronHPContEnergyAngular_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPD2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPD2AInelasticFS.hh index 523758b935..e3cad2f74c 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPD2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPD2AInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPD2AInelasticFS.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPD2AInelasticFS_h #define G4NeutronHPD2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDAInelasticFS.hh index 2d453862a1..4d02872119 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDAInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPDAInelasticFS.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPDAInelasticFS_h #define G4NeutronHPDAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDInelasticFS.hh index d295ee96cb..71d52f9e68 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDInelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPDInelasticFS.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPDInelasticFS_h #define G4NeutronHPDInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPData.hh index f5dcab4ce0..81f98f062f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPData.hh,v 1.6 2002/12/12 19:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDataPoint.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDataPoint.hh index 4747f2130b..08fc1c9d3d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDataPoint.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDataPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPDataPoint.hh,v 1.6 2002/12/12 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPDataPoint_h #define G4NeutronHPDataPoint_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDeExGammas.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDeExGammas.hh index ff69ff2f4a..5ba75bb4f1 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDeExGammas.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDeExGammas.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPDeExGammas.hh,v 1.8 2002/12/12 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPDeExGammas_h #define G4NeutronHPDeExGammas_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh index c67d58953a..ddd1468d52 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPDiscreteTwoBody.hh,v 1.7 2002/12/12 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPDiscreteTwoBody_h #define G4NeutronHPDiscreteTwoBody_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh index dc37aae8b4..e333051ef8 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPElastic.hh,v 1.6 2002/12/12 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: High Precision low E neutron tracking // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh index 76923da333..3569db8b0f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPElasticData.hh,v 1.7 2002/12/12 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPElasticData_h #define G4NeutronHPElasticData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh index 1d7e6d2c6b..9f13cce5da 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPElasticFS.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPElasticFS_h #define G4NeutronHPElasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh index c6ad8ced9f..6110368128 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPElementData.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh index aa73f1936e..72ae317ad9 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPEnAngCorrelation.hh,v 1.7 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPEnAngCorrelation_h #define G4NeutronHPEnAngCorrelation_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh index 31d76cd5dc..974822650e 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPEnergyDistribution.hh,v 1.7 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPEnergyDistribution_h #define G4NeutronHPEnergyDistribution_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEvapSpectrum.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEvapSpectrum.hh index ed48143141..5c6580a26b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEvapSpectrum.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEvapSpectrum.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPEvapSpectrum.hh,v 1.7 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPEvapSpectrum_h #define G4NeutronHPEvapSpectrum_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFCFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFCFissionFS.hh index 60815297cd..b7f81152e4 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFCFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFCFissionFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFCFissionFS.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFCFissionFS_h #define G4NeutronHPFCFissionFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFSFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFSFissionFS.hh index 68a5fd4c4c..88006eefbf 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFSFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFSFissionFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFSFissionFS.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFSFissionFS_h #define G4NeutronHPFSFissionFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFastLegendre.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFastLegendre.hh index add210b343..e4547e93dd 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFastLegendre.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFastLegendre.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFastLegendre.hh,v 1.9 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFastLegendre_h #define G4NeutronHPFastLegendre_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPField.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPField.hh index 2584797f7d..53f332d1c0 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPField.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPField.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPField.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPField_h #define G4NeutronHPField_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFieldPoint.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFieldPoint.hh index 7d66c16a94..3da0206b91 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFieldPoint.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFieldPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFieldPoint.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFieldPoint_h #define G4NeutronHPFieldPoint_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFinalState.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFinalState.hh index fee4f14acc..409709f455 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFinalState.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFinalState.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFinalState.hh,v 1.7 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFinalState_h #define G4NeutronHPFinalState_h diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFission.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFission.hh index d312177b8d..378f893aa1 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFission.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFission.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFission.hh,v 1.6 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: High Precision low E neutron tracking // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionBaseFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionBaseFS.hh index 34b8b0c564..543a7e51fc 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionBaseFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionBaseFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFissionBaseFS.hh,v 1.7 2002/12/12 19:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFissionBaseFS_h #define G4NeutronHPFissionBaseFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionData.hh index 94f3e3bbb6..e07f8bbaae 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFissionData.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFissionData_h #define G4NeutronHPFissionData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionERelease.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionERelease.hh index 4be4ed4def..1560eb5396 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionERelease.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionERelease.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFissionERelease.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFissionERelease_h #define G4NeutronHPFissionERelease_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionFS.hh index 656b8722ff..d5290c8dc6 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFissionFS.hh,v 1.6 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFissionFS_h #define G4NeutronHPFissionFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionSpectrum.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionSpectrum.hh index f7618a640e..d3f4355e79 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionSpectrum.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPFissionSpectrum.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPFissionSpectrum.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPFissionSpectrum_h #define G4NeutronHPFissionSpectrum_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPGamma.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPGamma.hh index d73932c214..b0798fe9b0 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPGamma.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPGamma.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPGamma.hh,v 1.9 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPGamma_h #define G4NeutronHPGamma_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPHe3InelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPHe3InelasticFS.hh index 8792c3800f..7f2ccd737f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPHe3InelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPHe3InelasticFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPHe3InelasticFS.hh,v 1.6 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPHe3InelasticFS_h #define G4NeutronHPHe3InelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelastic.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelastic.hh index f4f4dfeff7..3478a5a610 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelastic.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelastic.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPInelastic.hh,v 1.6 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: High Precision low E neutron tracking // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticBaseFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticBaseFS.hh index 76aba7444a..282f439365 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticBaseFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticBaseFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPInelasticBaseFS.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPInelasticBaseFS_h #define G4NeutronHPInelasticBaseFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh index 32309bb067..f81e0ddedb 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticCompFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPInelasticCompFS.hh,v 1.8 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPInelasticCompFS_h #define G4NeutronHPInelasticCompFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh index b37439f75e..5ec254620a 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPInelasticData.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPInelasticData_h #define G4NeutronHPInelasticData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh index 556aebd59c..9d0c9d610f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPInterpolator.hh,v 1.9 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutronHPInterpolator.hh,v 1.11 2003/02/12 12:37:51 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPInterpolator_h #define G4NeutronHPInterpolator_h 1 @@ -46,6 +46,7 @@ class G4NeutronHPInterpolator inline G4double Lin(G4double x,G4double x1,G4double x2,G4double y1,G4double y2) { G4double slope=0, off=0; + if(x2-x1==0) return (y2+y1)/2.; slope = (y2-y1)/(x2-x1); off = y2-x2*slope; G4double y = x*slope+off; @@ -122,6 +123,7 @@ inline G4double G4NeutronHPInterpolator:: LinearLinear(G4double x, G4double x1, G4double x2, G4double y1, G4double y2) const { G4double slope=0, off=0; + if(x2-x1==0) return (y2+y1)/2.; slope = (y2-y1)/(x2-x1); off = y2-x2*slope; G4double y = x*slope+off; diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh index be45aa1bad..6992e2ca29 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPIsoData.hh,v 1.10 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPIsoData_h #define G4NeutronHPIsoData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh index cb8e9304cc..ef3fede518 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPIsotropic.hh,v 1.7 2002/12/12 19:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPIsotropic_h #define G4NeutronHPIsotropic_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh index af83d9910b..c5b1f5cac9 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPKallbachMannSyst.hh,v 1.6 2002/12/12 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPKallbachMannSyst_h #define G4NeutronHPKallbachMannSyst_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh index a0358de15f..fb525c7a19 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPLCFissionFS.hh,v 1.6 2002/12/12 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPLCFissionFS_h #define G4NeutronHPLCFissionFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh index 661b3e1efb..8f616c73c3 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPLabAngularEnergy.hh,v 1.7 2002/12/12 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPLabAngularEnergy_h #define G4NeutronHPLabAngularEnergy_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreStore.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreStore.hh index 3d10daeaa0..89359ef1ec 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreStore.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreStore.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPLegendreStore.hh,v 1.7 2002/12/12 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPLegendreStore_h #define G4NeutronHPLegendreStore_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreTable.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreTable.hh index 01b7fd3457..b5316382b1 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreTable.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLegendreTable.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPLegendreTable.hh,v 1.7 2002/12/12 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4NeutronHPLegendreTable.hh,v 1.8 2003/02/12 12:37:52 jwellisc Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4NeutronHPLegendreTable_h #define G4NeutronHPLegendreTable_h 1 @@ -76,10 +76,11 @@ class G4NeutronHPLegendreTable inline void Init(G4double e, G4int n) { - theCoeff = new G4double[n+1]; + nCoeff = n+1; + theCoeff = new G4double[nCoeff]; + for(G4int i=0; isize(); ii++) { + G4LorentzVector pTmp1 (it->operator[](ii)->GetMomentum(), + it->operator[](ii)->GetTotalEnergy()); + pTmp1 = toLab*pTmp1; + it->operator[](ii)->SetMomentum(pTmp1.vect()); + it->operator[](ii)->SetTotalEnergy(pTmp1.e()); if(frameFlag==1) // target rest { it->operator[](ii)->Lorentz(*(it->operator[](ii)), -1.*theTarget); diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc index 96c07d8c23..11bd1f8d01 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc @@ -32,6 +32,7 @@ #include "G4Triton.hh" #include "G4Alpha.hh" #include "G4ThreeVector.hh" +#include "G4Poisson.hh" #include "G4LorentzVector.hh" #include "G4NeutronHPDataUsed.hh" @@ -155,14 +156,14 @@ void G4NeutronHPFSFissionFS::SampleNeutronMult(G4int&all, G4int&Prompt, G4int&de Prompt = 0; delayed = 0; G4double totalNeutronMulti = theFinalStateNeutrons.GetMean(eKinetic); - all = RandPoisson::shoot(totalNeutronMulti-off); + all = G4Poisson(totalNeutronMulti-off); all += off; } else { - Prompt = RandPoisson::shoot(promptNeutronMulti-off); + Prompt = G4Poisson(promptNeutronMulti-off); Prompt += off; - delayed = RandPoisson::shoot(delayedNeutronMulti); + delayed = G4Poisson(delayedNeutronMulti); all = Prompt+delayed; } } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelastic.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelastic.cc index 3d3852a53c..a1a5438365 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelastic.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelastic.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4NeutronHPInelastic.cc,v 1.13 2002/12/12 19:18:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4NeutronHPInelastic.hh" diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPNBodyPhaseSpace.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPNBodyPhaseSpace.cc index d8462322f0..779af37b40 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPNBodyPhaseSpace.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPNBodyPhaseSpace.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronHPNBodyPhaseSpace.cc,v 1.8 2002/12/12 19:18:27 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4NeutronHPNBodyPhaseSpace.hh" #include "G4Gamma.hh" diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc index 40f3dd2ed5..1345192dfd 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPPhotonDist.cc @@ -29,6 +29,7 @@ #include "G4NeutronHPPhotonDist.hh" #include "G4NeutronHPLegendreStore.hh" #include "G4Electron.hh" +#include "G4Poisson.hh" G4bool G4NeutronHPPhotonDist::InitMean(G4std::ifstream & aDataFile) { @@ -207,7 +208,7 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy) for(i=0; i(current); @@ -342,7 +343,7 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy) G4int i; for(i=1; iSetTarget(theTarget); theDist->SetNeutron(theNeutron); G4int i; diff --git a/source/processes/hadronic/models/radiative_decay/History b/source/processes/hadronic/models/radiative_decay/History index 98303b4189..f5186d7dfc 100644 --- a/source/processes/hadronic/models/radiative_decay/History +++ b/source/processes/hadronic/models/radiative_decay/History @@ -13,6 +13,15 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +03/01/03 Fan Lei +- bug (test18) fix in G4NuclraDecayChannel.cc + +15 Nov 2002 Fan Lei ((radiative_decay-V04-01-01) +- Added linked to atomic relaxation model after EC and IT/IC(internal conversion). +- updated GNUMakefile to include electromagnetic/lowenergy/include +- Updated the database + 13 Nov 2001 Fan Lei (radiative_decay-V03-02-03) - Minor bug fix diff --git a/source/processes/hadronic/models/radiative_decay/src/G4NuclearDecayChannel.cc b/source/processes/hadronic/models/radiative_decay/src/G4NuclearDecayChannel.cc index e376ddb00d..f61791e609 100644 --- a/source/processes/hadronic/models/radiative_decay/src/G4NuclearDecayChannel.cc +++ b/source/processes/hadronic/models/radiative_decay/src/G4NuclearDecayChannel.cc @@ -51,6 +51,7 @@ /////////////////////////////////////////////////////////////////////////////// // #include "G4NuclearLevelManager.hh" +#include "G4NuclearLevelStore.hh" #include "G4NuclearDecayChannel.hh" #include "G4DynamicParticle.hh" #include "G4DecayProducts.hh" @@ -204,9 +205,9 @@ void G4NuclearDecayChannel::FillDaughterNucleus (G4int index, G4int A, G4int Z, // /* if (theDaughterExcitation > 0.0) { - G4NuclearLevelManager levelManager = G4NuclearLevelManager(daughterZ, daughterA); - if ( levelManager.NumberOfLevels() ) { - const G4NuclearLevel* level = levelManager.NearestLevel (theDaughterExcitation); + G4NuclearLevelManager * levelManager = G4NuclearLevelStore::GetInstance()->GetManager(daughterZ, daughterA); + if ( levelManager->NumberOfLevels() ) { + const G4NuclearLevel* level = levelManager->NearestLevel (theDaughterExcitation); daughterExcitation = level->Energy(); @@ -450,6 +451,8 @@ G4DecayProducts *G4NuclearDecayChannel::DecayIt (G4double theParentMass) // // now the nucleus G4double finalDaughterExcitation = gammas->operator[](nGammas)->GetExcitationEnergy(); + // f.lei (03/01/03) this is needed to fix the crach in test18 + if (finalDaughterExcitation <= 1.0*keV) finalDaughterExcitation = 0 ; G4IonTable *theIonTable = (G4IonTable*)(G4ParticleTable::GetParticleTable()->GetIonTable()); dynamicDaughter = new G4DynamicParticle (theIonTable->GetIon(daughterZ,daughterA,finalDaughterExcitation), diff --git a/source/processes/hadronic/models/radiative_decay/src/G4RadioactiveDecay.cc b/source/processes/hadronic/models/radiative_decay/src/G4RadioactiveDecay.cc index 8ae95f7802..891b564c06 100644 --- a/source/processes/hadronic/models/radiative_decay/src/G4RadioactiveDecay.cc +++ b/source/processes/hadronic/models/radiative_decay/src/G4RadioactiveDecay.cc @@ -95,7 +95,8 @@ #include "G4BetaFermiFunction.hh" #include "Randomize.hh" #include "G4LogicalVolumeStore.hh" -#include "G4DiscreteGammaDeexcitation.hh" +#include "G4NuclearLevelManager.hh" +#include "G4NuclearLevelStore.hh" #include "g4std/vector" #include "g4std/strstream" @@ -1066,9 +1067,9 @@ void G4RadioactiveDecay::AddDecayRateTable(const G4ParticleDefinition &theParent theDaughterNucleus = theNuclearDecayChannel->GetDaughterNucleus () ; AD = ((const G4Ions*)(theDaughterNucleus))->GetAtomicMass(); ZD = ((const G4Ions*)(theDaughterNucleus))->GetAtomicNumber(); - G4NuclearLevelManager levelManager = G4NuclearLevelManager (ZD, AD); - if ( levelManager.NumberOfLevels() ) { - const G4NuclearLevel* level = levelManager.NearestLevel (daughterExcitation); + G4NuclearLevelManager * levelManager = G4NuclearLevelStore::GetInstance()->GetManager (ZD, AD); + if ( levelManager->NumberOfLevels() ) { + const G4NuclearLevel* level = levelManager->NearestLevel (daughterExcitation); if (abs(daughterExcitation - level->Energy()) < levelTolerance) { diff --git a/source/processes/hadronic/processes/include/G4AlphaInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AlphaInelasticProcess.hh index 2b6ccf5832..8ccf60bacd 100644 --- a/source/processes/hadronic/processes/include/G4AlphaInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AlphaInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AlphaInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Alpha Inelastic Process // J.L. Chuma, TRIUMF, 21-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiLambdaInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiLambdaInelasticProcess.hh index 8b0602bf87..f121a1c254 100644 --- a/source/processes/hadronic/processes/include/G4AntiLambdaInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiLambdaInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiLambdaInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiLambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiNeutronInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiNeutronInelasticProcess.hh index c90a9773f9..949aed5f42 100644 --- a/source/processes/hadronic/processes/include/G4AntiNeutronInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiNeutronInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiNeutronInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiNeutron Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiOmegaMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiOmegaMinusInelasticProcess.hh index 8f36bb940a..29f3a04271 100644 --- a/source/processes/hadronic/processes/include/G4AntiOmegaMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiOmegaMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiOmegaMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiOmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiProtonInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiProtonInelasticProcess.hh index 6c4b644f72..fc3b058040 100644 --- a/source/processes/hadronic/processes/include/G4AntiProtonInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiProtonInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiProtonInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiProton Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiSigmaMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiSigmaMinusInelasticProcess.hh index 6aec0d2e90..9e40c2d34c 100644 --- a/source/processes/hadronic/processes/include/G4AntiSigmaMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiSigmaMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiSigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiSigmaPlusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiSigmaPlusInelasticProcess.hh index f6ab67a68b..0e35c4c6f6 100644 --- a/source/processes/hadronic/processes/include/G4AntiSigmaPlusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiSigmaPlusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiSigmaPlusInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiSigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiXiMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiXiMinusInelasticProcess.hh index 2d0da7cbd7..36fbcd5fb7 100644 --- a/source/processes/hadronic/processes/include/G4AntiXiMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiXiMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiXiMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiXiMinus Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4AntiXiZeroInelasticProcess.hh b/source/processes/hadronic/processes/include/G4AntiXiZeroInelasticProcess.hh index 1dcb0c1ea5..61011c9f18 100644 --- a/source/processes/hadronic/processes/include/G4AntiXiZeroInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4AntiXiZeroInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiXiZeroInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: AntiXiZero Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4DeuteronInelasticProcess.hh b/source/processes/hadronic/processes/include/G4DeuteronInelasticProcess.hh index a1d6c738bd..1331d6253c 100644 --- a/source/processes/hadronic/processes/include/G4DeuteronInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4DeuteronInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4DeuteronInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Deuteron Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4KaonMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4KaonMinusInelasticProcess.hh index 8b7e6b5a33..481be4c956 100644 --- a/source/processes/hadronic/processes/include/G4KaonMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4KaonMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: KaonMinus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4KaonPlusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4KaonPlusInelasticProcess.hh index 55930104a5..3d56632134 100644 --- a/source/processes/hadronic/processes/include/G4KaonPlusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4KaonPlusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonPlusInelasticProcess.hh,v 1.6 2002/12/12 19:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: KaonPlus Inelastic Process // J.L. Chuma, TRIUMF, 05-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4KaonZeroLInelasticProcess.hh b/source/processes/hadronic/processes/include/G4KaonZeroLInelasticProcess.hh index 85664c8dae..9875abbf44 100644 --- a/source/processes/hadronic/processes/include/G4KaonZeroLInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4KaonZeroLInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonZeroLInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: KaonZeroL Inelastic Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4KaonZeroSInelasticProcess.hh b/source/processes/hadronic/processes/include/G4KaonZeroSInelasticProcess.hh index 6d0bdbb33e..954d56cbad 100644 --- a/source/processes/hadronic/processes/include/G4KaonZeroSInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4KaonZeroSInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonZeroSInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: KaonZeroS InelasticProcess Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4LambdaInelasticProcess.hh b/source/processes/hadronic/processes/include/G4LambdaInelasticProcess.hh index 6a89f3935b..0fdf545957 100644 --- a/source/processes/hadronic/processes/include/G4LambdaInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4LambdaInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4LambdaInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process : Lambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4NeutronInelasticProcess.hh b/source/processes/hadronic/processes/include/G4NeutronInelasticProcess.hh index 9e3ff33080..f94b6cd044 100644 --- a/source/processes/hadronic/processes/include/G4NeutronInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4NeutronInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Neutron Inelastic Process // original by H.P. Wellisch diff --git a/source/processes/hadronic/processes/include/G4OmegaMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4OmegaMinusInelasticProcess.hh index b1b81488ec..3408a57bce 100644 --- a/source/processes/hadronic/processes/include/G4OmegaMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4OmegaMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4OmegaMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: OmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4PionMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4PionMinusInelasticProcess.hh index 566939c445..c0e9ec1c52 100644 --- a/source/processes/hadronic/processes/include/G4PionMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4PionMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4PionMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // PionMinus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4PionPlusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4PionPlusInelasticProcess.hh index 36593f91f7..a38545c62b 100644 --- a/source/processes/hadronic/processes/include/G4PionPlusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4PionPlusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4PionPlusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // PionPlus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4ProtonInelasticProcess.hh b/source/processes/hadronic/processes/include/G4ProtonInelasticProcess.hh index 1757771a8e..3fe698c7f5 100644 --- a/source/processes/hadronic/processes/include/G4ProtonInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4ProtonInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProtonInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Proton Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4SigmaMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4SigmaMinusInelasticProcess.hh index 24c416aee2..34c34c1bbb 100644 --- a/source/processes/hadronic/processes/include/G4SigmaMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4SigmaMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmaMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: SigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4SigmaPlusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4SigmaPlusInelasticProcess.hh index f820a2d37c..8e068b7743 100644 --- a/source/processes/hadronic/processes/include/G4SigmaPlusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4SigmaPlusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4SigmaPlusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: SigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4TritonInelasticProcess.hh b/source/processes/hadronic/processes/include/G4TritonInelasticProcess.hh index 89f1e735fc..3c15b073ad 100644 --- a/source/processes/hadronic/processes/include/G4TritonInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4TritonInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4TritonInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Triton Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/processes/include/G4XiMinusInelasticProcess.hh b/source/processes/hadronic/processes/include/G4XiMinusInelasticProcess.hh index 01bae2d62e..75bf96a58e 100644 --- a/source/processes/hadronic/processes/include/G4XiMinusInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4XiMinusInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4XiMinusInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: XiMinus Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/processes/include/G4XiZeroInelasticProcess.hh b/source/processes/hadronic/processes/include/G4XiZeroInelasticProcess.hh index bcd6eee5a1..4f872c8e41 100644 --- a/source/processes/hadronic/processes/include/G4XiZeroInelasticProcess.hh +++ b/source/processes/hadronic/processes/include/G4XiZeroInelasticProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4XiZeroInelasticProcess.hh,v 1.6 2002/12/12 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4 Process: XiZero Inelastic Process // J.L. Chuma, TRIUMF, 05-Nov-1996 diff --git a/source/processes/hadronic/stopping/include/G4AntiNeutronAnnihilationAtRest.hh b/source/processes/hadronic/stopping/include/G4AntiNeutronAnnihilationAtRest.hh index e6d3a24503..bf6cdb0cbf 100644 --- a/source/processes/hadronic/stopping/include/G4AntiNeutronAnnihilationAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4AntiNeutronAnnihilationAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiNeutronAnnihilationAtRest.hh,v 1.6 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4AntiProtonAnnihilationAtRest.hh b/source/processes/hadronic/stopping/include/G4AntiProtonAnnihilationAtRest.hh index 9ae35ac7fb..8b4d9cd7ee 100644 --- a/source/processes/hadronic/stopping/include/G4AntiProtonAnnihilationAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4AntiProtonAnnihilationAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4AntiProtonAnnihilationAtRest.hh,v 1.6 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4DistributionGenerator.hh b/source/processes/hadronic/stopping/include/G4DistributionGenerator.hh index 63558a6c1e..91819c1129 100644 --- a/source/processes/hadronic/stopping/include/G4DistributionGenerator.hh +++ b/source/processes/hadronic/stopping/include/G4DistributionGenerator.hh @@ -22,7 +22,7 @@ // // // $Id: G4DistributionGenerator.hh,v 1.7 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4KaonMinusAbsorption.hh b/source/processes/hadronic/stopping/include/G4KaonMinusAbsorption.hh index ef8e7482cb..3cb4f618e8 100644 --- a/source/processes/hadronic/stopping/include/G4KaonMinusAbsorption.hh +++ b/source/processes/hadronic/stopping/include/G4KaonMinusAbsorption.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinusAbsorption.hh,v 1.6 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4KaonMinusAbsorptionAtRest.hh b/source/processes/hadronic/stopping/include/G4KaonMinusAbsorptionAtRest.hh index 9af90678e3..11acc1f398 100644 --- a/source/processes/hadronic/stopping/include/G4KaonMinusAbsorptionAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4KaonMinusAbsorptionAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinusAbsorptionAtRest.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1997 diff --git a/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh b/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh index baa0be1ad9..9b2676ec6d 100644 --- a/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4MuonMinusCaptureAtRest.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4NeutronCaptureAtRest.hh b/source/processes/hadronic/stopping/include/G4NeutronCaptureAtRest.hh index a3ff71ee0b..614931723c 100644 --- a/source/processes/hadronic/stopping/include/G4NeutronCaptureAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4NeutronCaptureAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4NeutronCaptureAtRest.hh,v 1.6 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusAbsorptionAtRest.hh b/source/processes/hadronic/stopping/include/G4PiMinusAbsorptionAtRest.hh index a0445fea42..97c059e520 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusAbsorptionAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusAbsorptionAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusAbsorptionAtRest.hh,v 1.6 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopAbsorption.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopAbsorption.hh index 2133f7c59c..6690c12792 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopAbsorption.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopAbsorption.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopAbsorption.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopAl.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopAl.hh index d21d0a32ca..f21a1d2a67 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopAl.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopAl.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopAl.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopC.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopC.hh index 1afc789421..516c88cc8e 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopC.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopC.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopC.hh,v 1.7 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopCo.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopCo.hh index 96e914fee9..54d3d1d983 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopCo.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopCo.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopCo.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopCu.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopCu.hh index 624b823e96..6e7d047020 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopCu.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopCu.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopCu.hh,v 1.8 2002/12/12 19:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopLi.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopLi.hh index dc33d941dd..32f1acf796 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopLi.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopLi.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopLi.hh,v 1.8 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopN.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopN.hh index ada8337961..c4cd9f7ebc 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopN.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopN.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopN.hh,v 1.8 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopO.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopO.hh index 98331c3506..b4f6b25ba2 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopO.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopO.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopO.hh,v 1.8 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopPb.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopPb.hh index 24d8f9d743..0bd8265fe7 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopPb.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopPb.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopPb.hh,v 1.8 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PiMinusStopTa.hh b/source/processes/hadronic/stopping/include/G4PiMinusStopTa.hh index 7ce4c4e7fe..459b0cc43e 100644 --- a/source/processes/hadronic/stopping/include/G4PiMinusStopTa.hh +++ b/source/processes/hadronic/stopping/include/G4PiMinusStopTa.hh @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopTa.hh,v 1.8 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4PionMinusAbsorptionAtRest.hh b/source/processes/hadronic/stopping/include/G4PionMinusAbsorptionAtRest.hh index d5c6f083de..6659a05c01 100644 --- a/source/processes/hadronic/stopping/include/G4PionMinusAbsorptionAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4PionMinusAbsorptionAtRest.hh @@ -22,7 +22,7 @@ // // // $Id: G4PionMinusAbsorptionAtRest.hh,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4StopDeexcitation.hh b/source/processes/hadronic/stopping/include/G4StopDeexcitation.hh index 3216842541..1be97e8a60 100644 --- a/source/processes/hadronic/stopping/include/G4StopDeexcitation.hh +++ b/source/processes/hadronic/stopping/include/G4StopDeexcitation.hh @@ -22,7 +22,7 @@ // // // $Id: G4StopDeexcitation.hh,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4StopDeexcitationAlgorithm.hh b/source/processes/hadronic/stopping/include/G4StopDeexcitationAlgorithm.hh index 7383312ff7..2cdc803e23 100644 --- a/source/processes/hadronic/stopping/include/G4StopDeexcitationAlgorithm.hh +++ b/source/processes/hadronic/stopping/include/G4StopDeexcitationAlgorithm.hh @@ -22,7 +22,7 @@ // // // $Id: G4StopDeexcitationAlgorithm.hh,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4StopDummyDeexcitation.hh b/source/processes/hadronic/stopping/include/G4StopDummyDeexcitation.hh index f0ee0e390a..7f359f2d31 100644 --- a/source/processes/hadronic/stopping/include/G4StopDummyDeexcitation.hh +++ b/source/processes/hadronic/stopping/include/G4StopDummyDeexcitation.hh @@ -22,7 +22,7 @@ // // // $Id: G4StopDummyDeexcitation.hh,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4StopTheoDeexcitation.hh b/source/processes/hadronic/stopping/include/G4StopTheoDeexcitation.hh index c0a4440b90..42418d65c9 100644 --- a/source/processes/hadronic/stopping/include/G4StopTheoDeexcitation.hh +++ b/source/processes/hadronic/stopping/include/G4StopTheoDeexcitation.hh @@ -22,7 +22,7 @@ // // // $Id: G4StopTheoDeexcitation.hh,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4AntiProtonAnnihilationAtRest.cc b/source/processes/hadronic/stopping/src/G4AntiProtonAnnihilationAtRest.cc index 907246c5dc..54eab12a5f 100644 --- a/source/processes/hadronic/stopping/src/G4AntiProtonAnnihilationAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4AntiProtonAnnihilationAtRest.cc @@ -22,7 +22,7 @@ // // // $Id: G4AntiProtonAnnihilationAtRest.cc,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4DistributionGenerator.cc b/source/processes/hadronic/stopping/src/G4DistributionGenerator.cc index 3e6d43d48d..766323d371 100644 --- a/source/processes/hadronic/stopping/src/G4DistributionGenerator.cc +++ b/source/processes/hadronic/stopping/src/G4DistributionGenerator.cc @@ -22,7 +22,7 @@ // // // $Id: G4DistributionGenerator.cc,v 1.9 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4KaonMinusAbsorption.cc b/source/processes/hadronic/stopping/src/G4KaonMinusAbsorption.cc index 06b02a5f1c..e84a366108 100644 --- a/source/processes/hadronic/stopping/src/G4KaonMinusAbsorption.cc +++ b/source/processes/hadronic/stopping/src/G4KaonMinusAbsorption.cc @@ -22,7 +22,7 @@ // // // $Id: G4KaonMinusAbsorption.cc,v 1.6 2002/12/12 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc index f44f495555..3f6db8b934 100644 --- a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MuonMinusCaptureAtRest.cc,v 1.10 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MuonMinusCaptureAtRest.cc,v 1.11 2003/02/26 17:01:43 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 @@ -42,6 +42,7 @@ // V.Ivanchenko 10 Aug 2002 Add control on G4ParticleDefinition // of secondaries // V.Ivanchenko 27 Oct 2002 NeutrinoE->NeutrinoMu +// V.Ivanchenko 26 Feb 2003 Fix bug#457 //----------------------------------------------------------------------------- #include "G4MuonMinusCaptureAtRest.hh" @@ -306,7 +307,7 @@ G4VParticleChange* G4MuonMinusCaptureAtRest::AtRestDoIt( localtime = globalTime*s + tDelay; for ( G4int isec = 0; isec < nCascade; isec++ ) { - G4ParticleDefinition* pd = Gkin[isec].GetParticleDef(); + G4ParticleDefinition* pd = Cascade[isec].GetParticleDef(); if(pd) { G4DynamicParticle* aNewParticle = new G4DynamicParticle; aNewParticle->SetDefinition( pd ); diff --git a/source/processes/hadronic/stopping/src/G4NeutronCaptureAtRest.cc b/source/processes/hadronic/stopping/src/G4NeutronCaptureAtRest.cc index 868135a57c..1fcd33ecf6 100644 --- a/source/processes/hadronic/stopping/src/G4NeutronCaptureAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4NeutronCaptureAtRest.cc @@ -22,7 +22,7 @@ // // // $Id: G4NeutronCaptureAtRest.cc,v 1.6 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc b/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc index a9cb292adc..5a4629829b 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusAbsorptionAtRest.cc,v 1.11 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopAbsorption.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopAbsorption.cc index 09fc3873ad..1c8b1bd0fc 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopAbsorption.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopAbsorption.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopAbsorption.cc,v 1.12 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopAl.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopAl.cc index 6fbb82e690..41e3414ec3 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopAl.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopAl.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopAl.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopC.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopC.cc index 906141f068..c51c94e18d 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopC.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopC.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopC.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopCo.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopCo.cc index 42706581a5..400269a106 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopCo.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopCo.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopCo.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopCu.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopCu.cc index f3e5da1be2..63763c3259 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopCu.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopCu.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopCu.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopLi.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopLi.cc index eeb1db39b4..9e9bdf0cd1 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopLi.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopLi.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopLi.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc index 83d0731a68..236b3e0ca8 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopMaterial.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopMaterial.cc,v 1.10 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopN.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopN.cc index 0107da7907..63747b454b 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopN.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopN.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopN.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopO.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopO.cc index fc8e277a40..12e30a3285 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopO.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopO.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopO.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopPb.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopPb.cc index b522d2d76d..6f481c4b85 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopPb.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopPb.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopPb.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PiMinusStopTa.cc b/source/processes/hadronic/stopping/src/G4PiMinusStopTa.cc index 87442375ad..127eab524d 100644 --- a/source/processes/hadronic/stopping/src/G4PiMinusStopTa.cc +++ b/source/processes/hadronic/stopping/src/G4PiMinusStopTa.cc @@ -22,7 +22,7 @@ // // // $Id: G4PiMinusStopTa.cc,v 1.8 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4PionMinusAbsorptionAtRest.cc b/source/processes/hadronic/stopping/src/G4PionMinusAbsorptionAtRest.cc index 9052d75c96..285075252a 100644 --- a/source/processes/hadronic/stopping/src/G4PionMinusAbsorptionAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4PionMinusAbsorptionAtRest.cc @@ -22,7 +22,7 @@ // // // $Id: G4PionMinusAbsorptionAtRest.cc,v 1.7 2002/12/12 19:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4StopDeexcitation.cc b/source/processes/hadronic/stopping/src/G4StopDeexcitation.cc index 8cd86da43b..2903254aa5 100644 --- a/source/processes/hadronic/stopping/src/G4StopDeexcitation.cc +++ b/source/processes/hadronic/stopping/src/G4StopDeexcitation.cc @@ -22,7 +22,7 @@ // // // $Id: G4StopDeexcitation.cc,v 1.8 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc b/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc index 64c8ad759c..66fd8502fb 100644 --- a/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc +++ b/source/processes/hadronic/stopping/src/G4StopDummyDeexcitation.cc @@ -22,7 +22,7 @@ // // // $Id: G4StopDummyDeexcitation.cc,v 1.8 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4StopTheoDeexcitation.cc b/source/processes/hadronic/stopping/src/G4StopTheoDeexcitation.cc index 942b6cdd07..9021c2374f 100644 --- a/source/processes/hadronic/stopping/src/G4StopTheoDeexcitation.cc +++ b/source/processes/hadronic/stopping/src/G4StopTheoDeexcitation.cc @@ -22,7 +22,7 @@ // // // $Id: G4StopTheoDeexcitation.cc,v 1.9 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/util/include/G4DynamicParticleVector.hh b/source/processes/hadronic/util/include/G4DynamicParticleVector.hh index 3761e9f838..e88803e97b 100644 --- a/source/processes/hadronic/util/include/G4DynamicParticleVector.hh +++ b/source/processes/hadronic/util/include/G4DynamicParticleVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4DynamicParticleVector.hh,v 1.9 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // History: first implementation, alternative to G4FastVector diff --git a/source/processes/hadronic/util/include/G4EffectiveCharge.hh b/source/processes/hadronic/util/include/G4EffectiveCharge.hh index 93d9cd25ce..8e2837da6a 100644 --- a/source/processes/hadronic/util/include/G4EffectiveCharge.hh +++ b/source/processes/hadronic/util/include/G4EffectiveCharge.hh @@ -24,8 +24,6 @@ #ifndef G4EffectiveCharge_h #define G4EffectiveCharge_h -#include "SystemOfUnits.h" -#include "PhysicalConstants.h" #include "G4Material.hh" class G4EffectiveCharge diff --git a/source/processes/hadronic/util/include/G4GHEKinematicsVector.hh b/source/processes/hadronic/util/include/G4GHEKinematicsVector.hh index 983db65935..82cd5b983d 100644 --- a/source/processes/hadronic/util/include/G4GHEKinematicsVector.hh +++ b/source/processes/hadronic/util/include/G4GHEKinematicsVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4GHEKinematicsVector.hh,v 1.5 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/util/include/G4LightMedia.hh b/source/processes/hadronic/util/include/G4LightMedia.hh index 5bbcb4a235..7dcb3dc965 100644 --- a/source/processes/hadronic/util/include/G4LightMedia.hh +++ b/source/processes/hadronic/util/include/G4LightMedia.hh @@ -22,7 +22,7 @@ // // // $Id: G4LightMedia.hh,v 1.5 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Light Media Charge and/or Strangeness Exchange // J.L. Chuma, TRIUMF, 21-Feb-1997 diff --git a/source/processes/hadronic/util/include/G4ParticleVector.hh b/source/processes/hadronic/util/include/G4ParticleVector.hh index b4a410d01a..bf96b51915 100644 --- a/source/processes/hadronic/util/include/G4ParticleVector.hh +++ b/source/processes/hadronic/util/include/G4ParticleVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleVector.hh,v 1.8 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4ParticleVector_h diff --git a/source/processes/hadronic/util/include/G4ReactionDynamics.hh b/source/processes/hadronic/util/include/G4ReactionDynamics.hh index 83a7ddcd25..ac00d554a2 100644 --- a/source/processes/hadronic/util/include/G4ReactionDynamics.hh +++ b/source/processes/hadronic/util/include/G4ReactionDynamics.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReactionDynamics.hh,v 1.7 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Reaction Dynamics // original by H.P. Wellisch diff --git a/source/processes/hadronic/util/include/G4ReactionKinematics.hh b/source/processes/hadronic/util/include/G4ReactionKinematics.hh index 8b6f7b4b49..f081e713a4 100644 --- a/source/processes/hadronic/util/include/G4ReactionKinematics.hh +++ b/source/processes/hadronic/util/include/G4ReactionKinematics.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReactionKinematics.hh,v 1.5 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1995 diff --git a/source/processes/hadronic/util/include/G4ReactionProduct.hh b/source/processes/hadronic/util/include/G4ReactionProduct.hh index a69e50631c..fae24f18d3 100644 --- a/source/processes/hadronic/util/include/G4ReactionProduct.hh +++ b/source/processes/hadronic/util/include/G4ReactionProduct.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReactionProduct.hh,v 1.7 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // J.L. Chuma, TRIUMF, 31-Oct-1996 // last modified: 19-Dec-1996 diff --git a/source/processes/hadronic/util/include/G4ReactionProductVector.hh b/source/processes/hadronic/util/include/G4ReactionProductVector.hh index ff0020024e..ead64eccbe 100644 --- a/source/processes/hadronic/util/include/G4ReactionProductVector.hh +++ b/source/processes/hadronic/util/include/G4ReactionProductVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ReactionProductVector.hh,v 1.8 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // History: first implementation, alternative to G4FastVector diff --git a/source/processes/hadronic/util/include/G4StableIsotopes.hh b/source/processes/hadronic/util/include/G4StableIsotopes.hh index cb47ee01c1..cf720949f6 100644 --- a/source/processes/hadronic/util/include/G4StableIsotopes.hh +++ b/source/processes/hadronic/util/include/G4StableIsotopes.hh @@ -22,7 +22,7 @@ // // // $Id: G4StableIsotopes.hh,v 1.7 2002/12/12 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4StableIsotopes_h #define G4StableIsotopes_h 1 diff --git a/source/processes/hadronic/util/src/G4LightMedia.cc b/source/processes/hadronic/util/src/G4LightMedia.cc index 8378f187e2..e5c128ee0e 100644 --- a/source/processes/hadronic/util/src/G4LightMedia.cc +++ b/source/processes/hadronic/util/src/G4LightMedia.cc @@ -22,7 +22,7 @@ // // // $Id: G4LightMedia.cc,v 1.6 2002/12/12 19:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Hadronic Process: Light Media Charge and/or Strangeness Exchange // J.L. Chuma, TRIUMF, 21-Feb-1997 diff --git a/source/processes/hadronic/util/src/G4ReactionKinematics.cc b/source/processes/hadronic/util/src/G4ReactionKinematics.cc index f2aca4d0c3..ef1ce0396e 100644 --- a/source/processes/hadronic/util/src/G4ReactionKinematics.cc +++ b/source/processes/hadronic/util/src/G4ReactionKinematics.cc @@ -22,7 +22,7 @@ // // // $Id: G4ReactionKinematics.cc,v 1.6 2002/12/12 19:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // CERN Geneva Switzerland // diff --git a/source/processes/hadronic/util/src/G4ReactionProduct.cc b/source/processes/hadronic/util/src/G4ReactionProduct.cc index 72cac7e287..3e685b5f25 100644 --- a/source/processes/hadronic/util/src/G4ReactionProduct.cc +++ b/source/processes/hadronic/util/src/G4ReactionProduct.cc @@ -22,7 +22,7 @@ // // // $Id: G4ReactionProduct.cc,v 1.6 2002/12/12 19:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // J.L. Chuma, TRIUMF, 31-Oct-1996 // last modified: 19-Dec-1996 diff --git a/source/processes/hadronic/util/src/G4StableIsotopes.cc b/source/processes/hadronic/util/src/G4StableIsotopes.cc index 88b166c194..cf21d00938 100644 --- a/source/processes/hadronic/util/src/G4StableIsotopes.cc +++ b/source/processes/hadronic/util/src/G4StableIsotopes.cc @@ -22,7 +22,7 @@ // // // $Id: G4StableIsotopes.cc,v 1.5 2002/12/12 19:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4StableIsotopes.hh" diff --git a/source/processes/management/History b/source/processes/management/History index 86ff42e62c..96ccf60541 100644 --- a/source/processes/management/History +++ b/source/processes/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2002/11/28 00:32:23 kurasige Exp $ +$Id: History,v 1.29 2003/04/01 16:44:15 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,12 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +- Apr.01, 2003 G.Cosmo (procman-V05-00-01) +- Cleared few trivial strict pedantic warnings + +- Mar.25, 2003 H.Kurashige (procman-V05-00-00) +- Fix PostStepGetPhysicalInteractionLength to avoid unrealistic step of length 0 + - Nov.28, 2002 H.Kurashige (procman-V04-01-01) - Fixed memory leak in G4ProcessTable diff --git a/source/processes/management/include/G4IVContinuousDiscreteProcess.hh b/source/processes/management/include/G4IVContinuousDiscreteProcess.hh index def951a356..3bfd3ba5ef 100644 --- a/source/processes/management/include/G4IVContinuousDiscreteProcess.hh +++ b/source/processes/management/include/G4IVContinuousDiscreteProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4IVContinuousDiscreteProcess.hh,v 1.7 2001/07/11 10:08:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4IVRestDiscreteProcess.hh b/source/processes/management/include/G4IVRestDiscreteProcess.hh index 5d360dbf04..3559737390 100644 --- a/source/processes/management/include/G4IVRestDiscreteProcess.hh +++ b/source/processes/management/include/G4IVRestDiscreteProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4IVRestDiscreteProcess.hh,v 1.7 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ParticleTypes.hh b/source/processes/management/include/G4ParticleTypes.hh index 01f28dde94..c949427746 100644 --- a/source/processes/management/include/G4ParticleTypes.hh +++ b/source/processes/management/include/G4ParticleTypes.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleTypes.hh,v 1.5 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcTblElement.hh b/source/processes/management/include/G4ProcTblElement.hh index 1a98eecde3..5dbfc6101f 100644 --- a/source/processes/management/include/G4ProcTblElement.hh +++ b/source/processes/management/include/G4ProcTblElement.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcTblElement.hh,v 1.9 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcTblElement.icc b/source/processes/management/include/G4ProcTblElement.icc index 4381e07679..4f2f6d203e 100644 --- a/source/processes/management/include/G4ProcTblElement.icc +++ b/source/processes/management/include/G4ProcTblElement.icc @@ -22,7 +22,7 @@ // // // $Id: G4ProcTblElement.icc,v 1.7 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessAttribute.hh b/source/processes/management/include/G4ProcessAttribute.hh index f2690d6f99..a859a80598 100644 --- a/source/processes/management/include/G4ProcessAttribute.hh +++ b/source/processes/management/include/G4ProcessAttribute.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcessAttribute.hh,v 1.4 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessManager.hh b/source/processes/management/include/G4ProcessManager.hh index 89804b4641..4486f15e11 100644 --- a/source/processes/management/include/G4ProcessManager.hh +++ b/source/processes/management/include/G4ProcessManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcessManager.hh,v 1.8 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessManager.icc b/source/processes/management/include/G4ProcessManager.icc index 2c6cd3e0d3..a2e2e125df 100644 --- a/source/processes/management/include/G4ProcessManager.icc +++ b/source/processes/management/include/G4ProcessManager.icc @@ -22,7 +22,7 @@ // // // $Id: G4ProcessManager.icc,v 1.3 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/management/include/G4ProcessManagerMessenger.hh b/source/processes/management/include/G4ProcessManagerMessenger.hh index 4ba8154c33..1f569956c5 100644 --- a/source/processes/management/include/G4ProcessManagerMessenger.hh +++ b/source/processes/management/include/G4ProcessManagerMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProcessManagerMessenger.hh,v 1.5 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProcessManagerMessenger.hh,v 1.6 2003/04/01 16:43:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -81,7 +81,8 @@ public: // with description // get current value for command string private: - G4ProcessManagerMessenger(const G4ProcessManagerMessenger&){}; + G4ProcessManagerMessenger(const G4ProcessManagerMessenger&) + : G4UImessenger() {}; // hide copy constructor as private private: diff --git a/source/processes/management/include/G4ProcessTable.hh b/source/processes/management/include/G4ProcessTable.hh index 5233ee628c..4b88e1212c 100644 --- a/source/processes/management/include/G4ProcessTable.hh +++ b/source/processes/management/include/G4ProcessTable.hh @@ -23,7 +23,7 @@ // // $Id: G4ProcessTable.hh,v 1.7 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessTable.icc b/source/processes/management/include/G4ProcessTable.icc index 30b750aaf5..d390713da4 100644 --- a/source/processes/management/include/G4ProcessTable.icc +++ b/source/processes/management/include/G4ProcessTable.icc @@ -22,7 +22,7 @@ // // // $Id: G4ProcessTable.icc,v 1.4 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // History: // Use STL vector instead of RW vector 1. Mar 00 H.Kurashige diff --git a/source/processes/management/include/G4ProcessTableMessenger.hh b/source/processes/management/include/G4ProcessTableMessenger.hh index 97de087991..3251624092 100644 --- a/source/processes/management/include/G4ProcessTableMessenger.hh +++ b/source/processes/management/include/G4ProcessTableMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProcessTableMessenger.hh,v 1.5 2002/09/17 15:39:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProcessTableMessenger.hh,v 1.6 2003/04/01 16:43:50 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -77,7 +77,8 @@ class G4ProcessTableMessenger: public G4UImessenger void SetNumberOfProcessType(); private: - G4ProcessTableMessenger(const G4ProcessTableMessenger&){}; + G4ProcessTableMessenger(const G4ProcessTableMessenger&) + : G4UImessenger() {}; G4ProcessTableMessenger(){}; private: diff --git a/source/processes/management/include/G4ProcessType.hh b/source/processes/management/include/G4ProcessType.hh index 75ebe44a4c..c35851379c 100644 --- a/source/processes/management/include/G4ProcessType.hh +++ b/source/processes/management/include/G4ProcessType.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcessType.hh,v 1.4 2001/07/11 10:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/include/G4ProcessVector.hh b/source/processes/management/include/G4ProcessVector.hh index 6fd980e740..b2d73cca5e 100644 --- a/source/processes/management/include/G4ProcessVector.hh +++ b/source/processes/management/include/G4ProcessVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcessVector.hh,v 1.8 2001/09/19 10:54:47 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessVector.icc b/source/processes/management/include/G4ProcessVector.icc index 8d8d889ae4..a32ba3ec90 100644 --- a/source/processes/management/include/G4ProcessVector.icc +++ b/source/processes/management/include/G4ProcessVector.icc @@ -22,7 +22,7 @@ // // // $Id: G4ProcessVector.icc,v 1.4 2001/09/19 10:54:48 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // inline G4bool G4ProcessVector::operator==(const G4ProcessVector &right) const { diff --git a/source/processes/management/include/G4VContinuousDiscreteProcess.hh b/source/processes/management/include/G4VContinuousDiscreteProcess.hh index 1747b18f2a..fd89ecf3c1 100644 --- a/source/processes/management/include/G4VContinuousDiscreteProcess.hh +++ b/source/processes/management/include/G4VContinuousDiscreteProcess.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VContinuousDiscreteProcess.hh,v 1.6 2002/04/15 04:29:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VContinuousDiscreteProcess.hh,v 1.7 2003/03/25 06:22:23 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -151,8 +151,8 @@ inline G4double G4VContinuousDiscreteProcess::PostStepGetPhysicalInteractionLeng } else { // subtract NumberOfInteractionLengthLeft SubtractNumberOfInteractionLengthLeft(previousStepSize); - if(theNumberOfInteractionLengthLeft0){ @@ -337,7 +337,7 @@ G4VProcess* G4ProcessTable::FindProcess(const G4String& processName, /////////////// G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( - G4ProcTableVector* procTblVector, + G4ProcTableVector*, const G4String& processName ) { tmpTblVector->clear(); @@ -366,7 +366,7 @@ G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( } /////////////// G4ProcessTable::G4ProcTableVector* G4ProcessTable::Find( - G4ProcTableVector* procTblVector, + G4ProcTableVector*, G4ProcessType processType ) { tmpTblVector->clear(); diff --git a/source/processes/management/src/G4ProcessTableMessenger.cc b/source/processes/management/src/G4ProcessTableMessenger.cc index 8e596c2c9a..b975d61797 100644 --- a/source/processes/management/src/G4ProcessTableMessenger.cc +++ b/source/processes/management/src/G4ProcessTableMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProcessTableMessenger.cc,v 1.12 2002/12/04 21:29:49 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/src/G4ProcessVector.cc b/source/processes/management/src/G4ProcessVector.cc index d52f3b7cd7..98e77ff292 100644 --- a/source/processes/management/src/G4ProcessVector.cc +++ b/source/processes/management/src/G4ProcessVector.cc @@ -22,7 +22,7 @@ // // // $Id: G4ProcessVector.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/src/G4VContinuousDiscreteProcess.cc b/source/processes/management/src/G4VContinuousDiscreteProcess.cc index 69210a1407..593b30d26c 100644 --- a/source/processes/management/src/G4VContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VContinuousDiscreteProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VContinuousDiscreteProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VContinuousProcess.cc b/source/processes/management/src/G4VContinuousProcess.cc index 1919ad6ab4..08b3c6544d 100644 --- a/source/processes/management/src/G4VContinuousProcess.cc +++ b/source/processes/management/src/G4VContinuousProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VContinuousProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VDiscreteProcess.cc b/source/processes/management/src/G4VDiscreteProcess.cc index 5e283015a2..a954cec485 100644 --- a/source/processes/management/src/G4VDiscreteProcess.cc +++ b/source/processes/management/src/G4VDiscreteProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VDiscreteProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VProcess.cc b/source/processes/management/src/G4VProcess.cc index 203935872a..6365f6ca86 100644 --- a/source/processes/management/src/G4VProcess.cc +++ b/source/processes/management/src/G4VProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VProcess.cc,v 1.9 2001/11/07 05:23:38 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc index f57b5b5f76..6424127252 100644 --- a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRestContinuousDiscreteProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestContinuousProcess.cc b/source/processes/management/src/G4VRestContinuousProcess.cc index 5b545af4ce..055c606b37 100644 --- a/source/processes/management/src/G4VRestContinuousProcess.cc +++ b/source/processes/management/src/G4VRestContinuousProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRestContinuousProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestDiscreteProcess.cc b/source/processes/management/src/G4VRestDiscreteProcess.cc index 69990e6407..93cfc6a6cb 100644 --- a/source/processes/management/src/G4VRestDiscreteProcess.cc +++ b/source/processes/management/src/G4VRestDiscreteProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRestDiscreteProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestProcess.cc b/source/processes/management/src/G4VRestProcess.cc index 0779f7557e..f67912cabb 100644 --- a/source/processes/management/src/G4VRestProcess.cc +++ b/source/processes/management/src/G4VRestProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRestProcess.cc,v 1.3 2001/07/11 10:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/processes/optical/History b/source/processes/optical/History index 47c7caf7ff..0a168f0e6f 100644 --- a/source/processes/optical/History +++ b/source/processes/optical/History @@ -16,6 +16,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +15th March 2003 Peter Gumplinger (op-V05-00-01) + Change logic for assigning of Rindex2; bug report #444 +4th February 2003 Peter Gumplinger (op-V05-00-00) + Fix calculation of polarization for perpendicular + incidence when Rindex1 > Rindex2; bug report #442 12th November 2002 Peter Gumplinger (op-V04-01-01) Fix calculation of polarization on dielectric dielectric interfaces; bug report #427 diff --git a/source/processes/optical/include/G4OpAbsorption.hh b/source/processes/optical/include/G4OpAbsorption.hh index 03013fb3e9..b918f04422 100644 --- a/source/processes/optical/include/G4OpAbsorption.hh +++ b/source/processes/optical/include/G4OpAbsorption.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpAbsorption.hh,v 1.7 2001/08/31 16:43:32 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon Absorption Class Definition diff --git a/source/processes/optical/include/G4OpBoundaryProcess.hh b/source/processes/optical/include/G4OpBoundaryProcess.hh index b2c475942f..8001d4fee0 100644 --- a/source/processes/optical/include/G4OpBoundaryProcess.hh +++ b/source/processes/optical/include/G4OpBoundaryProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpBoundaryProcess.hh,v 1.8 2002/03/29 01:03:53 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/optical/include/G4OpRayleigh.hh b/source/processes/optical/include/G4OpRayleigh.hh index 7247720f84..1caad7a918 100644 --- a/source/processes/optical/include/G4OpRayleigh.hh +++ b/source/processes/optical/include/G4OpRayleigh.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpRayleigh.hh,v 1.6 2001/08/31 16:44:46 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/optical/src/G4OpAbsorption.cc b/source/processes/optical/src/G4OpAbsorption.cc index 7682d1644a..ad88db6762 100644 --- a/source/processes/optical/src/G4OpAbsorption.cc +++ b/source/processes/optical/src/G4OpAbsorption.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpAbsorption.cc,v 1.4 2001/07/11 10:08:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon Absorption Class Implementation diff --git a/source/processes/optical/src/G4OpBoundaryProcess.cc b/source/processes/optical/src/G4OpBoundaryProcess.cc index 8d020ab4bd..3bb2366c84 100644 --- a/source/processes/optical/src/G4OpBoundaryProcess.cc +++ b/source/processes/optical/src/G4OpBoundaryProcess.cc @@ -121,21 +121,12 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) Material2 = pPostStepPoint->GetPhysicalVolume()-> GetLogicalVolume()->GetMaterial(); - if (Material1 == Material2) - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); thePhotonMomentum = aParticle->GetTotalMomentum(); OldMomentum = aParticle->GetMomentumDirection(); OldPolarization = aParticle->GetPolarization(); - if ( verboseLevel > 0 ) { - G4cout << " Photon at Boundary! " << G4endl; - G4cout << " Old Momentum Direction: " << OldMomentum << G4endl; - G4cout << " Old Polarization: " << OldPolarization << G4endl; - } - G4MaterialPropertiesTable* aMaterialPropertiesTable; G4MaterialPropertyVector* Rindex; @@ -156,13 +147,14 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } + theModel = glisur; + theFinish = polished; + + G4OpticalSurfaceType type = dielectric_dielectric; + Rindex = NULL; OpticalSurface = NULL; - aMaterialPropertiesTable = Material2->GetMaterialPropertiesTable(); - if (aMaterialPropertiesTable) - Rindex = aMaterialPropertiesTable->GetProperty("RINDEX"); - G4LogicalSurface* Surface = G4LogicalBorderSurface::GetSurface (pPreStepPoint ->GetPhysicalVolume(), pPostStepPoint->GetPhysicalVolume()); @@ -173,24 +165,9 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) if (Surface != NULL) OpticalSurface = Surface->GetOpticalSurface(); - theModel = glisur; - theFinish = polished; - - G4OpticalSurfaceType type; - if (Rindex) { - type = dielectric_dielectric; -// if (OpticalSurface) type = OpticalSurface->GetType(); - Rindex2 = Rindex->GetProperty(thePhotonMomentum); - } - else if (OpticalSurface) { - type = OpticalSurface->GetType(); - } - else { - aParticleChange.SetStatusChange(fStopAndKill); - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - } - if (OpticalSurface) { + + type = OpticalSurface->GetType(); theModel = OpticalSurface->GetModel(); theFinish = OpticalSurface->GetFinish(); @@ -198,14 +175,21 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) GetMaterialPropertiesTable(); if (aMaterialPropertiesTable) { - G4MaterialPropertyVector* PropertyPointer; - if(!Rindex) { - PropertyPointer = - aMaterialPropertiesTable->GetProperty("RINDEX"); - if (PropertyPointer) Rindex2 = - PropertyPointer->GetProperty(thePhotonMomentum); - } + if (theFinish == polishedbackpainted || + theFinish == groundbackpainted ) { + Rindex = + aMaterialPropertiesTable->GetProperty("RINDEX"); + if (Rindex) { + Rindex2 = Rindex->GetProperty(thePhotonMomentum); + } + else { + aParticleChange.SetStatusChange(fStopAndKill); + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + } + + G4MaterialPropertyVector* PropertyPointer; PropertyPointer = aMaterialPropertiesTable->GetProperty("REFLECTIVITY"); @@ -234,7 +218,38 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) PropertyPointer->GetProperty(thePhotonMomentum); } } - } + else if (theFinish == polishedbackpainted || + theFinish == groundbackpainted ) { + aParticleChange.SetStatusChange(fStopAndKill); + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + } + + if (type == dielectric_dielectric ) { + if (theFinish == polished || theFinish == ground ) { + + if (Material1 == Material2) + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + + aMaterialPropertiesTable = + Material2->GetMaterialPropertiesTable(); + if (aMaterialPropertiesTable) + Rindex = aMaterialPropertiesTable->GetProperty("RINDEX"); + if (Rindex) { + Rindex2 = Rindex->GetProperty(thePhotonMomentum); + } + else { + aParticleChange.SetStatusChange(fStopAndKill); + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + } + } + + if ( verboseLevel > 0 ) { + G4cout << " Photon at Boundary! " << G4endl; + G4cout << " Old Momentum Direction: " << OldMomentum << G4endl; + G4cout << " Old Polarization: " << OldPolarization << G4endl; + } G4ThreeVector theGlobalPoint = pPostStepPoint->GetPosition(); @@ -558,7 +573,7 @@ void G4OpBoundaryProcess::DielectricDielectric() PdotN = OldMomentum * theFacetNormal; NewMomentum = OldMomentum - (2.*PdotN)*theFacetNormal; - if (sint1 > 0.0) { // incident ray oblique + if (sint1 > 0.0) { // incident ray oblique E2_parl = Rindex2*E2_parl/Rindex1 - E1_parl; E2_perp = E2_perp - E1_perp; @@ -571,14 +586,19 @@ void G4OpBoundaryProcess::DielectricDielectric() NewPolarization = C_parl*A_paral + C_perp*A_trans; - } + } - else if (Rindex2 > Rindex1) { // incident ray perpendicular + else { // incident ray perpendicular - NewPolarization = - OldPolarization; + if (Rindex2 > Rindex1) { + NewPolarization = - OldPolarization; + } + else { + NewPolarization = OldPolarization; + } - } - } + } + } } else { // photon gets transmitted diff --git a/source/processes/optical/src/G4OpRayleigh.cc b/source/processes/optical/src/G4OpRayleigh.cc index 25db5ad1fc..589188e981 100644 --- a/source/processes/optical/src/G4OpRayleigh.cc +++ b/source/processes/optical/src/G4OpRayleigh.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpRayleigh.cc,v 1.8 2001/10/18 17:13:54 gum Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/parameterisation/include/G4FastSimulationManager.hh b/source/processes/parameterisation/include/G4FastSimulationManager.hh index f63af6c1be..ee825a531c 100644 --- a/source/processes/parameterisation/include/G4FastSimulationManager.hh +++ b/source/processes/parameterisation/include/G4FastSimulationManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationManager.hh,v 1.8 2002/11/02 00:10:34 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh b/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh index 5e899c7297..edb24146e9 100644 --- a/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh +++ b/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationManagerProcess.hh,v 1.8 2001/07/11 10:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4FastSimulationMessenger.hh b/source/processes/parameterisation/include/G4FastSimulationMessenger.hh index 3414db05bc..c5f8eee0ff 100644 --- a/source/processes/parameterisation/include/G4FastSimulationMessenger.hh +++ b/source/processes/parameterisation/include/G4FastSimulationMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationMessenger.hh,v 1.4 2001/07/11 10:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT 4 class header file diff --git a/source/processes/parameterisation/include/G4FastStep.hh b/source/processes/parameterisation/include/G4FastStep.hh index 95b6c29bea..dafa8a2268 100644 --- a/source/processes/parameterisation/include/G4FastStep.hh +++ b/source/processes/parameterisation/include/G4FastStep.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastStep.hh,v 1.6 2001/07/11 10:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4FastStep.icc b/source/processes/parameterisation/include/G4FastStep.icc index 5fcbd5f2f3..22be435a27 100644 --- a/source/processes/parameterisation/include/G4FastStep.icc +++ b/source/processes/parameterisation/include/G4FastStep.icc @@ -22,7 +22,7 @@ // // // $Id: G4FastStep.icc,v 1.3 2001/07/11 10:08:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $id: G4ParticleChange.icc,v 1.6 1998/04/14 02:25:54 kurasige Exp $ diff --git a/source/processes/parameterisation/include/G4FastTrack.hh b/source/processes/parameterisation/include/G4FastTrack.hh index b173aec5e1..9c14044d11 100644 --- a/source/processes/parameterisation/include/G4FastTrack.hh +++ b/source/processes/parameterisation/include/G4FastTrack.hh @@ -22,7 +22,7 @@ // // // $Id: G4FastTrack.hh,v 1.5 2001/07/11 10:08:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh b/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh index a394b633a4..39058bd9fd 100644 --- a/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh +++ b/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh @@ -22,7 +22,7 @@ // // // $Id: G4FlavoredParallelWorld.hh,v 1.5 2001/07/11 10:08:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh b/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh index 7f2f79ffca..9c33c40fda 100644 --- a/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh +++ b/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4GlobalFastSimulationManager.hh,v 1.9 2002/11/02 00:10:34 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4VFastSimulationModel.hh b/source/processes/parameterisation/include/G4VFastSimulationModel.hh index 4ab36a6c8b..3a10c95218 100644 --- a/source/processes/parameterisation/include/G4VFastSimulationModel.hh +++ b/source/processes/parameterisation/include/G4VFastSimulationModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFastSimulationModel.hh,v 1.4 2001/07/11 10:08:24 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/src/G4FastSimulationManager.cc b/source/processes/parameterisation/src/G4FastSimulationManager.cc index 63755d769a..d53559aa4f 100644 --- a/source/processes/parameterisation/src/G4FastSimulationManager.cc +++ b/source/processes/parameterisation/src/G4FastSimulationManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationManager.cc,v 1.8 2002/11/15 11:41:56 stesting Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------------------------------------------------------- // diff --git a/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc b/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc index 5dd8163efd..1786832c18 100644 --- a/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc +++ b/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationManagerProcess.cc,v 1.7 2001/10/26 14:43:36 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/src/G4FastSimulationMessenger.cc b/source/processes/parameterisation/src/G4FastSimulationMessenger.cc index 89a4c52578..f3a1e3fdb9 100644 --- a/source/processes/parameterisation/src/G4FastSimulationMessenger.cc +++ b/source/processes/parameterisation/src/G4FastSimulationMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4FastSimulationMessenger.cc,v 1.5 2002/12/04 21:29:50 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4FastSimulationMessenger.hh" diff --git a/source/processes/parameterisation/src/G4FastStep.cc b/source/processes/parameterisation/src/G4FastStep.cc index e539b691d7..fd25955cfa 100644 --- a/source/processes/parameterisation/src/G4FastStep.cc +++ b/source/processes/parameterisation/src/G4FastStep.cc @@ -22,7 +22,7 @@ // // // $Id: G4FastStep.cc,v 1.10 2002/11/20 17:05:14 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------------------------------------------------------- // diff --git a/source/processes/parameterisation/src/G4FastTrack.cc b/source/processes/parameterisation/src/G4FastTrack.cc index 21fac111a0..fbae29d3d1 100644 --- a/source/processes/parameterisation/src/G4FastTrack.cc +++ b/source/processes/parameterisation/src/G4FastTrack.cc @@ -22,7 +22,7 @@ // // // $Id: G4FastTrack.cc,v 1.6 2001/10/26 14:43:37 mverderi Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------------------------------------------------------- // diff --git a/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc b/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc index b4aff0ecf0..1d9ef9a27b 100644 --- a/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc +++ b/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4GlobalFastSimulationManager.cc,v 1.12 2002/12/04 21:29:50 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/src/G4VFastSimulationModel.cc b/source/processes/parameterisation/src/G4VFastSimulationModel.cc index 606e6376a6..9b5b626712 100644 --- a/source/processes/parameterisation/src/G4VFastSimulationModel.cc +++ b/source/processes/parameterisation/src/G4VFastSimulationModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VFastSimulationModel.cc,v 1.5 2001/07/11 10:08:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------------------------------------------------------- // diff --git a/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.hh b/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.hh index 2a2f573f00..2047189be8 100644 --- a/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.hh +++ b/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.hh @@ -22,7 +22,7 @@ // // // $Id: G4MuNuclearInteraction.hh,v 1.4 2001/07/11 10:08:25 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.icc b/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.icc index eedb78b934..49ffe61a21 100644 --- a/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.icc +++ b/source/processes/photolepton_hadron/include/G4MuNuclearInteraction.icc @@ -22,7 +22,7 @@ // // // $Id: G4MuNuclearInteraction.icc,v 1.5 2001/10/24 17:46:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // --------------------------------------------------------------- diff --git a/source/processes/photolepton_hadron/src/G4MuNuclearInteraction.cc b/source/processes/photolepton_hadron/src/G4MuNuclearInteraction.cc index cb82546e8a..0942d35de1 100644 --- a/source/processes/photolepton_hadron/src/G4MuNuclearInteraction.cc +++ b/source/processes/photolepton_hadron/src/G4MuNuclearInteraction.cc @@ -22,7 +22,7 @@ // // // $Id: G4MuNuclearInteraction.cc,v 1.11 2001/10/24 17:46:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // $Id: // -------------------------------------------------------------- diff --git a/source/processes/photolepton_hadron/src/G4MuonNucleusInteractionModel.cc b/source/processes/photolepton_hadron/src/G4MuonNucleusInteractionModel.cc index a25b658c36..ce20b8eb1d 100644 --- a/source/processes/photolepton_hadron/src/G4MuonNucleusInteractionModel.cc +++ b/source/processes/photolepton_hadron/src/G4MuonNucleusInteractionModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4MuonNucleusInteractionModel.cc,v 1.5 2001/10/24 17:47:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- // G4MuonNucleusInteractionModel.cc diff --git a/source/processes/photolepton_hadron/src/G4ParametrizedHadronicVertex.cc b/source/processes/photolepton_hadron/src/G4ParametrizedHadronicVertex.cc index aae06e9be5..ff41f12ef9 100644 --- a/source/processes/photolepton_hadron/src/G4ParametrizedHadronicVertex.cc +++ b/source/processes/photolepton_hadron/src/G4ParametrizedHadronicVertex.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParametrizedHadronicVertex.cc,v 1.5 2001/10/24 17:47:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // -------------------------------------------------------------- #include "G4ParametrizedHadronicVertex.hh" diff --git a/source/processes/transportation/History b/source/processes/transportation/History index 478f91f3c2..31846eef7f 100644 --- a/source/processes/transportation/History +++ b/source/processes/transportation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.63 2002/11/20 19:27:39 japost Exp $ +$Id: History,v 1.68 2003/04/07 14:14:20 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apr, 7rd, V.Ivanchenko transport-V05-00-04 +----------------- +- Migrade to cut per region for G4UserSpecialCuts + +Apr, 3rd, G.Cosmo transport-V05-00-03 +----------------- +- Cleared pedantic warnings and some cosmetic cleanups... + +Jan, 14th, M.Asai transport-V05-00-02 +----------------- +- Consolidated transport-V05-00-01 tag for G4Transportation.cc + +Jan, 7th, M.Asai transport-V05-00-01 +---------------- +- Fix in G4Transportation.cc for updating material-cut-couple. + +Dec, 16th, G. Cosmo transport-V05-00-00 +------------------- +- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. + Included development for 'cuts-by-region' in G4Transportation.cc. + Nov, 20th, J. Apostolakis transport-V04-01-05 ------------------------- - Tagged. diff --git a/source/processes/transportation/include/G4ImportancePostStepDoIt.hh b/source/processes/transportation/include/G4ImportancePostStepDoIt.hh index bfdcbf340a..ae215f7a41 100644 --- a/source/processes/transportation/include/G4ImportancePostStepDoIt.hh +++ b/source/processes/transportation/include/G4ImportancePostStepDoIt.hh @@ -22,7 +22,7 @@ // // // $Id: G4ImportancePostStepDoIt.hh,v 1.6 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ImportancePostStepDoIt diff --git a/source/processes/transportation/include/G4MImportanceConfigurator.hh b/source/processes/transportation/include/G4MImportanceConfigurator.hh index cb3a65da58..f181fb8324 100644 --- a/source/processes/transportation/include/G4MImportanceConfigurator.hh +++ b/source/processes/transportation/include/G4MImportanceConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4MImportanceConfigurator.hh,v 1.3 2002/10/22 13:25:55 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MImportanceConfigurator diff --git a/source/processes/transportation/include/G4MScoreConfigurator.hh b/source/processes/transportation/include/G4MScoreConfigurator.hh index 441c27090f..d6beed1922 100644 --- a/source/processes/transportation/include/G4MScoreConfigurator.hh +++ b/source/processes/transportation/include/G4MScoreConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4MScoreConfigurator.hh,v 1.3 2002/10/22 13:25:55 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MScoreConfigurator diff --git a/source/processes/transportation/include/G4MScoreProcess.hh b/source/processes/transportation/include/G4MScoreProcess.hh index 66fa9ab8c5..9496bda1e4 100644 --- a/source/processes/transportation/include/G4MScoreProcess.hh +++ b/source/processes/transportation/include/G4MScoreProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4MScoreProcess.hh,v 1.7 2002/10/22 13:25:55 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MScoreProcess diff --git a/source/processes/transportation/include/G4MassGCellFinder.hh b/source/processes/transportation/include/G4MassGCellFinder.hh index 81dfd80ef3..51924c5ae2 100644 --- a/source/processes/transportation/include/G4MassGCellFinder.hh +++ b/source/processes/transportation/include/G4MassGCellFinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4MassGCellFinder.hh,v 1.1 2002/10/16 16:27:41 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelGCellFinder diff --git a/source/processes/transportation/include/G4MassGeometrySampler.hh b/source/processes/transportation/include/G4MassGeometrySampler.hh index 1769947af4..9dbfca240f 100644 --- a/source/processes/transportation/include/G4MassGeometrySampler.hh +++ b/source/processes/transportation/include/G4MassGeometrySampler.hh @@ -22,7 +22,7 @@ // // // $Id: G4MassGeometrySampler.hh,v 1.3 2002/10/22 13:25:55 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MassGeometrySampler diff --git a/source/processes/transportation/include/G4MassImportanceProcess.hh b/source/processes/transportation/include/G4MassImportanceProcess.hh index 0081d9ce2e..46b6f284aa 100644 --- a/source/processes/transportation/include/G4MassImportanceProcess.hh +++ b/source/processes/transportation/include/G4MassImportanceProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4MassImportanceProcess.hh,v 1.6 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MassImportanceProcess diff --git a/source/processes/transportation/include/G4PImportanceConfigurator.hh b/source/processes/transportation/include/G4PImportanceConfigurator.hh index 1dfecb8de0..165d6d16a9 100644 --- a/source/processes/transportation/include/G4PImportanceConfigurator.hh +++ b/source/processes/transportation/include/G4PImportanceConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PImportanceConfigurator.hh,v 1.3 2002/10/22 13:25:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PImportanceConfigurator diff --git a/source/processes/transportation/include/G4PScoreConfigurator.hh b/source/processes/transportation/include/G4PScoreConfigurator.hh index 5efa168fd0..f408b1ae6d 100644 --- a/source/processes/transportation/include/G4PScoreConfigurator.hh +++ b/source/processes/transportation/include/G4PScoreConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4PScoreConfigurator.hh,v 1.3 2002/10/22 13:25:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PScoreConfigurator diff --git a/source/processes/transportation/include/G4PScoreProcess.hh b/source/processes/transportation/include/G4PScoreProcess.hh index cb98727f9a..626db66642 100644 --- a/source/processes/transportation/include/G4PScoreProcess.hh +++ b/source/processes/transportation/include/G4PScoreProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4PScoreProcess.hh,v 1.7 2002/10/22 13:25:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PIScoreProcess diff --git a/source/processes/transportation/include/G4ParallelGCellFinder.hh b/source/processes/transportation/include/G4ParallelGCellFinder.hh index 3152299134..13e03ace4b 100644 --- a/source/processes/transportation/include/G4ParallelGCellFinder.hh +++ b/source/processes/transportation/include/G4ParallelGCellFinder.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelGCellFinder.hh,v 1.1 2002/10/16 16:27:41 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelGCellFinder diff --git a/source/processes/transportation/include/G4ParallelGeometrySampler.hh b/source/processes/transportation/include/G4ParallelGeometrySampler.hh index 0ecb620d2c..f11a86748e 100644 --- a/source/processes/transportation/include/G4ParallelGeometrySampler.hh +++ b/source/processes/transportation/include/G4ParallelGeometrySampler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelGeometrySampler.hh,v 1.3 2002/10/22 13:25:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelGeometrySampler diff --git a/source/processes/transportation/include/G4ParallelImportanceProcess.hh b/source/processes/transportation/include/G4ParallelImportanceProcess.hh index 9e13b54ef7..81ea99bd4d 100644 --- a/source/processes/transportation/include/G4ParallelImportanceProcess.hh +++ b/source/processes/transportation/include/G4ParallelImportanceProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelImportanceProcess.hh,v 1.8 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelImportanceProcess diff --git a/source/processes/transportation/include/G4ParallelTransport.hh b/source/processes/transportation/include/G4ParallelTransport.hh index f0b3f62669..b939d2f571 100644 --- a/source/processes/transportation/include/G4ParallelTransport.hh +++ b/source/processes/transportation/include/G4ParallelTransport.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelTransport.hh,v 1.6 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelTransport diff --git a/source/processes/transportation/include/G4ParallelTransportConfigurator.hh b/source/processes/transportation/include/G4ParallelTransportConfigurator.hh index 6845b57f3d..4c48e11e85 100644 --- a/source/processes/transportation/include/G4ParallelTransportConfigurator.hh +++ b/source/processes/transportation/include/G4ParallelTransportConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParallelTransportConfigurator.hh,v 1.3 2002/10/22 13:25:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelTransportConfigurator diff --git a/source/processes/transportation/include/G4ProcessPlacer.hh b/source/processes/transportation/include/G4ProcessPlacer.hh index 6f9ecb89b4..b506ac8d26 100644 --- a/source/processes/transportation/include/G4ProcessPlacer.hh +++ b/source/processes/transportation/include/G4ProcessPlacer.hh @@ -22,7 +22,7 @@ // // // $Id: G4ProcessPlacer.hh,v 1.6 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ProcessPlacer diff --git a/source/processes/transportation/include/G4TrackTerminator.hh b/source/processes/transportation/include/G4TrackTerminator.hh index 34f6b1de4b..b15fa64e51 100644 --- a/source/processes/transportation/include/G4TrackTerminator.hh +++ b/source/processes/transportation/include/G4TrackTerminator.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackTerminator.hh,v 1.1 2002/10/16 16:27:41 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4TrackTerminator diff --git a/source/processes/transportation/include/G4Transportation.hh b/source/processes/transportation/include/G4Transportation.hh index 370eb8fa18..b8d71f3af4 100644 --- a/source/processes/transportation/include/G4Transportation.hh +++ b/source/processes/transportation/include/G4Transportation.hh @@ -22,7 +22,7 @@ // // // $Id: G4Transportation.hh,v 1.7 2002/08/29 15:32:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/processes/transportation/include/G4Transportation.icc b/source/processes/transportation/include/G4Transportation.icc index 2fc05d7748..d6d8f3444d 100644 --- a/source/processes/transportation/include/G4Transportation.icc +++ b/source/processes/transportation/include/G4Transportation.icc @@ -22,7 +22,7 @@ // // // $Id: G4Transportation.icc,v 1.4 2001/11/06 01:38:19 radoone Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/processes/transportation/include/G4UserSpecialCuts.hh b/source/processes/transportation/include/G4UserSpecialCuts.hh index a63fa0e50c..8ecf3ba971 100644 --- a/source/processes/transportation/include/G4UserSpecialCuts.hh +++ b/source/processes/transportation/include/G4UserSpecialCuts.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserSpecialCuts.hh,v 1.5 2002/08/29 15:32:00 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // ------------------------------------------------------------ // 15 April 1998 M.Maire // ------------------------------------------------------------ diff --git a/source/processes/transportation/include/G4VProcessPlacer.hh b/source/processes/transportation/include/G4VProcessPlacer.hh index 5463b566b1..f5b8b31f71 100644 --- a/source/processes/transportation/include/G4VProcessPlacer.hh +++ b/source/processes/transportation/include/G4VProcessPlacer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VProcessPlacer.hh,v 1.7 2002/10/16 16:26:58 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VProcessPlacer diff --git a/source/processes/transportation/include/G4VSampler.hh b/source/processes/transportation/include/G4VSampler.hh index 6f29371475..d86e50f544 100644 --- a/source/processes/transportation/include/G4VSampler.hh +++ b/source/processes/transportation/include/G4VSampler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSampler.hh,v 1.6 2002/10/22 13:25:57 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VSampler diff --git a/source/processes/transportation/include/G4VSamplerConfigurator.hh b/source/processes/transportation/include/G4VSamplerConfigurator.hh index 4ba38a5324..1c2fb5556c 100644 --- a/source/processes/transportation/include/G4VSamplerConfigurator.hh +++ b/source/processes/transportation/include/G4VSamplerConfigurator.hh @@ -23,7 +23,7 @@ // // // $Id: G4VSamplerConfigurator.hh,v 1.3 2002/12/12 19:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VSamplerConfigurator diff --git a/source/processes/transportation/include/G4VTrackTerminator.hh b/source/processes/transportation/include/G4VTrackTerminator.hh index 9566d88db3..540eca84a5 100644 --- a/source/processes/transportation/include/G4VTrackTerminator.hh +++ b/source/processes/transportation/include/G4VTrackTerminator.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTrackTerminator.hh,v 1.4 2002/10/16 16:26:59 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4VTrackTerminator diff --git a/source/processes/transportation/include/G4WeightCutOffConfigurator.hh b/source/processes/transportation/include/G4WeightCutOffConfigurator.hh index e019756be1..33d58d7db4 100644 --- a/source/processes/transportation/include/G4WeightCutOffConfigurator.hh +++ b/source/processes/transportation/include/G4WeightCutOffConfigurator.hh @@ -22,7 +22,7 @@ // // // $Id: G4WeightCutOffConfigurator.hh,v 1.3 2002/10/22 13:25:57 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4WeightCutOffConfigurator diff --git a/source/processes/transportation/include/G4WeightCutOffProcess.hh b/source/processes/transportation/include/G4WeightCutOffProcess.hh index e68b41f726..26d3bc1f52 100644 --- a/source/processes/transportation/include/G4WeightCutOffProcess.hh +++ b/source/processes/transportation/include/G4WeightCutOffProcess.hh @@ -22,7 +22,7 @@ // // // $Id: G4WeightCutOffProcess.hh,v 1.2 2002/10/16 16:26:59 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4WeightCutOffProcess diff --git a/source/processes/transportation/src/G4ImportancePostStepDoIt.cc b/source/processes/transportation/src/G4ImportancePostStepDoIt.cc index 28b6b60ab6..dc23f67878 100644 --- a/source/processes/transportation/src/G4ImportancePostStepDoIt.cc +++ b/source/processes/transportation/src/G4ImportancePostStepDoIt.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ImportancePostStepDoIt.cc,v 1.8 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ImportancePostStepDoIt.cc,v 1.9 2003/04/02 16:59:08 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4MImportanceConfigurator.cc b/source/processes/transportation/src/G4MImportanceConfigurator.cc index eeae025457..7212d608c4 100644 --- a/source/processes/transportation/src/G4MImportanceConfigurator.cc +++ b/source/processes/transportation/src/G4MImportanceConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MImportanceConfigurator.cc,v 1.3 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MImportanceConfigurator.cc,v 1.4 2003/04/02 16:59:12 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MImportanceConfigurator diff --git a/source/processes/transportation/src/G4MScoreConfigurator.cc b/source/processes/transportation/src/G4MScoreConfigurator.cc index c8cf384a17..e85693138e 100644 --- a/source/processes/transportation/src/G4MScoreConfigurator.cc +++ b/source/processes/transportation/src/G4MScoreConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MScoreConfigurator.cc,v 1.4 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MScoreConfigurator.cc,v 1.5 2003/04/02 16:59:12 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4MScoreConfigurator @@ -56,7 +56,7 @@ GetTrackTerminator() const{ return fMScoreProcess; } -void G4MScoreConfigurator::Configure(G4VSamplerConfigurator *preConf) +void G4MScoreConfigurator::Configure(G4VSamplerConfigurator *) { fMScoreProcess = new G4MScoreProcess(fScorer); if (!fMScoreProcess) { diff --git a/source/processes/transportation/src/G4MScoreProcess.cc b/source/processes/transportation/src/G4MScoreProcess.cc index 5d966d8dd2..55d5cf68a5 100644 --- a/source/processes/transportation/src/G4MScoreProcess.cc +++ b/source/processes/transportation/src/G4MScoreProcess.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MScoreProcess.cc,v 1.9 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MScoreProcess.cc,v 1.10 2003/04/02 16:59:14 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -55,8 +55,8 @@ G4MScoreProcess::~G4MScoreProcess() } G4double G4MScoreProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, +PostStepGetPhysicalInteractionLength(const G4Track&, + G4double , G4ForceCondition* condition) { *condition = Forced; diff --git a/source/processes/transportation/src/G4MassGCellFinder.cc b/source/processes/transportation/src/G4MassGCellFinder.cc index 2a166b81de..3ce4def36b 100644 --- a/source/processes/transportation/src/G4MassGCellFinder.cc +++ b/source/processes/transportation/src/G4MassGCellFinder.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MassGCellFinder.cc,v 1.1 2002/10/16 16:27:41 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MassGCellFinder.cc,v 1.2 2003/04/02 16:59:14 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4MassGeometrySampler.cc b/source/processes/transportation/src/G4MassGeometrySampler.cc index 47d8e76f21..13335e5dc9 100644 --- a/source/processes/transportation/src/G4MassGeometrySampler.cc +++ b/source/processes/transportation/src/G4MassGeometrySampler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MassGeometrySampler.cc,v 1.7 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MassGeometrySampler.cc,v 1.8 2003/04/02 16:59:15 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4MassImportanceProcess.cc b/source/processes/transportation/src/G4MassImportanceProcess.cc index 569a67fd46..8519cdb500 100644 --- a/source/processes/transportation/src/G4MassImportanceProcess.cc +++ b/source/processes/transportation/src/G4MassImportanceProcess.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4MassImportanceProcess.cc,v 1.10 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4MassImportanceProcess.cc,v 1.11 2003/04/02 16:59:15 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -59,8 +59,8 @@ G4MassImportanceProcess::~G4MassImportanceProcess() } G4double G4MassImportanceProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, +PostStepGetPhysicalInteractionLength(const G4Track& , + G4double , G4ForceCondition* condition) { *condition = Forced; diff --git a/source/processes/transportation/src/G4PImportanceConfigurator.cc b/source/processes/transportation/src/G4PImportanceConfigurator.cc index 57720b214c..54e613b0be 100644 --- a/source/processes/transportation/src/G4PImportanceConfigurator.cc +++ b/source/processes/transportation/src/G4PImportanceConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PImportanceConfigurator.cc,v 1.3 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PImportanceConfigurator.cc,v 1.4 2003/04/02 16:59:16 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PImportanceConfigurator diff --git a/source/processes/transportation/src/G4PScoreConfigurator.cc b/source/processes/transportation/src/G4PScoreConfigurator.cc index a8d0788d3f..3562af1a06 100644 --- a/source/processes/transportation/src/G4PScoreConfigurator.cc +++ b/source/processes/transportation/src/G4PScoreConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PScoreConfigurator.cc,v 1.4 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PScoreConfigurator.cc,v 1.5 2003/04/02 16:59:16 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4PScoreConfigurator @@ -54,7 +54,7 @@ G4PScoreConfigurator::~G4PScoreConfigurator(){ } } -void G4PScoreConfigurator::Configure(G4VSamplerConfigurator *preConf){ +void G4PScoreConfigurator::Configure(G4VSamplerConfigurator *){ fPScoreProcess = new G4PScoreProcess(fPStepper, fScorer); if (!fPScoreProcess) { G4Exception("ERROR:G4PScoreConfigurator::Configure: new failed to create G4PScoreProcess!"); diff --git a/source/processes/transportation/src/G4PScoreProcess.cc b/source/processes/transportation/src/G4PScoreProcess.cc index de59eef2c4..71b710c03c 100644 --- a/source/processes/transportation/src/G4PScoreProcess.cc +++ b/source/processes/transportation/src/G4PScoreProcess.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4PScoreProcess.cc,v 1.6 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4PScoreProcess.cc,v 1.7 2003/04/02 16:59:16 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -57,8 +57,8 @@ G4PScoreProcess::~G4PScoreProcess() } G4double G4PScoreProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, +PostStepGetPhysicalInteractionLength(const G4Track &, + G4double , G4ForceCondition* condition) { *condition = Forced; diff --git a/source/processes/transportation/src/G4ParallelGCellFinder.cc b/source/processes/transportation/src/G4ParallelGCellFinder.cc index 3dd79b813c..1d5cd0d604 100644 --- a/source/processes/transportation/src/G4ParallelGCellFinder.cc +++ b/source/processes/transportation/src/G4ParallelGCellFinder.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelGCellFinder.cc,v 1.1 2002/10/16 16:27:41 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelGCellFinder.cc,v 1.2 2003/04/02 16:59:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -44,13 +44,13 @@ G4ParallelGCellFinder::~G4ParallelGCellFinder() {} G4GeometryCell G4ParallelGCellFinder:: -GetPreGeometryCell(const G4Step &aStep) const { +GetPreGeometryCell(const G4Step &) const { G4GeometryCell g(fPStepper.GetPStep().GetPreGeometryCell()); return g; } G4GeometryCell G4ParallelGCellFinder:: -GetPostGeometryCell(const G4Step &aStep) const { +GetPostGeometryCell(const G4Step &) const { G4GeometryCell g(fPStepper.GetPStep().GetPostGeometryCell()); return g; } diff --git a/source/processes/transportation/src/G4ParallelGeometrySampler.cc b/source/processes/transportation/src/G4ParallelGeometrySampler.cc index 9c3c9b75d7..fe8426c310 100644 --- a/source/processes/transportation/src/G4ParallelGeometrySampler.cc +++ b/source/processes/transportation/src/G4ParallelGeometrySampler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelGeometrySampler.cc,v 1.6 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelGeometrySampler.cc,v 1.7 2003/04/02 16:59:17 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4ParallelImportanceProcess.cc b/source/processes/transportation/src/G4ParallelImportanceProcess.cc index d6c8d5c8cf..04194f38bb 100644 --- a/source/processes/transportation/src/G4ParallelImportanceProcess.cc +++ b/source/processes/transportation/src/G4ParallelImportanceProcess.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelImportanceProcess.cc,v 1.8 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelImportanceProcess.cc,v 1.9 2003/04/02 16:59:18 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4ParallelTransport.cc b/source/processes/transportation/src/G4ParallelTransport.cc index d4497878f8..dbb4abbae3 100644 --- a/source/processes/transportation/src/G4ParallelTransport.cc +++ b/source/processes/transportation/src/G4ParallelTransport.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelTransport.cc,v 1.8 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelTransport.cc,v 1.9 2003/04/02 16:59:18 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -69,7 +69,7 @@ void G4ParallelTransport::EndTracking(){} G4double G4ParallelTransport:: PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, + G4double , G4ForceCondition* condition) { G4double stepLength = 0; diff --git a/source/processes/transportation/src/G4ParallelTransportConfigurator.cc b/source/processes/transportation/src/G4ParallelTransportConfigurator.cc index 80a2d1f49b..3dc282b1d4 100644 --- a/source/processes/transportation/src/G4ParallelTransportConfigurator.cc +++ b/source/processes/transportation/src/G4ParallelTransportConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParallelTransportConfigurator.cc,v 1.3 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParallelTransportConfigurator.cc,v 1.4 2003/04/02 16:59:19 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4ParallelTransportConfigurator @@ -52,7 +52,7 @@ G4ParallelTransportConfigurator:: } void G4ParallelTransportConfigurator:: -Configure(G4VSamplerConfigurator *preConf){ +Configure(G4VSamplerConfigurator *){ fParallelTransport = new G4ParallelTransport(fPWorld.GetGeoDriver(), fPWorld.GetParallelStepper()); diff --git a/source/processes/transportation/src/G4ProcessPlacer.cc b/source/processes/transportation/src/G4ProcessPlacer.cc index 8946a8467c..9f286c04e0 100644 --- a/source/processes/transportation/src/G4ProcessPlacer.cc +++ b/source/processes/transportation/src/G4ProcessPlacer.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ProcessPlacer.cc,v 1.11 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ProcessPlacer.cc,v 1.12 2003/04/02 16:59:19 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4Transportation.cc b/source/processes/transportation/src/G4Transportation.cc index 922f2c2093..a832e44376 100644 --- a/source/processes/transportation/src/G4Transportation.cc +++ b/source/processes/transportation/src/G4Transportation.cc @@ -21,11 +21,11 @@ // ******************************************************************** // // -// $Id: G4Transportation.cc,v 1.31 2002/11/08 23:52:34 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Transportation.cc,v 1.36 2003/04/02 10:09:21 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ------------------------------------------------------------ -// GEANT 4 include file implementation +// GEANT 4 include file implementation // // ------------------------------------------------------------ // @@ -37,51 +37,51 @@ // // ======================================================================= // Modified: -// 29 June 2001, J. Apostolakis, D. Cote-Ahern, P. Gumplinger: +// 29 June 2001, J.Apostolakis, D.Cote-Ahern, P.Gumplinger: // correction for spin tracking -// 20 Febr 2001, J. Apostolakis: update for new FieldTrack -// 22 Sept 2000, V. Grichine: update of Kinetic Energy -// 9 June 1999, J. Apostolakis & S.Giani: protect full relocation -// used in DEBUG for track that started on surface -// and went step < tolerance -// Also forced fast relocation in all DEBUG cases -// & changed #if to use DEBUG instead of VERBOSE +// 20 Febr 2001, J.Apostolakis: update for new FieldTrack +// 22 Sept 2000, V.Grichine: update of Kinetic Energy +// 9 June 1999, J.Apostolakis & S.Giani: protect full relocation +// used in DEBUG for track that started on surface +// and went step < tolerance. Also forced fast +// relocation in all DEBUG cases // Created: 19 March 1997, J. Apostolakis // ======================================================================= #include "G4Transportation.hh" +#include "G4ProductionCutsTable.hh" -/////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // // Constructor -G4Transportation::G4Transportation() : -G4VProcess(G4String("Transportation") ) +G4Transportation::G4Transportation() + : G4VProcess( G4String("Transportation") ) { G4TransportationManager* transportMgr ; transportMgr = G4TransportationManager::GetTransportationManager() ; - fLinearNavigator = transportMgr->GetNavigatorForTracking() ; - fFieldPropagator = 0 ; + fLinearNavigator = transportMgr->GetNavigatorForTracking() ; + fFieldPropagator = 0 ; // fFieldExists= false ; fParticleIsLooping = false ; - // fGlobalFieldMgr= transportMgr->GetFieldManager() ; + // fGlobalFieldMgr = transportMgr->GetFieldManager() ; - fFieldPropagator= transportMgr->GetPropagatorInField() ; + fFieldPropagator = transportMgr->GetPropagatorInField() ; // Find out if an electromagnetic field exists // // fFieldExists= transportMgr->GetFieldManager()->DoesFieldExist() ; // - // The above code is problematic, because it only works if + // The above code is problematic, because it only works if // the field manager has informed about the detector's field // before this transportation process is constructed. - // I cannot foresee how the transportation can be informed later. JA - // The current answer is to ignore this data member and use + // I cannot foresee how the transportation can be informed later. + // The current answer is to ignore this data member and use // the member function DoesGlobalFieldExist() in its place ... // John Apostolakis, July 7, 1997 @@ -92,17 +92,17 @@ G4VProcess(G4String("Transportation") ) fPreviousSafety = 0.0 ; fPreviousSftOrigin = G4ThreeVector(0.,0.,0.) ; - fEndGlobalTimeComputed= false; - fCandidateEndGlobalTime= 0; + fEndGlobalTimeComputed = false; + fCandidateEndGlobalTime = 0; } -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// G4Transportation::~G4Transportation() { } -////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // // Responsibilities: // Find whether the geometry limits the Step, and to what length @@ -110,34 +110,42 @@ G4Transportation::~G4Transportation() // Store the final time, position and momentum. G4double G4Transportation:: -AlongStepGetPhysicalInteractionLength( const G4Track& track, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety, - G4GPILSelection* selection ) +AlongStepGetPhysicalInteractionLength( const G4Track& track, + G4double, // previousStepSize + G4double currentMinimumStep, + G4double& currentSafety, + G4GPILSelection* selection ) { G4double geometryStepLength, newSafety ; fParticleIsLooping = false ; - if(track.GetCurrentStepNumber()==1) { - // reset safety value + if( track.GetCurrentStepNumber()==1 ) + { + // reset safety value + // fPreviousSafety = 0.0 ; fPreviousSftOrigin = G4ThreeVector(0.,0.,0.) ; + // ChordFinder reset internal state - if ( this->DoesGlobalFieldExist() ) + // + if ( DoesGlobalFieldExist() ) + { fFieldPropagator->GetChordFinder()->ResetStepEstimate(); + } + // We need to update the current transportation's touchable handle - // to the track's one + // to the track's one + // fCurrentTouchableHandle = track.GetTouchableHandle(); } // GPILSelection is set to defaule value of CandidateForSelection // It is a return value - + // *selection = CandidateForSelection ; // Get initial Energy/Momentum of the track - + // const G4DynamicParticle* pParticle = track.GetDynamicParticle() ; G4ThreeVector startMomentumDir = pParticle->GetMomentumDirection() ; G4ThreeVector startPosition = track.GetPosition() ; @@ -147,7 +155,7 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track, // The Step Point safety is now generalised to mean the limit of assumption // of all processes, so it is not the previous Step's geometrical safety. // We calculate the starting point's safety here. - + // G4ThreeVector OriginShift = startPosition - fPreviousSftOrigin ; G4double MagSqShift = OriginShift.mag2() ; if( MagSqShift >= sqr(fPreviousSafety) ) @@ -158,69 +166,69 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track, { currentSafety = fPreviousSafety - sqrt(MagSqShift) ; } - // Is the particle charged ? + // Is the particle charged ? + // G4ParticleDefinition* pParticleDef = pParticle->GetDefinition() ; G4double particleCharge = pParticleDef->GetPDGCharge() ; G4bool fieldExertsForce = false ; fGeometryLimitedStep = false ; - // fEndGlobalTimeComputed = false ; + // fEndGlobalTimeComputed = false ; // There is no need to locate the current volume. It is Done elsewhere: // On track construction // By the tracking, after all AlongStepDoIts, in "Relocation" - // Does the particle have an (EM) field force exerting upon it? - + // Does the particle have an (EM) field force exerting upon it? + // if( (particleCharge != 0.0) ) { - - fieldExertsForce= this->DoesGlobalFieldExist() ; - + fieldExertsForce = DoesGlobalFieldExist() ; + // // Future: will/can also check whether current volume's field is Zero or - // set by the user (in the logical volume) to be zero. + // set by the user (in the logical volume) to be zero. } - // Choose the calculation of the transportation: Field or not - + + // Choose the calculation of the transportation: Field or not + // if( !fieldExertsForce ) { G4double linearStepLength ; - if( currentMinimumStep <= currentSafety ) { // The Step is guaranteed to be taken - + // geometryStepLength = currentMinimumStep ; fGeometryLimitedStep = false ; } else { // Find whether the straight path intersects a volume - + // linearStepLength = fLinearNavigator->ComputeStep( startPosition, startMomentumDir, currentMinimumStep, newSafety) ; // Remember last safety origin & value. - + // fPreviousSftOrigin = startPosition ; fPreviousSafety = newSafety ; // The safety at the initial point has been re-calculated: - + // currentSafety = newSafety ; - + if( linearStepLength <= currentMinimumStep) { - // The geometry limits the Step size (an intersection was found.) - + // The geometry limits the Step size (an intersection was found.) + // geometryStepLength = linearStepLength ; fGeometryLimitedStep = true ; } else { - // The full Step is taken. - + // The full Step is taken. + // geometryStepLength = currentMinimumStep ; fGeometryLimitedStep = false ; } @@ -228,11 +236,11 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track, endpointDistance = geometryStepLength ; // Calculate final position - - fTransportEndPosition = startPosition + geometryStepLength*startMomentumDir ; + // + fTransportEndPosition = startPosition+geometryStepLength*startMomentumDir ; // Momentum direction, energy and polarisation are unchanged by transport - + // fTransportEndMomentumDir = startMomentumDir ; fTransportEndKineticEnergy = track.GetKineticEnergy() ; fTransportEndSpin = track.GetPolarization(); @@ -247,57 +255,56 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track, G4double lengthAlongCurve ; G4double restMass = pParticleDef->GetPDGMass() ; - fFieldPropagator->SetChargeMomentumMass( particleCharge, // charge in e+ units - momentumMagnitude, // Momentum in Mev/c + fFieldPropagator->SetChargeMomentumMass( particleCharge, // in e+ units + momentumMagnitude, // in Mev/c restMass ) ; - G4ThreeVector spin = track.GetPolarization() ; - G4FieldTrack aFieldTrack = - G4FieldTrack( startPosition, - track.GetMomentumDirection(), - 0.0, - track.GetKineticEnergy(), - restMass, - track.GetVelocity(), - track.GetGlobalTime(), // Laboratory fr. - track.GetProperTime(), // Particle rest fr. - &spin ) ; - + G4ThreeVector spin = track.GetPolarization() ; + G4FieldTrack aFieldTrack = G4FieldTrack( startPosition, + track.GetMomentumDirection(), + 0.0, + track.GetKineticEnergy(), + restMass, + track.GetVelocity(), + track.GetGlobalTime(), // Lab. + track.GetProperTime(), // Part. + &spin ) ; if( currentMinimumStep > 0 ) { - // Do the Transport in the field (non recti-linear) - + // Do the Transport in the field (non recti-linear) + // lengthAlongCurve = fFieldPropagator->ComputeStep( aFieldTrack, - currentMinimumStep, - currentSafety, - track.GetVolume() ) ; + currentMinimumStep, + currentSafety, + track.GetVolume() ) ; if( lengthAlongCurve < currentMinimumStep) { - geometryStepLength = lengthAlongCurve ; - fGeometryLimitedStep = true ; + geometryStepLength = lengthAlongCurve ; + fGeometryLimitedStep = true ; } else { - geometryStepLength = currentMinimumStep ; - fGeometryLimitedStep = false ; - } + geometryStepLength = currentMinimumStep ; + fGeometryLimitedStep = false ; + } } else { geometryStepLength = lengthAlongCurve= 0.0 ; - fGeometryLimitedStep = false ; + fGeometryLimitedStep = false ; } - // Remember last safety origin & value. + // Remember last safety origin & value. + // fPreviousSftOrigin = startPosition ; - fPreviousSafety = currentSafety ; + fPreviousSafety = currentSafety ; // Get the End-Position and End-Momentum (Dir-ection) - + // fTransportEndPosition = aFieldTrack.GetPosition() ; // Momentum: Magnitude and direction can be changed too now ... - + // fMomentumChanged = true ; fTransportEndMomentumDir = aFieldTrack.GetMomentumDir() ; @@ -306,64 +313,71 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track, // if( (track.GetKineticEnergy() - fTransportEndKineticEnergy) // > perMillion * fTransportEndKineticEnergy ){ - if( fFieldPropagator->GetCurrentFieldManager()->DoesFieldChangeEnergy() ){ - - // If the field can changed energy, then the time must be integrated + if( fFieldPropagator->GetCurrentFieldManager()->DoesFieldChangeEnergy() ) + { + // If the field can change energy, then the time must be integrated // - so this should have been updated + // fCandidateEndGlobalTime = aFieldTrack.GetLabTimeOfFlight(); - fEndGlobalTimeComputed = true; - // was ( fCandidateEndGlobalTime != track.GetGlobalTime() ); - // a cleaner way is to have FieldTrack knowing whether time is updated. - }else{ - // The energy is unchanged by field transport, - // so the time changed will be calculated elsewhere - fEndGlobalTimeComputed = false; + fEndGlobalTimeComputed = true; + + // was ( fCandidateEndGlobalTime != track.GetGlobalTime() ); + // a cleaner way is to have FieldTrack knowing whether time is updated. + } + else + { + // The energy is unchanged by field transport, + // - so the time changed will be calculated elsewhere + // + fEndGlobalTimeComputed = false; } fTransportEndSpin = aFieldTrack.GetSpin(); - fParticleIsLooping = fFieldPropagator->IsParticleLooping() ; endpointDistance = (fTransportEndPosition - startPosition).mag() ; } - // If we are asked to go a step length of 0, and we are on a boundary - // then a boundary will also limit the step -> we must flag this. - if (currentMinimumStep == 0.0 ) + // If we are asked to go a step length of 0, and we are on a boundary + // then a boundary will also limit the step -> we must flag this. + // + if( currentMinimumStep == 0.0 ) { - if( currentSafety == 0.0 ) fGeometryLimitedStep = true ; + if( currentSafety == 0.0 ) fGeometryLimitedStep = true ; } - // Update the safety starting from the end-point, if it will become - // negative at the end-point. - + // Update the safety starting from the end-point, + // if it will become negative at the end-point. + // if( currentSafety < endpointDistance ) { - G4double endSafety = fLinearNavigator->ComputeSafety( fTransportEndPosition) ; + G4double endSafety = + fLinearNavigator->ComputeSafety( fTransportEndPosition) ; currentSafety = endSafety ; fPreviousSftOrigin = fTransportEndPosition ; fPreviousSafety = currentSafety ; // Because the Stepping Manager assumes it is from the start point, // add the StepLength - + // currentSafety += endpointDistance ; #ifdef G4DEBUG_TRANSPORT G4cout.precision(16) ; G4cout << "***Transportation::AlongStepGPIL ** " << G4endl ; - G4cout << " Called Navigator->ComputeSafety at " << fTransportEndPosition - << " and it returned safety= " << endSafety << G4endl ; + G4cout << " Called Navigator->ComputeSafety at " + << fTransportEndPosition + << " and it returned safety= " << endSafety << G4endl ; G4cout << " Adding endpoint distance " << endpointDistance - << " we obtain pseudo-safety= " << currentSafety << G4endl ; + << " we obtain pseudo-safety= " << currentSafety << G4endl ; #endif - } + } - fParticleChange.SetTrueStepLength(geometryStepLength) ; + fParticleChange.SetTrueStepLength(geometryStepLength) ; return geometryStepLength ; } -///////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // // Initialize ParticleChange (by setting all its members equal // to corresponding members in G4Track) @@ -374,7 +388,7 @@ G4VParticleChange* G4Transportation::AlongStepDoIt( const G4Track& track, fParticleChange.Initialize(track) ; // Code for specific process - + // fParticleChange.SetPositionChange(fTransportEndPosition) ; fParticleChange.SetMomentumChange(fTransportEndMomentumDir) ; fParticleChange.SetEnergyChange(fTransportEndKineticEnergy) ; @@ -387,75 +401,87 @@ G4VParticleChange* G4Transportation::AlongStepDoIt( const G4Track& track, // Calculate Lab Time of Flight (ONLY if field Equations used it!) // G4double endTime = fCandidateEndGlobalTime; // G4double delta_time = endTime - startTime; - G4double startTime = track.GetGlobalTime(); - - if (!fEndGlobalTimeComputed){ - // The time was not integrated .. make the best estimate possible - G4double finalVelocity = track.GetVelocity() ; - G4double initialVelocity = stepData.GetPreStepPoint()->GetVelocity(); - G4double stepLength = track.GetStepLength(); - if (finalVelocity > 0.0) { + G4double startTime = track.GetGlobalTime() ; + + if (!fEndGlobalTimeComputed) + { + // The time was not integrated .. make the best estimate possible + // + G4double finalVelocity = track.GetVelocity() ; + G4double initialVelocity = stepData.GetPreStepPoint()->GetVelocity() ; + G4double stepLength = track.GetStepLength() ; + + if (finalVelocity > 0.0) + { G4double meanInverseVelocity ; // deltaTime = stepLength/finalVelocity ; - meanInverseVelocity= 0.5 * ( 1.0 / initialVelocity + 1.0 / finalVelocity ); + meanInverseVelocity = 0.5 + * ( 1.0 / initialVelocity + 1.0 / finalVelocity ) ; deltaTime = stepLength * meanInverseVelocity ; - }else{ - deltaTime = stepLength/initialVelocity; } - fCandidateEndGlobalTime = startTime + deltaTime; - }else - deltaTime = fCandidateEndGlobalTime - startTime; + else + { + deltaTime = stepLength/initialVelocity ; + } + fCandidateEndGlobalTime = startTime + deltaTime ; + } + else + { + deltaTime = fCandidateEndGlobalTime - startTime ; + } - fParticleChange. SetTimeChange( fCandidateEndGlobalTime ) ; + fParticleChange.SetTimeChange( fCandidateEndGlobalTime ) ; // Now Correct by Lorentz factor to get "proper" deltaTime G4double restMass = track.GetDynamicParticle()->GetMass() ; G4double deltaProperTime = deltaTime*( restMass/track.GetTotalEnergy() ) ; - fParticleChange.SetProperTimeChange( track.GetProperTime() + deltaProperTime ) ; + fParticleChange.SetProperTimeChange(track.GetProperTime() + deltaProperTime) ; //fParticleChange. SetTrueStepLength( track.GetStepLength() ) ; - // If the particle is caught looping or is stuck (in very difficult boundaries) - // in a magnetic field (doing many steps) + // If the particle is caught looping or is stuck (in very difficult + // boundaries) in a magnetic field (doing many steps) // THEN this kills it ... + // if ( fParticleIsLooping ) { // Kill the looping particle - + // fParticleChange.SetStatusChange( fStopAndKill ) ; #ifdef G4VERBOSE - G4cout << " G4Transportation is killing track that is looping or stuck " << G4endl - << " This track has " << track.GetKineticEnergy() << " MeV energy." - << G4endl; + G4cout << " G4Transportation is killing track that is looping or stuck " + << G4endl + << " This track has " << track.GetKineticEnergy() + << " MeV energy." << G4endl; #endif // ClearNumberOfInteractionLengthLeft() ; } - // Another (sometimes better way) is to use a user-limit maximum Step size - // to alleviate this problem .. - // Introducing smooth curved trajectories (jacek 31/10/2002) + // Another (sometimes better way) is to use a user-limit maximum Step size + // to alleviate this problem .. + + // Introduce smooth curved trajectories to particle-change + // fParticleChange.SetPointerToVectorOfAuxiliaryPoints (fFieldPropagator->GimmeTrajectoryVectorAndForgetIt() ); return &fParticleChange ; - } -//////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// // -// This ensures that the PostStep action is always called, -// so that it can do the relocation if it is needed. +// This ensures that the PostStep action is always called, +// so that it can do the relocation if it is needed. // G4double G4Transportation:: PostStepGetPhysicalInteractionLength( const G4Track&, - G4double previousStepSize, + G4double, // previousStepSize G4ForceCondition* pForceCond ) { *pForceCond = Forced ; - return DBL_MAX ; // was kInfinity ; but convention now is DBL_MAX } @@ -463,12 +489,12 @@ PostStepGetPhysicalInteractionLength( const G4Track&, // G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, - const G4Step& stepData ) + const G4Step& ) { G4TouchableHandle retCurrentTouchable ; // The one to return - // Initialize ParticleChange (by setting all its members equal - // to corresponding members in G4Track) + // Initialize ParticleChange (by setting all its members equal + // to corresponding members in G4Track) // fParticleChange.Initialize(track) ; // To initialise TouchableChange fParticleChange.SetStatusChange(track.GetTrackStatus()) ; @@ -476,10 +502,10 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, // If the Step was determined by the volume boundary, // logically relocate the particle - if( fGeometryLimitedStep ) + if(fGeometryLimitedStep) { // fCurrentTouchable will now become the previous touchable, - // and what was the previous will be freed. + // and what was the previous will be freed. // (Needed because the preStepPoint can point to the previous touchable) fLinearNavigator->SetGeometricallyLimitedStep() ; @@ -488,35 +514,34 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, track.GetMomentumDirection(), fCurrentTouchableHandle, true ) ; - // Check whether the particle is out of the world volume - // If so it has exited and must be killed. - + // If so it has exited and must be killed. + // if( fCurrentTouchableHandle->GetVolume() == 0 ) { - fParticleChange.SetStatusChange( fStopAndKill ) ; + fParticleChange.SetStatusChange( fStopAndKill ) ; } - retCurrentTouchable = fCurrentTouchableHandle; + retCurrentTouchable = fCurrentTouchableHandle ; fParticleChange.SetTouchableHandle( fCurrentTouchableHandle ) ; } - else - { // fGeometryLimitedStep is false + else // fGeometryLimitedStep is false + { #ifdef G4DEBUG_POSTSTEP_TRANSPORT + // Although the location is changed, we know that the physical - // volume remains constant. + // volume remains constant. // In order to help in checking the user geometry - // we perform a full-relocation and check its result - // *except* if we have made a very small step from a boundary - // (ie remaining inside the tolerance + // we perform a full-relocation and check its result + // *except* if we have made a very small step from a boundary + // (i.e. remaining inside the tolerance) G4bool startAtSurface_And_MoveEpsilon ; startAtSurface_And_MoveEpsilon = (stepData.GetPreStepPoint()->GetSafety() == 0.0) && (stepData.GetStepLength() < kCarTolerance ) ; - if( startAtSurface_And_MoveEpsilon) + if( startAtSurface_And_MoveEpsilon ) { - fLinearNavigator-> LocateGlobalPointAndUpdateTouchableHandle( track.GetPosition(), track.GetMomentumDirection(), @@ -524,39 +549,42 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, true ); if( fCurrentTouchableHandle->GetVolume() != track.GetVolume() ) { - G4cerr << " ERROR: A relocation within safety has caused a volume change! " << G4endl ; + G4cerr << " ERROR: A relocation within safety has" + << " caused a volume change! " << G4endl ; G4cerr << " The old volume is called " - << track.GetVolume()->GetName() << G4endl ; + << track.GetVolume()->GetName() << G4endl ; G4cerr << " The new volume is called " ; if ( fCurrentTouchableHandle->GetVolume() != 0 ) - { - G4cerr << fCurrentTouchableHandle->GetVolume()->GetName() << G4endl ; - } - else - { - G4cerr << "Out of World" << G4endl ; - } + { + G4cerr << fCurrentTouchableHandle->GetVolume()->GetName() + << G4endl ; + } + else + { + G4cerr << "Out of World" << G4endl ; + } G4cerr.precision(7) ; G4cerr << " The position is " << track.GetPosition() << G4endl ; - // Let us relocate again, for debuging - + // Let us relocate again, for debuging + // fLinearNavigator-> - LocateGlobalPointAndUpdateTouchableHandle( track.GetPosition(), - track.GetMomentumDirection(), - fCurrentTouchableHandle, - true ) ; + LocateGlobalPointAndUpdateTouchableHandle(track.GetPosition(), + track.GetMomentumDirection(), + fCurrentTouchableHandle, + true ) ; G4cerr << " The newer volume is called " ; if ( fCurrentTouchableHandle->GetVolume() != 0 ) - { - G4cerr << fCurrentTouchableHandle->GetVolume()->GetName() << G4endl ; - } + { + G4cerr << fCurrentTouchableHandle->GetVolume()->GetName() + << G4endl ; + } else - { - G4cerr << "Out of World" << G4endl ; - } + { + G4cerr << "Out of World" << G4endl ; + } } assert( fCurrentTouchableHandle->GetVolume()->GetName() == @@ -571,29 +599,30 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, retCurrentTouchable = track.GetTouchableHandle() ; fParticleChange.SetTouchableHandle( track.GetTouchableHandle() ) ; } + // This must be done in the above if ( AtSur ) fails // We also do it for if (true) in order to get debug/opt to // behave as exactly the same way as possible. + // + fLinearNavigator->LocateGlobalPointWithinVolume( track.GetPosition() ) ; - fLinearNavigator->LocateGlobalPointWithinVolume( track.GetPosition()) ; -#else - // ie #ifndef G4DEBUG_POSTSTEP_TRANSPORT does a quick relocation - - // The serves only to move the Navigator's location +#else // ie #ifndef G4DEBUG_POSTSTEP_TRANSPORT does a quick relocation - fLinearNavigator->LocateGlobalPointWithinVolume( track.GetPosition()) ; + // This serves only to move the Navigator's location + // + fLinearNavigator->LocateGlobalPointWithinVolume( track.GetPosition() ) ; // The value of the track's current Touchable is retained. - // (and it must be correct because we must use it below to - // overwrite the (unset) one in particle change) - // Although in general this is fCurrentTouchable, at the start of - // a step it could be different ... ?? - + // (and it must be correct because we must use it below to + // overwrite the (unset) one in particle change) + // Although in general this is fCurrentTouchable, at the start of + // a step it could be different ... ?? + // fParticleChange.SetTouchableHandle( track.GetTouchableHandle() ) ; retCurrentTouchable = track.GetTouchableHandle() ; -#endif - } // endif ( fGeometryLimitedStep ) +#endif + } // endif ( fGeometryLimitedStep ) const G4VPhysicalVolume* pNewVol = retCurrentTouchable->GetVolume() ; const G4Material* pNewMaterial = 0 ; @@ -604,14 +633,30 @@ G4VParticleChange* G4Transportation::PostStepDoIt( const G4Track& track, fParticleChange.SetMaterialChange( (G4Material *) pNewMaterial ) ; - // temporarily until Get/Set Material of ParticleChange, - // and StepPoint can be made const. + const G4MaterialCutsCouple* pNewMaterialCutsCouple = 0; + if( pNewVol != 0 ) + { + pNewMaterialCutsCouple=pNewVol->GetLogicalVolume()->GetMaterialCutsCouple(); + } + + if( pNewVol!=0 && pNewMaterialCutsCouple->GetMaterial()!=pNewMaterial ) + { + // for parametrized volume + // + pNewMaterialCutsCouple = + G4ProductionCutsTable::GetProductionCutsTable() + ->GetMaterialCutsCouple(pNewMaterial, + pNewMaterialCutsCouple->GetProductionCuts()); + } + fParticleChange.SetMaterialCutsCoupleChange( pNewMaterialCutsCouple ); + + // temporarily until Get/Set Material of ParticleChange, + // and StepPoint can be made const. // Set the touchable in ParticleChange - // this must always be done because the particle change always - // uses this value to overwrite the current touchable pointer. - + // this must always be done because the particle change always + // uses this value to overwrite the current touchable pointer. + // fParticleChange.SetTouchableHandle(retCurrentTouchable) ; return &fParticleChange ; } - diff --git a/source/processes/transportation/src/G4UserSpecialCuts.cc b/source/processes/transportation/src/G4UserSpecialCuts.cc index 48c938e67b..062a9a5cd8 100644 --- a/source/processes/transportation/src/G4UserSpecialCuts.cc +++ b/source/processes/transportation/src/G4UserSpecialCuts.cc @@ -21,13 +21,14 @@ // ******************************************************************** // // -// $Id: G4UserSpecialCuts.cc,v 1.7 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ -// +// $Id: G4UserSpecialCuts.cc,v 1.9 2003/04/07 14:14:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ +// // -------------------------------------------------------------- // History // -// 15-04-98 first implementation, mma +// 15-04-98 first implementation, mma +// 07-04-03 migrade to cut per region (V.Ivanchenko) // -------------------------------------------------------------- #include "G4UserSpecialCuts.hh" @@ -42,7 +43,8 @@ G4UserSpecialCuts::G4UserSpecialCuts(const G4String& aName) : G4VProcess(aName) { - if (verboseLevel>0) { + if (verboseLevel>0) + { G4cout << GetProcessName() << " is created "<< G4endl; } } @@ -60,56 +62,68 @@ G4UserSpecialCuts::G4UserSpecialCuts(G4UserSpecialCuts& right) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4double G4UserSpecialCuts::PostStepGetPhysicalInteractionLength( - const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition - ) +G4double G4UserSpecialCuts:: +PostStepGetPhysicalInteractionLength( const G4Track& aTrack, + G4double, // previousStepSize + G4ForceCondition* condition ) { // condition is set to "Not Forced" *condition = NotForced; G4double ProposedStep = DBL_MAX; - G4UserLimits* pUserLimits = aTrack.GetVolume()->GetLogicalVolume()->GetUserLimits(); + G4UserLimits* pUserLimits = + aTrack.GetVolume()->GetLogicalVolume()->GetUserLimits(); if (pUserLimits) - { //max track length - ProposedStep = (pUserLimits->GetUserMaxTrackLength(aTrack) - aTrack.GetTrackLength()); - if (ProposedStep < 0.) return 0.; - //max time limit - G4double beta = (aTrack.GetDynamicParticle()->GetTotalMomentum())/(aTrack.GetTotalEnergy()); - G4double dTime= (pUserLimits->GetUserMaxTime(aTrack) - aTrack.GetGlobalTime()); - G4double temp = beta*c_light*dTime; + { + // max track length + // + ProposedStep = (pUserLimits->GetUserMaxTrackLength(aTrack) + - aTrack.GetTrackLength()); + if (ProposedStep < 0.) return 0.; + + // max time limit + // + G4double beta = (aTrack.GetDynamicParticle()->GetTotalMomentum()) + /(aTrack.GetTotalEnergy()); + G4double dTime = (pUserLimits->GetUserMaxTime(aTrack) + - aTrack.GetGlobalTime()); + G4double temp = beta*c_light*dTime; + if (temp < 0.) return 0.; + if (ProposedStep > temp) ProposedStep = temp; + + // min remaining range (only for charged particle) + // + G4ParticleDefinition* Particle = aTrack.GetDefinition(); + if (Particle->GetPDGCharge() != 0.) + { + G4double Ekine = aTrack.GetKineticEnergy(); + const G4MaterialCutsCouple* couple = aTrack.GetMaterialCutsCouple(); + G4double RangeNow = + G4EnergyLossTables::GetRange(Particle,Ekine,couple); + temp = (RangeNow - pUserLimits->GetUserMinRange(aTrack)); if (temp < 0.) return 0.; - if (ProposedStep > temp) ProposedStep = temp; - //min remaining range (only for charged particle) - G4ParticleDefinition* Particle = aTrack.GetDefinition(); - if (Particle->GetPDGCharge() != 0.) - {G4double Ekine = aTrack.GetKineticEnergy(); - G4Material* Material = aTrack.GetMaterial(); - G4double RangeNow = G4EnergyLossTables::GetRange(Particle,Ekine,Material); - temp = (RangeNow - pUserLimits->GetUserMinRange(aTrack)); - if (temp < 0.) return 0.; - if (ProposedStep > temp) ProposedStep = temp; - //min kinetic energy (only for charged particle) - G4double Emin = pUserLimits->GetUserMinEkine(aTrack); - G4double Rmin = G4EnergyLossTables::GetRange(Particle,Emin,Material); - temp = RangeNow - Rmin; - if (temp < 0.) return 0.; - if (ProposedStep > temp) ProposedStep = temp; - } - } + if (ProposedStep > temp) ProposedStep = temp; + + // min kinetic energy (only for charged particle) + // + G4double Emin = pUserLimits->GetUserMinEkine(aTrack); + G4double Rmin = G4EnergyLossTables::GetRange(Particle,Emin,couple); + temp = RangeNow - Rmin; + if (temp < 0.) return 0.; + if (ProposedStep > temp) ProposedStep = temp; + } + } return ProposedStep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* G4UserSpecialCuts::PostStepDoIt( - const G4Track& aTrack, - const G4Step& - ) +G4VParticleChange* +G4UserSpecialCuts::PostStepDoIt( const G4Track& aTrack, + const G4Step& ) +// +// Kill the current particle, if requested by G4UserLimits // -// Kill the current particle, if requested by G4UserLimits -// { aParticleChange.Initialize(aTrack); aParticleChange.SetEnergyChange(0.) ; diff --git a/source/processes/transportation/src/G4VProcessPlacer.cc b/source/processes/transportation/src/G4VProcessPlacer.cc index 61583a0c7c..232569ea63 100644 --- a/source/processes/transportation/src/G4VProcessPlacer.cc +++ b/source/processes/transportation/src/G4VProcessPlacer.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VProcessPlacer.cc,v 1.1 2002/10/16 16:27:42 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VProcessPlacer.cc,v 1.2 2003/04/02 16:59:20 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VSampler.cc b/source/processes/transportation/src/G4VSampler.cc index 7d17046076..0de3cd96b9 100644 --- a/source/processes/transportation/src/G4VSampler.cc +++ b/source/processes/transportation/src/G4VSampler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VSampler.cc,v 1.1 2002/10/16 16:27:42 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VSampler.cc,v 1.2 2003/04/02 16:59:25 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VSamplerConfigurator.cc b/source/processes/transportation/src/G4VSamplerConfigurator.cc index a585c7e970..728044afd8 100644 --- a/source/processes/transportation/src/G4VSamplerConfigurator.cc +++ b/source/processes/transportation/src/G4VSamplerConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VSamplerConfigurator.cc,v 1.1 2002/10/16 16:27:42 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VSamplerConfigurator.cc,v 1.2 2003/04/02 16:59:25 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VTrackTerminator.cc b/source/processes/transportation/src/G4VTrackTerminator.cc index d967d329d6..ee20e67199 100644 --- a/source/processes/transportation/src/G4VTrackTerminator.cc +++ b/source/processes/transportation/src/G4VTrackTerminator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VTrackTerminator.cc,v 1.1 2002/10/16 16:27:42 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VTrackTerminator.cc,v 1.2 2003/04/02 16:59:26 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4WeightCutOffConfigurator.cc b/source/processes/transportation/src/G4WeightCutOffConfigurator.cc index db9598de43..8fcd8b408d 100644 --- a/source/processes/transportation/src/G4WeightCutOffConfigurator.cc +++ b/source/processes/transportation/src/G4WeightCutOffConfigurator.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4WeightCutOffConfigurator.cc,v 1.3 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4WeightCutOffConfigurator.cc,v 1.4 2003/04/02 16:59:34 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // Class G4WeightCutOffConfigurator @@ -65,7 +65,7 @@ G4WeightCutOffConfigurator::~G4WeightCutOffConfigurator(){ } void G4WeightCutOffConfigurator:: -Configure(G4VSamplerConfigurator *preConf){ +Configure(G4VSamplerConfigurator *){ fPlacer.AddProcessAsLastDoIt(fWeightCutOffProcess); fPlaced = true; } diff --git a/source/processes/transportation/src/G4WeightCutOffProcess.cc b/source/processes/transportation/src/G4WeightCutOffProcess.cc index 1c729b6427..3cef056339 100644 --- a/source/processes/transportation/src/G4WeightCutOffProcess.cc +++ b/source/processes/transportation/src/G4WeightCutOffProcess.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4WeightCutOffProcess.cc,v 1.4 2002/11/04 10:47:56 dressel Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4WeightCutOffProcess.cc,v 1.5 2003/04/02 16:59:35 dressel Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -67,8 +67,8 @@ G4WeightCutOffProcess::~G4WeightCutOffProcess() } G4double G4WeightCutOffProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, +PostStepGetPhysicalInteractionLength(const G4Track &, + G4double , G4ForceCondition* condition) { *condition = Forced; diff --git a/source/readout/include/G4DCtable.hh b/source/readout/include/G4DCtable.hh index c7ecf3f3e1..0e26ea6b26 100644 --- a/source/readout/include/G4DCtable.hh +++ b/source/readout/include/G4DCtable.hh @@ -22,7 +22,7 @@ // // // $Id: G4DCtable.hh,v 1.6 2001/07/11 10:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4DCtable_H diff --git a/source/readout/include/G4DMmessenger.hh b/source/readout/include/G4DMmessenger.hh index 91d848ad81..c6997692cc 100644 --- a/source/readout/include/G4DMmessenger.hh +++ b/source/readout/include/G4DMmessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4DMmessenger.hh,v 1.4 2001/07/11 10:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4DMmessenger_h diff --git a/source/readout/include/G4DigiManager.hh b/source/readout/include/G4DigiManager.hh index d0956bab1a..38d2757f15 100644 --- a/source/readout/include/G4DigiManager.hh +++ b/source/readout/include/G4DigiManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4DigiManager.hh,v 1.6 2001/07/11 10:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4DigiManager_h diff --git a/source/readout/include/G4VDigitizerModule.hh b/source/readout/include/G4VDigitizerModule.hh index bee2ee07f6..1773a7f4cb 100644 --- a/source/readout/include/G4VDigitizerModule.hh +++ b/source/readout/include/G4VDigitizerModule.hh @@ -22,7 +22,7 @@ // // // $Id: G4VDigitizerModule.hh,v 1.6 2001/07/11 10:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VDigitizerModule_H diff --git a/source/readout/src/G4DCtable.cc b/source/readout/src/G4DCtable.cc index bdee3972c1..e46071503e 100644 --- a/source/readout/src/G4DCtable.cc +++ b/source/readout/src/G4DCtable.cc @@ -22,7 +22,7 @@ // // // $Id: G4DCtable.cc,v 1.6 2001/10/18 20:28:19 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4DCtable.hh" diff --git a/source/readout/src/G4DMmessenger.cc b/source/readout/src/G4DMmessenger.cc index 5c537471c0..8897f9373b 100644 --- a/source/readout/src/G4DMmessenger.cc +++ b/source/readout/src/G4DMmessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4DMmessenger.cc,v 1.3 2001/07/11 10:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // --------------------------------------------------------------------- diff --git a/source/readout/src/G4DigiManager.cc b/source/readout/src/G4DigiManager.cc index 9708faefd8..b394540174 100644 --- a/source/readout/src/G4DigiManager.cc +++ b/source/readout/src/G4DigiManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4DigiManager.cc,v 1.6 2001/10/18 20:28:19 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4DigiManager.hh" diff --git a/source/readout/src/G4VDigitizerModule.cc b/source/readout/src/G4VDigitizerModule.cc index f0bf393150..da3a625c9f 100644 --- a/source/readout/src/G4VDigitizerModule.cc +++ b/source/readout/src/G4VDigitizerModule.cc @@ -22,7 +22,7 @@ // // // $Id: G4VDigitizerModule.cc,v 1.3 2001/07/11 10:08:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VDigitizerModule.hh" diff --git a/source/run/History b/source/run/History index 7fe4964137..9caaffb254 100644 --- a/source/run/History +++ b/source/run/History @@ -1,4 +1,4 @@ -$Id: History,v 1.70 2002/12/12 08:35:54 gcosmo Exp $ +$Id: History,v 1.90 2003/04/29 08:29:15 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,74 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apr 29, 2003, M.Asai (run-V05-00-17) +- G4UserPhysicsListMessenger.cc: changed implementation in + SetNewValue() for command 'setCutRCmd' to allow porting on + gcc-3.2 and WIN32-VC. Use istrstream instead of G4Tokenizer. + +Apr 25, 2003, G.Cosmo (run-V05-00-16) +- G4VUserPhysicsList.cc: fixed typo in definition of ResetCuts(). + +Apr 24, 2003, M.Asai (run-V05-00-15) +- Invoke BuildPhysicsTable for dynamically created ions. + +Apr 23, 2003, M.Asai (run-V05-00-14) +- Add a data member to G4Run. + +Apr 23, 2003, G.Cosmo (run-V05-00-13) +- Changed date for release 5.1 in G4RunManager. + +Apr 16, 2003, M.Asai (run-V05-00-12) +- Remove features in tag run-05-00-09 but include later tags. + +Apr 14, 2003, M.Asai (run-V05-00-11) +- Recover /run/particle/dumpCutValues command. + +Apr 11, 2003, M.Asai (run-V05-00-10) +- Recover /run/particle/applyCuts command. + +Apr 03, 2003, M.Asai (run-V05-00-09) +- G4RunManager::DefineWorldVolume() now invokes ResetNavigator(). + +Mar 17, 2003, M.Asai (run-V05-00-08) +- Recover obsolete commands of /run/particle. + +Mar 14, 2003, H.Kurashige (run-V05-00-07) +- Revert G4VUserPhysicsList::ResetCuts + +Mar 11, 2003, M.Asai (run-V05-00-06) +- Added commands for SetCuts. +- Implemented store/retreive physics list. +- Removed BuildPhysicsTable from Initialize and moved to BeamOn + +Mar 10, 2003, M.Asai (run-V05-00-05) +- Added GenerateRun method in G4UserRunAction. + +Feb 19, 2003, G.Cosmo (run-V05-00-04) +- Moved warning for usage of SetCutValueForOthers() from G4cerr to G4cout. + +Jan 31, 2003, M.Asai (run-V05-00-03) +- Fixed initialisation of world-volume pointer in DefineWorldVolume(), to + make it not-ambiguous. + +Jan 30, 2003, M.Asai (run-V05-00-02) +- Removed call to RemoveRootLogicalVolume() in method DefineWorldVolume(). + Now root regions are deregistered directly from the logical volume store, + when the destructor of a logical volume is invoked. + +Jan 14, 2003, M.Asai (run-V05-00-01) +- Fix problems in run-V05-00-00 tag + +Dec 16, 2002, G.Cosmo (run-V05-00-00) +- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. + Included development for 'cuts-by-region': + o In G4VUserPhysicsList, removed the following methods: + ReCalcCutValue(), SetCutValueForOthers(), SetCutValueForOtherThan(), + ReCalcCutValueForOthers(), StoreMaterialInfo(), StoreCutValues(), + RetrieveCutValues(), CheckForRetrievePhysicsTable(), CheckMaterialInfo(). + Added method BuildPhysicsTable(). + o Modified G4RunManger to properly handle new cuts scheme based on regions. + Dec 12, 2002, G.Cosmo (run-V04-01-07) - Updated date to G4RunManager.cc for release 5.0. diff --git a/source/run/include/G4ExceptionHandler.hh b/source/run/include/G4ExceptionHandler.hh index 51f06c2698..1db781d135 100644 --- a/source/run/include/G4ExceptionHandler.hh +++ b/source/run/include/G4ExceptionHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ExceptionHandler.hh,v 1.1 2002/08/19 18:33:29 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4Run.hh b/source/run/include/G4Run.hh index 60b74562e7..cc29c23e9c 100644 --- a/source/run/include/G4Run.hh +++ b/source/run/include/G4Run.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Run.hh,v 1.4 2001/07/11 10:08:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Run.hh,v 1.7 2003/04/23 17:54:17 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4Run_h @@ -53,9 +53,16 @@ class G4Run protected: G4int runID; G4int numberOfEvent; + G4int numberOfEventToBeProcessed; G4HCtable* HCtable; G4DCtable* DCtable; + public: // with description + virtual void RecordEvent(const G4Event*) + { numberOfEvent++; } + // Method to be overwritten by the user for recording events in this run. + // In such a case, it is the user's responsibility to increment numberOfEvent. + public: // with description inline G4int GetRunID() const { return runID; } @@ -64,6 +71,8 @@ class G4Run { return numberOfEvent; } // Returns number of events processed in this run. The number is // incremented at the end of each event processing. + inline G4int GetNumberOfEventToBeProcessed() const + { return numberOfEventToBeProcessed; } inline const G4HCtable* GetHCtable() const { return HCtable; } // List of names of hits collection @@ -73,8 +82,8 @@ class G4Run public: inline void SetRunID(G4int id) { runID = id; } - inline virtual void RecordEvent(G4Event*) - { numberOfEvent++; } + inline void SetNumberOfEventToBeProcessed(G4int n_ev) + { numberOfEventToBeProcessed = n_ev; } inline void SetHCtable(G4HCtable* HCtbl) { HCtable = HCtbl; } inline void SetDCtable(G4DCtable* DCtbl) diff --git a/source/run/include/G4RunManager.hh b/source/run/include/G4RunManager.hh index e852d2e6ae..b8112af5aa 100644 --- a/source/run/include/G4RunManager.hh +++ b/source/run/include/G4RunManager.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.hh,v 1.26 2002/11/27 17:55:07 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RunManager.hh,v 1.32 2003/04/23 17:54:27 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -76,6 +76,7 @@ class G4UserTrackingAction; class G4UserSteppingAction; class G4VPhysicalVolume; +class G4Region; class G4Timer; class G4RunMessenger; class G4DCtable; @@ -177,6 +178,9 @@ class G4RunManager // object is deleted in this class. If the user uses ODBMS and wants to store the // G4Run class object, he/she must override this method. + virtual void BuildPhysicsTables(); + // This method is invoked from RunInitialization() to create physics tables. + virtual G4Event* GenerateEvent(G4int i_event); virtual void AnalyzeEvent(G4Event* anEvent); // These two protected methods are invoked from DoEventLoop() method at the begining @@ -188,6 +192,20 @@ class G4RunManager // AnalyzeEvent() stores an event to a data base if a concrete G4VPersistentManager // class is defined. + public: // with description + void UpdateRegion(); + // Update region list. + // This method is mandatory before invoking following two dump methods. + // At RunInitialization(), this method is automatically invoked, and thus + // the user needs not invoke. + + void DumpRegion(G4String rname) const; + // Dump information of a region. + + void DumpRegion(G4Region* region=0) const; + // Dump information of a region. + // If the pointer is NULL, all regions are shown. + protected: void StackPreviousEvent(G4Event* anEvent); @@ -225,11 +243,15 @@ class G4RunManager G4Event* currentEvent; G4std::vector* previousEvents; G4int n_perviousEventsToBeStored; + G4int numberOfEventToBeProcessed; G4bool storeRandomNumberStatus; G4String randomNumberStatusDir; G4String versionString; + G4VPhysicalVolume* currentWorld; + G4Region* defaultRegion; + public: virtual void rndmSaveThisRun(); virtual void rndmSaveThisEvent(); diff --git a/source/run/include/G4RunMessenger.hh b/source/run/include/G4RunMessenger.hh index 248de8998f..7cc79a5c15 100644 --- a/source/run/include/G4RunMessenger.hh +++ b/source/run/include/G4RunMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RunMessenger.hh,v 1.9 2002/08/08 17:29:26 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RunMessenger.hh,v 1.11 2003/03/11 05:00:47 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT 4 class header file @@ -35,6 +35,8 @@ // Commands : // BeamOn * Start a Run. // Verbose * Set the Verbose level of G4RunManager. +// dumpRegion * Dump information of a region. +// dumpCouples * Dump information of material-cuts-couples. // optimizeGeometry * Set the optimization flag of closing geometry. // breakAtBeginOfEvent * Set a break point at the begining of every event. // breakAtEndOfEvent * Set a break point at the end of every event. @@ -79,6 +81,8 @@ class G4RunMessenger: public G4UImessenger G4UIdirectory * runDirectory; G4UIcommand * beamOnCmd; G4UIcmdWithAnInteger * verboseCmd; + G4UIcmdWithAString * dumpRegCmd; + G4UIcmdWithoutParameter * dumpCoupleCmd; G4UIcmdWithABool * optCmd; G4UIcmdWithABool * brkBoECmd; G4UIcmdWithABool * brkEoECmd; diff --git a/source/run/include/G4UserPhysicsListMessenger.hh b/source/run/include/G4UserPhysicsListMessenger.hh index 7b6d0e334e..fd935fd339 100644 --- a/source/run/include/G4UserPhysicsListMessenger.hh +++ b/source/run/include/G4UserPhysicsListMessenger.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UserPhysicsListMessenger.hh,v 1.10 2001/08/03 06:02:55 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UserPhysicsListMessenger.hh,v 1.15 2003/04/14 20:07:25 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -39,14 +39,12 @@ // Commands : // SetCuts * Set default cut value // dumpList * Dump List of particles in G4VUserPhysicsList. -// dumpCutValue * Dump cut value information // verbose * Set the Verbose level of G4VUserPhysicsList. // addProcessManager * add process manager // buildPhysicsTable * build physics table // storePhysicsTable * store physics table into files // retreivePhysicsTable * retreive physics table from files // setStoredInAscii * Switch on/off ascii mode in store/retreive Physics Table -// applyCuts * Set flag for ApplyCuts // ------------------------------------------------------------ // History // first version 09 Jan. 1998 by H.Kurashige @@ -68,6 +66,7 @@ class G4UIcmdWithoutParameter; class G4UIcmdWithAnInteger; class G4UIcmdWithADoubleAndUnit; class G4UIcmdWithAString; +class G4UIcommand; #include "G4UImessenger.hh" #include "globals.hh" @@ -91,16 +90,18 @@ public: // with description private: //commands G4UIdirectory * theDirectory; + G4UIcmdWithADoubleAndUnit * setPCutCmd; G4UIcmdWithADoubleAndUnit * setCutCmd; + G4UIcommand * setCutRCmd; G4UIcmdWithAnInteger * verboseCmd; G4UIcmdWithoutParameter * dumpListCmd; - G4UIcmdWithAString * dumpCutValuesCmd; G4UIcmdWithAString * addProcManCmd; G4UIcmdWithAString * buildPTCmd; G4UIcmdWithAString * storeCmd; G4UIcmdWithAString * retrieveCmd; G4UIcmdWithAnInteger * asciiCmd; - G4UIcommand * applyCutsCmd; + G4UIcommand * applyCutsCmd; + G4UIcmdWithAString * dumpCutValuesCmd; }; #endif diff --git a/source/run/include/G4UserRunAction.hh b/source/run/include/G4UserRunAction.hh index 4bb758cac4..855be60c47 100644 --- a/source/run/include/G4UserRunAction.hh +++ b/source/run/include/G4UserRunAction.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UserRunAction.hh,v 1.5 2001/07/11 10:08:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UserRunAction.hh,v 1.7 2003/04/04 16:45:30 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4UserRunAction_h @@ -38,6 +38,10 @@ class G4Run; // any of the contents of G4Run object. // virtual void BeginOfRunAction(const G4Run* aRun); // virtual void EndOfRunAction(const G4Run* aRun); +// The user can override the following method to instanciate his/her own +// concrete Run class. G4Run has a virtual method RecordEvent, so that +// the user can store any information useful to him/her with event statistics. +// virtual G4Run* GenerateRun(); // The user's concrete class derived from this class must be set to // G4RunManager via G4RunManager::SetUserAction() method. // @@ -49,6 +53,7 @@ class G4UserRunAction virtual ~G4UserRunAction(); public: + virtual G4Run* GenerateRun(); virtual void BeginOfRunAction(const G4Run* aRun); virtual void EndOfRunAction(const G4Run* aRun); }; diff --git a/source/run/include/G4VModularPhysicsList.hh b/source/run/include/G4VModularPhysicsList.hh index 80678e8ced..4786327df7 100644 --- a/source/run/include/G4VModularPhysicsList.hh +++ b/source/run/include/G4VModularPhysicsList.hh @@ -22,7 +22,7 @@ // // // $Id: G4VModularPhysicsList.hh,v 1.4 2002/05/29 12:11:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4VPersistencyManager.hh b/source/run/include/G4VPersistencyManager.hh index 5d4d322fca..b28553eddf 100644 --- a/source/run/include/G4VPersistencyManager.hh +++ b/source/run/include/G4VPersistencyManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPersistencyManager.hh,v 1.4 2001/07/11 10:08:32 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VPersistencyManager_h diff --git a/source/run/include/G4VPhysicsConstructor.hh b/source/run/include/G4VPhysicsConstructor.hh index b020e57db8..3115a14d07 100644 --- a/source/run/include/G4VPhysicsConstructor.hh +++ b/source/run/include/G4VPhysicsConstructor.hh @@ -22,7 +22,7 @@ // // // $Id: G4VPhysicsConstructor.hh,v 1.3 2001/11/06 06:08:04 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4VUserDetectorConstruction.hh b/source/run/include/G4VUserDetectorConstruction.hh index 308de0d4ae..5ce6db439f 100644 --- a/source/run/include/G4VUserDetectorConstruction.hh +++ b/source/run/include/G4VUserDetectorConstruction.hh @@ -22,7 +22,7 @@ // // // $Id: G4VUserDetectorConstruction.hh,v 1.4 2001/07/11 10:08:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VUserDetectorConstruction_h diff --git a/source/run/include/G4VUserPhysicsList.hh b/source/run/include/G4VUserPhysicsList.hh index 6ca6864d7c..583bfb7da9 100644 --- a/source/run/include/G4VUserPhysicsList.hh +++ b/source/run/include/G4VUserPhysicsList.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VUserPhysicsList.hh,v 1.14 2001/10/16 08:35:50 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VUserPhysicsList.hh,v 1.23 2003/04/11 11:36:21 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -65,6 +65,18 @@ // added RetrieveCutValues and related // added Set/ResetStoredInAscii() to switch on ascii mode // for Retrieve/StorePhysicsTable +// modified for CUTS per REGION 10, Oct 2002 by H.Kurashige +// removed following methods +// void ReCalcCutValue() +// void SetCutValueForOthers() +// void SetCutValueForOtherThan() +// void ReCalcCutValueForOthers() +// virtual G4bool StoreMaterialInfo() +// virtual G4bool StoreCutValues() +// virtual G4bool RetrieveCutValues() +// virtual G4bool CheckForRetrievePhysicsTable() +// virtual G4bool CheckMaterialInfo() +// added void BuildPhysicsTable() // ------------------------------------------------------------ #ifndef G4VUserPhysicsList_h #define G4VUserPhysicsList_h 1 @@ -73,6 +85,7 @@ #include "G4ParticleTable.hh" #include "G4ParticleDefinition.hh" +#include "G4ProductionCutsTable.hh" class G4UserPhysicsListMessenger; class G4VProcess; @@ -121,13 +134,15 @@ class G4VUserPhysicsList ///////////////////////////////////////////////////////////////////// public: // with description - // Invoke BuildPhysicsTable for all processes for specified particle + // Invoke BuildPhysicsTable for all processes for all particles // In case of "Retrieve" flag is ON, PhysicsTable will be // retrieved from files + void BuildPhysicsTable(); + + // do BuildPhysicsTable for specified particle type void BuildPhysicsTable(G4ParticleDefinition* ); - - // Store PhysicsTable together with both material and cut value + // Store PhysicsTable together with both material and cut value // information in files under the specified directory. // (return true if files are sucessfully created) G4bool StorePhysicsTable(const G4String& directory = "."); @@ -157,10 +172,31 @@ class G4VUserPhysicsList void DumpList() const; public: // with description - // Print out information of cut values - void DumpCutValuesTable() const; - void DumpCutValues(const G4String &particle_name = "ALL") const; - void DumpCutValues(G4ParticleDefinition* ) const; + // Request to print out information of cut values + // Printing will be performed when all tables are made + void DumpCutValuesTable(G4int nParticles=3); + + // The following method actually trigger the print-out requested + // by the above method. This method must be invoked by RunManager + // at the proper moment. + void DumpCutValuesTableIfRequested(); + + void DumpCutValues(const G4String &particle_name = "ALL") + { + G4cerr << "WARNING !" << G4endl; + G4cerr << " DumpCutValues() became obsolete." << G4endl; + G4cerr << " Please use DumpCutValuesTable() instead." << G4endl; + G4cerr << " This dummy method implementation will be removed soon." << G4endl; + DumpCutValuesTable(); + } + void DumpCutValues(G4ParticleDefinition* ) + { + G4cerr << "WARNING !" << G4endl; + G4cerr << " DumpCutValues() became obsolete." << G4endl; + G4cerr << " Please use DumpCutValuesTable() instead." << G4endl; + G4cerr << " This dummy method implementation will be removed soon." << G4endl; + DumpCutValuesTable(); + } public: // with description void SetVerboseLevel(G4int value); @@ -171,52 +207,32 @@ class G4VUserPhysicsList // 2: More /////////////////////////////////////////////////////////////////////////// - protected: // with description - // "SetCutsWithDefault" method sets a cut value with the default - // cut values for all particle types in the particle table + public: // with description + // "SetCutsWithDefault" method sets the default cut value + // for all particles for the default region. void SetCutsWithDefault(); - - // Following are utility methods for SetCuts/reCalcCuts + // Following are utility methods for SetCuts - // Reset cut values in energy for all particle types - // By calling this methods, the run manager will invoke - // SetCuts() just before event loop - void ResetCuts(); + // SetCutValue sets a cut value for a particle type for the default region + void SetCutValue(G4double aCut, const G4String& pname); - // SetCutValue sets a cut value for a particle type - void SetCutValue(G4double aCut, const G4String& name); - void ReCalcCutValue(const G4String& name); + // SetCutValue sets a cut value for a particle type for a region + void SetCutValue(G4double aCut, const G4String& pname, const G4String& rname); - // "setCutsForOthers" method sets a cut value to all particle types - // which have not be called SetCuts() methods yet. - // (i.e. particles which have no definit cut values) - void SetCutValueForOthers(G4double cutValue); - - // "setCutsForOtherThan" sets a cut value to all particle types - // other than particle types specified in arguments - void SetCutValueForOtherThan(G4double cutValue, - G4ParticleDefinition* first, - G4ParticleDefinition* second = 0, - G4ParticleDefinition* third = 0, - G4ParticleDefinition* fourth = 0, - G4ParticleDefinition* fifth = 0, - G4ParticleDefinition* sixth = 0, - G4ParticleDefinition* seventh = 0, - G4ParticleDefinition* eighth = 0, - G4ParticleDefinition* nineth = 0, - G4ParticleDefinition* tenth = 0 ); - - // "reCalcCutsForOthers" method re-calculates a cut value - // to all particle types which have not be called SetCuts() methods yet. - void ReCalcCutValueForOthers(); - - // Invoke SetCuts for specified particle + // Invoke SetCuts for specified particle for a region + // If the pointer to the region is NULL, the default region is used // In case of "Retrieve" flag is ON, // Cut values will be retrieved from files - void SetParticleCuts( G4double cut, G4ParticleDefinition* ); + void SetParticleCuts(G4double cut,G4ParticleDefinition* particle,G4Region* region=0); -/////////////////////////////////////////////////////////////////////////////// + // Invoke SetCuts for all particles in a region + void SetCutsForRegion(G4double aCut, const G4String& rname); + + // Following are utility methods are obsolete + void ResetCuts(); + +/////////////////////////////////////////////////////////////////// public: // Get/SetApplyCuts gets/sets the flag for ApplyCuts void SetApplyCuts(G4bool value, const G4String& name); @@ -227,6 +243,7 @@ class G4VUserPhysicsList // do BuildPhysicsTable for make the integral schema void BuildIntegralPhysicsTable(G4VProcess* ,G4ParticleDefinition* ); + protected: // Retrieve PhysicsTable from files for proccess belongng the particle. // Normal BuildPhysics procedure of processes will be invoked, @@ -235,24 +252,6 @@ class G4VUserPhysicsList const G4String& directory, G4bool ascii = false); - // Store material information in files under the specified directory. - virtual G4bool StoreMaterialInfo(const G4String& directory, - G4bool ascii = false); - // Store cut values information in files under the specified directory. - virtual G4bool StoreCutValues(const G4String& directory, - G4bool ascii = false); - - // Retrieve cut values information in files under the specified directory. - virtual G4bool RetrieveCutValues(const G4String& directory, - G4bool ascii = false); - - - // check stored material and cut values - virtual G4bool CheckForRetrievePhysicsTable(const G4String& directory, - G4bool ascii = false); - // check stored material is consistent with the current detector setup. - virtual G4bool CheckMaterialInfo(const G4String& directory, - G4bool ascii = false); ///////////////////////////////////////////////////////////////// protected: // adds new ProcessManager to all particles in the Particle Table @@ -281,13 +280,16 @@ class G4VUserPhysicsList G4UserPhysicsListMessenger* theMessenger; protected: - G4int verboseLevel; + G4int verboseLevel; protected: // this is the default cut value for all particles G4double defaultCutValue; protected: + // pointer to ProductionCutsTable + G4ProductionCutsTable* fCutsTable; + // flag to determine physics table will be build from file or not G4bool fRetrievePhysicsTable; G4bool fStoredInAscii; @@ -298,19 +300,24 @@ class G4VUserPhysicsList // directory name for physics table files G4String directoryPhysicsTable; - // number of materials in G4MaterialTable - // (this member is used by store/restore physics table) - G4int numberOfMaterial; + // flag for displaying the range cuts & energy thresholds + G4int fDisplayThreshold; private: enum { FixedStringLengthForStore = 32 }; - //////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// +// Following method is for backward compatibility and removed soon +//////////////////////////////////////////////////////////////////////////// protected: - enum { NumberOfParticlesForStoreCuts = 9}; - static const G4String particleForStoreCuts[NumberOfParticlesForStoreCuts]; - G4bool isBuildPhysicsTable[NumberOfParticlesForStoreCuts]; - G4int isParticleForStoreCuts(const G4ParticleDefinition*) const; + void SetCutValueForOthers(G4double cutValue) + { + G4cerr << "WARNING !" << G4endl; + G4cerr << " SetCutValueForOthers became obsolete." << G4endl; + G4cerr << " It is harmless to remove this invokation without any side effects." << G4endl; + G4cerr << " This dummy method implementation will be removed soon." << G4endl; + } + }; @@ -393,9 +400,3 @@ inline } #endif - - - - - - diff --git a/source/run/include/G4VUserPrimaryGeneratorAction.hh b/source/run/include/G4VUserPrimaryGeneratorAction.hh index 01e9af7aa0..d67aad141d 100644 --- a/source/run/include/G4VUserPrimaryGeneratorAction.hh +++ b/source/run/include/G4VUserPrimaryGeneratorAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4VUserPrimaryGeneratorAction.hh,v 1.4 2001/07/11 10:08:33 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VUserPrimaryGeneratorAction_h diff --git a/source/run/src/G4ExceptionHandler.cc b/source/run/src/G4ExceptionHandler.cc index 446cf96659..395da54d20 100644 --- a/source/run/src/G4ExceptionHandler.cc +++ b/source/run/src/G4ExceptionHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4ExceptionHandler.cc,v 1.2 2002/12/04 21:52:40 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/run/src/G4Run.cc b/source/run/src/G4Run.cc index ef9d02db96..26770000f6 100644 --- a/source/run/src/G4Run.cc +++ b/source/run/src/G4Run.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Run.cc,v 1.4 2001/07/13 15:57:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Run.cc,v 1.5 2003/04/23 17:54:31 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4Run.hh" @@ -30,7 +30,7 @@ G4Allocator aRunAllocator; G4Run::G4Run() -:runID(0),numberOfEvent(0),HCtable(0),DCtable(0) +:runID(0),numberOfEvent(0),numberOfEventToBeProcessed(0),HCtable(0),DCtable(0) {;} G4Run::~G4Run() diff --git a/source/run/src/G4RunManager.cc b/source/run/src/G4RunManager.cc index 7c6dacdf9f..025c834661 100644 --- a/source/run/src/G4RunManager.cc +++ b/source/run/src/G4RunManager.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.cc,v 1.54 2002/12/12 08:33:51 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RunManager.cc,v 1.75 2003/04/24 17:42:06 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -43,6 +43,11 @@ #include "G4SDManager.hh" #include "G4TransportationManager.hh" #include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" +#include "G4Region.hh" +#include "G4RegionStore.hh" +#include "G4ProductionCuts.hh" +#include "G4ProductionCutsTable.hh" #include "G4ApplicationState.hh" #include "G4StateManager.hh" #include "G4VPersistencyManager.hh" @@ -51,6 +56,7 @@ #include "G4ProcessTable.hh" #include "G4UnitsTable.hh" #include "G4VVisManager.hh" +#include "G4Material.hh" #include "G4ExceptionHandler.hh" #include "G4ios.hh" #include "g4std/strstream" @@ -83,7 +89,7 @@ G4RunManager::G4RunManager() geometryNeedsToBeClosed(true),runAborted(false),initializedAtLeastOnce(false), geometryToBeOptimized(true),runIDCounter(0),verboseLevel(0),DCtable(0), currentRun(0),currentEvent(0),n_perviousEventsToBeStored(0), - storeRandomNumberStatus(false) + numberOfEventToBeProcessed(0),storeRandomNumberStatus(false),currentWorld(0) { defaultExceptionHandler = new G4ExceptionHandler(); if(fRunManager) @@ -94,10 +100,12 @@ G4RunManager::G4RunManager() timer = new G4Timer(); runMessenger = new G4RunMessenger(this); previousEvents = new G4std::vector; + defaultRegion = new G4Region("DefaultRegionForTheWorld"); + defaultRegion->SetProductionCuts(G4ProductionCutsTable::GetProductionCutsTable()->GetDefaultProductionCuts()); G4ParticleTable::GetParticleTable()->CreateMessenger(); G4ProcessTable::GetProcessTable()->CreateMessenger(); randomNumberStatusDir = "./"; - versionString = " Geant4 version $Name: geant4-05-00 $\n (13-Dec-2002)"; + versionString = " Geant4 version $Name: geant4-05-01 $\n (30-Apr-2003)"; G4cout << "**********************************************" << G4endl << versionString << G4endl @@ -166,8 +174,9 @@ void G4RunManager::BeamOn(G4int n_event,const char* macroFile,G4int n_select) G4bool cond = ConfirmBeamOnCondition(); if(cond) { + numberOfEventToBeProcessed = n_event; RunInitialization(); - DoEventLoop(n_event,macroFile,n_select); + if(n_event>0) DoEventLoop(n_event,macroFile,n_select); RunTermination(); } } @@ -190,26 +199,33 @@ G4bool G4RunManager::ConfirmBeamOnCondition() return false; } - if(!(geometryInitialized && physicsInitialized && cutoffInitialized)) + if(!geometryInitialized || !physicsInitialized || !cutoffInitialized) { if(verboseLevel>0) { G4cout << "Start re-initialization because " << G4endl; if(!geometryInitialized) G4cout << " Geometry" << G4endl; if(!physicsInitialized) G4cout << " Physics processes" << G4endl; - if(!cutoffInitialized) G4cout << " Cutoff" << G4endl; + if(!cutoffInitialized) G4cout << " SetCuts" << G4endl; G4cout << "has been modified since last Run." << G4endl; } Initialize(); } - return true; } void G4RunManager::RunInitialization() { - currentRun = new G4Run(); + currentRun = 0; + if(userRunAction) currentRun = userRunAction->GenerateRun(); + if(!currentRun) currentRun = new G4Run(); + + G4StateManager* stateManager = G4StateManager::GetStateManager(); + stateManager->SetNewState(G4State_GeomClosed); currentRun->SetRunID(runIDCounter); + currentRun->SetNumberOfEventToBeProcessed(numberOfEventToBeProcessed); + + BuildPhysicsTables(); currentRun->SetDCtable(DCtable); G4SDManager* fSDM = G4SDManager::GetSDMpointerIfExist(); @@ -225,8 +241,6 @@ void G4RunManager::RunInitialization() geomManager->CloseGeometry(geometryToBeOptimized, verboseLevel>1); geometryNeedsToBeClosed = false; } - G4StateManager* stateManager = G4StateManager::GetStateManager(); - stateManager->SetNewState(G4State_GeomClosed); //previousEvents->clearAndDestroy(); for(size_t itr=0;itrsize();itr++) @@ -369,7 +383,7 @@ void G4RunManager::Initialize() if(!physicsInitialized) InitializePhysics(); if(!cutoffInitialized) InitializeCutOff(); stateManager->SetNewState(G4State_Idle); - if(!initializedAtLeastOnce) initializedAtLeastOnce = true; + initializedAtLeastOnce = true; } void G4RunManager::InitializeGeometry() @@ -405,8 +419,34 @@ void G4RunManager::InitializeCutOff() { if(verboseLevel>1) G4cout << "physicsList->setCut() start." << G4endl; physicsList->SetCuts(); + cutoffInitialized = true; } - cutoffInitialized = true; + else + { + G4Exception("G4VUserPhysicsList is not defined"); + } +} + +void G4RunManager::BuildPhysicsTables() +{ + UpdateRegion(); + + // Let G4ProductionCutsTable create new couples + G4ProductionCutsTable::GetProductionCutsTable()->UpdateCoupleTable(); + + if(G4ProductionCutsTable::GetProductionCutsTable()->IsModified()) + { + physicsList->BuildPhysicsTable(); + G4ProductionCutsTable::GetProductionCutsTable()->PhysicsTableUpdated(); + } + + physicsList->DumpCutValuesTableIfRequested(); +} + +void G4RunManager::UpdateRegion() +{ + // Let G4RegionStore scan materials + G4RegionStore::GetInstance()->UpdateMaterialList(); } void G4RunManager::AbortRun(G4bool softAbort) @@ -447,16 +487,45 @@ void G4RunManager::AbortEvent() void G4RunManager::DefineWorldVolume(G4VPhysicalVolume* worldVol) { + // check if this is different from previous + //////if(currentWorld==worldVol) return; + // The world volume MUST NOT have a region defined by the user. + if(worldVol->GetLogicalVolume()->GetRegion()) + { + if(worldVol->GetLogicalVolume()->GetRegion()!=defaultRegion) + { + G4cerr << "The world volume has a user-defined region <" + << worldVol->GetLogicalVolume()->GetRegion()->GetName() + << ">." << G4endl; + G4Exception("G4RunManager::DefineWorldVolume", + "RUN:WorldHasUserDefinedRegion", + FatalException, + "World would have a default region assigned by RunManager."); + } + } + else + { + // set the default region to the world + G4LogicalVolume* worldLog = worldVol->GetLogicalVolume(); + worldLog->SetRegion(defaultRegion); + defaultRegion->AddRootLogicalVolume(worldLog); + } + + currentWorld = worldVol; + //geometryNeedsToBeClosed = true; + GeometryHasBeenModified(); + // set the world volume to the Navigator + //ResetNavigator(); G4TransportationManager::GetTransportationManager() ->GetNavigatorForTracking() ->SetWorldVolume(worldVol); + //ResetNavigator(); // Let VisManager know it G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance(); if(pVVisManager) pVVisManager->GeometryHasChanged(); - geometryNeedsToBeClosed = true; } void G4RunManager::ResetNavigator() const @@ -464,12 +533,7 @@ void G4RunManager::ResetNavigator() const G4StateManager* stateManager = G4StateManager::GetStateManager(); G4ApplicationState currentState = stateManager->GetCurrentState(); - if(!initializedAtLeastOnce) - { - G4cerr << " Geant4 kernel should be initialized" << G4endl; - G4cerr << " Navigator is not touched..." << G4endl; - return; - } + if(!initializedAtLeastOnce) return; if( currentState != G4State_Idle ) { @@ -542,3 +606,40 @@ void G4RunManager::RestoreRandomNumberStatus(G4String fileN) << fileNameWithDirectory << G4endl; HepRandom::showEngineStatus(); } + +void G4RunManager::DumpRegion(G4String rname) const +{ + G4Region* region = G4RegionStore::GetInstance()->GetRegion(rname); + if(region) DumpRegion(region); +} + +void G4RunManager::DumpRegion(G4Region* region) const +{ + if(!region) + { + for(size_t i=0;isize();i++) + { DumpRegion((*(G4RegionStore::GetInstance()))[i]); } + } + else + { + G4cout << "Region " << region->GetName() << G4endl; + G4cout << " Materials : "; + G4std::vector::const_iterator mItr = region->GetMaterialIterator(); + size_t nMaterial = region->GetNumberOfMaterials(); + for(size_t iMate=0;iMateGetName() << " "; + mItr++; + } + G4cout << G4endl; + G4ProductionCuts* cuts = region->GetProductionCuts(); + G4cout << " Production cuts : " + << " gamma " << G4BestUnit(cuts->GetProductionCut("gamma"),"Length") + << " e- " << G4BestUnit(cuts->GetProductionCut("e-"),"Length") + << " e+ " << G4BestUnit(cuts->GetProductionCut("e+"),"Length") + << G4endl; + } +} + + + diff --git a/source/run/src/G4RunMessenger.cc b/source/run/src/G4RunMessenger.cc index db463eef8c..54bb51878b 100644 --- a/source/run/src/G4RunMessenger.cc +++ b/source/run/src/G4RunMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4RunMessenger.cc,v 1.12 2002/12/04 21:52:40 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4RunMessenger.cc,v 1.17 2003/04/03 18:43:32 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4RunMessenger.hh" @@ -35,6 +35,7 @@ #include "G4UIcommand.hh" #include "G4UIparameter.hh" #include "G4UImanager.hh" +#include "G4ProductionCutsTable.hh" #include "G4ios.hh" #include "g4std/strstream" @@ -64,7 +65,7 @@ G4RunMessenger::G4RunMessenger(G4RunManager * runMgr) beamOnCmd->AvailableForStates(G4State_PreInit,G4State_Idle); G4UIparameter* p1 = new G4UIparameter("numberOfEvent",'i',true); p1->SetDefaultValue(1); - p1->SetParameterRange("numberOfEvent > 0"); + p1->SetParameterRange("numberOfEvent >= 0"); beamOnCmd->SetParameter(p1); G4UIparameter* p2 = new G4UIparameter("macroFile",'s',true); p2->SetDefaultValue("***NULL***"); @@ -83,6 +84,19 @@ G4RunMessenger::G4RunMessenger(G4RunManager * runMgr) verboseCmd->SetDefaultValue(0); verboseCmd->SetRange("level >=0 && level <=2"); + dumpRegCmd = new G4UIcmdWithAString("/run/dumpRegion",this); + dumpRegCmd->SetGuidance("Dump region information."); + dumpRegCmd->SetGuidance("In case name of a region is not given, all regions will be displayed."); + dumpRegCmd->SetParameterName("regionName", true); + dumpRegCmd->SetDefaultValue("**ALL**"); + dumpRegCmd->AvailableForStates(G4State_Idle); + + dumpCoupleCmd = new G4UIcmdWithoutParameter("/run/dumpCouples",this); + dumpCoupleCmd->SetGuidance("Dump material-cuts-couple information."); + dumpCoupleCmd->SetGuidance("Note that material-cuts-couple information is updated"); + dumpCoupleCmd->SetGuidance("after BeamOn has started."); + dumpCoupleCmd->AvailableForStates(G4State_Idle); + optCmd = new G4UIcmdWithABool("/run/optimizeGeometry",this); optCmd->SetGuidance("Set the optimization flag for geometry."); optCmd->SetGuidance("If it is set to TRUE, G4GeometryManager will optimize"); @@ -196,6 +210,8 @@ G4RunMessenger::~G4RunMessenger() delete beamOnCmd; delete verboseCmd; delete optCmd; + delete dumpRegCmd; + delete dumpCoupleCmd; delete brkBoECmd; delete brkEoECmd; delete abortCmd; @@ -230,6 +246,18 @@ void G4RunMessenger::SetNewValue(G4UIcommand * command,G4String newValue) } else if( command==verboseCmd ) { runManager->SetVerboseLevel(verboseCmd->GetNewIntValue(newValue)); } + else if( command==dumpRegCmd ) + { + runManager->UpdateRegion(); + if(newValue=="**ALL**") + { runManager->DumpRegion(); } + else + { runManager->DumpRegion(newValue); } + } + else if( command==dumpCoupleCmd) + { + G4ProductionCutsTable::GetProductionCutsTable()->DumpCouples(); + } else if( command==optCmd ) { runManager->SetGeometryToBeOptimized(optCmd->GetNewBoolValue(newValue)); } else if( command==brkBoECmd ) diff --git a/source/run/src/G4UserPhysicsListMessenger.cc b/source/run/src/G4UserPhysicsListMessenger.cc index f93c7bc80e..ed3e4efe6b 100644 --- a/source/run/src/G4UserPhysicsListMessenger.cc +++ b/source/run/src/G4UserPhysicsListMessenger.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UserPhysicsListMessenger.cc,v 1.11 2002/12/04 21:52:40 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UserPhysicsListMessenger.cc,v 1.22 2003/04/28 22:54:37 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -49,6 +49,7 @@ G4UserPhysicsListMessenger::G4UserPhysicsListMessenger(G4VUserPhysicsList* pParticleList):thePhysicsList(pParticleList) { + G4UIparameter* param = 0; // /run/particle directory theDirectory = new G4UIdirectory("/run/particle/"); theDirectory->SetGuidance("Commands for G4VUserPhysicsList."); @@ -64,29 +65,43 @@ G4UserPhysicsListMessenger::G4UserPhysicsListMessenger(G4VUserPhysicsList* pPart verboseCmd->SetRange("level >=0 && level <=3"); // /run/particle/setCut command - setCutCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setCut",this); + setPCutCmd = new G4UIcmdWithADoubleAndUnit("/run/particle/setCut",this); + setPCutCmd->SetGuidance("Set default cut value "); + setPCutCmd->SetGuidance("This command is equivallent to /run/setCut command."); + setPCutCmd->SetGuidance("This command is kept for backward compatibility."); + setPCutCmd->SetParameterName("cut",false); + setPCutCmd->SetDefaultValue(1.0); + setPCutCmd->SetRange("cut >0.0"); + setPCutCmd->SetDefaultUnit("mm"); + setPCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + // /run/setCut command + setCutCmd = new G4UIcmdWithADoubleAndUnit("/run/setCut",this); setCutCmd->SetGuidance("Set default cut value "); setCutCmd->SetParameterName("cut",false); setCutCmd->SetDefaultValue(1.0); setCutCmd->SetRange("cut >0.0"); - setCutCmd->SetUnitCandidates("m cm mm microm"); setCutCmd->SetDefaultUnit("mm"); setCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + // /run/setCutForRegion command + setCutRCmd = new G4UIcommand("/run/setCutForRegion",this); + setCutRCmd->SetGuidance("Set cut value for a region"); + param = new G4UIparameter("Region",'s',false); + setCutRCmd->SetParameter(param); + param = new G4UIparameter("cut",'d',false); + param->SetParameterRange("cut >0.0"); + setCutRCmd->SetParameter(param); + param = new G4UIparameter("Unit",'s',true); + param->SetDefaultValue("mm"); + param->SetParameterCandidates(setCutRCmd->UnitsList(setCutRCmd->CategoryOf("mm"))); + setCutRCmd->SetParameter(param); + setCutRCmd->AvailableForStates(G4State_Idle); + // /run/particle/DumpList command dumpListCmd = new G4UIcmdWithoutParameter("/run/particle/dumpList",this); dumpListCmd->SetGuidance("Dump List of particles in G4VUserPhysicsList. "); - - // /run/particle/DumpCutValues command - dumpCutValuesCmd = new G4UIcmdWithAString("/run/particle/dumpCutValues",this); - dumpCutValuesCmd->SetGuidance("Dump cut value information "); - dumpCutValuesCmd->SetGuidance("Enter particle name "); - dumpCutValuesCmd->SetGuidance(" enter all for all particles"); - dumpCutValuesCmd->SetParameterName("particle", true); - dumpCutValuesCmd->SetDefaultValue("table"); - dumpCutValuesCmd->AvailableForStates(G4State_Idle,G4State_GeomClosed,G4State_EventProc); - // /run/particle/addProcManager command addProcManCmd = new G4UIcmdWithAString("/run/particle/addProcManager", this); addProcManCmd->SetGuidance("add process manager to specified particle type"); @@ -128,39 +143,80 @@ G4UserPhysicsListMessenger::G4UserPhysicsListMessenger(G4VUserPhysicsList* pPart //Commnad /run/particle/applyCuts command applyCutsCmd = new G4UIcommand("/run/particle/applyCuts",this); - applyCutsCmd->SetGuidance("Set ApplyCuts flag "); - applyCutsCmd->SetGuidance(" applyCuts [value] [particle]"); - applyCutsCmd->SetGuidance(" value : true(default) or false "); - applyCutsCmd->SetGuidance(" particle : all(default) or particle name "); - G4UIparameter* param = new G4UIparameter("Flag",'s',true); + applyCutsCmd->SetGuidance("Set applyCuts flag for a particle."); + applyCutsCmd->SetGuidance(" Some EM processes which do not have infrared divergence"); + applyCutsCmd->SetGuidance("may generate gamma, e- and/or e+ with kinetic energies"); + applyCutsCmd->SetGuidance("below the production threshold. By setting this flag,"); + applyCutsCmd->SetGuidance("such secondaries below threshold are eliminated and"); + applyCutsCmd->SetGuidance("kinetic energies of such secondaries are accumulated"); + applyCutsCmd->SetGuidance("to the energy deposition of their mother."); + applyCutsCmd->SetGuidance(" Note that 'applyCuts' makes sense only for gamma,"); + applyCutsCmd->SetGuidance("e- and e+. If this command is issued for other particle,"); + applyCutsCmd->SetGuidance("a warning message is displayed and the command is"); + applyCutsCmd->SetGuidance("ignored."); + applyCutsCmd->SetGuidance(" If particle name is 'all', this command affects on"); + applyCutsCmd->SetGuidance("gamma, e- and e+."); + param = new G4UIparameter("Flag",'s',true); param->SetDefaultValue("true"); applyCutsCmd->SetParameter(param); param = new G4UIparameter("Particle",'s',true); param->SetDefaultValue("all"); applyCutsCmd->SetParameter(param); applyCutsCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle); + + // /run/particle/dumpCutValues command + dumpCutValuesCmd = new G4UIcmdWithAString("/run/particle/dumpCutValues",this); + dumpCutValuesCmd->SetGuidance("Dump a list of production threshold values in range and energy"); + dumpCutValuesCmd->SetGuidance("for all registered material-cuts-couples."); + dumpCutValuesCmd->SetGuidance("Dumping a list takes place when you issue 'beamOn' and"); + dumpCutValuesCmd->SetGuidance("actual conversion tables from range to energy are available."); + dumpCutValuesCmd->SetGuidance("If you want a list 'immediately', use '/run/dumpRegion' for threshold"); + dumpCutValuesCmd->SetGuidance("list given in gange only. Also, '/run/dumpCouples' gives you the"); + dumpCutValuesCmd->SetGuidance("current list if you have already issued 'run/beamOn' at least once."); + dumpCutValuesCmd->SetParameterName("particle",true); + dumpCutValuesCmd->SetDefaultValue("all"); + dumpCutValuesCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + } G4UserPhysicsListMessenger::~G4UserPhysicsListMessenger() { + delete setPCutCmd; delete setCutCmd; + delete setCutRCmd; delete verboseCmd; delete dumpListCmd; - delete dumpCutValuesCmd; delete addProcManCmd; delete buildPTCmd; delete storeCmd; delete retrieveCmd; - delete theDirectory; delete asciiCmd; delete applyCutsCmd; + delete dumpCutValuesCmd; + delete theDirectory; } void G4UserPhysicsListMessenger::SetNewValue(G4UIcommand * command,G4String newValue) { - if( command==setCutCmd ){ + if( command==setCutCmd || command==setPCutCmd ){ G4double newCut = setCutCmd->GetNewDoubleValue(newValue); thePhysicsList->SetDefaultCutValue(newCut); + thePhysicsList->SetCutsWithDefault(); + + } else if( command==setCutRCmd ){ + //G4Tokenizer next( newValue ); + //G4String rName = G4String(next()); + //G4String cValue = G4String(next())+" "+G4String(next()); + //G4double newCut = setCutCmd->GetNewDoubleValue(cValue); + //thePhysicsList->SetCutsForRegion(newCut,rName); + G4std::istrstream is(newValue); + char regName[50]; + G4double cVal; + char uniName[10]; + is >> regName >> cVal >> uniName; + G4String regN = regName; + G4String uniN = uniName; + thePhysicsList->SetCutsForRegion(cVal*(setCutRCmd->ValueOf(uniN)),regN); } else if( command==verboseCmd ) { thePhysicsList->SetVerboseLevel(verboseCmd->GetNewIntValue(newValue)); @@ -168,13 +224,6 @@ void G4UserPhysicsListMessenger::SetNewValue(G4UIcommand * command,G4String newV } else if( command==dumpListCmd ){ thePhysicsList->DumpList(); - } else if( command==dumpCutValuesCmd ){ - if (newValue == "table") { - thePhysicsList->DumpCutValuesTable(); - } else { - thePhysicsList->DumpCutValues(newValue); - } - } else if( command == addProcManCmd ){ G4ParticleDefinition* particle = (G4ParticleTable::GetParticleTable())->FindParticle(newValue); if (particle == 0) return; @@ -215,6 +264,8 @@ void G4UserPhysicsListMessenger::SetNewValue(G4UIcommand * command,G4String newV thePhysicsList->SetApplyCuts(flag, name); + } else if( command == dumpCutValuesCmd ) { + thePhysicsList->DumpCutValuesTable(1); } } @@ -225,7 +276,7 @@ G4String G4UserPhysicsListMessenger::GetCurrentValue(G4UIcommand * command) G4String candidates("none"); G4ParticleTable::G4PTblDicIterator *piter = (G4ParticleTable::GetParticleTable())->GetIterator(); - if( command==setCutCmd ){ + if( command==setCutCmd || command==setPCutCmd ){ cv = setCutCmd->ConvertToString( thePhysicsList->GetDefaultCutValue(), "mm" ); } else if( command==verboseCmd ){ @@ -268,12 +319,12 @@ G4String G4UserPhysicsListMessenger::GetCurrentValue(G4UIcommand * command) cv = "0"; } - } else if( command == applyCutsCmd ) { - if (thePhysicsList->GetApplyCuts("proton")){ - cv = "true"; - } else { - cv = "false"; - } +// } else if( command == applyCutsCmd ) { +// if (thePhysicsList->GetApplyCuts("gamma")){ +// cv = "true"; +// } else { +// cv = "false"; +// } } return cv; diff --git a/source/run/src/G4UserRunAction.cc b/source/run/src/G4UserRunAction.cc index 696d079783..d1b8b41141 100644 --- a/source/run/src/G4UserRunAction.cc +++ b/source/run/src/G4UserRunAction.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4UserRunAction.cc,v 1.4 2001/07/11 10:08:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4UserRunAction.cc,v 1.5 2003/03/10 01:50:21 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4UserRunAction.hh" @@ -33,6 +33,9 @@ G4UserRunAction::G4UserRunAction() G4UserRunAction::~G4UserRunAction() {;} +G4Run* G4UserRunAction::GenerateRun() +{ return 0; } + void G4UserRunAction::BeginOfRunAction(const G4Run* aRun) {;} diff --git a/source/run/src/G4VModularPhysicsList.cc b/source/run/src/G4VModularPhysicsList.cc index be4b08269e..170081707a 100644 --- a/source/run/src/G4VModularPhysicsList.cc +++ b/source/run/src/G4VModularPhysicsList.cc @@ -22,7 +22,7 @@ // // // $Id: G4VModularPhysicsList.cc,v 1.2 2002/05/29 12:11:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/run/src/G4VPersistencyManager.cc b/source/run/src/G4VPersistencyManager.cc index be41976dd6..96b8b36f26 100644 --- a/source/run/src/G4VPersistencyManager.cc +++ b/source/run/src/G4VPersistencyManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4VPersistencyManager.cc,v 1.4 2001/07/13 15:57:06 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VPersistencyManager.hh" diff --git a/source/run/src/G4VUserDetectorConstruction.cc b/source/run/src/G4VUserDetectorConstruction.cc index fca6858fcd..47969648b8 100644 --- a/source/run/src/G4VUserDetectorConstruction.cc +++ b/source/run/src/G4VUserDetectorConstruction.cc @@ -22,7 +22,7 @@ // // // $Id: G4VUserDetectorConstruction.cc,v 1.3 2001/07/11 10:08:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VUserDetectorConstruction.hh" diff --git a/source/run/src/G4VUserPhysicsList.cc b/source/run/src/G4VUserPhysicsList.cc index bb6470b794..22073edd33 100644 --- a/source/run/src/G4VUserPhysicsList.cc +++ b/source/run/src/G4VUserPhysicsList.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VUserPhysicsList.cc,v 1.26 2001/10/23 02:36:38 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VUserPhysicsList.cc,v 1.41 2003/04/25 13:28:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -41,45 +41,54 @@ // Fixed RemoveProcessManager 15 Apr. 1999 by H.Kurashige // Removed ConstructAllParticles() 15 Apr. 1999 by H.Kurashige // modified 08, Mar 2001 by H.Kurashige +// modified for CUTS per REGION 10, Oct 2002 by H.Kurashige // ------------------------------------------------------------ #include "globals.hh" #include "G4VUserPhysicsList.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" #include "G4ParticleTable.hh" -#include "G4ParticleWithCuts.hh" +#include "G4ProductionCutsTable.hh" #include "G4Material.hh" #include "G4UserPhysicsListMessenger.hh" #include "G4UImanager.hh" #include "G4UnitsTable.hh" +#include "G4RegionStore.hh" +#include "G4Region.hh" +#include "G4ProductionCutsTable.hh" +#include "G4ProductionCuts.hh" +#include "G4MaterialCutsCouple.hh" #include "G4ios.hh" -#include "g4std/iomanip" -#include "g4std/fstream" +#include "g4std/iomanip" +#include "g4std/fstream" //////////////////////////////////////////////////////// G4VUserPhysicsList::G4VUserPhysicsList() - :verboseLevel(1), + :verboseLevel(1), fRetrievePhysicsTable(false), fStoredInAscii(true), fIsCheckedForRetrievePhysicsTable(false), fIsRestoredCutValues(false), directoryPhysicsTable("."), - numberOfMaterial(0) - + fDisplayThreshold(0) { - // default cut value (1.0mm) + // default cut value (1.0mm) defaultCutValue = 1.0*mm; - // set energy range for SetCut calcuration - G4ParticleWithCuts::SetEnergyRange(0.99*keV, 100*TeV); // pointer to the particle table theParticleTable = G4ParticleTable::GetParticleTable(); theParticleIterator = theParticleTable->GetIterator(); - - // UI Messenger + + // pointer to the cuts table + fCutsTable = G4ProductionCutsTable::GetProductionCutsTable(); + + // set energy range for SetCut calcuration + fCutsTable->SetEnergyRange(0.99*keV, 100*TeV); + + // UI Messenger theMessenger = new G4UserPhysicsListMessenger(this); } @@ -98,7 +107,7 @@ void G4VUserPhysicsList::AddProcessManager(G4ParticleDefinition* newParticle, { if (newParticle == 0) return; if (newParticle->GetProcessManager() != 0) { -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel >1){ G4cout << "G4VUserPhysicsList::AddProcessManager: "; G4cout << newParticle->GetParticleName(); @@ -113,7 +122,7 @@ void G4VUserPhysicsList::AddProcessManager(G4ParticleDefinition* newParticle, // Add ProcessManager if (newParticle->GetParticleType() == "nucleus") { // Create a copy of the process manager of "GenericIon" in case of "nucleus" - G4ParticleDefinition* genericIon = + G4ParticleDefinition* genericIon = (G4ParticleTable::GetParticleTable())->FindParticle("GenericIon"); if (genericIon != 0) { @@ -121,7 +130,7 @@ void G4VUserPhysicsList::AddProcessManager(G4ParticleDefinition* newParticle, if (ionMan != 0) { newManager = new G4ProcessManager(*ionMan); } else { - // no process manager has been registered yet + // no process manager has been registered yet newManager = new G4ProcessManager(newParticle); } } else { @@ -135,28 +144,28 @@ void G4VUserPhysicsList::AddProcessManager(G4ParticleDefinition* newParticle, } } - // set particle type + // set particle type newManager->SetParticleType(newParticle); // add the process manager newParticle->SetProcessManager(newManager); -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel >2){ G4cout << "G4VUserPhysicsList::AddProcessManager: "; G4cout << "adds ProcessManager to "; G4cout << newParticle->GetParticleName() << G4endl; newManager->DumpInfo(); - } + } #endif - + if (newParticle->GetParticleType() == "nucleus") BuildPhysicsTable(newParticle); } //////////////////////////////////////////////////////// void G4VUserPhysicsList::InitializeProcessManager() { - // loop over all particles in G4ParticleTable + // loop over all particles in G4ParticleTable theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); @@ -172,21 +181,21 @@ void G4VUserPhysicsList::InitializeProcessManager() //////////////////////////////////////////////////////// void G4VUserPhysicsList::RemoveProcessManager() { - // loop over all particles in G4ParticleTable + // loop over all particles in G4ParticleTable theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); if (pmanager!=0) delete pmanager; particle->SetProcessManager(0); -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel >2){ G4cout << "G4VUserPhysicsList::RemoveProcessManager: "; G4cout << "remove ProcessManager from "; G4cout << particle->GetParticleName() << G4endl; } #endif - } + } } @@ -196,7 +205,7 @@ void G4VUserPhysicsList::AddTransportation() { G4Transportation* theTransportationProcess= new G4Transportation(); - // loop over all particles in G4ParticleTable + // loop over all particles in G4ParticleTable theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); @@ -223,14 +232,14 @@ void G4VUserPhysicsList::AddTransportation() void G4VUserPhysicsList::SetDefaultCutValue(G4double value) { if (value<=0.0) { -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel >0){ G4cout << "G4VUserPhysicsList::SetDefaultCutValue: negative cut values"; G4cout << " :" << value/mm << "[mm]" << G4endl; } #endif - } else { -#ifdef G4VERBOSE + } else { +#ifdef G4VERBOSE if (verboseLevel >1){ G4cout << "G4VUserPhysicsList::SetDefaultCutValue:"; G4cout << "default cut value is changed to :" ; @@ -238,167 +247,35 @@ void G4VUserPhysicsList::SetDefaultCutValue(G4double value) } #endif defaultCutValue = value; - ResetCuts(); + } } -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::ResetCuts() -{ -#ifdef G4VERBOSE - if (verboseLevel >1) { - G4cout << "G4VUserPhysicsList::ResetCuts()" << G4endl; - G4cout << " cut values in energy will be calculated later" << G4endl; - } -#endif - - // Reset cut values for other particles - // loop over all particles in G4ParticleTable - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - if (!particle->IsShortLived()) particle->ResetCuts(); - } - - // inform that cut values are modified to the run manager - // i.e state will be changed and SetCuts will be invoked - // just before event loop - - // set /control/verbose 0 - G4int tempVerboseLevel = G4UImanager::GetUIpointer()->GetVerboseLevel(); - G4UImanager::GetUIpointer()->SetVerboseLevel(0); - // issue /run/cutoffModified - G4UImanager::GetUIpointer()->ApplyCommand("/run/cutoffModified"); - // retreive /control/verbose - G4UImanager::GetUIpointer()->SetVerboseLevel(tempVerboseLevel); - -} - - -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::SetCutValueForOtherThan(G4double cutValue, - G4ParticleDefinition* first, - G4ParticleDefinition* second, - G4ParticleDefinition* third, - G4ParticleDefinition* fourth, - G4ParticleDefinition* fifth, - G4ParticleDefinition* sixth, - G4ParticleDefinition* seventh, - G4ParticleDefinition* eighth, - G4ParticleDefinition* nineth, - G4ParticleDefinition* tenth ) -{ - // check cut value is positive - if (cutValue <= 0.0) { -#ifdef G4VERBOSE - if (verboseLevel >0){ - G4cout << "G4VUserPhysicsList::SetCutValueForOtherThan: negative cut values"; - G4cout << " :" << cutValue/mm << "[mm]" << G4endl; - } -#endif - return; - } else { -#ifdef G4VERBOSE - if (verboseLevel >1) { - G4cout << "G4VUserPhysicsList::SetCutValueForOtherThan "; - G4cout << " :" << cutValue/mm << "[mm]" << G4endl; - } -#endif - } - - // check specified particle types in arguments - G4ParticleDefinition* specifiedParticles[10]; - G4int numberOfSpecifiedParticles = 0; - if (first != 0) { - specifiedParticles[numberOfSpecifiedParticles] = first; - numberOfSpecifiedParticles +=1; - } - if (second != 0) { - specifiedParticles[numberOfSpecifiedParticles] = second; - numberOfSpecifiedParticles +=1; - } - if (third != 0) { - specifiedParticles[numberOfSpecifiedParticles] = third; - numberOfSpecifiedParticles +=1; - } - if (fourth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = fourth; - numberOfSpecifiedParticles +=1; - } - if (fifth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = fifth; - numberOfSpecifiedParticles +=1; - } - if (sixth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = sixth; - numberOfSpecifiedParticles +=1; - } - if (seventh != 0) { - specifiedParticles[numberOfSpecifiedParticles] = seventh; - numberOfSpecifiedParticles +=1; - } - if (eighth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = eighth; - numberOfSpecifiedParticles +=1; - } - if (nineth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = nineth; - numberOfSpecifiedParticles +=1; - } - if (tenth != 0) { - specifiedParticles[numberOfSpecifiedParticles] = tenth; - numberOfSpecifiedParticles +=1; - } - - // Set cut values for other particles - G4bool isSpecified; - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - isSpecified = false; - for (G4int index = 0; index IsShortLived()) ){ - // set cut value - SetParticleCuts( cutValue ,particle ); - // build physics table - BuildPhysicsTable(particle); - -#ifdef G4VERBOSE - if (verboseLevel >1) G4cout << "Set cuts for " << particle->GetParticleName() << G4endl; -#endif - } - } -} - //////////////////////////////////////////////////////// void G4VUserPhysicsList::SetCutValue(G4double aCut, const G4String& name) { G4ParticleDefinition* particle = theParticleTable->FindParticle(name); -#ifdef G4VERBOSE - if (particle != 0){ - if (verboseLevel >1) { - G4cout << "G4VUserPhysicsList::SetCutValue :"; - G4cout << "Set cuts for " << name << G4endl; - } - } else { - if (verboseLevel >0) { - G4cout << "G4VUserPhysicsList::SetCutValue :"; - G4cout << name << " is not found in ParticleTable" << G4endl; - } - } -#endif - if (particle != 0){ if (!particle->IsShortLived()) { //set cut value SetParticleCuts( aCut ,particle ); - // build physics table - BuildPhysicsTable(particle); } - } + } +} + +//////////////////////////////////////////////////////// +void G4VUserPhysicsList::SetCutValue +(G4double aCut, const G4String& pname, const G4String& rname) +{ + G4ParticleDefinition* particle = theParticleTable->FindParticle(pname); + G4Region* region = G4RegionStore::GetInstance()->GetRegion(rname); + if (particle != 0 && region != 0){ + if (!particle->IsShortLived()) { + //set cut value + SetParticleCuts( aCut ,particle, region ); + } + } } @@ -409,227 +286,109 @@ void G4VUserPhysicsList::SetCutsWithDefault() // default cut value G4double cut = defaultCutValue; -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel >1){ G4cout << "G4VUserPhysicsList::SetCutsWithDefault:"; G4cout << "CutLength : " << cut/mm << " (mm)" << G4endl; - } + } #endif - // set cut values for gamma at first and for e- second and next for e+, - // because some processes for e+/e- need cut values for gamma + // set cut values for gamma at first and for e- and e+ SetCutValue(cut, "gamma"); SetCutValue(cut, "e-"); SetCutValue(cut, "e+"); - - // set cut values for proton and anti_proton before all other hadrons - // because some processes for hadrons need cut values for proton/anti_proton - SetCutValue(cut, "proton"); - SetCutValue(cut, "anti_proton"); - - SetCutValueForOthers(cut); - if (verboseLevel>1) { - DumpCutValuesTable(); - } -} + // set cut values for proton and anti_proton + //SetCutValue(cut, "proton"); + //SetCutValue(cut, "anti_proton"); + //SetCutValue(cut, "neutron"); + //SetCutValue(cut, "anti_neutron"); + + + //if (verboseLevel>1) { + // DumpCutValuesTable(); + //} +} //////////////////////////////////////////////////////// -void G4VUserPhysicsList::SetApplyCuts(G4bool value, const G4String& name) +void G4VUserPhysicsList::SetCutsForRegion(G4double aCut, const G4String& rname) { - // Sets a value to particle + // set cut values for gamma at first and for e- and e+ + SetCutValue(aCut, "gamma", rname); + SetCutValue(aCut, "e-", rname); + SetCutValue(aCut, "e+", rname); +} + + + + +//////////////////////////////////////////////////////// +//////////////////////////////////////////////////////// +void G4VUserPhysicsList::SetParticleCuts( G4double cut, G4ParticleDefinition* particle, G4Region* region) +{ + if(!region) region = (*(G4RegionStore::GetInstance()))[0]; + G4ProductionCuts* pcuts = region->GetProductionCuts(); + pcuts->SetProductionCut(cut,particle); +} + +/////////////////////////////////////////////////////////////// +void G4VUserPhysicsList::BuildPhysicsTable() +{ + if (fRetrievePhysicsTable) { + if (!fIsRestoredCutValues) { +#ifdef G4VERBOSE + if (verboseLevel>2){ + G4cout << "G4VUserPhysicsList::SetParticleCuts "; + G4cout << " Retrieve Cut Values for "; + } +#endif + fIsRestoredCutValues = fCutsTable->RetrieveCutsTable(directoryPhysicsTable, fStoredInAscii); + } + } + // Sets a value to particle + // set cut values for gamma at first and for e- and e+ + G4String particleName; + G4ParticleDefinition* GammaP = theParticleTable->FindParticle(particleName="gamma"); + if(GammaP) BuildPhysicsTable(GammaP); + G4ParticleDefinition* EMinusP = theParticleTable->FindParticle(particleName="e-"); + if(EMinusP) BuildPhysicsTable(EMinusP); + G4ParticleDefinition* EPlusP = theParticleTable->FindParticle(particleName="e+"); + if(EPlusP) BuildPhysicsTable(EPlusP); + G4ParticleDefinition* ProtonP = theParticleTable->FindParticle(particleName="proton"); + if(ProtonP) BuildPhysicsTable(ProtonP); + G4ParticleDefinition* AntiProtonP = theParticleTable->FindParticle(particleName="anti_proton"); + if(AntiProtonP) BuildPhysicsTable(AntiProtonP); + G4ParticleDefinition* NeutronP = theParticleTable->FindParticle(particleName="newtron"); + if(NeutronP) BuildPhysicsTable(NeutronP); + G4ParticleDefinition* AntiNeutronP = theParticleTable->FindParticle(particleName="anti_neutron"); + if(AntiNeutronP) BuildPhysicsTable(AntiNeutronP); + theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); - - // check if the cut value has already been set - if (name =="all" || name =="ALL" ){ - particle->SetApplyCutsFlag(value); - } else if (name == particle->GetParticleName()){ - particle->SetApplyCutsFlag(value); -#ifdef G4VERBOSE - if (verboseLevel >1) { - G4cout << "Set ApplyCutsFLag "; - if (value) { - G4cout << "TRUE "; - } else { - G4cout << "FALSE "; - } - G4cout << "for " << particle->GetParticleName() << G4endl; - } -#endif - break; - } + if(particle!=GammaP && particle!=EMinusP && particle!=EPlusP && particle!=ProtonP + && particle!=AntiProtonP && particle!=NeutronP && particle!=AntiNeutronP) + { BuildPhysicsTable(particle); } } } -//////////////////////////////////////////////////////// -G4bool G4VUserPhysicsList::GetApplyCuts(const G4String& name) const -{ - // Sets a value to particle - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - - // check if the cut value has already been set - if (name == particle->GetParticleName()){ - return particle->GetApplyCutsFlag(); - } - } -#ifdef G4VERBOSE - if (verboseLevel >0){ - G4cout << "G4VUserPhysicsList::GetApplyCuts: "; - G4cout << " particle " << name ; - G4cout << " does not exist " << G4endl; - } -#endif - return false; -} - -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::SetCutValueForOthers(G4double cutValue) -{ - // check cut value is positive - if (cutValue <= 0.0) { -#ifdef G4VERBOSE - if (verboseLevel >0){ - G4cout << "G4VUserPhysicsList::SetCutValueForOthers: negative cut values"; - G4cout << " :" << cutValue/mm << "[mm]" << G4endl; - } -#endif - return; - } - -#ifdef G4VERBOSE - if (verboseLevel >1) { - G4cout << "G4VUserPhysicsList::SetCutValueForOthers "; - G4cout << " :" << cutValue/mm << "[mm]" << G4endl; - } -#endif - - // Sets a cut value to particle types which have not be called SetCuts() - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - - if (!particle->IsShortLived()) { - // check if the cut value has already been set - if ((particle->GetLengthCuts()==0) ||(particle->GetEnergyCuts()==0)){ - // set cut value - SetParticleCuts( cutValue ,particle ); - // build physics table - BuildPhysicsTable(particle); - -#ifdef G4VERBOSE - if (verboseLevel >1) - G4cout << "Set cuts for " << particle->GetParticleName() << G4endl; -#endif - } - // special treatment for particles for store cuts - G4int idx = isParticleForStoreCuts(particle); - if (idx >=0) { - if (!isBuildPhysicsTable[idx])BuildPhysicsTable(particle); - } - } - } -} - - -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::ReCalcCutValue(const G4String& name) -{ - G4ParticleDefinition* particle = theParticleTable->FindParticle(name); - if (particle != 0 ){ - if (!particle->IsShortLived()) { - particle->ReCalcCuts(); - BuildPhysicsTable(particle); - -#ifdef G4VERBOSE - if (verboseLevel >1) G4cout << "Recalc cuts for " << name << G4endl; -#endif - } - } - -#ifdef G4VERBOSE - if (( particle ==0 ) && (verboseLevel >0)) { - G4cout << name << " is not found in ParticleTable" << G4endl; - } -#endif - -} - - -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::ReCalcCutValueForOthers() -{ -#ifdef G4VERBOSE - if (verboseLevel >1) { - G4cout << "G4VUserPhysicsList::ReCalcCutValueForOthers "; - } -#endif - - // Sets a cut value to particle types which have not be called SetCuts() - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - - G4ParticleDefinition* particle = theParticleIterator->value(); - - if (!particle->IsShortLived()) { - if (particle->GetEnergyCuts()==0) { - particle->ReCalcCuts(); - BuildPhysicsTable(particle); - -#ifdef G4VERBOSE - if (verboseLevel >1) - G4cout << "ReCalc cuts for " << particle->GetParticleName() << G4endl; -#endif - } - } - - } -} - -//////////////////////////////////////////////////////// -//////////////////////////////////////////////////////// -void G4VUserPhysicsList::SetParticleCuts( G4double cut, G4ParticleDefinition* particle) -{ - if (fRetrievePhysicsTable && !fIsRestoredCutValues) { -#ifdef G4VERBOSE - if (verboseLevel>2){ - G4cout << "G4VUserPhysicsList::SetParticleCuts "; - G4cout << " Retrieve Cut Values for "; - G4cout << particle->GetParticleName() << G4endl; - } -#endif - RetrieveCutValues(directoryPhysicsTable, fStoredInAscii); - fIsRestoredCutValues = true; - } - - if (particle->GetEnergyCuts() == 0) { - particle->SetCuts(cut); - } -} - /////////////////////////////////////////////////////////////// void G4VUserPhysicsList::BuildPhysicsTable(G4ParticleDefinition* particle) { - G4int idx = isParticleForStoreCuts(particle); - if (idx >=0) isBuildPhysicsTable[idx] = true; if (fRetrievePhysicsTable) { -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel>2){ G4cout << "G4VUserPhysicsList::BuildPhysicsTable "; G4cout << " Retrieve Physics Table for "; G4cout << particle->GetParticleName() << G4endl; } #endif - if (CheckForRetrievePhysicsTable(directoryPhysicsTable, fStoredInAscii)) { + if ( fIsRestoredCutValues){ // Retrieve PhysicsTable from files for proccesses RetrievePhysicsTable(particle, directoryPhysicsTable, fStoredInAscii); - return; } else { -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel>2){ G4cout << "CheckForRetrievePhysicsTable failed " << G4endl; } @@ -637,7 +396,7 @@ void G4VUserPhysicsList::BuildPhysicsTable(G4ParticleDefinition* particle) } } -#ifdef G4VERBOSE +#ifdef G4VERBOSE if (verboseLevel>2){ G4cout << "G4VUserPhysicsList::BuildPhysicsTable "; G4cout << " for " << particle->GetParticleName() << G4endl; @@ -651,7 +410,7 @@ void G4VUserPhysicsList::BuildPhysicsTable(G4ParticleDefinition* particle) } for ( j=0; j < pVector->size(); ++j) { // temporary addition to make the integral schema - BuildIntegralPhysicsTable((*pVector)[j], particle); + BuildIntegralPhysicsTable((*pVector)[j], particle); } } @@ -701,150 +460,18 @@ void G4VUserPhysicsList::DumpList() const G4cout << G4endl; } -/////////////////////////////////////////////////////////////// -void G4VUserPhysicsList::DumpCutValues(const G4String &particle_name) const -{ - G4ParticleDefinition* particle; - if ((particle_name == "ALL") || (particle_name == "all")) { - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - particle = theParticleIterator->value(); - DumpCutValues(particle); - } - } else { - particle = theParticleTable->FindParticle(particle_name); - if (particle != 0) DumpCutValues(particle); - } -} + /////////////////////////////////////////////////////////////// -void G4VUserPhysicsList::DumpCutValues( G4ParticleDefinition* particle) const -{ - if (particle == 0) return; - - G4int prec = G4cout.precision(3); - - if (particle->IsShortLived()) { - // name field - G4cout << " --- " << particle->GetParticleName() << " is a short lived particle ------ " << G4endl; - } else { - // name field - G4cout << " --- " << particle->GetParticleName() << " ------ " << G4endl; - - // cut value in range - G4double* theRangeCuts = particle->GetLengthCuts(); - - // material and energy cut value for the material - G4double* theKineticEnergyCuts = particle->GetEnergyCuts(); - - if (theRangeCuts != 0) { - const G4MaterialTable* materialTable = G4Material::GetMaterialTable(); - size_t numberOfMaterials = G4Material::GetNumberOfMaterials(); - G4cout << " - Material --- Cut in range ------------- Energy Cut ---" << G4endl; - for (size_t idx=0; idxGetName(); - G4cout <<" : "; - G4cout << G4std::setw(12)<< G4BestUnit(theRangeCuts[idx],"Length"); - if (theKineticEnergyCuts ==0) { - G4cout << " : --------------------------------"; - } else { - G4cout << " : "; - G4cout << G4std::setw(10)<< G4BestUnit(theKineticEnergyCuts[idx],"Energy"); - } - G4cout << G4endl; - } - if (theKineticEnergyCuts ==0) { - G4cout << " - Cuts in energy are not calculated yet --" << G4endl; - G4cout << " Enter /run/initialize command to calculate cuts " << G4endl; - } - } else { - G4cout << " - Cuts in range are not set yet --" << G4endl; - } - - } - G4cout.precision(prec); -} +void G4VUserPhysicsList::DumpCutValuesTable(G4int nParticles) +{ fDisplayThreshold = nParticles; } /////////////////////////////////////////////////////////////// -void G4VUserPhysicsList::DumpCutValuesTable() const +void G4VUserPhysicsList::DumpCutValuesTableIfRequested() { - // This methods Print out a table of cut value information - // for "e-", "gamma", "mu-", "proton" and "neutron" - G4int prec = G4cout.precision(3); - const G4int size = 5; - G4String name[size] = {"gamma", "e-", "mu-", "proton", "neutron"}; - G4ParticleDefinition* particle[size]; - G4bool IsOK = true; - G4int size_display=2; - G4int idx; - for (idx=0; idx FindParticle(name[idx]); - } - - //line 1 //-- Commented out (M.Asai) - //G4cout << "Default cut value in range :"; - //G4cout << defaultCutValue/mm << "[mm]" << G4endl; - - //line 2 - G4cout << "============= The cut Energy ==============================" <GetName(); - for (idx=0; idx GetLengthCuts() == 0) { - G4cout << " ---------- "; - } else { - G4cout << " " << G4std::setw(11) << G4BestUnit((particle[idx]->GetLengthCuts())[I],"Length"); - } - } - } - G4cout << G4endl; - } - - // line 5 - G4cout << "Cut in energy"; - G4cout << G4endl; - - // line 6 .. - for (size_t J=0; JGetName(); - for (idx=0; idx GetEnergyCuts() == 0) { - G4cout << " ---------- "; - IsOK = false; - } else { - G4cout << " " << G4std::setw(11) << G4BestUnit((particle[idx]->GetEnergyCuts())[J],"Energy"); - } - } - } - G4cout << G4endl; - } - - if (!IsOK) { - G4cout << " Cuts in energy have not calculated yet !!" << G4endl; - G4cout << " Enter /run/initialize command to calculate cuts " << G4endl; - } - - // last line - G4cout << "===================================================" << G4endl; - G4cout.precision(prec); + if(fDisplayThreshold==0) return; + G4ProductionCutsTable::GetProductionCutsTable()->DumpCouples(); + fDisplayThreshold = 0; } @@ -852,14 +479,13 @@ void G4VUserPhysicsList::DumpCutValuesTable() const /////////////////////////////////////////////////////////////// G4bool G4VUserPhysicsList::StorePhysicsTable(const G4String& directory) { - numberOfMaterial = G4Material::GetNumberOfMaterials(); - G4bool ascii = fStoredInAscii; G4String dir = directory; if (dir.isNull()) dir = directoryPhysicsTable; else directoryPhysicsTable = dir; - if (!StoreMaterialInfo(dir, ascii)) return false; - if (!StoreCutValues(dir,ascii)) return false; + + // store CutsTable info + if (!fCutsTable->StoreCutsTable(dir, ascii)) return false; #ifdef G4VERBOSE if (verboseLevel>2){ G4cout << "G4VUserPhysicsList::StorePhysicsTable "; @@ -867,7 +493,7 @@ G4bool G4VUserPhysicsList::StorePhysicsTable(const G4String& directory) } #endif - G4bool success= true; + G4bool success= true; // loop over all particles in G4ParticleTable theParticleIterator->reset(); @@ -896,224 +522,9 @@ G4bool G4VUserPhysicsList::StorePhysicsTable(const G4String& directory) } -/////////////////////////////////////////////////////////////// -G4bool G4VUserPhysicsList::StoreMaterialInfo(const G4String& directory, - G4bool ascii) -{ - const G4String fileName = directory + "/" + "material.dat"; - const G4String key = "MATERIAL"; - G4std::ofstream fOut; - - // open output file // -#ifdef G4USE_STD_NAMESPACE - if (!ascii ) - fOut.open(fileName,G4std::ios::out|G4std::ios::binary); - else -#endif - fOut.open(fileName,G4std::ios::out); - - - // check if the file has been opened successfully - if (!fOut) { -#ifdef G4VERBOSE - G4cerr << "G4VUserPhysicsList::StoreMaterialInfo "; - G4cerr << " Can not open file " << fileName << G4endl; -#endif - return false; - } - - const G4MaterialTable* matTable = G4Material::GetMaterialTable(); - // number of materials in the table - numberOfMaterial = G4Material::GetNumberOfMaterials(); - - if (ascii) { - /////////////// ASCII mode ///////////////// - // key word - fOut << key << G4endl; - - // number of materials in the table - fOut << numberOfMaterial << G4endl; - - fOut.setf(G4std::ios::scientific); - - // material name and density - for (size_t idx=0; idxGetName(); - fOut << G4std::setw(FixedStringLengthForStore) << ((*matTable)[idx])->GetDensity()/(g/cm3) << G4endl; - } - - fOut.unsetf(G4std::ios::scientific); - - } else { - /////////////// Binary mode ///////////////// - char temp[FixedStringLengthForStore]; - size_t i; - - // key word - for (i=0; iGetName(); - G4double density = ((*matTable)[imat])->GetDensity()/(g/cm3); - for (i=0; ireset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - // Only following particles are concerned - G4int idx = isParticleForStoreCuts(particle); - if (idx >=0 ){ - // particle name - if (ascii) { - /////////////// ASCII mode ///////////////// - fOut.setf(G4std::ios::scientific); - fOut << G4std::setw(FixedStringLengthForStore) << particle->GetParticleName(); - fOut.unsetf(G4std::ios::scientific); - } else { - /////////////// Binary mode ///////////////// - G4String name = particle->GetParticleName(); - for (i=0; iGetLengthCuts(); - if (rangeArray ==0) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::StoreCutValues " ; - G4cout << ": Range Cut Values have not be set for"; - G4cout << particle->GetParticleName() << G4endl; - } -#endif - return false; - } - if (ascii) { - /////////////// ASCII mode ///////////////// - fOut.setf(G4std::ios::scientific); - G4int ii =0; - for(G4int jdx=0; jdxGetEnergyCuts(); - if (cutArray ==0) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::StoreCutValues " ; - G4cout << ": Energy Cut Values have not be calculated for"; - G4cout << particle->GetParticleName() << G4endl; - } -#endif - return false; - } - if (ascii) { - /////////////// ASCII mode ///////////////// - fOut.setf(G4std::ios::scientific); - G4int jj =0; - for(G4int idx=0; idx0){ + G4cout << "G4VUserPhysicsList::ResetCuts() is obsolete."; + G4cout << " This method gives no effect and you can remove it. "<< G4endl; } - return fIsCheckedForRetrievePhysicsTable; +#endif } -/////////////////////////////////////////////////////////////// -G4bool G4VUserPhysicsList::CheckMaterialInfo(const G4String& directory, - G4bool ascii) +void G4VUserPhysicsList::SetApplyCuts(G4bool value, const G4String& name) { - const G4String fileName = directory + "/" + "material.dat"; - const G4String key = "MATERIAL"; - G4std::ifstream fIn; - - // open input file // -#ifdef G4USE_STD_NAMESPACE - if (!ascii ) - fIn.open(fileName,G4std::ios::in|G4std::ios::binary); + if(name=="all") + { + theParticleTable->FindParticle("gamma")->SetApplyCutsFlag(value); + theParticleTable->FindParticle("e-")->SetApplyCutsFlag(value); + theParticleTable->FindParticle("e+")->SetApplyCutsFlag(value); + } else -#endif - fIn.open(fileName,G4std::ios::in); + { + theParticleTable->FindParticle(name)->SetApplyCutsFlag(value); + } +} - // check if the file has been opened successfully - if (!fIn) { -#ifdef G4VERBOSE - G4cerr << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cerr << " Can not open file " << fileName << G4endl; -#endif - return false; - } - - char temp[FixedStringLengthForStore]; - - // key word - G4String keyword; - if (ascii) { - fIn >> keyword; - } else { - fIn.read(temp, FixedStringLengthForStore); - keyword = (const char*)(temp); - } - if (key!=keyword) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cout << " Can not find key word " << keyword << G4endl; - } -#endif - return false; - } - - const G4MaterialTable* matTable = G4Material::GetMaterialTable(); - numberOfMaterial = G4Material::GetNumberOfMaterials(); - // number of materials in the table - G4int nmat; - if (ascii) { - fIn >> nmat; - } else { - fIn.read( (char*)(&nmat), sizeof (G4int)); - } - if (nmat!=numberOfMaterial) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cout << "Number of material is inconsistent "<< G4endl; - } -#endif - return false; - } - - // list of material - for (size_t idx=0; idx0){ - G4cout << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cout << " encountered End of File" << G4endl; - } -#endif - fIn.close(); - return false; - } - - // check material name and density - char name[FixedStringLengthForStore]; - double density; - if (ascii) { - fIn >> name >> density; - } else { - fIn.read(name, FixedStringLengthForStore); - fIn.read((char*)(&density), sizeof (G4double)); - } - if (fIn.fail()) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cout << " Bad data format " << G4endl; - } -#endif - fIn.close(); - return false; - } - G4double ratio = abs( (density*g/cm3)/((*matTable)[idx])->GetDensity() ); - if ( (name != ((*matTable)[idx])->GetName()) || (0.999>ratio) || (ratio>1.001) ){ -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::CheckMaterialInfo "; - G4cout << " Inconsistent material name or density" << G4endl;; - G4cout << G4std::setw(40) << name; - G4cout << G4std::setw(20) << G4std::setiosflags(G4std::ios::scientific) << density << G4endl; - G4cout << G4std::resetiosflags(G4std::ios::scientific); - } -#endif - fIn.close(); - return false; - } - } - fIn.close(); - return true; +G4bool G4VUserPhysicsList::GetApplyCuts(const G4String& name) const +{ + return theParticleTable->FindParticle(name)->GetApplyCutsFlag(); } -/////////////////////////////////////////////////////////////// -G4bool G4VUserPhysicsList::RetrieveCutValues(const G4String& directory, - G4bool ascii ) -{ - if (!CheckMaterialInfo(directory, ascii)) { -#ifdef G4VERBOSE - G4cout << "G4VUserPhysicsList::RetrieveCutValues "; - G4cout << " Can not retrieve cut values " << G4endl; -#endif - } - - // file name - const G4String fileName = directory + "/" + "cut_value.dat"; - - G4std::ifstream fIn; - // open input file // -#ifdef G4USE_STD_NAMESPACE - if (!ascii ) - fIn.open(fileName,G4std::ios::in|G4std::ios::binary); - else -#endif - fIn.open(fileName,G4std::ios::in); - - // check if the file has been opened successfully - if (!fIn) { -#ifdef G4VERBOSE - G4cerr << "G4VUserPhysicsList::RetrieveCutValues "; - G4cerr << " Can not open file " << fileName << G4endl; -#endif - return false; - } - - char temp[FixedStringLengthForStore]; - - // key word - const G4String key = "CUT_VALUE"; - G4String keyword; - if (ascii) { - fIn >> keyword; - } else { - fIn.read(temp, FixedStringLengthForStore); - keyword = (const char*)(temp); - } - if (key!=keyword) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::RetrieveCutValues "; - G4cout << " Can not find key word " << keyword << G4endl; - } -#endif - } - - // default cut value - G4double defaultCut; - if (ascii) { - fIn >> keyword >> defaultCut; - } else { - fIn.read(temp, FixedStringLengthForStore); - keyword = (const char*)(temp); - fIn.read( (char*)(&defaultCut), sizeof (G4double)); - } - if (fIn.fail()) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::RetrieveCutValues "; - G4cout << " Bad data format " << G4endl; - } -#endif - fIn.close(); - return false; - } - - // set default value - defaultCutValue = defaultCut*mm; -#ifdef G4VERBOSE - if (verboseLevel>2){ - G4cout.setf(G4std::ios::scientific); - G4cout << "Default " << G4std::setw(20) << defaultCutValue/mm << G4endl; - G4cout.unsetf(G4std::ios::scientific); - } -#endif - - // Reset cut values for other particles - // loop over all particles in G4ParticleTable - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - if (!particle->IsShortLived()) particle->ResetCuts(); - } - - // number of materials in the table - numberOfMaterial = G4Material::GetNumberOfMaterials(); - - // loop over all particles - while(!fIn.eof()){ - // read in particle name - char name[FixedStringLengthForStore]; - if (ascii) { - fIn >> name ; - } else { - fIn.read(name, FixedStringLengthForStore); - } - if (fIn.eof()) break; - if (fIn.fail()) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::RetrieveCutValues "; - G4cout << " Bad data format " << G4endl; - } -#endif - fIn.close(); - return false; - } - -#ifdef G4VERBOSE - if (verboseLevel>2){ - G4cout.setf(G4std::ios::scientific); - G4cout << name << G4endl; - G4cout.unsetf(G4std::ios::scientific); - } -#endif - - // Search particle - G4ParticleDefinition* particle = theParticleTable->FindParticle(name); - if (particle==0) { -#ifdef G4VERBOSE - if (verboseLevel>0){ - G4cout << "G4VUserPhysicsList::RetrieveCutValues "; - G4cout << " Particle " << name <<" is not found "<< G4endl; - } - fIn.close(); - return false; -#endif - } - - // read in range cut for all materials - G4double* rangeArray = new G4double[numberOfMaterial]; - if (ascii) { - /////////////// ASCII mode ///////////////// - for(G4int jdx=0; jdx> value; - rangeArray[jdx] = value; - } - } else { - /////////////// Binary mode ///////////////// - fIn.read( (char*)(rangeArray), numberOfMaterial*(sizeof (G4double)) ); - } - - // read in energy cut for all materials - G4double* cutArray = new G4double[numberOfMaterial]; - if (ascii) { - /////////////// ASCII mode ///////////////// - for(G4int idx=0; idx> value; - cutArray[idx] = value; - } - } else { - /////////////// Binary mode ///////////////// - fIn.read( (char*)(cutArray), numberOfMaterial*(sizeof (G4double)) ); - } - - - // restore cut values - particle->RestoreCuts( rangeArray , cutArray) ; -#ifdef G4VERBOSE - if (verboseLevel >2)DumpCutValues(particle); -#endif - G4int idx = isParticleForStoreCuts(particle); - if (idx >=0) isBuildPhysicsTable[idx] = false; - } - -#ifdef G4VERBOSE - if (verboseLevel >1){ - G4cout << "G4VUserPhysicsList::RetrieveCutValues: Cut Values are successfully restored "; - G4cout << "CutLength : " << defaultCutValue/mm << " (mm)" << G4endl; - } -#endif - - fIsRestoredCutValues = true; - fIn.close(); - return true; -} - -G4int G4VUserPhysicsList::isParticleForStoreCuts(const G4ParticleDefinition* particle) const -{ - G4int idx; - for ( idx =0; idx < NumberOfParticlesForStoreCuts; ++idx) { - if (particle->GetParticleName()==particleForStoreCuts[idx]) return idx; - } - return -1; -} - -const G4String - G4VUserPhysicsList::particleForStoreCuts[NumberOfParticlesForStoreCuts] = -{ - "gamma", - "e-", - "e+", - "mu-", - "mu+", - "proton", - "anti_proton", - "neutron", - "anti_neutron" -}; - - diff --git a/source/run/src/G4VUserPrimaryGeneratorAction.cc b/source/run/src/G4VUserPrimaryGeneratorAction.cc index f55cd9a254..201d06ae6f 100644 --- a/source/run/src/G4VUserPrimaryGeneratorAction.cc +++ b/source/run/src/G4VUserPrimaryGeneratorAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4VUserPrimaryGeneratorAction.cc,v 1.3 2001/07/11 10:08:34 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VUserPrimaryGeneratorAction.hh" diff --git a/source/track/History b/source/track/History index 358911b86a..707d569783 100644 --- a/source/track/History +++ b/source/track/History @@ -1,4 +1,4 @@ -$Id: History,v 1.49 2002/12/04 22:45:58 tsasaki Exp $ +$Id: History,v 1.52 2003/03/05 04:42:49 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,7 +16,23 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -Dec. 04, 02 T.Sasaki(track-V04-01-03) + +Mar. 5, 02 H.Kurashige (track-V05-00-02) +- Fix in G4Step::InitializeStep(). + Added initialization of fCharge in StepPoint. + +Jan. 24, 02 G.Cosmo (track-V05-00-01) +- Fix in G4ParticleChangeForTransport::UpdateStepForPostStep(). + Added call for setting the material-cuts-couple for pPostStepPoint + (V.Ivantchenko). + +Dec. 16, 02 G.Cosmo (track-V05-00-00) +- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. + Included development for 'cuts-by-region': + o Updated G4Track, G4Step, G4StepPoint and G4ParticleChangeForTransport + to properly handle new G4MaterialCutsCouple. + +Dec. 04, 02 T.Sasaki (track-V04-01-03) - Initial value for fCharge is given in the constuctor of G4StepPoint. Nov. 20, 02 G.Cosmo (track-V04-01-02) diff --git a/source/track/include/G4ForceCondition.hh b/source/track/include/G4ForceCondition.hh index 54b6a0f46d..80138eb16d 100644 --- a/source/track/include/G4ForceCondition.hh +++ b/source/track/include/G4ForceCondition.hh @@ -22,7 +22,7 @@ // // // $Id: G4ForceCondition.hh,v 1.4 2002/10/31 23:41:52 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4GPILSelection.hh b/source/track/include/G4GPILSelection.hh index bd49e31af3..3c64a146f5 100644 --- a/source/track/include/G4GPILSelection.hh +++ b/source/track/include/G4GPILSelection.hh @@ -22,7 +22,7 @@ // // // $Id: G4GPILSelection.hh,v 1.3 2001/07/11 10:08:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4ParticleChange.hh b/source/track/include/G4ParticleChange.hh index dc8b9adc5f..305ec50245 100644 --- a/source/track/include/G4ParticleChange.hh +++ b/source/track/include/G4ParticleChange.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChange.hh,v 1.9 2001/11/21 14:05:57 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChange.icc b/source/track/include/G4ParticleChange.icc index 257f0990c2..65a7057179 100644 --- a/source/track/include/G4ParticleChange.icc +++ b/source/track/include/G4ParticleChange.icc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChange.icc,v 1.9 2001/10/20 08:07:49 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // inline diff --git a/source/track/include/G4ParticleChangeForDecay.hh b/source/track/include/G4ParticleChangeForDecay.hh index 26981c806e..e50b92ea0f 100644 --- a/source/track/include/G4ParticleChangeForDecay.hh +++ b/source/track/include/G4ParticleChangeForDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForDecay.hh,v 1.5 2001/07/11 10:08:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForLoss.hh b/source/track/include/G4ParticleChangeForLoss.hh index 8df101a330..bae17729f4 100644 --- a/source/track/include/G4ParticleChangeForLoss.hh +++ b/source/track/include/G4ParticleChangeForLoss.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForLoss.hh,v 1.4 2001/07/11 10:08:35 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForMSC.icc b/source/track/include/G4ParticleChangeForMSC.icc index f2f3c60648..3c84ddb396 100644 --- a/source/track/include/G4ParticleChangeForMSC.icc +++ b/source/track/include/G4ParticleChangeForMSC.icc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForMSC.icc,v 1.4 2001/07/11 10:08:36 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/track/include/G4ParticleChangeForRadDecay.hh b/source/track/include/G4ParticleChangeForRadDecay.hh index c97a2d8fbe..b06d9f0624 100644 --- a/source/track/include/G4ParticleChangeForRadDecay.hh +++ b/source/track/include/G4ParticleChangeForRadDecay.hh @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForRadDecay.hh,v 1.4 2001/10/24 05:41:46 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForTransport.hh b/source/track/include/G4ParticleChangeForTransport.hh index b9c07925d1..cfd4ae1ea0 100644 --- a/source/track/include/G4ParticleChangeForTransport.hh +++ b/source/track/include/G4ParticleChangeForTransport.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForTransport.hh,v 1.9 2002/11/01 15:55:30 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleChangeForTransport.hh,v 1.10 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ @@ -34,6 +34,7 @@ // Added theMaterialChange 16 FEb. 2000 H.Kurahige // Remove thePolarizationChange 12 Feb. 2001 H.Kurashige // Modification for G4TouchableHandle 22 Oct. 2001 R.Chytracek +// Add MaterialCutsCouple 8 Oct. 2002 H.Kurashige // // Class Description // This class is a concrete class for ParticleChange for transportation @@ -45,6 +46,7 @@ #include "G4ios.hh" #include "G4TouchableHandle.hh" #include "G4ParticleChange.hh" +#include "G4MaterialCutsCouple.hh" class G4ParticleChangeForTransport: public G4ParticleChange @@ -57,7 +59,7 @@ class G4ParticleChangeForTransport: public G4ParticleChange virtual ~G4ParticleChangeForTransport(); protected: - // hide copy constructor and assignment operaor as protected + // hide copy constructor and assignment operator as protected G4ParticleChangeForTransport(const G4ParticleChangeForTransport &right); G4ParticleChangeForTransport & operator=(const G4ParticleChangeForTransport &right); @@ -91,6 +93,10 @@ class G4ParticleChangeForTransport: public G4ParticleChange void SetMaterialChange(G4Material* fMaterial); // Get/Set the material in the touchable of the current particle. + const G4MaterialCutsCouple* GetMaterialCutsCoupleChange() const; + void SetMaterialCutsCoupleChange(const G4MaterialCutsCouple* fMaterialCutsCouple); + // Get/Set the materialCutsCouple in the touchable of the current particle. + G4bool GetMomentumChanged() const; void SetMomentumChanged(G4bool b); @@ -101,28 +107,24 @@ class G4ParticleChangeForTransport: public G4ParticleChange G4TouchableHandle theTouchableHandle; // The changed touchable of a given particle. + public: + + // Prototype implementation of smooth representation of curved trajectories. + // Auxiliary points are ThreeVectors for now; change to G4AuxiliaryPoints. + + inline void SetPointerToVectorOfAuxiliaryPoints( G4std::vector* theNewVectorPointer ); + inline G4std::vector* GetPointerToVectorOfAuxiliaryPoints() const; + private: G4bool isMomentumChanged; // The flag which is set if mometum is changed in this stepi G4Material* theMaterialChange; - // The material where given track currently locates - - // Prototyping implementation of smooth representation of curved - // trajectories. (jacek 30/10/2002) -public: - // Auxiliary points are ThreeVectors for now; change to - // G4AuxiliaryPoints or some such (jacek 30/10/2002) - void SetPointerToVectorOfAuxiliaryPoints( G4std::vector* theNewVectorPointer ) { - fpVectorOfAuxiliaryPointsPointer = theNewVectorPointer; - } - G4std::vector* GetPointerToVectorOfAuxiliaryPoints() const { - return fpVectorOfAuxiliaryPointsPointer; - } -private: - // Explicity including the word "Pointer" in the name as I keep - // forgetting the * (jacek 30/10/2002) - G4std::vector* fpVectorOfAuxiliaryPointsPointer; + const G4MaterialCutsCouple* theMaterialCutsCoupleChange; + // The material (and MaterialCutsCouple) where given track + // currently locates + private: + G4std::vector* fpVectorOfAuxiliaryPointsPointer; }; #include "G4ParticleChangeForTransport.icc" diff --git a/source/track/include/G4ParticleChangeForTransport.icc b/source/track/include/G4ParticleChangeForTransport.icc index 39bb866e7c..884d4183d8 100644 --- a/source/track/include/G4ParticleChangeForTransport.icc +++ b/source/track/include/G4ParticleChangeForTransport.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForTransport.icc,v 1.7 2001/10/22 04:19:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleChangeForTransport.icc,v 1.8 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // inline @@ -51,6 +51,18 @@ inline return theMaterialChange; } +inline + void G4ParticleChangeForTransport::SetMaterialCutsCoupleChange(const G4MaterialCutsCouple* fMaterialCutsCouple) +{ + theMaterialCutsCoupleChange = fMaterialCutsCouple; +} + +inline + const G4MaterialCutsCouple* G4ParticleChangeForTransport::GetMaterialCutsCoupleChange() const +{ + return theMaterialCutsCoupleChange; +} + inline G4bool G4ParticleChangeForTransport::GetMomentumChanged() const { @@ -99,4 +111,18 @@ inline void G4ParticleChangeForTransport::Initialize(const G4Track& track) // (P. Urban) } +// Prototype implementation of smooth representation of curved trajectories. +inline void +G4ParticleChangeForTransport:: +SetPointerToVectorOfAuxiliaryPoints( G4std::vector* + theNewVectorPointer ) +{ + fpVectorOfAuxiliaryPointsPointer = theNewVectorPointer; +} + +inline G4std::vector* +G4ParticleChangeForTransport::GetPointerToVectorOfAuxiliaryPoints() const +{ + return fpVectorOfAuxiliaryPointsPointer; +} diff --git a/source/track/include/G4Step.hh b/source/track/include/G4Step.hh index 15a5fb5e32..25154456d8 100644 --- a/source/track/include/G4Step.hh +++ b/source/track/include/G4Step.hh @@ -22,7 +22,7 @@ // // // $Id: G4Step.hh,v 1.9 2002/11/01 15:55:30 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4Step.icc b/source/track/include/G4Step.icc index 9bf3734c4e..db1443081a 100644 --- a/source/track/include/G4Step.icc +++ b/source/track/include/G4Step.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Step.icc,v 1.8 2002/10/31 23:41:52 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Step.icc,v 1.10 2003/03/05 04:42:53 kurasige Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -182,11 +182,13 @@ inline fpPreStepPoint->SetVelocity(fpTrack->GetVelocity()); fpPreStepPoint->SetTouchableHandle(fpTrack->GetTouchableHandle()); fpPreStepPoint->SetMaterial( fpTrack->GetTouchable()->GetVolume()->GetLogicalVolume()->GetMaterial()); + fpPreStepPoint->SetMaterialCutsCouple( fpTrack->GetTouchable()->GetVolume()->GetLogicalVolume()->GetMaterialCutsCouple()); fpPreStepPoint->SetPolarization(fpTrack->GetPolarization()); fpPreStepPoint->SetSafety(0.); fpPreStepPoint->SetStepStatus(fUndefined); fpPreStepPoint->SetProcessDefinedStep(0); fpPreStepPoint->SetMass(fpTrack->GetDynamicParticle()->GetMass()); + fpPreStepPoint->SetCharge(fpTrack->GetDynamicParticle()->GetCharge()); fpPreStepPoint->SetWeight(fpTrack->GetWeight()); @@ -232,3 +234,5 @@ inline + + diff --git a/source/track/include/G4StepPoint.hh b/source/track/include/G4StepPoint.hh index eae6e26c99..3aaba0dbf2 100644 --- a/source/track/include/G4StepPoint.hh +++ b/source/track/include/G4StepPoint.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.hh,v 1.9 2001/10/22 04:19:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4StepPoint.hh,v 1.10 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -41,6 +41,7 @@ // // --------------------------------------------------------------- // Added fpMaterial 16 FEb. 2000 H.Kurahige +// Added fpMaterialCutsCouple 8 Oct. 2002 H.Kurahige #ifndef G4StepPoint_h #define G4StepPoint_h 1 @@ -54,6 +55,7 @@ class G4VProcess; #include "G4StepStatus.hh" // Include from 'track' #include "G4TouchableHandle.hh" // Include from 'geometry' #include "G4Material.hh" +#include "G4MaterialCutsCouple.hh" #include "G4LogicalVolume.hh" ///////////////// @@ -130,6 +132,9 @@ class G4StepPoint G4Material* GetMaterial() const; void SetMaterial(G4Material*); + const G4MaterialCutsCouple* GetMaterialCutsCouple() const; + void SetMaterialCutsCouple(const G4MaterialCutsCouple*); + G4double GetSafety() const; void SetSafety(const G4double aValue); @@ -182,6 +187,8 @@ class G4StepPoint // Touchable Handle G4Material* fpMaterial; // Material of the volmue + const G4MaterialCutsCouple* fpMaterialCutsCouple; + // MaterialCutsCouple of the volmue G4double fSafety; G4ThreeVector fPolarization; G4StepStatus fStepStatus; diff --git a/source/track/include/G4StepPoint.icc b/source/track/include/G4StepPoint.icc index 30be23c91c..7dc6df01f2 100644 --- a/source/track/include/G4StepPoint.icc +++ b/source/track/include/G4StepPoint.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.icc,v 1.5 2001/10/22 04:19:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4StepPoint.icc,v 1.6 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // inline const G4ThreeVector& G4StepPoint::GetPosition() const @@ -161,6 +161,13 @@ inline void G4StepPoint::SetMaterial(G4Material* material) {fpMaterial = material; } + inline + const G4MaterialCutsCouple* G4StepPoint::GetMaterialCutsCouple() const + { return fpMaterialCutsCouple; } + inline + void G4StepPoint::SetMaterialCutsCouple(const G4MaterialCutsCouple* materialCutsCouple) + {fpMaterialCutsCouple = materialCutsCouple; } + inline void G4StepPoint::SetWeight(G4double aValue) { fWeight = aValue; } inline G4double G4StepPoint::GetWeight() const diff --git a/source/track/include/G4StepStatus.hh b/source/track/include/G4StepStatus.hh index f02ab80fc9..cc0434d38a 100644 --- a/source/track/include/G4StepStatus.hh +++ b/source/track/include/G4StepStatus.hh @@ -22,7 +22,7 @@ // // // $Id: G4StepStatus.hh,v 1.3 2001/07/11 10:08:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4SteppingControl.hh b/source/track/include/G4SteppingControl.hh index f0ffec958d..bb3174fbb6 100644 --- a/source/track/include/G4SteppingControl.hh +++ b/source/track/include/G4SteppingControl.hh @@ -22,7 +22,7 @@ // // // $Id: G4SteppingControl.hh,v 1.3 2001/07/11 10:08:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4Track.hh b/source/track/include/G4Track.hh index 0437ebe2fc..4109f3406c 100644 --- a/source/track/include/G4Track.hh +++ b/source/track/include/G4Track.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Track.hh,v 1.15 2001/12/14 09:59:35 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Track.hh,v 1.16 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -39,6 +39,7 @@ // //--------------------------------------------------------------- // Modification for G4TouchableHandle 22 Oct. 2001 R.Chytracek +// Add MaterialCutCouple 08 Oct. 2002 H.Kurashige #ifndef G4Track_h #define G4Track_h 1 @@ -56,6 +57,7 @@ #include "G4Material.hh" class G4Step; // Forward declaration +class G4MaterialCutsCouple; ////////////// class G4Track @@ -134,6 +136,9 @@ public: // With description G4Material* GetMaterial() const; G4Material* GetNextMaterial() const; + const G4MaterialCutsCouple* GetMaterialCutsCouple() const; + const G4MaterialCutsCouple* GetNextMaterialCutsCouple() const; + const G4VTouchable* GetTouchable() const; const G4TouchableHandle& GetTouchableHandle() const; void SetTouchableHandle( const G4TouchableHandle& apValue); diff --git a/source/track/include/G4Track.icc b/source/track/include/G4Track.icc index a665d8287a..b1018df98e 100644 --- a/source/track/include/G4Track.icc +++ b/source/track/include/G4Track.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4Track.icc,v 1.9 2001/12/13 15:31:24 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4Track.icc,v 1.10 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //----------------------------------------------------------------- // Definitions of inline functions @@ -108,6 +108,15 @@ inline G4VPhysicalVolume* G4Track::GetNextVolume() const { return fpNextTouchable->GetVolume(); } +// material + inline + const G4MaterialCutsCouple* G4Track::GetMaterialCutsCouple() const + { return fpStep->GetPreStepPoint()->GetMaterialCutsCouple(); } + + inline + const G4MaterialCutsCouple* G4Track::GetNextMaterialCutsCouple() const + { return fpStep->GetPostStepPoint()->GetMaterialCutsCouple(); } + // material inline G4Material* G4Track::GetMaterial() const { return fpStep->GetPreStepPoint()->GetMaterial(); } @@ -287,13 +296,3 @@ - - - - - - - - - - diff --git a/source/track/include/G4TrackFastVector.hh b/source/track/include/G4TrackFastVector.hh index 549e5006d4..79abff9c7c 100644 --- a/source/track/include/G4TrackFastVector.hh +++ b/source/track/include/G4TrackFastVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackFastVector.hh,v 1.4 2001/07/11 10:08:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4TrackStatus.hh b/source/track/include/G4TrackStatus.hh index 40478e2cac..f17ee53e4f 100644 --- a/source/track/include/G4TrackStatus.hh +++ b/source/track/include/G4TrackStatus.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackStatus.hh,v 1.3 2001/07/11 10:08:37 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4VParticleChange.hh b/source/track/include/G4VParticleChange.hh index d7a9bab748..7c7524c285 100644 --- a/source/track/include/G4VParticleChange.hh +++ b/source/track/include/G4VParticleChange.hh @@ -22,7 +22,7 @@ // // // $Id: G4VParticleChange.hh,v 1.8 2002/11/20 16:52:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4VParticleChange.icc b/source/track/include/G4VParticleChange.icc index 66cbffb29b..37d09e4d8d 100644 --- a/source/track/include/G4VParticleChange.icc +++ b/source/track/include/G4VParticleChange.icc @@ -22,7 +22,7 @@ // // // $Id: G4VParticleChange.icc,v 1.9 2001/12/24 05:14:39 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //---------------------------------------------------------------- // Virtual methods for updating G4Step diff --git a/source/track/include/G4VUserTrackInformation.hh b/source/track/include/G4VUserTrackInformation.hh index c489dd2ac4..7127b7a087 100644 --- a/source/track/include/G4VUserTrackInformation.hh +++ b/source/track/include/G4VUserTrackInformation.hh @@ -22,7 +22,7 @@ // // // $Id: G4VUserTrackInformation.hh,v 1.3 2001/07/11 10:08:38 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChange.cc b/source/track/src/G4ParticleChange.cc index 42281266ea..40c6397d0a 100644 --- a/source/track/src/G4ParticleChange.cc +++ b/source/track/src/G4ParticleChange.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChange.cc,v 1.21 2001/12/24 05:14:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForDecay.cc b/source/track/src/G4ParticleChangeForDecay.cc index 524bd9e9e0..ebf94f6455 100644 --- a/source/track/src/G4ParticleChangeForDecay.cc +++ b/source/track/src/G4ParticleChangeForDecay.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForDecay.cc,v 1.7 2001/08/16 08:17:59 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForLoss.cc b/source/track/src/G4ParticleChangeForLoss.cc index 0c94e8a6cf..3a1d12babc 100644 --- a/source/track/src/G4ParticleChangeForLoss.cc +++ b/source/track/src/G4ParticleChangeForLoss.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForLoss.cc,v 1.6 2001/07/11 10:08:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForMSC.cc b/source/track/src/G4ParticleChangeForMSC.cc index 6aa048583e..ba1063da9b 100644 --- a/source/track/src/G4ParticleChangeForMSC.cc +++ b/source/track/src/G4ParticleChangeForMSC.cc @@ -22,7 +22,7 @@ // // // $Id: G4ParticleChangeForMSC.cc,v 1.8 2001/08/16 08:17:59 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForTransport.cc b/source/track/src/G4ParticleChangeForTransport.cc index c1a5d1b9b5..4594fc236b 100644 --- a/source/track/src/G4ParticleChangeForTransport.cc +++ b/source/track/src/G4ParticleChangeForTransport.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChangeForTransport.cc,v 1.12 2002/11/01 15:55:45 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4ParticleChangeForTransport.cc,v 1.14 2003/01/22 17:54:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- @@ -79,6 +79,7 @@ G4ParticleChangeForTransport & G4ParticleChangeForTransport::operator=(const G4P theStatusChange = right.theStatusChange; theTouchableHandle = right.theTouchableHandle; theMaterialChange = right.theMaterialChange; + theMaterialCutsCoupleChange = right.theMaterialCutsCoupleChange; theMomentumDirectionChange = right.theMomentumDirectionChange; thePolarizationChange = right.thePolarizationChange; thePositionChange = right.thePositionChange; @@ -199,6 +200,7 @@ G4Step* G4ParticleChangeForTransport::UpdateStepForPostStep(G4Step* pStep) pPostStepPoint->SetTouchableHandle( theTouchableHandle ); pPostStepPoint->SetMaterial( theMaterialChange ); + pPostStepPoint->SetMaterialCutsCouple( theMaterialCutsCoupleChange ); // It used to call base class's method // - but this would copy uninitialised data members diff --git a/source/track/src/G4Step.cc b/source/track/src/G4Step.cc index 206099f331..71b5b4434f 100644 --- a/source/track/src/G4Step.cc +++ b/source/track/src/G4Step.cc @@ -22,7 +22,7 @@ // // // $Id: G4Step.cc,v 1.5 2001/07/11 10:08:39 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4StepPoint.cc b/source/track/src/G4StepPoint.cc index da58919204..74fb85266d 100644 --- a/source/track/src/G4StepPoint.cc +++ b/source/track/src/G4StepPoint.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.cc,v 1.8 2002/12/04 22:46:00 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4StepPoint.cc,v 1.9 2002/12/16 11:59:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -46,9 +46,9 @@ ////////////////////////// G4StepPoint::G4StepPoint(): ////////////////////////// - fpTouchable(0),fpMaterial(0),fpProcessDefinedStep(0),fCharge(0.) + fpTouchable(0), fpMaterial(0), fpMaterialCutsCouple(0), + fpProcessDefinedStep(0), fCharge(0.) { - } ////////////////////////// @@ -63,6 +63,7 @@ G4StepPoint::G4StepPoint(const G4StepPoint &right): fVelocity(right.fVelocity), fpTouchable(right.fpTouchable), fpMaterial(right.fpMaterial), + fpMaterialCutsCouple(right.fpMaterialCutsCouple), fSafety(right.fSafety), fPolarization(right.fPolarization), fStepStatus(right.fStepStatus), @@ -86,6 +87,7 @@ G4StepPoint & G4StepPoint::operator=(const G4StepPoint &right) fKineticEnergy = right.fKineticEnergy; fpTouchable = right.fpTouchable; fpMaterial = right.fpMaterial; + fpMaterialCutsCouple = right.fpMaterialCutsCouple; fSafety = right.fSafety; fPolarization = right.fPolarization; fStepStatus = right.fStepStatus; diff --git a/source/track/src/G4Track.cc b/source/track/src/G4Track.cc index 83007dd471..7afab2eedb 100644 --- a/source/track/src/G4Track.cc +++ b/source/track/src/G4Track.cc @@ -22,7 +22,7 @@ // // // $Id: G4Track.cc,v 1.18 2002/02/12 01:48:53 kurasige Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4VParticleChange.cc b/source/track/src/G4VParticleChange.cc index 3a8c5e1b83..48263cb860 100644 --- a/source/track/src/G4VParticleChange.cc +++ b/source/track/src/G4VParticleChange.cc @@ -22,7 +22,7 @@ // // // $Id: G4VParticleChange.cc,v 1.11 2002/11/20 16:52:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // -------------------------------------------------------------- diff --git a/source/tracking/History b/source/tracking/History index 08c521b08b..7fd371cf7b 100644 --- a/source/tracking/History +++ b/source/tracking/History @@ -1,4 +1,4 @@ -$Id: History,v 1.58 2002/12/12 16:26:55 gcosmo Exp $ +$Id: History,v 1.62 2003/04/11 11:43:29 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,21 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Apr 11, 2003 M.Asai (tracking-V05-00-03) +- Recover "ApplyCuts" under "cuts-per-region" + +Apr 10, 2003 T.Sasaki (tracking-V05-00-02) +- G4SteppingManger2.cc: Fix for the uninitilized variable +Mar 17, 2003, G.Cosmo (tracking-V05-00-01) +- G4SteppingVerbose.cc: fixed retrieval of phys-volume name, adding + check for NULL pointer for post-step physical volume returned. + +Dec 16, 2002, G.Cosmo (tracking-V05-00-00) +- Merged branch "geant4-04-01-ref-02-cuts-branch" to HEAD. + Included development for 'cuts-by-region': + o Modified implementation of stepping to cope with new scheme for + cuts and regions. + Dec 12, 2002, G.Cosmo (tracking-V04-01-15) - G4SteppingVerbose.cc: undo change introduced in tag "tracking-V04-01-07", where call to CopyState() in TrackingStarted() method was commented out, probably by diff --git a/source/tracking/include/G4SmoothTrajectory.hh b/source/tracking/include/G4SmoothTrajectory.hh index 7b72f63d67..83a515856d 100644 --- a/source/tracking/include/G4SmoothTrajectory.hh +++ b/source/tracking/include/G4SmoothTrajectory.hh @@ -22,7 +22,7 @@ // // // $Id: G4SmoothTrajectory.hh,v 1.4 2002/11/05 16:15:50 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4SmoothTrajectoryPoint.hh b/source/tracking/include/G4SmoothTrajectoryPoint.hh index b0774b1951..e278ce2407 100644 --- a/source/tracking/include/G4SmoothTrajectoryPoint.hh +++ b/source/tracking/include/G4SmoothTrajectoryPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4SmoothTrajectoryPoint.hh,v 1.6 2002/11/08 23:44:36 jacek Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4SteppingManager.hh b/source/tracking/include/G4SteppingManager.hh index 81e7a88858..fc6178c6cb 100644 --- a/source/tracking/include/G4SteppingManager.hh +++ b/source/tracking/include/G4SteppingManager.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager.hh,v 1.22 2002/11/06 02:24:34 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SteppingManager.hh,v 1.23 2003/04/11 11:43:30 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // //--------------------------------------------------------------- // @@ -199,6 +199,7 @@ public: //without description void SetNavigator(G4Navigator* value); G4double CalculateSafety(); // Return the estimated safety value at the PostStepPoint + void ApplyProductionCut(G4Track*); // Member data diff --git a/source/tracking/include/G4SteppingVerbose.hh b/source/tracking/include/G4SteppingVerbose.hh index bbb789ff90..98d8b77dff 100644 --- a/source/tracking/include/G4SteppingVerbose.hh +++ b/source/tracking/include/G4SteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: G4SteppingVerbose.hh,v 1.9 2001/07/11 10:08:40 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4TrackVector.hh b/source/tracking/include/G4TrackVector.hh index 8ff5f2ee92..f2fd9a94f8 100644 --- a/source/tracking/include/G4TrackVector.hh +++ b/source/tracking/include/G4TrackVector.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackVector.hh,v 1.8 2001/07/11 10:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4TrackingManager.hh b/source/tracking/include/G4TrackingManager.hh index 2d68c9ee81..3384af7ed4 100644 --- a/source/tracking/include/G4TrackingManager.hh +++ b/source/tracking/include/G4TrackingManager.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackingManager.hh,v 1.14 2002/08/13 18:14:42 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4TrackingMessenger.hh b/source/tracking/include/G4TrackingMessenger.hh index 66179ea277..e8d436016a 100644 --- a/source/tracking/include/G4TrackingMessenger.hh +++ b/source/tracking/include/G4TrackingMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrackingMessenger.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4Trajectory.hh b/source/tracking/include/G4Trajectory.hh index 6c3b457ee5..b0dcf3eab9 100644 --- a/source/tracking/include/G4Trajectory.hh +++ b/source/tracking/include/G4Trajectory.hh @@ -22,7 +22,7 @@ // // // $Id: G4Trajectory.hh,v 1.17 2002/10/28 11:10:57 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4TrajectoryPoint.hh b/source/tracking/include/G4TrajectoryPoint.hh index 689f37b876..5dec2b2dc1 100644 --- a/source/tracking/include/G4TrajectoryPoint.hh +++ b/source/tracking/include/G4TrajectoryPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoryPoint.hh,v 1.10 2002/10/28 11:10:57 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4UserSteppingAction.hh b/source/tracking/include/G4UserSteppingAction.hh index b601e0db7d..b147a91a57 100644 --- a/source/tracking/include/G4UserSteppingAction.hh +++ b/source/tracking/include/G4UserSteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserSteppingAction.hh,v 1.7 2001/07/11 10:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4UserTrackingAction.hh b/source/tracking/include/G4UserTrackingAction.hh index e2c8b0bb53..6feace99a6 100644 --- a/source/tracking/include/G4UserTrackingAction.hh +++ b/source/tracking/include/G4UserTrackingAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4UserTrackingAction.hh,v 1.8 2001/07/11 10:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4VSteppingVerbose.hh b/source/tracking/include/G4VSteppingVerbose.hh index 4e5c35cb7d..850adf8caf 100644 --- a/source/tracking/include/G4VSteppingVerbose.hh +++ b/source/tracking/include/G4VSteppingVerbose.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSteppingVerbose.hh,v 1.14 2002/12/04 23:00:50 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4VTrajectory.hh b/source/tracking/include/G4VTrajectory.hh index 0fcf44609d..5a1a77d195 100644 --- a/source/tracking/include/G4VTrajectory.hh +++ b/source/tracking/include/G4VTrajectory.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTrajectory.hh,v 1.11 2002/11/08 18:17:04 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4VTrajectoryPoint.hh b/source/tracking/include/G4VTrajectoryPoint.hh index 4f1b83c2fc..f39031ec10 100644 --- a/source/tracking/include/G4VTrajectoryPoint.hh +++ b/source/tracking/include/G4VTrajectoryPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTrajectoryPoint.hh,v 1.9 2002/10/28 11:10:58 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/src/G4SmoothTrajectory.cc b/source/tracking/src/G4SmoothTrajectory.cc index 28a087d59d..1c29b27523 100644 --- a/source/tracking/src/G4SmoothTrajectory.cc +++ b/source/tracking/src/G4SmoothTrajectory.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmoothTrajectory.cc,v 1.8 2002/11/11 13:13:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4SmoothTrajectoryPoint.cc b/source/tracking/src/G4SmoothTrajectoryPoint.cc index b0951085bd..c4ffb304cd 100644 --- a/source/tracking/src/G4SmoothTrajectoryPoint.cc +++ b/source/tracking/src/G4SmoothTrajectoryPoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4SmoothTrajectoryPoint.cc,v 1.8 2002/12/06 12:16:44 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4SteppingManager.cc b/source/tracking/src/G4SteppingManager.cc index 3dd03670dc..f7f96e3946 100644 --- a/source/tracking/src/G4SteppingManager.cc +++ b/source/tracking/src/G4SteppingManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4SteppingManager.cc,v 1.30 2002/12/04 23:00:50 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/src/G4SteppingManager2.cc b/source/tracking/src/G4SteppingManager2.cc index 998660065f..9f965a27ab 100644 --- a/source/tracking/src/G4SteppingManager2.cc +++ b/source/tracking/src/G4SteppingManager2.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager2.cc,v 1.9 2002/11/07 21:31:57 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SteppingManager2.cc,v 1.12 2003/04/11 11:43:30 asaim Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -46,7 +46,6 @@ #include "G4SteppingControl.hh" #include "G4TransportationManager.hh" #include "G4UserLimits.hh" -#include "G4EnergyLossTables.hh" #include "G4SteppingManager.hh" ///////////////////////////////////////////////// @@ -230,6 +229,7 @@ void G4SteppingManager::InvokeAtRestDoItProcs() // returns the time before a process occurs. G4double lifeTime, shortestLifeTime; + fAtRestDoItProcTriggered = 0; fN2ndariesAtRestDoIt = 0; shortestLifeTime = DBL_MAX; @@ -291,53 +291,14 @@ void G4SteppingManager::InvokeAtRestDoItProcs() // Now Store the secondaries from ParticleChange to SecondaryList G4Track* tempSecondaryTrack; - G4bool tApplyCutFlag; - G4double tProdThreshold; - G4Material* tMaterial; - G4double tBelowCutEnergyAndSafety; fN2ndariesAtRestDoIt = fParticleChange->GetNumberOfSecondaries(); for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesAtRestDoIt; DSecLoop++){ tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop); - tApplyCutFlag = tempSecondaryTrack->GetDefinition() - ->GetApplyCutsFlag(); - // Check if the particle should be passed without coherent cut - if(tApplyCutFlag){ - tBelowCutEnergyAndSafety = false; - tMaterial = fPostStepPoint->GetMaterial(); - tProdThreshold = tempSecondaryTrack->GetDefinition() - -> GetEnergyThreshold(tMaterial); - - if( tempSecondaryTrack->GetKineticEnergy() GetDynamicParticle()->GetCharge() !=0.0) { - G4double currentRange - = G4EnergyLossTables::GetRange( - tempSecondaryTrack->GetDefinition(), - tempSecondaryTrack->GetKineticEnergy(), - tMaterial - ); - tBelowCutEnergyAndSafety = (currentRange < CalculateSafety() ); - } - } - - if( tBelowCutEnergyAndSafety ){ - if( !(tempSecondaryTrack->IsGoodForTracking()) ){ - -//// G4cout << "!! Warning - G4SteppingManager:" << G4endl; -//// << " This physics process generated a secondary" -//// << " of which energy is below cut but" -//// << " GoodForTracking is off !!!!!" << G4endl; - - // Add kinetic energy to the total energy deposit - fStep->AddTotalEnergyDeposit( - tempSecondaryTrack->GetKineticEnergy() ); - tempSecondaryTrack->SetKineticEnergy(0.0); - } - } - } + if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag()) + { ApplyProductionCut(tempSecondaryTrack); } // Set parentID tempSecondaryTrack->SetParentID( fTrack->GetTrackID() ); @@ -404,53 +365,14 @@ void G4SteppingManager::InvokeAlongStepDoItProcs() // Now Store the secondaries from ParticleChange to SecondaryList G4Track* tempSecondaryTrack; - G4bool tApplyCutFlag; - G4double tProdThreshold; - G4Material* tMaterial; - G4double tBelowCutEnergyAndSafety; fN2ndariesAlongStepDoIt = fParticleChange->GetNumberOfSecondaries(); for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesAlongStepDoIt; DSecLoop++){ tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop); - tApplyCutFlag = tempSecondaryTrack->GetDefinition() - ->GetApplyCutsFlag(); - // Check if the particle should be passed without coherent cut - if(tApplyCutFlag){ - tBelowCutEnergyAndSafety = false; - tMaterial = fPostStepPoint->GetMaterial(); - tProdThreshold = tempSecondaryTrack->GetDefinition() - -> GetEnergyThreshold(tMaterial); - - if( tempSecondaryTrack->GetKineticEnergy() GetDynamicParticle()->GetCharge() !=0.0) { - G4double currentRange - = G4EnergyLossTables::GetRange( - tempSecondaryTrack->GetDefinition(), - tempSecondaryTrack->GetKineticEnergy(), - tMaterial - ); - tBelowCutEnergyAndSafety = (currentRange < CalculateSafety() ); - } - } - - if( tBelowCutEnergyAndSafety ){ - if( !(tempSecondaryTrack->IsGoodForTracking()) ){ - -//// G4cout << "!! Warning - G4SteppingManager:" << G4endl; -//// << " This physics process generated a secondary" -//// << " of which energy is below cut but" -//// << " GoodForTracking is off !!!!!" << G4endl; - - // Add kinetic energy to the total energy deposit - fStep->AddTotalEnergyDeposit( - tempSecondaryTrack->GetKineticEnergy() ); - tempSecondaryTrack->SetKineticEnergy(0.0); - } - } - } + if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag()) + { ApplyProductionCut(tempSecondaryTrack); } // Set parentID tempSecondaryTrack->SetParentID( fTrack->GetTrackID() ); @@ -543,54 +465,15 @@ void G4SteppingManager::InvokePSDIP(size_t np) // Now Store the secondaries from ParticleChange to SecondaryList G4Track* tempSecondaryTrack; - G4bool tApplyCutFlag; - G4double tProdThreshold; - G4Material* tMaterial; - G4double tBelowCutEnergyAndSafety; fN2ndariesPostStepDoIt = fParticleChange->GetNumberOfSecondaries(); for(G4int DSecLoop=0 ; DSecLoop< fN2ndariesPostStepDoIt; DSecLoop++){ tempSecondaryTrack = fParticleChange->GetSecondary(DSecLoop); - tApplyCutFlag = tempSecondaryTrack->GetDefinition() - ->GetApplyCutsFlag(); - - // Check if the particle should be passed without coherent cut - if(tApplyCutFlag){ - tBelowCutEnergyAndSafety = false; - tMaterial = fPostStepPoint->GetMaterial(); - tProdThreshold = tempSecondaryTrack->GetDefinition() - -> GetEnergyThreshold(tMaterial); - - if( tempSecondaryTrack->GetKineticEnergy() GetDynamicParticle()->GetCharge() !=0.0) { - G4double currentRange - = G4EnergyLossTables::GetRange( - tempSecondaryTrack->GetDefinition(), - tempSecondaryTrack->GetKineticEnergy(), - tMaterial - ); - tBelowCutEnergyAndSafety = (currentRange < CalculateSafety() ); - } - } - - if( tBelowCutEnergyAndSafety ){ - if( !(tempSecondaryTrack->IsGoodForTracking()) ){ - -//// G4cout << "!! Warning - G4SteppingManager:" << G4endl; -//// << " This physics process generated a secondary" -//// << " of which energy is below cut but" -//// << " GoodForTracking is off !!!!!" << G4endl; - - // Add kinetic energy to the total energy deposit - fStep->AddTotalEnergyDeposit( - tempSecondaryTrack->GetKineticEnergy() ); - tempSecondaryTrack->SetKineticEnergy(0.0); - } - } - } + if(tempSecondaryTrack->GetDefinition()->GetApplyCutsFlag()) + { ApplyProductionCut(tempSecondaryTrack); } + // Set parentID tempSecondaryTrack->SetParentID( fTrack->GetTrackID() ); @@ -618,3 +501,49 @@ void G4SteppingManager::InvokePSDIP(size_t np) // clear ParticleChange fParticleChange->Clear(); } + +#include "G4EnergyLossTables.hh" +#include "G4ProductionCuts.hh" +#include "G4ProductionCutsTable.hh" + +void G4SteppingManager::ApplyProductionCut(G4Track* aSecondary) +{ + G4bool tBelowCutEnergyAndSafety = false; + G4int tPtclIdx + = G4ProductionCuts::GetIndex(aSecondary->GetDefinition()); + G4ProductionCutsTable* tCutsTbl + = G4ProductionCutsTable::GetProductionCutsTable(); + G4int tCoupleIdx + = tCutsTbl->GetCoupleIndex(fPreStepPoint->GetMaterialCutsCouple()); + G4double tProdThreshold + = (*(tCutsTbl->GetEnergyCutsVector(tPtclIdx)))[tCoupleIdx]; + if( aSecondary->GetKineticEnergy()GetDynamicParticle()->GetCharge() !=0.0) + { + G4double currentRange + = G4EnergyLossTables::GetRange(aSecondary->GetDefinition(), + aSecondary->GetKineticEnergy(), + fPreStepPoint->GetMaterialCutsCouple()); + tBelowCutEnergyAndSafety = (currentRange < CalculateSafety() ); + } + } + + if( tBelowCutEnergyAndSafety ) + { + if( !(aSecondary->IsGoodForTracking()) ) + { +//G4cout << "!! Warning - G4SteppingManager:" << G4endl +//<< " This physics process generated a secondary" +//<< " of which energy is below cut but" +//<< " GoodForTracking is off !!!!!" << G4endl; + // Add kinetic energy to the total energy deposit + fStep->AddTotalEnergyDeposit( + aSecondary->GetKineticEnergy() ); + aSecondary->SetKineticEnergy(0.0); + } + } +} + + diff --git a/source/tracking/src/G4SteppingVerbose.cc b/source/tracking/src/G4SteppingVerbose.cc index 6b08720c6b..33dd2bea74 100644 --- a/source/tracking/src/G4SteppingVerbose.cc +++ b/source/tracking/src/G4SteppingVerbose.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4SteppingVerbose.cc,v 1.12 2002/12/12 16:16:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4SteppingVerbose.cc,v 1.13 2003/03/17 11:13:24 gcosmo Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- @@ -708,6 +708,7 @@ void G4SteppingVerbose::VerboseParticleChange() void G4SteppingVerbose::ShowStep() const //////////////////////////////////////// { + G4String volName; // Show header G4cout << G4endl; @@ -771,9 +772,17 @@ void G4SteppingVerbose::ShowStep() const G4cout << " Velocity (mm/ns) : " << G4std::setw(20) << fStep->GetPreStepPoint()->GetVelocity() << G4std::setw(20) << fStep->GetPostStepPoint()->GetVelocity() << G4endl; - G4cout << " Volume Name : " - << G4std::setw(20) << fStep->GetPreStepPoint()->GetPhysicalVolume()->GetName() - << G4std::setw(20) << fStep->GetPostStepPoint()->GetPhysicalVolume()->GetName() << G4endl; + G4cout << " Volume Name : " + << G4std::setw(20) << fStep->GetPreStepPoint()->GetPhysicalVolume()->GetName(); + if (fStep->GetPostStepPoint()->GetPhysicalVolume()) + { + volName = fStep->GetPostStepPoint()->GetPhysicalVolume()->GetName(); + } + else + { + volName = "OutOfWorld"; + } + G4cout << G4std::setw(20) << volName << G4endl; G4cout << " Safety (mm) : " << G4std::setw(20) << fStep->GetPreStepPoint()->GetSafety() << G4std::setw(20) << fStep->GetPostStepPoint()->GetSafety() << G4endl; diff --git a/source/tracking/src/G4TrackingManager.cc b/source/tracking/src/G4TrackingManager.cc index 6afb5cf1cf..2c7fa7fc88 100644 --- a/source/tracking/src/G4TrackingManager.cc +++ b/source/tracking/src/G4TrackingManager.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrackingManager.cc,v 1.13 2002/08/21 22:50:52 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/src/G4TrackingMessenger.cc b/source/tracking/src/G4TrackingMessenger.cc index bedc85d8ed..da8ef6c4fe 100644 --- a/source/tracking/src/G4TrackingMessenger.cc +++ b/source/tracking/src/G4TrackingMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrackingMessenger.cc,v 1.8 2001/07/11 10:08:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/src/G4Trajectory.cc b/source/tracking/src/G4Trajectory.cc index 22e975bdcd..15930fe3f9 100644 --- a/source/tracking/src/G4Trajectory.cc +++ b/source/tracking/src/G4Trajectory.cc @@ -22,7 +22,7 @@ // // // $Id: G4Trajectory.cc,v 1.20 2002/11/08 18:27:40 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4TrajectoryPoint.cc b/source/tracking/src/G4TrajectoryPoint.cc index b619883f0a..619fb6bb0b 100644 --- a/source/tracking/src/G4TrajectoryPoint.cc +++ b/source/tracking/src/G4TrajectoryPoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoryPoint.cc,v 1.10 2002/11/08 18:28:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4UserSteppingAction.cc b/source/tracking/src/G4UserSteppingAction.cc index 437b9c7440..1f700eb6a5 100644 --- a/source/tracking/src/G4UserSteppingAction.cc +++ b/source/tracking/src/G4UserSteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4UserSteppingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4UserTrackingAction.cc b/source/tracking/src/G4UserTrackingAction.cc index 9bcedc176e..5235783945 100644 --- a/source/tracking/src/G4UserTrackingAction.cc +++ b/source/tracking/src/G4UserTrackingAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4UserTrackingAction.cc,v 1.6 2001/07/11 10:08:43 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4VSteppingVerbose.cc b/source/tracking/src/G4VSteppingVerbose.cc index 4788cfc093..3484461806 100644 --- a/source/tracking/src/G4VSteppingVerbose.cc +++ b/source/tracking/src/G4VSteppingVerbose.cc @@ -22,7 +22,7 @@ // // // $Id: G4VSteppingVerbose.cc,v 1.9 2002/12/04 23:00:51 tsasaki Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/src/G4VTrajectory.cc b/source/tracking/src/G4VTrajectory.cc index cb93324f8d..ff08026613 100644 --- a/source/tracking/src/G4VTrajectory.cc +++ b/source/tracking/src/G4VTrajectory.cc @@ -22,7 +22,7 @@ // // // $Id: G4VTrajectory.cc,v 1.3 2002/12/12 13:13:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // --------------------------------------------------------------- diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh index 0bbde39e1b..42a8afad51 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILE.hh,v 1.8 2001/07/27 22:32:55 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA // DAWNFILE driver factory. diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh index 74a207b056..e733904ecf 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILESceneHandler.hh,v 1.12 2002/12/11 15:58:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh index 0081b1ae85..71201c3cc7 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILEViewer.hh,v 1.8 2001/07/27 22:32:57 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA // DAWNFILE viewer - opens window, hard copy, etc. diff --git a/source/visualization/FukuiRenderer/include/G4FRClientServer.hh b/source/visualization/FukuiRenderer/include/G4FRClientServer.hh index de2654467f..54480b41fe 100644 --- a/source/visualization/FukuiRenderer/include/G4FRClientServer.hh +++ b/source/visualization/FukuiRenderer/include/G4FRClientServer.hh @@ -22,7 +22,7 @@ // // // $Id: G4FRClientServer.hh,v 1.6 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA, Wed Jul 3 14:13:52 JST 1996 //////////////////////////////// diff --git a/source/visualization/FukuiRenderer/include/G4FRConst.hh b/source/visualization/FukuiRenderer/include/G4FRConst.hh index 3bb34fb0a8..616026565e 100644 --- a/source/visualization/FukuiRenderer/include/G4FRConst.hh +++ b/source/visualization/FukuiRenderer/include/G4FRConst.hh @@ -22,7 +22,7 @@ // // // $Id: G4FRConst.hh,v 1.6 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA, Tue Jul 2 15:30:49 JST 1996 /////////////////////////////////// diff --git a/source/visualization/FukuiRenderer/include/G4FRFeatures.hh b/source/visualization/FukuiRenderer/include/G4FRFeatures.hh index fd835533a6..4440fd3d91 100644 --- a/source/visualization/FukuiRenderer/include/G4FRFeatures.hh +++ b/source/visualization/FukuiRenderer/include/G4FRFeatures.hh @@ -22,7 +22,7 @@ // // // $Id: G4FRFeatures.hh,v 1.5 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #if !defined G4_FR_FEATURES_HH #define G4_FR_FEATURES_HH diff --git a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc index b52d22247d..83402e7928 100644 --- a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc +++ b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc @@ -22,7 +22,7 @@ // // // $Id: G4FRSceneFunc.icc,v 1.2 2002/09/02 04:39:10 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // diff --git a/source/visualization/FukuiRenderer/include/G4FRofstream.hh b/source/visualization/FukuiRenderer/include/G4FRofstream.hh index c31d1cc519..29dd0b6466 100644 --- a/source/visualization/FukuiRenderer/include/G4FRofstream.hh +++ b/source/visualization/FukuiRenderer/include/G4FRofstream.hh @@ -22,7 +22,7 @@ // // // $Id: G4FRofstream.hh,v 1.5 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include"g4std/fstream" diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh b/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh index 0ce4b5a80f..753e8ae088 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRenderer.hh,v 1.7 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh index 85357e90ad..60cccaf182 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRendererSceneHandler.hh,v 1.11 2002/12/11 15:58:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996 diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh b/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh index a843ebc7c2..91d9708b84 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRendererViewer.hh,v 1.7 2001/07/11 10:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA, Fri Jun 28 12:10:14 JST 1996 diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc index 9434949cc2..24b0af1375 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILE.cc,v 1.9 2001/07/27 22:32:59 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA // DAWNFILE factory. diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc index 03e3c94d6f..8cad0568b6 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILESceneHandler.cc,v 1.12 2002/09/02 04:39:21 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA // DAWNFILE scene. diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc index 80ef0baa82..4deb44b232 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4DAWNFILEViewer.cc,v 1.13 2001/07/27 22:33:01 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA // DAWNFILE view - opens window, hard copy, etc. diff --git a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc index b1010f9b43..c221f334e8 100644 --- a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc +++ b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc @@ -22,7 +22,7 @@ // // // $Id: G4FRClientServer.cc,v 1.5 2001/07/11 10:08:45 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Satoshi TANAKA, Wed Jul 3 14:14:29 JST 1996 //////////////////////////////// diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc index 96e16d3f43..2e6cdf1160 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRenderer.cc,v 1.7 2001/07/11 10:08:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc index b2316026bb..a5f19908d3 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRendererSceneHandler.cc,v 1.9 2002/09/02 04:39:21 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA, Fri Jun 28 11:34:24 JST 1996 diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc index 2da39ee75c..53b3a5cd8f 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4FukuiRendererViewer.cc,v 1.7 2001/07/11 10:08:46 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Satoshi TANAKA, Fri Jun 28 12:09:11 JST 1996 diff --git a/source/visualization/HepRep/History b/source/visualization/HepRep/History index 6dd0984138..ed60e8af88 100644 --- a/source/visualization/HepRep/History +++ b/source/visualization/HepRep/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2002/12/11 16:05:16 johna Exp $ +$Id: History,v 1.25 2003/01/24 21:18:48 perl Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,11 @@ committal in the CVS repository ! History file for visualization/HepRep sub-category --------------------------------------------------------------------------- +24th January 2003 Joseph Perl +- Modified G4HepRepFileSceneHandler:AddThis (const G4VTrajectory& traj) + to incorporate G4Attributes into the HepRep1 file. +- Moved some of HepRepXMLWriter's warning messages into ifdef debug blocks. + 11th December 2002 John Allison (vis-V04-01-10) - Fixed default view parameters (global culling false). diff --git a/source/visualization/HepRep/include/G4HepRepFile.hh b/source/visualization/HepRep/include/G4HepRepFile.hh index 72c5628f33..9e86468ec6 100644 --- a/source/visualization/HepRep/include/G4HepRepFile.hh +++ b/source/visualization/HepRep/include/G4HepRepFile.hh @@ -44,7 +44,7 @@ // // // $Id: G4HepRepFile.hh,v 1.5 2002/12/13 11:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh index 32785437aa..4351543cd1 100644 --- a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh +++ b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh @@ -43,8 +43,8 @@ // ******************************************************************** // // -// $Id: G4HepRepFileSceneHandler.hh,v 1.10 2002/12/13 11:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4HepRepFileSceneHandler.hh,v 1.11 2003/01/24 21:18:48 perl Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Joseph Perl 27th January 2002 @@ -54,7 +54,7 @@ #ifndef G4HepRepFileSCENEHANDLER_HH #define G4HepRepFileSCENEHANDLER_HH -// #define G4HEPREPFILEDEBUG // Comment this out to suppress debug code. +//#define G4HEPREPFILEDEBUG // Comment this out to suppress debug code. #include "G4VSceneHandler.hh" #include "G4Box.hh" @@ -151,6 +151,7 @@ private: HepRepXMLWriter *hepRepXMLWriter; void AddHepRepInstance(const char* primName, const G4Visible visible); + void CheckFileOpen(); int fileCounter; #ifdef G4HEPREPFILEDEBUG diff --git a/source/visualization/HepRep/include/G4HepRepFileViewer.hh b/source/visualization/HepRep/include/G4HepRepFileViewer.hh index 0d081f561b..408206d0fa 100644 --- a/source/visualization/HepRep/include/G4HepRepFileViewer.hh +++ b/source/visualization/HepRep/include/G4HepRepFileViewer.hh @@ -44,7 +44,7 @@ // // // $Id: G4HepRepFileViewer.hh,v 1.6 2002/12/13 11:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/HepRep/include/HepRepXMLWriter.hh b/source/visualization/HepRep/include/HepRepXMLWriter.hh index 782a53da20..3df0f9946f 100644 --- a/source/visualization/HepRep/include/HepRepXMLWriter.hh +++ b/source/visualization/HepRep/include/HepRepXMLWriter.hh @@ -44,7 +44,7 @@ // //-------------------------------------------------------------------------- // File and Version Information: -// $Id: HepRepXMLWriter.hh,v 1.9 2002/12/13 11:18:00 gunter Exp $ +// $Id: HepRepXMLWriter.hh,v 1.10 2003/01/24 21:18:48 perl Exp $ // // Description: // Create a HepRep XML File (HepRep version 1). @@ -61,6 +61,8 @@ #ifndef HepRepXMLWriter_hh #define HepRepXMLWriter_hh +//#define G4HEPREPFILEDEBUG // Comment this out to suppress debug code. + #include "globals.hh" #include "g4std/fstream" diff --git a/source/visualization/HepRep/src/G4HepRepFile.cc b/source/visualization/HepRep/src/G4HepRepFile.cc index fb21d9baba..a7de5c47d0 100644 --- a/source/visualization/HepRep/src/G4HepRepFile.cc +++ b/source/visualization/HepRep/src/G4HepRepFile.cc @@ -44,7 +44,7 @@ // // // $Id: G4HepRepFile.cc,v 1.6 2002/12/13 11:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Joseph Perl 1 October 2001 diff --git a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc index 16173bf96e..0feb7faea9 100644 --- a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc +++ b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc @@ -43,8 +43,8 @@ // ******************************************************************** // // -// $Id: G4HepRepFileSceneHandler.cc,v 1.10 2002/12/13 11:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4HepRepFileSceneHandler.cc,v 1.11 2003/01/24 21:18:48 perl Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Joseph Perl 27th January 2002 @@ -68,7 +68,10 @@ #include "G4Polyhedron.hh" #include "G4NURBS.hh" #include "G4VTrajectory.hh" +#include "G4VTrajectoryPoint.hh" #include "G4VHit.hh" +#include "G4AttDef.hh" +#include "G4AttValue.hh" //HepRep #include "HepRepXMLWriter.hh" @@ -252,7 +255,185 @@ void G4HepRepFileSceneHandler::AddThis (const G4VTrajectory& traj) { #ifdef G4HEPREPFILEDEBUG G4cout << "G4HepRepFileSceneHandler::AddThis(G4VTrajectory&) " << G4endl; #endif - G4VSceneHandler::AddThis (traj); + + G4std::vector* attValues = traj.CreateAttValues(); + G4std::vector::iterator iAttVal; + const G4std::map* attDefs = traj.GetAttDefs(); + G4std::map::const_iterator iAttDef; + G4int i; + + // Open the HepRep output file if it is not already open. + CheckFileOpen(); + + // Add the Event Data Type if it hasn't already been added. + // If this is the first trajectory, add the Event Data type and define attributes. + if (strcmp("Event Data",hepRepXMLWriter->prevTypeName[0])!=0) { + hepRepXMLWriter->addType("Event Data",0); + hepRepXMLWriter->addInstance(); + } + + // Add the Trajectories Type. + G4String previousName = hepRepXMLWriter->prevTypeName[1]; + hepRepXMLWriter->addType("Trajectories",1); + + // If this is the first trajectory of this event... + if (strcmp("Trajectories",previousName)!=0) { + // Specify attribute values common to all trajectories. + hepRepXMLWriter->addAttValue("DrawAs","Line"); + hepRepXMLWriter->addAttValue("Layer",100); + + // Specify additional attribute definitions for trajectories. + // Take all Trajectory attDefs from first trajectory. + // Would rather be able to get these attDefs without needing a reference from any + // particular trajectory, but don't know how to do that. + if (attValues && attDefs) { + for (iAttVal = attValues->begin(); + iAttVal != attValues->end(); ++iAttVal) { + iAttDef = attDefs->find(iAttVal->GetName()); + if (iAttDef != attDefs->end()) { + // Protect against incorrect use of Category. Anything value other than the + // standard ones will be considered to be in the physics category. + G4String category = iAttDef->second.GetCategory(); + if (strcmp(category,"Draw")!=0 && + strcmp(category,"Physics")!=0 && + strcmp(category,"Association")!=0 && + strcmp(category,"PickAction")!=0) + category = "Physics"; + hepRepXMLWriter->addAttDef(iAttVal->GetName(), iAttDef->second.GetDesc(), + category, iAttDef->second.GetExtra()); + } + } + } + + // Specify additional attribute definitions for trajectory points. + // Take all TrajectoryPoint attDefs from first point of first trajectory. + // Would rather be able to get these attDefs without needing a reference from any + // particular point, but don't know how to do that. + // Note also that until we get the good separation of Types and Instances that comes + // in HepRep2, the user must be careful not to use the same AttName for two + // different Types. + if (traj.GetPointEntries()>0) { + G4VTrajectoryPoint* aTrajectoryPoint = traj.GetPoint(0); + G4std::vector* pointAttValues + = aTrajectoryPoint->CreateAttValues(); + const G4std::map* pointAttDefs + = aTrajectoryPoint->GetAttDefs(); + if (pointAttValues && pointAttDefs) { + for (iAttVal = pointAttValues->begin(); + iAttVal != pointAttValues->end(); ++iAttVal) { + iAttDef = + pointAttDefs->find(iAttVal->GetName()); + if (iAttDef != pointAttDefs->end()) { + // Protect against incorrect use of Category. Anything value other than the + // standard ones will be considered to be in the physics category. + G4String category = iAttDef->second.GetCategory(); + if (strcmp(category,"Draw")!=0 && + strcmp(category,"Physics")!=0 && + strcmp(category,"Association")!=0 && + strcmp(category,"PickAction")!=0) + category = "Physics"; + hepRepXMLWriter->addAttDef(iAttVal->GetName(), iAttDef->second.GetDesc(), + category, iAttDef->second.GetExtra()); + } + } + } + } + } + + // For every trajectory, add an instance of Type Trajectory. + hepRepXMLWriter->addInstance(); + + // Set the LineColor attribute according to the particle charge. + float redness = 0.; + float greenness = 0.; + float blueness = 0.; + const G4double charge = traj.GetCharge(); + if(charge>0.) blueness = 1.; // Blue = positive. + else if(charge<0.) redness = 1.; // Red = negative. + else greenness = 1.; // Green = neutral. + hepRepXMLWriter->addAttValue("LineColor",redness,greenness,blueness); + + // Copy the current trajectory's G4AttValues to HepRepAttValues. + if (attValues && attDefs) { + for (iAttVal = attValues->begin(); + iAttVal != attValues->end(); ++iAttVal) { + G4std::map::const_iterator iAttDef = + attDefs->find(iAttVal->GetName()); + if (iAttDef == attDefs->end()) { + G4cout << "G4HepRepFileSceneHandler::AddThis(traj):" + "\n WARNING: no matching definition for attribute \"" + << iAttVal->GetName() << "\", value: " + << iAttVal->GetValue(); + } + else { + // Use GetDesc rather than GetName once WIRED can handle names with spaces in them. + //hepRepXMLWriter->addAttValue(iAttDef->second.GetDesc(), iAttVal->GetValue()); + hepRepXMLWriter->addAttValue(iAttVal->GetName(), iAttVal->GetValue()); + } + } + delete attValues; // AttValues must be deleted after use. + } + + // Each trajectory is made of a single primitive, a polyline. + hepRepXMLWriter->addPrimitive(); + + // Specify the polyline by using the trajectory points. + for (i = 0; i < traj.GetPointEntries(); i++) { + G4VTrajectoryPoint* aTrajectoryPoint = traj.GetPoint(i); + G4Point3D vertex = aTrajectoryPoint->GetPosition(); + hepRepXMLWriter->addPoint(vertex.x(), vertex.y(), vertex.z()); + } + + // Create Trajectory Points as a subType of Trajectories. + previousName = hepRepXMLWriter->prevTypeName[2]; + hepRepXMLWriter->addType("Trajectory Points",2); + + // Specify attributes common to all trajectory points. + if (strcmp("Trajectory Points",previousName)!=0) { + hepRepXMLWriter->addAttValue("DrawAs","Point"); + hepRepXMLWriter->addAttValue("Layer",110); + // Change to False once related problem is fixed in WIRED. + hepRepXMLWriter->addAttValue("Visibility","True"); + } + + for (i = 0; i < traj.GetPointEntries(); i++) { + G4VTrajectoryPoint* aTrajectoryPoint = traj.GetPoint(i); + + // Each point is a separate instance of the type Trajectory Points. + hepRepXMLWriter->addInstance(); + + // Copy the current trajectory point's G4AttValues to HepRepAttValues. + G4std::vector* pointAttValues + = aTrajectoryPoint->CreateAttValues(); + const G4std::map* pointAttDefs + = aTrajectoryPoint->GetAttDefs(); + + if (pointAttValues && pointAttDefs) { + G4std::vector::iterator iAttVal; + for (iAttVal = pointAttValues->begin(); + iAttVal != pointAttValues->end(); ++iAttVal) { + G4std::map::const_iterator iAttDef = + pointAttDefs->find(iAttVal->GetName()); + if (iAttDef == pointAttDefs->end()) { + G4cout << "\nG4VTrajectory::ShowTrajectory:" + "\n WARNING: no matching definition for trajectory" + " point attribute \"" + << iAttVal->GetName() << "\", value: " + << iAttVal->GetValue(); + } + else { + //hepRepXMLWriter->addAttValue(iAttDef->second.GetDesc(), iAttVal->GetValue()); + hepRepXMLWriter->addAttValue(iAttVal->GetName(), iAttVal->GetValue()); + } + } + delete pointAttValues; // AttValues must be deleted after use. + } + + // Each trajectory point is made of a single primitive, a point. + hepRepXMLWriter->addPrimitive(); + G4Point3D vertex = aTrajectoryPoint->GetPosition(); + hepRepXMLWriter->addPoint(vertex.x(), vertex.y(), vertex.z()); + } } void G4HepRepFileSceneHandler::AddThis (const G4VHit& hit) { @@ -406,22 +587,8 @@ void G4HepRepFileSceneHandler::AddHepRepInstance(const char* primName, << G4endl; #endif - if (!hepRepXMLWriter->isOpen) { - char* newFileSpec; - newFileSpec = new char [100]; - int length; - length = sprintf (newFileSpec, "%s%d%s","G4Data",fileCounter,".heprep"); - hepRepXMLWriter->open(newFileSpec); - fileCounter++; - - hepRepXMLWriter->addAttDef("LVol", "Logical Volume", "Physics",""); - hepRepXMLWriter->addAttDef("Solid", "Solid Name", "Physics",""); - hepRepXMLWriter->addAttDef("EType", "Entity Type", "Physics",""); - hepRepXMLWriter->addAttDef("Material", "Material Name", "Physics",""); - hepRepXMLWriter->addAttDef("Density", "Material Density", "Physics",""); - hepRepXMLWriter->addAttDef("State", "Material State", "Physics",""); - hepRepXMLWriter->addAttDef("Radlen", "Material Radiation Length", "Physics",""); - } + // Open the HepRep output file if it is not already open. + CheckFileOpen(); // Handle Type declaration for Event Data. // Should be able to just test on fReadyForTransients, but this seems to @@ -503,3 +670,33 @@ void G4HepRepFileSceneHandler::AddHepRepInstance(const char* primName, else hepRepXMLWriter->addAttValue("Visibility",true); } + +void G4HepRepFileSceneHandler::CheckFileOpen() { +#ifdef G4HEPREPFILEDEBUG + G4cout << + "G4HepRepFileSceneHandler::CheckFileOpen called." + << G4endl; +#endif + + if (!hepRepXMLWriter->isOpen) { + char* newFileSpec; + newFileSpec = new char [100]; + int length; + length = sprintf (newFileSpec, "%s%d%s","G4Data",fileCounter,".heprep"); + hepRepXMLWriter->open(newFileSpec); +#ifdef G4HEPREPFILEDEBUG + G4cout << + "G4HepRepFileSceneHandler::CheckFileOpen opened file " << fileCounter + << G4endl; +#endif + fileCounter++; + + hepRepXMLWriter->addAttDef("LVol", "Logical Volume", "Physics",""); + hepRepXMLWriter->addAttDef("Solid", "Solid Name", "Physics",""); + hepRepXMLWriter->addAttDef("EType", "Entity Type", "Physics",""); + hepRepXMLWriter->addAttDef("Material", "Material Name", "Physics",""); + hepRepXMLWriter->addAttDef("Density", "Material Density", "Physics",""); + hepRepXMLWriter->addAttDef("State", "Material State", "Physics",""); + hepRepXMLWriter->addAttDef("Radlen", "Material Radiation Length", "Physics",""); + } +} diff --git a/source/visualization/HepRep/src/G4HepRepFileViewer.cc b/source/visualization/HepRep/src/G4HepRepFileViewer.cc index 778372fbd6..7d5e55a3be 100644 --- a/source/visualization/HepRep/src/G4HepRepFileViewer.cc +++ b/source/visualization/HepRep/src/G4HepRepFileViewer.cc @@ -44,7 +44,7 @@ // // // $Id: G4HepRepFileViewer.cc,v 1.8 2002/12/13 11:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4HepRepFileViewer.hh" diff --git a/source/visualization/HepRep/src/HepRepXMLWriter.cc b/source/visualization/HepRep/src/HepRepXMLWriter.cc index 5fd408a3d1..bcf4c59b4e 100644 --- a/source/visualization/HepRep/src/HepRepXMLWriter.cc +++ b/source/visualization/HepRep/src/HepRepXMLWriter.cc @@ -44,7 +44,7 @@ // //-------------------------------------------------------------------------- // File and Version Information: -// $Id: HepRepXMLWriter.cc,v 1.9 2002/12/13 11:18:03 gunter Exp $ +// $Id: HepRepXMLWriter.cc,v 1.10 2003/01/24 21:18:48 perl Exp $ // // Description: // Create a HepRep XML File (HepRep version 1). @@ -129,7 +129,9 @@ void HepRepXMLWriter::addType(const char* name,int newTypeDepth) typeDepth = newTypeDepth; } } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addType No file is currently open." << G4endl; +#endif } } @@ -144,13 +146,14 @@ void HepRepXMLWriter::addInstance() indent(); fout << "" << G4endl; } else { - G4cout << - "HepRepXMLWriter:addInstance No HepRep Type is currently open" - << G4endl; +#ifdef G4HEPREPFILEDEBUG + G4cout << "HepRepXMLWriter:addInstance No HepRep Type is currently open" << G4endl; +#endif } } else { - G4cout << "HepRepXMLWriter:addInstance No file is currently open" - << G4endl; +#ifdef G4HEPREPFILEDEBUG + G4cout << "HepRepXMLWriter:addInstance No file is currently open" << G4endl; +#endif } } @@ -165,13 +168,14 @@ void HepRepXMLWriter::addPrimitive() indent(); fout << "" << G4endl; } else { - G4cout << - "HepRepXMLWriter:addPrimitive No HepRep Instance is currently open" - << G4endl; +#ifdef G4HEPREPFILEDEBUG + G4cout << "HepRepXMLWriter:addPrimitive No HepRep Instance is currently open" << G4endl; +#endif } } else { - G4cout << "HepRepXMLWriter:addPrimitive No file is currently open" - << G4endl; +#ifdef G4HEPREPFILEDEBUG + G4cout << "HepRepXMLWriter:addPrimitive No file is currently open" << G4endl; +#endif } } @@ -186,12 +190,14 @@ void HepRepXMLWriter::addPoint(double x, double y, double z) indent(); fout << "" << G4endl; } else { - G4cout << - "HepRepXMLWriter:addPoint No HepRep Primitive is currently open" - << G4endl; +#ifdef G4HEPREPFILEDEBUG + G4cout << "HepRepXMLWriter:addPoint No HepRep Primitive is currently open" << G4endl; +#endif } } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addPoint No file is currently open" << G4endl; +#endif } } @@ -203,11 +209,13 @@ void HepRepXMLWriter::addAttDef(const char* name, if (fout.good()) { indent(); - fout << "" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttDef No file is currently open" << G4endl; +#endif } } @@ -222,7 +230,9 @@ void HepRepXMLWriter::addAttValue (const char* name, indent(); fout << " value=\"" << value << "\"/>" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttValue No file is currently open" << G4endl; +#endif } } @@ -236,7 +246,9 @@ void HepRepXMLWriter::addAttValue (const char* name, indent(); fout << " value=\"" << value << "\"/>" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttValue No file is currently open" << G4endl; +#endif } } @@ -250,7 +262,9 @@ void HepRepXMLWriter::addAttValue (const char* name, indent(); fout << " value=\"" << value << "\"/>" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttValue No file is currently open" << G4endl; +#endif } } @@ -267,7 +281,9 @@ void HepRepXMLWriter::addAttValue (const char* name, else fout << " value=\"False\"/>" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttValue No file is currently open" << G4endl; +#endif } } @@ -286,7 +302,9 @@ void HepRepXMLWriter::addAttValue (const char* name, indent(); fout << " value=\"" << redness << "," << greenness << "," << blueness << "\"/>" << G4endl; } else { +#ifdef G4HEPREPFILEDEBUG G4cout << "HepRepXMLWriter:addAttValue No file is currently open" << G4endl; +#endif } } diff --git a/source/visualization/History b/source/visualization/History index b93e154d3c..93952f6708 100644 --- a/source/visualization/History +++ b/source/visualization/History @@ -1,4 +1,4 @@ -$Id: History,v 1.212 2002/12/11 16:11:44 johna Exp $ +$Id: History,v 1.218 2003/02/17 07:19:37 stanaka Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,18 @@ committal in the CVS repository ! History file for visualization category --------------------------------------- +17th February 2003 Satoshi Tanaka (vis-V05-00-01) +- A Small bug fixing of VRML2 driver + (Explicit cast from G4String to char* in G4VRML2SceneHandlerFunc.icc). + +24th January 2003 Joseph Perl +- Fixes to HepRep - see History file. + +20th January 2003 John Allison (vis-V05-00-00, co-works intercoms-V05-00-00) +- Incorporated openinventor-V05-00-00: Removed erroneous additional + transformation. +- Added G4VisManager::Draw methods for hits and trajectories. + 11th December 2002 John Allison (vis-V04-01-10) - Fix for SUN-CC warnings: AddThis hides the virtual function... - Fix memory leak in RayTracer. diff --git a/source/visualization/OPACS/include/G4GoSceneHandler.hh b/source/visualization/OPACS/include/G4GoSceneHandler.hh index 2880f2f29b..419a2684d1 100644 --- a/source/visualization/OPACS/include/G4GoSceneHandler.hh +++ b/source/visualization/OPACS/include/G4GoSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4GoSceneHandler.hh,v 1.9 2002/12/11 15:58:00 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/include/G4Wo.hh b/source/visualization/OPACS/include/G4Wo.hh index 9248502e3a..c55b43cef1 100644 --- a/source/visualization/OPACS/include/G4Wo.hh +++ b/source/visualization/OPACS/include/G4Wo.hh @@ -22,7 +22,7 @@ // // // $Id: G4Wo.hh,v 1.6 2001/07/11 10:08:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/include/G4WoViewer.hh b/source/visualization/OPACS/include/G4WoViewer.hh index 52218bebfc..c8aac861b3 100644 --- a/source/visualization/OPACS/include/G4WoViewer.hh +++ b/source/visualization/OPACS/include/G4WoViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4WoViewer.hh,v 1.5 2001/07/11 10:08:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/include/G4Xo.hh b/source/visualization/OPACS/include/G4Xo.hh index 052078e574..6e2a9685c1 100644 --- a/source/visualization/OPACS/include/G4Xo.hh +++ b/source/visualization/OPACS/include/G4Xo.hh @@ -22,7 +22,7 @@ // // // $Id: G4Xo.hh,v 1.6 2001/07/11 10:08:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/include/G4XoViewer.hh b/source/visualization/OPACS/include/G4XoViewer.hh index ca369f3949..36f2fde6f6 100644 --- a/source/visualization/OPACS/include/G4XoViewer.hh +++ b/source/visualization/OPACS/include/G4XoViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4XoViewer.hh,v 1.5 2001/07/11 10:08:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/src/G4GoSceneHandler.cc b/source/visualization/OPACS/src/G4GoSceneHandler.cc index 987764c976..236ca534c9 100644 --- a/source/visualization/OPACS/src/G4GoSceneHandler.cc +++ b/source/visualization/OPACS/src/G4GoSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4GoSceneHandler.cc,v 1.14 2002/12/11 15:58:01 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/src/G4Wo.cc b/source/visualization/OPACS/src/G4Wo.cc index 34cf11ffb1..9d204d0a9e 100644 --- a/source/visualization/OPACS/src/G4Wo.cc +++ b/source/visualization/OPACS/src/G4Wo.cc @@ -22,7 +22,7 @@ // // // $Id: G4Wo.cc,v 1.5 2001/07/11 10:08:47 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/src/G4WoViewer.cc b/source/visualization/OPACS/src/G4WoViewer.cc index c177bb1496..a8a038246f 100644 --- a/source/visualization/OPACS/src/G4WoViewer.cc +++ b/source/visualization/OPACS/src/G4WoViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4WoViewer.cc,v 1.7 2001/07/11 10:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/src/G4Xo.cc b/source/visualization/OPACS/src/G4Xo.cc index 2c9a586735..2262e3e031 100644 --- a/source/visualization/OPACS/src/G4Xo.cc +++ b/source/visualization/OPACS/src/G4Xo.cc @@ -22,7 +22,7 @@ // // // $Id: G4Xo.cc,v 1.6 2001/07/11 10:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OPACS/src/G4XoViewer.cc b/source/visualization/OPACS/src/G4XoViewer.cc index 8dbb83a785..9f24ef52c1 100644 --- a/source/visualization/OPACS/src/G4XoViewer.cc +++ b/source/visualization/OPACS/src/G4XoViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4XoViewer.cc,v 1.8 2001/07/11 10:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Guy Barrand 04 November 1996 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh index f00e4a2597..5777870b30 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateSceneHandler.hh,v 1.6 2001/08/09 20:16:56 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh index cbc9b0992b..9ab4aed093 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateViewer.hh,v 1.7 2002/10/16 10:44:13 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh index 37e6095491..8eddeaffbd 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateWin32.hh,v 1.6 2002/10/16 10:44:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // OpenGLImmediateWin32 graphics system factory. diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh index b435bde653..481e9c1259 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateWin32Viewer.hh,v 1.7 2002/10/16 10:44:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4OpenGLImmediateWin32Viewer : a class derived from diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh index dd1686c26d..eac9b2b286 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateX.hh,v 1.6 2001/07/11 10:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh index adc956cc5d..9cb076b96c 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXViewer.hh,v 1.7 2001/07/14 21:47:42 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh index 3197c21d23..47f8b07b03 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXm.hh,v 1.6 2001/07/11 10:08:49 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh index f3fe49bbe4..11e9611246 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXmViewer.hh,v 1.7 2001/07/14 21:47:43 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh index 6dbe233845..db975699dd 100644 --- a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLSceneHandler.hh,v 1.12 2002/11/11 18:08:21 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc index 419a0c0a46..995363604a 100644 --- a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc +++ b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLSceneHandler.icc,v 1.5 2001/08/09 20:16:06 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 20th January 1998 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh index 9d816e9609..c37f8566b3 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredSceneHandler.hh,v 1.13 2001/08/14 18:03:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh index 98b4f931fa..674b7b0ff4 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredViewer.hh,v 1.8 2001/08/14 18:03:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh b/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh index f64e824792..f4bd1c81f7 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredWin32.hh,v 1.6 2002/10/16 10:44:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // OpenGLStoredWin32 graphics system factory. diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh index da1d908d5b..60a16eb60d 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredWin32Viewer.hh,v 1.5 2002/10/16 10:44:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4OpenGLStoredWin32Viewer : a class derived from diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredX.hh b/source/visualization/OpenGL/include/G4OpenGLStoredX.hh index 00a9a18be9..de3fe2c453 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredX.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredX.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredX.hh,v 1.6 2001/07/11 10:08:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh index 0657583e56..ec764baf04 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXViewer.hh,v 1.5 2001/07/14 21:47:46 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh index c87253bff5..e30af9a352 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXm.hh,v 1.5 2001/07/11 10:08:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh index 4216753158..7a1f931bf0 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXmViewer.hh,v 1.5 2001/07/14 21:47:47 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh b/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh index d94ddd1a2e..3917230ffb 100644 --- a/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh +++ b/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLTransform3D.hh,v 1.4 2001/07/11 10:08:50 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 24th October 1996 diff --git a/source/visualization/OpenGL/include/G4OpenGLViewer.hh b/source/visualization/OpenGL/include/G4OpenGLViewer.hh index fb768e137a..bbcee8a330 100644 --- a/source/visualization/OpenGL/include/G4OpenGLViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLViewer.hh,v 1.9 2002/10/16 10:44:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh index b3f4b97bb2..7066f955bb 100644 --- a/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLWin32Viewer.hh,v 1.6 2002/10/24 15:28:05 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4OpenGLWin32Viewer : Class to provide WindowsNT specific diff --git a/source/visualization/OpenGL/include/G4OpenGLXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLXViewer.hh index b30b71f237..8b41837c42 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXViewer.hh,v 1.16 2002/11/11 18:12:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLXmBox.hh b/source/visualization/OpenGL/include/G4OpenGLXmBox.hh index 5da7625d0e..c80e521642 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmBox.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmBox.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmBox.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Box container class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh b/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh index 0fd3ec5634..b576e0b6ee 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmFourArrowButtons.hh,v 1.5 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh b/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh index e2c70d68e1..9f459fc9d6 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmFramedBox.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Framed box container class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh b/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh index d386cf4796..aa134977ab 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmPushButton.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Push button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh b/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh index e6f04dfdc3..653088cfe0 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmRadioButton.hh,v 1.6 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Radio button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmResources.hh b/source/visualization/OpenGL/include/G4OpenGLXmResources.hh index f3017b5c98..77f2b6f210 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmResources.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmResources.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmResources.hh,v 1.4 2001/07/11 10:08:51 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Default resources file for GEANT4 OpenGL Motif windows. diff --git a/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh b/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh index 326bed3e8b..bfc9be8b9f 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmSeparator.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Separator class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh b/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh index 870a51c87d..9f97be818c 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmSliderBar.hh,v 1.6 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Slider bar class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh b/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh index eba79ff487..8e10a92865 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmTextField.hh,v 1.6 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Text field class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh b/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh index 80a24c0aa0..58cfb245f5 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmTopLevelShell.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Top level shell class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh index 6f3f579947..1211c2087a 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetComponent.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Base class for all Motif component widgets diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh index 750f6b5e8f..faea062cc4 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetContainer.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Base class for all Motif container widgets diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh index 0980033d9c..bd612a24c9 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetObject.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Virtual base class for all Motif widgets. diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh index d1944a147b..2f283ae0a6 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetShell.hh,v 1.5 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // //Base class for all Motif window widgets (shells) diff --git a/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh index 02ccb778aa..2d0e7c8b59 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmViewer.hh,v 1.6 2001/07/11 10:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc index 19a2486b81..dc695efbb7 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateSceneHandler.cc,v 1.7 2002/02/24 01:47:55 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc index 31bc3eded8..d19ad617e0 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateViewer.cc,v 1.6 2002/10/16 10:44:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc index 9e8b4cce9c..10f65f9cb2 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateWin32.cc,v 1.8 2002/10/16 10:44:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // OpenGLImmediateWin32 graphics system factory. diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc index a39aa91f36..7a1bd5a64d 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateWin32Viewer.cc,v 1.6 2002/10/16 10:44:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc index 81b5d7a5d4..e307b04752 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateX.cc,v 1.8 2002/02/24 01:48:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc index f3f56dcf08..953d0f46ab 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXViewer.cc,v 1.7 2002/02/24 01:48:04 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc index 55844c5a3c..9960530ced 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXm.cc,v 1.8 2002/02/24 01:48:05 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc index 09243aa7e4..4e846d122e 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLImmediateXmViewer.cc,v 1.7 2002/02/24 01:48:07 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc index d37436d164..7f243a7884 100644 --- a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLSceneHandler.cc,v 1.17 2002/12/11 15:57:58 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc index 50cf9bafb8..4c7184b8f6 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredSceneHandler.cc,v 1.15 2002/11/27 12:44:09 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc index 00e9c0cf42..c1304886ce 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredViewer.cc,v 1.9 2002/11/27 12:44:10 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc b/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc index c2ad598275..68e670993a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredWin32.cc,v 1.8 2002/10/16 10:44:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // OpenGLStoredWin32 graphics system factory. diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc index c0457c6d74..9446c1725f 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredWin32Viewer.cc,v 1.6 2002/10/16 10:44:16 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Class G4OpenGLStoredWin32Viewer : a class derived from G4OpenGLWin32Viewer and diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredX.cc b/source/visualization/OpenGL/src/G4OpenGLStoredX.cc index 88204707a9..00ab70bc83 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredX.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredX.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredX.cc,v 1.8 2002/02/24 01:48:17 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc index 045b2450ab..ebea3450e1 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXViewer.cc,v 1.8 2002/02/24 01:48:19 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc index 89cb6a59f9..0b373a41ef 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXm.cc,v 1.7 2002/02/24 01:48:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc index 2af3dc3bb4..cda9456009 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLStoredXmViewer.cc,v 1.7 2002/02/24 01:48:22 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc b/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc index ece4c13f6d..82de74ec4f 100644 --- a/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc +++ b/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLTransform3D.cc,v 1.4 2001/07/11 10:08:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 24th October 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLViewer.cc b/source/visualization/OpenGL/src/G4OpenGLViewer.cc index 51ef866489..3e23fbcbbc 100644 --- a/source/visualization/OpenGL/src/G4OpenGLViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLViewer.cc,v 1.14 2002/10/16 10:44:16 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc index 2a336845b5..ce68f17784 100644 --- a/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLWin32Viewer.cc,v 1.5 2002/10/16 10:44:16 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // G4OpenGLWin32Viewer : Class to provide WindowsNT specific diff --git a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc index 02652c8a39..8690aad175 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXViewer.cc,v 1.18 2002/11/11 18:12:03 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmBox.cc b/source/visualization/OpenGL/src/G4OpenGLXmBox.cc index 4ac27002ee..6b5afe37de 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmBox.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmBox.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmBox.cc,v 1.5 2001/07/11 10:08:56 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Box container class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc b/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc index 6da65eab45..88e072ce7f 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmConvenienceRoutines.cc,v 1.9 2002/12/11 15:57:59 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc b/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc index c4e211f69c..30b35cbe67 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmFourArrowButtons.cc,v 1.4 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc b/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc index 2a4e2354ba..bd8f0ff1b4 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmFramedBox.cc,v 1.5 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Framed box container class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc index 971df713ef..32e5669580 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmMainMenubarCallbacks.cc,v 1.9 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc index e69cf7f355..93eaca2467 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmPanningCallbacks.cc,v 1.6 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc b/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc index 0a482a5a33..84e87e215a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmPushButton.cc,v 1.5 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Push button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc b/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc index 67f6fa6e3b..20699fc44a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmRadioButton.cc,v 1.5 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Radio button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc index 7f5c9f088d..9c32dce1cd 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmRotationCallbacks.cc,v 1.11 2001/07/11 10:08:57 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc b/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc index dede1abd34..86c73887cb 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmSeparator.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Separator class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc b/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc index 8a2a131602..ddd50fb045 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmSliderBar.cc,v 1.5 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Slider bar class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc index ba1847778c..5041cf1475 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmStyleCallbacks.cc,v 1.6 2001/11/12 18:22:09 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc b/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc index ec86ea560e..731ee03140 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmTextField.cc,v 1.6 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Text field class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc b/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc index 47b4a89836..ae765bd0a9 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmTopLevelShell.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Top level shell class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc index 11af012e67..dd33b71dbc 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetComponent.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Base class for all Motif component widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc index e9156b71c1..a3bf078b1a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetContainer.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Base class for all Motif container widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc index d4f5f54ed2..f0fcb6dfd1 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetObject.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Virtual base class for all Motif widgets. diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc index 5f4b646b0c..fa98db36d3 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmVWidgetShell.cc,v 1.4 2001/07/11 10:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // //Base class for all Motif shell widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc index 3abd8c413d..b685a57582 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmViewer.cc,v 1.11 2002/02/24 01:48:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc index 194520b570..8a9615a4ed 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.5 2001/07/11 10:08:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 16th June 1997 diff --git a/source/visualization/OpenInventor/History b/source/visualization/OpenInventor/History index ffdf68996a..bee9802355 100644 --- a/source/visualization/OpenInventor/History +++ b/source/visualization/OpenInventor/History @@ -1,4 +1,4 @@ -$Id: History,v 1.2 2002/11/27 12:46:07 johna Exp $ +$Id: History,v 1.3 2003/01/14 10:18:22 johna Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,21 @@ committal in the CVS repository ! History file for visualization/OpenInventor ------------------------------------------- +14th January 2003 John Allison (openinventor-V05-00-00) +- Removed vertex.transform (*fpObjectTransformation) from + G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron). + Symptom was that polyhedron objects were being transformed twice. + The transformation is stored in + G4OpenInventorSceneHandler::PreAddThis + ... + G4OpenInventorTransform3D oiTran (objectTransformation); + SoSFMatrix* oiMat = oiTran.GetOIMatrix(); + SoMatrixTransform* xform = new SoMatrixTransform; + xform->matrix.setValue(oiMat->getValue()); + currentSeparator->addChild(new SoResetTransform); + currentSeparator->addChild(xform); +} + 27th November 2002 John Allison (vis-V04-01-08) - Improved algorithm of CompareForKernelVisit. diff --git a/source/visualization/OpenInventor/include/G4OpenInventor.hh b/source/visualization/OpenInventor/include/G4OpenInventor.hh index 16efc3aed0..f1d45b1e86 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventor.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventor.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventor.hh,v 1.6 2001/07/11 10:08:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // Guy Barrand 26 Mar 1998. // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh index cd3ccb9883..7b9526ebad 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorSceneHandler.hh,v 1.13 2002/12/11 16:08:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // J Kallenbach 27th Aug 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.icc b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.icc index 66904c8d2a..15002e4840 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.icc +++ b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.icc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorSceneHandler.icc,v 1.4 2001/07/11 10:08:59 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // J Kallenbach 27th Aug 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh b/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh index dd706ef7a8..8d1cf1d02f 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorTransform3D.hh,v 1.4 2001/07/11 10:09:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // jck 17 Dec 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorViewer.hh b/source/visualization/OpenInventor/include/G4OpenInventorViewer.hh index 73687f2bb4..d2a0ea63ef 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorViewer.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorViewer.hh,v 1.10 2001/11/14 14:56:11 barrand Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Jeff Kallenbach 01 Aug 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh b/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh index ebe3c8e7f3..45df01155a 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorWin32.hh,v 1.5 2001/07/11 10:09:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/include/G4OpenInventorX.hh b/source/visualization/OpenInventor/include/G4OpenInventorX.hh index d1eaea5f20..9a2d533dc4 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorX.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorX.hh @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorX.hh,v 1.5 2001/07/11 10:09:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenInventor/src/G4OpenInventor.cc b/source/visualization/OpenInventor/src/G4OpenInventor.cc index 4c98c4164f..650b4a7698 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventor.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventor.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventor.cc,v 1.8 2001/07/11 10:09:00 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifdef G4VIS_BUILD_OI_DRIVER diff --git a/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc b/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc index a389aaa4ac..d69119c574 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorSceneHandler.cc,v 1.13 2002/12/11 16:08:22 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4OpenInventorSceneHandler.cc,v 1.14 2003/01/14 10:18:23 johna Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Jeff Kallenbach 01 Aug 1996 @@ -334,7 +334,6 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { G4int edgeFlag=1; do { notLastEdge = polyhedron.GetNextVertex (vertex, edgeFlag); - vertex.transform (*fpObjectTransformation); polyVerts[vertIdx].setValue(vertex.x(), vertex.y(), diff --git a/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc b/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc index a28a4335ef..045284012a 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorTransform3D.cc,v 1.4 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // jck 17 Dec 1996 diff --git a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc index c968ac9976..f750911188 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorViewer.cc,v 1.9 2002/11/27 12:46:07 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /* * jck 05 Feb 1997 - Initial Implementation diff --git a/source/visualization/OpenInventor/src/G4OpenInventorWin32.cc b/source/visualization/OpenInventor/src/G4OpenInventorWin32.cc index b5c7d6ae20..9a580aaf10 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorWin32.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorWin32.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorWin32.cc,v 1.5 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/src/G4OpenInventorX.cc b/source/visualization/OpenInventor/src/G4OpenInventorX.cc index 2f8112d2ca..557ee056d8 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorX.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorX.cc @@ -22,7 +22,7 @@ // // // $Id: G4OpenInventorX.cc,v 1.5 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Jeff Kallenbach 01 Aug 1996 diff --git a/source/visualization/README b/source/visualization/README index aeb5f1163b..cf13442402 100644 --- a/source/visualization/README +++ b/source/visualization/README @@ -263,7 +263,7 @@ The Visualization Manager has been constructed with verbosity == 1. $ test19 tcsh 1 RunManager is constructing.... ********************************************** - Geant4 version $Name: geant4-05-00 $ + Geant4 version $Name: geant4-05-01 $ (29-Jun-2001) Copyright : Geant4 Collaboration ********************************************** diff --git a/source/visualization/RayTracer/include/G4RTJpeg.hh b/source/visualization/RayTracer/include/G4RTJpeg.hh index 5e43ebc058..7236e3dbde 100644 --- a/source/visualization/RayTracer/include/G4RTJpeg.hh +++ b/source/visualization/RayTracer/include/G4RTJpeg.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTJpeg.hh,v 1.5 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTJpegCoder.hh b/source/visualization/RayTracer/include/G4RTJpegCoder.hh index f01257455e..1608d346a2 100644 --- a/source/visualization/RayTracer/include/G4RTJpegCoder.hh +++ b/source/visualization/RayTracer/include/G4RTJpegCoder.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTJpegCoder.hh,v 1.5 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh b/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh index 2e06032573..db154e6818 100644 --- a/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh +++ b/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTJpegCoderTables.hh,v 1.5 2001/07/11 10:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description: diff --git a/source/visualization/RayTracer/include/G4RTJpegMaker.hh b/source/visualization/RayTracer/include/G4RTJpegMaker.hh index 0f0b1f7c1c..8cc4f6bc1f 100644 --- a/source/visualization/RayTracer/include/G4RTJpegMaker.hh +++ b/source/visualization/RayTracer/include/G4RTJpegMaker.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTJpegMaker.hh,v 1.5 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTMessenger.hh b/source/visualization/RayTracer/include/G4RTMessenger.hh index d95721b97a..875b408940 100644 --- a/source/visualization/RayTracer/include/G4RTMessenger.hh +++ b/source/visualization/RayTracer/include/G4RTMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTMessenger.hh,v 1.4 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTOutBitStream.hh b/source/visualization/RayTracer/include/G4RTOutBitStream.hh index 459dc64c65..0fd2c03023 100644 --- a/source/visualization/RayTracer/include/G4RTOutBitStream.hh +++ b/source/visualization/RayTracer/include/G4RTOutBitStream.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTOutBitStream.hh,v 1.6 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTSteppingAction.hh b/source/visualization/RayTracer/include/G4RTSteppingAction.hh index 6096af3544..883c2716d0 100644 --- a/source/visualization/RayTracer/include/G4RTSteppingAction.hh +++ b/source/visualization/RayTracer/include/G4RTSteppingAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTSteppingAction.hh,v 1.4 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RTTrackingAction.hh b/source/visualization/RayTracer/include/G4RTTrackingAction.hh index 533bc0b740..85531850ce 100644 --- a/source/visualization/RayTracer/include/G4RTTrackingAction.hh +++ b/source/visualization/RayTracer/include/G4RTTrackingAction.hh @@ -22,7 +22,7 @@ // // // $Id: G4RTTrackingAction.hh,v 1.4 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RayShooter.hh b/source/visualization/RayTracer/include/G4RayShooter.hh index bb800d0e67..255bdf85c6 100644 --- a/source/visualization/RayTracer/include/G4RayShooter.hh +++ b/source/visualization/RayTracer/include/G4RayShooter.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayShooter.hh,v 1.3 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // class description: diff --git a/source/visualization/RayTracer/include/G4RayTracer.hh b/source/visualization/RayTracer/include/G4RayTracer.hh index a938b11ba9..aeeb9a3186 100644 --- a/source/visualization/RayTracer/include/G4RayTracer.hh +++ b/source/visualization/RayTracer/include/G4RayTracer.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTracer.hh,v 1.8 2001/07/27 22:33:03 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTracerFeatures.hh b/source/visualization/RayTracer/include/G4RayTracerFeatures.hh index a3471c73b6..3e64a49de5 100644 --- a/source/visualization/RayTracer/include/G4RayTracerFeatures.hh +++ b/source/visualization/RayTracer/include/G4RayTracerFeatures.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTracerFeatures.hh,v 1.3 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh index a1598dd655..0ac2bec492 100644 --- a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh +++ b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTracerSceneHandler.hh,v 1.6 2002/12/11 15:59:34 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // John Allison 17th March 2000 diff --git a/source/visualization/RayTracer/include/G4RayTracerViewer.hh b/source/visualization/RayTracer/include/G4RayTracerViewer.hh index 3e39150a07..ffcd3c627b 100644 --- a/source/visualization/RayTracer/include/G4RayTracerViewer.hh +++ b/source/visualization/RayTracer/include/G4RayTracerViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTracerViewer.hh,v 1.4 2001/07/11 10:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // John Allison 17th March 2000 diff --git a/source/visualization/RayTracer/include/G4RayTrajectory.hh b/source/visualization/RayTracer/include/G4RayTrajectory.hh index 872eba912b..1ec7628845 100644 --- a/source/visualization/RayTracer/include/G4RayTrajectory.hh +++ b/source/visualization/RayTracer/include/G4RayTrajectory.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTrajectory.hh,v 1.9 2002/10/16 11:42:48 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh b/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh index 4eef7ace33..939fa202c2 100644 --- a/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh +++ b/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh @@ -22,7 +22,7 @@ // // // $Id: G4RayTrajectoryPoint.hh,v 1.5 2002/10/16 11:42:48 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/include/G4VFigureFileMaker.hh b/source/visualization/RayTracer/include/G4VFigureFileMaker.hh index 02b4cf311f..32901b21cd 100644 --- a/source/visualization/RayTracer/include/G4VFigureFileMaker.hh +++ b/source/visualization/RayTracer/include/G4VFigureFileMaker.hh @@ -22,7 +22,7 @@ // // // $Id: G4VFigureFileMaker.hh,v 1.4 2001/07/11 10:09:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/RayTracer/src/G4RTJpegCoder.cc b/source/visualization/RayTracer/src/G4RTJpegCoder.cc index db7b63a956..b519f6d7dc 100644 --- a/source/visualization/RayTracer/src/G4RTJpegCoder.cc +++ b/source/visualization/RayTracer/src/G4RTJpegCoder.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTJpegCoder.cc,v 1.4 2001/07/11 10:09:03 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTJpegMaker.cc b/source/visualization/RayTracer/src/G4RTJpegMaker.cc index 2b655fcd12..6a0e0e69ff 100644 --- a/source/visualization/RayTracer/src/G4RTJpegMaker.cc +++ b/source/visualization/RayTracer/src/G4RTJpegMaker.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTJpegMaker.cc,v 1.7 2001/11/22 17:29:01 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTMessenger.cc b/source/visualization/RayTracer/src/G4RTMessenger.cc index 7ef027446e..60f929b5cc 100644 --- a/source/visualization/RayTracer/src/G4RTMessenger.cc +++ b/source/visualization/RayTracer/src/G4RTMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTMessenger.cc,v 1.6 2002/12/05 01:37:36 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTOutBitStream.cc b/source/visualization/RayTracer/src/G4RTOutBitStream.cc index 64afdc0dd8..88aab70c6d 100644 --- a/source/visualization/RayTracer/src/G4RTOutBitStream.cc +++ b/source/visualization/RayTracer/src/G4RTOutBitStream.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTOutBitStream.cc,v 1.4 2001/07/11 10:09:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTSteppingAction.cc b/source/visualization/RayTracer/src/G4RTSteppingAction.cc index 68808abb20..89e86f19d7 100644 --- a/source/visualization/RayTracer/src/G4RTSteppingAction.cc +++ b/source/visualization/RayTracer/src/G4RTSteppingAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTSteppingAction.cc,v 1.6 2001/07/11 10:09:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTTrackingAction.cc b/source/visualization/RayTracer/src/G4RTTrackingAction.cc index b321ecaa1a..0e0cbba877 100644 --- a/source/visualization/RayTracer/src/G4RTTrackingAction.cc +++ b/source/visualization/RayTracer/src/G4RTTrackingAction.cc @@ -22,7 +22,7 @@ // // // $Id: G4RTTrackingAction.cc,v 1.3 2001/07/11 10:09:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RayShooter.cc b/source/visualization/RayTracer/src/G4RayShooter.cc index 29e70ffbce..fda234b91f 100644 --- a/source/visualization/RayTracer/src/G4RayShooter.cc +++ b/source/visualization/RayTracer/src/G4RayShooter.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayShooter.cc,v 1.2 2001/07/11 10:09:04 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4RayShooter.hh" diff --git a/source/visualization/RayTracer/src/G4RayTracer.cc b/source/visualization/RayTracer/src/G4RayTracer.cc index f4e96bf0a3..a7c339b7c6 100644 --- a/source/visualization/RayTracer/src/G4RayTracer.cc +++ b/source/visualization/RayTracer/src/G4RayTracer.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayTracer.cc,v 1.11 2002/12/11 16:00:00 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc b/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc index e76a1c058c..60e08ccb8f 100644 --- a/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc +++ b/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayTracerSceneHandler.cc,v 1.2 2001/07/11 10:09:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4RayTracerSceneHandler.hh" diff --git a/source/visualization/RayTracer/src/G4RayTracerViewer.cc b/source/visualization/RayTracer/src/G4RayTracerViewer.cc index 74ee82d64a..5ac54b0663 100644 --- a/source/visualization/RayTracer/src/G4RayTracerViewer.cc +++ b/source/visualization/RayTracer/src/G4RayTracerViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayTracerViewer.cc,v 1.10 2002/04/22 14:14:38 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4RayTracerViewer.hh" diff --git a/source/visualization/RayTracer/src/G4RayTrajectory.cc b/source/visualization/RayTracer/src/G4RayTrajectory.cc index a2ec1d992c..d48846c3e5 100644 --- a/source/visualization/RayTracer/src/G4RayTrajectory.cc +++ b/source/visualization/RayTracer/src/G4RayTrajectory.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayTrajectory.cc,v 1.9 2002/10/16 11:42:48 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc b/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc index 30cae13a97..1093eb252b 100644 --- a/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc +++ b/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc @@ -22,7 +22,7 @@ // // // $Id: G4RayTrajectoryPoint.cc,v 1.3 2001/07/11 10:09:05 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // diff --git a/source/visualization/Tree/include/G4ASCIITree.hh b/source/visualization/Tree/include/G4ASCIITree.hh index 29bc33eaa4..13d625da97 100644 --- a/source/visualization/Tree/include/G4ASCIITree.hh +++ b/source/visualization/Tree/include/G4ASCIITree.hh @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITree.hh,v 1.5 2001/07/11 10:09:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeMessenger.hh b/source/visualization/Tree/include/G4ASCIITreeMessenger.hh index 29f242dd0d..c5fa6f1137 100644 --- a/source/visualization/Tree/include/G4ASCIITreeMessenger.hh +++ b/source/visualization/Tree/include/G4ASCIITreeMessenger.hh @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeMessenger.hh,v 1.4 2001/07/11 10:09:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh b/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh index b7273240fd..4a443b9263 100644 --- a/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh +++ b/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeSceneHandler.hh,v 1.10 2001/08/24 20:41:26 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeViewer.hh b/source/visualization/Tree/include/G4ASCIITreeViewer.hh index 5beec8061d..2f29c039de 100644 --- a/source/visualization/Tree/include/G4ASCIITreeViewer.hh +++ b/source/visualization/Tree/include/G4ASCIITreeViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeViewer.hh,v 1.4 2001/07/11 10:09:06 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4VTree.hh b/source/visualization/Tree/include/G4VTree.hh index 28ff005f3e..3be9c0fefe 100644 --- a/source/visualization/Tree/include/G4VTree.hh +++ b/source/visualization/Tree/include/G4VTree.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTree.hh,v 1.4 2001/07/11 10:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4VTreeSceneHandler.hh b/source/visualization/Tree/include/G4VTreeSceneHandler.hh index 53b9c9ba0c..7a2aae0f0a 100644 --- a/source/visualization/Tree/include/G4VTreeSceneHandler.hh +++ b/source/visualization/Tree/include/G4VTreeSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTreeSceneHandler.hh,v 1.8 2002/12/11 16:08:49 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4VTreeSceneHandler.icc b/source/visualization/Tree/include/G4VTreeSceneHandler.icc index b4b9f70200..6fc8d77a93 100644 --- a/source/visualization/Tree/include/G4VTreeSceneHandler.icc +++ b/source/visualization/Tree/include/G4VTreeSceneHandler.icc @@ -22,7 +22,7 @@ // // // $Id: G4VTreeSceneHandler.icc,v 1.4 2001/07/11 10:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 18th May 2000 diff --git a/source/visualization/Tree/include/G4VTreeViewer.hh b/source/visualization/Tree/include/G4VTreeViewer.hh index 32b96eaef3..f3587bfc76 100644 --- a/source/visualization/Tree/include/G4VTreeViewer.hh +++ b/source/visualization/Tree/include/G4VTreeViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VTreeViewer.hh,v 1.4 2001/07/11 10:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITree.cc b/source/visualization/Tree/src/G4ASCIITree.cc index cca19f07f7..f4e95321be 100644 --- a/source/visualization/Tree/src/G4ASCIITree.cc +++ b/source/visualization/Tree/src/G4ASCIITree.cc @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITree.cc,v 1.7 2001/08/05 19:02:12 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeMessenger.cc b/source/visualization/Tree/src/G4ASCIITreeMessenger.cc index 53b54c2a1b..f9fa08d2a3 100644 --- a/source/visualization/Tree/src/G4ASCIITreeMessenger.cc +++ b/source/visualization/Tree/src/G4ASCIITreeMessenger.cc @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeMessenger.cc,v 1.5 2001/07/11 10:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc b/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc index 6240437560..c8805b9d0a 100644 --- a/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc +++ b/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeSceneHandler.cc,v 1.11 2001/08/24 20:41:31 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeViewer.cc b/source/visualization/Tree/src/G4ASCIITreeViewer.cc index bd4b88d545..6a1f5429a8 100644 --- a/source/visualization/Tree/src/G4ASCIITreeViewer.cc +++ b/source/visualization/Tree/src/G4ASCIITreeViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4ASCIITreeViewer.cc,v 1.5 2002/12/11 16:08:50 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4ASCIITreeViewer.hh" diff --git a/source/visualization/Tree/src/G4VTree.cc b/source/visualization/Tree/src/G4VTree.cc index 201a8d0442..978f58181e 100644 --- a/source/visualization/Tree/src/G4VTree.cc +++ b/source/visualization/Tree/src/G4VTree.cc @@ -22,7 +22,7 @@ // // // $Id: G4VTree.cc,v 1.4 2001/07/11 10:09:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4VTreeSceneHandler.cc b/source/visualization/Tree/src/G4VTreeSceneHandler.cc index 46ed2635aa..43277fc921 100644 --- a/source/visualization/Tree/src/G4VTreeSceneHandler.cc +++ b/source/visualization/Tree/src/G4VTreeSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VTreeSceneHandler.cc,v 1.7 2002/12/11 16:08:55 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4VTreeViewer.cc b/source/visualization/Tree/src/G4VTreeViewer.cc index 8689599647..ba312caaad 100644 --- a/source/visualization/Tree/src/G4VTreeViewer.cc +++ b/source/visualization/Tree/src/G4VTreeViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VTreeViewer.cc,v 1.4 2001/07/11 10:09:08 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4VTreeViewer.hh" diff --git a/source/visualization/VRML/History b/source/visualization/VRML/History index 513ca69fc0..b72e763745 100644 --- a/source/visualization/VRML/History +++ b/source/visualization/VRML/History @@ -1,3 +1,7 @@ +VRML-V05-00-00 17th February 2003 Satoshi Tanaka +- A Small bug fixing of VRML2 driver + (Explicit cast from G4String to char*). + VRML-V04-01-00 November 10 2002 - Bug fixing for marker size (*.icc files) diff --git a/source/visualization/VRML/g4vrmlview/g4mini.java b/source/visualization/VRML/g4vrmlview/g4mini.java index 08a3545bb3..2f29f8e0d7 100644 --- a/source/visualization/VRML/g4vrmlview/g4mini.java +++ b/source/visualization/VRML/g4vrmlview/g4mini.java @@ -22,7 +22,7 @@ // // // $Id: g4mini.java,v 1.3 2001/07/11 10:09:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // import java.io.*; import java.net.*; diff --git a/source/visualization/VRML/g4vrmlview/g4vrmlview.java b/source/visualization/VRML/g4vrmlview/g4vrmlview.java index 124cfb6e49..bec4a5fda7 100644 --- a/source/visualization/VRML/g4vrmlview/g4vrmlview.java +++ b/source/visualization/VRML/g4vrmlview/g4vrmlview.java @@ -22,7 +22,7 @@ // // // $Id: g4vrmlview.java,v 1.3 2001/07/11 10:09:09 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // import java.io.*; import java.net.*; diff --git a/source/visualization/VRML/include/FRClient.h b/source/visualization/VRML/include/FRClient.h index e98d3bcee1..d243bb0c2b 100644 --- a/source/visualization/VRML/include/FRClient.h +++ b/source/visualization/VRML/include/FRClient.h @@ -22,7 +22,7 @@ // // // $Id: FRClient.h,v 1.5 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // FRClient.h // FukuiRenderer Client diff --git a/source/visualization/VRML/include/G4FRClient.hh b/source/visualization/VRML/include/G4FRClient.hh index 305cba31d5..b50bc86231 100644 --- a/source/visualization/VRML/include/G4FRClient.hh +++ b/source/visualization/VRML/include/G4FRClient.hh @@ -22,7 +22,7 @@ // // // $Id: G4FRClient.hh,v 1.7 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4FRClient.hh // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1.hh b/source/visualization/VRML/include/G4VRML1.hh index 9c6877a133..b0700401f6 100644 --- a/source/visualization/VRML/include/G4VRML1.hh +++ b/source/visualization/VRML/include/G4VRML1.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1.hh,v 1.9 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1.hh // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1File.hh b/source/visualization/VRML/include/G4VRML1File.hh index 30f04bd9be..0ac02ae47f 100644 --- a/source/visualization/VRML/include/G4VRML1File.hh +++ b/source/visualization/VRML/include/G4VRML1File.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1File.hh,v 1.9 2001/09/18 07:53:08 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1File.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh index 996438ca93..174db95991 100644 --- a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1FileSceneHandler.hh,v 1.12 2002/12/11 15:57:53 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1FileViewer.hh b/source/visualization/VRML/include/G4VRML1FileViewer.hh index 3e71baf474..428787b8c6 100644 --- a/source/visualization/VRML/include/G4VRML1FileViewer.hh +++ b/source/visualization/VRML/include/G4VRML1FileViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1FileViewer.hh,v 1.7 2001/09/18 07:53:08 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1FileViewer.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1SceneHandler.hh b/source/visualization/VRML/include/G4VRML1SceneHandler.hh index 5546cb1068..a8b93ceea5 100644 --- a/source/visualization/VRML/include/G4VRML1SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1SceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1SceneHandler.hh,v 1.11 2002/12/11 15:57:55 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1SceneHandler.hh // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1Viewer.hh b/source/visualization/VRML/include/G4VRML1Viewer.hh index 3d37d3ab3d..c421e99f78 100644 --- a/source/visualization/VRML/include/G4VRML1Viewer.hh +++ b/source/visualization/VRML/include/G4VRML1Viewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML1Viewer.hh,v 1.7 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1Viewer.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2.hh b/source/visualization/VRML/include/G4VRML2.hh index df701a93fe..6ceaa329b3 100644 --- a/source/visualization/VRML/include/G4VRML2.hh +++ b/source/visualization/VRML/include/G4VRML2.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2.hh,v 1.9 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2File.hh b/source/visualization/VRML/include/G4VRML2File.hh index 9dfbaa18b6..bc38cfe914 100644 --- a/source/visualization/VRML/include/G4VRML2File.hh +++ b/source/visualization/VRML/include/G4VRML2File.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2File.hh,v 1.10 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2File.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh index f1ca482222..2fee532380 100644 --- a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2FileSceneHandler.hh,v 1.11 2002/12/11 15:57:56 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2FileViewer.hh b/source/visualization/VRML/include/G4VRML2FileViewer.hh index 1b9cae5285..e70d6db9e7 100644 --- a/source/visualization/VRML/include/G4VRML2FileViewer.hh +++ b/source/visualization/VRML/include/G4VRML2FileViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2FileViewer.hh,v 1.8 2002/06/23 03:31:42 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2FileViewer.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2SceneHandler.hh b/source/visualization/VRML/include/G4VRML2SceneHandler.hh index 20dd5d8c1e..81e29e6487 100644 --- a/source/visualization/VRML/include/G4VRML2SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2SceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2SceneHandler.hh,v 1.10 2002/12/11 15:57:56 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2SceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2Viewer.hh b/source/visualization/VRML/include/G4VRML2Viewer.hh index ccbaa88d2e..cf8cc90ad2 100644 --- a/source/visualization/VRML/include/G4VRML2Viewer.hh +++ b/source/visualization/VRML/include/G4VRML2Viewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRML2Viewer.hh,v 1.7 2002/06/23 03:31:43 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2Viewer.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRMLNetConfig.hh b/source/visualization/VRML/include/G4VRMLNetConfig.hh index 8e09c2284e..dbfa83995b 100644 --- a/source/visualization/VRML/include/G4VRMLNetConfig.hh +++ b/source/visualization/VRML/include/G4VRMLNetConfig.hh @@ -22,7 +22,7 @@ // // // $Id: G4VRMLNetConfig.hh,v 1.6 2002/06/23 03:31:43 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRMLNetConfig.hh // Satoshi Tanaka diff --git a/source/visualization/VRML/src/FRClient.cc b/source/visualization/VRML/src/FRClient.cc index a3dfbced99..2b5c668052 100644 --- a/source/visualization/VRML/src/FRClient.cc +++ b/source/visualization/VRML/src/FRClient.cc @@ -22,7 +22,7 @@ // // // $Id: FRClient.cc,v 1.6 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // FRClient.cc // FukuiRenderer Client diff --git a/source/visualization/VRML/src/G4FRClient.cc b/source/visualization/VRML/src/G4FRClient.cc index 0d42bd7eae..865bfe9e8f 100644 --- a/source/visualization/VRML/src/G4FRClient.cc +++ b/source/visualization/VRML/src/G4FRClient.cc @@ -22,7 +22,7 @@ // // // $Id: G4FRClient.cc,v 1.7 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4FRClient.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1.cc b/source/visualization/VRML/src/G4VRML1.cc index 5616864eec..495ff8d301 100644 --- a/source/visualization/VRML/src/G4VRML1.cc +++ b/source/visualization/VRML/src/G4VRML1.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1.cc,v 1.8 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1File.cc b/source/visualization/VRML/src/G4VRML1File.cc index ac1deb99ff..bde3fbac16 100644 --- a/source/visualization/VRML/src/G4VRML1File.cc +++ b/source/visualization/VRML/src/G4VRML1File.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1File.cc,v 1.8 2001/09/18 07:53:15 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1File.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc index 6ea5637b4e..47385748cf 100644 --- a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1FileSceneHandler.cc,v 1.7 2001/09/18 07:53:15 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1FileViewer.cc b/source/visualization/VRML/src/G4VRML1FileViewer.cc index ace2921b2a..998151292c 100644 --- a/source/visualization/VRML/src/G4VRML1FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML1FileViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1FileViewer.cc,v 1.7 2001/09/18 07:53:15 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRMLView.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1SceneHandler.cc b/source/visualization/VRML/src/G4VRML1SceneHandler.cc index e00cbca5e6..783653a954 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1SceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1SceneHandler.cc,v 1.7 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1SceneHandler.cc // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc index 5fb089e36a..8e5187b16a 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1SceneHandlerFunc.icc,v 1.11 2002/11/10 05:10:12 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML1SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1Viewer.cc b/source/visualization/VRML/src/G4VRML1Viewer.cc index 81074ad2c5..6ee2649352 100644 --- a/source/visualization/VRML/src/G4VRML1Viewer.cc +++ b/source/visualization/VRML/src/G4VRML1Viewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML1Viewer.cc,v 1.7 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRMLView.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML2.cc b/source/visualization/VRML/src/G4VRML2.cc index 25c96cd654..d4104ef512 100644 --- a/source/visualization/VRML/src/G4VRML2.cc +++ b/source/visualization/VRML/src/G4VRML2.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2.cc,v 1.8 2002/06/23 03:31:50 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2File.cc b/source/visualization/VRML/src/G4VRML2File.cc index 7a26525128..793a4ab4b3 100644 --- a/source/visualization/VRML/src/G4VRML2File.cc +++ b/source/visualization/VRML/src/G4VRML2File.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2File.cc,v 1.8 2001/09/18 07:53:16 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2File.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc index 5a2db4c75c..533af9ce8d 100644 --- a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2FileSceneHandler.cc,v 1.8 2002/06/17 10:13:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2FileViewer.cc b/source/visualization/VRML/src/G4VRML2FileViewer.cc index 4abfe90866..6adbc96a3c 100644 --- a/source/visualization/VRML/src/G4VRML2FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML2FileViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2FileViewer.cc,v 1.8 2001/09/18 07:53:16 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2FileViewer.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2SceneHandler.cc b/source/visualization/VRML/src/G4VRML2SceneHandler.cc index b6b49e2a97..7982b0135e 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2SceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2SceneHandler.cc,v 1.8 2002/06/23 03:31:51 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2SceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc index 46cc49a123..187bdd6351 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VRML2SceneHandlerFunc.icc,v 1.11 2002/11/10 05:10:17 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VRML2SceneHandlerFunc.icc,v 1.12 2003/02/17 06:52:18 stanaka Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada @@ -178,7 +178,8 @@ void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron) // Current Model const G4VModel* pv_model = GetModel(); - const char* pv_name = pv_model->GetCurrentTag() ; +// const char* pv_name = pv_model->GetCurrentTag() ; + const char* pv_name = (const char*) pv_model->GetCurrentTag() ; // VRML codes are generated below diff --git a/source/visualization/VRML/src/G4VRML2Viewer.cc b/source/visualization/VRML/src/G4VRML2Viewer.cc index 2322849b84..cead1baf2b 100644 --- a/source/visualization/VRML/src/G4VRML2Viewer.cc +++ b/source/visualization/VRML/src/G4VRML2Viewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VRML2Viewer.cc,v 1.9 2002/06/23 03:31:51 stanaka Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // G4VRML2Viewer.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/XXX/include/G4XXX.hh b/source/visualization/XXX/include/G4XXX.hh index ee7e084174..0953d1da82 100644 --- a/source/visualization/XXX/include/G4XXX.hh +++ b/source/visualization/XXX/include/G4XXX.hh @@ -22,7 +22,7 @@ // // // $Id: G4XXX.hh,v 1.3 2001/08/25 00:22:06 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/include/G4XXXSceneHandler.hh b/source/visualization/XXX/include/G4XXXSceneHandler.hh index 27f834c60b..88fad272b1 100644 --- a/source/visualization/XXX/include/G4XXXSceneHandler.hh +++ b/source/visualization/XXX/include/G4XXXSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4XXXSceneHandler.hh,v 1.9 2002/11/11 18:22:47 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/include/G4XXXViewer.hh b/source/visualization/XXX/include/G4XXXViewer.hh index 01e980a612..461f1d5e94 100644 --- a/source/visualization/XXX/include/G4XXXViewer.hh +++ b/source/visualization/XXX/include/G4XXXViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4XXXViewer.hh,v 1.5 2001/11/19 15:09:23 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXX.cc b/source/visualization/XXX/src/G4XXX.cc index 11b4a4290a..a8154bcf50 100644 --- a/source/visualization/XXX/src/G4XXX.cc +++ b/source/visualization/XXX/src/G4XXX.cc @@ -22,7 +22,7 @@ // // // $Id: G4XXX.cc,v 1.3 2001/08/25 00:22:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXXSceneHandler.cc b/source/visualization/XXX/src/G4XXXSceneHandler.cc index c88c9957a2..0565df17d6 100644 --- a/source/visualization/XXX/src/G4XXXSceneHandler.cc +++ b/source/visualization/XXX/src/G4XXXSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4XXXSceneHandler.cc,v 1.10 2002/11/11 18:26:35 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXXViewer.cc b/source/visualization/XXX/src/G4XXXViewer.cc index e3f4740eda..21fbc28d41 100644 --- a/source/visualization/XXX/src/G4XXXViewer.cc +++ b/source/visualization/XXX/src/G4XXXViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4XXXViewer.cc,v 1.4 2001/11/16 10:50:27 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4XXXViewer.hh" diff --git a/source/visualization/management/include/G4GraphicsSystemList.hh b/source/visualization/management/include/G4GraphicsSystemList.hh index 7db1b6d599..74cbe8df9d 100644 --- a/source/visualization/management/include/G4GraphicsSystemList.hh +++ b/source/visualization/management/include/G4GraphicsSystemList.hh @@ -22,7 +22,7 @@ // // // $Id: G4GraphicsSystemList.hh,v 1.7 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 2nd April 1996 diff --git a/source/visualization/management/include/G4Scene.hh b/source/visualization/management/include/G4Scene.hh index 326efbf89b..2e44705d8c 100644 --- a/source/visualization/management/include/G4Scene.hh +++ b/source/visualization/management/include/G4Scene.hh @@ -22,7 +22,7 @@ // // // $Id: G4Scene.hh,v 1.12 2001/08/24 20:47:39 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Scene John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4Scene.icc b/source/visualization/management/include/G4Scene.icc index 7732e1abf7..0348efb347 100644 --- a/source/visualization/management/include/G4Scene.icc +++ b/source/visualization/management/include/G4Scene.icc @@ -22,7 +22,7 @@ // // // $Id: G4Scene.icc,v 1.9 2001/08/11 21:39:54 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Scene data John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4SceneHandlerList.hh b/source/visualization/management/include/G4SceneHandlerList.hh index bad558f6a0..29b437e343 100644 --- a/source/visualization/management/include/G4SceneHandlerList.hh +++ b/source/visualization/management/include/G4SceneHandlerList.hh @@ -22,7 +22,7 @@ // // // $Id: G4SceneHandlerList.hh,v 1.6 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison May 1996 diff --git a/source/visualization/management/include/G4SceneList.hh b/source/visualization/management/include/G4SceneList.hh index 20cfed3d05..51bbf58a19 100644 --- a/source/visualization/management/include/G4SceneList.hh +++ b/source/visualization/management/include/G4SceneList.hh @@ -22,7 +22,7 @@ // // // $Id: G4SceneList.hh,v 1.8 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VGraphicsSystem.hh b/source/visualization/management/include/G4VGraphicsSystem.hh index 70b4f0170f..29238ee4ad 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.hh +++ b/source/visualization/management/include/G4VGraphicsSystem.hh @@ -22,7 +22,7 @@ // // // $Id: G4VGraphicsSystem.hh,v 1.9 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VGraphicsSystem.icc b/source/visualization/management/include/G4VGraphicsSystem.icc index 83192e78a9..6f98081e21 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.icc +++ b/source/visualization/management/include/G4VGraphicsSystem.icc @@ -22,7 +22,7 @@ // // // $Id: G4VGraphicsSystem.icc,v 1.6 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VSceneHandler.hh b/source/visualization/management/include/G4VSceneHandler.hh index a9efad6258..e7e70185d4 100644 --- a/source/visualization/management/include/G4VSceneHandler.hh +++ b/source/visualization/management/include/G4VSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VSceneHandler.hh,v 1.19 2002/10/24 15:10:43 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4VSceneHandler.icc b/source/visualization/management/include/G4VSceneHandler.icc index 3727ecdc79..d67e6cc1a4 100644 --- a/source/visualization/management/include/G4VSceneHandler.icc +++ b/source/visualization/management/include/G4VSceneHandler.icc @@ -22,7 +22,7 @@ // // // $Id: G4VSceneHandler.icc,v 1.12 2001/08/09 20:13:40 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4VViewer.hh b/source/visualization/management/include/G4VViewer.hh index 5af8d8efcb..352649f06c 100644 --- a/source/visualization/management/include/G4VViewer.hh +++ b/source/visualization/management/include/G4VViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VViewer.hh,v 1.12 2001/08/14 18:35:19 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VViewer.icc b/source/visualization/management/include/G4VViewer.icc index 5f010c538c..3c4411eb3b 100644 --- a/source/visualization/management/include/G4VViewer.icc +++ b/source/visualization/management/include/G4VViewer.icc @@ -22,7 +22,7 @@ // // // $Id: G4VViewer.icc,v 1.9 2001/07/14 21:48:22 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 30th December 1996 diff --git a/source/visualization/management/include/G4VVisCommand.hh b/source/visualization/management/include/G4VVisCommand.hh index 1971ccc42b..e06f901e20 100644 --- a/source/visualization/management/include/G4VVisCommand.hh +++ b/source/visualization/management/include/G4VVisCommand.hh @@ -22,7 +22,7 @@ // // // $Id: G4VVisCommand.hh,v 1.14 2002/11/27 12:32:32 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/include/G4VVisCommand.icc b/source/visualization/management/include/G4VVisCommand.icc index ed35a1bfcb..4c4d176250 100644 --- a/source/visualization/management/include/G4VVisCommand.icc +++ b/source/visualization/management/include/G4VVisCommand.icc @@ -22,7 +22,7 @@ // // // $Id: G4VVisCommand.icc,v 1.4 2001/07/11 10:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/include/G4ViewParameters.hh b/source/visualization/management/include/G4ViewParameters.hh index 49efbebab4..1fa0aacfcc 100644 --- a/source/visualization/management/include/G4ViewParameters.hh +++ b/source/visualization/management/include/G4ViewParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4ViewParameters.hh,v 1.13 2001/07/11 10:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 19th July 1996 diff --git a/source/visualization/management/include/G4ViewParameters.icc b/source/visualization/management/include/G4ViewParameters.icc index d896bbe405..0fad769224 100644 --- a/source/visualization/management/include/G4ViewParameters.icc +++ b/source/visualization/management/include/G4ViewParameters.icc @@ -22,7 +22,7 @@ // // // $Id: G4ViewParameters.icc,v 1.5 2001/07/11 10:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 20th October 1996 diff --git a/source/visualization/management/include/G4ViewerList.hh b/source/visualization/management/include/G4ViewerList.hh index 93438aefb8..b807ee7744 100644 --- a/source/visualization/management/include/G4ViewerList.hh +++ b/source/visualization/management/include/G4ViewerList.hh @@ -22,7 +22,7 @@ // // // $Id: G4ViewerList.hh,v 1.6 2001/07/11 10:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison May 1996 diff --git a/source/visualization/management/include/G4VisCommands.hh b/source/visualization/management/include/G4VisCommands.hh index e46e497248..a2c970bf11 100644 --- a/source/visualization/management/include/G4VisCommands.hh +++ b/source/visualization/management/include/G4VisCommands.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommands.hh,v 1.3 2001/08/05 02:29:02 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/ top level commands - John Allison 5th February 2001 diff --git a/source/visualization/management/include/G4VisCommandsCompound.hh b/source/visualization/management/include/G4VisCommandsCompound.hh index e1d317c1a8..a277899cf2 100644 --- a/source/visualization/management/include/G4VisCommandsCompound.hh +++ b/source/visualization/management/include/G4VisCommandsCompound.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsCompound.hh,v 1.7 2001/07/11 10:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Compound /vis/ commands - John Allison 15th May 2000 diff --git a/source/visualization/management/include/G4VisCommandsScene.hh b/source/visualization/management/include/G4VisCommandsScene.hh index ac0658efe5..ff910f712e 100644 --- a/source/visualization/management/include/G4VisCommandsScene.hh +++ b/source/visualization/management/include/G4VisCommandsScene.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsScene.hh,v 1.13 2001/11/06 13:00:10 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VisCommandsSceneAdd.hh b/source/visualization/management/include/G4VisCommandsSceneAdd.hh index 0939314c35..032bffe7bb 100644 --- a/source/visualization/management/include/G4VisCommandsSceneAdd.hh +++ b/source/visualization/management/include/G4VisCommandsSceneAdd.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsSceneAdd.hh,v 1.10 2002/11/11 18:31:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VisCommandsSceneHandler.hh b/source/visualization/management/include/G4VisCommandsSceneHandler.hh index f415d7dfb4..f352ad9dd1 100644 --- a/source/visualization/management/include/G4VisCommandsSceneHandler.hh +++ b/source/visualization/management/include/G4VisCommandsSceneHandler.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsSceneHandler.hh,v 1.6 2001/07/11 10:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/sceneHandler commands - John Allison 10th October 1998 diff --git a/source/visualization/management/include/G4VisCommandsViewer.hh b/source/visualization/management/include/G4VisCommandsViewer.hh index d2a50bfb39..3c54a08ec6 100644 --- a/source/visualization/management/include/G4VisCommandsViewer.hh +++ b/source/visualization/management/include/G4VisCommandsViewer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsViewer.hh,v 1.15 2001/11/06 12:55:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/viewer commands - John Allison 25th October 1998 diff --git a/source/visualization/management/include/G4VisCommandsViewerSet.hh b/source/visualization/management/include/G4VisCommandsViewerSet.hh index 9338b02124..b2fe1af5f6 100644 --- a/source/visualization/management/include/G4VisCommandsViewerSet.hh +++ b/source/visualization/management/include/G4VisCommandsViewerSet.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsViewerSet.hh,v 1.11 2002/11/27 12:33:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/viewer/set commands - John Allison 16th May 2000 diff --git a/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh b/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh index 71f9569b90..9985814d71 100644 --- a/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh +++ b/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfDAWNFILE.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #ifndef G4VISFEATURESOFDAWNFILE_HH #define G4VISFEATURESOFDAWNFILE_HH diff --git a/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh b/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh index f401e1f2ce..2063751aea 100644 --- a/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh +++ b/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfFukuiRenderer.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh b/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh index 6a136de6f0..e33ce18701 100644 --- a/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh +++ b/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfOpenGL.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh b/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh index 0a2274cd19..d5bf5e40d0 100644 --- a/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh +++ b/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfOpenInventor.hh,v 1.4 2001/07/11 10:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/include/G4VisManager.hh b/source/visualization/management/include/G4VisManager.hh index c4e9bd6e4e..91598433b3 100644 --- a/source/visualization/management/include/G4VisManager.hh +++ b/source/visualization/management/include/G4VisManager.hh @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VisManager.hh,v 1.28 2002/11/11 18:33:30 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VisManager.hh,v 1.29 2003/01/20 14:12:36 johna Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // @@ -81,30 +81,18 @@ #include "globals.hh" #include "G4GraphicsSystemList.hh" #include "G4SceneHandlerList.hh" -#include "G4Scene.hh" #include "G4SceneList.hh" #include "G4Transform3D.hh" -#include "G4UImessenger.hh" #include "G4NullModel.hh" +#include "G4TrajectoriesModel.hh" #include "G4ModelingParameters.hh" #include "g4std/iostream" #include "g4std/vector" -class G4VPhysicalVolume; -class G4LogicalVolume; -class G4VSolid; -class G4VGraphicsSystem; -class G4VSceneHandler; -class G4VViewer; -class G4Polyline; -class G4Text; -class G4Circle; -class G4Scale; -class G4Square; -class G4Polymarker; -class G4Polyhedron; -class G4NURBS; +class G4Scene; +class G4UIcommand; +class G4UImessenger; class G4VisManager: public G4VVisManager { @@ -180,43 +168,55 @@ public: // With description // for representing hits, digis, etc. void Draw (const G4Circle&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4NURBS&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Polyhedron&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Polyline&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Polymarker&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Scale&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Square&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4Text&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); //////////////////////////////////////////////////////////////////// // Now functions that implement the pure virtual functions of - // G4VVisManager for drawing a GEANT4 geometry object. Note that - // the 2nd argument overrides any visualization attributes that are - // associated with the object itself. + // G4VVisManager for drawing a GEANT4 object. Note that the + // visualization attributes needed in some cases override any + // visualization attributes that are associated with the object + // itself - thus you can, for example, change the colour of a + // physical volume. The objectTransformation defaults to + // G4Transform3D::Identity by inheritance from G4VVisManager. + + void Draw (const G4VHit&, + const G4Transform3D& objectTransformation); + + void Draw (const G4VTrajectory&, G4int i_mode, + const G4Transform3D& objectTransformation); + // i_mode is a parameter that can be used to control the drawing of + // the trajectory. See, e.g., G4VTrajectory::DrawTrajectory. + // i_mode defaults to 0 by inheritance from G4VVisManager. void Draw (const G4LogicalVolume&, const G4VisAttributes&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4VPhysicalVolume&, const G4VisAttributes&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); void Draw (const G4VSolid&, const G4VisAttributes&, - const G4Transform3D& objectTransformation = G4Transform3D::Identity); + const G4Transform3D& objectTransformation); //////////////////////////////////////////////////////////////////////// // Now other pure virtual functions of G4VVisManager... @@ -348,6 +348,7 @@ protected: G4VisStateDependent* fpStateDependent; // Friend state dependent class. G4int fWindowSizeHintX, fWindowSizeHintY; // For viewer construction. G4NullModel fVisManagerNullModel; // As a default. + G4TrajectoriesModel dummyTrajectoriesModel; // For passing drawing mode. G4ModelingParameters fVisManagerModelingParameters; // Useful memory. }; diff --git a/source/visualization/management/include/G4VisManager.icc b/source/visualization/management/include/G4VisManager.icc index 03561ed802..e610740a77 100644 --- a/source/visualization/management/include/G4VisManager.icc +++ b/source/visualization/management/include/G4VisManager.icc @@ -22,7 +22,7 @@ // // // $Id: G4VisManager.icc,v 1.8 2001/08/05 02:29:05 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. diff --git a/source/visualization/management/include/G4VisStateDependent.hh b/source/visualization/management/include/G4VisStateDependent.hh index e9bef4efee..9a7561d133 100644 --- a/source/visualization/management/include/G4VisStateDependent.hh +++ b/source/visualization/management/include/G4VisStateDependent.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisStateDependent.hh,v 1.4 2001/07/11 10:09:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // A "state dependent" service class for G4VisManager. // John Allison 29th November 1999 diff --git a/source/visualization/management/include/G4VisToOldVisCommands.hh b/source/visualization/management/include/G4VisToOldVisCommands.hh index 4cc262eaa9..6947455ce9 100644 --- a/source/visualization/management/include/G4VisToOldVisCommands.hh +++ b/source/visualization/management/include/G4VisToOldVisCommands.hh @@ -22,7 +22,7 @@ // // // $Id: G4VisToOldVisCommands.hh,v 1.6 2001/07/11 10:09:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Implements some /vis/ commands as /vis~/ temporarily. diff --git a/source/visualization/management/include/MyVisManager.cc b/source/visualization/management/include/MyVisManager.cc index b4c74c08f5..034f8b4123 100644 --- a/source/visualization/management/include/MyVisManager.cc +++ b/source/visualization/management/include/MyVisManager.cc @@ -22,7 +22,7 @@ // // // $Id: MyVisManager.cc,v 1.17 2002/11/27 12:34:36 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/source/visualization/management/include/MyVisManager.hh b/source/visualization/management/include/MyVisManager.hh index 5051b917a0..3e54a41062 100644 --- a/source/visualization/management/include/MyVisManager.hh +++ b/source/visualization/management/include/MyVisManager.hh @@ -22,7 +22,7 @@ // // // $Id: MyVisManager.hh,v 1.5 2001/07/11 10:09:17 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 24th January 1998. diff --git a/source/visualization/management/src/G4GraphicsSystemList.cc b/source/visualization/management/src/G4GraphicsSystemList.cc index 203184573f..4c4d1186a9 100644 --- a/source/visualization/management/src/G4GraphicsSystemList.cc +++ b/source/visualization/management/src/G4GraphicsSystemList.cc @@ -22,7 +22,7 @@ // // // $Id: G4GraphicsSystemList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4GraphicsSystemList.hh" diff --git a/source/visualization/management/src/G4Scene.cc b/source/visualization/management/src/G4Scene.cc index b9ded7320e..0b399a0f88 100644 --- a/source/visualization/management/src/G4Scene.cc +++ b/source/visualization/management/src/G4Scene.cc @@ -22,7 +22,7 @@ // // // $Id: G4Scene.cc,v 1.11 2001/08/24 20:47:41 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // Scene data John Allison 19th July 1996. diff --git a/source/visualization/management/src/G4SceneHandlerList.cc b/source/visualization/management/src/G4SceneHandlerList.cc index b1f50a81ef..306d24dd17 100644 --- a/source/visualization/management/src/G4SceneHandlerList.cc +++ b/source/visualization/management/src/G4SceneHandlerList.cc @@ -22,7 +22,7 @@ // // // $Id: G4SceneHandlerList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4SceneHandlerList.hh" diff --git a/source/visualization/management/src/G4SceneList.cc b/source/visualization/management/src/G4SceneList.cc index 63eb85c2b3..9dab0bfd7d 100644 --- a/source/visualization/management/src/G4SceneList.cc +++ b/source/visualization/management/src/G4SceneList.cc @@ -22,7 +22,7 @@ // // // $Id: G4SceneList.cc,v 1.5 2001/07/11 10:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4SceneList.hh" diff --git a/source/visualization/management/src/G4VGraphicsSystem.cc b/source/visualization/management/src/G4VGraphicsSystem.cc index 6ab4285d5b..11ecc30366 100644 --- a/source/visualization/management/src/G4VGraphicsSystem.cc +++ b/source/visualization/management/src/G4VGraphicsSystem.cc @@ -22,7 +22,7 @@ // // // $Id: G4VGraphicsSystem.cc,v 1.9 2001/08/05 02:29:09 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/src/G4VSceneHandler.cc b/source/visualization/management/src/G4VSceneHandler.cc index 2fb18a8ce5..a7a3f10174 100644 --- a/source/visualization/management/src/G4VSceneHandler.cc +++ b/source/visualization/management/src/G4VSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VSceneHandler.cc,v 1.25 2002/11/11 18:37:13 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 19th July 1996 diff --git a/source/visualization/management/src/G4VViewer.cc b/source/visualization/management/src/G4VViewer.cc index bd09f31045..8ddb954aad 100644 --- a/source/visualization/management/src/G4VViewer.cc +++ b/source/visualization/management/src/G4VViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VViewer.cc,v 1.16 2001/08/14 18:34:47 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/src/G4VVisCommand.cc b/source/visualization/management/src/G4VVisCommand.cc index f6bafd2536..9ceb3a769a 100644 --- a/source/visualization/management/src/G4VVisCommand.cc +++ b/source/visualization/management/src/G4VVisCommand.cc @@ -22,7 +22,7 @@ // // // $Id: G4VVisCommand.cc,v 1.11 2002/11/27 12:32:31 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/src/G4ViewParameters.cc b/source/visualization/management/src/G4ViewParameters.cc index 0581d0cfc5..2fa198aa12 100644 --- a/source/visualization/management/src/G4ViewParameters.cc +++ b/source/visualization/management/src/G4ViewParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4ViewParameters.cc,v 1.14 2001/08/05 02:29:12 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 19th July 1996 diff --git a/source/visualization/management/src/G4ViewerList.cc b/source/visualization/management/src/G4ViewerList.cc index 9fc1aad06e..637cc68c1b 100644 --- a/source/visualization/management/src/G4ViewerList.cc +++ b/source/visualization/management/src/G4ViewerList.cc @@ -22,7 +22,7 @@ // // // $Id: G4ViewerList.cc,v 1.3 2001/07/11 10:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4ViewerList.hh" diff --git a/source/visualization/management/src/G4VisCommands.cc b/source/visualization/management/src/G4VisCommands.cc index 36993ee4f9..6ed660b209 100644 --- a/source/visualization/management/src/G4VisCommands.cc +++ b/source/visualization/management/src/G4VisCommands.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommands.cc,v 1.6 2001/09/10 10:54:30 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/ top level commands - John Allison 5th February 2001 diff --git a/source/visualization/management/src/G4VisCommandsCompound.cc b/source/visualization/management/src/G4VisCommandsCompound.cc index 609c5718f2..ebab5bb022 100644 --- a/source/visualization/management/src/G4VisCommandsCompound.cc +++ b/source/visualization/management/src/G4VisCommandsCompound.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsCompound.cc,v 1.23 2002/10/24 15:12:26 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // Compound /vis/ commands - John Allison 15th May 2000 diff --git a/source/visualization/management/src/G4VisCommandsScene.cc b/source/visualization/management/src/G4VisCommandsScene.cc index c42183273e..d680af0907 100644 --- a/source/visualization/management/src/G4VisCommandsScene.cc +++ b/source/visualization/management/src/G4VisCommandsScene.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsScene.cc,v 1.30 2001/11/12 18:22:11 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/src/G4VisCommandsSceneAdd.cc b/source/visualization/management/src/G4VisCommandsSceneAdd.cc index 07ef9b09ec..54a4fd2688 100644 --- a/source/visualization/management/src/G4VisCommandsSceneAdd.cc +++ b/source/visualization/management/src/G4VisCommandsSceneAdd.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsSceneAdd.cc,v 1.34 2002/12/11 16:10:06 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/src/G4VisCommandsSceneHandler.cc b/source/visualization/management/src/G4VisCommandsSceneHandler.cc index ba15053c40..a6cd36bc4d 100644 --- a/source/visualization/management/src/G4VisCommandsSceneHandler.cc +++ b/source/visualization/management/src/G4VisCommandsSceneHandler.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsSceneHandler.cc,v 1.22 2001/09/10 10:56:55 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/sceneHandler commands - John Allison 10th October 1998 diff --git a/source/visualization/management/src/G4VisCommandsViewer.cc b/source/visualization/management/src/G4VisCommandsViewer.cc index f230480145..7fd95654d3 100644 --- a/source/visualization/management/src/G4VisCommandsViewer.cc +++ b/source/visualization/management/src/G4VisCommandsViewer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsViewer.cc,v 1.35 2002/04/26 21:23:31 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/viewer commands - John Allison 25th October 1998 diff --git a/source/visualization/management/src/G4VisCommandsViewerSet.cc b/source/visualization/management/src/G4VisCommandsViewerSet.cc index 31d92d4ca3..f9a5247590 100644 --- a/source/visualization/management/src/G4VisCommandsViewerSet.cc +++ b/source/visualization/management/src/G4VisCommandsViewerSet.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisCommandsViewerSet.cc,v 1.20 2002/11/27 12:33:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // /vis/viewer/set commands - John Allison 16th May 2000 diff --git a/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc b/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc index 7673fd7d04..5b4b2a538e 100644 --- a/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc +++ b/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfDAWNFILE.cc,v 1.5 2001/07/11 10:09:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // #include "G4VisFeaturesOfDAWNFILE.hh" diff --git a/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc b/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc index 3146de511d..d1e8d17be3 100644 --- a/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc +++ b/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfFukuiRenderer.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc b/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc index 582565aff2..3c3bd5b54c 100644 --- a/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc +++ b/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfOpenGL.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc b/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc index 106f3eae2c..593ee72360 100644 --- a/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc +++ b/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisFeaturesOfOpenInventor.cc,v 1.4 2001/07/11 10:09:19 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // diff --git a/source/visualization/management/src/G4VisManager.cc b/source/visualization/management/src/G4VisManager.cc index 901c205a07..78ba908cad 100644 --- a/source/visualization/management/src/G4VisManager.cc +++ b/source/visualization/management/src/G4VisManager.cc @@ -21,8 +21,8 @@ // ******************************************************************** // // -// $Id: G4VisManager.cc,v 1.48 2002/11/20 17:19:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// $Id: G4VisManager.cc,v 1.49 2003/01/20 14:12:36 johna Exp $ +// GEANT4 tag $Name: geant4-05-01 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. @@ -372,6 +372,30 @@ void G4VisManager::Draw (const G4Text& text, } } +void G4VisManager::Draw (const G4VHit& hit, + const G4Transform3D& objectTransform) { + if (IsValidView ()) { + ClearTransientStoreIfMarked(); + CheckModel(); + fpSceneHandler -> BeginPrimitives (objectTransform); + fpSceneHandler -> AddThis (hit); + fpSceneHandler -> EndPrimitives (); + } +} + +void G4VisManager::Draw (const G4VTrajectory& traj, + G4int i_mode, + const G4Transform3D& objectTransform) { + if (IsValidView ()) { + ClearTransientStoreIfMarked(); + fpSceneHandler -> SetModel (&dummyTrajectoriesModel); + dummyTrajectoriesModel.SetDrawingMode(i_mode); + fpSceneHandler -> BeginPrimitives (objectTransform); + fpSceneHandler -> AddThis (traj); + fpSceneHandler -> EndPrimitives (); + } +} + void G4VisManager::Draw (const G4LogicalVolume& logicalVol, const G4VisAttributes& attribs, const G4Transform3D& objectTransform) { diff --git a/source/visualization/management/src/G4VisStateDependent.cc b/source/visualization/management/src/G4VisStateDependent.cc index 28a06e0dd5..b596408522 100644 --- a/source/visualization/management/src/G4VisStateDependent.cc +++ b/source/visualization/management/src/G4VisStateDependent.cc @@ -22,7 +22,7 @@ // // // $Id: G4VisStateDependent.cc,v 1.5 2002/12/05 01:37:37 asaim Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ #include "G4VisStateDependent.hh" diff --git a/source/visualization/modeling/include/G4AxesModel.hh b/source/visualization/modeling/include/G4AxesModel.hh index 887f978f01..a06d94b52b 100644 --- a/source/visualization/modeling/include/G4AxesModel.hh +++ b/source/visualization/modeling/include/G4AxesModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4AxesModel.hh,v 1.4 2001/08/24 20:34:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/include/G4AxesModel.icc b/source/visualization/modeling/include/G4AxesModel.icc index b866c881ae..58c27519c3 100644 --- a/source/visualization/modeling/include/G4AxesModel.icc +++ b/source/visualization/modeling/include/G4AxesModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4AxesModel.icc,v 1.3 2001/08/24 20:34:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ inline G4String G4AxesModel::GetCurrentTag () const { return fGlobalTag; diff --git a/source/visualization/modeling/include/G4BoundingSphereScene.hh b/source/visualization/modeling/include/G4BoundingSphereScene.hh index 5ef18e9ae5..a4d9d634bc 100644 --- a/source/visualization/modeling/include/G4BoundingSphereScene.hh +++ b/source/visualization/modeling/include/G4BoundingSphereScene.hh @@ -22,7 +22,7 @@ // // // $Id: G4BoundingSphereScene.hh,v 1.12 2002/10/24 14:53:27 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 7th June 1997 diff --git a/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh b/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh index c6183cae95..56c9071daa 100644 --- a/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh +++ b/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4FlavoredParallelWorldModel.hh,v 1.6 2001/07/11 10:09:20 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // P. Mora de Freitas et M.Verderi - 19 June 1998. // diff --git a/source/visualization/modeling/include/G4HitsModel.hh b/source/visualization/modeling/include/G4HitsModel.hh index 5096cf9f32..4171ecddcd 100644 --- a/source/visualization/modeling/include/G4HitsModel.hh +++ b/source/visualization/modeling/include/G4HitsModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4HitsModel.hh,v 1.7 2001/08/24 20:36:13 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/include/G4HitsModel.icc b/source/visualization/modeling/include/G4HitsModel.icc index 9c9e536b4c..cd59e406cb 100644 --- a/source/visualization/modeling/include/G4HitsModel.icc +++ b/source/visualization/modeling/include/G4HitsModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4HitsModel.icc,v 1.6 2001/08/24 20:36:14 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ inline G4String G4HitsModel::GetCurrentTag () const { return fGlobalTag; diff --git a/source/visualization/modeling/include/G4LogicalVolumeModel.hh b/source/visualization/modeling/include/G4LogicalVolumeModel.hh index 9ac674890b..382228f26a 100644 --- a/source/visualization/modeling/include/G4LogicalVolumeModel.hh +++ b/source/visualization/modeling/include/G4LogicalVolumeModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4LogicalVolumeModel.hh,v 1.5 2001/07/11 10:09:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th July 1999. diff --git a/source/visualization/modeling/include/G4ModelingParameters.hh b/source/visualization/modeling/include/G4ModelingParameters.hh index c4fda47023..2bba303a04 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.hh +++ b/source/visualization/modeling/include/G4ModelingParameters.hh @@ -22,7 +22,7 @@ // // // $Id: G4ModelingParameters.hh,v 1.7 2001/08/09 20:06:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4ModelingParameters.icc b/source/visualization/modeling/include/G4ModelingParameters.icc index 68dc33a7cf..cd4e328a36 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.icc +++ b/source/visualization/modeling/include/G4ModelingParameters.icc @@ -22,7 +22,7 @@ // // // $Id: G4ModelingParameters.icc,v 1.4 2001/07/11 10:09:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4NullModel.hh b/source/visualization/modeling/include/G4NullModel.hh index e435392d59..a974f6c605 100644 --- a/source/visualization/modeling/include/G4NullModel.hh +++ b/source/visualization/modeling/include/G4NullModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4NullModel.hh,v 1.6 2001/08/24 20:36:15 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 4th April 1998. diff --git a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh index 2012b3b16f..39e47d84e1 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeModel.hh,v 1.16 2001/08/24 20:36:17 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh index a92a2cbded..856561d0a3 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.hh,v 1.10 2002/10/24 14:53:38 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc index 97a5740fb2..0ca8cf752f 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc +++ b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.icc,v 1.4 2001/07/11 10:09:21 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/include/G4ScaleModel.hh b/source/visualization/modeling/include/G4ScaleModel.hh index b370cdbbe7..0a511cf2d1 100644 --- a/source/visualization/modeling/include/G4ScaleModel.hh +++ b/source/visualization/modeling/include/G4ScaleModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4ScaleModel.hh,v 1.2 2001/08/24 20:36:18 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 21st July 2001. diff --git a/source/visualization/modeling/include/G4ScaleModel.icc b/source/visualization/modeling/include/G4ScaleModel.icc index ccb24c775c..46d166dae5 100644 --- a/source/visualization/modeling/include/G4ScaleModel.icc +++ b/source/visualization/modeling/include/G4ScaleModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4ScaleModel.icc,v 1.2 2001/08/24 20:36:19 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ inline G4String G4ScaleModel::GetCurrentTag () const { return fGlobalTag; diff --git a/source/visualization/modeling/include/G4TextModel.hh b/source/visualization/modeling/include/G4TextModel.hh index 67d1169133..f3faf08fde 100644 --- a/source/visualization/modeling/include/G4TextModel.hh +++ b/source/visualization/modeling/include/G4TextModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4TextModel.hh,v 1.4 2001/08/24 20:36:21 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/include/G4TextModel.icc b/source/visualization/modeling/include/G4TextModel.icc index d282f887e2..2c46f9d065 100644 --- a/source/visualization/modeling/include/G4TextModel.icc +++ b/source/visualization/modeling/include/G4TextModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4TextModel.icc,v 1.3 2001/08/24 20:36:22 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ inline G4String G4TextModel::GetCurrentTag () const { return fGlobalTag; diff --git a/source/visualization/modeling/include/G4TrajectoriesModel.hh b/source/visualization/modeling/include/G4TrajectoriesModel.hh index b586d961c2..904d5fc034 100644 --- a/source/visualization/modeling/include/G4TrajectoriesModel.hh +++ b/source/visualization/modeling/include/G4TrajectoriesModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoriesModel.hh,v 1.8 2002/11/11 18:39:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/include/G4TrajectoriesModel.icc b/source/visualization/modeling/include/G4TrajectoriesModel.icc index 39561f8725..4326452e61 100644 --- a/source/visualization/modeling/include/G4TrajectoriesModel.icc +++ b/source/visualization/modeling/include/G4TrajectoriesModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoriesModel.icc,v 1.6 2001/08/24 20:36:24 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ inline G4String G4TrajectoriesModel::GetCurrentTag () const { return fGlobalTag; diff --git a/source/visualization/modeling/include/G4VModel.hh b/source/visualization/modeling/include/G4VModel.hh index 57fd8cafc7..19446fba88 100644 --- a/source/visualization/modeling/include/G4VModel.hh +++ b/source/visualization/modeling/include/G4VModel.hh @@ -22,7 +22,7 @@ // // // $Id: G4VModel.hh,v 1.13 2001/08/24 20:36:26 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4VModel.icc b/source/visualization/modeling/include/G4VModel.icc index 7eb54e45b7..6bf63c3215 100644 --- a/source/visualization/modeling/include/G4VModel.icc +++ b/source/visualization/modeling/include/G4VModel.icc @@ -22,7 +22,7 @@ // // // $Id: G4VModel.icc,v 1.9 2001/07/25 21:12:20 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/src/G4AxesModel.cc b/source/visualization/modeling/src/G4AxesModel.cc index e34d95b9ab..b806427db0 100644 --- a/source/visualization/modeling/src/G4AxesModel.cc +++ b/source/visualization/modeling/src/G4AxesModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4AxesModel.cc,v 1.5 2001/08/14 18:43:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/src/G4BoundingSphereScene.cc b/source/visualization/modeling/src/G4BoundingSphereScene.cc index 8d90c8ff17..a92b9bdfff 100644 --- a/source/visualization/modeling/src/G4BoundingSphereScene.cc +++ b/source/visualization/modeling/src/G4BoundingSphereScene.cc @@ -22,7 +22,7 @@ // // // $Id: G4BoundingSphereScene.cc,v 1.8 2001/07/25 21:10:22 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 7th June 1997 diff --git a/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc b/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc index fb8a0eced4..8b52c9c6fb 100644 --- a/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc +++ b/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4FlavoredParallelWorldModel.cc,v 1.6 2002/11/20 17:21:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // P. Mora de Freitas et M.Verderi - 19 June 1998. // Model for flavored parallel world volumes. diff --git a/source/visualization/modeling/src/G4HitsModel.cc b/source/visualization/modeling/src/G4HitsModel.cc index 4d3766138d..d23670939e 100644 --- a/source/visualization/modeling/src/G4HitsModel.cc +++ b/source/visualization/modeling/src/G4HitsModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4HitsModel.cc,v 1.9 2002/10/24 15:07:21 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/src/G4LogicalVolumeModel.cc b/source/visualization/modeling/src/G4LogicalVolumeModel.cc index 796fa9fe57..20fb5ac37b 100644 --- a/source/visualization/modeling/src/G4LogicalVolumeModel.cc +++ b/source/visualization/modeling/src/G4LogicalVolumeModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4LogicalVolumeModel.cc,v 1.8 2001/07/11 10:09:22 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th July 1999. diff --git a/source/visualization/modeling/src/G4ModelingParameters.cc b/source/visualization/modeling/src/G4ModelingParameters.cc index f3e272cc34..3778fc329d 100644 --- a/source/visualization/modeling/src/G4ModelingParameters.cc +++ b/source/visualization/modeling/src/G4ModelingParameters.cc @@ -22,7 +22,7 @@ // // // $Id: G4ModelingParameters.cc,v 1.5 2001/07/11 10:09:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/src/G4NullModel.cc b/source/visualization/modeling/src/G4NullModel.cc index 3cac785d03..93a2798e24 100644 --- a/source/visualization/modeling/src/G4NullModel.cc +++ b/source/visualization/modeling/src/G4NullModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4NullModel.cc,v 1.6 2001/08/24 20:36:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 4th April 1998. diff --git a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc index 7336dc3ee4..dc45968031 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeModel.cc,v 1.20 2001/08/24 20:34:25 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc b/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc index 8a765afd6c..d15ea0f7bd 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc @@ -22,7 +22,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.cc,v 1.6 2001/07/11 10:09:23 gunter Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/src/G4ScaleModel.cc b/source/visualization/modeling/src/G4ScaleModel.cc index 1f526b99f3..b6b53c94aa 100644 --- a/source/visualization/modeling/src/G4ScaleModel.cc +++ b/source/visualization/modeling/src/G4ScaleModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4ScaleModel.cc,v 1.3 2001/08/14 18:43:31 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 21st July 2001. diff --git a/source/visualization/modeling/src/G4TextModel.cc b/source/visualization/modeling/src/G4TextModel.cc index 7c42c17ca2..26cd233d5c 100644 --- a/source/visualization/modeling/src/G4TextModel.cc +++ b/source/visualization/modeling/src/G4TextModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4TextModel.cc,v 1.4 2001/08/14 18:43:32 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/src/G4TrajectoriesModel.cc b/source/visualization/modeling/src/G4TrajectoriesModel.cc index 3f1ebc3506..040b6495bb 100644 --- a/source/visualization/modeling/src/G4TrajectoriesModel.cc +++ b/source/visualization/modeling/src/G4TrajectoriesModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4TrajectoriesModel.cc,v 1.12 2002/11/11 18:39:28 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/src/G4VModel.cc b/source/visualization/modeling/src/G4VModel.cc index 02f8fbcfd2..bb694c855f 100644 --- a/source/visualization/modeling/src/G4VModel.cc +++ b/source/visualization/modeling/src/G4VModel.cc @@ -22,7 +22,7 @@ // // // $Id: G4VModel.cc,v 1.7 2001/08/24 20:36:29 johna Exp $ -// GEANT4 tag $Name: geant4-05-00 $ +// GEANT4 tag $Name: geant4-05-01 $ // // // John Allison 31st December 1997.